# 多旋翼飞行器几何文件
备注
混合器文件将由 控制分配 下一个版本(PX4 v1.13 之后)中的参数。您可以在 PX4 v1.13 中通过设置 sys_ctrl_alloc=1.
PX4 使用几何文件生成混合器定义,将 PX4 速率控制器的输出映射到特定电机。这些文件描述了每个转子的位置、推力方向、旋转方向、推力和阻力系数。
# 如何添加新几何体
- 创建新的 TOML 几何文件(例如:"foo.toml")。 /src/lib/mixer/MultirotorMixer/geometries (打开新窗口).文件中必须包含一个新的 密钥 例如
key = "4fo";
).参见 几何文件格式 了解必填字段的信息。 - 将几何体文件添加到 /src/lib/mixer/MultirotorMixer/CMakeLists.txt (打开新窗口).
- 创建一个新的 混合器文件 使用新几何体。例如,您可以创建 ROMFS/px4fmu_common/mixers/foo.main.mix 一行,其中包含新的密钥(在本例中为
4fo
):R 4fo
- 在您的 机身配置 例如 init.d/airframes/myconfig)
设置 MIXER foo
# 几何文件格式
几何图形文件是纯文本文件,由文件头划分为多个部分: [信息]
, [默认转子]
和 转子
(有一个 转子
几何图形中每个转子的部分)。
各部分允许使用的字段如下(定义见 px_generate_mixers.py (打开新窗口) 脚本)。
# [信息]部分
[信息]
部分确定了读者和 PX4 的文件。
它必须定义以下值
- 键: 任意标识符,用于将文件与其他几何文件区分开来。按照惯例,关键字通常是转子的数量,后面跟一到两个字母(这些字母是 可以 提示配置)。例如:"4hb";
- 描述 对几何图形文件所描述配置的可读描述。例如:"H 配置中的通用四旋翼飞行器";
# [默认转子]
[默认转子]
部分规定,如果转子中没有提供相应的键,则默认值将应用于该转子。 转子
定义。例如,可以为每个转子定义旋转方向,也可以在转子的旋转方向中指定默认的旋转方向。
允许使用的密钥在 转子
部分(注意,为像 名字 是每个转子独有的)。
# 转子
每个 [转子]
部分描述了转子的几何值。默认值可在 [默认转子]
(转子部分的值优先)。
允许使用的密钥有
- 名: 转子的可读名称。例如:"front_right_top";
- 定位(POSITION): 描述转子相对于车体框架中载具重心(前-右-下)位置的矢量。由于混合器已归一化(只有距离之间的比值才真正重要),因此可以使用任何单位(如米、噚等)。
- 轴: 机身框架内的矢量(前-右-下),描述转子产生推力的方向。例如
[1.0, 0.0, -1.0]
是指转子产生的向上和向前推力相同(即:45 度角)。 - 方向: 指定转子的旋转方向、
化武
(顺时针)或CCW
(逆时针) - Ct: 非尺寸推力系数。例如,一个转子的推力系数为
Ct
的转子产生的推力的 2 倍。Ct
为 1.0 - Cm: 非尺寸阻力扭矩系数。这与螺旋桨旋转时产生的轴向扭矩有关。需要根据
Ct
如果阻力和推力共同产生扭矩,则将其设置为 0。如果设置为 0,混合器将假定转子不产生任何轴向扭矩。
# 文件示例
源代码树中有许多例子: /src/lib/mixer/MultirotorMixer/geometries/ (打开新窗口).
三旋翼几何形状 (tri_y.toml (打开新窗口))转载如下。
# Tri Y [info] key = "3y" description = "Tri Y" [rotor_default] axis = [0.0, 0.0, -1.0] Ct = 1.0 Cm = 0.0 direction = "CW" [[rotors]] name = "front_right" position = [0.5, 0.866025, 0.0] [[rotors]] name = "front_left" position = [0.5, -0.866025, 0.0] [[rotors]] name = "rear" position = [-1.0, 0.0, 0.0] [[rotors]] name = "rear" position = [-1.0, 0.0, 0.0] [[rotors]] name = "front_right" position = [0.