ROS学习之五:ROS服务和参数
服务
服务(Service)是节点间通讯的另一种方式,服务允许节点发送一个请求(request)并获得一个响应(response)
通过命令:
rosservice list
可以输出活跃的服务信息,输出信息示例如下:
通过命令:
rosservice type [service]
可以查看服务的类型,例如:
rosservice type /clear
的查看结果为:
std_srvs/Empty
表明调用这个服务时不需要参数,即在发出请求时不发送数据,在接收响应时也不接收数据,故clear服务的使用方法为:
rosservice call /clear
参数服务器
参数服务器能够存储整形、浮点、布尔、字典和列表等数据类型,使用rosparam能让我们在参数服务器上存储和操作数据。
命令:
rosparam list
可以列出参数服务器中的参数名:
而通过命令:
rosparam set [param_name]
rosparam get [param_name]
可以设置或获取参数,如设置背景颜色参数(需rosservice call /clear后生效):
rosparam set /turtlesim/background_r 150
也可获取背景颜色参数:
rosparam get /turtlesim/background_g
以及显示参数服务器上的所有内容:
rosparam get /
基础命令
rosservice | list | 输出活跃服务的信息 |
call [service] [args] | 用给定的参数调用服务 | |
type [service] | 输出服务的类型 | |
find | 按服务的类型查找服务 | |
uri | 输出服务的ROSPRC uri | |
rosparam | set [param_name] | 设置参数 |
get [param_name] | 获取参数 | |
load [file_name] [namespace] | 从文件中加载参数 | |
dump [file_name] [namespace] | 向文件中转储参数 | |
delete | 删除参数 | |
list | 列出参数名 |