Come semplificare la ricerca sulla robotica con un nativo, ROS
CasaCasa > Blog > Come semplificare la ricerca sulla robotica con un nativo, ROS

Come semplificare la ricerca sulla robotica con un nativo, ROS

Sep 02, 2023

A cura dello staff di The Robot Report | 28 agosto 2023

Il Robot Operating System (ROS) è una potente piattaforma open source per la ricerca sulla robotica, ma fino a poco tempo fa mancava un hardware di qualità industriale strettamente integrato con lo stack software ROS. I produttori di apparecchiature per robot utilizzano software e sistemi di controllo proprietari e closed source per i loro manipolatori, lasciando ai ricercatori una ripida salita da scalare per utilizzare ROS sui robot industriali.

Rispondendo a questa esigenza e migliorando le capacità della comunità di sviluppo ROS, Tormach ha creato un manipolatore robotico industriale e un sistema di controllo basato su ROS che evita i problemi della "scatola nera" che affliggono le moderne applicazioni di robotica. Inoltre, il sistema di controllo di Tormach, PathPilot, utilizza Python come linguaggio di programmazione del robot, creando un'interfaccia di programmazione intuitiva per il movimento del robot e liberando il potenziale dell'ecosistema del pacchetto Python.

Questa piattaforma robotica open source basata su ROS, che include il sistema di controllo, l'hardware del robot industriale e l'accesso completo a tutti i parametri del sistema, crea una soluzione veloce e accessibile che porta la robotica industriale a un numero maggiore di ricercatori, sviluppatori e studenti.

I produttori di controlli robot sono riluttanti a consentire agli sviluppatori ROS di accedere a tutti i parametri di sistema nei loro controlli closed source per i seguenti motivi:

Per questi motivi, le integrazioni tra ROS e l'hardware dei robot disponibili in commercio sono limitate. Sebbene esistano driver per connettere ROS ad altri robot industriali, le loro implementazioni con larghezza di banda bassa (10 – 100 Hz) si limitano a fornire punti di passaggio a un controller proprietario closed source.

Di conseguenza, l'utente potrebbe non avere accesso alla possibilità che il robot rispetti o meno gli intenti di temporizzazione, velocità e precisione del percorso. Dati come la coppia del motore, la corrente e l'errore di inseguimento solitamente non sono disponibili e il circuito di controllo lento limita fortemente ciò che i ricercatori possono realizzare.

La piattaforma sperimentale OpeN-AM, installata sullo strumento VULCAN, è dotata di un braccio robotico Tormach ZA6 che stampa strati di metallo fuso per creare forme complesse. Lo studio microscopico delle saldature stampate in 3D con fasci di neutroni consente ai ricercatori di comprendere meglio fattori come lo stress causato dal riscaldamento e dal raffreddamento. (Credito: ORNL/Jill Hemman)

Lo stack hardware e software ROS/HAL offre feedback che possono fornire preziose opportunità di controllo.

Lo ZA6 fornisce quanto segue:

La maggior parte di questi elementi di feedback si concentrano solo sui livelli di controllo di livello inferiore. I livelli di controllo di livello superiore possono offrire altre opportunità, a seconda delle esigenze di ricerca.

La connessione tra ROS e l'hardware di un robot si basa su un livello di astrazione hardware (HAL). HAL è l'evoluzione del progetto open source Enhanced Machine Controller (EMC) che ha avuto origine 25 anni fa presso il National Institute of Standards and Testing (NIST).

Lo sviluppo attivo di HAL continua oggi tramite i progetti LinuxCNC e Machinekit perché HAL è flessibile, open source al 100% e viene utilizzato in migliaia di macchine in tutto il mondo.

HAL è costituito da componenti modulari (moduli binari caricabili) che comunicano tra loro aggiornando, leggendo e scrivendo pin denominati che si collegano tramite segnali denominati. In un certo senso, HAL è come ROS, ma ci sono differenze importanti:

Il robot Tormach colma il divario tra ROS con il componente open source hal_ros_control. La combinazione di HAL e ROS consente di esporre all'utente una grande quantità di dati del robot. Tutti i dati di processo sono accessibili tramite comandi shell, utilità di registrazione dati e un ambito grafico. Tutte le informazioni sul bus EtherCAT, inclusi coppia, corrente, errore di inseguimento, posizione, velocità e altro, sono disponibili a 1 kHz ed esposte tramite HAL a ROS.

Poiché HAL è modulare e flessibile, gli utenti possono modificare la configurazione HAL del proprio robot utilizzando componenti HAL predefiniti o scrivendo nuovi componenti in C o Python, consentendo una facile integrazione con quasi tutti i dispositivi o processi esterni.