1. 课程导入与航迹规划问题界定

无人系统动态航迹规划与重规划,研究的是这样一类问题:当无人机、无人车、无人艇等平台在真实环境中执行任务时,如何为它计算出一条从起点到目标的可飞(可行)路径,并在环境、任务或平台状态发生变化时,及时修正这条路径,使任务仍能安全、经济地完成。这里有两个关键词需要先界定清楚。

第一个关键词是航迹。航迹与"路径"并不完全等同。路径通常只描述几何上的位置序列,而航迹在几何之外还带有时间维度与运动学约束:平台在什么时刻到达哪个位置、以什么速度与航向通过、转弯半径是否满足、爬升率是否超限。因此航迹规划的输出往往是一条带时间戳的状态序列,例如 (x, y, z, t, v, ψ),其中 ψ 为航向角。第二个关键词是动态。动态包含两层含义:一是环境动态,如新出现的禁飞区、移动障碍、突发的风场变化;二是任务动态,如目标点变更、新增侦察区域、平台故障导致性能下降。正是"动态"把一次性的离线规划问题,变成了贯穿任务全程的"规划—执行—感知—重规划"闭环。

为了把问题讲清楚,需要先明确几个核心要素。它们共同决定了一条航迹是否"可用"。

  • 构型空间与状态量:平台的位置、姿态、速度构成状态空间。二维平面问题常用 (x, y, ψ),三维问题扩展到 (x, y, z, ψ, θ),其中 θ 为俯仰角。
  • 约束条件:分为硬约束与软约束。硬约束包括最小转弯半径 Rmin、最大爬升角、最小离地/离障安全距离 dsafe、禁飞区不可穿越;软约束包括油耗、暴露风险、航程平滑度。
  • 代价函数:把"好航迹"量化。常见形式为 J = w₁·L + w₂·E + w₃·Risk + w₄·T,其中 L 为航程、E 为能耗、Risk 为威胁暴露、T 为时间,w 为权重。
  • 环境模型:栅格地图、八叉树、可视图、Voronoi 图等,决定搜索效率与精度。
  • 规划器与重规划触发:前者是算法本体,后者决定"何时该重算"。

下面这张图把上述要素组织成一条从任务输入到航迹输出的关系结构,并标出重规划的反馈回路,便于建立整体认识。

动态航迹规划核心要素与重规划闭环 任务输入 起点 / 目标 / 时限 环境模型 栅格 / 障碍 / 威胁 约束与代价 R_min / d_safe J = w₁L+w₂E+w₃Risk 航迹规划器 A* / RRT* / 优化法 搜索 + 平滑 + 校验 输出带时间戳状态序列 可行航迹 (x,y,z,t,v,ψ) 满足硬约束 代价 J 可比较 执行与感知 跟踪航迹 / 探测变化 偏差与事件检测 重规划触发 新障碍 / 目标变更 偏差超阈值 / 故障 输出 事件反馈 重算

从图中可以看到,规划器并不是孤立工作的:它同时接收任务输入、环境模型和约束代价三类信息,输出可行航迹;航迹在执行中被跟踪,一旦感知到环境或任务变化,就通过重规划触发环节把新信息送回规划器,形成闭环。理解这条闭环,是理解本课程全部内容的主线。

接下来看典型任务场景。不同场景对规划的要求差异很大,这决定了算法选型。第一类是静态已知环境下的离线规划,例如测绘无人机按预设区域生成覆盖航迹,环境事先已知,重点是覆盖率与航程优化。第二类是部分未知环境下的在线规划,例如室内巡检无人机,边飞边建图,需要滚动时域重规划。第三类是强动态对抗环境,例如多机协同避障或穿越移动威胁区,要求重规划周期在百毫秒级。第四类是任务突变场景,例如搜救中临时发现新目标点,需要在保持安全的前提下快速改航。可以用一个简单对照来区分它们的侧重。

场景环境已知度重规划频率首要指标
离线覆盖测绘完全已知无 / 极低覆盖率、航程
室内在线巡检部分未知秒级安全性、平滑度
动态对抗避障动态变化百毫秒级避障成功率
任务突变改航已知但任务变事件触发响应时间、代价

为了让学习有明确抓手,这里给出一个贯穿课程的教学示例,后续章节会反复用到它。设一架四旋翼在 100 m × 100 m 的平面区域内飞行,起点 S = (5, 5),目标 G = (95, 95),单位 m。平台最小转弯半径 Rmin = 3 m,安全距离 dsafe = 2 m。环境中存在一个矩形禁飞区,范围 x ∈ [40, 60]、y ∈ [40, 60]。代价函数取 J = 1.0·L + 0.5·Risk,其中 L 为航程(m),Risk 为航迹进入威胁缓冲区(禁飞区外扩 5 m)的长度(m)。这是一个规模适中、可以手算校验、又足以体现约束与代价权衡的例子。例如一条从 S 直连 G 的直线航迹长度约为 127.3 m,但它会穿过禁飞区,属于硬约束违反,必须被规划器排除;而绕行航迹虽然 L 增大,却满足全部硬约束,才是可行解。这个对比说明:可行永远优先于最优。

提示:在后续章节中,凡是出现坐标、角度、代价数值,均沿用本节约定——x 轴向东、y 轴向北、航向角 ψ 以 x 轴正方向为 0°、逆时针为正。若某章切换到机体坐标系,会单独说明。

关于课程整体学习路径,可以按"由静到动、由单机到协同、由算法到工程"三条线索展开。第一条线索从静态环境规划入手,掌握构型空间、搜索算法与航迹平滑,建立"约束—代价—可行解"的基本判断力。第二条线索进入动态重规划,学习滚动时域、触发机制、局部修复与全局重算的取舍,理解实时性约束下如何保证安全。第三条线索面向工程落地,涉及多机协同、通信受限、算力受限条件下的实现与验证。三条线索并非彼此独立,而是层层叠加:没有静态规划的基础,动态重规划就无从谈起;没有重规划能力,多机协同在真实环境中难以成立。

工程实践目标可以概括为四点。其一,能针对给定场景正确建立环境模型与约束模型,而不是拿到问题就直接套算法。其二,能实现或调用至少一种规划算法,并说清其输入、输出与复杂度特征。其三,能设计合理的重规划触发条件,并用仿真或实验数据说明触发是否及时、是否频繁抖动。其四,能对规划结果给出可验证的评价,例如航程、耗时、最小安全距离、重规划次数与任务成功率,而不是仅凭"看起来能飞"下结论。

常见误区:把"规划出一条路径"当成终点。真实系统中,规划只是闭环中的一环,若忽略执行偏差、感知延迟与重规划触发,再漂亮的航迹也无法安全落地。本课程后续会反复回到这一点。

最后需要强调问题界定的边界。本课程讨论的航迹规划,默认平台具备基本的底层姿态控制能力,即我们规划的是"往哪飞、怎么飞"的参考航迹,而不是电机转速级的控制指令。同时,我们假设感知系统能提供一定精度与延迟的环境信息,但不会假设信息完美无缺。正是在这种"不完美信息 + 有限算力 + 动态变化"的条件下,动态航迹规划才成为一个既有理论深度、又有工程价值的问题。带着这个界定进入后续学习,会更容易看清每一种算法究竟在解决哪一部分困难。