
室内导航系统 12:一套可以直接立项的参考架构、实施顺序与验收表
前 11 篇把室内导航拆成 ODD、传感器、时间与标定、2D/视觉/3D SLAM、地图表达、定位、Nav2、轮足运动和开源项目。最后需要把它们收成一套可实施方案。
下面给出两种基线:常规轮式室内机器人,以及能够跨越门槛和浅台阶的轮足机器人。
方案 A:轮式室内 AMR / 服务机器人
硬件基线
2D LiDAR:主平面几何与定位
前向 RGB-D/双目:桌面、悬空物、近场三维障碍
IMU:角速度、姿态和短时约束
轮编码器:连续底盘里程计
防撞条/近场距离:独立保护
工控机:x86 或 ARM,16 GB 以上内存起步
独立 MCU/驱动器:底盘控制、watchdog、急停
如果环境包含大量玻璃,增加侧向/后向覆盖和语义标注;如果人流密集,优先改善全向感知,不要只升级 SLAM。
软件基线
ROS 2(选择仍在支持周期内的发行版)
ros2_control / 底盘驱动
robot_localization:轮速 + IMU
slam_toolbox:2D 建图
AMCL 或 slam_toolbox localization:全局定位
Nav2:规划、控制、BT、route、docking
RGB-D/点云 → voxel/costmap layer
Collision Monitor → 底盘
rosbag2 + 指标/事件平台
方案 B:室内轮足机器人
硬件基线
3D LiDAR:几何与 LIO
双目/多目相机:语义、纹理与近场深度
工业 IMU:高频机体状态
关节编码器、轮速、足端/轮端接触
前后近场保护
GPU 边缘计算 + 实时控制计算单元
硬件急停、制动和关节安全限制
软件基线
VIO/LIO + 接触/关节状态融合
全局图定位,发布 map → odom
2D/拓扑全局地图
局部 elevation map + 3D occupancy/ESDF
几何 + 学习型 traversability
Nav2 / route graph 输出走廊与局部目标
locomotion planner 输出机体与接触计划
whole-body controller
独立 safety supervisor
轮足系统必须明确“不支持楼梯”等负能力。没有经过验证的地形在语义层禁行,不能让局部规划器自由尝试。
统一接口
| 接口 | 责任 |
|---|---|
map → odom | 全局定位/SLAM 发布 |
odom → base_link | 连续状态估计发布 |
/odom | 位姿、速度、协方差与时间 |
/scan / points / depth | 原始或校正后的观测 |
/map | 版本化全局占据地图 |
| costmap layers | 动态障碍、3D、禁行与限速 |
/cmd_vel 或轨迹 | 导航到控制桥 |
| safety status | stop/slow/health/原因 |
| localization health | 质量、协方差、数据年龄 |
| navigation result | 结构化失败码与证据 |
所有接口建立频率、最大数据年龄和 frame 契约。健康状态不能只埋在日志里。
计算预算
以周期而不是平均值分配预算:
底盘/全身控制:100—1000 Hz,硬实时或强实时
状态估计:50—200 Hz
安全监控:20—100 Hz,短链路
局部地图:10—30 Hz
局部规划/控制:10—30 Hz
全局规划:按需或 1—5 Hz
语义/大模型:异步,不阻塞安全与基础控制
记录每个节点 P95/P99 延迟、数据年龄、队列和资源。CPU 总利用率低不代表没有实时抖动。
八周实施顺序
第 1 周:ODD 与数据契约
- 测量场地、通道、坡度、玻璃、人流;
- 冻结坐标系、时间、消息和失败码;
- 建立代表性测试路线。
第 2 周:底盘与安全
- 手动控制、急停、watchdog;
- 测量速度、加速度、制动和低速死区;
- 独立碰撞监控跑通。
第 3 周:时间、标定与里程计
- 录制标准 bag;
- 完成内参、外参、轮径/轮距和时间偏置;
- 验证
odom连续性。
第 4 周:建图与地图产品
- 设计采集路线;
- 建立几何图、语义区和版本 manifest;
- 用独立轨迹验收地图。
第 5 周:定位
- 冷启动、被搬动、重复走廊、遮挡;
- 建立定位健康度和重定位状态机。
第 6 周:规划与控制
- 单独调 planner 和 controller;
- 加入真实 footprint、动力学和 costmap;
- 固化正常路径指标。
第 7 周:恢复、路线与任务
- 失败码驱动的 BT;
- 门、电梯、回充、封路与人工接管;
- 多楼层使用拓扑切换地图。
第 8 周:压力测试与灰度
- 人流、玻璃、弱光、网络、CPU 压力;
- 连续 100 次任务;
- 小区域、小速度上线并复盘。
轮足项目在第 5—7 周之间增加高程图、可通行性、模式切换和落足/全身控制专项,不建议压进同一个八周目标。
量化验收表
定位
- 代表路线平移误差:按任务要求设阈值;
- 方向误差;
- 冷启动 P95 时间;
- 被搬动恢复率与恢复时间;
- 错误定位未被系统识别的次数;
- 地图版本切换成功率。
导航
- 到点成功率;
- 位置/角度到点误差;
- 任务 P50/P95 时间;
- 无效重规划和振荡次数;
- 窄门、交叉口、动态封路通过率;
- 回充/停靠成功率。
安全
- 碰撞和严重近失事件为零;
- 最小人距;
- 最大制动距离;
- 传感器超时到停车的时间;
- 安全层触发后错误恢复次数;
- 急停与人工接管有效率。
系统
- 节点 P95/P99 延迟;
- TF 与观测最大数据年龄;
- CPU/GPU/内存/温度;
- 连续运行 8/24/72 小时稳定性;
- 日志能否重放每个失败;
- 旧稳定版本回滚时间。
轮足专项
- 门槛、坡道、浅台阶的分级通过率;
- 打滑与错误接触检测;
- 机体最小间隙;
- 落足失败和恢复;
- 模式切换时间与冲击;
- 满载与低电量下的性能。
上线后的运营闭环
现场数据按事件管理:
失败/接管/安全触发
→ 自动截取前后窗口
→ 失败分类与优先级
→ 离线重放
→ 修复与回归
→ 仿真/真机灰度
→ 地图、参数或软件版本发布
每周看失败簇,而不是只看总体成功率。某个玻璃门、某类人流、某台机器人持续异常,往往比平均数字更早暴露系统问题。
最终选型结论
常规室内轮式机器人优先采用 LiDAR 几何主链、IMU/轮速连续里程计和深度补盲;视觉优先路线在成本、语义和产品外观有明确收益时使用,但保留独立安全感知。
轮足机器人采用 2D/拓扑全局导航与 3D 局部运动规划双层架构,高程、可通行性、机体碰撞和接触计划缺一不可。
不要以“SLAM 能跑”宣布完成。系统只有在定位不确定时会降级、地图能版本化、失败能重放、安全能独立停车、更新能灰度回滚时,才具备落地条件。