Skip to content

frankfontana/homework1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

homework1

E' stato creato il package ROS "homework1" contenente 3 nodi:

  • Il nodo "student" pubblica, 1 volta al secondo un messaggio contenente un nome, un età, e un corso di laurea.
  • Il nodo "key_input_node" permette di selezionare da tastiera quale parte del messaggio verrà mostrata a video.
  • Il nodo "commands_messages_listener" mostra a video la parte del messaggio selezionata.
    Digitando 'a' verrà stampato tutto il messaggio.
    Digitando 'n' verrà stampato solo il nome.
    Digitando 'e' verrà stampata solo l'età.
    Digitando 'c' verrà stampato solo il corso.

Il codice sorgente per implementare il nodo publisher "key_input_node" è stato implementato seguendo il link:
https://github.com/sdipendra/ros-projects/blob/master/src/keyboard_non_blocking_input/src/keyboard_non_blocking_input_node.cpp

E' stato creato un launch file di nome "homework1.launch" all'interno della cartella launch/ in modo da semplificare l'esecuzione del codice implementato. E' possibile lanciare i nodi con il comando:
"roslaunch homework1 homework1.launch".

Sono stati creati 2 file .msg all'interno della cartella msg/ relativi ai topic "commands" e "messages". Il primo file Student.msg contiene i dati relativi ad uno studente:
-string name
-uint8 age
-string course
-string text
Il campo text permette di concatenare i 3 campi precedenti.

Il secondo file Command.msg contiene un campo per gestire i caratteri letti da tastiera:
-uint8 command

All'interno del file sorgente "commands_messages_listener.cpp" sono state predisposte 2 funzioni callback, una per ogni topic, in modo da gestire i caratteri letti da tastiera e le stampe a video delle strighe relative. Sono state create inoltre due funzioni di supporto "getChar()" e "setChar()" per passare il carattere letto da tastiera e gestire correttamente le stampe a video. Viene stampata a video una sola stringa per carattere digitato e non ripetutamente fino alla ricezione del prossimo carattere.

Il codice sorgente sorgente relativo a "student.cpp" e "commands_messages_listener.cpp" è stato implementato sfruttando il ROS tutorial al seguente link: http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29

alt text

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published