欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
}

配置

publisher程序注释publisher程序注释