Di cosa hai bisogno e quando?
ROS2 è composto da molte librerie, che installerai durante l'apprendimento. Quando diventerai più avanzato, metterai solo le parti necessarie dove ne hai bisogno. Per iniziare avrai bisogno di compilatori, strumenti da riga di comando e simulatori. Per i sistemi esterni, vorrai avere solo i nodi finiti e il nucleo di comunicazione del sistema. Nelle prime fasi, devi provare alcuni esempi e vedere come simulare un robot o anche più robot in azione. Questi strumenti sono disponibili solo nell'installazione desktop.
In che modo ROS aiuta??
Le librerie in ROS hanno lo scopo di darti molte funzioni standard per le attività robotiche. Dispone di librerie per la gestione dei sensori, il controllo del motore e molto altro. Il focus è sulla comunicazione tra i nodi, che è un concetto fondamentale di ogni funzione nel framework ROS.
Hai delle opzioni!
Puoi installare il pacchetto ros-base con il tuo gestore di pacchetti preferito. Il problema è che potresti usare molte versioni del sistema ROS per diversi progetti. Per evitare questo problema, usa un contenitore. Finirai per installare allo stesso modo, solo all'interno del contenitore. Il punto, alla fine, è che il sistema ROS è disponibile in diverse versioni e possono essere eseguite solo su una determinata versione di distribuzione. Ecco una breve tabella:
Versione Ubuntu. | ROS2 versione. | ROS1 versione. |
---|---|---|
18.04 | eloquente | Melodico |
20.04 | Foxy | noetico |
Ci sono più versioni e più dipendenze, vedi l'elenco nel wiki su ros.organizzazione. Il punto è che devi assicurarti che la tua configurazione supporti la versione ROS. ROS utilizza anche Python in misura elevata, stanno testando Python 3 (e 2.7) così puoi scegliere. C'è anche un'immagine docker disponibile se ti senti più a tuo agio. L'immagine si chiama ros:foxy-ros-base-focal.
A seconda di cosa stai lavorando, potresti aver bisogno di una quantità diversa di software, che è una seconda ragione per usare i contenitori. Come vedi nella tabella, potresti anche dover scegliere ROS1 o ROS2. Se usi entrambi, è un grosso rischio che le impostazioni confondano le cose per i tuoi compilatori e altri strumenti. La fine della vita di ROS1 è il 2025, quindi non iniziare nuovi grandi progetti con esso.
Molte parti all'interno
Il sistema operativo robotico ha molti sottosistemi. Devi sapere quale è necessario dove e quando dovresti installarlo. Non appena inizi l'installazione, ti imbatti nella scelta di quanto vuoi installare. Per impostazione predefinita, utilizzerai il tuo gestore di pacchetti per installare l'intera distribuzione. Questo si chiama ros-desktop-full, avrai tutto ciò di cui potresti aver bisogno. Richiede anche molto spazio sull'unità.
ROS Core
Il ROS Core rende possibile compilare i tuoi programmi attraverso le librerie client rclcpp e rclpy. Questi sono i due che gli sviluppatori ROS mantengono. Esistono più client per altre lingue. Usano l'API per creare un comportamento coerente tra le piattaforme. A questo livello sono inclusi anche tutti i modi in cui comunicherà il tuo sistema robotico.
Base ROS
La ros-base include molti strumenti per lo sviluppo ma non contiene strumenti GUI.
ROS Desktop
Contiene tutti i diversi pezzi del sistema, inclusi molti esempi. Ti offre anche tutti gli strumenti della GUI, inclusi simulatori e modi per testare la comunicazione tra i nodi. Le uniche cose extra di cui hai bisogno saranno driver speciali e alcune implementazioni extra di i.e. il parser urdf.
Installazione di ROS Desktop
Il modo più semplice per installare il desktop ROS è usare apt per Ubuntu e altre distribuzioni basate su Debian. Su altre distribuzioni, devi crearlo tu stesso. Quando lo fai, il risultato viene inserito in un'unica struttura di directory. Ciò significa che dovrai inizializzare quell'ambiente recuperando il file di installazione. La disinstallazione consiste nel rimuovere la struttura della directory e interrompere l'acquisizione del file di installazione. Anche il sourcing che dovrai fare con i pacchetti Debian.
I pacchetti ROS2 sono disponibili come repository nel loro repository. Per aggiungerlo al tuo sistema, copia la loro chiave.
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -E poi aggiungi i loro repository.
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)]http://pacchetti.rosa.org/ros2/ubuntu $(lsb_release -cs) main"
> /etc/apt/sources.elenco.d/ros2-latest.elenco'
Al termine, puoi aggiornare e installare le librerie.
sudo apt updatesudo apt install ros-foxy-desktop
Con tutto questo installato, devi inizializzare l'ambiente nella shell che stai eseguendo.
sorgente /opt/ros/foxy/setup.bashAggiungi questa riga al tuo .script bashrc, quindi tutte le invocazioni di bash sono pronte per il tuo lavoro. È anche qui che l'utilizzo di un contenitore Linux è utile. Quando hai più progetti, usando versioni diverse, è meglio creare una macchina virtuale solo per 'Foxy' e un'altra per ognuno di cui hai bisogno.
Conclusione
Mentre l'installazione di base è semplice per ROS2, devi essere preciso su ciò che vuoi. Se rimani con una distribuzione, non hai problemi ma inizi a utilizzare molte versioni e hai complicazioni.