ArduPilot H743 Dual BMI270 Mark4 四轴DIY简单功能验证

news2024/9/20 20:27:41

ArduPilot H743 Dual BMI270 Mark4 四轴DIY简单功能验证

  • 1. 源由
  • 2. 梳理
    • 2.1 基本配置
    • 2.2 滤波配置
    • 2.3 FPV-VTX配置
    • 2.4 FPV操控
    • 2.5 自适应PID调参
    • 2.6 电传配置
  • 3. 视频
    • 3.1 FPV操控性
    • 3.2 路点巡航
    • 3.3 救援模式
  • 4. 总结
  • 5. 参考资料
  • 6. 补充说明--问题集中回答

1. 源由

基于Mark4机架的Ardupilot DIY已经集成了不少功能,且基本上形成两种操作方式:

  1. FPV航模第一人称飞行,体验感受与Betaflight基本类似
  2. 采用Mission Planner或者QGC进行操控飞行,体验感受与无人机地面站软件操作类似

稍微欠缺的部分:

  1. 电传控制距离需要适当的优化(天线,模块发射功率/接收灵敏度)
  2. 挂载摄像头吊舱(Gimble),使用高清摄像头(卡录+图传)
  3. 障碍物规避(避障传感器的集成)
  4. 视频AI功能(Companion Computer应用):跟踪、识别、决策等

在进行后续工作之前,把之前整理的内容进行一些整理(打个基线),以此作为新的出发点。

2. 梳理

整个梳理从几个方面进行罗列,具体内容如有重复就不再展开,将会以整理+补充说明的方式给出内容。

2.1 基本配置

  • 硬件适配方面:

ArduPilot硬件AOCODARC H7DUAL配置文件讨论

  • 软件配置方面:

a) ArduPilot开源代码之H743+BMI270x2+ChibiOS配置适配
b) ArduPilot之H743+BMI270x2+First Normal Takeoff
注:因为配置文件最终进行了UART序号的修改,请以b)链接给出的相关配置数据为准。

2.2 滤波配置

  • Mark4机架振动方面:

ArduPilot飞控开源代码之滤波设置
注:该DIY的机架由于多次炸机,以及本身性能问题,存在一些特殊性(电机轴可能有稍许倾斜带来的振动),因此需要进行参数调优。

2.3 FPV-VTX配置

鉴于模拟图传诸多规格以及Ardupilot适配兼容的问题,需要妥善处理pandarc-VT5804ML1的功率表格。

ArduPilot之H743遗留配置问题解决

2.4 FPV操控

  • Anti-Gravity特性:

ArduPilot之H743快速加减油门抬头现象分析
注:猛推油门出现的四轴抬头/低头问题Betaflight处理的还是非常不错的,Ardupilot主要用于大型机,因此这块特性的支持并不是太好,不过好在4.4.0开始支持了。

  • Rate参数设置:

这块内容因人而异大家可以根据自己的习惯进行设置。

在这里插入图片描述在这里插入图片描述

  • 油门设置:

这块内容与电机性能、电池性能、习惯都有关系。
笔者这里用的是3S旧电池,性能不怎么好,所以配置可能相对激进点。
MOT_THST_EXPO: 设置油门响应曲线
MOT_THST_HOVER: 设置悬停的油门大小

在这里插入图片描述

2.5 自适应PID调参

建议新机可以自动调参,但是如果炸过机的,本身也有各种问题的,还是手工调吧,否则效果不理想。

ArduPilot之H743自动PID调节

2.6 电传配置

关于电传前面已经用过一个 SnapAirUnit的工程样品,当然这块板子天线性能方面确实存在一定问题。

更换了433就好很多,尽管依然不够理想,主要存在以下问题:

  1. 天空端433MHz 发射功率100mW
  2. 接收/发射都采用了胶棒天线

说明下这块F743飞控的丝印可能存在一些问题,或者需要修改硬件适配文件。

ArduPilot之433电传模块集成之H7Dual飞控Rx/Tx丝印问题

3. 视频

3.1 FPV操控性

Ardupilot 4.4.0 beta3 RC EXPO 0.75 Rate 400 实在,油门还是有点肉 + 肥鲨眼镜断电瞬间

Ardupilot 4.4.0 beta3 THST EXPO 0.65 3S响应灵敏度有提升

3.2 路点巡航

Ardupilot 4.4.0 beta3 Mark4 + Mission Planner + 路点巡航

Mark4 ArduPilot + QGC 城北公园

3.3 救援模式

Mark4 ArduPilot RTL & Radio Fail Safe

4. 总结

鉴于分析了Betafligh的救援模式和iNav的意外经历,目前看Ardupilot还是相对来说远航会更加安全可靠。

【1】iNav开源代码之严重炸机 – 危险隐患
【2】Betaflight飞控之FAILSAFE机制

当然,后续也会去飞下山,让大家领略下飞山的感受,哈哈!

关于这个救援场景方面,也在研究中,希望后续能有更好改善和了解。

航模飞控之FAILSAFE机制

5. 参考资料

【1】 ArduPilot硬件AOCODARC H7DUAL配置文件讨论
【2】 ArduPilot开源代码之H743+BMI270x2+ChibiOS配置适配
【3】ArduPilot之H743+BMI270x2+First Normal Takeoff
【4】ArduPilot飞控开源代码之滤波设置
【5】ArduPilot之H743遗留配置问题解决
【6】 ArduPilot之H743快速加减油门抬头现象分析
【7】 ArduPilot之H743自动PID调节
【8】 ArduPilot之433电传模块集成之H7Dual飞控Rx/Tx丝印问题

6. 补充说明–问题集中回答

有好多小伙盘也问我关于干扰的问题,其实这里面主要干扰是以下几个问题:

  1. 图传信号干扰(模拟尤为突出)
  2. GPS信号干扰
  3. 磁力计干扰
  4. 接收机干扰
  5. 电传干扰

关于我的模拟图传视频信号比较好的问题,我想大概率是和我的这根天线摆放是有关系的。主要是以下几个问题:

  1. 天线是比较长的,可以超过电池搞不(“死亡掉头”,信号不会遮挡);
  2. 通过支架固定,稍有一个角度,因为这种天线信号通常是一个绕天线的椭球(能发挥最大的信号发射效果);

关于磁力计的问题,那就是霍尔效应,要避开附近大电流器件(电机供电线、电池等),一般来说有支架的用在支架上,通常问题不大。


关于GPS信号的问题,请详细参阅:

【1】ArduPilot之GPS Glitch问题&M8N模块配置
【2】四轴飞控DIY Mark4 - 优化后续二


信号的频段尽量分开:

  • 5.8G 视频信号
  • 915MHz 遥控信号
  • 433MHz 电传信号
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

易上手的数据报表工具有哪些?奥威BI零编程

易上手的数据报表功能有哪些?实际上,国产的BI报表工具都算得上是易上手的,因为它们大多都是低代码的BI报表工具,只需掌握基础SQL即可。但奥威BI报表工具却是零编程做大数据分析的BI报表工具。要说易上手,奥威BI报表工具…

Spark-统一内存模型

总结: Spark的内存模型分为4部分,分别是存储内存,计算内存,其他内存,预留内存; 其中存储内存和计算内存可以动态占用,当己方内存不足对方空余则可占用对方的内存,计算内存被存储内…

Attention机制竟有bug,Softmax是罪魁祸首,影响所有Transformer

大模型开发者,你们错了! 「我发现注意力公式里有个 bug,八年了都没有人发现。所有 Transformer 模型包括 GPT、LLaMA 都受到了影响。」 昨天,一位名叫 Evan Miller 的统计工程师的话在 AI 领域掀起了轩然大波。 我们知道&#x…

解决单节点es索引yellow

现象 单节点的es,自动创建索引后,默认副本个数为1,索引状态为yellow 临时解决 修改副本个数为0 永久解决 方法1、修改elasticsearch.yml文件,添加配置并重启es number_of_replicas:副本分片数,默认…

UG\NX二次开发 创建分割面、细分面

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 群友问“UF没有分割面吗” 这个是有的,下面就是分割面(细分面)的演示效果和c++源代码。 效果: 代码: #include "me.hpp" #include <stdio.h> #include <string.h> #i…

财报解读:英特尔二季度业绩回暖,IFS业务增长势能已然释放?

英特尔终于看到了盈利曙光。 北京时间7月28日&#xff0c;英特尔公布了2023财年第二季度财报&#xff0c;数据显示公司业绩超出市场预期&#xff0c;财报一经发布&#xff0c;第二个交易日英特尔股价上涨6.6%&#xff0c;最终报收36.83美元。 &#xff08;图片来源&#xff1a…

挪威网络安全大危机?数据备份刻不容缓

挪威国家安全局近期确认&#xff0c;黑客利用Ivanti Endpoint Manager Mobile&#xff08;EPMM&#xff09;解决方案中的零日漏洞对多个软件平台进行攻击&#xff0c;访问并窃取了受感染系统中的敏感数据&#xff0c;导致出现数据泄露问题。 此次零日漏洞&#xff08;CVE-2023-…

CentOS7环境安装tomcat

环境准备 由于是在练习&#xff0c;为了方便&#xff0c;我们可以 1.关闭防火墙 systemctl disable firewalld.service systemctl stop firewalld.service 2.关闭selinux 在/etc/selinux/config中&#xff0c;设置&#xff1a; SELINUXdisabled 3.准备jdk---》jdk-8u333-li…

通过电商项目,详解抓包到接口测试,附验证码 +cookie 问题处理!

一、背景 通常来说&#xff0c;进行接口测试&#xff0c;开发会提供对应的接口文档给到测试&#xff0c;但也有例外。开发无接口文档&#xff0c;但领导又需要你对刚开发的软件&#xff0c;进行接口测试、接口自动化测试、甚至是性能测试。这个时候作为专业测试应该怎么办&…

WebDAV之π-Disk派盘+Flacbox

Flacbox是一款移动端的文件管理器和播放器应用。它支持在iOS设备上进行文件管理和音频播放,包括FLAC、MP3、AAC等格式的音频文件。Flacbox还支持WebDAV协议,可以通过WebDAV连接来访问和管理WebDAV服务器上的文件。 π-Disk派盘 – 知识管理专家 派盘是一款面向个人和企业的…

CMake:为Eigen库使能向量化

CMake:为Eigen库使能向量化 导言构建Eigen项目结构CMakeLists.txt相关源码 导言 本篇开始将涉及检测外部库相关的内容&#xff0c;期间会穿插着一些其他的内容。为了能够使得系统在系统中运行Eigen库&#xff0c;我们首先需要在系统中配置好Eigen库。然后介绍与Eigen库相关的C…

PostMan调用gitlab接口,OAuth 2.0 身份认证 API ,copy完事~

获取token接口&#xff1a; https://gitlab.***.com/oauth/token &#xff0c;接下来就可以调用其他功能的接口了 例&#xff1a;创建账户&#xff0c;将获取到的access_token放置在接口请求的token中 其他接口调用同上

【雕爷学编程】MicroPython动手做(27)——物联网之掌控板小程序3

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…

【图解】反卷积Deconvolution

1. 反池化和反卷积 以下是DeconvNet的整体架构&#xff1a; unpooling&#xff1a; (Unpooling操作需要依据max pooling记录的位置,将每个pooling区域还原回去。在进行max pooling时,我们记录下每个pooling区域的最大激活值所在的位置坐标,在unpooling时就可以依据这些坐标,把激…

express学习笔记4 - 热更新以及express-boom

我们每次改动代码的时候都要重启项目&#xff0c;现在我们给项目添加一个热更新 npm install --save-dev nodemon # or using yarn: yarn add nodemon -D 在package.json添加一行代码 "dev": "nodemon ./bin/www" 重启项目 然后随便做改动&#xff…

将子域名连接到 Shopify 的步骤,也就是把不是www的域名链接到shopify商店,二级域名链接到shopify店铺

将子域名连接到 Shopify 的步骤&#xff1a; 1. Shopify 后台&#xff1a; 首先&#xff0c;检查您的 Shopify 控制面板并验证您使用的是 Shopify 提供的免费域&#xff08;也就是xxxxxxxxx.myshopify.com&#xff09;。这是至关重要的&#xff0c;因为它将帮助您在连接子域时避…

数据结构--图的遍历 DFS

数据结构–图的遍历 DFS 树的深度优先遍历 //树的先根遍历 void PreOrder(TreeNode *R) {if(R ! NULL){visit(R); //访问根节点while(R还有下一个子树T)PreOrder(T);//先根遍历下一棵子树} }图的深度优先遍历 bool visited [MAX_VERTEX_NUM]; //访问标记数组 void DFS(Grap…

最长公共前缀_力扣14

文章目录 题目描述法一 横向比较 题目描述 法一 横向比较 将多个字符串比较转换为两两比较&#xff0c;如果比较完最长公共前缀已经是空串&#xff0c;则最长公共前缀一定是空串&#xff0c;因此不需要继续遍历剩下的字符串&#xff0c;直接返回空串。 string longestCommonPre…

Django实现音乐网站 ⑵

使用Python Django框架制作一个音乐网站&#xff0c;在系列文章1的基础上继续开发&#xff0c;本篇主要是后台歌手表模块开发。 目录 表结构设计 歌手表&#xff08;singer&#xff09;结构 创建表模型 设置图片上传路径 创建上传文件目录 生成表迁移 执行创建表 后台管…

uniapp 路由跳转方式

export function goBack(index, url) {if (index 1) { // 关闭当前页&#xff0c;返回上一页面或多级页面。uni.navigateBack({delta: url,animationType: pop-out,animationDuration: 300});} else if (index 2) { // 保留当前页&#xff0c;跳转到非tabbar页面&#xff0c;…