三、编队飞行基础:编队概念、编队队形与坐标系转换

编队飞行是无人机集群作战与协同任务的核心技术形态,其本质是让多架无人机在空间上保持既定几何关系,并在时间维度上同步执行机动。无论是物流配送中的多机协同、农业植保的并行作业,还是军事侦察的分布式压制,编队飞行的底层逻辑都依赖于三个基本支柱:编队概念(定义“谁跟谁、保持什么关系”)、队形设计(定义“空间上如何排列”)以及坐标系转换(定义“如何用数学语言描述这种关系”)。本章将系统拆解这三个支柱,并重点剖析领航-跟随系下的坐标转换方法,为后续的编队控制律设计与避障策略打下坚实的数学与物理基础。

编队飞行坐标系与队形关系总览 惯性坐标系 (E系) 原点:地面固定点 X_E→北,Y_E→东,Z_E→地 用于位置与航迹规划 机体坐标系 (B系) 原点:无人机质心 X_B→机头,Y_B→右翼,Z_B→下 用于姿态解算与加速度计 领航-跟随系 (L系) 原点:领航机质心 X_L→领航机头,Y_L→右翼 用于编队相对位置保持 旋转矩阵 R_EB 相对位置 + R_BL 一字队形 横向间隔 d=5m 三角队形(V形) L 前机与后机夹角 60° 菱形队形 L 前后间距 8m,左右间距 6m 坐标转换流程(以跟随机F为例) 1. 获取领航机状态 (位置、姿态、速度) 2. 计算期望相对位置 (在L系中定义) 3. 转换到惯性系 P_E = P_L + R_EL * d 4. 生成控制指令 位置环+速度环+姿态环

3.1 编队飞行的核心概念与任务分类

核心原理:编队飞行(Formation Flight)是指两架或以上无人机按照预设的几何约束,在飞行过程中保持相对位置与姿态稳定的协同运动模式。其数学本质是求解一个带约束的最优控制问题:在满足动力学模型、执行器饱和、通信时延和避碰安全边界的前提下,使每架飞机的实际状态向量(位置、速度、姿态)与期望状态向量的误差最小化。编队概念中最重要的三个要素是:编队参考点(通常取领航机或虚拟几何中心)、编队队形向量(描述各机相对参考点的期望偏移)以及编队刚性(队形在机动过程中保持不变的严格程度)。

判断方法:在实际工程中,我们通常根据任务需求将编队分为三类:刚性编队(要求队形严格不变,适用于精密编队表演或雷达阵列)、柔性编队(允许队形在一定范围内伸缩,适用于避障或穿越狭窄区域)以及可变编队(根据任务阶段动态切换队形,如从一字形切换为菱形以增强防御)。判断采用何种编队模式,主要依据三个指标:任务对空间覆盖的要求、机间通信带宽与可靠性、以及单机自主能力等级。

编队类型刚性要求典型应用控制复杂度通信依赖
刚性编队高(误差<0.1m)编队表演、SAR成像高(需全状态反馈)高(10Hz以上)
柔性编队中(误差<1m)物流配送、协同搜索中(位置环为主)中(5-10Hz)
可变编队低(切换时允许瞬态误差)突防、动态避障高(需模式切换逻辑)中(事件触发)
经验提醒:在课程实训中,初学者往往过度关注队形保持精度,而忽略了编队切换时的瞬态过程。建议在PX4或ArduPilot仿真环境中,先使用“虚拟领航机”模式(即领航机为数学点而非真实飞机)进行编队逻辑验证,待稳定后再切换为真实领航机,可大幅降低调试风险。

3.2 典型编队队形:几何定义与适用场景

核心原理:队形设计的本质是在空间上分配每架无人机的期望位置,其数学表达为队形向量集合 D = {d_1, d_2, ..., d_n},其中 d_i = [Δx_i, Δy_i, Δz_i]^T 表示第 i 架飞机相对于编队参考点在领航-跟随系中的偏移量。队形设计需综合考虑三个物理约束:气动干扰(前后机距离过近会导致尾流影响,通常要求纵向间距大于 3 倍翼展)、传感器视场(光电吊舱或雷达的探测角度限制)以及通信链路质量(机间距离越远,数据链误码率越高)。

操作流程:选择队形时遵循以下步骤:第一步,明确任务目标(如区域覆盖、目标跟踪、载荷协同);第二步,根据目标确定队形几何参数(间距、角度、高度差);第三步,进行仿真验证(在Gazebo或AirSim中模拟不同风场下的队形保持误差);第四步,实飞测试并调整参数。以三角队形为例,其几何定义为:领航机位于顶点,两架跟随机位于底边两端,与领航机形成 60° 夹角,典型间距为 5-10 米。这种队形的优势在于每架飞机都有清晰的视野,且后机可利用前机的涡流升力(在固定翼中尤为明显)。

案例拆解(菱形队形在协同侦察中的应用):某次城市反恐演练中,4 架小型四旋翼采用菱形队形执行街区侦察任务。初始队形参数:领航机在菱形前端,左右僚机间距 6m,尾机距领航机纵向 8m,飞行高度 50m。任务要求对 200m×200m 区域进行无死角覆盖。执行过程中发现,由于城市峡谷风效应,尾机在穿越两栋高楼之间时出现了 1.5m 的位置偏移,导致与左僚机的最小间距缩小至 2.3m(安全阈值为 3m)。分析判断:风切变导致领航机与尾机之间的气压差变化,使得尾机升力下降。操作步骤:1)将编队控制模式从“刚性”切换为“柔性”,允许纵向间距在 6-10m 内浮动;2)将尾机的垂直速度环增益从 1.2 降低至 0.8,以抑制风扰引起的振荡;3)重新规划航迹,使编队绕开高楼背风区。结果对比:切换后最大位置误差从 1.5m 降至 0.4m,最小间距恢复至 4.1m。复盘经验:在复杂地形中,菱形队形的尾机是最脆弱环节,建议在编队控制器中加入基于风场估计的前馈补偿项。

3.3 编队坐标系体系:惯性系、机体系与领航-跟随系

核心原理:编队飞行涉及三个核心坐标系,它们之间的转换关系是编队控制算法的数学基础。首先是惯性坐标系(Earth-fixed Frame, E系),通常采用北-东-地(NED)结构,原点固定于地面某参考点,用于描述无人机的位置和航迹。其次是机体坐标系(Body Frame, B系),原点位于无人机质心,X轴指向机头,Y轴指向右翼,Z轴指向下方,用于描述姿态角(滚转、俯仰、偏航)和机体速度。最后是领航-跟随系(Leader-Follower Frame, L系),这是一个随领航机运动的动坐标系,原点位于领航机质心,三轴方向与领航机的机体系对齐。L系的引入使得编队队形定义变得直观——我们只需在L系中指定各跟随机的期望偏移量,而无需关心领航机自身的姿态。

转换方法:坐标转换的核心是旋转矩阵与平移向量。从B系到E系的转换使用姿态旋转矩阵 R_EB,该矩阵由欧拉角(滚转φ、俯仰θ、偏航ψ)构成,标准形式为 Z-Y-X 顺序的旋转矩阵乘积。从L系到E系的转换则分为两步:先将L系中的偏移向量 d_L 通过领航机的姿态矩阵 R_EL 旋转到E系方向,再加上领航机在E系中的位置 P_L,即 P_E = P_L + R_EL * d_L。在实际代码实现中,我们通常使用四元数代替欧拉角以避免万向锁问题,转换公式为 P_E = P_L + q_L ⊗ d_L ⊗ q_L*,其中 q_L 为领航机姿态四元数。

// 伪代码:将跟随机期望位置从L系转换到E系
// 输入:领航机位置 leader_pos_E, 领航机姿态四元数 q_leader, 队形偏移 d_L
// 输出:跟随机期望位置 follower_desired_E

// 1. 将偏移向量旋转到E系(四元数旋转)
Vector3f d_E = rotateVectorByQuaternion(d_L, q_leader);

// 2. 加上领航机位置
Vector3f follower_desired_E = leader_pos_E + d_E;

// 3. 若需进一步转换到跟随机的机体系,则使用跟随机的姿态四元数 q_follower
Vector3f d_B = rotateVectorByQuaternion(follower_desired_E - follower_pos_E, conjugate(q_follower));
风险提示:在坐标系转换中,最常见的错误是混淆了“领航机的姿态”与“编队参考系的姿态”。当领航机进行大机动(如急转弯)时,L系会随之快速旋转,导致跟随机的期望位置在E系中产生剧烈变化。若控制周期不够快(低于50Hz),极易引发跟随机的跟踪滞后甚至发散。建议在编队控制器中加入“前馈速度项”,即利用领航机的角速度信息对期望位置变化率进行补偿。

3.4 坐标系转换的工程实现与误差分析

核心原理:在真实的飞控系统中,坐标转换并非简单的数学运算,还涉及传感器噪声、时间同步和通信延迟等工程问题。惯性导航系统(INS)提供的姿态数据通常带有漂移,GPS提供的位置存在米级噪声,而机间通信链路(如Xbee或WiFi)会引入数十毫秒的延迟。因此,工程实现中需要采用扩展卡尔曼滤波器(EKF)或无迹卡尔曼滤波器(UKF)对多源数据进行融合,以得到平滑且一致的坐标系转换结果。

操作流程:在PX4/ArduPilot中实现编队坐标转换的标准流程如下:第一步,通过MAVLink协议以20Hz频率接收领航机的状态数据(位置、速度、四元数);第二步,在本地维护一个领航机状态缓存,利用时间戳进行延迟补偿(通常采用线性插值或零阶保持);第三步,根据当前编队队形参数计算期望位置在L系中的坐标;第四步,调用 attitudeRotation() 函数将期望位置转换到E系;第五步,将E系期望位置输入位置控制器,生成速度与姿态指令。整个流程需要在飞控的 navigator 模块中实现,且必须保证转换计算耗时小于 2ms。

误差来源典型量级影响结果补偿策略
GPS定位噪声±0.5m(单点)编队位置抖动RTK差分定位(±2cm)
姿态估计漂移0.1°/min队形缓慢变形磁力计+GPS航向融合
通信延迟20-100ms跟踪滞后Smith预估器或延迟补偿
时间戳不同步1-10ms转换误差累积PTP精确时间同步协议
实战场景(基于MATLAB/Simulink的仿真验证):在开发编队算法时,我们通常先在Simulink中搭建完整的坐标转换模型进行验证。某项目组在仿真中发现,当领航机以 30°/s 的偏航角速度进行机动时,跟随机的期望位置在E系中的轨迹出现明显的“螺旋形”偏差。分析发现,问题出在四元数旋转的离散化误差上——仿真步长为 10ms,而四元数积分采用一阶欧拉法,导致旋转矩阵的正交性逐渐丧失。解决方案:改用二阶龙格-库塔法进行四元数积分,并将仿真步长缩小至 5ms。修改后,在相同机动条件下,位置误差从 0.8m 降至 0.15m。这一案例说明,坐标转换的数值稳定性与积分算法选择密切相关,在实机部署前必须进行充分的数值仿真验证。

3.5 常见误区与总结复盘

常见误区一:将机体系与领航-跟随系混为一谈。机体系是固连于每架无人机自身的坐标系,其原点随飞机移动且方向随姿态变化;而领航-跟随系是固连于领航机的坐标系,用于描述编队内各机的相对几何关系。在编写编队控制律时,必须明确当前计算是在哪个坐标系下进行的。例如,若在跟随机的机体系中直接使用L系定义的队形偏移量,会导致严重的控制错误。

常见误区二:忽略地球曲率与椭球模型。当编队飞行范围超过 10km 时,将惯性系简化为平面直角坐标系会引入不可忽略的误差。此时应使用WGS-84椭球模型,并将经纬度坐标转换为局部切平面(ENU或NED)坐标。在课程实训中,建议使用 geographiclib 库进行高精度坐标转换。

常见误区三:队形切换时未考虑动力学约束。从一字队形切换为菱形队形时,如果直接给定新的期望位置,跟随机会产生过大的加速度指令,导致电机饱和甚至失速。正确的做法是使用轨迹规划器(如Minimum Snap轨迹)生成平滑的过渡路径,并限制最大加速度与加加速度。

总结复盘:本章的核心知识框架可归纳为“一个概念、两类队形、三个坐标系、四步转换”。一个概念指编队的刚性/柔性分类;两类队形指常见几何队形(一字、三角、菱形)及其参数化方法;三个坐标系指惯性系、机体系、领航-跟随系各自的定义与用途;四步转换指从L系期望位置到E系控制指令的完整链路(获取领航状态→计算L系偏移→旋转到E系→生成控制指令)。在后续章节中,我们将基于本章的坐标转换框架,深入讲解编队控制律的设计与编队避障策略。请务必在仿真环境中反复练习坐标转换的代码实现,这是编队飞行实战的基石。