3. 飞控固件与配置基线建立

飞控系统集成中最容易被低估、却最容易在后期造成返工的一步,就是“基线建立”。所谓基线,是指在某一时刻被明确记录、冻结并可复现的一整套软硬件状态:固件版本、参数配置、机架类型、电机布局、传感器校准结果,以及它们之间的对应关系。没有基线,同一架飞机在不同时间、不同电脑上刷出的行为可能完全不同,排障时无法判断“是硬件坏了还是参数变了”。本节围绕固件版本管理、参数配置基线、机架与电机布局设置、传感器校准流程四条主线展开,目标是让读者能独立完成一次可追溯的基线固化。

固件版本管理:先确定“刷什么”

固件版本管理不是简单地“刷最新版”。工程上要同时锁定三件事:固件类型(如 PX4、ArduPilot 的 Copter/Plane 分支)、具体版本号(如 PX4 v1.14.3、ArduCopter 4.5.1)、以及编译选项或目标板(如 Pixhawk 6C、CUAV V5+)。建议在项目目录中建立版本台账,记录每架飞机的固件标识。刷写前先读取当前版本,刷写后再读取一次,确认写入成功。

# 以 PX4 为例,查看当前固件版本
px4_fmu-v6c_default  # 目标板标识
ver all              # 在 MAVLink 控制台查看版本与构建信息

# 以 ArduPilot 为例,查看版本
# 在 Mission Planner 的 MAVLink 控制台输入:
#   version
# 输出示例:ArduCopter V4.5.1 (abc12345)

版本号中的提交哈希(如 abc12345)非常关键,它比“4.5.1”更能唯一确定代码状态。台账中应同时记录版本号与哈希,并注明刷写日期、操作人和校验方式(如刷写后读取的哈希是否一致)。如果同一机型有多架飞机,建议使用同一固件哈希,避免“同型号不同行为”。

参数配置基线:把“能飞”变成“可复现”

参数是飞控行为的实际决定者。参数基线不是把所有参数抄一遍,而是记录与安全、控制、传感器、机架相关的关键参数,并保存完整参数文件作为兜底。推荐做法是:先完成机架与校准,再导出一次“初始基线”,之后每次调参都导出增量对比。

关键参数可按功能分组记录,例如:

  • 机架与布局:FRAME_CLASS、FRAME_TYPE、MOT_PWM_TYPE、电机顺序相关参数。
  • 传感器:CAL_GYRO0_ID、CAL_ACC0_ID、CAL_MAG0_ID、COMPASS_OFS 等校准标识与偏置。
  • 控制与限幅:ANGLE_MAX、PILOT_Y_RATE、MOT_SPIN_ARM、MOT_SPIN_MIN、BATT_LOW_VOLT。
  • 安全:FS_THR_ENABLE、FS_GCS_ENABLE、ARMING_CHECK。

参数文件建议按“机型_日期_用途.param”命名,例如 X4_20250612_baseline.param。每次修改后重新导出并保留旧文件,形成可回溯链。若使用 PX4,可导出 .params;若使用 ArduPilot,可导出 .param。两者格式不同,不可混用。

参数基线的判断标准:把同一份参数文件重新导入一架同构型飞机,在相同机架、相同校准状态下,解锁与悬停表现应基本一致。若差异明显,优先检查机架类型、电机布局和传感器校准是否一致,而不是直接改 PID。

机架类型与电机布局设置

机架类型和电机布局是“物理构型”在飞控中的映射,设置错误会导致起飞瞬间翻覆。以四旋翼为例,常见 X 型布局中,电机编号通常为:右前 1、左后 2、左前 3、右后 4(不同固件略有差异,必须以所用固件文档为准)。设置时需要同时确认三件事:机架类别(如 Quad X)、电机编号与物理位置的对应、以及电机转向。

实操中建议按以下顺序进行:先设置机架类型,再逐个测试电机编号与转向,最后检查桨叶安装方向。测试电机时务必卸桨,使用地面站或遥控器逐一输出,观察对应电机是否转动、转向是否正确。若转向错误,可通过交换电机三相线中的任意两根,或在固件中调整电机方向参数解决。

四旋翼 X 型布局:电机编号、转向与机头方向 机头 / 前 M1 右前 逆时针 M2 左后 逆时针 M3 左前 顺时针 M4 右后 顺时针 FC 判断顺序:机架类型 → 电机编号对应 → 转向 → 桨叶方向;测试电机必须卸桨。

图中给出的是常见 X 型四旋翼的编号与转向示例,实际以所用固件文档为准。需要特别强调的是:机头方向定义必须与固件一致。若把机头方向装反,姿态控制会朝错误方向修正,表现为一起飞就向一侧猛冲。设置完成后,可用地面站查看姿态指示是否与手动抬升机头一致。

传感器校准流程

传感器校准是基线中“最不能省”的环节。通常包括加速度计、陀螺仪、磁罗盘、水平(水平校准)和遥控器校准。校准顺序建议为:先做水平校准,再做加速度计六面校准,然后磁罗盘校准,最后遥控器校准。原因是加速度计和磁罗盘的结果会影响姿态解算,而遥控器只影响输入通道。

加速度计六面校准要求把飞机分别置于水平、左倾、右倾、机头朝上、机头朝下、倒置六个姿态,每个姿态保持静止直到地面站确认。磁罗盘校准则需要在远离电机、电调和金属桌面的环境中,缓慢旋转飞机覆盖所有方向。校准完成后,务必检查罗盘方向是否正确:将机头指向正北,地面站航向应接近 0°;若偏差超过 10°,应重新校准或检查磁干扰。

常见错误:在室内靠近钢筋、音箱或大电流线缆处校准罗盘,导致罗盘偏置被“校准”到错误值。正确做法是到室外空旷处,或至少远离干扰源 1 米以上,并在校准后做一次航向核对。

基线固化与交付记录

完成上述步骤后,应形成一份可交付的基线记录。建议至少包含:固件类型与哈希、参数文件、机架类型与电机布局、传感器校准标识、校准日期、操作人、以及一次地面验证结果(如解锁是否正常、姿态指示是否正确、电机顺序是否一致)。这份记录既是交付物,也是后续排障的起点。

基线项记录内容示例验证方式
固件ArduCopter 4.5.1 (abc12345)刷写后读取 version 一致
参数X4_20250612_baseline.param重新导入后关键参数一致
机架/布局Quad X,M1 右前逆时针卸桨逐一测试电机编号与转向
传感器ACC/GYRO/MAG 校准 ID 与日期航向核对、水平指示核对
遥控器通道行程与模式开关地面站通道监视器检查

基线建立完成后,后续任何改动都应遵循“先记录、再修改、后验证”的原则。这样在集成与交付阶段,才能把“这架飞机现在是什么状态”说清楚,也才能在出现异常时快速定位是固件、参数、机架设置还是传感器校准的问题。