针对两个及以上的雷达点云
以简单的两个雷达为例
1.先确定本次同步的开始时间current_start_, 结束时间current_end_
2. 代码中,有两种情况, 上一次该sensor_id的雷达数据还有没处理完的,先处理即t1-t2,再把本次过来的点云存入容器id_to_pending_data_,下一次同步; 另一种就是,id_to_pending_data_没有该sensor_id的剩余,开始新的同步处理, 即t2-t4
如果两个激光雷达的数据都过来了,以上一次融合结束时间为本次融合的开始,current_start_=current_end_; 以最早的一帧雷达数据的结束时间为current_end_,cartographer的点云格式中,点云的时间用的是其最后一个点的时间。这样融合current_start_和current_end_之间的点云。这样过后,scan_2的点云还剩一段,即t1-t2段,用这段代替scan_2一帧的数据,用在下一次的融合。下一次融合时,代码中,会融合上一次scan_2剩下的激光。