多传感器软同步的方法——ROS下实现

本文探讨了在ROS环境下,如何通过软同步方法处理不同频率的双目相机、深度相机和激光雷达数据。介绍了从基础要求到更高要求的实现方案,包括时间同步机制、回调函数处理以及针对激光雷达频率漂移的解决方案。提出了以激光雷达为基准的历史数据匹配方法,以追求数据同步的最优解,但提醒这种方法在鲁棒性方面可能存在不足。
摘要由CSDN通过智能技术生成

问题背景

现在有三种不同的传感器:
(1)双目相机,输出其左右目的RGB图,已知相机内部做过硬同步,频率已被我调至10帧
(2)深度相机,输出其RGB图和深度图,没有硬同步,频率为30帧
(3)激光雷达,输出其点云,频率为10帧

问题:用软同步的方法数据存储为离线文件

ROS基础

(1)使用while循环,并设置循环频率为30Hz
(2)ROS中subscriber在后台起线程接收数据至队列中,但回调函数位于主线程中
(3)磁盘的读写速度不够快,需要起多线程进行读写,注意:对读/写所用的容器在读/写时需要上mutex锁
(4)实验中务必保证传感器接触良好,且电路正常工作

最基础要求

只要所有的消息在一个100ms内接收到,就算做同步
实现方案一:ROS的时间同步机制
实现方案二:回调函数分开写,但取每个100ms内的最新消息作为同步
两种方案下回调函数都直接将数据写入读/写容器
缺点:无视了硬同步

更高的要求

考虑硬同步,并希望将深度相机中相距较近的两个RGB和深度图视作一体

实现方案:
维护另一个中间容器,回调函数将数据写入中间容器。
先用两个时间间隔较短的ROS时间同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值