ArduPilot之GPS Glitch问题M8N模块配置

news2024/11/22 12:06:44

ArduPilot之GPS Glitch问题&M8N模块配置

  • 1. 源由
  • 2. 现象
  • 3. 视频分析
    • 3.1 配置(不理想)
    • 3.2 配置优化
    • 3.3 优化配置+短时间+3D Lock+Glitch
    • 3.4 优化配置+长时间+3D DGPS Lock
    • 3.5 使用尽量多的卫星系统
      • 3.5.1 配置一
      • 3.5.2 配置二
  • 4. 总结
    • 4.1 解锁卫星数
    • 4.2 自动导航功能
    • 4.3 GPS Glitch问题
    • 4.4 后续调优考虑
  • 5. 参考资料
  • 6. 附录-半开阔定义

1. 源由

最近,一直在折腾ArduPilot的GPS Glitch问题,因为一旦出现这个问题,会导致很多自动功能(RTL/PosHold/Auto)无法正常使用。

如果外加手动不够利索的话,很容易炸鸡,甚至意外事故(比如:落到不该去的地方,水面,碰到人等。)

2. 现象

  1. 搜星数量少
  2. 3D定位漂移
  3. 卫星数量波动严重(星数少)
  4. 出现"GPS Glitch or Compass error"
  5. 进而"EKF variance"
  6. 飞行过程,直接失去控制

3. 视频分析

注:关于bilibili视频index不同,CSDN显示一样的BUG,目前尚未解决。想看视频的同学,可以直接去bilibili: https://www.bilibili.com/video/BV1fP4112784/

鉴于GPS定位受到很多因素影响:

  1. 天气(晴天会比雨天好)
  2. 环境电磁干扰(高压输电线,基站等)
  3. 系统电磁干扰(飞控IO,DC线缆等)
  4. 测试地点
  5. 测试时段

甚至有的时候测试周边有个大的集装箱车也会有一定影响。因此,变量很多,这里主要测试过程遇到的问题一些总结。方便后续跟进测试和对比。

3.1 配置(不理想)

  1. 开阔地
  2. 无高压输电线
  3. 周边有基站(但之前有试飞过,曾经搜星20颗)
  4. GPS的参数有过调整(具体不详)
  5. 电池放在F450机架上方,距离GPS模块4~5cm(之前放在F450机架下面,后经测试影响不大。)

测试情况:
全程不能上到15颗星,20颗更是无从谈起。

晴天+开阔地+配置不理想

3.2 配置优化

刷新频率
在这里插入图片描述
功率设置
在这里插入图片描述

端口配置
在这里插入图片描述
搜星配置
在这里插入图片描述

ucenter抓取数据(3D/DGNSS):
在这里插入图片描述

3.3 优化配置+短时间+3D Lock+Glitch

  1. 半开阔
  2. 无高压输电线
  3. 小区环境(信号受到建筑物有显著干扰)
  4. GPS的参数优化
  5. 电池放在F450机架上方/放在机架下方/放在远离飞机位置,测试结果影响不大。

测试情况:
搜星10颗左右,但是会出现GPS Glitch问题。

晴天+半开阔(阳台)+短时间+Glitch

3.4 优化配置+长时间+3D DGPS Lock

测试环境与【3.3 优化配置+短时间+3D Lock+Glitch】一致,增加测试时长

测试情况:
搜星最多时15颗,3D Lock显示为3D DGPS Lock,GPS Glitch现象消失。

晴天+半开阔(阳台)+长时间

3.5 使用尽量多的卫星系统

3.5.1 配置一

在这里插入图片描述

3.5.2 配置二

貌似这里不好,其实并非如此,因为切换到前面的配置模式也是不理想了。

这个就是测试时段的影响,所以没有最好或者最坏,但是总的来说要进行调优。

3D
在这里插入图片描述
3D/DGNSS
在这里插入图片描述

4. 总结

根据这段时间的测试,总结以下情况:

4.1 解锁卫星数

解锁需要至少6颗星,配置参数:AHRS_GPS_MINSATS

在这里插入图片描述

4.2 自动导航功能

使用自动导航功能RTL/PosHold/Auto等至少需要10颗星(尚不清楚哪里可以配置)

在这里插入图片描述

4.3 GPS Glitch问题

在3D DGPS Lock之前,非常容易出现“GPS Glitch or Compass error”,主要的原因是GPS定位问题,很容易造成自动导航类功能异常。

在这里插入图片描述

4.4 后续调优考虑

  1. 当前GPS模块属于8代芯片,后续可能需要考虑10代的,看是否在稳定性方面有更好的提升。
  2. M8N模块信号在40db以下,从BN880技术反馈角度看,信号强度并不太理想,可以考虑更换BN880进行实验。

5. 参考资料

【1】ArduPilot飞控之DIY-F450计划
【2】ArduPilot Kakute F7 AIO DIYF450 without GPS配置
【3】ArduPilot Kakute F7 AIO DIYF450 之GPS配置
【4】ArduPilot之posHold&RTL实测

6. 附录-半开阔定义

关于半开阔,指小区阳台上,半球面(不到)开放空间,因此卫星搜星数量肯定是会锐减的。

GPS放置位置
在这里插入图片描述
从GPS朝天空看
在这里插入图片描述

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

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

相关文章

项目风险管理

风险的分类(按照性质划分) 纯粹风险:只有损失可能性而无获利可能性的风险。投机风险:相对于纯粹风险而言,指既有损失的可能又有获利机会的风险。风险既是一个危险也是一个机会 一、规划风险管理 决定如何进行规划和实施项目风险管理活动 二、风险识别 判断哪些风险会…

单列文本数据快速导入表格

文本数据导入Excel似乎是个老生常谈,方法也有很多,例如 使用文本编辑器打开文本文件,拷贝粘贴到Excel然后分类Power Query中的【从文本/CSV】如下图所示。 但是这个需求略有不同,文本数据为单列,每7行数据为一组&am…

2023年华东杯数学建模B 题 期货价格相关性问题-思路解析

题目背景: 许多金融标的都有其内在的关联,如何从量价数据找到这种关联是一个有趣的 问题。例如在万得的“煤焦钢矿”板块中,有螺纹钢、铁矿石、不锈钢、热轧卷板、 硅铁、焦煤、焦炭、锰硅、线材 9 个品种。这些品种有些是上下游关系&…

【高频电子线路】——高频小信号放大器学习笔记总结

CSDN话题挑战赛第2期 参赛话题:学习笔记 学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐&a…

SmartEngine流程引擎之Custom模式

目录 一、为什么选用SmartEngine 二、各类流程引擎框架简单对比 1、流程设计器推荐 2、什么是BPMN 流程定义解释说明 三、SmartEngine之Custom实操 1、引入依赖 2、典型的初始化代码如下 3、节点如何流转以及流程实例存储问题 4、定义Delegation 关键类 一、为什么选用…

RebbitMQ Windows安装

RabbitMQ是由Erlang语言写的,因此安装前要先安装Erlang Erlang及RabbitMQ安装版本的选择 下载时一定要注意版本兼容性 版本兼容说明地址:RabbitMQ Erlang Version Requirements — RabbitMQ 我们选择的版本 Erlang官网下载:https://www.erlang.org/downloads Ra…

[大家的项目] 获取主机IP地址

get-host-ip https://github.com/stuartZhang/get-host-ip/tree/main 这是一款用rust制作的命令行工具。其被设计用来从C:\Windows\System32\ipconfig.exe的执行结果内提取出指定【网卡】的属性值。比如,从电脑本的【无线局域网适配器WLAN】中提取出【IPv4地址】字符…

写给开发同学的 AI 强化学习入门指南

该篇文章是我学习过程的一些归纳总结,希望对大家有所帮助。 最近因为 AI 大火,搞的我也对 AI 突然也很感兴趣,于是开启了 AI 的学习之旅。其实我也没学过机器学习,对 AI 基本上一窍不通,但是好在身处在这个信息爆炸的…

数据结构---栈的实现

文章目录 前言一、什么是栈?二、栈的实现 1.栈的结构2.栈的接口实现过程总结 前言 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一…

用ChatGPT通过WebSocket开发一个交互性的五子棋微信小程序(二)

文章目录 1 前言1.1 实现的原理1.2 如何与微信小程序联系 2 五子棋项目2.1 申请OpenAI的API2.2 调用API代码2.3 界面代码 3 同步五子棋到前端小程序3.1 WebSocket长连接3.2 获取实时下棋 4 讨论 1 前言 1.1 实现的原理 大体方向是将ChatGPT作为后端语言模型,然后将…

AD19 基础应用技巧(差分线的添加走线与蛇形等长)

《差分线的添加走线与蛇形等长》 问:何为差分信号? 答:通俗地说,就是驱动端发送两个等值、反相的信号,接收端通过比较这两个电压的差值来判断逻辑状态“0”还是“1”。 问:差分线的优势在哪? 答:差分信号和普通的单端信号走线相比,最明量…

【SpringBoot2】三:基础入门---自动配置原理(自动配置原理入门+开发技巧)

文章目录 1.自动配置原理入门1.1 引导加载自动配置类1.2 按需开启自动配置项1.3 修改默认配置1.4 最佳实践 2.开发小技巧2.1 Lombok2.1.1 简化Bean开发2.1.2 简化日志开发 2.2 dev-tools2.3 Spring Initailizr(项目初始化向导) 1.自动配置原理入门 1.1 …

【数据库】Java的JDBC编程(idea链接数据库)

目录 前言 1、Java的数据库编程:JDBC 2、使用JDBC(项目中导入数据库驱动包) 2.1、获取驱动包 2.2、将数据库驱动包导入Java项目中 2.3、使用JDBC编写代码 2.3.1、创建并初始化一个数据源 2.3.2、 和数据库服务器建立链接 2.3.3、构…

C++(多态上)

目录: 1.多态的概念 2.多态的定义和实现 3.虚函数构成重写的特例 4.剖析一道非常经典的题 5.剖析多态的原理 ------------------------------------------------------------------------------------------------------------------------- 1.多态的概念 概念:通俗来说&#…

嵌入式开发--无刷电机学习2--克拉克变换

克拉克变换 首先说明,有很多方法,在数学上是等价的,比如33333*412。下面说的事情也是。 为了更简明的控制,克拉克女士提出电机控制简化的方法,即建立一个坐标系,横轴是α 纵轴是β,并将三相电…

RabbitMQ入门Demo 简单模式

出现的问题,原本4个操作,要么全部执行,要么全部不执行------->强一致性 但是现在分开了-----------最终一致性 强一致性:指在消息传递的过程中,系统会确保每个消息被精确地按照发送的顺序被传递,并且每个消息都会被正确地处理。强一致性…

重大问题,Windows11出现重大BUG

重大问题,Windows11出现重大BUG 这种Windows11操作系统出现BUG已经可以说是非常常见的,但是,今天我将代表所有微软用户,解决一个关于UI设计非常不舒服的功能 关闭多平面覆盖 事情叙述问题 微软社区解决方案自己发现的解决方案解决…

模拟比较器(Comparator)

概述 ⚫ 两个比较器,Comp1为低功耗比较器,Comp2为rail-to-rail快速比较器 ⚫比较器负端输入为vref或者IO输入,比较器正端为IO输入 ⚫ Buffer有Bypass功能,Bypass使能有效则不经过Buffer直接输入至比较器 ⚫ Buffer有1/2分压功能 ⚫…

JSON.stringfy() 和 qs.stringfy()区别 以及post/get 的参数形式

axios中post请求 application/json和 application/x-www-form-urlencoded 前端向后端传输数据时,如果是get传输,直接传在url后;如果是post传输,则在请求体body中传输。 在body中的数据格式又有两种,一种是 json 数据…

【Linux】教你用进程替换制作一个简单的Shell解释器

本章的代码可以访问这里获取。 由于程序代码是一体的,本章在分开讲解各部分的实现时,代码可能有些跳跃,建议在讲解各部分实现后看一下源代码方便理解程序。 制作一个简单的Shell解释器 一、观察Shell的运行状态二、简单的Shell解释器制作原理…