本文记录下如何通过参数服务器改变turtlesim小乌龟的背景色。
实现效果:
原来小乌龟是蓝色背景:
变为现在的白色背景:
由于我们改变的是参数服务器,所以我们需要首先知道,影响乌龟背景的参数,这里需要在roscore 和 乌龟节点开启的情况下,使用 rosparam list 进行查看。
输入命令:
rosparam list
其实就是上面箭头所指的那些,可以使用 rosparam get 和 set 先测试
然后我们用 rosparam set 方法进行测试,也就是将原来的 RGB(255,255,255)变为了RGB(255,255,0)
rosparam set /turtlesim/background_b 0
然后重启 turtlesim_node 节点,则背景变为了黄色
C++实现
#include "ros/ros.h"
int main(int argc,char *argv[]){
ros::init(argc,argv,"test_04_param");
//创建句柄
ros::NodeHandle nh;
nh.setParam("/turtlesim/background_r",255);
nh.setParam("/turtlesim/background_g",255);
nh.setParam("/turtlesim/background_b",255);
//创建句柄(传递命名空间)
//ros::NodeHandle nh("turtlesim");
//nh.setParam("background_r",255);
//nh.setParam("background_g",255);
//nh.setParam("background_b",255);
//如果使用 ros::param 不需要创建句柄
//ros::param::set("/turtlesim/background_r",255);
//ros::param::set("/turtlesim/background_g",255);
//ros::param::set("/turtlesim/background_b",255);
return 0;
}
Python实现
#! /usr/bin/env python
# -*- coding:utf-8 -*-
import rospy
if __name__=="__main__":
rospy.init_node("test_04_p")
rospy.set_param("/turtlesim/background_r",255)
rospy.set_param("/turtlesim/background_g",0)
rospy.set_param("/turtlesim/background_b",255)
【注:注意配置CMakeLists.txt,然后编译运行】