需求描述:
修改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