装两个雷达还是装一个,用数据说话 有个客户做园区巡检机器人,一开始方案是车顶装一个 M360。做完原型机测试,发现有一个死穴:车尾方向的盲区太大。 M360 是 360° 水平扫描,理论上下前后左右都能扫到,不存在"方向盲区"。但实际使用中,"能扫到"和"能扫好"是两回事。 为什么一个雷达也有盲区 M360 装在车顶正中间,光学中心朝上 5°(为了更好地扫描地面)。这时候正前方的地面覆盖最好——0.05m 盲区 + 70° 垂直视场角,脚下到前方几十米都能覆盖。 但正后方就不同了。机器人的车身本身会遮挡一部分点云——电池舱、散热器、天线的阴影区域。M360 虽然是 360° 水平扫描,但打在自身车身上的点不会返回(要么被吸收,要么反射方向不对),这些方向上的点就缺失了。 实测数据:在我们的 AGV 上(车身尺寸 800×600×400mm),车尾方向的点云密度比车前方低大约 40%。换句话说,车尾对障碍物的检测距离会比车前方短很多——车前方能稳定检测到 30m 外的障碍物,车尾可能只有 15~18m。 对一般应用来说,15m 的车尾检测距离够用了。但对高速场景(>1.5m/s)或者密集场景(停车场、物流园区),15m 检测距离可能不够——从发现到刹车的安全距离不够。 两个雷达的方案 客户的解决方案很简单:车头一个、车尾一个,两个 M360。 安装位置:车头雷达朝前装,车尾雷达朝后装,都稍微向上倾斜 5°。两个雷达通过以太网交换机连接到工控机,各自独立的 IP 地址。 点云融合方式:在 ROS2 里用两个 livox_ros_driver2 节点分别接收两个雷达的数据,然后用 转成 2D costmap 给导航栈用。也可以用 做两个点云的拼接,生成一个完整的 3D 环境。 实测效果:车尾方向的点云密度从原来的 60% 恢复到了 95% 以上(剩余的 5% 损失是车身结构遮挡无法避免的)。车尾检测距离从 15m 提升到了 30m,跟车前方基本一致。 三种融合方案对比 我们测试了三种点云融合方式: 方案一:独立话题,分别处理。 两个雷达的点云作为独立的 ROS2 topic 发布,下游的避障节点分别订阅两个 topic,各自做避障判断。 优点:简单,不需要修改现有算法。缺点:两个雷达覆盖的重叠区域可能出现重复检测——同一个障碍物被两个雷达都看到了,避障算法不知道该怎么处理,可能会过反应。 方案二:点云拼接,统一处理。 把两个雷达的点云拼成一个大的点云(通过坐标变换统一到车体坐标系),然后作为一个 topic 发给下游算法。 优点:下游算法只需要处理一个点云,逻辑简单。缺点:重叠区域的点需要做去重处理,否则点云密度不均匀可能影响算法表现。 方案三:分别建图,共享地图。 两个雷达各自运行 SLAM(各自一个 FAST-LIO2 实例),建出来的子地图通过地图融合算法合并成一个全局地图。 优点:鲁棒性最好——一个雷达被遮挡了,另一个雷达的 SLAM 还能继续工作。缺点:计算量大,需要两套 SLAM 实例运行。 实际项目中, 方案二用得最多 。点云拼接的计算量很小(几十毫秒级别),重叠区域的去重用体素滤波就能搞定,实现起来也不复杂。 两个雷达的安装间距 这个很多人不注意。两个雷达之间的距离会影响什么? 抗串扰。 M360 有主动抗串扰设计,但如果两个雷达离得太近(<20cm),激光束之间的交叉角太小,抗串扰的效果会打折扣。 点云重叠。 两个雷达之间的间距决定了重叠区域的大小。间距越大,重叠区域越大,但点云密度也更不均匀(重叠区密、非重叠区疏)。 我们的建议是:如果车身允许,两个雷达的间距保持在 60~100cm。这个间距下抗串扰效果最好,重叠区域的点云密度也比较合理(不会太密也不会太稀)。 如果车身太小(<80cm),间距不够,可以降低一个雷达的扫描频率来减少串扰。比如车头雷达全速运行,车尾雷达降到一半频率。牺牲一点帧率换更好的抗串扰效果。 什么时候需要三个或更多 大部分项目两个雷达就够了。需要三个或更多的情况一般是: 车身很大 ——长轴距的重型 AGV,车头车尾各一个,中间再加一个填补侧面盲区。 需要全方位近距离感知 ——比如在密集货架区穿行的仓储机器人,需要 360° 方向都能在 10cm 内检测到障碍物。 四足机器人/人形机器人 ——机身姿态变化大,需要多方向补偿。 三个以上雷达的融合复杂度明显增加。不只是点云拼接的问题,还有计算资源的分配——每个雷达的驱动节点、点云预处理、SLAM 实例都需要 CPU 和内存。 我们测过四个 M360 同时运行在 Jetson AGX Orin 上(FAST-LIO2 × 4),CPU 占用率大概 85%,内存 8GB。能用,但余量不多了。如果再加其他算法(目标检测、路径规划等),可能会不够用。 两个雷达的方案对算力的要求就低很多。在 Jetson Orin Nano 上跑两个 FAST-LIO2,CPU 占用率大概 40%,还有余量跑其他算法。 成本和收益 最后一个问题是值不值。一个 M360 的价格不便宜,多加一个就是多一份成本。 但算一笔账:如果因为车尾盲区导致一次碰撞,维修成本(雷达支架变形、车漆刮伤、停工损失)远超一个雷达的价格。对于商业化的产品来说,可靠性比成本更重要。 不过也要看场景。如果是在开阔的室外场景低速行驶,碰撞风险低,一个雷达够用。如果是在密集的室内环境高速行驶,两个雷达的安全余量值得投资。 以上基于实际项目测试,M360 参数以坦途智行官方为准。