PX4机型目录
PX4 机型目录详解
PX4 机型目录是 PX4 飞控系统中定义飞行器平台配置的核心部分,位于固件源代码的特定路径中。
目录结构
{{Path|ROMFS/px4fmu_common/init.d/airframes}} # 主机型配置目录 ├── 1001_rc_quad_x # 遥控X型四旋翼配置 ├── 2100_standard_plane # 标准固定翼配置 ├── 4001_quad_x # 通用X型四旋翼 ├── 5001_quad_plus # 通用+型四旋翼 └── CMakeLists.txt # 机型编译配置文件
中文注释:此目录包含所有支持的机型定义文件,每个文件通过数字ID标识特定机型。
机型ID范围说明
ID范围 | 机型类别 | 示例 | 说明 |
---|---|---|---|
1000-1999 | 仿真机型 | 1001_rc_quad_x | 硬件在环仿真配置 |
2000-2999 | 固定翼 | 2100_standard_plane | 标准固定翼飞机 |
4000-4999 | 多旋翼 | 4001_quad_x | X型四旋翼飞行器 |
13000-13999 | VTOL | 13000_standard_vtol | 垂直起降飞行器 |
中文注释:ID范围系统化分配确保机型配置的一致性,自定义机型建议使用80000以上ID。
4001_quad_x 机型配置
概述
4001_quad_x 是 PX4 飞控系统中用于标准 X 型四旋翼无人机(Quadrotor x)的机型配置文件。通过设置参数 `SYS_AUTOSTART = 4001` 即可加载该配置[6](@ref)。
基本参数
参数名 | 参数值 | 说明 | SYS_AUTOSTART
|
4001 | 飞控启动时自动加载此机型配置 | CA_ROTOR_COUNT
|
4 | 指定无人机为四旋翼布局 |
---|
输出通道映射
该配置文件定义了以下电机输出通道映射(使用主输出 MAIN):
输出通道 | 控制对象 | MAIN1
|
电机 1 | MAIN2
|
电机 2 | MAIN3
|
电机 3 | MAIN4
|
电机 4 |
---|
[6](@ref)
电机布局与转向
- 布局特点:电机呈 X 型布局。无人机的“前向”位于两个电机之间,而非正对某个电机。这种布局在机动性和稳定性之间取得了良好平衡,是目前最普及的多旋翼布局之一。
- 转向配置(俯视视角):
- 电机1 (前右) - 逆时针 (CCW)
- 电机2 (前左) - 顺时针 (CW)
- 电机3 (后左) - 逆时针 (CCW)
- 电机4 (后右) - 顺时针 (CW)
- 转向通过对角电机相同来平衡反扭矩,实现稳定飞行。转向通常通过电调固件、电机线序或飞控参数(如
SERVOn_REVERSE
)实现。
混控器设置
脚本中通过命令 set MIXER quad_x
设置 quad_x 混控器。该混控器负责将飞行控制指令(滚转、俯仰、偏航、油门)解析并分配到具体的电机输出通道上[6](@ref)。
PWM 输出配置
配置文件通常包含指令 set PWM_OUT 1234
,表示配置了 4 个 PWM 输出通道(通道 1, 2, 3, 4)来驱动电机或舵机。
PWM 参数(如最小值 PWM_MAIN_MIN
、最大值 PWM_MAIN_MAX
、频率 PWM_MAIN_RATE
)通常在引用的默认脚本(如 rc.mc_defaults
)中设置,需与电调(ESC)匹配。
应用与注意事项
- 广泛应用:这是许多开源无人机项目和DIY无人机的标准起点,适用于一些经典的机架如DJI F450[6](@ref)。
- 参数调整:配置文件中的参数(如PID增益、PWM参数)是默认值。在实际飞行中,必须根据具体的机架尺寸、重量、电机和螺旋桨性能进行实地调试和校准,以确保飞行的稳定性和安全性。
- 调试工具:通常使用地面站软件(如QGroundControl)来进行参数调整、电机测试和转向验证。
- 修改生效:所有机型参数修改后需要重启飞控才能生效[6](@ref)。
参见
添加新机型步骤
在模板:Path目录创建新配置文件(例:模板:Path)
在模板:Path中注册新机型:80001_my_custom_drone
编写机型配置内容(参考上述示例结构)
生成元数据:make airframe_metadata
编译固件:make px4_fmu-v6_default
参见
PX4飞控系统 - PX4系统总体介绍 PX4混调器配置 - 混调器配置文件详解 QGroundControl机型配置 - 地面站机型设置指南
注释
<references/> 注意:本页面基于PX4 v1.13版本编写,不同版本可能存在配置差异。修改机型配置前请备份原始文件。 如果您需要更详细的信息,建议查阅 [1] 或访问 [2] 获取最新代码和文档。