☰
Mission Planner固定翼调参速查表:AFS、AHRS、ARSPD、COMPASS参数详解与避坑指南
2026/11/3 3:46:46 网站建设 项目流程

简介:这份文档面向飞控开发与无人机调试人员,系统整理了 Mission Planner 中各类飞行模式的中文参数说明,帮助读者摆脱英文参数表的理解障碍,快速定位并调整关键参数。内容覆盖 ACRO 特技模式的姿态锁定与俯仰、横滚角速度,ADSB 模式行为控制,AFS 高级失效保护系统的 AMSL 高度限制、地理围栏、心跳引脚与飞行终止动作,以及 AHRS 姿态解算中的 EKF 类型、GPS 参与度、主板安装朝向等核心条目,并附有取值范围与功能释义。资源包共 1 个 docx 文件,约 66KB,以表格化参数清单形式呈现,便于按模式检索和对照调参。目前已有 4112 人学习,适合需要逐项核对参数含义、排查失效保护配置或搭建调参笔记的飞控开发者参考使用。

1. 一份被翻烂的调参速查表:从 ACRO 到 COMPASS 的中文参数手册

飞控调参最怕的不是参数多,而是参数名看得懂、含义猜不透。尤其固定翼上电前那半小时,一边翻英文文档一边对地面站,一个AFS_TERM_ACTION设错,试飞时就是直接坠机。这份《Mission Planner 所有飞行模式中文参数调参必备》把 ACRO、AFS、AHRS、ARSPD、BATT、COMPASS 等几大参数族的默认值、取值范围和中文释义逐条整理成文档,本质是一张能对着地面站逐项核对的速查表。它适合刚接手固定翼调参的新手照着抄,也适合熟手在改失效保护、空速计、罗盘补偿时快速回查边界值。下面按“先立概念、再动手、最后避坑”的顺序,把这份文档怎么用讲透。

2. 参数族怎么分组:先分清哪些能碰、哪些别乱动

拿到一份几百行的参数表,第一反应不该是从头往下读,而是先按“改动风险”分组。这份文档的参数大致能分成三类:飞行姿态与导航类(ACRO、AHRS、ALT、ARSPD)、安全与失效保护类(AFS、ARMING、BATT、CHUTE)、外设与传感器类(COMPASS、CAM、BRD)。分组的意义在于,姿态类参数改错顶多飞得别扭,安全类参数改错可能直接触发空中终止,外设类改错则是“看着正常、实际没生效”。

2.1 按风险等级给参数贴标签

我一般会在文档上做三色标记。绿色是“可以按机型微调”的,比如ACRO_PITCH_RATE、ACRO_ROLL_RATE、AUTOTUNE_LEVEL、ALT_HOLD_RTL;黄色是“必须和硬件对得上”的,比如BATT_VOLT_PIN、BATT_CURR_PIN、ARSPD_PIN、COMPASS_EXTERNAL;红色是“不懂就别动”的,比如AFS_TERM_ACTION、AFS_AMSL_LIMIT、AHRS_ORIENTATION、ARMING_CHECK。

这个分法的依据很实在:绿色参数错了,飞机还能飞回来;黄色参数错了,地面站读数全是假的,你会基于假数据做判断;红色参数错了,飞控会在你没预期的时候执行终止或解锁逻辑。文档里AFS_TERM_ACTION那条写得很直白——设为魔数 42 就是“所有舵面最大打舵加 0 油门,故意让自己坠机”,这种参数在没搞懂之前碰它没有任何收益。

2.2 默认值不是建议值,是“出厂假设”

文档每条参数都带了默认值,但默认值成立是有前提的。BATT_AMP_PERVOLT默认 17,前提是你用 3DR 电源模块;BATT_VOLT_PIN默认 2,前提是 Pixhawk 接电源模块。换一套硬件,默认值就是错的。所以读这份表时,默认值那一列的正确用法是“对照我的硬件,判断这个默认值还成不成立”,而不是“没想法就填默认”。

一个典型翻车点:ARSPD_PIN在文档里列了 APM2 用 0-9、APM1 用 64、PX4 用 11、Pixhawk 用 15、I2C 空速计用 65。如果你拿着 Pixhawk 却填了 11,空速读数要么不动要么乱跳,而你不会立刻意识到是引脚号错了,只会怀疑空速计坏了。

2.3 用表格把“硬件—参数”对应关系固定下来

调参前建议先填一张硬件对照表,把文档里黄色类参数逐项落到自己的配置上。下面这张表是常见组合的填法,实际以你手上的硬件为准:

参数含义Pixhawk+电源模块APM2.5+电源模块PX4
BATT_VOLT_PIN电压检测引脚213100
BATT_CURR_PIN电流检测引脚312101
BATT_VOLT_MULT电压换算系数10.110.11(PX4IO 模块)
BATT_AMP_PERVOLT电流换算系数1717按模块
ARSPD_PIN空速计引脚15按板型11 或 65

这张表填完,黄色参数基本就锁死了,后面调姿态参数时不用再回头纠结硬件映射。文档里BATT_MONITOR那条也提醒了:0 禁用、3 仅电压、4 电压和电流,先确认监控类型再谈系数,否则系数调得再准也没有数据来源。

3. 失效保护与安全参数:AFS 和 ARMING 怎么配才不误触发

安全参数是这份文档里信息密度最高的部分,也是最容易“配了等于没配”的部分。AFS_ENABLE设为 0 时,文档明确写了“所有高级失效保护功能无效”——也就是说你在AFS_*下面调的任何值都不会生效。很多人调完一圈发现失效保护没动作,根子就在这一条。

3.1 AFS 的启用链条:先开总闸再设分支

AFS 相关参数存在依赖关系,配置顺序应该是:AFS_ENABLE置 1 → 按需开AFS_GEOFENCE、AFS_RC、AFS_DUAL_LOSS→ 再设阈值类参数。文档里AFS_RC_FAIL_TIME默认 0,意味着遥控失效判定时间没设,配合AFS_RC才有意义;AFS_MAX_COM_LOSS和AFS_MAX_GPS_LOSS默认 0,文档解释是“允许任意数目的失联事件”,也就是不限制、不触发停止任务。

一个可抄的保守配置思路(数值按机型改,逻辑不变):

# 通过 MAVLink 参数协议写入,示例用 pymavlink # 先开总闸,再设分支,最后设阈值 param set AFS_ENABLE 1 param set AFS_GEOFENCE 1 param set AFS_RC 1 param set AFS_RC_FAIL_TIME 2 param set AFS_MAX_COM_LOSS 3 param set AFS_MAX_GPS_LOSS 3 param set AFS_TERM_ACTION 0

这段配置的逻辑是:启用 AFS 总开关,打开地理围栏和遥控失效保护,遥控失联 2 秒判定失效,通讯和 GPS 各允许累计 3 次失联后停止任务恢复。AFS_TERM_ACTION保持 0,即终止后不执行额外动作——这是最保守的选择,魔数 42 那种“主动坠机”只在特定测试场景用。

参数说明:AFS_RC_FAIL_TIME单位是秒,设太小会在信号抖动时误触发,设太大则失效保护形同虚设;AFS_MAX_COM_LOSS和AFS_MAX_GPS_LOSS的“累计”是跨整个上电周期算的,不是单次任务,这点文档没展开,但实际排查时经常被忽略。

3.2 高度限制的两个坑:AMSL 与 QNH 单位不一致

AFS_AMSL_LIMIT和AFS_QNH_PRESSURE是一对。文档特别提醒:AFS_AMSL_LIMIT以米计,而“气压高度限制通常以英尺来计”。如果你按英尺的习惯填了 400,实际含义是 400 米,限制比预期低了一大截,飞机爬到一半就被终止。AFS_QNH_PRESSURE单位是毫米汞柱,0 值禁用高度限制,填之前先确认你的气压基准用的是毫米汞柱还是百帕。

AFS_AMSL_ERR_GPS默认 -1,文档解释是“气压计失灵会立即触发飞行终止”。这个 -1 不是“关闭”,而是“零容错”。如果你希望气压计失灵后还能靠 GPS 高度撑一段,需要把它设成正的误差裕量,并且文档提到 OBC 用户应与安全盒保持一致——这条对做载荷控制的团队尤其重要,飞控和安全盒的高度判定不一致,会出现一方认为该终止、另一方还在正常飞的割裂状态。

3.3 ARMING_CHECK 的位掩码:别把“能解锁”当成“该解锁”

ARMING_CHECK默认 1(全部检查),但文档正文里有一句容易看漏的话:“默认选项是不检查,允许任意时刻解锁”。这两处描述存在张力,实际以你固件版本的参数说明为准,配置时按位掩码自己算清楚。文档给的例子很实用:要“GPS 锁定且人工遥控有效才允许解锁”,设 72,即 8(GPS)+ 64(遥控发射机)。

位掩码的算法是把需要的检查项编码相加:2 气压计、4 罗盘、8 GPS、16 惯导、32 参数、64 遥控、128 主板电压、256 电池等级。想全开就设 1,想全关设 0。注意ARMING_REQUIRE设为 0 时“需要重启设备才能解锁”,而且即便它为 0,只要ARMING_CHECK非 0,检查不通过照样解不了锁——这两个参数是“要不要解锁流程”和“解锁前查什么”两层,别混为一谈。

4. 姿态、空速与罗盘:AHRS、ARSPD、COMPASS 的实操配置

这三组参数决定飞控“知不知道自己朝哪、飞多快、航向对不对”,是固定翼能不能稳定飞的基础。文档在这部分给的信息最细,也最值得逐条对照。

4.1 AHRS_ORIENTATION:装反了不是靠这个参数救

AHRS_ORIENTATION有 38 个取值,从 0(无旋转)到 37(Roll90Yaw270),覆盖 45 度和 90 度步进的安装朝向。文档明确写了“这个参数将在下一次重启时生效,重启前必须将设备放置水平”。实操里最常见的错误是:飞控装歪了 30 度,想用这个参数凑,但取值只有 45 度步进,凑不上,最后姿态还是偏。正确做法是物理安装尽量对齐,这个参数只处理 45/90 度整数倍的朝向差异。

另一个坑是AHRS_TRIM_X和AHRS_TRIM_Y,单位弧度,范围 ±0.1745(约 ±10 度),用来补偿机架和飞控板之间的横滚、俯仰差异。有人把安装歪斜全丢给 TRIM,结果超过 10 度就设不进去,还以为是参数坏了。TRIM 是微调,ORIENTATION 是粗调,顺序不能反。

4.2 ARSPD 校准:RATIO 和 OFFSET 不是拍脑袋填的

空速计相关参数里,ARSPD_RATIO默认 1.9936、ARSPD_OFFSET默认 2.333235,这两个值因传感器而异,不能照抄。文档提到ARSPD_AUTOCAL启用后,飞控会在飞行中基于地速和实际空速的估计滤波器自动调整 RATIO,变化超过 5% 会每隔 2 分钟存 EEPROM。这是个省事但需要耐心的过程:先手动给一个接近的初值,再开自动校准,飞几个起落看收敛。

ARSPD_TUBE_ORDER默认 2(接受任意顺序),文档解释了为什么有人会指定顺序:指定后空速计能检测静压过大,而静压过大可能被误读成正空速。如果你遇到“地面读数不为零、越飞越大”的怪现象,先查皮托管接法,再考虑把这个参数从 2 改成 0 或 1 来定位问题。

ARSPD_USE设为 0 时,空速数据不参与飞行控制,但ARSPD_FBW_MAX和ARSPD_FBW_MIN仍然定义自动油门下的空速映射。文档给的默认 22 和 9 米/秒只是示例,必须按你的机型失速速度和巡航速度重设,范围都是 5 到 50。

4.3 COMPASS:外部罗盘和自动学习的边界

COMPASS_EXTERNAL在 PX4 上自动识别,在 APM2 上必须手动设 1。文档还提醒:用了外罗盘,COMPASS_ORIENT独立于AHRS_ORIENTATION,两个朝向要分别设。COMPASS_LEARN启用后自动获取偏移,但COMPASS_MOT_X/Y这类电机干扰补偿系数默认 0,需要在实际通电、电机运转的状态下观察罗盘读数漂移再填,范围 -1000 到 1000,单位是“每安培偏移量或全油门偏移量”。

COMPASS_AUTODEC启用后按 GPS 坐标自动算磁偏角,COMPASS_DEC则是手动值,单位弧度,范围 -3.142 到 3.142。两者不要同时依赖,自动能算准就别手填,手填错了航向会整体偏一个固定角度,飞起来就是“直线飞成弧线”。

5. 避坑与排查:五条血泪经验

5.1 现象:改了 AFS 参数,失效保护完全不动作

原因:AFS_ENABLE还是 0,或者AFS_RC、AFS_GEOFENCE等分支没开。文档写得很清楚,总开关为 0 时所有高级失效保护无效。

解决:按 3.1 的链条顺序逐项确认,改完重启再测。测试时不要真飞,用地面站模拟遥控失联或 GPS 丢失,看飞控是否按预期进入保护状态。

5.2 现象:高度限制在远低于设定值时就触发

原因:AFS_AMSL_LIMIT单位是米,但配置时按英尺填了;或者AFS_QNH_PRESSURE的基准压强单位搞错(毫米汞柱 vs 百帕)。

解决:把限制值换算成米重新填,QNH 按文档要求用毫米汞柱,0 表示禁用。改完在地面用气压模拟验证触发点。

5.3 现象:空速读数地面不为零,空中越飞越大

原因:皮托管动静压接反,或ARSPD_TUBE_ORDER设为 2 时掩盖了接法问题;也可能是ARSPD_OFFSET没校准。

解决:先把ARSPD_TUBE_ORDER临时设为 0 或 1 定位接法,重新做地面校准拿 OFFSET,再开ARSPD_AUTOCAL让 RATIO 收敛。校准期间ARSPD_USE设 0,别让错误空速进控制环。

5.4 现象:解锁失败,地面站提示检查不通过

原因:ARMING_CHECK位掩码开了某项检查但对应条件不满足,比如开了 GPS 检查(8)但室内没星;或者ARMING_REQUIRE和ARMING_CHECK的组合理解反了。

解决:按位掩码逐项核对,室内调试把 GPS 位去掉,只留必要的罗盘和惯导检查。改ARMING_REQUIRE后记得重启。

5.5 现象:航向整体偏一个固定角度

原因:COMPASS_DEC手填了错误的磁偏角,或COMPASS_ORIENT与外罗盘实际朝向不符。

解决:优先用COMPASS_AUTODEC自动计算,关掉手填值;外罗盘朝向按实际安装设COMPASS_ORIENT,它和AHRS_ORIENTATION是两套独立配置。

6. 把速查表变成检查单:一次上电前的完整核对流程

文档的价值不在“读一遍”,而在“每次上电前走一遍”。我的习惯是把这份参数表裁成一张检查单,按固定顺序过:先硬件映射(BATT、ARSPD、COMPASS 的 PIN 和 EXTERNAL),再安全链条(AFS_ENABLE 到各分支到阈值),再姿态基准(AHRS_ORIENTATION、TRIM),最后空速与罗盘校准状态。这个顺序不能乱,因为后面的判断依赖前面的数据可信。

举个具体做法:把关键参数导出成一份基线文件,每次改动机型或硬件后重新导出对比。用 pymavlink 拉参数并和基线做 diff,能快速看出哪些值被意外改动:

from pymavlink import mavutil # 连接飞控,拉取全部参数 master = mavutil.mavlink_connection('/dev/ttyUSB0', baud=57600) master.wait_heartbeat() master.mav.param_request_list_send(master.target_system, master.target_component) params = {} while True: msg = master.recv_match(type='PARAM_VALUE', blocking=True, timeout=5) if msg is None: break params[msg.param_id] = msg.param_value # 与基线对比,只打印差异项 baseline = {...} # 上次确认过的参数快照 for k, v in params.items(): if k in baseline and abs(baseline[k] - v) > 1e-6: print(f'{k}: baseline={baseline[k]} current={v}')

这段脚本的逻辑是先请求全量参数列表,逐条收进字典,再和基线快照比对,只输出有差异的项。参数说明:param_request_list_send一次请求全部,recv_match的 timeout 设 5 秒防止卡死;比对阈值 1e-6 是为了过滤浮点传输误差。实际用的时候基线快照要按机型分开存,别拿 A 机的基线去比 B 机。

还有一个容易被忽略的验证点:AHRS_GPS_GAIN文档明确写了“固定翼飞机请勿设置为 0,否则将导致失控”,默认 1.0。如果你在排查姿态问题时把它调成 0 做对照实验,记得改回来,并且改完重启。AHRS_GPS_USE设为 0 时 GPS 不参与导航只做盲预测,正常飞行必须非零——这两条是文档里少有的带“失控”字样的警告,值得单独标红。

最后说个习惯。早些年我调完参数直接上电试飞,觉得“地面站看着都对”。后来一次AFS_AMSL_ERR_GPS保持 -1 没注意,气压计在低温下漂了一点,飞控直接判定高度异常触发终止,飞机在返场途中就掉了。从那以后我每次改完安全类参数,都强制走一遍“地面模拟触发 + 参数 diff + 重启复读”三步,确认保护逻辑按预期动作才允许解锁。这份中文参数表最大的用处,就是让这三步有据可查,而不是凭记忆。希望帮到你。

本文还有配套的精品资源,点击获取

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

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

立即咨询