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

2023-05-16

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 配置二
    • 3.6 同一时间段(M8N vs BN880)
      • 3.6.1 M8N模块(北斗)
      • 3.6.2 BN880模块(无北斗)
      • 3.6.3 BN880模块(北斗)
  • 4. 总结
    • 4.1 解锁卫星数
    • 4.2 自动导航功能
    • 4.3 GPS Glitch问题
    • 4.4 后续调优考虑
  • 5. 参考资料
  • 6. 附录-半开阔定义
  • 7. 附录-GPS干扰处理方法

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
在这里插入图片描述
换了一个时间段:(卫星数量明显增加)

在这里插入图片描述

3.6 同一时间段(M8N vs BN880)

同一位置,同一时间段(30分钟以内),测试顺序:

  1. M8N(北斗),详见3.6.1
  2. BN880(无北斗),详见3.6.2
  3. BN880(北斗),详见3.6.3
  4. M8N(北斗),经过前面BN880两次测试后,感觉相当于冷启动,经测试5分钟搜星仍然困难;第二次重新上电(去掉延长线,与之前一致),约4分钟3D Lock,5分钟3D DGNSS Lock。

注:因为BN880采用了一段延长线,目前与M8N是兼容,通用的。#4的时候采用了延长线,而第二次去掉延长线,怀疑M8N供电可能要求比BN880高。

3.6.1 M8N模块(北斗)

在这里插入图片描述

3.6.2 BN880模块(无北斗)

在这里插入图片描述

**BN880 3D DGNSS很快定位 **

在这里插入图片描述

3.6.3 BN880模块(北斗)

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

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技术反馈角度看,信号强度并不太理想;
  3. 鉴于3.6 M8N和BN880模块对比测试,BN880 HDOP目前看明显较M8N更好;

注:测试数据仅依据手头模块,可能存在个体差异。但是可以借鉴类似方法来定位和分析此类问题。

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朝天空看
在这里插入图片描述

7. 附录-GPS干扰处理方法

虽然还没有试验,但是对于RF的理解,这个兄弟说的实诚。

FPV Quad GPS Problems? Struggling to get a lock? Here's the fix!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArduPilot之GPS Glitch问题&M8N模块配置 的相关文章

  • 如何在 python 中创建自己的数据类型以便覆盖算术运算符?

    我目前正在使用 Python Numpy 处理地理 GPS 数据 喜欢它 并且我面临着计算由坐标对定义的地理点之间的距离的重复任务pn lon lat 我有一个这样使用的函数 dist geodistance p1 p2 它类似于线性代数中
  • 如何在没有“onLocationChange”方法的情况下知道 GPS 位置

    我想通过单击一个按钮来发送短信 并且在短信中我想发送位置信息 我试过 location locationManager getLastKnownLocation LocationManager NETWORK PROVIDER 但第一次显示
  • 位置侦听器从服务工作,但不是 IntentService

    我有一个应用程序 我试图定期获取用户位置并将其发送到服务器 我有一项服务附加到AlarmManager每分钟执行一次 用于测试 该服务正确找到用户位置并注销 GPS 坐标 一旦出现 GPS 锁定 我就会取消位置请求并停止服务 当我请求位置更
  • 如何在 Android 中找到附近的应用程序用户?

    我正在制作一个应用程序 需要能够找到附近的人 他们是我的应用程序的用户 我看了很多类似问题的答案 似乎我别无选择 只能不断将用户的当前位置上传到服务器 并在必要时获取附近的用户列表 那么我的问题是 1 要获取附近的列表 应该有一些计算距离的
  • 如何确定当前用户位置是否在我的 MKCooperativeRegion 内?

    我有一个坐标区域 我已确定该区域包含我想要为我的应用程序显示的内容的限制 我已将其设置为具有中心点纬度 经度和跨度的 MKCooperativeRegion 如何确定当前 userLocation 是否在我的坐标区域内 使用地图矩形 这是使
  • Java中的多点三边测量算法

    我正在尝试在我的 Android 应用程序中实现三边测量算法来确定用户的室内位置 我正在使用超宽带信标来获取到固定点的距离 我能够采用中建议的方法三边测量法 Android Java https stackoverflow com ques
  • React Native Android 位置请求超时

    在 IOS 中查找 GPS 坐标时没有问题 效果很好 Android 端不如 IOS 稳定 在真机和模拟器中都会出现这个问题 有时它可以找到位置 但有时却找不到 寻找了3天 但没有找到解决方案 当我的应用程序无法找到我的位置时 我尝试通过谷
  • 在没有互联网的情况下使用 Javascript 获取 GPS 位置 [重复]

    这个问题在这里已经有答案了 您好 如果设备具有 GPS 硬件 我们可以在没有互联网连接的情况下使用 JavaScript 获取 GPS 位置吗 请注意谁将其标记为重复 我需要 JavaScript 在没有互联网连接的情况下工作 并使用 GP
  • 如何将 GPS 数据从 Android 发送到网站?

    我是 Android 和 Web 服务开发新手 目前我正在开发Android程序 该程序将发送经度和纬度信息到asp net网站 以显示位置更改网站地图 问题是 如何将此数据发送到网站 最佳实践 对合适框架的任何建议 从Android应用程
  • 如何知道jar文件是否已经在运行?

    经过谷歌研究后 我找到了很好的答案 例如 1 using jps or jps l让 jars 在 JVM 下运行 这个答案可以 但是如果用户根本没有安装java并且我使用例如 bat文件和带有java JRE的文件夹运行我的jar 另外
  • LocationManager requestLocationUpdates minTime OR minDistance

    我用的是安卓系统LocationManager及其方法requestLocationUpdates像这样 locationManager requestLocationUpdates LocationManager GPS PROVIDER
  • 谷歌地图定位是如何工作的?

    我的问题是谷歌地图或移动 GPS 如何找到我的当前位置 读完本文后我的高层次理解article http www physics org article questions asp id 55就是 GPS接收器通过这些卫星获取位置坐标 该位
  • iPhone 网络应用程序可以获取 GPS 位置吗?

    有没有一种简单的方法来设计一个网站来促进iphone用户提供gps网站坐标 我想知道表单字段是否有命名约定 例如 让用户以自动方式输入 我正在考虑建立一个基于位置的网站 并希望为 iPhone 和其他移动用户 量身定制 我意识到 iPhon
  • 检测wifi是否启用(无论是否连接)

    对于 GPS 跟踪应用程序来说 在打开 WIFI 的情况下记录位置信号会导致数据非常不精确或存在间隙 在开始跟踪之前 我已使用可达性查询来检测 wifi 是否可用 问题是 如果进行该查询时 wifi 已启用但未连接到网络 则表明无法通过 w
  • Swift 将十进制坐标转换为度、分、秒、方向

    我怎样才能将其转换为快速 我最好的猜测是所有 int 都变成了 var 删除所有导致 的 此外 如果有的话可以给我指出一个很好的来源来了解事物如何转换 那就太好了 NSString coordinateString int latSecon
  • 向 tk103 GPS 跟踪器发送命令

    我正在使用 php 开发实时 GPS 跟踪器 Web 应用程序 跟踪器参考号是tk103 我可以从跟踪器接收信息并将其存储到数据库中 设备的 GPRS 模式已启用 我的问题是 如何使用 php ini 将命令从服务器发送到设备 提前致谢 这
  • Fused Location Provider 是不错的选择吗?

    我正在开发一个应用程序 我想在其中使用融合位置提供程序 但我有一些疑问 还有几个问题 当 GPS 关闭并且我将优先级设置为 HIGH 时 是否意味着 GPS 会自动打开 我可以根据需要将 UpdateLocation 设置为具有高优先级的
  • 如何请求用户开启定位服务

    我需要我的应用程序来访问用户的当前位置 它在应用程序开始时检查用户是否已设置 如果没有 我需要应用程序显示提示以使其使用位置服务 就像警报视图一样 点击按钮 它应该会带您进入 iPhone 上的位置服务屏幕 您可以通过以下代码检查 loca
  • 如何在Android中获取当前位置[重复]

    这个问题在这里已经有答案了 我在使用 Android 定位系统的网络提供程序获取当前位置坐标时遇到麻烦 已经阅读了大量教程并在我的项目中实现了 4 或 5 个现有类 所有这些类都给了我最后的坐标 但不是当前的坐标 我很确定这个问题是我所缺少
  • 如何在android中以编程方式启用位置访问?

    我正在开发与地图相关的 Android 应用程序 如果位置服务未启用显示对话框提示 我需要在客户端开发中检查位置访问是否启用 如何在android中以编程方式启用 位置访问 使用下面的代码进行检查 如果禁用 将生成对话框 public vo

随机推荐

  • ArduPilot飞控之ubuntu22.04-Gazebo模拟

    ArduPilot飞控之ubuntu22 04 Gazebo模拟 1 源由2 Gazebo安装2 1 ubuntu22 04系统更新2 2 安装Gazebo Garden2 3 安装ArduPilot Gazebo插件2 3 1 基础库安装
  • Session、Token、Jwt、Oauth2 区别和原理详解

    1 认证 xff08 Authentication xff09 通俗的说就是验证当前用户的身份 xff0c 证明你是你自己 2 授权 xff08 Authorizatio xff09 用户授予第三方应用访问该用户某些资源的权限 实现授权的方
  • ArduPilot飞控之DIY-F450计划

    ArduPilot飞控之DIY F450计划 1 历史2 源由3 计划3 1 硬件3 2 软件 4 动手4 1 接线4 1 1 ELRS nano接收机4 1 2 BN880 GPS模块4 1 3 Radio Telemetry 4 2 配
  • BN880 GPS u-center_v22.07工具配置方法

    BN880 GPS u center v22 07工具配置方法 1 源由2 分析3 自我实验3 1 测试现象3 2 u center v22 07工具3 3 波特率验证3 4 重新配置3 4 1 PRT Ports 3 4 2 PMS Po
  • Betaflight BN880 GPS 简单测试

    Betaflight BN880 GPS 简单测试 1 源由2 窗台对比测试3 开阔区域测试3 1 GPS安装位置3 1 1 BN880 GPS 机尾打印支架 安装位置3 1 2 BN880 GPS 机头固定 安装位置3 1 3 M8N G
  • 关于【无人驾驶航空器飞行管理暂行条例】对航模的一些信息讨论&汇总

    关于 无人驾驶航空器飞行管理暂行条例 对航模的一些信息讨论 amp 汇总 1 源由2 讨论3 理解3 1 关于 管理对象 的理解3 2 关于 模型航空器管理规则 的理解3 3 关于 模型航空器 的理解3 4 关于 安全 的理解 4 参考资料
  • ArduPilot Kakute F7 AIO DIYF450 without GPS配置

    ArduPilot Kakute F7 AIO DIYF450 without GPS配置 1 源由2 配置2 1 Kakute F7 AIO相关配置2 1 1 串口规划2 1 2 电传配置2 1 3 GPS配置2 1 4 CRSF接收机配
  • ArduPilot开源飞控系统之简单介绍

    ArduPilot开源飞控系统之简单介绍 1 源由2 了解 amp 阅读2 1 ArduPilot历史2 2 关于GPLv32 3 ArduPilot系统组成2 4 ArduPilot代码结构 3 后续3 1 DIY F4503 2 软件设
  • ArduPilot Kakute F7 AIO DIYF450 之GPS配置

    ArduPilot Kakute F7 AIO DIYF450 之GPS配置 1 源由2 步骤2 1 模块预测试2 2 物理连接2 3 UART配置2 4 Compass使能2 5 GPS使能2 6 校准Compass 3 GPS amp
  • 关于CSDN文章内嵌视频自动播放问题

    关于CSDN文章内嵌视频自动播放问题 1 源由2 分析3 反馈4 沟通5 总结6 附录 Firefox配置7 附录 Microsoft Edge配置 1 源由 这个问题是4月初发现的 xff0c 主要现象就是页面上的视频一起自动播放了 鉴于
  • 关于FPV图传系统时延讨论

    关于FPV图传系统时延讨论 1 源由2 时延测试方法3 时延测试资料4 关于模拟图传5 关于FPV时延感受5 1 静态时延5 2 动态时延 6 参考资料7 附录7 1 When is 120fps NOT 120fps DJI O3 Air
  • ArduPilot之开源代码框架

    ArduPilot之开源代码框架 1 系统框架2 工程框架2 1 工程目录2 2 代码组成2 3 运行流程 4 硬件传感器总线4 1 I2C4 2 SPI4 3 UART4 4 CAN 5 软件设计概念6 总结7 参考资料 在研读ArduP
  • Charles电脑配置和手机配置【超详细,iOS和安卓】

    1 xff0c 电脑安装charles charles的安装非常简单 xff0c 直接通过charles官网安装最新版即可 Charles 是收费软件 xff0c 可以免费试用 30 天 试用期过后 xff0c 未付费的用户仍然可以继续使用
  • vmmem内存占用高

    文章目录 前言通过 wslconfig限制其内存使用 前言 什么时vmmem进程 vmmem进程时在使用vmware时的进程 xff0c 内存占用非常高 我是在使用docker时遇到的这个进程 通过 wslconfig限制其内存使用 这个方
  • QGroundControl之安装调试

    QGroundControl之安装调试 1 源由2 问题汇总2 1 摄像头播放问题2 2 Windows电脑录像和拍照保存位置2 3 Android设备录像和拍照保存位置 3 打包资料4 附录 QGroundControl Video St
  • ArduPilot之posHold&RTL实测

    ArduPilot之posHold amp RTL实测 1 源由2 模式配置3 测试步骤4 飞行实测5 总结6 参考资料7 附录 关于QGC 暂不支持MAVLink2 signing Protocol问题7 1 问题描述7 2 硬件配置7
  • ArduPilot之开源代码Library&Sketches设计

    ArduPilot之开源代码Library amp Sketches设计 1 简介1 1 Core libraries1 2 Sensor libraries1 3 Other libraries 2 源由3 Library Sketche
  • ArduPilot之开源代码Sensor Drivers设计

    ArduPilot之开源代码Sensor Drivers设计 1 源由2 Sensor Drivers设计2 1 front end back end分层2 2 设计思想分析 3 实例理解3 1 驱动初始化3 2 业务应用代码3 3 fro
  • ArduPilot之开源代码基础知识&Threading概念

    ArduPilot之开源代码基础知识 amp Threading概念 1 源由2 基础知识2 1 The timer callbacks2 2 HAL specific threads2 2 1 AP HAL ChibiOS2 2 2 AP
  • ArduPilot之GPS Glitch问题&M8N模块配置

    ArduPilot之GPS Glitch问题 amp M8N模块配置 1 源由2 现象3 视频分析3 1 配置 xff08 不理想 xff09 3 2 配置优化3 3 优化配置 43 短时间 43 3D Lock 43 Glitch3 4