基于ROS实现多传感器时间软同步

本文介绍了自动驾驶场景中多传感器时间同步的重要性,特别是在融合不同频率的相机和激光雷达数据时。通过ROS的message_filter实现软同步方法,确保同一时刻的数据匹配。详细步骤包括代码拷贝、构建与运行,以及结果展示,帮助读者理解并应用时间同步技术。
摘要由CSDN通过智能技术生成

Autonomous vehicle 杂谈_15


一. 写在前面:
  1. 为什么需要时间同步?有什么时间同步方法?
     需要时间同步的原因其实很简单,如果未经手动设定,我们所使用的车载传感器的频率是不一样的。比如你用的相机是15HZ,而激光雷达是20HZ,那么在做多传感器数据融合的时候,就无法实现一帧图片对应一帧点云;因此时间同步就是必须的了。而实现多传感器时间同步的方法主要有两种,一种是软同步,另一种是硬同步。(解释详见:多传感器时间同步 — 软硬详解)。
  2. 本文实现方法介绍:
     本文所使用的方法是基于ROS::message_filter的,这个方法的原理是:时间同步器会从多个源(这里指的就是LiDAR和Camera)接收到不同类型的消息,当且仅当它们有着相同的时间戳的时候,才把它们发布出去。从而实现一定程度上的多传感器时间同步。
  3. 一句总结:软同步更易实现、硬同步更加精确。
二. 代码复现
### 1. 代码拷贝
cd 
mkdir -p SensorTimeSync_ws/src
cd SensorTimeSync_ws/src
git clone https://github.com/demoxxxyf/SensorsTimeSync.git
cd SensorTimeSync 
mkdir include
cd ../../
catkin_make
# 显示 [100%] Built target data_tb 完成代码拷贝

### 2. 代码使用
source devel/setup.bash
rosrun data_tb data_tb  # 记得启动 ros master
rosbag play ***  # 播放你想要同步的bag
rosbag record -a  # 记录同步好的bag  
结果展示
rqt_bag 同步好的bag.bag

查看sync/img和sync/lidar即可
bydemo


如有问题,敬请指正。欢迎转载,但请注明出处。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值