
干飞行控制这行这些年被初学者问得最多的一个问题就是飞控到底在干什么很多人第一次接触无人机打开调参软件看到 P、I、D 三个旋钮以为飞控就是调参数、试手感。等到真的接手一个需要从零调试的飞行平台才发现背后的理论基础比想象中扎实得多。你要让一架飞机稳定地飞起来、准确地完成任务绕不开飞行控制理论这套骨架。这篇文章就围绕飞行控制理论基础这一章节的核心内容展开聊聊飞机为什么能被控制、控制系统怎么搭、理论怎么落地成工程代码以及我在实际调试中踩过的坑。无论你是学生、入门工程师还是自己折腾飞控的爱好者这篇文章都值得你花点时间慢慢看。1. 飞行控制到底在控制什么1.1 先搞清楚飞控的两个核心任务飞行控制系统本质上解决两件事第一件叫稳定性增稳第二件叫轨迹跟踪。稳定性增稳是说飞机天生不太愿意自己保持稳定尤其是一些静不稳定的布局如果没有控制系统介入受到一点扰动就会发散、翻滚、失控。轨迹跟踪则是说当飞行器已经具备稳定的能力之后我们要给它下达指令让它按照期望的高度、速度、航向飞行。你可以把飞机想象成一个刚学滑板的人。没有保护措施时他稍微歪一下就可能摔跤这是不稳定此时有人从后面扶着他帮他保持平衡这就是增稳控制等他站稳了你告诉他往左边滑到那个路口这就是轨迹跟踪。两个任务在工程上对应两个回路。内回路负责姿态稳定把飞机当前的姿态角和角速度控制住这是飞控系统的心脏外回路负责航迹管理根据 GPS、气压计等传感器信号去生成姿态指令。学飞行控制理论基础第一件事就是把这两个层次掰开否则后面看控制律、看数据都会一团浆糊。1.2 感知、决策、执行飞控系统的三个环节任何闭环控制系统都离不开三个环节感知、决策、执行。感知环节用传感器测量飞行器当前的状态。最基本的配置包括陀螺仪测量三个轴的角速度、加速度计测量比力、磁力计测量航向、气压计测量高度、空速管测量速度。这些传感器数据经过融合处理后组成了控制系统反馈信号的来源。如果你在理论课只讲控制律而不讲传感器到工程上一定摔跟头因为控制品质的极限很大程度上取决于反馈信号的质量。决策环节就是飞控计算机也叫飞行控制计算机。它读取传感器数据对比目标状态和当前状态按照控制律算法计算输出指令。这里说的控制律可以是经典的 PID 控制也可以是更复杂的 LQR、H∞、自适应控制等等。很多人觉得 PID 简单但工程上 80% 的飞控还在用 PID 结构关键在于参数的整定、抗饱和、抗扰动处理。执行环节是舵机、电机、液压作动器等设备。飞控指令最终要靠它们改变舵面偏角或者推力大小从而改变飞机的受力状态。执行机构的响应速度、线性度、死区特性都直接影响闭环系统的性能。我在实际项目里见过太多案例控制律在仿真里跑得很好一到真机上就控制不住最后排查发现是舵机响应太慢、带宽不够。2. 飞机飞起来的力学基础2.1 坐标系先建立一套共同的语言飞行控制理论里第一步要解决坐标系问题。飞控工程师必须彻底理解地面坐标系和机体坐标系的关系否则连俯仰角是多少都没法说清楚。地面坐标系是相对惯性空间近似固定的参考系通常取飞机的起飞点为原点X 轴指向某个方向Z 轴指向地心Y 轴按右手定则确定。机体坐标系则固连在飞机上原点在飞机重心X 轴沿机身纵轴向前Y 轴指向右翼Z 轴指向下方。飞机在空中飞行的姿态就是用机体坐标系相对地面坐标系的旋转关系来描述的。这个旋转关系在工程上有三种常用表示方法欧拉角、方向余弦矩阵、四元数。欧拉角最直观滚转角、俯仰角、偏航角分别对应绕机体 X、Y、Z 轴的旋转。但它有一个致命的缺陷——万向节锁问题当俯仰角接近正负 90 度时会丢失一个自由度。所以现代飞控内部计算普遍使用四元数只是在显示和给用户看的时候转换成欧拉角。我见过不少新手在写姿态解算代码时拿着欧拉角直接做积分结果姿态发散、数字到处乱跳。原因就是没有意识到欧拉角在特定姿态下会退化。理论课上这部分看起来只是数学推导但到了实际工程里它就是你调试一整天都找不到 bug 的根源。2.2 六自由度运动三个平动加三个转动飞机的运动模型是刚体六自由度运动方程大致可以分成两部分沿三个轴的线运动和绕三个轴的角运动。线运动方程描述重心的速度变化来源是牛顿第二定律 F ma。作用在飞机上的力包括气动力、推力、重力等。把这些力分解到机体坐标系的三个轴上得到一个合力除以质量就能得到加速度分量。角运动方程描述飞机绕重心的转动来源是动量矩定理 M I·ω也就是合力矩等于转动惯量乘以角加速度。力矩来自气动力矩和推力偏心力矩等。刚入门的人看到六自由度方程会觉得数学极其繁琐因为里面塞满了交叉耦合项、转动惯量项、三角函数项。但飞控工程师真正需要抓住的是一条思路控制飞机就是控制它的受力状态。你想让飞机抬头就要产生一个抬头力矩想让飞机加速就要增大前进方向的力。所有的控制输入最终都是通过改变这些力和力矩来起作用的。还要理解一个概念——配平。飞机在稳态飞行时即使不做任何机动也需要某个舵面偏角和推力来维持力的平衡。比如平直飞行时升降舵要有一个偏角来平衡机翼产生配平力矩。配平点是控制律设计的基准动态控制都是在配平点附近做增量调节。这个思路在真机调试时特别重要。你在地面把控制律参数调好但上天后飞一个不同的空速配平状态变了参数可能需要重新评估。2.3 力和力矩的来源气动力的脾气飞行器在空中受到的力主要来自空气动力学。机翼产生升力机身产生阻力舵面偏转产生控制力和力矩。这些气动力和力矩通常被系数化为无量纲气动导数比如升力系数、阻力系数、俯仰力矩系数等。理解气动力最关键的一点是它们不是线性的而是随着攻角、侧滑角、马赫数、舵面偏角变化的。写控制律的时候如果只用一套线性化模型那只能覆盖某一个飞行状态点附近的小扰动。飞机机动范围一大气动特性就变了控制参数就需要调整或者设计增益调度。力矩可以分为稳定力矩和阻尼力矩两类。稳定力矩是扶正飞机的力矩使人倾向于回到平衡状态这取决于重心和气动焦点的相对位置阻尼力矩是抵抗转动速度的力矩它让飞机的运动不会无限振荡。稳定性和阻尼性是两个容易混淆的概念。稳定性决定飞机被扰动后有没有回到原状的趋势阻尼决定回位的过程中振荡和衰耗的快慢。工程上经常遇到的荷兰滚模态就是横航向运动的一个振荡模态副翼提供的滚转阻尼不足时飞机就会一边摆头一边滚转非常危险。飞行控制理论章节里会详细推导这些模态的方程和解耦方法而工程落地的办法往往是设计一个偏航阻尼器增加偏航阻尼力矩让振荡收敛得更快。3. 控制理论如何在飞控中落地3.1 从开环到闭环为什么必须要有反馈飞行控制理论的一个基本问题是要不要反馈开环控制是事先算好控制指令不加测量信息直接发给舵面执行。它的前提是模型完全准确、扰动不存在、执行机构完美。现实中显然不满足。大气紊流、重心偏差、机翼结冰这些因素都会让飞机的受力状态偏离预期开环控制在这种情况下根本没有纠错能力。所以真实飞控一定采用闭环控制。传感器把当前姿态、位置测出来与期望值相减得到误差控制器根据误差计算控制指令让飞机不断朝期望状态靠拢。闭环控制的魅力就在这里不依赖精确的模型只要反馈信息质量够好系统就能自动克服大部分干扰。我在一个固定翼项目中做过一次对比验证。同一架飞机开环状态遥控器直接操纵舵面飞机在阵风里很难稳住航向启用增稳闭环之后同样的阵风下飞机姿态波动缩小了约七成。这就是反馈的威力看似简单的误差—调节循环实际上蕴含着整个飞行控制理论的出发点。3.2 静稳定性、动稳定性与飞行品质学习飞行控制理论稳定性分析是核心。一个稳定的系统在被扰动后能够恢复到原来的平衡状态一个不稳定的系统则会发散或者发生等幅振荡。静稳定性考察的是扰动的初始趋势。拿俯仰来说飞机受到抬头扰动后如果产生的气动力矩使机头有回落的趋势就是静稳定的。动稳定性则看后续的运动过程扰动后是衰减收敛、持续等幅振荡还是不断发散。对于飞机设计来说静不稳定不一定完全不可取现代战斗机甚至故意设计成静不稳定来换取高机动性但代价就是必须依赖飞控系统实时增稳——这就是静不稳定也要执飞控的核心原因。做控制律设计时我们关注飞行品质这个概念。飞行品质是飞行员或者飞控系统对飞机稳定性和响应特性的主观定量评价有专门的 Cooper-Harper 等级标准。你可能觉得这是飞行员的事对无人机不重要。但实际上无人机也讲究类似指标——比如姿态响应的超调量、上升时间、稳态误差这些都是评判控制系统性能的客观数字。理论课程里学的阻尼比、自然频率就是在设计与评估这些响应品质时最核心的参数。3.3 经典 PID 控制姿态控制的基本功飞控领域最常见的控制器结构还是 PID比例—积分—微分。以俯仰姿态控制为例给定期望俯仰角实际俯仰角与它作差得到误差 e比例项 P 让舵面响应误差的当前值——误差大就偏转多积分项 I 累计历史误差——用来消除稳态误差比如重心偏移带来的常值力矩微分项 D 反映误差变化率——提前抑制超调和振荡。PID 三个参数都有直观的物理意义。很多人调 PID 时习惯乱试但正确做法是理解每个项的作用再动手。我调飞控的固定流程是先去掉 I 和 D只保留 P逐步增大 P 直到姿态开始出现轻微振荡然后增加 D 抑制振荡把系统推到一个临界阻尼附近最后再加入一点 I 来消除稳态误差。整个过程需要看飞行数据曲线而不是靠肉眼观察飞机。工程上还有几个进阶细节要特别注意。第一是积分饱和如果飞机被一个持续的期望俯仰角偏差长时间驱动积分项会积累得非常大一旦偏差被消除这个积累量会导致明显超调甚至发散所以要做抗积分饱和处理——比如限制积分项的最大幅度或者误差较大时暂停积分。第二是微分项的噪声放大问题D 项对噪声非常敏感必须对反馈信号先做低通滤波不然舵面会高频抖动。第三是控制周期和舵面带宽的匹配你不可能让舵机去执行一个高于它物理响应能力的指令否则系统会不稳定。4. 从理论到工程一个完整飞行控制系统的模样4.1 控制律的分层结构内回路与外回路实际飞控系统通常分成内外两个回路。内回路是姿态回路它的输入是期望姿态角输出是舵面偏角外回路是导航/航迹回路输入是期望高度、期望航向或者期望位置输出是内回路的期望姿态指令。为什么要分层因为飞机运动的物理时间尺度不同。姿态变化很快内回路需要较高的带宽和刷新率位置、高度变化慢外回路可以慢一点。分层设计还带来一个好处内回路稳定之后外回路的设计可以把它当成一个快速响应的执行装置大大简化控制律设计。以高度保持为例。外回路传感器读气压高度和期望高度比较得到一个期望俯仰角指令。这个期望俯仰角传给内回路内回路控制飞机实际俯仰角与指令一致飞机随之爬升或者下降。可以看到外回路并不直接控制舵面而是借用内回路的力量。这种层层嵌套的结构是整个自动飞行控制的基本框架。工程中常见的问题也是出在层与层的衔接上外回路指令变化太快内回路跟不上或者内外回路带宽比不合适导致整体响应振荡。一般来说内回路带宽要显著高于外回路大约 3 到 5 倍以上。这个原则贯穿所有飞控设计不管是用 PID 还是更现代的控制理论。4.2 传感器与执行机构反馈链路的真实挑战飞行控制理论基础不会只讲公式还要讲反馈信号从哪里来。IMU 是姿态反馈的核心包含陀螺仪和加速度计。陀螺仪测得角速度对角速度积分可以得到角度但积分会漂移加速度计能测重力方向但在机动飞行时无法单独使用。工程上用互补滤波或者卡尔曼滤波把两者融合取长补短。传感器安装位置也是个容易被忽略的点。IMU 一定要尽可能靠近飞机重心远离振动源和电磁干扰源。如果传感器装在机翼上飞机弹性弯曲产生的振动就会污染信号。我之前在一次试飞中发现飞机滚转轴持续高频抖动排查到最后发现是航拍云台的电机 PWM 干扰了 IMU 数据线加了一级滤波和屏蔽之后就完全正常了。执行机构方面舵机的响应速度用带宽描述单位是赫兹。如果希望内回路能控制飞机做 2 Hz 以内的姿态机动舵机带宽至少要有 10 Hz 以上因为控制系统带宽通常只能达到执行机构带宽的十分之一到三分之一。液压舵机响应快、力矩大但维护复杂电动舵机结构简单、维护方便但力矩和速度受限。选型时不能只看力矩还要看速度、线性度与回程死区。4.3 电传飞行控制计算机接管之后的世界现代大型飞机的飞控体系核心是电传飞行控制技术。传统机械操纵系统用杆—索—液压管路把驾驶员的操纵传到舵面电传系统则是操纵杆输出指令信号经过飞控计算机处理后再给液压作动器拖动舵面。电传带来的优势非常明显。第一是摆脱了飞机本身稳定性的束缚可以设计静不稳定布局来提升性能第二是可以做飞行包线保护防止飞行员或者自主系统使出超过飞机承载极限的操纵第三是控制律可以随飞行状态调整增益调度变得非常方便。飞控计算机的可靠性也很值得一提。电传系统普遍采用多余度架构比如三余度或者四余度多台计算机同时运行并互相表决当一台故障时由另外几台接管。这种容错设计是飞行控制理论在工程可靠性上的延伸。我在学习这部分内容时最大的体会是单纯的控制算法好不够系统在其他部件故障时还能安全降级工作才是飞控的灵魂。5. 常见问题与排查技巧实录5.1 姿态发散先查增益再看时序飞控调试中最常见的问题就是姿态发散。飞机上天后某个轴的姿态开始来回摆幅度越来越大最后完全失控——这往往是内回路增益设置过高系统处于欠阻尼或者负阻尼状态。排查思路很明确先从调参层面解决把该轴的比例增益降下来加大微分增益观察是否收敛如果怎么调都发散就要怀疑传感器数据是否出了延迟或者噪声过大因为时间延迟在反馈控制里会严重消耗相位裕度。我习惯用数据记录仪把姿态误差、舵面指令、传感器原始数据一起记录下来再在地面用工具画出曲线对比远比在空中肉眼看飞机可靠。5.2 积分饱和与舵面抖动积分饱和的经典场景是飞机起飞后外回路发现高度偏差很大持续输出大俯仰指令内回路积分项疯狂累积。等到高度接近目标时这个巨大的积分项还在往里头推飞机直接冲过头产生大幅过冲。解决积分饱和的方法我常用三种限制积分项最大最小幅值、误差超出门限时暂停积分、以及把积分项设置为上周期输出与反馈的差值函数。舵面抖动则大多是微分项对噪声敏感引起的解决办法是加强传感器滤波、降低微分增益、或者用一个带限的微分器替代理想微分。记住一个原则宁可让响应慢一点也不能让舵面高频抖动因为抖动会烧舵机、消耗能量、恶化结构疲劳。5.3 同一套参数换到不同飞机上就失控不少朋友会直接从别人的飞控配置文件里拷贝一套 PID 参数装到自己飞机上结果飞得一团糟。原因很简单不同飞机的转动惯量、气动布局、舵面效率、传感器安装位置完全不同控制参数必然不通用。正确的做法是理解参数的量纲和含义P 的单位就是舵面偏度/姿态误差它和飞机的舵效、转动惯量强相关D 和 P 的配合则取决于飞机的动态响应特性。换飞机之后即使想沿用某套参数也要先用仿真工具做一遍验证再在地面测试中检查舵面方向、行程、响应最后以小幅度、短时长的试飞逐步逼近合适的参数。5.4 排查问题的数据检查清单检查传感器原始波形是否存在饱和、跳变、持续噪声检查 IMU 安装面是否与机体严格对齐震动隔离是否到位检查舵面中立点和限位零位偏置会直接导致配平错误检查控制周期实际循环是否与预期一致有没有偶发超时检查执行机构带宽是否低于控制指令需求造成相位滞后检查内回路与外回路带宽比通常要求至少 3:1 到 5:1。写这份清单不是拍脑袋都是我实际调试时踩过的坑。有一次试飞中飞机平飞时总有 2 度的俯仰振荡查遍所有参数都没问题最后发现是升降舵拉杆存在虚位舵面偏转指令发出后要过一段时间才真正动起来。这种机械层面的问题再优秀的控制算法也很难完全弥补。经过这些实际调试经历我个人最大的体会是飞行控制理论不是纸上谈兵它每一章内容都能在试飞现场找到对应。坐标系是姿态解算的地基六自由度方程是理解的框架稳定性分析解释了为什么飞机飞得稳PID 则是最务实的控制手段。越是到工程一线越觉得理论基础的重要。系统重载、噪声混杂、执行机构受限的时候最可靠的判断依据就是你脑子里那套扎实的飞行控制理论框架。