2026.7.27-初入ros+slam+opencv第五天--区分服务和话题的区别和理解参数并懂得参数的修改
📅 2026/7/30 3:33:00
👁️ 阅读次数
📝 编程学习
一.service和topic概念区分
1.概念区分
话题:持续流式数据,异步通信,适合相机、小车坐标、雷达这类持续输出的传感器数据;
服务:一问一答同步通信,单次请求单次反馈,适合触发式操作(生成 / 删除乌龟、设备启停、保存地图)。
2.实操命令
服务
启动三终端:roscore、rosrun turtlesim turtlesim_node;
生成乌龟:rosservice call /spawn {参数};
rosservice call /spawn"x: 3.0 y: 3.0 theta: 12.0 name: 'test_turtle'"删除乌龟:rosservice call /kill “name: ‘乌龟名’”;
rosservice call /kill"name: 'test_turtle'"查询工具:rosservice list(查看全部服务)、rosservice type(查看服务消息格式)。
话题
使用rostopic list查看话题
3.注意点
1./spawn、/kill 仅小乌龟仿真自带,不是系统全局固定命令;
2.通过 rostopic list 查看带/pose话题,就能得知当前存在哪些乌龟;
3.删除初始乌龟turtle1后不会自动复原,可手动用 /spawn 重建。
二.理解参数服务器和参数的修改
1.参数服务器作用
全局公共存储,存放机器人固定参数(底盘限速、相机标定参数),所有节点均可读写。
全套实操命令
rosparam list:查看全部参数;
rosparam set /参数名 数值:自定义参数;
rosparam get /参数名:读取参数;
rosparam dump params.yaml:参数保存到文件;
每次新创建一个参数都应该保存到yaml本地文件
rosparam load params.yaml:从文件加载参数。
2.参数修改实例
1.修改乌龟背景图颜色
使用 rosparam list 查看全部参数
带有/turtlesim/是小乌龟的背景bgr参数
我修改一下r参数为255
rosparamset/turtlesim/background_r255
刷新一下背景
rosservice call /clear"{}"得到粉红色的背景 原来是蓝色
编程学习
技术分享
实战经验