1.在一个话题上发布消息。
可以使用ros::Publisher类创建一个句柄来在一个话题上发布消息,应该首先创建一个publisher将要使用的消息,然后在setup函数中调用advertise。整个程序的结构如下:
#include <ros.h>
ros::NodeHandle nh;
// before your setup() function
std_msgs::String str_msg;
ros::Publisher pub("foo", &str_msg);
void setup(){
...
nh.advertise(pub);
...
}
然后就可以发布一个消息了:
void loop()
{
pub.publish( &str_msg );
nh.spinOnce();
}
2.订阅一个话题
订阅一个话题的第一步是包括头文件,并且创建一个回调函数。所有的rosserial消息存在于ros_lib文件夹下的package_name/msg_name。例如包括消息std_mgs/Float64时使用#include <std_msgs/Float64.h>。
回调函数必须满足函数返回值为空且使用一个常引用作为函数的参数。
#in