需求描述:
修改turtlesim乌龟显示节点窗体的背景色,已知背景色是通过参数服务器的方式以 rgb 方式设置的。
获取信息:
rosparam get /turtlesim/background_r
设置:
rosparam set /turtlesim/background_r 255
<>C++ 实现:
#include "ros/ros.h" /* 需求:修改参数服务器中 turtlesim 背景色相关的参数 1.初始化ROS节点 2.
不一定需要创建节点句柄(和后续使用的API有关) 3.修改参数 */ int main(int argc, char *argv[]) { // 1.
初始化ROS节点 ros::init(argc,argv,"chang_bgColor"); // 2.不一定需要创建节点句柄(和后续使用的API有关) //
方案一:(输出背景为白色) ros::NodeHandle nh("turtlesim"); nh.setParam("backgrand_r",255);
nh.setParam("backgrand_g",255); nh.setParam("backgrand_b",255); // 方案二:输出背景为墨蓝色
nh.setParam("/turtlesim/backgrand_r",0); nh.setParam("/turtlesim/backgrand_g",50
); nh.setParam("/turtlesim/backgrand_b",100); // 方案三:输出背景为黑色 // 3.修改参数 //
如果调用ros::param 不需要创建节点句柄 ros::param::set("/turtlesim/background_r",0);
ros::param::set("/turtlesim/background_g",0); ros::param::set(
"/turtlesim/background_b",0); return 0; }
<>输出:
<>Python:
#! /usr/bin/env python import rospy """ 需求:设置乌龟GUI背景色 1.初始化ROS节点 2.设置参数 """ if
__name__ == "__main__": rospy.init_node("change_bgColor_p") #修改背景色 rospy.
set_param("/turtlesim/background_r",100) rospy.set_param(
"/turtlesim/background_g",200) rospy.set_param("/turtlesim/background_b",250)
先运行文件设置颜色
rosrun plumbing_test test04_param_p.py
后运行小乌龟节点
rosrun turtlesim turtlesim_node