无标题文章

wiki官方练习
ros :: spin()将在Ctrl-C被按下时退出,或者节点由主机关闭。

2. Writing the Subscriber Node

void chatterCallback(const std_msgs::String::ConstPtr& msg)
{
  ROS_INFO("I heard: [%s}",msg->data.c_str());
}```
这是当新消息到达chatter主题时将被调用的回调函数。

ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback); ```
向节点管理器(master)订阅chatter主题,只要有新消息到达时,ROS将调用chatterCallback()函数。

ros::spin();```
**ros :: spin()**进入一个循环,调用消息回调尽可能快。**ros :: spin()**会在**ros :: ok()**返回false时退出,这意味着**ros :: shutdown()**被默认的Ctrl-C处理程序调用,或者master告诉我们关闭,又或者被人为地调用。
**Again, here's a condensed version of what's going on: 
- Initialize the ROS system 
- Subscribe to the chatter topic 
- Spin, waiting for messages to arrive 
- When a message arrives, the chatterCallback() function is called**

你可能感兴趣的:(无标题文章)