以小海龟为例,发布一个topic,使小海龟转动起来。
进入工作空间
cd ~/ws/src
创建功能包
catkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim
编写代码
cd learning_topic/src
sudo nano velocity_publisher.cpp
#include <ros/ros.h> //ROS 头文件
#include <geometry_msgs/Twist.h>
int main(int argc, char **argv)
{
//ROS node init
ros::init(argc ,argv ,"velocity_publisher");
//创建节点句柄
ros::NodeHandle n;
//创建一个publisher,发布名为/turtle1/cmd_vel的topic。消息类型为geometry_msgs::Twist,队列长度10
ros::Publisher turtle_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类型的消息