3. 核心参数分类详解:系统参数、传感器参数、控制器参数、通信参数
各位同学,欢迎来到参数系统的核心章节。说实话,ArduPilot 的参数有上千个,刚接触的人很容易懵。我当年第一次看到参数列表时,脑子里就一个想法——这玩意儿怎么调?
后来我慢慢发现,其实这些参数是有规律可循的。它们大致可以分为四大家族:系统参数、传感器参数、控制器参数、通信参数。今天我就带你把它们挨个捋一遍。
核心观点: 参数分类的本质,是让你知道「调什么」和「为什么调」。不是所有参数都需要动,但你必须知道它们在哪。
3.1 系统参数:飞控的「骨架」
系统参数,说白了就是飞控的底层配置。它决定了你的飞控板是什么型号、用什么协议、跑什么模式。
我个人习惯,拿到一块新飞控,第一件事就是检查系统参数。为什么?因为很多炸机事故,根源就是系统参数没配对。
| 参数名 | 作用 | 典型值 |
|---|---|---|
| SYSID_THISMAV | 飞控的系统ID,多机协同时必须唯一 | 1 |
| SYSID_MYGCS | 地面站的系统ID | 255 |
| FRAME_CLASS | 机架类型(四旋翼、六旋翼、固定翼等) | 0(四旋翼) |
| FRAME_TYPE | 机架子类型(X型、+型等) | 0(X型) |
| LOG_BITMASK | 日志记录开关,调试时建议全开 | 65535 |
我的经验: 有一次我在现场调试,发现飞机起飞就偏航。查了半天,结果是 FRAME_TYPE 设成了 + 型,但实际机架是 X 型。嗯,这种低级错误,犯过一次就再也不会忘了。
3.2 传感器参数:飞控的「眼睛」
传感器参数决定了飞控能不能「看」清世界。包括加速度计、陀螺仪、磁力计、气压计、GPS 等等。
你想想看,如果传感器参数不准,后面控制器调得再好也没用。这就是所谓的「垃圾进,垃圾出」。
3.2.1 加速度计与陀螺仪
这两个是 IMU 的核心。关键参数是校准偏移量和噪声抑制。
# 加速度计校准参数示例
INS_ACC2OFFS_X = 0.0123 # X轴偏移量
INS_ACC2OFFS_Y = -0.0056 # Y轴偏移量
INS_ACC2OFFS_Z = 0.0987 # Z轴偏移量(重力方向)
# 陀螺仪参数
INS_GYRO2OFFS_X = 0.0012 # X轴偏移量
INS_GYRO2OFFS_Y = -0.0008 # Y轴偏移量
INS_GYRO2OFFS_Z = 0.0003 # Z轴偏移量
避坑指南: 我曾经遇到过一架飞机,飞着飞着突然翻滚。后来发现是 INS_ACC2OFFS_Z 的值被误改了。记住:传感器校准参数,非必要不要手动修改。一定要用地面站的校准流程。
3.2.2 磁力计(罗盘)
磁力计是飞控的「指南针」。但它也是最容易受干扰的传感器。
- COMPASS_ENABLE:是否启用磁力计。多罗盘系统建议只启用一个。
- COMPASS_OFFS_X/Y/Z:硬铁校准偏移量。
- COMPASS_DEC:磁偏角,根据你所在地区设置。
我建议,每次更换飞控安装位置后,都重新做一次罗盘校准。尤其是靠近大电流线缆时,干扰非常明显。
3.2.3 GPS 与气压计
GPS 参数主要关注定位精度和更新率。气压计则负责高度测量。
| GPS_TYPE | GPS 协议类型(UBlox、NMEA 等) | 1(UBlox) |
| GPS_RATE_MS | GPS 数据更新周期(毫秒) | 200(5Hz) |
| BARO_ALT_OFFSET | 气压计高度偏移 | 0 |
小技巧: 如果你在高原地区飞行,记得检查 BARO_ALT_OFFSET。气压计在海平面和 4000 米高原的读数差异很大,不校准的话高度会飘得离谱。
3.3 控制器参数:飞控的「大脑」
控制器参数,说白了就是 PID 参数。这是调参的重头戏,也是很多人最头疼的部分。
ArduPilot 的控制器分为内环(角速度环)和外环(角度环/位置环)。内环响应快,外环响应慢。调参时一定要先调内环,再调外环。
3.3.1 姿态控制参数
# 横滚/俯仰轴 PID
ATC_RAT_RLL_P = 0.15 # 比例增益
ATC_RAT_RLL_I = 0.10 # 积分增益
ATC_RAT_RLL_D = 0.005 # 微分增益
# 偏航轴 PID(偏航通常不需要太大的 D 项)
ATC_RAT_YAW_P = 0.20
ATC_RAT_YAW_I = 0.05
ATC_RAT_YAW_D = 0.000
我个人习惯,先给一个保守的 P 值(比如 0.10),然后慢慢往上加。加到飞机出现轻微抖动时,再回调 20%。这就是所谓的「临界增益法」。
3.3.2 位置控制参数
位置控制依赖 GPS 和气压计。参数包括水平位置 P 和高度 P。
- POS_XY_P:水平位置比例增益。值越大,响应越快,但容易超调。
- POS_Z_P:高度比例增益。建议从 1.0 开始试。
注意: 位置控制参数不能调得太激进。我曾经为了追求「定点点得稳」,把 POS_XY_P 调到了 2.5。结果飞机在悬停时像喝醉了酒一样来回晃。后来才明白,位置控制依赖 GPS 精度,GPS 本身就有 1-2 米的误差,你调得再快也没用。
3.4 通信参数:飞控的「神经」
通信参数决定了飞控和地面站、遥控器、机载计算机之间怎么「说话」。
3.4.1 串口与 MAVLink
ArduPilot 的通信核心是 MAVLink 协议。每个串口都可以独立配置协议和波特率。
| SERIAL0_BAUD | USB 串口波特率 | 115200 |
| SERIAL1_BAUD | 遥测串口波特率 | 57600 |
| SERIAL2_PROTOCOL | 串口 2 的协议类型 | 1(MAVLink) |
你想想看,如果波特率不匹配,地面站和飞控之间就是「鸡同鸭讲」。我遇到过好几次,用户说「连不上飞控」,结果一看,SERIAL0_BAUD 设成了 9600,但地面站用的是 115200。
3.4.2 遥控器与 RC 参数
RC 参数负责解析遥控器信号。关键参数是通道映射和失效保护。
- RC1_MIN / RC1_MAX:通道 1 的最小/最大 PWM 值。
- RC3_REV:油门通道反向。
- FS_THR_ENABLE:油门失效保护开关。
我的建议: 每次换遥控器或接收机后,一定要重新做 RC 校准。不要偷懒用之前的参数。不同遥控器的 PWM 输出范围可能不一样,直接套用会导致通道映射错乱。
3.5 知识体系总览
说了这么多,我画了一张图帮你理清思路。这四类参数的关系,就像一座房子的四个部分:
这张图你看懂了吗?调参的顺序其实是有讲究的。先搭好骨架(系统),再校准眼睛(传感器),然后确保神经通畅(通信),最后才去优化大脑(控制器)。
很多新手一上来就调 PID,结果传感器都没校准,飞控连自己是正是歪都不知道,调出来的参数能好用吗?
好了,这一章的内容就到这里。记住这四类参数,你以后看参数列表就不会再迷茫了。