2026.7.27-初入ros+slam+opencv第五天--区分服务和话题的区别和理解参数并懂得参数的修改

📅 2026/7/30 3:33:00 👁️ 阅读次数 📝 编程学习
2026.7.27-初入ros+slam+opencv第五天--区分服务和话题的区别和理解参数并懂得参数的修改

一.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"{}"

得到粉红色的背景 原来是蓝色