Lunedì 10 Agosto 2026
Il sito che ti spiega l'AI.
News, strumenti e guide in italiano.
Guide e tutorial

ROS (Robot Operating System): cos’è, come funziona e a cosa serve nella robotica

ROS (Robot Operating System) è il framework open source alla base della robotica moderna: scopri cos'è, come funziona e a cosa serve, spiegato in modo semplice.

FA
Franco Artigiano IA Franco Artigiano
Agosto 9, 2026
Lettura: 9 min
IA Contenuto firmato da un autore IA di IntelligenzaArtificiale.net e revisionato prima della pubblicazione. Le fonti sono nel pezzo, quando disponibili. Segnala un errore
Robot che rappresenta la robotica gestita con ROS, il Robot Operating System

Se ti stai avvicinando al mondo della robotica hai quasi certamente incontrato la sigla ROS, acronimo di Robot Operating System. Nonostante il nome, ROS non è un vero sistema operativo come Windows o Linux: è un framework open source, una sorta di infrastruttura software che permette di costruire, far comunicare e controllare i diversi componenti di un robot. In questa guida ti spiego che cos’è ROS, come funziona, quali strumenti offre e perché è diventato lo standard di fatto per chi sviluppa robot, dalla ricerca universitaria fino all’industria.

ROS mette a disposizione un insieme di librerie, convenzioni e strumenti che semplificano un problema tipico della robotica: far dialogare tra loro sensori, motori, algoritmi di visione e moduli di navigazione scritti magari da persone diverse, in linguaggi diversi e su hardware diverso. Invece di reinventare ogni volta la comunicazione tra questi pezzi, con ROS ti concentri sulla logica del tuo robot.

Che cos’è ROS, il Robot Operating System

ROS è un framework open source per lo sviluppo di software robotico. Più precisamente si tratta di un middleware: uno strato software che sta sopra il sistema operativo vero e proprio, di solito Linux nella distribuzione Ubuntu, e che fornisce servizi tipici di un sistema operativo, come l’astrazione dell’hardware, lo scambio di messaggi tra processi e la gestione dei pacchetti. Da qui il nome, un po’ ingannevole, di robot operating system.

Il progetto nasce alla fine degli anni Duemila. Le prime idee arrivano dallo Stanford Artificial Intelligence Laboratory, ma è l’azienda Willow Garage a trasformarle in un progetto strutturato e a rilasciarlo alla comunità. Negli anni la gestione passa a Open Robotics, la fondazione che ancora oggi coordina lo sviluppo. Fin dall’inizio la filosofia è chiara: creare una base comune e riutilizzabile, così che ricercatori e aziende non debbano ripartire da zero a ogni nuovo robot.

Essendo open source e distribuito con licenze permissive, ROS è gratuito e puoi usarlo anche per progetti commerciali. Questa apertura ha favorito la nascita di un ecosistema enorme, fatto di migliaia di pacchetti pronti all’uso per compiti come la navigazione, la manipolazione con bracci robotici e la percezione visiva.

Come funziona ROS: nodi, topic e messaggi

Il cuore di ROS è un modello di comunicazione a scambio di messaggi. Il software di un robot viene suddiviso in tanti programmi piccoli e indipendenti, chiamati nodi (node), ognuno responsabile di un compito preciso: un nodo legge la telecamera, un altro calcola la traiettoria, un altro comanda i motori. Questa modularità è uno dei motivi del successo di ROS.

Nodi e topic (publish e subscribe)

I nodi si scambiano informazioni soprattutto attraverso i topic, dei canali di comunicazione a cui un nodo può pubblicare messaggi (publish) e a cui altri nodi possono iscriversi per riceverli (subscribe). È un modello disaccoppiato: chi pubblica non sa chi legge, e viceversa. Così puoi aggiungere o togliere componenti senza riscrivere tutto il sistema. I messaggi hanno tipi ben definiti, per esempio la lettura di un sensore di distanza, la posizione stimata del robot o un comando di velocità.

Servizi e azioni

Oltre al modello publish e subscribe, ROS offre i servizi (service), utili per le richieste dirette con risposta immediata, del tipo domanda e risposta, e le azioni (action), pensate per i compiti che richiedono tempo e di cui vuoi seguire l’avanzamento, come raggiungere una posizione lontana. Insieme, topic, servizi e azioni coprono quasi tutte le esigenze di comunicazione di un robot.

Il grafo di calcolo

L’insieme dei nodi in esecuzione e delle connessioni tra loro forma quello che in ROS si chiama grafo di calcolo. In ROS 1 esiste un componente centrale, il master, avviato con il comando roscore, che fa da elenco di riferimento e aiuta i nodi a trovarsi. C’è anche un parameter server per condividere i valori di configurazione. Come vedrai, in ROS 2 questo schema centralizzato è stato ripensato.

ROS 1 e ROS 2: quali sono le differenze

Nel corso del tempo ROS si è evoluto in due grandi famiglie. ROS 1 è la versione storica, quella che ha reso popolare il framework nei laboratori di ricerca. La sua ultima release di riferimento è Noetic, che ha chiuso il ciclo di vita di ROS 1: il progetto ha ormai spostato tutte le energie sulla nuova generazione.

ROS 2 è la riscrittura pensata per portare ROS fuori dal laboratorio e dentro i prodotti reali. La differenza tecnica più importante riguarda la comunicazione: al posto del master centrale, ROS 2 adotta lo standard industriale DDS (Data Distribution Service), che permette ai nodi di scoprirsi automaticamente senza un punto unico di coordinamento. Questo rende il sistema più robusto, adatto al tempo reale, alla sicurezza informatica e agli scenari con più robot che collaborano.

In pratica, se inizi oggi un nuovo progetto la scelta consigliata è ROS 2, che viene rilasciato con cadenza regolare e con versioni di supporto a lungo termine, tra cui la nota Humble. ROS 1 resta interessante soprattutto se devi lavorare su progetti esistenti costruiti attorno a quella versione.

Gli strumenti dell’ecosistema ROS

Una delle ragioni per cui vale la pena imparare ROS è la ricchezza degli strumenti che porta con sé. Ecco i principali:

  • RViz: un visualizzatore 3D che ti mostra in tempo reale ciò che percepisce il robot, dalle nuvole di punti dei sensori alle mappe dell’ambiente.
  • Gazebo: un simulatore fisico realistico che ti consente di provare il robot in un mondo virtuale prima di rischiare l’hardware vero.
  • rosbag: uno strumento per registrare e riprodurre i dati che scorrono nei topic, prezioso per il debug e per analizzare a posteriori il comportamento del robot.
  • tf: il sistema che tiene traccia delle trasformazioni tra i vari sistemi di riferimento del robot, per esempio dove si trova la mano rispetto alla base.
  • Nav2 e MoveIt: due pacchetti maturi dedicati rispettivamente alla navigazione autonoma e alla pianificazione dei movimenti dei bracci robotici.

Per scrivere i nodi, cioè i programmi che compongono il robot, puoi usare due linguaggi principali: C++, quando serve la massima efficienza, e Python, ideale per prototipare in fretta e per integrare algoritmi di intelligenza artificiale. Il sistema di riferimento su cui gira tutto questo è Linux, in particolare Ubuntu, anche se la comunità ha realizzato port e ponti sperimentali verso altre piattaforme e ROS è stato adottato pure in ambito didattico con piccoli robot educativi.

A cosa serve ROS: le applicazioni

ROS è presente ovunque ci sia un robot un po’ complesso. Lo trovi nei robot mobili che si muovono in magazzini e ospedali, nei bracci manipolatori delle linee industriali, nei droni, nei robot da ricerca e nei prototipi di veicoli autonomi. La sua forza è proprio la possibilità di riutilizzare componenti collaudati: se qualcuno ha già scritto un ottimo pacchetto per la navigazione, tu puoi partire da lì invece di ricominciare.

Nel mondo accademico ROS è diventato quasi uno standard: gran parte dei progetti di ricerca in robotica lo usa, il che rende più facile condividere risultati e confrontare gli esperimenti. Questa diffusione alimenta un circolo virtuoso, perché più persone lo adottano e più pacchetti, tutorial e materiali diventano disponibili.

ROS e l’intelligenza artificiale

Un robot moderno non è fatto solo di motori e sensori: ha bisogno di intelligenza per capire l’ambiente e decidere come agire. È qui che ROS incontra l’intelligenza artificiale. I nodi che si occupano di percezione, per esempio, sfruttano tecniche di visione artificiale per riconoscere oggetti e ostacoli a partire dalle immagini della telecamera.

Sul fronte del controllo e della strategia, sempre più robot vengono addestrati con l’apprendimento per rinforzo, spesso in simulazione con Gazebo, per poi trasferire nel mondo reale ciò che hanno imparato. Poiché molti nodi si scrivono in Python, integrare in ROS le più diffuse librerie Python per l’intelligenza artificiale è naturale, e permette di far girare reti neurali di visione o altri modelli direttamente a bordo del robot.

Un esempio concreto di tutto questo sono le auto a guida autonoma, veri e propri robot su ruote in cui percezione, localizzazione, pianificazione e controllo devono lavorare insieme in tempo reale, esattamente il tipo di orchestrazione per cui ROS è nato.

Come iniziare con ROS

Per muovere i primi passi con ROS ti conviene partire da una macchina con Ubuntu e installare una versione recente di ROS 2 con supporto a lungo termine. Da lì puoi seguire i tutorial ufficiali, che ti accompagnano passo dopo passo nella creazione del primo nodo, nella pubblicazione su un topic e nell’uso della simulazione.

Un modo classico per imparare senza avere un robot fisico è usare il simulatore con un robot didattico come TurtleBot: lo comandi, lo vedi muoversi in RViz e in Gazebo e prendi confidenza con nodi, topic e messaggi. Quando vuoi approfondire, il punto di riferimento è la documentazione ufficiale di ROS, ricca di guide, esempi e riferimenti tecnici.

Domande frequenti su ROS

ROS è un vero sistema operativo?

No. Nonostante il nome Robot Operating System, ROS è un framework, o middleware, che gira sopra un sistema operativo vero, di solito Linux. Fornisce però alcuni servizi tipici di un sistema operativo, come la comunicazione tra processi e la gestione dei pacchetti.

Su quale sistema operativo gira ROS?

La piattaforma di riferimento è Linux, in particolare Ubuntu. Esistono port e ponti sperimentali verso altri sistemi, ma per iniziare senza intoppi la strada più semplice resta una macchina Ubuntu, anche virtuale.

Che differenza c’è tra ROS 1 e ROS 2?

ROS 1 è la versione storica basata su un master centrale, mentre ROS 2 usa lo standard DDS per far comunicare i nodi senza un punto unico di coordinamento. ROS 2 è più adatto al tempo reale, alla sicurezza e ai sistemi con più robot, ed è la scelta consigliata per i nuovi progetti.

Quali linguaggi si usano con ROS?

I due linguaggi principali sono C++ e Python. Il primo si usa quando conta l’efficienza, il secondo per prototipare rapidamente e per integrare algoritmi di intelligenza artificiale.

Conclusioni

ROS, il Robot Operating System, è la spina dorsale software della robotica moderna: un framework open source che mette ordine nella complessità di un robot, facendo dialogare sensori, algoritmi e attuatori attraverso nodi, topic e messaggi. Che tu voglia costruire un piccolo robot per imparare o lavorare a sistemi industriali, conoscere ROS ti apre le porte di un ecosistema enorme e collaudato, sempre più intrecciato con l’intelligenza artificiale.

Se questo mondo ti incuriosisce, il consiglio è semplice: installa ROS 2, gioca con la simulazione e prova a scrivere il tuo primo nodo. È il modo migliore per capire davvero come funziona e per iniziare a dare vita ai tuoi robot.

FA

Franco Artigiano IA

Autore IA di IntelligenzaArtificiale.net, sotto la supervisione di Daniele Della Corte (MarketingSeoAgency.com).

Nota di trasparenza — questo articolo è firmato da un autore IA e pubblicato a cura di Daniele Della Corte (MarketingSeoAgency.com), che ne supervisiona qualità e fonti.
← Torna alla home