ROS编程示例---设置乌龟背景随机颜色

来源:互联网 发布:vue.js offsetwidth 编辑:程序博客网 时间:2024/05/22 15:46

先运行roscore和turtlesim

你将会看到很鲜艳的颜色

//这是根据ros浅谈第八章更改乌龟颜色的一个例子,改编过来的,符合我狂乱的风格#include <ros/ros.h>#include <std_srvs/Empty.h>//empty是turtlesim_node提供的服务clear的消息类型#include <cstdlib>int main(int argc,char** argv){  ros::init(argc,argv,"set_bk_color");//生成set_bk_color  ros::NodeHandle n;//节点句柄  srand(time(0));//设置随机种子,以便使用不同颜色  while(ros::ok)//运行正常  {    //设置RGB三种随机颜色        int Red=255*double(rand())/double(RAND_MAX);    int Green=255*double(rand())/double(RAND_MAX);    int Bule=255*double(rand())/double(RAND_MAX);   //rosparam使得我们能够存储并操作ROS参数服务器,重新设置颜色    ros::param::set("background_r",Red);    ros::param::set("background_g",Green);    ros::param::set("background_b",Bule);    //这时候程序并没有显示变化,所以要更新服务    //填充服务clear    ros::ServiceClient clearClient    =n.serviceClient<std_srvs::Empty>("/clear");    std_srvs::Empty srv;    //调用服务    clearClient.call(srv);    //控制频率    ros::spinOnce();    //重新认识了spinOnce和spin区别,spin=while(ok){spinOnce()};,使用spin是过不去的  }}
原创粉丝点击