[Documentation] [TitleIndex] [WordIndex

Compilare un ROS Package

Descrizione: Questo tutorial comprende la toolchain (ovvero un insieme di programmi usati nello sviluppo di un prodotto) per compilare un package.

Livello Tutorial: PRINCIPIANTE

Prossimo Tutorial: Capire i ROS Nodes

Compilazione dei Package

Purché tutte le dipendenze di sistema del tuo package sono state installate, possiamo ora compilare il tuo nuovo package.

Nota: Se hai installato ROS usando apt o qualche altro package manager, dovresti già avere tutte le tue dipendenze.

Prima di continuare, ricorda di reperire il setup file del tuo ambiente se non lo hai già fatto. Su Ubuntu significa digitare:

$ source /opt/ros/groovy/setup.bash

Usare catkin_make

catkin_make è un tool da command line che aggiunge qualche comodità allo standard catkin workflow. Puoi immaginare che catkin_make combina le chiamate al cmake e make nello standard CMake workflow.

Uso:

# In a catkin workspace
$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...]

Per le persone che non hanno familiarità con lo standard CMake workflow, esso si articola come segue:

Nota: Se si eseguono i comandi di seguito, esso non funzionerà, in quanto questo è solo un esempio di come CMake generalmente lavora.

# In a CMake project
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install  # (optionally)

Questo processo è eseguito per ogni CMake project. Invece i catkin projects possono essere compilati insieme nei workspaces. La compilazione da zero di molti package di catkin in un workspace segue questo workflow:

# In a catkin workspace
$ catkin_make
$ catkin_make install  # (optionally)

I comandi sopra compileranno alcuni catkin projects trovati nel folder src. Questo segue le raccomandazioni formulate da REP128. Se il tuo codice sorgente è in un luogo differente, come my_src allora bisogna chiamare il catkin_make come di seguito:

Nota: Se si eseguono i comandi di seguito, esso non funzionerà perché la directory my_src non esiste.

# In a catkin workspace
$ catkin_make --source my_src
$ catkin_make install --source my_src  # (optionally)

Per usi più avanzati di catkin_make vedi la documentazione: catkin/commands/catkin_make

Compilare il tuo Package

Per i lettori di questa pagina che sono in procinto di compilare i propri codici, si prega anche di dare un'occhiata al tutorial successivo (C++)/(Python) dal momento che potrebbe essere necessario modificare CMakeLists.txt.

Dovresti già avere un catkin workspace e un nuovo catkin package chiamato beginner_tutorials dal tutorial precedente, Creazione di un Package. Vai all'interno del catkin workspace se non ci sei già e guarda nel folder src:

$ cd ~/catkin_ws/
$ ls src

Dovresti vedere che c'é un folder chiamato beginner_tutorials che hai creato con catkin_create_pkg nel precedente tutorial. Ora possiamo compilare quel package usando catkin_make:

$ catkin_make

Dovresti vedere un sacco di output da cmake e make, che dovrebbe essere simile a questo:

Nota che catkin_make prima mostra quali paths si stanno usando per ciascuno degli 'spaces'. Gli spaces sono descritti nel REP128 e dalla documentazione sui catkin workspaces sul wiki: catkin/workspaces. La cosa importante da notare è che a causa di questi valori di default, diverse cartelle sono state create nel tuo catkin workspace. Dai un'occhiata con ls:

$ ls

Il folder build è la locazione di default del build space ed è dove cmake e make sono chiamati per configurare e compilare i tuoi package. Il folder devel è la locazione di default del devel space, che è il luogo in cui vanno i tuoi eseguibili e le tue librerie prima che installi i tuoi package.

Ora che hai compilato il tuo ROS package, cominciamo a discutere riguardo i ROS Nodes.


2019-10-12 12:41