PX4源码总会有一些骚操作,比如机型模块,机型文件都在ROMFS/px4fmu_common / init.d / airframes
这个文件夹里了。
然而这些机型文件的命名看起来乱七八糟的,名字都是以4位或5位数字开头,这是什么意思呢?不慌,我们先打开此文件夹里的CMakeLists.txt
文件,内容如下所示,为了便于理解记忆,大部分内容已被删减,只留下了部分主要内容。
px4_add_romfs_files(
# [0-999] Reserved (historical)"
# [1000, 1999] Simulation setups仿真设置"
1000_rc_fw_easystar.hil
1001_rc_quad_x.hil
# [2000, 2999] Standard planes标准飞机"
2100_standard_plane
2105_maja
# [3000, 3999] Flying wing"
3000_generic_wing
3030_io_camflyer
# [4000, 4999] Quadrotor x四旋翼"
4001_quad_x
4002_quad_x_mount
# [5000, 5999] Quadrotor +"
5001_quad_+
# [6000, 6999] Hexarotor x旋翼"
6001_hexa_x
6002_draco_r
# [7000, 7999] Hexarotor +"
7001_hexa_+
# [8000, 8999] Octorotor +八旋翼"
8001_octo_x
# [9000, 9999] Octorotor +"
9001_octo_+
# [10000, 10999] Quadrotor Wide arm / H frame梯形四旋翼/H型四旋翼"
10015_tbs_discovery
10016_3dr_iris
# [11000, 11999] Hexa Cox
11001_hexa_cox
# [12000, 12999] Octo Cox
12001_octo_cox
12002_steadidrone_mavrik
# [13000, 13999] VTOL垂直起降
13000_generic_vtol_standard
13001_caipirinha_vtol
# [14000, 14999] Tri Y三旋翼
14001_tri_y_yaw+
14002_tri_y_yaw-
)
由此我们可以看出,每个整数段都代表一类飞行器,这一类飞行器的物理构造类似,但尺寸、重量、转动惯量等数据不同,这一类飞行器所使用的混控器是同一个或者类似。