ROS学习(八)—— 理解ROS服务和参数
一、ROS 服务
服务(services)是节点之间通讯的另一种方式。服务允许节点发送请求(request) 并获得一个响应(response)
二、rosservice
1、用途
rosservice可以很轻松的使用 ROS 客户端/服务器框架提供的服务。
2、语法:
rosservice list print information about active services 输出可用的服务信息
rosservice call call the service with the provided args 调用服务
rosservice type print service type 打印服务参数类型
rosservice find find services by service type
rosservice uri print service ROSRPC uri
3、rosservice list
rosservice list
4、rosservice type
(1)语法:
rosservice type [service]
(2)demo
rosservice type /clear
返回std_srvs/Empty
5、rosservice call
(1)语法:
rosservice call [service] [args]
(2)demo:
rosservice call /clear
正如我们所期待的,服务清除了turtlesim_node的背景上的轨迹。
(3)demo2:
rosservice type /spawn| rossrv show
返回:
1 2 3 4 5 6 | float32 x float32 y float32 theta string name --- string name |
然后我们再创建一个乌龟,命令为:
rosservice call /spawn 2 2 0.2 ""
返回给我们新的乌龟的名字:
1 | name: turtle2 |
三、rosparam
rosparam使得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据。参数服务器能够存储整型、浮点、布尔、字符串、字典和列表等数据类型。rosparam使用YAML标记语言的语法。一般而言,YAML的表述很自然:1 是整型, 1.0 是浮点型, one是字符串, true是布尔, [1, 2, 3]是整型列表, {a: b, c: d}是字典. rosparam有很多指令可以用来操作参数,如下所示:
1、用法:
rosparam set set parameter rosparam get get parameter rosparam load load parameters from file rosparam dump dump parameters to file rosparam delete delete parameter rosparam list list parameter names
2、rosparam list
rosparam list
我们可以看到服务器参数上的参数:
1 2 3 4 5 | /background_b /background_g /background_r /roslaunch/uris/aqy:51932 /run_id |
3、使用rosparam set和rosparam get
(1)语法:
rosparam set [param_name] rosparam get [param_name]
(2)demo:改变背景颜色
rosparam set /background_r 150 rosservice call /clear
(3)得到全部参数
rosparam get /
4、参数保存和载入
(1)语法:
rosparam dump [file_name] [namespace] rosparam load [file_name] [namespace]
(2)demo:
保存:
rosparam dump params.yaml
载入:可以载入到另一个名字空间(好像可以随便取,即可生成新的名字空间)
rosparam load params.yaml copy rosparam get /copy/background_b
本文作者:Blue Mountain
本文链接:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6277362.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步