理解ROS服務和參數(shù)
介紹了ROS 服務和參數(shù)的知識,以及命令行工具rosservice 和 rosparam的使用方法
ROS Services
服務(services)是節(jié)點之間通訊的另一種方式。服務允許節(jié)點發(fā)送請求(request) 并獲得一個響應(response)
rosservice
rosservice可以很輕松的使用 ROS 客戶端/服務器框架提供的服務,如下面這個命令
rosservice list
可以列出所有可用的服務
通過查看再生(spawn)服務的信息,我們來了解帶參數(shù)的服務:
rosservice type spawn| rossrv show
返回的信息關于spawn這個命令需要的參數(shù)和返回的參數(shù),如下:
float32
xfloat32
yfloat32
theta
string name -------
string name
虛線前面時調用spawn的時候需要的參數(shù),后面是輸出的參數(shù)
rosservice call spawn 2 2 0.2 "lalala"
rosparam
使得我們能夠存儲并操作ROS 參數(shù)服務器(Parameter Server)上的數(shù)據。參數(shù)服務器能夠存儲整型、浮點、布爾、字符串、字典和列表等數(shù)據類型。rosparam使用YAML標記語言的語法。一般而言,YAML的表述很自然:1
是整型,1.0
是浮點型,one
是字符串,true
是布爾,[1, 2, 3]
是整型列表,{a: b, c: d}
是字典.rosparam
有很多指令可以用來操作參數(shù),如下所示:
rosparam list
rosparam set [param_name]
rosparam get [param_name]
rosparam get / #用來得到所有的參數(shù)
可以吧參數(shù)存在一個yaml文件里面,后面用的時候load進來就可以了:
rosparam dump [file_name]
rosparam load [file_name] [namespace]
使用 rqt_console 和 roslaunch
本教程介紹如何使用rqt_console和rqt_logger_level進行調試,以及如何使用roslaunch同時運行多個節(jié)點。