1. eVTOL飞控系统概述

大家好,我是老张。在飞控这个领域摸爬滚打了十几年,从早期的多旋翼到现在的eVTOL,说实话,这个行业的变化真的让我挺感慨的。今天咱们就来聊聊eVTOL飞控系统的那些事儿。

先说说现状。eVTOL,也就是电动垂直起降飞行器,这几年火得不行。国内外大大小小的公司都在搞,有的已经试飞了,有的还在PPT阶段。但不管怎样,飞控系统始终是核心中的核心。我见过不少项目,硬件堆得挺猛,结果飞控算法拉胯,飞起来跟喝醉了似的。嗯,这里要提醒一句:飞控不是拼参数,是拼稳定。

1.1 eVTOL发展现状

eVTOL说白了就是能垂直起降的电动飞机。它不需要跑道,噪音小,适合城市空中交通。目前主流构型有三种:

  • 多旋翼型:类似大号无人机,结构简单,但航程短
  • 倾转旋翼型:机翼上的电机可以倾转,兼顾垂直起降和巡航效率
  • 升力+巡航型:单独配垂直升力电机和水平推进电机,控制解耦

我个人比较看好倾转旋翼构型。为什么?因为它在效率和复杂度之间找到了平衡点。我在参与某款eVTOL项目时,就遇到过倾转过渡阶段的控制难题——从垂直模式切换到水平模式那几秒钟,姿态波动特别大。后来我们花了整整三个月才把过渡逻辑调顺。

核心观点:eVTOL飞控不是简单地把无人机飞控放大,它需要处理更多模态、更多执行器、更复杂的故障场景。

1.2 飞控系统架构

飞控系统架构,我习惯把它分成三层:

层级 功能 典型硬件
感知层 获取飞行状态和环境信息 IMU、GPS、气压计、激光雷达
决策层 状态估计、控制律计算、任务管理 主控芯片(STM32H7、Zynq等)
执行层 驱动电机、舵机等执行机构 ESC、伺服驱动器

你想想看,这三层之间怎么通信?我见过不少方案用CAN总线,也有用EtherCAT的。我个人习惯在决策层和执行层之间加一个安全监控模块——万一主控挂了,还能靠这个模块让飞行器安全降落。这个设计思路,是我在一次试飞事故后痛定思痛加上的。

小技巧:IMU的安装位置很关键。别图省事随便焊个地方,振动耦合会让你后期滤波调到怀疑人生。

1.3 核心算法全景图

好了,重头戏来了。飞控核心算法到底包含哪些?我画了一张图,帮你理清脉络。

eVTOL飞控核心算法全景图 感知层算法 IMU数据融合 · GPS/RTK定位 · 视觉/激光SLAM · 大气数据解算 状态估计算法 扩展卡尔曼滤波(EKF) · 互补滤波 · 姿态解算 · 位置/速度估计 控制算法 PID控制 · 模型预测控制(MPC) · 自适应控制 · 倾转过渡控制 执行与安全算法 混控分配 · 故障检测与重构 · 紧急降落 · 冗余管理

这张图我画了好几次才满意。你看,从感知到执行,每一层都环环相扣。很多初学者喜欢一上来就调PID参数,结果发现姿态估计不准,调了半天白费功夫。我建议你按这个顺序来:先把感知层搞准,再搞状态估计,最后才是控制。

1.3.1 感知层算法

感知层说白了就是让飞行器知道「我在哪」「我是什么姿态」。IMU是核心,但IMU有漂移,所以需要GPS、气压计、磁力计来辅助。我常用的方案是:

  • 加速度计+陀螺仪做姿态初步解算
  • GPS+气压计做位置高度修正
  • 磁力计做航向参考(但容易受干扰,慎用)

注意:磁力计在eVTOL上特别容易受电机大电流干扰。我曾经在某次试飞中,磁力计数据直接偏了30度,差点炸机。后来我们加了硬件滤波和软件补偿才搞定。

1.3.2 状态估计算法

状态估计,核心就是卡尔曼滤波。但EKF(扩展卡尔曼滤波)在eVTOL上有个坑——非线性太强的时候,线性化误差会很大。我建议你考虑UKF(无迹卡尔曼滤波)或者粒子滤波,虽然计算量大一点,但稳定性好很多。

举个例子,倾转旋翼在过渡阶段,气动特性变化剧烈,EKF很容易发散。我们当时用UKF,效果就好很多。当然,计算资源也得跟上,不然实时性没法保证。

1.3.3 控制算法

控制算法是飞控的灵魂。PID是最基础的,但eVTOL光靠PID不够。为什么?因为eVTOL有多个飞行模态:垂直起降、悬停、过渡、巡航。每个模态的动力学模型都不一样,PID参数得跟着变。

我比较推荐MPC(模型预测控制)。它能考虑未来几步的状态,提前做出调整。不过MPC计算量大,得在硬件上做优化。我们当时在Zynq上跑MPC,把预测时域设成10步,勉强能跑到200Hz。

关键点:倾转过渡控制是eVTOL的难点。垂直升力逐渐减小,水平推力逐渐增大,这个过程必须平滑。我见过一个方案是直接用插值法,结果过渡到一半飞机开始抖。后来我们用了基于能量的控制方法,才把问题解决。

1.3.4 执行与安全算法

最后是执行层。混控分配就是把控制指令映射到各个电机和舵机上。eVTOL的执行器多,冗余度高,但分配不好反而会打架。

安全算法这块,我特别想多说两句。eVTOL是载人的,安全是第一位的。我们当时设计了三级故障检测:

  1. 传感器级:IMU、GPS数据一致性检查
  2. 执行器级:电机转速、舵机位置反馈监控
  3. 系统级:飞行轨迹偏差、能量状态监控

一旦检测到故障,系统会自动切换到冗余通道,或者触发紧急降落程序。这个逻辑,我们在地面测试了上千次才敢上天。

经验之谈:安全算法不要写得太复杂。越简单越可靠。我曾经见过一个团队搞了套基于机器学习的故障检测,结果模型在真实场景下误报率特别高。最后还是换回了阈值检测。

好了,第一章的内容就到这里。eVTOL飞控系统是个系统工程,每一层都值得深挖。后面的章节,我们会逐一拆解这些算法,从理论到代码,一步步带你吃透。


公众号:蓝海资料掘金营,微信deep3321