4. 航迹规划的基本约束与代价函数
航迹规划的本质,是在一个受多重条件限制的空间里寻找"足够好"的飞行路径。约束决定哪些路径根本不可行,代价函数决定在可行路径中哪一条更优。二者缺一不可:只谈约束会得到一堆"能飞但都不好"的解,只谈代价会得到"看起来最优但撞山、超载、失联"的解。本节围绕碰撞、动力学、通信、能耗、时间五类约束,以及多目标代价函数的设计方法展开。
一、硬约束与软约束:先划边界,再谈优劣
工程上通常把约束分为两类。硬约束是不可违反的物理或安全边界,例如最小离地安全高度、最大转弯角速度、禁飞区边界、最小通信链路余量。任何违反硬约束的航迹直接判为不可行,不进入代价比较。软约束则允许在一定范围内折中,例如"希望尽量少耗能""希望尽量贴近预定时间到达",它们更适合以惩罚项或权重项的形式进入代价函数。
这种划分带来一个重要的实现原则:先做可行性筛选,再做代价排序。若把硬约束也写成大权重惩罚项混入代价函数,优化器可能用"轻微撞山"换取"大幅省能",最终给出物理上不可执行的解。因此建议在代价评估前设置一道可行性检查,只有通过检查的候选航迹才计算综合代价。
二、五类基本约束的物理含义与量化方式
碰撞约束要求航迹与地形、障碍物、禁飞区以及其它飞行器保持安全间隔。对静态障碍,常用做法是把障碍物膨胀一个安全半径 r_safe,再要求航迹点满足到障碍中心距离 d ≥ R_obs + r_safe。对动态障碍(如其它无人机),则需在时空四维中判断最近接近距离是否小于安全阈值,即 min_t ‖p_i(t) − p_j(t)‖ ≥ d_safe。
动力学约束来自平台自身能力,主要包括最小/最大速度、最大爬升率、最大转弯角速度、最大过载等。以固定翼为例,转弯半径 R 与速度 v、最大滚转角 φ_max 满足 R ≥ v²/(g·tanφ_max)。这意味着速度越高,可用的最小转弯半径越大,航迹的"拐弯能力"越弱。规划时必须把这类关系显式写入约束,否则会生成几何上漂亮但飞不出来的路径。
通信约束要求飞行器与地面站或中继节点之间保持可接受的链路质量。常用指标是接收信号强度或链路余量,可简化为距离约束 d ≤ d_comm,或更精细地考虑地形遮挡、天线方向图。对多机协同任务,还需保证机间链路连通,即通信拓扑在任务期间保持连通。
能耗约束关注电量或燃料是否足以完成航迹。一个常用的简化能耗模型为:平飞段能耗与速度的立方近似成正比,爬升段额外增加势能项,悬停或盘旋段按时间消耗。总能耗 E_total 必须小于可用能量 E_avail 并保留返航余量,即 E_total ≤ E_avail − E_reserve。
时间约束来自任务窗口,例如"必须在 T_max 内到达目标"或"在时间窗 [t_early, t_late] 内抵达"。它既限制总航程时间,也可能限制某段航路的到达时刻,与速度约束耦合:缩短时间往往需要提高速度,而提高速度又会增大转弯半径和能耗。
三、多目标代价函数的设计
当多条航迹都满足硬约束后,需要用代价函数排序。典型的多目标代价可写成加权和形式:
J = w_len · L/L_ref
+ w_risk · Risk
+ w_energy · E/E_ref
+ w_time · max(0, T − T_max)/T_ref
+ w_smooth · Σ|Δψ_i|
+ w_comm · Σ max(0, d_comm_min − d_i)/d_ref
其中 L 为航程,Risk 为碰撞或威胁暴露度量,E 为能耗,T 为任务时间,Δψ_i 为相邻航段转角,d_i 为各点到通信节点的距离。各权重 w 反映任务偏好:侦察任务可能更看重 Risk 与通信,物流任务更看重能耗与时间。
权重选取不能拍脑袋。常用做法是先对各分项做归一化(除以参考值 L_ref、E_ref 等),使量纲一致;再通过层次分析或简单的敏感性试验确定权重。若某分项权重过大,优化会退化为单目标;若过小,则该约束形同虚设。建议在调试时固定其它权重,单独扫描某一权重,观察最优航迹形态如何变化,从而判断权重是否合理。
四、约束与代价的耦合关系
五类约束并非彼此独立。提高速度可以压缩时间,但会增大转弯半径(动力学)和能耗(能耗约束);贴近地形飞行可以缩短航程、降低被发现概率,却压缩了碰撞安全余量并可能遮挡通信。因此规划器实际上是在一个多维可行域内寻找折中点。下图给出这五类约束如何共同作用于候选航迹,并最终进入代价评估的关系。
五、一个可复算的示例
设某小型固定翼无人机执行 8 km 直线侦察任务,巡航速度 18 m/s,最大滚转角 35°,可用能量 120 Wh,返航余量 20 Wh,任务时间上限 600 s。取 g = 9.8 m/s²。
先算动力学边界:R_min = v²/(g·tan35°) = 324/(9.8×0.700) ≈ 47.2 m。若航路中某转弯半径小于该值,则该航迹不可行。
再算时间:直线 8000 m / 18 m/s ≈ 444 s,小于 600 s,时间约束满足。若加入绕行使航程增至 9.5 km,则时间约 528 s,仍在窗口内,但能耗上升。
能耗按简化模型估算:平飞功率约 90 W,则 444 s 耗能约 11.1 Wh,远小于 100 Wh 可用量,能耗约束宽松。此时若把权重 w_energy 设得很大,优化器会倾向于进一步降速省能,但降速可能逼近最小速度约束,反而使航迹可行性变差。这说明权重设置必须与约束边界一起考虑。
六、设计检查清单
- 硬约束是否全部显式建模,并在代价计算前完成可行性筛选?
- 动力学约束是否与速度耦合(转弯半径、爬升率)?
- 通信约束是否考虑了地形遮挡与拓扑连通,而非仅看距离?
- 能耗是否包含返航余量,速度对能耗的非线性是否体现?
- 时间约束是否与速度、航程、转弯半径一致?
- 各代价分项是否归一化,权重是否经过敏感性验证?
- 是否存在"用违反硬约束换取低代价"的漏洞?
把约束与代价分开处理,是航迹规划器稳定工作的基础。约束定义"能不能飞",代价定义"哪条更好飞"。只有两者都清晰、可量化、可调试,后续的动态重规划才有可靠的评判依据。