订阅节点需要做四件事情:
1)初始化;
2)从主题订阅消息;
3)然后等待消息到达;
4)当消息到达时,chatterCallback()被回调。
ros::Publisher chatter_pub = n.advertise<std_msgs::String>(
"message"
,
1000
);
声明主题message上发布一个消息类型为str_msgs::String的消息,并设置消息缓冲区的大小。
ros::Rate loop_rate(
10
);
设置发送消息的频率 10HZ,它追踪自从上一次Rate::sleep()被唤醒之后的持续时间,并在到达时间后继续休眠。
chatter_pub.publish(msg);
把消息通过主题发布出去。
void
chatterCallback(
const
std_msgs::String::ConstPtr &msg)
回调函数,当一个新消息到达指定主题时即调用。