User Tools

Site Tools


neurali:ros_services

< 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
neurali/ros_services.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1