#include <ros/ros.h>
#include <geometry_msgs/Twist.h>
int main(int argc,char **argv)
{ //ros初始化
ros::init(argc,argv,"velocity_publisher");
ros::NodeHandle n;
ros::Publisher turtler_vel_pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel",10);
ros::Rate loop_rate(10);
int count = 0;
while(ros::ok())
{
geometry_msgs::Twist vel_msg;
vel_msg.linear.x = 0.5;
vel_msg.angular.z = 0.2;
//发布消息
turtler_vel_pub.publish(vel_msg);
ROS_INFO("Publish turtle velocity command[%0.2f m/s,%0.2f rad/s]",vel_msg.linear.x,vel_msg.angular.z);
loop_rate.sleep();
}
return 0;
}
实现一个发布者
1、初始化ROS节点
2、向ROS Master 注册节点信息
包括了发布的话题名和消息类型
3、创建消息数据
4、按照一定的频率循环发布消息