1. 随机运动
/**********************
* pubRandVel.cpp
* Author: Hans
* Date: 2020-04-01
* ********************/
#include <ros/ros.h>
#include <geometry_msgs/Twist.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
ros::init(argc, argv, "publish_random_velocity");
ros::NodeHandle nh;
ros::Publisher pub = nh.advertise<geometry_msgs::Twist>
("turtle1/cmd_vel", 1000);
srand(time(0));
ros::Rate rate(2);
while(ros::ok())
{
geometry_msgs::Twist msg;
msg.linear.x = double(rand())/double(RAND_MAX);
msg.angular.z = 2 * double(rand())/double(RAND_MAX) - 1;
pub.publish(msg);
ROS_INFO_STREAM("Sending random velocity command: "
<< "linear = " << msg.linear.x
<< " angular = " << msg.angular.z);
rate.sleep();
}
}
配置 CMakeLists.txt 文件,添加:
add_executable(publish_random_velocity ~/turtle_ws/src/turtle_rand/src/pubRandVel.cpp)
target_link_libraries(publish_random_velocity ${catkin_LIBRARIES})
配置 package.xml 文件:
<?xml version="1.0"?>
<package format="2"