关于INAV地面站的混控Mixer功能
2025/5/22大约 4 分钟
一、Mixer 与平台类型(Platform Type)
混控规则(Mixing Rules)
混控规则决定了舵机和电机如何根据用户输入和飞控输出作出响应。INAV 支持多种预设的混控配置,也支持自定义混控规则。
配置方式
混控设置可以通过图形界面(GUI)中的 Mixer 标签页 进行配置,也可以通过 CLI 使用以下命令:
- mmix:配置 电机混控规则
- smix:配置 舵机混控规则
如何使用预设混控
- 首先选择对应的平台类型(Platform Type)
- 然后选择与飞行器匹配的混控预设
- 使用以下按钮:
- Load and apply:加载混控、保存,并提示重启飞控
- Load mixer:仅加载混控预设(可编辑),编辑完成后点击 Save and Reboot 保存并重启
平台类型(Platform Type)
平台类型决定了可用功能,例如:支持的飞行模式、是否支持襟翼(Flaps)、可选的混控预设类型等。可通过 GUI 中 Mixer 页或 CLI 中的 platform_type
参数进行设置。
INAV 当前支持以下平台类型:
- MULTIROTOR(多旋翼)
- AIRPLANE(固定翼)
- TRICOPTER(三旋翼)
二、自定义混控规则编写说明
2.1 电机混控(Motor Mixing)
每个电机都需要一条混控规则。每条规则定义该电机根据油门及三轴飞行动作(横滚、俯仰、偏航)的响应权重。权重越高,输入对电机速度影响越大。
权重项 | 含义 |
---|---|
THROTTLE | 电机响应油门的强度,范围 [0.0, 1.0]。例如:0.5 表示该电机获得一半油门输出。 |
ROLL | 电机对横滚速率的贡献,范围 [-1.0, 1.0]。固定翼通常设为 0。正值表示右滚时加速。 |
PITCH | 电机对俯仰速率的贡献,范围 [-1.0, 1.0]。固定翼通常设为 0。正值表示俯冲时加速。 |
YAW | 电机对偏航速率的贡献,范围 [-1.0, 1.0]。用于多电机固定翼差速控制。单电机一般为 0 |
CLI 设置命令:
- 清除所有电机混控规则:mmix reset
- 查看当前规则:mmix
- 设置电机混控规则(第 n 个电机): mmix <n> <throttle> <roll> <pitch> <yaw>
- 若要禁用某条规则,将 throttle 设置为 0 即可。
2.2 舵机混控(Servo Mixing)
每个舵机至少需要一条混控规则。规则定义了舵机如何响应某一输入,例如遥控通道、飞控姿态命令等。
- 舵机编号(Servo index):指定规则作用的舵机编号。数值大小本身不重要,相对顺序决定对应的舵机输出通道。
- 输入类型(Input):混控规则所依据的输入类型(例如 ROLL、PITCH、CH1 等)。
- 权重(Weight):输入对舵机输出的影响程度,范围 [-1000, 1000]。例如输入值 × 权重 = 输出值。 若输出超出舵机最大/最小限制,将被裁剪(即舵机不会超行程)。
- 速度限制(Speed):限制舵机移动速度。1 表示最大每秒变动 10 微秒;0 表示不限制。 例如: 10 表示从 1000 到 2000 的全面扫描需 10 秒; 100 表示全面扫描需 1 秒。
smix 命令说明(舵机混控规则)
smix reset:清除所有已有的舵机混控规则。
smix:不带参数时,用于列出当前所有舵机混控规则。
添加/修改规则语法: smix <n> <servo_index> <input_id> <weight> <speed> <logic_condition_id>
- <n>:混控规则编号(整数,用于索引规则)
- <servo_index>:舵机索引(第几个舵机)
- <input_id>:输入源编号(见下表)
- <weight>:权重([-1000, 1000],表示输入量占比)
- <speed>:响应速度限制(0 = 无限制;数值越大越慢)
- <logic_condition_id>:逻辑控制条件(设为 -1 表示始终启用)
若要禁用某条规则,将 weight 设置为 0 即可。
输入源 ID 对照表(Input ID)
CLI 输入 ID | 输入类型 | 描述说明 |
---|---|---|
0 | 稳定化 ROLL | 飞控输出的横滚控制命令(根据飞行模式决定) |
1 | 稳定化 PITCH | 飞控输出的俯仰控制命令 |
2 | 稳定化 YAW | 飞控输出的偏航控制命令 |
3 | 稳定化 THROTTLE | 飞控输出的油门控制命令 |
4 | RC 横滚通道 | 原始 RC 横滚通道输入 |
5 | RC 俯仰通道 | 原始 RC 俯仰通道输入 |
6 | RC 偏航通道 | 原始 RC 偏航通道输入 |
7 | RC 油门通道 | 原始 RC 油门通道输入 |
8~11 | RC 通道 5~8 | 原始 RC 通道输入 |
12 | GIMBAL PITCH | 飞机俯仰姿态角,范围 [-90°, 90°] => [-500, 500] |
13 | GIMBAL ROLL | 飞机横滚姿态角,范围 [-180°, 180°] => [-500, 500] |
14 | FLAPS 功能输入 | 当启用襟翼模式时为设置值,未启用时为 0 |
15~22 | RC 通道 9~16 | 额外 RC 通道输入 |
23~28 | 单向稳定化输出(+/-) | 横滚、俯仰、偏航方向的正向/负向分量 |
29 | MAX | 恒定值 500(可用于测试或特殊逻辑) |
————本文引用至INAV官网: https://github.com/iNavFlight/inav/blob/master/docs/Mixer.md