
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或者OneShotArdupilot很多时候用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 PlannerPX4阵营用QGroundControl比较多。连接之前先确认几件事线缆连接是否牢固、飞控驱动是否正确安装、端口速率是否匹配。Mission Planner连接之后首先看Message窗口里面会滚动显示固件启动过程中的自检信息任何一行报错都要先看懂再往下走。PX4配合QGroundControl的话连接后注意看右上角的MAVLink控制台这里也会给出飞控健康状态。第一个要做的是固件的完整参数刷新连接后读参数保存一份完整参数文件存档防止后续改乱了能一键恢复。第二个是检查GPS能搜到几颗星三维定位是否正常VTOL的过渡段自动判断很依赖GPS速度数据GPS状态差的时候宁可手动起飞也不要强行切换模式。第三个是确认遥控器的通道映射和开关通道设置尤其是不同飞行模式的切换通道要映射在物理开关上VTOL至少需要准备三种模式多旋翼模式QStabilize或MC模式、固定翼模式FBWA或FW模式、以及过渡过程用到的自动模式。4. 核心参数逐项拆解与设置逻辑4.1 VTOL框架参数与混控原理在Ardupilot里刷完QuadPlane固件后第一件事是设置Q_ENABLE1这会打开垂直起降对应的全部逻辑。接着是Q_FRAME_CLASS和Q_FRAME_TYPE这两个参数决定飞控用哪种多旋翼混控策略去驱动垂直电机。复合翼VTOL一般选择X型四旋翼布局也就是quad模式前后左右四个垂直电机分别对应X字对角关系。这里要特别提醒你选的框架类型必须和实际物理布线的电机位置严格对应否则飞控会觉得某个电机该出力的时候实际转的是另一个角上的螺旋桨后果就是飞起来直接翻。PX4里面对应的框架选择在混控器文件层面通过设置VTOL_TYPE参数为标准的四旋翼固定翼复合翼布局然后选择对应的混控器组。PX4的MC_混控器负责垂直电机FW_混控器负责固定翼舵面油门电机两个混控器会在过渡阶段按权重联动这套机制设计得很巧妙但第一次接触的人容易懵。还要注意Q_MIXED_SPOILERS这个参数。Ardupilot的QuadPlane方案里固定翼的副翼在垂直阶段可以作为辅助姿态控制面参与横滚修正Q_MIXED_SPOILERS2的时候垂直起降过程中飞控会自动使用副翼辅助横滚控制。这个参数在复合翼和尾座式上的表现有差异尾座式因为机身整体旋转副翼混控的作用方式和复合翼完全不同。设置之后的验证方式是切换到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安装环境增大位置环PPX4端过渡后电机不关断混控器配置错误或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的过渡段对风特别敏感我做过对比测试同一天同一架机风力四级的时候过渡下沉量是微风时的一倍还多。新手调机尽量选清晨或者傍晚风小的时候去飞这个细节直接决定你的调试效率。第四参数没有“标准答案”。网上能搜到的很多所谓“推荐参数”都只是某架特定飞机在特定环境下的适配结果照搬过来大概率不匹配。理解了参数背后的物理含义用调试经验去推导适合自己那架机子的数值区间这才是你真正的核心竞争力。垂直起降固定翼的调参之路确实不算轻松但一旦整架飞机能从垂直升空、顺畅过渡到巡航、再稳稳地垂直降落回来那种成就感普通固定翼是给不了的。希望大家都能在这个过程里折腾出自己的一套方法论。