#参数服务器修改小海龟背景色
1、进入工作空间的src目录新建工作包
lzw08@ubuntu:~$ cd ros_ws/src
lzw08@ubuntu:~/ros_ws/src$ catkin_create_pkg parameter_turtle roscpp rospy std_msgs std_srvs
如图,在src目录下新建了一个名为parameter_turtle 的工作包,roscpp、rospy、std_msgs、std_srvs是这个工作包的依赖项。
2、进入工作包内的src目录下新建.cpp文件
lzw08@ubuntu:~/ros_ws/src$ cd parameter_turtle/src/
lzw08@ubuntu:~/ros_ws/src/parameter_turtle/src$ touch parameter_config.cpp
新建完成后打开并粘贴代码
lzw08@ubuntu:~/ros_ws/src/parameter_turtle/src$ gedit parameter_config.cpp
#include <string>
#include <ros/ros.h>
#include <std_srvs/Empty.h>
using namespace std;
int main(int argc, char **argv)
{ int red, green, blue;
string nodeName = "parameter_config";
ros::init(argc, argv, nodeName);
ros::NodeHandle node;
ros::param::get("/background_r", red);
ros::param::get("/background_g", green);
ros::param::get("/background_b", blue);
ROS_INFO("Get Backgroud Color[%d, %d, %d]", red, green, blue);
ros::param::set("/background_r", 128);
ros::param::set("/background_g", 0);
ros::param::set("/background_b", 255);
ROS_INFO("Set Backgroud Color[255, 255, 255]" );
ros::param::get("/background_r", red);
ros::param::get("/background_g", green);
ros::param::get("/background_b", blue);
ROS_INFO("Re-get Backgroud Color[%d, %d, %d]", red, green, blue);
ros::service::waitForService("/clear");
ros::ServiceClient clear_background = node.serviceClient<std_srvs::Empty>("/clear");
std_srvs::Empty srv;
clear_background.call(srv);
sleep(1);
return 0;
}
然后保存并关闭。
3、回到上级目录修改编译规则
lzw08@ubuntu:~/ros_ws/src/parameter_turtle/src$ cd ..
lzw08@ubuntu:~/ros_ws/src/parameter_turtle$ gedit CMakeLists.txt
修改前 vs 修改后
add_executable(parameter_config src/parameter_config.cpp)
target_link_libraries(parameter_config
${catkin_LIBRARIES}
)
改完之后保存关闭。
4、回到工作空间下编译
lzw08@ubuntu:~/ros_ws/src/parameter_turtle$ cd ~/ros_ws
lzw08@ubuntu:~/ros_ws$ catkin_make
编译显示没有错误就可以运行了,如果出错了可以私信我或者在评论区留言。
5、运行
1)主节点:roscore
主节点都需要打开一个新的终端运行!(Ctrl+Alt+T 新建终端)
2)小海龟:rosrun turtlesim turtlesim_node
小海龟也需要打开一个新的终端运行。
3)刚才写好的节点
lzw08@ubuntu:~/ros_ws$ source devel/setup.bash
lzw08@ubuntu:~/ros_ws$ rosrun parameter_turtle parameter_config
可以看到,小海龟的背景色变了,变成我们编写的.cpp文件中设置的RGB所对应的颜色。
r=128,g=0,b=255对应的是紫色,可以根据自己喜好更改,改完之后回到工作空间再次编译即可运行。
(比如我改三个255)
lzw08@ubuntu:~/ros_ws$ catkin_make
lzw08@ubuntu:~/ros_ws$ rosrun parameter_turtle parameter_config
6、通过命令修改小海龟背景色
1)查看原来的r、g、b
2)修改r、g、b
最后敲上这行代码,回车,背景色就可以改变了
lzw08@ubuntu:~$ rosservice call clear
7、下期见咯 ~
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)