参考:https://answers.ros.org/question/60903/timesynchronizer-callback-problem/

需要包含以下三个头文件:

#include<message_filters/synchronizer.h>

#include<message_filters/subscriber.h>

#include<message_filters/sync_policies/approximate_time.h>

以一个激光雷达消息和两个图像话题消息为例:

class MultiFusion{
private:ros::NodeHandle private_node_;ros::NodeHandle nh;message_filters::Subscriber<sensor_msgs::Image> leftCamera_sub_;message_filters::Subscriber<sensor_msgs::Image> rightCamera_sub_;message_filters::Subscriber<livox_ros_driver2::CustomMsg> lidar_sub_;public:MultiFusion();~MultiFusion();void callback( const livox_ros_driver2::CustomMsgConstPtr& cloud_msg,const sensor_msgs::ImageConstPtr& leftImage_msg,const sensor_msgs::ImageConstPtr& rightImage_msg);
};MultiFusion::MultiFusion() : private_node_("~") {leftCamera_sub_.subscribe(nh, "/zed/zed_node/left_raw/image_raw_color", 120);rightCamera_sub_.subscribe(nh, "/zed/zed_node/right_raw/image_raw_color", 120);lidar_sub_.subscribe(nh, "/livox/lidar", 40);typedef message_filters::sync_policies::ApproximateTime<livox_ros_driver2::CustomMsg, sensor_msgs::Image, sensor_msgs::Image> MySyncPolicy;message_filters::Synchronizer<MySyncPolicy> sync(MySyncPolicy(40), lidar_sub_, leftCamera_sub_, rightCamera_sub_);sync.registerCallback(boost::bind(&MultiFusion::callback, this, _1, _2, _3));ros::spin();}

MultiFusion::callback是多传感器融合的回调函数,下面测试了时间同步的结果:

void MultiFusion::callback( const livox_ros_driver2::CustomMsgConstPtr& cloud_msg,const sensor_msgs::ImageConstPtr& leftImage_msg,const sensor_msgs::ImageConstPtr& rightImage_msg){//激光雷达、视觉融合回调函数cout << fixed << setprecision(16);cout << "lidar_time" <<cloud_msg->header.stamp.toSec() << endl;cout << "leftImage_time" << leftImage_msg->header.stamp.toSec() << endl;cout << "rightImage_time" << rightImage_msg->header.stamp.toSec() << endl;cout << "process add\n";
}

使用Synchronizer类时间同步三个消息相关推荐

  1. RabbitMQ(八):SpringBoot 整合 RabbitMQ(三种消息确认机制以及消费端限流)

    说明 本文 SpringBoot 与 RabbitMQ 进行整合的时候,包含了三种消息的确认模式,如果查询详细的确认模式设置,请阅读:RabbitMQ的三种消息确认模式 同时消费端也采取了限流的措施, ...

  2. javascript:为string类添加三个成员,实现去左,右,及所有空格

    <script language="JavaScript">    //此处为string类添加三个成员    String.prototype.Trim = func ...

  3. Windows消息机制学习笔记(三)—— 消息的接收与分发

    Windows消息机制学习笔记(三)-- 消息的接收与分发 要点回顾 消息循环 消息队列 消息的接收 GetMessage 实验1:理解GetMessage 第一步:编译并运行程序A 第二步:编译并运 ...

  4. DCMTK:类DVPSIPCClient的示例消息服务器

    DCMTK:类DVPSIPCClient的示例消息服务器 类DVPSIPCClient的示例消息服务器 类DVPSIPCClient的示例消息服务器 #include "dcmtk/conf ...

  5. java类的成员组成_Java类的组成:类的三个组成部分

    Java类的组成:类的三个组成部分 (2011-11-17 21:51:53) 标签: j2me 一.数据成员:数据成员是类的属性,声明该类的对象所具备的属性.声明数据成员往往需要声明以下几项:(1) ...

  6. Java黑皮书课后题第1章:1.1(显示三条消息)编写程序,显示Welcome to Java、Welcome to Computer Science和Programming is fun

    Java黑皮书第一章编程练习题:1.1(显示三条消息) 题目 题目描述 题目槽点 代码片段 零基础解释 ①print与println ②法2中的\n ③法2中的"+":连接两行 C ...

  7. 210127阶段三进程间通信-消息队列

    目录 一.学习的知识点 1 回顾 1.1 1.2 2 进程间通信 2.1进程间通信的目的 2.2 进程间通信 2.2.1 消息队列 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 一.学习的知 ...

  8. java创建类的三个步骤_3个简单步骤即可测试Java 8

    java创建类的三个步骤 即将发布的Java 8版本为Java开发人员带来了许多新功能,但是升级时始终存在代码破裂的风险. 我们都记得Java 7出厂时有一系列非常严重的错误 . 当然,我们所有人都可 ...

  9. Hibernate——(3)主键生成策略持久化类的三种状态

    一 持久化类 1.持久化:内存对象--->数据库(硬盘)Hibernate持久化的框架 持久化类:Java对象与数据库中的表建立映射关系            Hibernate就称为持久化类( ...

最新文章

  1. Mysql 安全加固
  2. Atian inputmethod 输入法解决方案 方言与多语言多文字支持 英语汉字汉语阿拉伯文的支持 (au...
  3. Flask-Login用户登陆
  4. 如何启用SAP C4C OData Event Notification
  5. 恰当地利用中间结果集
  6. ubuntu 自动挂载工具_Ubuntu设置开机自动挂载所有格式硬盘分区
  7. oracle账号密码修改后特别容易锁定_Oracle数据库用户锁定原因以及处理方式(ORA-28000)...
  8. 马蜂窝等多家旅游平台针对肺炎疫情推出旅客保障措施
  9. Linux下的系统排错以及无图形修改root密码
  10. Java中的深拷贝(深复制)和浅拷贝(浅复制)
  11. Geolocation API
  12. AV系统类毕业论文文献有哪些?
  13. 查询天气预报的php代码,jQuery输入城市查询天气预报代码
  14. Java中什么是句柄
  15. GB50174《电子信息系统机房设计规范》贯标培训通知
  16. 软件开发阶段及其文档简述
  17. 机器人挠人脚心_美国惊现“挠脚狂魔” 潜入宿舍挠人脚心
  18. BZOJ3110 K大数查询
  19. B树、B-树、B+树、B*树图文详解
  20. 罗格斯大学电子与计算机工程,罗格斯大学电子和计算机工程理学硕士研究生申请要求及申请材料要求清单...

热门文章

  1. 模拟银行存取款等操作(Java)
  2. 机器学习笔记(十一)实践之数据竞赛的套路
  3. MybatisPlus分页查询
  4. startRecord:fail auth deny
  5. 【Makefile】include执行顺序
  6. 大型数据创造就业机会
  7. java ceiling_java.util.TreeSet.ceiling()方法实例
  8. 计蒜客 A组模拟赛 青出于蓝胜于蓝(dfs序,树状数组)
  9. Unity3D游戏优化方案
  10. bugfree在Windows下的安装以及遇到的各种问题