// 接收odom和status两个topic
message_filters::Subscriber<nav_msgs::Odometry> sub_odom(
n, TOPIC_NAME_ODOM, 1, ros::TransportHints().tcpNoDelay());
message_filters::Subscriber<hdl_localization::ScanMatchingStatus> sub_status(
n, TOPIC_NAME_STATUS, 1, ros::TransportHints().tcpNoDelay());
// 同步数据
typedef message_filters::sync_policies::ApproximateTime<nav_msgs::Odometry, hdl_localization::ScanMatchingStatus> syncPolicy;
message_filters::Synchronizer<syncPolicy> sync(syncPolicy(10), sub_odom, sub_status);
sync.registerCallback(boost::bind(&pubPoseThread, _1, _2, SAVE_LOC_FILE));
ros::Rate loop_rate(LOOP_RATE);
while (ros::ok())
{
//method
ros::spinOnce();
loop_rate.sleep();
}
第三方账号登入
QQ 微博 微信