移动导航:让机器人从这里安全到达那里
移动导航把定位、地图、全局路径、局部避障和底盘控制组合成持续前进且能够恢复的闭环。
底盘运动约束决定可走的路
差速底盘由左右轮速度控制。设轮半径为 \(r\)、轮距为 \(L\)、左右轮角速度为 \(\omega_R,\omega_L\),机身线速度与角速度为
平面运动学为
机器人不能在保持朝向不变时瞬间横移,这叫非完整约束。全向轮底盘可以横移,狭窄空间灵活,但轮地接触更复杂、越障与能效可能较差。阿克曼底盘类似汽车,转弯半径和倒车规划更重要。规划器必须使用与底盘一致的运动模型,否则会输出几何上可见、物理上跟不住的路径。
一套典型导航系统
全局定位把机器人放到地图坐标系;全局代价地图融合静态地图、禁行区与较慢变化的信息;全局规划器产生到目标的整体路线。局部代价地图使用近期雷达或深度观测表示动态障碍;局部规划器在有限时域内生成速度或轨迹,兼顾跟随全局路线、避障与动力学;底盘控制器把速度命令转成轮速并闭环执行。
地图坐标 map 允许定位校正产生跳变,里程计坐标 odom 保持局部连续但长期漂移,机身坐标 base_link 随机器人运动。常见变换链是 map → odom → base_link:定位系统更新 map → odom,轮式里程计更新 odom → base_link。若职责混乱,局部控制会看到位姿突然跳动。
障碍膨胀要包含机器人足迹与安全余量。代价通常随着离障碍距离减小而上升,使路径不会贴墙。余量太大,门和窄道被封死;太小,定位误差和控制误差会造成擦碰。不同速度下需要的制动距离不同,动态安全余量可以比固定膨胀更合理。
速度、时延与可用停车距离
规划地图中的安全距离只有在机器人来得及停下时才成立。平路上的简化停车距离可写为
\(v\) 是当前速度,\(T_{delay}\) 包含采样、通信、规划与执行器响应时延,\(a_{brake}\) 是保守可用减速度,\(d_{margin}\) 覆盖定位、障碍测量与控制误差。速度翻倍时,制动段按平方增长;湿滑地面、重载和坡道会降低可用减速度。固定膨胀半径很难同时服务低速室内和高速空旷区域,速度相关的风险约束更合理。
紧急制动能力必须在真实负载与地面上测试。厂商给出的电机制动能力无法直接代表轮地不打滑时的整机减速度;急停若让载荷倾倒,也会产生次生风险。导航控制器应监测命令速度与实测减速度,制动性能下降时收紧速度上限。传感器探测距离小于最坏停车距离的速度区间应被禁止。
到达目标也需要终态回读
导航 Action 返回成功前,需要同时满足位置容差、朝向容差、低速度保持时间和定位质量。机器人高速掠过目标点的瞬间距离很小,却没有完成停靠;定位跳变也可能让坐标误差短暂归零。连续保持若干周期可以过滤瞬时命中,最终轮速与制动状态确认机器人已稳定停止。
业务目标往往比一个地图点更丰富。送餐机器人到桌边还要保证托盘朝向用户且不堵通道;充电任务需要充电触点建立、电流出现并持续稳定;电梯任务要确认机器人完整进入轿厢和门可关闭。地图坐标到达只是一层证据,设备或业务终态需要自己的传感器回读。
目标容差太紧时,底盘会在定位噪声中来回微调;太松时,停靠位置影响后续机械臂或充电连接。可以分阶段设置:远距离正常导航,近距离切换低速精定位,进入容差后停止并验证,验证失败再有限次数重试。重试仍失败时报告位置误差、定位协方差和阻挡原因,便于上层选择人工接管或换目标。
多机器人通行与资源占用
两台机器人各自避障可以避免碰撞,却可能在单通道里互相堵住。电梯、自动门、窄道和充电位需要资源级协调:进入前预约,获得租约后通行,退出后释放;超时或机器人失联时由协调器回收。局部避障仍保留作为最后防线,资源许可不能保证通道瞬间无人。
集中调度可以全局优化,网络或中心服务故障时影响范围较大;分布式协商更有韧性,但冲突解决和一致性复杂。无论采用哪种方式,都要定义优先级、饥饿上限、死锁恢复和人工通行规则。机器人在窄道相遇时反复同时后退,是对称策略没有打破平局的典型失败。
局部规划与碰撞时间
动态窗口方法在当前可达速度范围中采样 \((v,\omega)\),向前模拟短轨迹并评分。评分可包含目标方向、路径偏差、障碍距离、速度和旋转。基于优化的方法则在滚动时域内直接求轨迹。两者都要确认机器人在最坏制动条件下能停住。
对运动障碍,只看最小几何距离不够。碰撞时间 TTC 可粗略写为
\(d\) 是沿相对运动方向的间隔,\(v_{rel}>0\) 是接近速度。实际系统需考虑二维形状与预测不确定性。TTC 小时应更快减速;障碍远离时,几何距离很近也不一定危险。
行为与恢复
导航执行是一套状态机或行为树:规划、跟随、到达检查、清理局部地图、原地旋转、后退、重新定位和请求人工。恢复动作必须考虑场景;在人群中盲目后退可能比停住更危险,在狭窄货架里原地旋转可能撞到侧面。
“无进展”应有定量判断,例如一段时间内到目标距离没有减少、速度命令与实际速度长期不一致、局部规划反复无解。恢复次数需要上限,防止机器人永远循环。最终失败要带原因与当前安全状态交给业务系统。
人群中的导航
几何可通行不等于社会可接受。机器人应避免从两人谈话中间穿过、贴近行人背后、快速切过门口,且要让运动意图可预测。社会导航会在代价地图中引入人的朝向、速度、群组和空间偏好,也可用轨迹预测与交互规划。
预测人的运动具有不确定性。过度保守会在繁忙大厅永远走不动,过度乐观会迫使人让路。产品需要确定通行优先级、最大速度、最小距离、等待与请求让行策略,并在目标用户环境中做实测。
工程例子:机器人总在电梯门口左右摇摆
全局路径指向电梯内部,但门正在开合,局部代价地图中的门边缘不断出现和消失;左右绕行候选轮流得分最高,于是速度命令振荡。解决方案包括把乘梯建模为专门行为:在门外等待区停住,通过电梯接口或视觉确认门全开和轿厢到达,再锁定直行走廊进入;超时退出并重试。
若只调局部规划权重,可能在一个电梯上改善,换门宽或人流又失败。电梯是带协议、状态和安全条件的任务,不只是两个动态障碍。