新机架第一次解锁推油门机身还没离地就开始高频抖动等真正离地那一刻整个飞机像触电一样疯狂振颤。这是我几年前第一次搭PX4四旋翼时的真实经历当时我以为是飞控坏了结果是典型的参数不匹配。PX4飞控的自稳能力强但前提是参数得跟你的机架、电机、桨叶匹配。这篇就专门写四旋翼的PX4调参面向自己装机的玩家和刚开始接触开源飞控的开发者把调参的顺序、原理、判断方法和容易踩的坑一次说清楚。别把调参想得太玄它有完整的逻辑链路按顺序走大部分飞机都能在一个下午内调到舒服的手感。1. 调参前先做三件事安全、日志与基线备份1.1 安全前置把炸机成本算进调参流程调参的本质是让飞控的参数逼近机架的真实物理特性这中间一定会经历参数偏激的阶段。我见过不少人调PID时把P值猛拉飞机在地上就开始抽风还有人带着桨叶在室内试参数差点把柜子削出个豁口。调参之前先把桨拆了这一步能挡住一半以上的安全事故。没有桨叶电机空转的负载和带桨时完全不同所以接下来要分两种状态理解地面无桨测试只验证电机转向、飞控响应和参数是否严重超标带桨试飞才验证真实调参效果。第一次带桨飞行前必须检查机架所有螺丝是否拧紧、机臂有无虚位、飞控减震泡棉是否正常、电池电量充足。我习惯把遥控器切到自稳模式同时把油门锁死开关设到一个顺手的位置一旦飞机出现发散性振荡第一时间收油门比什么急救都管用。还有一点很实际调参尽量选微风、开阔的场地地面最好是草地。炸机不可怕可怕的是炸在硬地上一并报销了桨叶和云台。把这些前置工作当成流程的一部分而不是想起来了才做后面调参的速度反而更快。1.2 飞行日志调参唯一的“仪表盘”PX4默认会记录飞行日志每次解锁飞行后会自动生成一份日志文件。调参时最忌讳飞起来看看手感就改参数人的感觉对低频振荡和稳态偏差有判断力但对高频振颤、噪声毛刺、相位延迟这些关键信息基本无能为力。日志才是唯一的仪表盘。你需要在地面站里打开日志分析面板主要盯三类曲线姿态期望与姿态反馈的对比、角速度期望与角速度反馈的对比、电机输出的变化。调参的每个决策都应该建立在我看到曲线里出现了什么异常的基础上而不是我感觉有点飘。第一次用日志的人容易在数据潮里迷路我建议先只看一个话题俯仰或横滚轴的姿态误差。把它拖出来做几次俯仰激励曲线会告诉你外环参数是不是跟得上。如果你想确认振动水平那就看陀螺仪原始数据的频谱图看噪声集中在哪个频段。日志用熟了以后你会发现自己对飞机状态的判断力提升一大截甚至能通过曲线预判某个机械环节出了问题。1.3 基线参数改之前先建一条退路我吃过一次大亏把姿态环参数连续改了七八次越调越差到最后想回到最初能飞的状态却忘了最初的参数是多少。从那以后我养成一个习惯新机架第一次试飞前先把所有与姿态控制相关的参数导出备份。地面站一般支持参数导入导出导出一份参数文件存成baseline_good.params以后每次调参的起点都从这里开始。光有备份还不够我还会用一张纸或者一个文本文件记录每一次改动改动日期、改动参数、改动幅度、飞行手感变化、日志里出现的现象。比如3月12日MC_ROLLRATE_P从0.08降到0.06高频抖消失手感变肉——这样的记录积累几次之后你就会发现自己对参数的理解越来越快因为每一条记录都是一个可复用的经验。基线备份还有一个隐藏作用它会逼你在动手前想清楚这次调参的目标是什么。带着明确目标去改参数和随手乱试效率差距是数量级的。2. 先搞清PX4在调什么串级PID与参数命名2.1 串级结构角速度环是手腕姿态环是手臂很多新手上来就搜PX4 PID默认值然后照着别人的参数填进去飞起来发现根本不对。原因很简单不同机架、不同飞控安装方式、不同电机和桨叶组合下合适的PID参数天差地别。要理解为什么得先看PX4的姿态控制链路。PX4的姿态控制是典型的串级PID结构分内外两环姿态外环输入是期望姿态角输出是期望角速度。这个环节处理飞机当前角度和期望角度差多少的问题。角速度内环输入是期望角速度输出是电机混控指令。这个环节处理机身当前角速度和期望角速度差多少的问题。打个比方姿态外环是你的眼睛和大脑看到方向偏了下达往右转的指令角速度内环是你的手腕负责执行这个指令并且在执行中对抗风、重心偏移、电机响应差异这些扰动。内环动作得快不快、稳不稳直接决定外环的指令能不能落地。先把手腕练稳再谈瞄准这就是串级控制的逻辑。串级结构的好处是每个环节的扰动可以被就近抑制。外界的风、机身震动、机械形变带来的角速度扰动先被内环压住不会一路传导到姿态层。这也解释了为什么调参顺序必须是先内环后外环内环不稳定外环怎么调都是空中楼阁。2.2 参数命名规则看懂名字就不会调错PX4不同版本里的姿态参数命名略有差异但规律一致。以长期使用的1.14.x版本为例控制环节参数名典型默认值范围作用横滚姿态环MC_ROLL_P5.0 - 6.5横滚角误差的比例增益俯仰姿态环MC_PITCH_P5.0 - 6.5俯仰角误差的比例增益横滚角速度环MC_ROLLRATE_P / I / DP约0.08I约0.02D约0.003横滚角速度环PID俯仰角速度环MC_PITCHRATE_P / I / D同上俯仰角速度环PID偏航角速度环MC_YAWRATE_P / I / DP约0.1I约0.01偏航角速度环PID从这张表能看出一个规律姿态环只列了P值。PX4的姿态外环默认只使用比例控制不设I和D因为内环的积分和阻尼已经能满足大部分场景。这不是偷懒是串级控制的典型简化策略——外环只管给出期望角速度剩下的交给内环去细化执行。另一个规律是角速度环的PID才是调试的重头戏。P值决定了飞行手感灵敏还是肉I值消除持续的漂移D值给系统增加阻尼。后面第3节会逐个展开。2.3 为什么必须先内环后外环如果内环角速度控制得不稳你遥控打杆给一个期望姿态角外环立刻就产生一个期望角速度内环去追这个角速度时却发生振荡机身就会出现肉眼可见的高频颤抖。这时候你跑回去调外环P会让情况更糟——外环P增大意味着给的期望角速度更激进内环的压力更大振荡加剧。正确的顺序是先把角速度内环调到给什么角速度指令都能稳定跟住、不抖不振再调姿态外环的响应速度。用控制理论的话说就是先保证内环有足够的幅值裕度和相位裕度再谈外环的带宽。通俗地讲先把手腕练稳再练判断力。我见过很多人跳过内环直接调姿态环结果飞起来总觉得飞机神经质打杆回中以后机身还要来回晃两下才稳住。这个现象十有八九是内环的阻尼不够、P值偏高导致的只是被外环的手感掩盖了。3. 姿态环PID逐项调试从内环P到外环I的完整步骤3.1 内环P先把机身“按住”内环PMC_ROLLRATE_P / MC_PITCHRATE_P决定角速度控制的灵敏度。调这个值时建议直接在自稳模式下飞行快速打杆给俯仰和横滚阶跃输入然后观察两个现象回中过程有没有振荡、跟手程度够不够。具体操作步骤在自稳模式下悬停等待机身平稳。向前快速推俯仰杆打大约15到20度的期望角然后迅速回中。观察机身如果它迅速回到水平且几乎没有任何超调说明P合适如果回正过程出现明显的来回摆动像船在水上晃说明P偏大如果回正非常缓慢、拖泥带水说明P偏小。每次调整幅度控制在10%到20%之间改完落地重新解锁验证不要连续改多个参数再试飞。实测下来的经验大多数自组四旋翼在默认P值下会表现偏肉也就是P值偏低。这其实是原厂参数的稳健策略优先保证新手不会因为激进参数而炸机。当你觉得飞机不够跟手时把内环P向上加10%飞一圈看曲线通常能感觉到明显变化。这里要强调一个容易误判的情况P值调大后出现的轻微高频抖动经常被误认成D值太小。判断方法很简单看抖动的频率低频摇摆1到3Hz肉眼明显可见的晃动说明P过大高频振颤明显感觉到机身发麻但肉眼看不到大幅摆动优先怀疑D和滤波器。P和D的高频表现容易混淆务必用日志确认。3.2 内环I消除持续漂移的力量内环IMC_ROLLRATE_I / MC_PITCHRATE_I解决的是持续向一个方向漂移的问题。理论上P值足够大时闭环系统在没有I的情况下也能回到目标角速度附近但会有稳态误差——也就是每次回中后机身不是完全水平而是残留一个小角度偏差。判断I需要加的场景是悬停或者定点。如果悬停时飞控明明给的是水平期望飞机却持续低头或向一侧偏并且遥控器微调后又能短暂修正回来过一会儿又偏回去说明I不够。另外迎风悬停时飞机被风向后压、机头下沉也是I太小的典型表现。I值的调节起步范围在0.01到0.05之间。我的经验是每次增加0.02左右观察悬停是否还飘。一个特别注意点I并不是越大越好。I过大时系统会出现低频的慢摆振周期几秒钟飞机会像喝醉了一样慢慢画圈这种现象在日志里表现为角速度曲线低频正弦波动。当你发现飞机慢漂又慢摆先怀疑I是不是加过头了。3.3 内环D阻尼与噪声之间的走钢丝D项MC_ROLLRATE_D / MC_PITCHRATE_D在角速度环里起阻尼作用它抑制的是角速度的变化率。有了D机身在回中时不容易过冲在受到阵风突然扰动时能更快稳定下来。D值的默认量级非常小通常在0.001到0.005之间。D的调试有一个重要前提必须等P和I稳定之后再动D。因为D对高频噪声极其敏感而螺旋桨和电机的振动恰好落在高频段D加多了飞控会被振动噪声刺激得频繁修正电机会发烫机身反而新增高频抖动。我见过一个case机架本身振动水平偏高有人为了让飞机更紧致猛加D结果电机过载报警。判断D是否合适的标准是看大动态表现做一次快速俯仰激励如果回正后机身还有一两次残余振荡说明D偏小如果回正干脆利落说明D合适如果在悬停时就能感觉到机身细微发麻说明D过头了先降D再看滤波器。3.4 偏航轴独立策略偏航轴MC_YAWRATE_P / I / D和俯仰横滚完全不同它在PX4里主要靠角速度环控制姿态外环只做辅助。偏航不需要像横滚那样激进因为四旋翼的偏航力矩来自反扭矩差响应比俯仰横滚慢得多参数过于激进只会让机尾左右甩动。偏航调的常见坑是机尾快速小幅度抖动。很多人第一时间想到加大偏航P结果越抖越厉害。实际上这个问题的根因多半是陀螺仪z轴噪声大或者电机之间的转动惯量不一致单纯在角度环上做文章没用。遇到偏航抖动优先检查飞控减震是否到位z轴振动值是否偏高桨叶是不是同一型号是否做过静平衡四个电机是否在同等油门下令转速一致用电机测试界面逐项验证有无明显卡顿偏航参数在机体动力对称的机架上通常不需要大幅改动默认值附近就够用。别把偏航的优先级放得太高几乎所有偏航问题都是机械或滤波器问题不是PID问题。4. 噪声、滤波与机械装配那些不叫PID的“同伙”4.1 陀螺仪滤波器所有参数的地基PX4在把舵机指令发给电机之前所有环节都依赖陀螺仪提供准确的角速度反馈。陀螺仪信号里如果掺了大量高频振动PID控制器就会以为机身真的在快速振颤于是输出高频的电机修正实际飞机抖得越来越厉害。这时候你调P、调D都只是换个方式对抗噪声治标不治本。PX4的滤波参数通常包括陀螺仪低通截止频率等项不同版本名称略有不同。原理上低通滤波会切除高频信号但代价是引入相位延迟——滤波越狠信号越干净但反馈越滞后PID系统能承受的P值上限就越低。这就是为什么滤波器和PID必须放在一起调它们本质上是同一件事的两面。我的调法是用日志里的频谱分析功能悬停半分钟记录振动数据看频谱图里有没有明显的尖峰。如果尖峰集中在螺旋桨转速的倍频附近比如6S电池配2000kV电机转速频率可能在150到400Hz之间低通滤波能帮你把这个频段压下去。如果噪声分散在很宽的频段里那问题就不是滤波能解决的了回到第4.3节查机械。4.2 电机转速与混控链路为什么更新率影响手感PID参数最终要落到电机的转速变化上电机跟随指令的速度成了一个隐形瓶颈。当前市面上的电调常用的协议包括传统PWM信号和DShot数字信号。两者的核心区别在于刷新率传统PWM的刷新频率受限于信号周期通常几百赫兹已经算高DShot的更新率可以达到几千赫兹且短帧格式更稳定。这意味着如果你的电调还在用传统PWM飞控即使输出了一串高带宽的控制指令电调实际执行时也会被拉长PID内环相当于工作在延迟反馈状态下。这种情况下P值调太高相位裕度不足就会产生振荡。反过来DShot电调配合高更新率控制链路更快同等机架下允许更高的P值。这就是为什么A同学用默认参数换了普通电调飞得很稳换了一组高速电调后反而开始抖——不是电调变差了而是整个闭环链路的带宽上限被推高原先被链路延迟掩盖的一些问题暴露了出来。遇到换电调改变手感的优先回看内环PID并降低P值10%到15%重新评估。4.3 重心、桨配平与机架共振参数救不了的先修机械说到最后调参解决的是控制问题解决不了物理问题。以下三个机械项几乎能毁掉所有调参努力重心偏移电池绑得偏、相机装在一侧、线束扎堆都会让重心偏离几何中心。重心偏了飞控需要持续输出一个偏置力矩才能维持水平这不仅消耗动力还会让电机发热、参数必须调得异常大才能压住漂移。检查方法很简单拿起完全装好的机子用两根手指捏住主轴大概的中心点看机子是水平的还是往一侧沉。重心偏移超过2到3厘米调参很难补回来。桨叶配平一副桨哪怕只差零点几克在高速旋转下也会产生明显的振动和力矩。把桨叶拆下来做个简单的静平衡测试较重的那片用细砂纸轻轻打磨桨叶背面的厚端。桨配平花的十分钟比调参省下的三小时更值。机架共振碳纤维臂和电机座的组合往往有固有频率。如果共振频率落在PID频带内飞控会以为机身不稳定输出修正反而激发共振。用手抓住机臂末端轻弹几下如果听到明显的嗡嗡残留声说明结构刚性或连接处有问题。优先处理机臂连接和螺丝力矩而不是调D和滤波。5. 一次“起飞就抖”的定位与参数收敛全过程5.1 从现象到日志A同学的排查起点A同学组了一台四旋翼按网上图纸装好刷了PX4初始参数直接飞。解锁推油飞机刚浮起来就开始快速抖动越抖幅度越大眼看要翻只能赶紧收油门。他跑来问我第一句话就是PID怎么调。我没让他动参数先让他把完整的飞行日志发过来。日志里的关键信息很快浮现在离地阶段俯仰轴角速度反馈出现了一条明显的高频正弦波频率大约在30Hz左右同时陀螺仪原始数据里的噪声基底明显抬升远远高于正常水平。这不是PID发散——如果是PID自激波形通常更靠近控制带宽附近而且会随着P值变化而改变频率。这个频率固定在30Hz更像机械振动被传感器拾取。我又问了一句飞控减震泡棉是怎么贴的他说是直接把飞控用双面胶粘在碳板上没加减震泡棉。答案呼之欲出碳板的高频振动直接传导到IMU陀螺仪把振动当成真实角速度反馈飞控在一个劲儿地纠正根本不存在的姿态偏差。5.2 分步处理先修物理再动PID处理顺序是这样的机械层在飞控和碳板之间加上了专用的减震泡棉测试傅里叶频谱30Hz左右的尖峰明显下降。这一步没动任何参数只是让传感器看到干净的机身运动。滤波层陀螺仪低通截止频率从默认值往下调了一档先看频谱图确认高频噪声进一步被压住。PID层此时飞机已经能飞但手感发飘。把俯仰横滚的角速度P降低了约20%因为之前默认参数在噪声大时被飞控自我限制在一个偏保守的区间现在噪声降了重新给P一个合理的起点。验证层逐步加回P值每次增加10%直到出现轻微抖动然后退回上一档。最后又加了一点点D值让回中更干净。整个过程的观念就是优先级从下到上先机械再滤波后PID。很多调参问题看起来是PID的锅根子在传感器数据不干净如果先调PID很容易陷入P加大就抖、P减小就肉的死循环。5.3 参数收敛的判据什么时候算调好了参数收敛没有一个绝对数值因为每台机架的物理特性不同。但有几个通用的判据我每次都用它们判断可以收了判据观察方法合格标准姿态误差收敛日志中姿态期望与反馈的差值曲线机动后0.5到1秒内误差回到2度以内角速度平滑度角速度反馈曲线无明显高频毛刺曲线平滑无持续正弦波回中无超调自稳模式打杆回中一次回中无二次摇摆电机温度连续飞行5分钟后触摸电机温热但不烫手无过载报警我还会做一次低油门快速升降和一次大机动把这两个包线也覆盖进去。如果在这些场景里都能保持姿态稳定那这组参数就是合格的。收尾前再补一个个人操作习惯调参结束后我总会在飞行日志记录里写一条参数已收敛的标签把最终参数导出归档。这样下次换电池、换桨叶或者重新校准IMU之后万一手感变了我能立刻判断是新参数的问题还是机械装配变了。最后再分享一个小技巧如果你调的飞机手感总是不对但曲线又看起来一切正常试着把遥控器的摇杆曲线检查一遍。很多人调参调了一上午最后发现是遥控器舵量曲线设得非线性打杆手感天生就肉。调参之前先把遥控器设成线性输出能排除掉一大类干扰因素。
阅读完成 · 觉得有帮助?