ROS系列(四):ROS通信机制系列(6):参数服务器实操

本文档详细介绍了如何通过ROS参数服务器来修改`turtlesim`节点的背景色。首先,通过`rosparam list`获取参数列表,然后使用C++编写节点设置背景色参数。启动流程包括先启动`roscore`,接着运行颜色设置节点,最后运行`turtlesim_node`。此外,还提供了两种命令行方式直接修改背景色参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求描述: 修改turtlesim乌龟显示节点窗体的背景色,已知背景色是通过参数服务器的方式以 rgb 方式设置的。
结果演示:
在这里插入图片描述
实现流程:

  • 通过ros命令获取参数。
  • 编码实现服参数设置节点。
  • 启动 roscore、turtlesim_node 与参数设置节点,查看运行结果。

1 参数名获取

获取参数列表:
	rosparam list
	响应结果:
	/turtlesim/background_b
	/turtlesim/background_g
	/turtlesim/background_r

2 参数修改(C++)

/*
    注意命名空间的使用。

*/
#include "ros/ros.h"


int main(int argc, char *argv[])
{
    ros::init(argc,argv,"haha");

    ros::NodeHandle nh("turtlesim");
    //ros::NodeHandle nh;

    // ros::param::set("/turtlesim/background_r",0);
    // ros::param::set("/turtlesim/background_g",0);
    // ros::param::set("/turtlesim/background_b",0);

    nh.setParam("background_r",0);
    nh.setParam("background_g",0);
    nh.setParam("background_b",0);


    return 0;
}

3 运行

  • 首先,启动 roscore;
  • 然后启动背景色设置节点;
  • 最后启动乌龟显示节点;
  • 最终执行结果与演示结果类似。
    PS: 注意节点启动顺序,如果先启动乌龟显示节点,后启动背景色设置节点,那么颜色设置不会生效。

4 其他方式修改参数

方式1:修改小乌龟节点的背景色(终端代码实现)

rosparam set /turtlesim/background_b 自定义数值
rosparam set /turtlesim/background_g 自定义数值
rosparam set /turtlesim/background_r 自定义数值

方式2:启动节点时,直接设置参数

rosrun turtlesim turtlesim_node _background_r:=100 _background_g=0 _background_b=0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值