Robot Operating System

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Robot Operating System
software
Logo
Logo
Simulazione 3D con RVIZ
Simulazione 3D con RVIZ
Simulazione 3D con RVIZ
GenereIntegrated development environment
SviluppatoreWillow Garage
Università di Stanford
Data prima versione2007
Ultima versioneIron Irwini[1] (23 maggio 2023)
Sistema operativoGNU/Linux
LinguaggioC++
Python
Licenzalicenza BSD
(licenza libera)
Sito webwww.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]

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.

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.

  1. ^ Iron Irwini (iron) - ROS 2 Documentation, su docs.ros.org, Open Robotics. URL consultato il 4 giugno 2023.
  2. ^ (EN) ROS-Introduction, su wiki.ros.org. URL consultato il 25 gennaio 2017.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero