课程导入:航迹规划的定义、发展历程、应用领域与学习路径

航迹规划(Trajectory Planning / Path Planning)是智能体(无人机、机器人、自动驾驶车辆等)在给定环境中,从起始状态到达目标状态,同时满足运动学约束、动力学约束、安全避障要求与任务性能指标(如时间最短、能耗最低、路径最平滑)的决策过程。它不仅是导航系统的核心大脑,更是衡量智能体自主化水平的关键标尺。本章作为全课程的起点,将系统梳理航迹规划的定义内涵、技术演进脉络、典型应用场景,并给出贯穿30章内容的学习路径与能力目标,帮助学习者建立全局认知框架。

航迹规划知识体系全景图 航迹规划核心定义 状态空间 + 约束 + 目标函数 环境感知 地图构建 / 障碍检测 运动体状态 位置 / 速度 / 姿态 / 动力学 任务目标 航点 / 区域覆盖 / 追踪 核心算法层 图搜索(A* / Dijkstra) | 采样(RRT / PRM) 优化(MPC / 贝塞尔) | 学习(RL / IL) 输出:可执行轨迹 时间戳 + 位置 + 速度 + 加速度 + 航向 无人机巡检 电力 / 农业 / 测绘 自动驾驶 城市道路 / 高速 / 泊车 移动机器人 仓储 / 服务 / 救援 工业机械臂 焊接 / 装配 / 分拣 图1-1 航迹规划知识体系:输入约束 → 核心算法 → 输出轨迹 → 应用场景

1.1 航迹规划的定义与核心要素

航迹规划在学术与工程实践中常被细分为两个层次:路径规划(Path Planning)与轨迹规划(Trajectory Planning)。路径规划解决的是"从A点到B点走哪条路"的几何问题,输出是一条无碰撞的路径曲线,通常只包含空间位置信息;而轨迹规划在此基础上增加了时间维度,为路径上的每个点赋予期望速度、加速度甚至姿态角,输出的是"何时到达何处、以何种速度运动"的完整运动描述。在无人机航拍、自动驾驶变道、机械臂抓取等实际任务中,真正下发到执行器的是轨迹而非单纯路径,因此本课程将两者统一纳入"航迹规划"范畴,强调从几何路径到时间参数化的完整链路。

一个完整的航迹规划问题由四个核心要素构成:状态空间、约束条件、目标函数与求解算法。状态空间描述了智能体可能处于的所有位置与姿态组合,例如四旋翼无人机的状态可表示为(x, y, z, φ, θ, ψ)六维向量;约束条件包括环境障碍约束(不可穿越区域)、运动学约束(最小转弯半径、最大爬升角)、动力学约束(最大加速度、电机推力极限)以及任务约束(禁飞区、时间窗口);目标函数则量化了轨迹的优劣程度,常见指标有路径长度、飞行时间、能量消耗、平滑度、安全裕度等。求解算法是在上述框架下寻找满足约束且使目标函数最优(或次优)的轨迹的计算方法。

关键认知:航迹规划不是一次性的离线计算,而是一个"感知-规划-控制"闭环中的动态决策过程。环境变化(如突然出现的障碍物)、自身状态偏差(如风扰导致的位置偏移)都要求规划器具备实时重规划能力。因此,本课程不仅讲授静态环境下的经典算法,更强调动态环境下的在线重规划策略与容错机制。

1.2 航迹规划的发展历程:从几何搜索到智能决策

航迹规划的技术演进与机器人学、计算机科学和控制理论的发展紧密交织,大致可分为四个阶段:

阶段 时间跨度 代表方法 核心特征 典型应用
萌芽期 1960s-1980s 可视图法、栅格法、人工势场法 基于几何空间搜索,计算简单但易陷入局部最优 早期工业机械臂避障
发展期 1990s-2000s A*、Dijkstra、RRT、PRM 引入启发式搜索与随机采样,处理高维空间能力提升 移动机器人导航、无人机航点规划
成熟期 2010s-2018 RRT*、A*-JPS、时间弹性带(TEB)、模型预测控制(MPC) 兼顾最优性与实时性,支持动态避障与轨迹优化 自动驾驶局部规划、无人机编队
智能期 2019-至今 深度强化学习(DRL)、模仿学习、端到端规划 数据驱动,适应复杂未知环境,但可解释性与安全性仍需验证 城市自动驾驶、集群无人机协同

值得关注的是,经典算法并未过时。在实际工程中,A* 或 RRT 常被用作全局规划器生成参考路径,而 MPC 或 TEB 作为局部规划器负责平滑跟踪与动态避障。这种"全局-局部"分层架构至今仍是工业界的主流方案。例如,在百度 Apollo 自动驾驶框架中,全局路径由基于高精地图的搜索算法生成,而局部轨迹则由基于二次规划的优化器实时求解。

1.3 典型应用领域与场景化需求

航迹规划的应用场景决定了其技术选型与实现难度。以下从四个代表性领域展开分析:

1.3.1 无人机(UAV)

无人机航迹规划面临三维空间、动态风场、续航限制三大挑战。在电力巡检场景中,无人机需沿输电线路飞行,既要保持安全距离(通常为5-10米),又要避开铁塔、树木等障碍,同时考虑电池电量约束,规划算法需在起飞前完成全局路径预规划,并在飞行中根据实时风速进行局部修正。在测绘任务中,则需规划覆盖整个区域的扫描路径,通常采用"牛耕式"或"螺旋式"航迹,并保证相邻航带的重叠率(一般要求30%-50%)。

1.3.2 自动驾驶车辆

自动驾驶对航迹规划的实时性要求最为严苛——在60km/h车速下,车辆每秒前进约16.7米,规划周期必须控制在100ms以内。其规划系统通常分为三层:路由规划(全局,基于道路网络)、行为规划(决策,如变道、超车、让行)、运动规划(局部,生成平滑轨迹)。运动规划需满足车辆运动学模型(如阿克曼转向模型),并考虑乘坐舒适性(横向加速度一般不超过2m/s²)。

1.3.3 移动机器人(仓储/服务)

仓储机器人(AGV)在密集货架环境中运行,路径规划需解决多机器人协同避碰问题。以亚马逊Kiva机器人为例,其调度系统将路径规划与任务分配联合优化,通过交通管制策略(如单向通道、交叉口优先级)避免死锁。服务机器人(如酒店配送)则更关注动态行人避让,常采用社会力模型或基于学习的轨迹预测来预判行人运动。

1.3.4 工业机械臂

机械臂规划在关节空间进行,维度通常为6-7维,且需满足关节角度限位、速度与力矩约束。在焊接、喷涂等连续作业中,轨迹平滑性直接影响加工质量,因此常采用多项式插值或B样条曲线生成平滑轨迹。此外,机械臂还需考虑奇异点规避与碰撞检测的实时性。

学习建议:初学者不必一开始就追求掌握所有领域的专用算法。建议先以二维移动机器人为切入点,掌握A*、RRT等基础算法,再逐步扩展到三维无人机与高维机械臂场景。算法原理是相通的,区别主要在于状态空间维度与约束建模方式。

1.4 课程学习路径与目标

本课程共30章,按照"基础理论→核心算法→工程实践→前沿拓展"四个阶段递进设计,确保学习者从零基础成长为具备独立规划能力的工程师。

阶段一:基础理论(第1-6章)

涵盖坐标系与变换、环境建模(栅格地图、八叉树、拓扑地图)、运动学与动力学约束建模、碰撞检测原理。此阶段目标是建立统一的数学描述框架,使学习者能够将实际规划问题转化为算法可处理的形式化表达。

阶段二:核心算法(第7-18章)

系统讲解四大类算法:图搜索类(Dijkstra、A*、D* Lite、JPS)、采样类(PRM、RRT、RRT*、Informed RRT*)、优化类(贝塞尔曲线、B样条、MPC、最小快照法)、智能类(遗传算法、蚁群算法、深度强化学习)。每类算法均配以代码实现与仿真实验,强调算法适用边界与参数调优方法。

阶段三:工程实践(第19-26章)

聚焦真实系统集成:ROS导航框架、PX4无人机规划栈、Apollo自动驾驶规划模块、多机协同规划、动态环境重规划、规划系统评估与调试。此阶段将引入大量真实日志与故障案例,训练学习者排查与优化能力。

阶段四:前沿拓展(第27-30章)

探讨学习型规划器、语义地图与规划融合、集群智能规划、规划安全性与伦理问题。帮助学习者把握技术趋势,为科研或高级工程岗位做准备。

1.5 常见误区与学习复盘

根据多年教学与工程经验,初学者在航迹规划学习中容易陷入以下误区:

  • 误区一:只调库不看原理。直接调用ROS的navfn或OMPL库虽然能快速跑通demo,但遇到参数失效或环境变化时往往无从下手。建议至少手写一遍A*和RRT的完整实现,理解数据结构与算法流程。
  • 误区二:忽视约束建模。很多学习者将规划问题简化为纯几何问题,忽略运动学约束,导致规划出的路径在物理上不可执行。例如,无人机规划出90°急转弯路径,但实际最小转弯半径远大于此。
  • 误区三:过度追求最优性。在动态环境中,花2秒计算一条最优路径,不如花50ms计算一条可行路径。实时性往往比最优性更重要,RRT*虽然渐进最优,但在高维空间中收敛极慢。
  • 误区四:忽略仿真与实物的差距。仿真中完美的轨迹,在实机上可能因模型误差、通信延迟、执行器饱和而失效。课程将在工程实践阶段专门讲解鲁棒性设计方法。
风险提示:航迹规划算法的安全性验证至关重要。在实机测试前,务必在仿真环境中进行蒙特卡洛随机测试(至少1000次),覆盖各种边界条件(如GPS丢失、突然出现的障碍物、极端风速)。任何未经充分验证的规划算法都不应直接部署到真实系统上。