Table of Contents
< ros
ROS services
Tutorial: http://wiki.ros.org/rospy_tutorials/Tutorials/WritingServiceClient
Prerequisito: ros nodes.
Esistono tre modi in cui i nodes possono comunicare tra loro
Messages
Ogni processo (node) può pubblicare e/o sottoscrivere dei messaggi (originati da altri node o da roscore)
Services
Ogni processo (node) può fornire e/o richiedere anche dei servizi (originati da altri node o da roscore).
Pensare ai servizi come a funzioni utilizzabili a distanza da altri processi.
Parameters
Ogni processo (node) possiede anche dei parametri a cui possono accedere a distanza altri processi (node)
Pensare ai parametri come alle variabili globali di un programma.
http://wiki.ros.org/Parameter%20Server
A parameter server is a shared, multi-variate dictionary that is accessible via network APIs
Comandi
- rosservice list
- rosservice type
- rossrv show
- rosparam list
- rosparam get
- rosparam set
rosservice list
/rosout/get_loggers
/rosout/set_logger_level
Come si può leggere nell'output del precedente comando, e del prossimo, rosout è usato anche come namespace
rosparam list
/rosout/run_id
rosservice type nome/servizio rosservice type rosout/get_loggers rossrv show tipo_servizio
Si possono anche usare insieme
rosservice type nome/servizio| rossrv show
Richiedere un servizio
rosservice call nome/servizio argomenti
Per esportare e importare
rosparam dump params.yaml rosparam load params.yaml nuovo_namespace