Robot Operating System

framework per lo sviluppo e la programmazione di robot

Robot Operating System (ROS) è un insieme di framework per lo sviluppo e la programmazione di robot.

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 versioneKinetic Kame[1] (23 maggio 2016)
Sistema operativoGNU/Linux
LinguaggioC++
Python
Licenzalicenza BSD
(licenza libera)
Sito webwww.ros.org/

Caratteristiche

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 real-time, sebbene è possibile integrare ROS con dei moduli real-time.[2]

Componenti

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

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, strumenti per la localizzazione e altri algoritmi.

Supporto

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

  1. ^ ROS Kinetic Kame, su wiki.ros.org. URL consultato il 25 febbraio 2017.
  2. ^ (EN) ROS-Introduction, su wiki.ros.org. URL consultato il 25 gennaio 2017.

Collegamenti esterni

  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero