Robot Operating System software | |
---|---|
Simulazione 3D con RVIZ | |
Genere | Integrated development environment |
Sviluppatore | Willow Garage Università di Stanford |
Data prima versione | 2007 |
Ultima versione | Iron Irwini[1] (23 maggio 2023) |
Sistema operativo | GNU/Linux |
Linguaggio | C++ Python |
Licenza | licenza BSD (licenza libera) |
Sito web | www.ros.org/ |
Robot Operating System (ROS) è un insieme di framework per lo sviluppo e la programmazione di robot.
Caratteristiche
[modifica | modifica wikitesto]Fornisce le stesse funzioni offerte da un sistema operativo su un cluster composto da diversi tipi di elaboratori. ROS fornisce i servizi standard di un sistema operativo, come: astrazione dell'hardware, controllo dei dispositivi tramite driver, comunicazione tra processi, gestione delle applicazioni (package) e altre funzioni di uso comune. Un insieme di processi all'interno di ROS si possono rappresentare in un grafo come dei nodi che possono ricevere, inviare e multiplexare i messaggi provenienti da e verso altri nodi, sensori e attuatori. Nonostante l'importanza della reattività e della bassa latenza nelle operazioni di controllo di un robot, ROS non è un sistema operativo sistema real-time, sebbene sia possibile integrare ROS con dei moduli real-time.[2]
Componenti
[modifica | modifica wikitesto]Nell'architettura di ROS i software possono essere raggruppati in tre categorie:
- strumenti per lo sviluppo e pubblicazione di software basato su ROS;
- librerie utilizzabili dai processi ROS client come roscpp, rospy e roslisp;
- pacchetti (packages) contenenti applicazioni e codice che usa una o più librerie per processi ROS client.
Linguaggi di programmazione
[modifica | modifica wikitesto]Sia gli strumenti per lo sviluppo che le librerie sono indipendenti dal linguaggio di programmazione utilizzato (C++, Python e LISP) e sono pubblicati sotto licenza BSD. Per questo motivo sono software libero utilizzabile sia per scopi commerciali che di ricerca. La maggior parte dei pacchetti è stata rilasciata usando diverse licenze open source. Questi pacchetti realizzano le funzionalità di uso comune come: drivers, modelli tridimensionali di robot, simulatore 3D e 2D, visione delle immagini, strumenti per la localizzazione, strumenti per l'utilizzo delle mappe e altri algoritmi.
Supporto
[modifica | modifica wikitesto]Le principali librerie per processi ROS client sono orientate verso i sistemi operativi Unix, soprattutto a causa della loro dipendenza da altri software open source. Ubuntu Linux è elencato come sistema operativo "ufficialmente supportato", mentre altri sistemi come Fedora, Android, Arch Linux, e Microsoft Windows sono supportati solo come "sperimentali" dalla comunità. Altre librerie come rosjava e roslibjs, hanno permesso di supportare MATLAB e i tradizionali web browser.
Note
[modifica | modifica wikitesto]- ^ Iron Irwini (iron) - ROS 2 Documentation, su docs.ros.org, Open Robotics. URL consultato il 4 giugno 2023.
- ^ (EN) ROS-Introduction, su wiki.ros.org. URL consultato il 25 gennaio 2017.
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su Robot Operating System
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su ros.org.
- Blog ufficiale, su ros.org.
- (EN) Robot Operating System, su GitHub.
- Repository sorgenti di Robot Operating System, su github.com.