一、为什么需要六旋翼

四旋翼无人机是最常见的多旋翼构型,但它有一个致命缺陷:任何单个电机或螺旋桨失效,飞行器必然失控坠毁。 这不是工程优化问题,而是数学约束问题。

一个四旋翼有 4 个独立旋翼,产生 4 个控制输入(推力 f1,f2,f3,f4f_1, f_2, f_3, f_4),而刚体飞行器在三维空间中有 6 个自由度(位置 x,y,zx, y, z 和姿态 ϕ,θ,ψ\phi, \theta, \psi)。但由于多旋翼的欠驱动特性,4 个旋翼实际可控的自由度只有 4 个(通常为总推力 + 三个力矩),恰好满足悬停和基本机动的必要条件。

四旋翼一旦失去一个电机,控制输入数降到 3,无法独立控制三个力矩轴——飞行器必然失控。这是 Freddi 等[1]严格证明过的结论。

六旋翼有 6 个独立旋翼,产生 6 个控制输入,而悬停和姿态控制只需 4 个虚拟控制量(u1u_1 总推力,u2,u3,u4u_2, u_3, u_4 三轴力矩)。多余的两个自由度就是容错空间——即使某个旋翼完全失效,剩余 5 个旋翼仍可通过控制重分配维持全姿态可控[2]。

这个”多余的自由度”的学名叫控制冗余(Control Redundancy),是多旋翼容错设计的核心。下表给出不同构型的冗余度:

构型 旋翼数 最小控制需求量 冗余自由度 可容忍失效数
四旋翼 4 4(推力+3力矩) 0 0
六旋翼 6 4 2 1~2
八旋翼 8 4 4 2~3
十二旋翼 12 4 8 3+

冗余自由度 > 0 是容错的必要条件,但不是充分条件——还需要失效后剩余旋翼的可达力矩集(Attainable Moment Set, AMS)能覆盖所需力矩方向。

二、六旋翼构型拓扑学

六旋翼有三种主流构型,每种构型的容错能力和飞行效率完全不同。

六旋翼三种主流构型对比

2.1 平面六旋翼(Flat Hex / “X6”)

最常见构型。6 个旋翼均匀分布在半径为 LL 的圆周上,相邻夹角 60°。

旋翼方位角(以机头方向为 0°):

αi=π3i,i=0,1,,5 \alpha_i = \frac{\pi}{3} \cdot i, \quad i = 0, 1, \dots, 5

半交替转向:i=0,2,4i = 0, 2, 4 逆时针旋转(CCW),i=1,3,5i = 1, 3, 5 顺时针旋转(CW)。

混合矩阵(Mixer Matrix)将 6 个旋翼推力映射为 4 个虚拟控制量:

[u1u2u3u4]=[cTcTcTcTcTcTcTLsinα0cTLsinα1cTLsinα5cTLcosα0cTLcosα1cTLcosα5(1)0cQ(1)1cQ(1)5cQ][ω12ω22ω62] \begin{bmatrix} u_1 \\ u_2 \\ u_3 \\ u_4 \end{bmatrix} = \begin{bmatrix} c_T & c_T & c_T & c_T & c_T & c_T \\ c_T L\sin\alpha_0 & c_T L\sin\alpha_1 & \cdots & \cdots & \cdots & c_T L\sin\alpha_5 \\ -c_T L\cos\alpha_0 & -c_T L\cos\alpha_1 & \cdots & \cdots & \cdots & -c_T L\cos\alpha_5 \\ (-1)^{0}c_Q & (-1)^{1}c_Q & \cdots & \cdots & \cdots & (-1)^{5}c_Q \end{bmatrix} \begin{bmatrix} \omega_1^2 \\ \omega_2^2 \\ \vdots \\ \omega_6^2 \end{bmatrix}

其中 cTc_T 为推力系数,cQc_Q 为扭矩系数,LL 为力臂长度,ωi\omega_i 为第 ii 个旋翼的角速度。

平面六旋翼的优点是构型简单、力矩效率高;缺点是旋翼之间气动干扰较大,失效后的可达力矩集在某些方向存在”缺口”。

2.2 共轴六旋翼(Coaxial Hex / “Y6”)

三组共轴对称旋翼,每组上下一对正反转电机,构成 Y 形布局。相邻支臂夹角 120°。

核心优势

  • 桨盘总面积仅是平面六旋翼的 50%(三个支臂 vs 六个支臂),适合空间受限场景
  • 单支臂失效时,力矩扰动比平面构型小——上下旋翼可以独立补偿
  • 悬停效率在无干扰条件下低于平面构型(上下旋翼间的流场耦合损失约 5-15%[3])

混合矩阵差异:每个支臂的上/下旋翼推力可以不同,混合矩阵中需要考虑共轴对力矩臂的不同贡献。上旋翼产生正力矩臂,下旋翼在重心以下时产生负力矩臂。

2.3 Y 型六旋翼(Y-Shape Hex)

六个旋翼排列成 Y 形(不是共轴,而是同一平面上排列成字母 Y)。两个旋翼在机头,两侧各两个。

Y 型构型的最大问题是非对称布局导致俯仰和滚转力矩耦合更复杂。实际上平面六旋翼是受力最均匀、力矩解算最简洁的构型,因此绝大多数商用的 6 轴无人机(DJI S900/S1000、Yuneec H520 等)都采用平面六旋翼。

三、六旋翼刚体动力学

3.1 坐标系定义

  • 世界坐标系 W\mathcal{W}:北-东-地(NED)框架
  • 机体坐标系 B\mathcal{B}:原点在重心,xx 轴朝机头,zz 轴朝下

旋转矩阵 RBWSO(3)R_{\mathcal{B}}^{\mathcal{W}} \in SO(3) 将机体坐标转换到世界坐标。

3.2 牛顿-欧拉方程

平动方程(世界坐标系):

mp¨=mg+RBWi=16Fi m \ddot{\mathbf{p}} = m \mathbf{g} + R_{\mathcal{B}}^{\mathcal{W}} \sum_{i=1}^{6} \mathbf{F}_i

其中 Fi=[0,0,cTωi2]\mathbf{F}_i = [0, 0, -c_T \omega_i^2]^\top 为第 ii 个旋翼在机体坐标系下的推力向量。

转动方程(机体坐标系):

Jω˙=ω×(Jω)+τ \mathbf{J} \dot{\boldsymbol{\omega}} = -\boldsymbol{\omega} \times (\mathbf{J} \boldsymbol{\omega}) + \boldsymbol{\tau}

其中 J=diag(Jx,Jy,Jz)\mathbf{J} = \operatorname{diag}(J_x, J_y, J_z) 为惯量张量(通常忽略非对角线项),ω=[p,q,r]\boldsymbol{\omega} = [p, q, r]^\top 为机体角速度,τ=[τx,τy,τz]\boldsymbol{\tau} = [\tau_x, \tau_y, \tau_z]^\top 为三轴力矩。

3.3 旋翼产生的力和力矩

6 个旋翼产生的总推力:

Ftotal=cTi=16ωi2 F_{\text{total}} = c_T \sum_{i=1}^{6} \omega_i^2

滚转力矩(xx 轴):

τx=cTLi=16(sinαi)ωi2 \tau_x = c_T L \sum_{i=1}^{6} (\sin \alpha_i) \cdot \omega_i^2

俯仰力矩(yy 轴):

τy=cTLi=16(cosαi)ωi2 \tau_y = -c_T L \sum_{i=1}^{6} (\cos \alpha_i) \cdot \omega_i^2

偏航力矩(zz 轴,由旋翼的反扭矩产生):

τz=cQi=16(1)iωi2 \tau_z = c_Q \sum_{i=1}^{6} (-1)^i \cdot \omega_i^2

六旋翼构型中,(1)i(-1)^i 项使相邻旋翼反扭矩自然抵消——所有旋翼转速相同时总偏航力矩为零。

四、控制分配

控制分配(Control Allocation)是多旋翼控制系统中最核心但最容易被忽视的环节。它负责将高层控制器输出的虚拟控制量(总推力 + 三轴力矩)转换为各旋翼的转速指令。

4.1 问题定义

给定虚拟控制向量 ud=[u1,u2,u3,u4]\mathbf{u}_d = [u_1, u_2, u_3, u_4]^\top(目标推力、滚转力矩、俯仰力矩、偏航力矩),求解旋翼转速平方向量 Ω=[ω12,ω22,,ω62]\boldsymbol{\Omega} = [\omega_1^2, \omega_2^2, \dots, \omega_6^2]^\top,使得:

BΩ=ud \mathbf{B} \boldsymbol{\Omega} = \mathbf{u}_d

其中 BR4×6\mathbf{B} \in \mathbb{R}^{4 \times 6} 是六旋翼的控制效率矩阵(前述混合矩阵的 4×6 形式)。

这是一个欠定方程组:4 个方程、6 个未知数,有无穷多解。控制分配的任务就是从无穷多解中选出一个满足约束的最优解。

4.2 伪逆法(Moore-Penrose Pseudoinverse)

最小二范数解:

Ω=Bud=B(BB)1ud \boldsymbol{\Omega}^* = \mathbf{B}^\dagger \mathbf{u}_d = \mathbf{B}^\top (\mathbf{B} \mathbf{B}^\top)^{-1} \mathbf{u}_d

其中 B\mathbf{B}^\daggerB\mathbf{B} 的 Moore-Penrose 伪逆。

伪逆法给出的是能耗最小解(最小化 Ω22\lVert\boldsymbol{\Omega}\rVert_2^2),但存在两个严重缺陷:

  1. 无约束处理能力:无法限制各旋翼转速在 [ωmin2,ωmax2][\omega_{\min}^2, \omega_{\max}^2] 范围内
  2. 无故障感知:某个旋翼失效时,伪逆法仍会给失效旋翼分配指令,导致实际力矩偏差

4.3 约束优化法(Constrained Optimization)

标准形式:

minΩBΩud22s.t.ωmin2Ωiωmax2,i=1,,6 \begin{aligned} \min_{\boldsymbol{\Omega}} \quad & \lVert \mathbf{B} \boldsymbol{\Omega} - \mathbf{u}_d \rVert_2^2 \\ \text{s.t.} \quad & \omega_{\min}^2 \leq \Omega_i \leq \omega_{\max}^2, \quad i = 1, \dots, 6 \end{aligned}

当某个旋翼 jj 失效时,增加约束 Ωj=0\Omega_j = 0,优化器自动将负载分配给其他旋翼。这是故障容错控制分配的数学基础。

由于目标函数是二次的、约束是线性的,这是典型的带约束二次规划(QP),可以高效求解。实际飞控中通常使用加权最小二乘(WLS)或活动集法(Active Set Method)的优化形式,计算时延在微秒级,适合实时控制[4]。

4.4 直接分配法(Direct Allocation)

对于失效场景,可以在 4×54 \times 5 的降维矩阵上直接求伪逆:

  • 失效旋翼的混合矩阵列零化
  • 4×54 \times 5 子矩阵求伪逆
  • 检查解是否在转速范围内

这个方法计算更快,但无法处理”部分失效”(如旋翼转速被限制但未完全停转)。

五、故障容错控制

5.1 故障检测

旋翼失效的检测本质上是通过力矩残差实现的。定义期望力矩与实际力矩的残差:

eτ=udBΩ^ \mathbf{e}_\tau = \mathbf{u}_d - \mathbf{B} \hat{\boldsymbol{\Omega}}

其中 Ω^\hat{\boldsymbol{\Omega}} 是从实际电机转速测量值导出的转速平方估计。

当残差的范数 eτ2\lVert \mathbf{e}_\tau \rVert_2 超过阈值 TfailT_{\text{fail}} 时,触发故障检测:

Fault Detected    eτ2>Tfail \text{Fault Detected} \iff \lVert \mathbf{e}_\tau \rVert_2 > T_{\text{fail}}

检测延迟通常在 20-50 ms 以内,足以在旋翼完全失效前开始重分配[2]。

5.2 控制重分配

检测到故障后,重分配流程:

  1. 隔离故障旋翼:将 B\mathbf{B} 的第 jj 列置零(jj 是失效旋翼编号)
  2. 构造降维矩阵BfaultR4×5\mathbf{B}_{\text{fault}} \in \mathbb{R}^{4 \times 5}
  3. 求解约束 QP:在 55 个健康旋翼上重新分配控制量
  4. 在线更新混合矩阵:飞控 PX4/ArduPilot 中通过参数切换实现

在 PX4 飞控中,控制分配矩阵定义在 mixer_multirotor 模块中,每个构型有独立的 .mix 文件。故障切换通过监控转速残差自动触发备用混合矩阵。

5.3 可达力矩集(Attainable Moment Set, AMS)

可达力矩集是衡量失效后可控性的关键概念。定义为在转速约束下健康旋翼能产生的所有可能的三轴力矩集合

M={τR3:τ=BτΩ,  ωmin2Ωiωmax2} \mathcal{M} = \left\{ \boldsymbol{\tau} \in \mathbb{R}^3 : \boldsymbol{\tau} = \mathbf{B}_\tau \boldsymbol{\Omega}, \; \omega_{\min}^2 \leq \Omega_i \leq \omega_{\max}^2 \right\}

其中 BτR3×n\mathbf{B}_\tau \in \mathbb{R}^{3 \times n} 是力矩子矩阵(去掉推力行)。

AMS 在几何上是 R3\mathbb{R}^3 中的一个凸多面体。失效后剩余旋翼的 AMS 必须包含原点的一个邻域(即全向可产生任意方向的力矩),飞行器才能保持姿态可控。

关键工程事实:平面六旋翼失去一个旋翼后,AMS 在偏航方向通常最大受限。因为偏航力矩依赖于正反旋翼的转速差——少了一个旋翼后,反转力矩的不平衡需要用滚转/俯仰力矩来补偿,导致偏航可控范围缩小 40-60%[5]。

六、在飞行汽车中的应用

六旋翼构型在 eVTOL 和飞行汽车领域有大量实际部署。

小鹏汇天陆地航母

六旋翼+双涵道构型。6 个独立旋翼分布在机翼上方,冗余度高。单旋翼失效仍可维持受控飞行——这是取得适航认证的工程基础。六旋翼架构配合 6×6 地面增程母舰,形成”分体式”交通方案。

亿航 EH216-S

采用共轴八旋翼(8 轴 16 桨),但电机失效逻辑与六旋翼一致——每个电机独立控制,失效后由健康电机接管。EH216-S 已取得中国民航局型号合格证(TC),冗余控制分配算法通过了 10,000+ 次故障注入测试。

Joby S4

六旋翼倾转旋翼构型。悬停阶段为纯六旋翼控制、巡航阶段转为固定翼+倾转旋翼联合控制。六旋翼失效容错覆盖了悬停→过渡→巡航的全部飞行阶段。

控制分配的工程现实

在飞行汽车中,控制分配面临的约束比消费级无人机更复杂:

  • 热约束:失效后健康电机的功率负载可能翻倍,需限制最大持续推力以保护电机
  • 振动约束:转速不平衡增大时,机体振动可能接近结构共振频率
  • 能耗约束:剩余航程取决于重分配后的系统效率

商业飞行汽车厂家(小鹏、亿航、Joby)的实际实现细节属于飞行安全敏感信息,公开文献极少。但核心数学框架——约束 QP 控制分配 + AMS 分析——是统一的。

七、核心论文

论文 主题 出处
Freddi et al. (2012) 四旋翼执行器故障诊断与控制 IEEE Trans. Control Syst. Technol., 20(5), 1200–1209. DOI:10.1109/TCST.2011.2161792
Du et al. (2015) 六旋翼故障容错控制分配 J. Intell. Robot. Syst., 78(1), 95–114. DOI:10.1007/s10846-014-0063-4
Schneider et al. (2016) 多旋翼容错控制分配——Pseudo-Inverse Redistribution IEEE Trans. Robot., 32(3), 730–745. DOI:10.1109/TRO.2016.2544036
Faessler et al. (2017) 推力混合与姿态控制——四旋翼饱和处理 IEEE Robot. Autom. Lett., 2(2), 995–1002. DOI:10.1109/LRA.2017.2656822
Stepanyan et al. (2017) 六旋翼自适应故障容错控制 AIAA Guidance, Navigation, and Control Conference. DOI:10.2514/6.2017-1251
Mueller & D’Andrea (2014) 多旋翼松弛悬停解与容错 IEEE Trans. Robot., 30(4), 873–885. DOI:10.1109/TRO.2014.2307502

参考文献

  1. Freddi, A., Lanzon, A., & Longhi, S. (2012). A feedback linearization approach to fault tolerance in quadrotor vehicles. IEEE Transactions on Control Systems Technology, 20(5), 1200–1209.
  2. Du, G. X., Quan, Q., Yang, B., & Cai, K. Y. (2015). Controllability analysis for multirotor helicopter rotor degradation and failure. Journal of Intelligent & Robotic Systems, 78(1), 95–114.
  3. Bohorquez, F., Pines, D., & Samuel, P. D. (2003). Small-scale rotor design and performance for hover-capable micro air vehicles. Journal of Aircraft, 40(4), 690–699.
  4. Johansen, T. A., & Fossen, T. I. (2013). Control allocation — A survey. Automatica, 49(5), 1087–1103.
  5. Schneider, T., Ducard, G., Rudin, K., & Strupler, P. (2016). Fault-tolerant control allocation for multirotor helicopters. IEEE Transactions on Robotics, 32(3), 730–745.