全书导览与核心数学基础 | Book Overview and Core Mathematical Foundations
机器人自主导航(Robot Autonomous Navigation)是机器人实现未知环境自主探索、任务执行与人机协同的核心基础能力,其技术体系涵盖从传感器原始数据到最终运动执行的完整 pipeline,核心目标是在动态未知环境中实现机器人位姿的精准估计、环境地图的增量构建、无碰撞路径的实时规划以及运动指令的精准跟踪。本章作为全书的开篇,首先梳理导航系统的整体技术架构与模块关联,随后系统回顾后续章节所需的核心数学工具及其在导航领域的典型应用,最后介绍配套学习资源,帮助读者快速建立全局认知并进入深度学习状态。
---
1.1 机器人导航系统的整体技术架构
1.1.1 五大核心模块的定义与边界
当前业界主流的机器人自主导航系统普遍采用分层解耦的模块化架构,从下到上依次分为传感器层、感知模块(Perception Module)、建图模块(Mapping Module)、定位模块(Localization Module)、规划模块(Planning Module)与控制模块(Control Module),各模块的职责边界清晰,通过标准化接口传递数据,同时存在紧密的耦合关系。
- **感知模块**:作为导航系统的“眼睛”,负责从原始传感器数据中提取结构化环境信息,核心任务包括2D/3D目标检测、点云分割、语义识别、动态障碍物检测与跟踪等。其输入为激光雷达、摄像头、IMU、毫米波雷达等传感器的原始数据,输出为带类别标签的障碍物列表、可通行区域掩码、语义地标特征等结构化信息。例如在自动驾驶场景中,感知模块需要从摄像头图像中检测出车辆、行人、交通标识,从激光点云中分割出静态障碍物与动态车辆,为后续建图与规划提供输入。
- **建图模块**:作为导航系统的“记忆”,负责将多帧传感器数据融合为全局一致的环境表示,核心任务包括环境几何结构重建、语义信息标注、动态物体过滤等。根据地图的表示形式可分为栅格地图(Occupancy Grid Map)、拓扑地图(Topological Map)、点云地图(Point Cloud Map)、语义地图(Semantic Map)等类型。例如仓储机器人通常使用2D栅格地图表示地面可通行区域,自动驾驶系统使用3D点云地图表示道路几何结构,服务机器人使用语义地图标注房间功能、门的位置等信息。
- **定位模块**:作为导航系统的“方向感”,负责估计机器人自身在地图中的实时位姿(包括位置与姿态),核心任务包括基于滤波的定位、基于图优化的定位、多传感器融合定位等。其输入为建图模块输出的全局地图、传感器的实时观测数据以及运动模型的预测值,输出为带不确定性的机器人6自由度位姿估计。例如自动驾驶车辆在隧道中GNSS信号丢失时,定位模块需要融合IMU预积分、激光点云配准、视觉特征匹配的结果,实现厘米级的连续定位。
- **规划模块**:作为导航系统的“大脑”,负责根据任务目标与实时环境信息生成无碰撞的运动指令,分为全局路径规划(Global Path Planning)与局部轨迹规划(Local Trajectory Planning)两层。全局规划基于全局地图生成从起点到目标点的最优路径,通常采用A*、Dijkstra等图搜索算法;局部规划基于实时感知结果生成满足动力学约束、避障要求的最优轨迹,通常采用动态窗口法(DWA)、EM Planner、Lattice Planner等算法。
- **控制模块**:作为导航系统的“四肢”,负责将规划模块输出的轨迹指令转换为执行机构的控制信号,同时跟踪轨迹误差、补偿外部扰动,核心任务包括运动跟踪控制、避障应急控制等。常用控制算法包括PID控制、模型预测控制(MPC)、反馈线性化控制等。例如轮式机器人通过控制左右轮的转速差实现轨迹跟踪,无人机通过控制四个旋翼的转速实现位姿跟踪。
1.1.2 模块间的数据流与耦合关系
五大模块并非独立运行,而是通过双向数据流形成紧密耦合的闭环系统。以自动驾驶车辆在城市场景的运行为例,数据流的具体路径为:传感器层采集原始数据后,一方面输入感知模块检测障碍物与语义特征,另一方面输入定位模块作为观测值;感知模块输出的动态障碍物列表输入建图模块,用于过滤动态点云、更新静态地图;建图模块输出的全局地图输入定位模块作为参考,同时输入规划模块作为路径搜索的输入;定位模块输出的实时位姿输入规划模块,用于将全局路径转换为机器人当前位姿下的局部轨迹;规划模块输出的轨迹指令输入控制模块,转换为油门、刹车、转向等控制信号,驱动执行机构运动;执行机构的运动状态又反馈给IMU与轮式里程计,为定位模块提供运动模型预测值,形成完整的闭环。
这种耦合关系意味着单个模块的误差会沿数据流向上游或下游传导,最终影响整个导航系统的性能。例如感知模块的漏检会导致建图模块将动态障碍物误判为静态障碍物,进而导致定位模块的位姿估计出现偏差,最终使规划模块生成的路径与真实障碍物碰撞;而建图模块的漂移会导致定位模块的基准地图出现误差,即使感知与规划模块完全准确,机器人仍然会出现定位偏移甚至碰撞。这种误差传导特性是导航系统设计与调试的核心难点,也是本书后续章节重点分析的内容。
1.1.3 不同场景的架构差异
针对不同的机器人平台与应用场景,导航系统的架构存在显著差异:
- **服务/仓储机器人**:通常采用2D激光雷达作为主传感器,建图模块输出2D栅格地图,定位模块采用基于滤波的定位算法(如EKF、粒子滤波),规划模块采用全局A*+局部DWA的架构,控制模块采用简单的PID控制,整体架构轻量,适合低算力嵌入式平台部署。
- **自动驾驶乘用车**:采用多传感器融合架构,主传感器包括激光雷达、摄像头、毫米波雷达、GNSS/IMU组合导航模块,建图模块输出高精度3D语义点云地图,定位模块采用基于图优化的融合定位算法,规划模块采用分层规划架构(全局路由规划+局部轨迹规划+行为规划),控制模块采用MPC等先进控制算法,对实时性与精度要求极高。
- **无人机/水下机器人**:通常采用6自由度位姿表示,建图模块输出3D体素地图或点云地图,定位模块需要考虑重力、流体扰动等特殊运动模型,规划模块需要考虑3D空间的避障与动力学约束,控制模块需要实现6自由度的位姿跟踪。
```mermaid graph TD A[传感器层<br/>Sensor Layer<br/>(激光雷达/摄像头/IMU/GNSS)] --> B[感知模块<br/>Perception Module<br