☰
VTOL垂直起降固定翼飞控调参实战:Ardupilot/PX4参数设置与过渡调试全流程
2026/10/5 1:29:23 网站建设 项目流程

1. 每次起飞前都要过一遍的设计逻辑

先把话说在前面:这篇是接着上一篇硬件组装和固件刷写的内容往下走的。如果还没搞定飞控固件版本、还没确认电调协议、还不知道自己飞机该用哪个混控器模板,建议先回去把基础打牢,不然参数调试环节很容易被一堆莫名奇妙的报错绕晕。

这篇“第二篇”我会把重心完全放在软硬件参数调试这件事上。具体来说,就是基于Ardupilot/PX4两套固件,在APM/PIXhawk硬件平台上,把一架VTOL垂直起降固定翼从“能通电、能连地面站”调到“能安全完成垂直起飞-过渡-巡航-垂直降落”这个完整闭环。适合什么样的读者?就是你手里已经有一架装好的VTOL,机架、电机、电调、舵机、飞控全都接好了,但刷完固件之后面对Mission Planner或者QGroundControl里密密麻麻的参数表,不知道该动哪些、不该动哪些,更不知道动了之后会发生什么。

这玩意儿跟调普通固定翼完全是两个思路。普通固定翼你只要关心舵面、油门、飞行模式就够用了,VTOL等于在你那架固定翼上硬塞进去一套多旋翼系统,尾座式或者复合翼式都有自己独立的电机和飞控逻辑。打个比方,就像你开一辆手动挡油车本来已经熟练了,突然有人给你换了一辆油电混合的,你得同时管发动机转速、电机扭矩、能量回收力度和换挡时机,四套东西还得互相配合。VTOL调试难就难在这里:不光是参数多,是这些参数之间有动态耦合关系,你调垂直起降段的参数会影响到过渡段的姿态稳定,调过渡段又会牵扯到巡航段的航向控制。

我见过不少新手在这个阶段犯同一个错:拿到参数表就照着网上的配置逐项抄,抄完之后机子还没离地就在PID界面上乱飘,最后直接炸机。所以这篇我不会给你一份“通用参数表”让你照着填,而是会把每一步参数调整背后的逻辑讲清楚,让你知道这个参数控制的是什么、改大了会怎样、改小了又会出现什么现象。只有到了这个层面,你才算真正开始做飞控调试,而不是在做数据搬运工。

2. 上手之前的硬件状态确认

2.1 飞控安装和减震是第一步,别用“感觉差不多”糊弄

很多人调到一半发现姿态数据在Mission Planner里疯狂跳动,第一反应是陀螺仪坏了或者固件有问题,其实八成是飞控安装环节埋下的雷。VTOL和普通固定翼不一样,它的垂直起降阶段电机推力大、转速高,机架振动比常规固定翼猛得多,四轴模式下高频振动直接灌进飞控,姿态估计就会抖成筛子。

我的建议是:飞控最好用专用的减震泡沫或者减震板固定,不要硬邦邦地螺丝拧死在碳板上。Ardupilot和PX4的滤波算法在一定程度上能处理振动,但那是建立在“振动没有超出合理范围”的前提下。你可以在Mission Planner的Flight Data页面里打开IMU振动的实时曲线,找一个油门开到80%以上、机架不拿在手里的状态看数据。如果加速度计的噪声值在飞行模式下长期超过一个明显偏高的阈值——手感上就是曲线毛刺特别重、不像正常波动——先把减震处理了再谈后续调参,否则所有的PID数据都是脏的。顺带提一个细节:飞控的箭头方向必须指向机头,这是所有后续参数设置的地基,方向错了,后面再怎么调都是白搭。

2.2 电调校准和电机方向检查要严肃对待

电调校准这件事,很多人认为刷完固件通电就能直接干。非也,Ardupilot和PX4在电调协议处理上是有区别的:PX4默认走DShot或者OneShot,Ardupilot很多时候用PWM或者DShot是根据配置来的。如果你用的是普通PWM电调却不校准油门行程,飞控输出100%油门时电调可能只转到80%,飞控以为给了满油门,实际飞机没那么大推力,VTOL本来就对推力裕度敏感,这问题会被放大很多。

校准完成后,还要逐个检查电机方向。四轴模式下相邻电机必须反向旋转,同时要检查飞控输出的电机顺序与你实际接线顺序一致。具体的做法是把飞机固定好、卸掉螺旋桨,在Mission Planner的Motors测试页面里逐个解锁电机,对着机架朝向确认每个电机是否按照预期方向和顺序转动。这个步骤看起来基础,但我确实遇到过有朋友在复合翼VTOL上把垂直电机的1、4通道接反了,解锁之后飞机在地上直接抽搐,万幸没伤人。所以不管你觉得多有经验,这一步别省。

2.3 传感器朝向和舵机行程的硬件联调

传感器朝向在Ardupilot里对应AHRS_ORIENTATION参数,PX4里是SENSOR_LEVEL的安装方向设置。VTOL的飞控默认是水平安装,有些复合翼机型为了塞进狭窄舱体,飞控会带角度安装,你需要精确量好角度填进去,差个几度短时间可能没啥事,过渡段一开就明显了。

舵机行程的检查也别跳过。VTOL的固定翼舵面在垂直起降模式下需要根据混控输出动作,如果某个舵面的机械行程被连杆限制住了,飞控PID积分项会持续累积,解锁后即使打杆回中,舵面也会往一个方向硬顶。检查方法是把遥控器所有通道校准完之后,在飞控调参页面逐个通道打满,肉眼确认每个舵面能顺畅走完全行程、没有卡涩、没有异响,并且最终回中时所有舵面都能对齐中立位置。

3. 固件选择与地面站的准备

3.1 Ardupilot和PX4的选型思路

很多人在选固件这件事上犹豫不决,刷了Ardupilot又想去试PX4,来回折腾。我的看法是:你先想清楚以后要在这架飞机上做什么,再决定固件阵营。如果你主要是做航测、航拍、远距离巡航,喜欢成熟稳定、文档齐全、参数调整生态庞大的,Ardupilot值得优先考虑,它在这类固定翼/VTOL场景下积累非常深,相关的参数说明和调参案例在各大社区都很容易搜到。如果你更侧重二次开发、配合机载电脑跑视觉算法、想要更灵活的模块化架构,PX4的资源会更顺手,它的驱动层和应用层解耦比较干净,对定制任务友好很多。

对于VTOL这个具体机型来说,两种固件都能做得很好,差异在于参数命名和混控逻辑。Ardupilot里你看到的是Q_开头的一大串参数,QuadPlane的标准体系;PX4里你看到的是VT_开头的参数加上混控器文件。对于第一次做VTOL调试的人,Ardupilot的QuadPlane体系上手相对容易一些,因为Mission Planner里有专门的QuadPlane参数页面,很多选项已经做了图形化和默认值,逻辑清晰;PX4则更偏向工程师风格,你得去读混控器定义才知道一个参数具体吃掉了哪些输出通道。当然这不是说PX4差,只是两种思路侧重点不同。

3.2 地面站装好之后要做的三件事

地面站方面,Ardupilot阵营几乎标配Mission Planner,PX4阵营用QGroundControl比较多。连接之前先确认几件事:线缆连接是否牢固、飞控驱动是否正确安装、端口速率是否匹配。Mission Planner连接之后首先看Message窗口,里面会滚动显示固件启动过程中的自检信息,任何一行报错都要先看懂再往下走。PX4配合QGroundControl的话,连接后注意看右上角的MAVLink控制台,这里也会给出飞控健康状态。

第一个要做的是固件的完整参数刷新:连接后读参数,保存一份完整参数文件存档,防止后续改乱了能一键恢复。第二个是检查GPS能搜到几颗星,三维定位是否正常;VTOL的过渡段自动判断很依赖GPS速度数据,GPS状态差的时候宁可手动起飞也不要强行切换模式。第三个是确认遥控器的通道映射和开关通道设置,尤其是不同飞行模式的切换通道要映射在物理开关上,VTOL至少需要准备三种模式:多旋翼模式(QStabilize或MC模式)、固定翼模式(FBWA或FW模式)、以及过渡过程用到的自动模式。

4. 核心参数逐项拆解与设置逻辑

4.1 VTOL框架参数与混控原理

在Ardupilot里,刷完QuadPlane固件后第一件事是设置Q_ENABLE=1,这会打开垂直起降对应的全部逻辑。接着是Q_FRAME_CLASS和Q_FRAME_TYPE,这两个参数决定飞控用哪种多旋翼混控策略去驱动垂直电机。复合翼VTOL一般选择X型四旋翼布局,也就是quad模式,前后左右四个垂直电机分别对应X字对角关系。这里要特别提醒:你选的框架类型必须和实际物理布线的电机位置严格对应,否则飞控会觉得某个电机该出力的时候,实际转的是另一个角上的螺旋桨,后果就是飞起来直接翻。

PX4里面对应的框架选择在混控器文件层面,通过设置VTOL_TYPE参数为标准的四旋翼+固定翼复合翼布局,然后选择对应的混控器组。PX4的MC_混控器负责垂直电机,FW_混控器负责固定翼舵面油门电机,两个混控器会在过渡阶段按权重联动,这套机制设计得很巧妙,但第一次接触的人容易懵。

还要注意Q_MIXED_SPOILERS这个参数。Ardupilot的QuadPlane方案里,固定翼的副翼在垂直阶段可以作为辅助姿态控制面参与横滚修正,Q_MIXED_SPOILERS=2的时候,垂直起降过程中飞控会自动使用副翼辅助横滚控制。这个参数在复合翼和尾座式上的表现有差异,尾座式因为机身整体旋转,副翼混控的作用方式和复合翼完全不同。设置之后的验证方式是切换到QStabilize模式,用手轻轻侧倾机架,观察副翼是否产生对应的补偿动作。

4.2 过渡速度与高度逻辑

VTOL最核心的参数就是过渡段。Ardupilot里过渡的判断主要看空速/GPS速度,以及已经解锁油门的大小。Q_ASSIST_SPEED是辅助速度阈值,意思是在固定翼模式下,如果空速传感器或者GPS速度低于这个值,飞控会自动启动垂直电机辅助支撑,防止飞机进入失速状态。很多人以为这个参数只是巡航保护用的,其实在过渡段它也扮演着很重要的角色,从垂直模式切到固定翼模式后,飞控并不盲目关闭垂直电机,而是等速度爬上来之后逐步降低垂直电机输出,Q_ASSIST_SPEED在这里就是判定“当前速度是否足够维持固定翼飞行”的阈值。我见过某复合翼机型把Q_ASSIST_SPEED设得过低,导致过渡后垂直电机过早关闭、机翼还不足以产生足够升力,飞机直接下沉一大截,看着都吓人。

PX4里的对应参数是VT_FW_TRANS_THR_SPD和VT_FW_PERM_STAB_THR,前者设置固定翼完全接管前的最小速度阈值,后者是垂直电机真正永久关闭需要达到的油门和速度条件。过渡速度的设置逻辑是:已知这架飞机的失速速度大概是多少,然后把目标速度设置在失速速度之上、留出安全裕度的同时也不要设得太高,太高的话在整个过渡过程中飞机长时间保持大油门加速,姿态变化剧烈,舵效和机翼受力都会更紧张。

还有过渡的持续时间。Ardupilot用Q_TRANSITION_MS控制从垂直模式命令发出到完全进入固定翼模式的时间窗,默认值好像是3000毫秒。这个时间不是越快越好,因为垂直电机从满出力变成零出力需要与固定翼前拉动力建立匹配关系,如果时间太短,动力切换生硬,飞机会出现明显的俯仰点头;如果时间太长,滞空悬浮在临界状态的时间会增加。实际调试时我的经验是:先用一个稍长的时间窗完成第一次过渡,确认飞机的动态响应,再逐步缩短时间窗直到找到这架机子最干脆利落的切换点。

4.3 PID参数两端分开调

VTOL的姿控PID在Ardupilot里由两套独立参数体系分管:垂直起降段用的是Q_开头的姿态PID,巡航段用的是PTCH2SRV_、RLL2SRV_这些固定翼类PID。很多调参新手以为直接调一套就能通吃整个飞行包线,错得离谱。垂直起降段飞机是一个典型的多旋翼动力学模型,响应快、角速度增益高;巡航段飞机是一个典型的固定翼动力学模型,响应相对慢、有舵效随速度变化的特点。这两套PID互相不干预,但要分别认真调。

垂直段的PID可以按照多旋翼的方式先粗调:先把Q_A_RAT_PIT、Q_A_RAT_RLL这些角速度环P值从默认值开始小幅增加,观察在悬停时飞机是否出现高频抖动,如果出现就减小P。然后适度增加I值来消除稳态误差,D值一般先在默认基础上试着加一点点观察响应,过多会让电机声音变得尖锐、姿态来回过冲。我个人的经验是:VTOL垂直段不要追求过于激进的响应,因为它的结构比普通四轴更重、机翼会增加转动惯量,调得过于灵活反而会引起过渡时的不稳定。

固定翼巡航段的PID调试重点又不一样。先在地面站里把固定翼手动模式FBWA的数据记录打开,做一次手动的平飞测试,看高度保持是否平稳、转弯是否出现明显的拖尾和超调。如果发现滚转轴响应迟钝、动作粘滞,考虑增加RLL2SRV_P;如果出现机翼上下摆动的振荡,减小RLL2SRV_P,同时检查D值是否太小。俯仰轴同理,升降舵的P值过大会出现俯仰振荡,飞机像海豚跳一样上下波动。

PX4的PID参数在MC_和FW_两套体系里分别配置,MC_对应垂直起降的多旋翼控制,FW_对应固定翼控制,调参思路和上面一致,只是参数名字不一样。

5. 调试台上没做完的,到外场才叫做真调试

5.1 姿态稳定检查和安全冗余设置

室内调试阶段能做的极限就是:解锁垂直电机,在低油门状态下用手把飞机固定住,然后在Mission Planner里打遥控器横滚和俯仰杆,观察电机转速是否按正确的方向加快、减慢。这个操作本质上是让飞控用真实传感器数据验证姿态控制方向是否正确。很多人忽略了这个检查,直接外场解锁起飞,然后发现飞机一离地就往一个方向猛偏,根本拉不回来,这种情况大概率是姿态修正方向搞反了。

在正式外场试飞之前,还有几个安全参数必须提前设置到位。Ardupilot的FS_THR_ENABLE要设为2,意思是遥控器失控后进入降落行为,避免失控时飞机飞丢。Q_RTL_MODE设置为合适值,让返航时能用多旋翼模式垂直降落,而不是用固定翼模式滑翔返航。PX4这边对应的是COM_FAIL_ACTION和NAV_RCL_ACT,提前配置好失控后的自动降落或返航策略。对于VTOL来说,返航动作里的垂直电机介入逻辑非常关键,如果从高空固定翼巡航中触发返航,飞控应该先按固定翼方式飞回到家点附近,再在安全高度切换到垂直模式悬停并垂直降落,这一整套联动要在地面站参数里确认无误。

5.2 垂直起降段的首飞验证

第一次试飞建议在无风或微风天气进行,场地要大、地面平整、最好周围没有树和电线杆。起飞前再次检查电量、GPS锁定、遥控器切换模式正常。起飞时选择QStabilize悬停模式,先不要用QHover或者Loiter,因为手动模式下你能更直观地感受到姿态响应。

油门逐渐推起来,飞机离地后保持在一个低高度悬停。观察几个点:一是是否有明显的侧滑趋势,说明重心可能偏了或者某侧电机出力不均;二是是否在悬停中前后乱晃,这时候可以先降下来,调整垂直段的姿态PID。三是留意整机的振动情况,观察地面站的振动曲线是否有异常升高。我见过有人前三点全占了,其实问题根源只是螺旋桨有一个叶片变形了,换了一副桨之后整架飞机像换了一个性格一样,稳得不像话。所以如果悬停表现不好,先查机械层再动参数层,这个顺序很重要。

悬停表现稳定之后,可以做小幅度的横滚俯仰机动,感受飞机的响应速度是否适中。如果打杆响应很好但松杆后还会持续飘动,考虑稍微增加姿态环的P值;如果每次打杆都有明显过冲,考虑适当减小P值或者增加阻尼参数。垂直段调稳之后,再进行Loiter模式的定点悬停测试,调整位置环的P值让飞机定点之后不怎么飘。

5.3 过渡飞行试飞完整链路

过渡试飞是整个VTOL调试里最有技术含量也最刺激的一步,建议挑一个风不大的清晨,把高度拉到安全区,确保固定翼模式的最低安全高度有保障。Ardupilot的逻辑里,只要你在空中从QStabilize切到FBWA模式,飞控就会启动过渡程序:垂直电机开始逐渐降出力,前拉电机逐渐加油门,舵面按固定翼控制律接管。飞行员的职责只是维持方向和控制状态。

第一次过渡尝试时,把Q_TRANSITION_MS设置得略长一些,同时手指放在高度杆上准备好配合。切换后飞机有一个短暂的“换手”过程,可能出现两种典型情况:一种是空速不足导致飞机下沉,这时候要果断切回QStabilize或者加垂直油门辅助,不要犹豫;另一种是过渡太猛、机头急剧上仰,飞机像是被什么东西拽了一下,这时要立刻减小油门并检查固定翼俯仰增益是否过高。

过渡成功后,先在FBWA模式下飞几个通场,让速度稳定下来,观察巡航段的配平和稳定度。然后在空中从FBWA切回QStabilize或者QHover,感受从固定翼模式回到垂直模式的减速过程。这个过程需要更大的空间和高度,因为飞机会明显减速并试图进入悬停状态,如果速度太高就切回垂直模式,飞控需要先消耗动能才能悬停得住。多飞几个往返之后,把整个逻辑摸熟了,再尝试自动过渡流程:在地面站设置Q_ASSIST_SPEED和过渡时间,通过飞行模式开关让飞控自动执行完整的起飞-过渡-巡航-返航-垂直降落流程。

5.4 巡航段的配平和航向修正

过渡成功后,巡航段的调参重点转向配平和航向稳定性。固定翼在FBWA模式下如果有持续的低头或抬头趋势,不要急着去调PID,先看重心位置和物理配平。VTOL因为垂直电机和机架结构的原因,重心和普通固定翼不同,常常会因为电池位置或者前拉电机安装角度问题导致某个方向持续受力。调整策略是先用微调配平把飞机飞平,记录配平值之后再决定是否机械调整重心。

航向稳定方面,如果巡航中需要不断往一个方向带杆才能保持直线,先检查垂直尾翼和方向舵是否有安装角度误差。如果确认机械部分没问题,再去看固定翼的偏航通道参数是否合适。有些复合翼VTOL的垂直尾翼面积相对小,垂风影响下航向保持会显得比较软,这时可以适当增加方向舵的P值,但别期望它能像多旋翼那样把机头死死钉住。

6. 常见问题与排查技巧实录

我一直觉得排查问题的能力比调参本身更能体现一个人对系统的理解。这里把我踩过的坑和朋友们反馈过的问题整理成了一张速查表,基本覆盖VTOL调试中最常撞上的几个问题方向:

现象可能原因排查手段解决方向
垂直模式解锁瞬间某侧电机堵转或异响电调未校准、电机接线顺序错、PWM信号抖动卸载螺旋桨,逐个电机测试重新校准电调,检查电机接线顺序
悬停时姿态数据剧烈跳动飞控减震不良、螺旋桨动平衡差、机架共振查看IMU振动曲线加强减震,换桨/动平衡,降低P值试试
起飞前飞控不断报“Bad GPS Position”GPS未锁定、磁罗盘干扰查看GPS卫星数和星历状态等待锁定,或更换GPS安装位置
过渡时高度骤降空速不足、Q_ASSIST_SPEED没生效、过渡时间太短回看日志里的空速和垂直电机输出提高过渡速度阈值,适当增加过渡时间
固定翼巡航时海豚跳俯仰P值偏大、重心太靠前逐步降低PTCH2SRV_P,检查重心减小俯仰增益,调整重心
Loiter定点悬停位置漂移严重GPS精度差、位置环P值过低看GPS状态和位置环参数改善GPS安装环境,增大位置环P
PX4端过渡后电机不关断混控器配置错误或VT_FW_PERM_STAB_THR未满足检查混控器文件和日志中油门值重新配置混控器,调整垂直电机关闭阈值
Mission Planner连接后参数全空固件版本不匹配或参数文件损坏重新刷写同版本固件刷完重置参数默认值再导入备份

这些问题的共同点是:现象看起来五花八门,但只要回看飞行日志,追踪对应的传感器值、输出值和控制指令,原因往往很快就能浮出水面。Ardupilot的日志系统会记录几乎所有的传感器数据和控制计算过程,PX4的ulog文件配合Flight Review工具也能生成非常直观的分析图表。多学学看日志,比你瞎猜参数高效太多了。

7. 给PX4阵营的几句补充

虽然前面大部分内容都是一个通用思路,但PX4的用户在参数体系上确实容易觉得被冷落,因为网上中文资料相对少一些。这里简单补几个PX4调VTOL时的关键点:PX4的VTOL支持在混控器文件层面做自由定制,机型框架、电机布局、伺服输出通道都能自定义,灵活性很高,但代价是学习曲线更陡。VT_开头的参数和固定翼FW_、多旋翼MC_参数在PX4里分得很清楚,调试时别在错误的参数页里找来找去。

PX4的仿真环境也值得一提。如果你不想一上来就炸真机,可以在Ubuntu里搭建PX4的软件在环仿真环境,配合QGroundControl下载对应机型的仿真模型进行虚拟试飞。虽然手感不能完全替代真机,但对于验证过渡逻辑、检查参数配置、熟悉遥控切换操作非常有帮助。Ardupilot这边也有类似的能力,SITL仿真配合Mission Planner可以跑完整的飞行任务流程。

不过仿真归仿真,真机和外场的风、振动、装配误差、GPS信号遮挡这些东西,只能在真实环境中去体会。不要因为仿真飞得漂亮就膨胀,到了真机还是那句话:小步快跑,每步验证。

8. 调试软件时的几个独特体会

最后想分享一些贴合个人经验的心得,也是我在若干架VTOL上调来调去之后最深的感受。

第一,VTOL调试最忌讳“一步到位”的心态。我最早调第一架复合翼时,想着把所有参数一次配好然后再试飞,结果真机一通上电全乱套。后来学乖了,每次只动一小块:悬停调稳了再去动过渡,过渡顺了再去动巡航,每次只改一个参数,改完就验证。这个习惯看着保守,其实最省时间。

第二,飞行日志是你最好的老师。炸机不可怕,可怕的是炸完之后连日志都不会看。Ardupilot的log文件用Mission Planner就能打开分析,PX4的ulog上传到Flight Review网站几秒钟就能出一份完整的体检报告,姿态估算、振动水平、电机出力、飞控状态全部一目了然。我现在每次试飞回来第一件事都是导出日志,把关键曲线扫一遍,比听试飞员口述直观得多。

第三,别小看天气和环境。VTOL的过渡段对风特别敏感,我做过对比测试:同一天同一架机,风力四级的时候过渡下沉量是微风时的一倍还多。新手调机尽量选清晨或者傍晚风小的时候去飞,这个细节直接决定你的调试效率。

第四,参数没有“标准答案”。网上能搜到的很多所谓“推荐参数”都只是某架特定飞机在特定环境下的适配结果,照搬过来大概率不匹配。理解了参数背后的物理含义,用调试经验去推导适合自己那架机子的数值区间,这才是你真正的核心竞争力。

垂直起降固定翼的调参之路确实不算轻松,但一旦整架飞机能从垂直升空、顺畅过渡到巡航、再稳稳地垂直降落回来,那种成就感,普通固定翼是给不了的。希望大家都能在这个过程里折腾出自己的一套方法论。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询