单个Livox 的FOV只有70°,无法覆盖车前方的所有范围,所以用了三个Livox 以实现180°前方位覆盖。但由于三个雷达均是独自采集,所以需要对每个雷达采集的各帧点云进行合并
由于订阅了多个激光雷达的 topic,所以需要对不同的 topoic进行时间同步,时间同步用到了ROS中的ApproximateTime的功能,通过message_filters::Synchronizer 统一接收多个主题,只有在所有的topic都有相同的时间戳时,才会产生一个同步结果的回调函数,在回调函数里处理同步时间后的数据。
在ROS中,同步策略和同步器对象用于处理来自不同话题的消息,并确保它们在处理时具有一致的(或近似一致的)时间戳。这在处理多个传感器数据时特别有用,因为通常需要确保处理的数据来自同一时刻。
以下是代码中同步策略和同步器对象的详细解释:
### 同步策略(syncPolicy)
同步策略定义了如何同步来自不同话题的消息。在ROS的消息过滤器库中,`sync_policies::ApproximateTime` 是一个预定义的策略,它允许消息过滤器同步具有近似时间戳的消息。这意味着,当多个消息到达时,如果它们的时间戳大致相同(在一定的容忍范围内),则它们将被一起处理。
在代码中,同步策略是如下定义的:
```cpp
typedef message_filters::sync_policies::Approximat