Ros創建發佈者節點源碼註釋___20180422

#include "ros/ros.h"//ros/ros.h包含了使用ROS節點所有的必要文件
#include "std_msgs/String.h"//包含了我們要使用的消息類型:
#include <sstream>
int main(int argc , char **argv)
{
  ros::init(argc,argv, "example1_a");//啓動該節點並設置其名稱,名稱具有唯一性
  ros::NodeHandle n;//設置節點進程的句柄
  ros::Publisher chatter_pub = n.advertise<std_msgs::String>("message",1000);/*Comment_0*/
 
  ros::Rate loop_rate(10);//設置信息發送的頻率爲10HZ:
  while(ros::ok())/*Comment1*/
   {
      std_msgs::String msg;
      std::stringstream ss;
      ss << "I am the example1_a node ";
      msg.data = ss.str();
      //ROS_INFO("%s",msg.data.c_str());
      chatter_pub.publish(msg);
      ros::spinOnce();
      loop_rate.sleep();
   }
  return 0;
}
 /*________________Comment_0____________________________________
****將節點設置成發佈者,並將所發佈的主題和類型的名稱告知節點管理器,
****第一個參數是緩衝區的大小,名字爲message,如果主題發佈數據速度   
****較快,那麼將緩衝區設置爲1000個消息
_______________________________________________________________
 */
 /*________________Comment_1____________________________________
****當ROS停止當前節點運行或Ctrl+c時,循環終止
****創建消息變量msg(Create a message variable ),變量的類型必須符合發送數據的要求
****(The type of the variable must conform to the requirements for sending data.)
****chatter_pub.publish(msg);Publish/Post a message
****ros::spinOnce():如果有一個訂閱者出現,ROS就會更新並讀取所有主題:
****loop_rate.sleep():按照10Hz的頻率將程序掛起》
_______________________________________________________________
 */



發佈了45 篇原創文章 · 獲贊 26 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章