Dopo aver visto come creare il nostro primo nodo in Python e C++ e dopo aver fatto un veloce riassunto dei comandi utili in ROS, ci spingiamo oltre e ci concentriamo su un tool molto utile chiamato ROS Graph.

Come vedremo questo tool ci permette di graficare i nodi attualmente in esecuzione nel nostro progetto.

ROS Graph

Per cominciare, se non l’avessimo già fatto, avviamo il nodo master con l’ormai noto comando:

Copy to Clipboard

A questo punto, da un altro terminale, lanciamo ROS Graph eseguendo il comando:

Copy to Clipboard

Come vedrai, si aprirà la seguente finestra:

deselezionando la checkbox Debug compariranno i nodi attualmente in esecuzione nel tuo computer:

come vedi abbiamo un nodo chiamato rqt_gui_py_3866 che rappresenta il nodo appena lanciato di ROS Graph il quale è collegato al nodo rosout.

Per farti capire, se da un altro terminale lanci il comando:

Copy to Clipboard

vedrai che la lista dei nodi attualmente in esecuzione è la stessa rappresentata in ROS Graph.

Adesso facciamo un passo ulteriore e, sempre da un nuovo terminale, eseguiamo il comando:

Copy to Clipboard

o, in alternativa se riscontrassi errori di sorta, raggiungi la seguente cartella:

Copy to Clipboard

e lancia il nodo precedentemente scritto in C++:

Copy to Clipboard

A questo punto, tornando alla finestra di ROS Graph e cliccando sulla freccia azzurra in alto a sinistra per aggiornare la finestra, dovresti ora vedere comparire il nodo appena avviato.

Anche in questo caso, possiamo vedere come first_cpp_node sia in comunicazione con rosout.

Se provi ad avviare altri nodi, come ad esempio quello Python discusso nella scorsa lezione, vedrai che comparirà un ulteriore nodo chiamato first_python_node, a sua volta connesso con rosout ma non con first_cpp_node.

Conclusioni

Torneremo più avanti su ROS Graph, intanto abbiamo potuto vedere come sia possibile graficare i nodi in esecuzione in un dato momento e vederne le interazioni. Le connessioni tra nodi sono visibili grazie alle frecce che connettono le parti interessate.