Nav2 生产落地案例
五、生产落地案例
案例一:仓储搬运 AGV 的导航上线
背景:仓库通道宽 1.6 米,AGV 车宽 0.8 米,两侧货架有突出的横梁,地面有反光条。初始参数直接用仿真里调好的一套,真机上频频卡死。
怎么做:先按真实几何把 robot_radius 与外接尺寸对齐,把雷达安装高度降低到能扫到横梁的位置;把膨胀半径收到刚好能让车通过通道的临界值,靠代价梯度而不是靠大半径来避免贴边;把进度检查的时间和位移阈值放宽,避免在窄通道里正常微调被误判为卡住;恢复行为改成「先清代价地图,再旋转,再等待」。
关键配置:inflation_radius 与 cost_scaling_factor 联合调;局部代价地图尺寸覆盖一个车长以上;控制频率与底盘实际能接受的指令频率对齐。
效果:卡死次数大幅下降,窄通道通过率明显提高。
坑与解决:一是雷达装得太高,扫不到货架横梁,代价地图上看通道是空的,实际会撞;降低安装高度后解决。二是反光条导致激光测距偶尔跳到很远的假值,局部代价地图上生成「幽灵障碍」,加了一帧滤波并在恢复行为里加入清代价地图才稳定。三是 AMCL 的初始位姿靠人工设定,操作员随手一点就偏半米,改成从上一次停机位姿自动初始化。
案例二:动态人流环境下的通行优化
背景:医院配送机器人要在走廊里与行人共存,原本用保守参数,遇到人就走走停停,体验差。
怎么做:把局部控制器换成对动态障碍反应更好的采样型控制器,提高重规划频率,把恢复行为里的原地旋转改成短距离后退再重规划;引入速度平滑限制加速度,避免急停导致液体洒出。
关键配置:重规划频率提高到控制器频率的一个合理比例;速度与加速度限值按载荷安全要求设定;目标容差适度放宽以减少到达终点时的反复调整。
效果:通行更连贯,急停次数明显减少。
坑与解决:一开始只提高速度上限,结果遇到突然横穿的行人来不及减速,安全距离不足;正确的做法是先固定安全速度上限,再用重规划频率和避障半径去换流畅度。另外恢复行为里的后退动作要限制距离并检查后方,否则会撞到身后的行人。
