关于INAV地面站的飞行中调整功能
INAV 支持飞行过程中通过遥控器的 辅助通道(AUX) 对多个参数进行实时微调。这项功能对于飞行调试或快速适配不同飞行状态来说非常实用,但也伴随着一定的风险,因此建议谨慎使用。
一、功能介绍
INAV 支持飞行过程中通过遥控器的 辅助通道(AUX) 对多个参数进行实时微调。这项功能对于飞行调试或快速适配不同飞行状态来说非常实用,但也伴随着一定的风险,因此建议谨慎使用。
INAV 允许用户在飞行过程中使用遥控器 AUX 通道对 PID、飞控参数、速率等内容进行实时调整,最多支持 同时使用4个通道 进行不同参数的修改。同时,还可以通过一个额外的通道,来动态切换当前哪个参数正在被调整。
⚠️ 使用风险与安全建议
由于实时更改飞控参数可能会造成飞行器失稳甚至坠毁,因此在实际操作前请务必遵循以下建议:
- 在空旷区域进行测试,避免因操作失误损坏设备或造成人员受伤。
- 每次只调整一个参数,并在飞行中观察变化,不可多项叠加调整。
- 使用三段开关或电位器进行控制,推荐使用自复位的 ON-OFF-ON 三段开关,便于恢复中心状态。
- 设置遥控器开机时的开关警告,防止通电时开关已处于非中立位置引发误操作。
- 调整前确认开关居中,通电后开关处于中间表示不进行任何更改。
支持的实时调整参数
以下参数均可在飞行中进行修改,也可以在地面进行调整验证:
- RC Rate、Expo、油门 Expo
- 横滚、俯仰、偏航的速率(Rate)及 PID 值(P、I、D)
- Manual 模式下的舵面速率
- 固定翼的巡航油门(cruise_throttle)、俯仰对应油门(pitch2thr)等
- 飞控的安装姿态校正(Board alignment)
- 自稳 PID(Level PID)
- PosHold / AltHold 的 PID
- 切换不同的 PID Profile
这些参数的调整能显著影响飞控响应或飞行表现,适用于精细调试、高级竞速或不同负载条件下的快速适配。
控制方式与工作逻辑
- 调整通道建议使用 三段开关(ON-OFF-ON) 或电位器(POT)控制。推荐使用瞬时自复位三段开关(即放开自动回中)。
- 当开关打到上/下位时,会开始以每秒两次的频率自动调整目标参数。
- 中立状态下保持当前值不变,且不会继续修改。
- 若使用 OpenTX,可以设置两个独立的开关分别控制“+”与“-”,通过混控组合为一个通道进行更直观控制。
设置保存方式
重要提示:调整的参数不会自动保存!
保存方式如下:
- 使用 INAV Configurator 保存:调整完成后连接 Configurator,点击“刷新”并“保存”设置。
- 使用摇杆组合保存(适用于断电前): 将油门打至最低,偏航打左,俯仰打下,横滚打右。
使用示例
- 使用 4 个三段开关分别调整 Roll PID 的 P、I、D 与 RC Rate。
- 使用一个开关选择调整对象(如滚转或俯仰 PID),另一个开关作为值增减控制。
- 结合多段位开关或电位器实现多种组合调整,适用于竞速调参或任务飞行前临时设定。
二、CLI命令说明
在 INAV 中,可通过 CLI 命令 adjrange 配置飞行中参数调整。最多支持 定义 20 组调整范围(Adjustment Range),每次最多支持 4 个参数同时调整,每一个“同时调整”需要占用一个调整通道(Adjustment Slot)。
adjrange <index> <slot> <range_channel> <range_start> <range_end> <adjustment_function> <adjustment_channel>
参数名称 | 取值范围 | 说明 |
---|---|---|
index | 0 ~ 19 | 调整项序号(最多20项) |
slot | 0 ~ 3 | 使用的调整通道(最多4个) |
range_channel | AUX通道索引(AUX1=0) | 负责“选择是否生效”的通道 |
range_start | 900 ~ 2100(步长25) | 有效区域起点,单位为us(微秒) |
range_end | 900 ~ 2100 | 有效区域终点 |
adjustment_function | 0 ~ 56 | 调整的具体参数,见下方功能表 |
adjustment_channel | AUX通道索引(AUX1=0) | 实际控制调整值的通道(通常为开关或旋钮) |
参数工作原理说明
range_channel 是控制某项调整是否启用的“开关”。
- 只有当其值处于 range_start 和 range_end 范围之间时,才会执行对应的调整逻辑。
adjustment_channel 是用户真正用于调整参数的物理通道(如一个三段开关或旋钮)。
- 默认中值为 1500us,高位定义为 >1700us,低位定义为 <1300us。
slot 表示占用的调整通道(总共只能用4个)。
- 比如你想同时调整 Pitch P、Roll P、Yaw P、RC Rate,就要使用 slot 0~3 分别对应。
当 range_channel 不在定义范围内,当前 slot 保持上次状态,但仍持续生效,因此应定义完整的 range 覆盖区间,避免意外持久调整。
使用技巧与建议
若希望某个三段开关只专门用于一个参数的调整,可以将 range_channel 与 adjustment_channel 设为同一个通道。
不同的 adjustment_function 可组合成自定义 PID 调整功能,例如:
- Roll P 调整: function = 0
- Pitch P 调整:function = 1
- Yaw P 调整:function = 2
调整后需手动保存,否则断电会丢失设置。
CLI命令:
adjrange 0 0 0 1300 1700 0 0
含义为:
- 第0组调整(index 0)
- 占用 slot 0
- 使用 AUX1(index 0)作为 range_channel
- 有效区间为 1300 ~ 1700 us
- 执行的调整功能为 Roll P(function 0)
- 使用 AUX1(index 0)作为控制该值的三段开关
调整参数功能:
三、相关示例
示例 1:使用 3 挡开关调整俯仰/横滚速率
adjrange 0 0 3 900 2100 4 3
解释:
- adjrange 0:设置第 1 个调整槽位(编号为 0)。
- 当 AUX4(通道编号为 3) 的数值范围在 900~2100 之间时,
- 启用调整项编号 4(对应“Pitch/Roll Rate”,即俯仰/横滚速率),
- 调整方式来自 AUX4(编号 3) 的不同位置。
示例 2:使用 2 挡开关+3 挡开关调整 RC 速率
adjrange 1 1 0 900 1700 0 2
adjrange 2 1 0 1700 2100 1 2
解释:
- adjrange 1:设置第 2 个调整槽位(编号为 1)。 当 AUX1(编号 0) 的范围在 900~1700,即低挡位时, 即使 AUX3(编号 2) 改变,也不执行任何调整(编号 0)。
- adjrange 2: 当 AUX1 处于 1700~2100 范围(高挡位)时, 启用调整编号 1(即“RC Rate”,遥控响应速率), 使用 AUX3(编号 2) 的位置进行控制。
示例 3:使用 6 挡旋钮+3 挡开关调节 PID 参数
adjrange 3 2 1 900 1150 6 3
adjrange 4 2 1 1150 1300 7 3
adjrange 5 2 1 1300 1500 8 3
adjrange 6 2 1 1500 1700 18 3
adjrange 7 2 1 1700 1850 19 3
adjrange 8 2 1 1850 2100 20 3
全部使用的是调整槽位 3(编号为 2)。
控制开关为 AUX2(编号 1),它用于选择 6 挡旋钮的位置:
- 900~1150:调整 俯仰/横滚 P 项(编号 6);
- 1150~1300:调整 俯仰/横滚 I 项(编号 7);
- 1300~1500:调整 俯仰/横滚 D 项(编号 8);
- 1500~1700:调整 偏航 P 项(编号 18);
- 1700~1850:调整 偏航 I 项(编号 19);
- 1850~2100:调整 偏航 D 项(编号 20);
而实际的调整幅度和增减控制则来源于 AUX4(编号 3) 的位置(比如一个 3 挡拨轮开关)。
Configurator 示例说明:
以下 的图片展示了 有效的配置方式。
在所有示例中, “范围通道”(Range Channel)都覆盖了其整个可用范围(通常是 PWM 信号 900~2100),以确保配置能够正常工作。



以下示例展示了 错误的配置方式 ——这两种情况下, “范围通道”(Range Channel)未覆盖其整个可用范围,因此配置可能无法按预期工作。

在下列示例中, 上方的错误配置 已经通过 添加一个“无变化”的范围 进行了修正。这样做可以确保 整个范围通道的可用范围都被覆盖,即使在某些范围内不执行任何调整,也能避免配置冲突或意外行为。

————本文引用至INAV官网: https://github.com/iNavFlight/inav/blob/master/docs/Inflight%20Adjustments.md