PX4添加一个新的机型

有时候自己定义了一个新的固定翼或者选择,PX4没有对应的机型,这时候需要添加一个新的飞机类型。添加飞机的说明官网上有说明,https://dev.px4.io/en/airframes/adding_a_new_frame.html#add-new-airframe-to-qgroundcontrol

不过官网上有些细节没有提到,很容易添加失败。步骤和官网上也差不多。我在总结一下步骤及容易出现的问题。所有的配置存储在ROMFS/px4fmu_common/init.d文件夹。所有的混控器存储在ROMFS/px4fmu_common/mixers文件夹。

添加一个新飞机

1、在init.d文件夹创建一个新的文件,这个文件需要以一个没有使用的自动启动ID作为文件名的前缀

2、确定文件的内容,文件的内容主要包括机型名字的确定,飞机参数的配置等等。特别需要注意的是@name在同一个@type下不能有重名的。以下面的3033_wingwing为例。

# @name Wing Wing (aka Z-84) Flying Wing
# @url https://docs.px4.io/en/framebuild_plane/wing_wing_z84.html
# @type Flying Wing
# @class Plane
# @output MAIN1 left aileron
# @output MAIN2 right aileron
# @output MAIN4 throttle
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
# @maintainer Lorenz Meier lorenz@px4.io
if [ $AUTOCNF == yes ]
then
	param set BAT_N_CELLS 2
	param set FW_AIRSPD_MAX 15
	param set FW_AIRSPD_MIN 10
	param set FW_AIRSPD_TRIM 13
	param set FW_R_TC 0.3
	param set FW_P_TC 0.3
	param set FW_L1_DAMPING 0.74
	param set FW_L1_PERIOD 16
	param set FW_LND_ANG 15
	param set FW_LND_FLALT 5
	param set FW_LND_HHDIST 15
	param set FW_LND_HVIRT 13
	param set FW_LND_TLALT 5
	param set FW_THR_LND_MAX 0
	param set FW_PR_FF 0.35
	param set FW_RR_FF 0.6
	param set FW_RR_P 0.04
fi

 @name是你这个飞机要叫的名字,@url是你这个飞机介绍的链接。@type是你这个飞机的类型,旋翼还是固定翼?@class是你这个vehicle的类型,是飞机,车,还是船,@outpou是你这个飞机通道的输出对应的控制对象,左副翼舵机还是右副翼舵机,还是其他电机等等。接下来是这个飞机的参数。其中参数包括电池的CELL数,空速最大值和最小值,着陆的俯仰角限定值以及PID的控制参数等等。

3、 定义好飞机文件后,需要对于自己的混控器。如果你的飞机控制结构和现有的一样可以参考下别人是怎么写的,如果完全不一样则需要自己设计混控器了,想上面介绍的那样。

4、想要在地面站上成功看到自己的飞机还有很多需要注意的地方。首先对代码重新编译一下,需要clean一下生成的文件。Make clea;makepx4fmu-v2_default。 论坛里的说法是地面站是从飞机的Flash中读取机架信息的,所以需要通过地面站下载你之前编译好的固件http://discuss.px4.io/t/how-do-i-add-my-own-custom-airframe/6915

QT工程建立

qt工程的建立顺带在这里介绍下

Mkdir Firmware-build-dev 
Cd Firmware-build-dev
cmake ../Firmware -G "CodeBlocks - Unix Makefiles" -DCONFIG=nuttx_px4fmu-v2_default
接着启动Qt creator(如果系统没安装Qt Creator 百度一下linux下安装Qt Creator,然后再启动Qt Creator)并加载 Firmware 根目录下 CMakeLists.txt 文件,步骤:点击工具栏 File -> Open File or Project -> Select the CMakeLists.txt file 。 如果加载提示ninja没有安装,请按照“高级Linux”章节进行ninja编译工具的安装,安装完成后,log out(登出)并log in(登入)。

加载了文件后,点击左侧projects按钮,在run onfiguration栏选择'custom executable',在executable 栏里输入'make', argument栏输入 'upload',将‘play’按钮配置成运行工程
 

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值