PX4添加新机型

添加新的机型

以1.9.0版本为例
1.打开\Firmware\ROMFS\px4fmu_common\init.d\airframes。按照以往的格式添加自己定义的机架。
建议复制其中的一份文件,之后按照其原有的格式修改即可

注意:@type 后边为种类名,相当于新的机架,属于父类
@name 后边为自己定义的名字,相当于机架下边的新定义的名字,属于子类
因此同一type下的name 不可以相同。
以4040_dj_f330为例,以下是其打开后的样子
下面展示一些 内联代码片

#!/bin/sh
#
# @name DJI Flame Wheel F330
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#

sh /etc/init.d/rc.mc_defaults

set MIXER quad_x
set PWM_OUT 1234

if [ $AUTOCNF = yes ]
then
	param set MC_ROLL_P 7
	param set MC_ROLLRATE_P 0.15
	param set MC_ROLLRATE_I 0.05
	param set MC_ROLLRATE_D 0.003
	param set MC_PITCH_P 7
	param set MC_PITCHRATE_P 0.15
	param set MC_PITCHRATE_I 0.05
	param set MC_PITCHRATE_D 0.003
	param set MC_YAW_P 2.8
	param set MC_YAWRATE_P 0.2
	param set MC_YAWRATE_I 0.1
	param set MC_YAWRATE_D 0

	# DJI ESCs do not support calibration and need a higher min
	param set PWM_MIN 1230
fi

因此若只修改名字,QGC上会将新定义的显示在原有的Quadrotor x里边

若修改机架,则会在QGC出现新的机架
在这里插入图片描述

2.需要将刚刚的文件名在CmakeLists文件中定义,不然不会编译。CmakeLists文件和刚刚打开的文件在同一路径。例如将文件名命名为4073_fxq,则需要在CmakeLists文件中定义,即添加上文件名即可。

下面展示一些 内联代码片

# [4000, 4999] Quadrotor x"
	4001_quad_x
	4002_quad_x_mount
	4003_qavr5
	4004_H4_680mm
	4009_qav250
	4010_dji_f330
	4011_dji_f450
	4012_quad_x_can
	4013_bebop
	4014_s500
	4020_hk_micro_pcb
	4030_3dr_solo
	4031_3dr_quad
	4040_reaper
	4041_beta75x
	4050_generic_250
	4051_s250aq
	4052_holybro_qav250
	4060_dji_matrice_100
	4070_aerofc
	
	4073_fxq
	
	4080_zmr250
	4090_nanomind
	4100_tiltquadrotor
	4250_teal
	4900_crazyflie

3.重新编译即可,编译前先make clean,之后再make想要的版本

4.编译成功之后,可以在Firmware/build/自己的版本/ 打开airframes.xml文件,搜索刚刚定义的类型和名字即可,注意不是文件名。如果出现,说明编译成功。

5.打开QGC,通过QGC烧录固件,有时候upload烧录不成功。

6.如果QGC不显示自定义的机架,重新打开QGC即可,如果换到不同的电脑上,需要重新烧录固件后,QGC才可以显示新定义的机架。

部分内容参考PX4添加一个新的机型

如有疑问,请联系3331271758@qq.com

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值