开源INAV/Ardupilot固件实现扑翼机,修改Mixer动力分配函数(适用INAV官方未提供预设Mixer的机型),Ardupilot固件思路同样适用

配置

INAV firmware:7.1.2
INAV Configurator:7.1.2
飞控板:JHEMCUF405AIO

一、Mixer

Mixer(动力分配函数):遥控输入(thrust、roll、pitch、yaw)到电机的映射

二、常见Mixer

四旋翼
四旋翼Mixer
固定翼
固定翼Mixer

三、对翅型扑翼机配置

动力分配:

左翅膀电机(升力和翻滚角控制):throttle * 1.0 + roll * (0.5)
右翅膀电机(升力和翻滚角控制):throttle * 1.0 + roll * (-0.5)
二面角舵机(俯仰角控制):pitch * 1.0
尾部舵机(偏航角控制):yaw * 1.0

实现

选择 Platform

这里选择Airplane
在这里插入图片描述

选择 合适的预设Mixer在这里插入图片描述

加载并应用预设Mixer
在这里插入图片描述

如果没有预设的机型(如扑翼机)

为电机端口选择合适的输出类型:无刷电机、舵机
在这里插入图片描述
删除所有预设的Mixer
在这里插入图片描述

实现Mixer

左翅膀电机(升力和翻滚角控制):throttle * 1.0 + roll * (0.5)
右翅膀电机(升力和翻滚角控制):throttle * 1.0 + roll * (-0.5)
二面角舵机(俯仰角控制):pitch * 1.0
尾部舵机(偏航角控制):yaw * 1.0

对翅型扑翼机Mixer配置

四、总结

最关键的是找到飞机到电机的动力映射函数(查论文),在INAV的Mixer中配置即可。更复杂的模型可能要去修改源码的动力分配函数。
不同飞机的动力学模型不同,但是上层的代码是可以通用的。

ArduPilot

Ardupilot暂未实现。相同的效果APM是可以实现的。参考[3]是通过选择合适的servo output function 来实现动力映射的,但是现有的输出函数并不能很好的满足扑翼机需求。想要更好的实现,可以参考[4] 新建一个飞机框架frame,实现动力映射。
遇到的问题:STM32F405 Flash 只有1MB,在构建ArduoPlane时超出了Flash大小,构建失败(取消OSD功能后,构建成功)

邮箱:911685832@qq.com 欢迎研究无人机、扑翼机的一起讨论
参考链接:
[1]INAV : Mixer and platform type
[2]Configuring the Mixer tab in INAV 7.0.1
[3]Ardupilot-Ornithopters扑翼机配置
[4]Ardupilot新建飞机框架frame

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值