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。两者格式不同,不可混用。
机架类型与电机布局设置
机架类型和电机布局是“物理构型”在飞控中的映射,设置错误会导致起飞瞬间翻覆。以四旋翼为例,常见 X 型布局中,电机编号通常为:右前 1、左后 2、左前 3、右后 4(不同固件略有差异,必须以所用固件文档为准)。设置时需要同时确认三件事:机架类别(如 Quad X)、电机编号与物理位置的对应、以及电机转向。
实操中建议按以下顺序进行:先设置机架类型,再逐个测试电机编号与转向,最后检查桨叶安装方向。测试电机时务必卸桨,使用地面站或遥控器逐一输出,观察对应电机是否转动、转向是否正确。若转向错误,可通过交换电机三相线中的任意两根,或在固件中调整电机方向参数解决。
图中给出的是常见 X 型四旋翼的编号与转向示例,实际以所用固件文档为准。需要特别强调的是:机头方向定义必须与固件一致。若把机头方向装反,姿态控制会朝错误方向修正,表现为一起飞就向一侧猛冲。设置完成后,可用地面站查看姿态指示是否与手动抬升机头一致。
传感器校准流程
传感器校准是基线中“最不能省”的环节。通常包括加速度计、陀螺仪、磁罗盘、水平(水平校准)和遥控器校准。校准顺序建议为:先做水平校准,再做加速度计六面校准,然后磁罗盘校准,最后遥控器校准。原因是加速度计和磁罗盘的结果会影响姿态解算,而遥控器只影响输入通道。
加速度计六面校准要求把飞机分别置于水平、左倾、右倾、机头朝上、机头朝下、倒置六个姿态,每个姿态保持静止直到地面站确认。磁罗盘校准则需要在远离电机、电调和金属桌面的环境中,缓慢旋转飞机覆盖所有方向。校准完成后,务必检查罗盘方向是否正确:将机头指向正北,地面站航向应接近 0°;若偏差超过 10°,应重新校准或检查磁干扰。
基线固化与交付记录
完成上述步骤后,应形成一份可交付的基线记录。建议至少包含:固件类型与哈希、参数文件、机架类型与电机布局、传感器校准标识、校准日期、操作人、以及一次地面验证结果(如解锁是否正常、姿态指示是否正确、电机顺序是否一致)。这份记录既是交付物,也是后续排障的起点。
| 基线项 | 记录内容示例 | 验证方式 |
|---|---|---|
| 固件 | ArduCopter 4.5.1 (abc12345) | 刷写后读取 version 一致 |
| 参数 | X4_20250612_baseline.param | 重新导入后关键参数一致 |
| 机架/布局 | Quad X,M1 右前逆时针 | 卸桨逐一测试电机编号与转向 |
| 传感器 | ACC/GYRO/MAG 校准 ID 与日期 | 航向核对、水平指示核对 |
| 遥控器 | 通道行程与模式开关 | 地面站通道监视器检查 |
基线建立完成后,后续任何改动都应遵循“先记录、再修改、后验证”的原则。这样在集成与交付阶段,才能把“这架飞机现在是什么状态”说清楚,也才能在出现异常时快速定位是固件、参数、机架设置还是传感器校准的问题。