Autonomous vehicle 杂谈_15
一. 写在前面:
- 为什么需要时间同步?什么时间同步? ?时间同步的原因其实很简单。如果没有手动设置,我们使用的车载传感器的频率是不同的。比如你用的相机是15HZ,而激光雷达是20HZ,因此,在进行多传感器数据集成时,无法实现一帧图片对应一帧点云;因此,时间同步是必要的。实现多传感器时间同步的方法有两种,一种是软同步,另一种是硬同步。(详见说明:多传感器时间同步 — 软硬详解)。
- 本文实现方法介绍: ?本文使用的方法是基于ROS::message_filter是的,这种方法的原理是:时间同步器将来自多个源(这是指LiDAR和Camera)当他们有相同的时间戳时,收到不同类型的消息并发布它们。从而实现多传感器的时间同步。
- 总结:软同步更容易实现,硬同步更准确。
二. 代码复现
### 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即可