Robot Operating System

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
Robot Operating System
software
Logo
Simulazione 3D con RVIZ
Simulazione 3D con RVIZ
GenereIntegrated development environment
SviluppatoreWillow Garage
Università di Stanford
Data prima versione2007
Ultima versioneMelodic Morenia[1] (23 maggio 2018)
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]

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]

  1. ^ ROS Melodic Morenia, Wiki.ros.org. URL consultato il 2 agosto 2019.
  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]

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