目标:同步小于9个的消息话题
方法:
1:定义每个消息的接收器
message_filters::Subscriber<Image> image_sub(nh, "image", 1);
message_filters::Subscriber<CameraInfo> info_sub(nh, "camera_info", 1);
2:定义时间同步器
TimeSynchronizer<Image, CameraInfo> sync(image_sub, info_sub, 10);
3:定义回调函数,注意:消息类型必须是指针类型
void callback(const sensor_msgs::CameraInfo::ConstPtr&, const sensor_msgs::Image::ConstPtr&, const sensor_msgs::Image::ConstPtr&);
4:注册回调函数
sync.registerCallback(callback);
对于类的成员函数,可以用下面:
sync->registerCallback(boost::bind(&Foo::callback,this,_1_2))