理解ROS服务和参数
介绍了ROS 服务和参数的知识,以及命令行工具rosservice 和 rosparam的使用方法
ROS Services
服务(services)是节点之间通讯的另一种方式。服务允许节点发送请求(request) 并获得一个响应(response)
rosservice
rosservice可以很轻松的使用 ROS 客户端/服务器框架提供的服务,如下面这个命令
rosservice list
可以列出所有可用的服务
通过查看再生(spawn)服务的信息,我们来了解带参数的服务:
rosservice type spawn| rossrv show
返回的信息关于spawn这个命令需要的参数和返回的参数,如下:
float32
xfloat32
yfloat32
theta
string name -------
string name
虚线前面时调用spawn的时候需要的参数,后面是输出的参数
rosservice call spawn 2 2 0.2 "lalala"
rosparam
使得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据。参数服务器能够存储整型、浮点、布尔、字符串、字典和列表等数据类型。rosparam使用YAML标记语言的语法。一般而言,YAML的表述很自然:1
是整型,1.0
是浮点型,one
是字符串,true
是布尔,[1, 2, 3]
是整型列表,{a: b, c: d}
是字典.rosparam
有很多指令可以用来操作参数,如下所示:
rosparam list
rosparam set [param_name]
rosparam get [param_name]
rosparam get / #用来得到所有的参数
可以吧参数存在一个yaml文件里面,后面用的时候load进来就可以了:
rosparam dump [file_name]
rosparam load [file_name] [namespace]
使用 rqt_console 和 roslaunch
本教程介绍如何使用rqt_console和rqt_logger_level进行调试,以及如何使用roslaunch同时运行多个节点。
网友评论