publisher程序注释
程序员文章站
2022-07-14 16:39:01
...
publisher程序注释
/**
* 该例程将发布/person_info话题,自定义消息类型learning_topic::Person
*/
#include <ros/ros.h>
#include "topic/person.h"//包名/自动生成的H文件
int main(int argc, char **argv)
{
// ROS节点初始化
ros::init(argc, argv, "person_publisher");// person_publisher 节点名
// 创建节点句柄
ros::NodeHandle n;
// 创建一个Publisher,发布名为/person_info的*topic(话题),消息类型为topic::person,队列长度10
ros::Publisher person_info_pub = n.advertise<topic::person>("/person_info", 10);
// 设置循环的频率
ros::Rate loop_rate(1);//一秒一次
int count = 0;
while (ros::ok())
{
// 初始化learning_topic::Person类型的消息
topic::person person_msg;
person_msg.name = "Tom"; //name,age,sex都预先声明号了(msg)
person_msg.age = 18; //
person_msg.sex = topic::person::male;//msg文件定义好了
// 发布消息
person_info_pub.publish(person_msg);
ROS_INFO("Publish Person Info: name:%s age:%d sex:%d",
person_msg.name.c_str(), person_msg.age, person_msg.sex);
// 按照循环频率延时
loop_rate.sleep();
}
return 0;
}
配置
上一篇: Linux->gcc编译器
下一篇: 详述Java程序注释