十、参数服务器之参数的修改实现

这篇博客介绍了如何在ROS环境中使用命令行获取参数列表,并通过C++和Python代码来修改参数服务器上的参数,以改变turtle模拟器的背景颜色。示例展示了`rosparam list`用于列出参数,`rosparam get`用于获取参数值,以及`rosparam set`或`rospy.set_param`用于设置参数值的方法。
摘要由CSDN通过智能技术生成

1、背景简介

在项目中,有一些功能是通过参数服务器实现的。有事,需要修改相应的参数,这时,我们就可以通过相关命令来获取相应参数,进而修改相应的参数

2、实现步骤

1.参数名获取

rosparam list
/rosdistro
/roslaunch/uris/host_d102_w65kj1_kk1__35893
/rosversion
/run_id
/turtlesim/background_b
/turtlesim/background_g
/turtlesim/background_r
d102@d102-W65KJ1-KK1:/media/d102/EPAN/Desktop/code_study_ubuntu/rosdemo_05$ rosparam get /turtlesim/background_g
86

2.代码实现

  1. C++
    /* 
        目标:修改参数服务器中的参数,改变turtle背景颜色
        注意:命名空间的使用
    */
    #include"ros/ros.h"
    
    int main(int argc, char *argv[]){
        ros::init(argc,argv,"turtle_color_change");
        //方法一
        ros::param::set("/turtlesim/background_r",40);
        ros::param::set("/turtlesim/background_g",40);
        ros::param::set("/turtlesim/background_b",40);
        
        // //方法二
        // //此处,采用了命名空间拼接的方法
        // ros::NodeHandle nh("turtlesim");
        // nh.setParam("background_r",100);
        // nh.setParam("background_g",100);
        // nh.setParam("background_b",100);
    
        return 0;
    }
    
  2. Python
    #! /usr/bin/env python
    
    import rospy
    
    if __name__ == "__main__":
        rospy.init_node("turtle_color_change_p")
    
        rospy.set_param("/turtlesim/background_r",200)
        rospy.set_param("/turtlesim/background_g",200)
        rospy.set_param("/turtlesim/background_b",200)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值