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

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颗更是无从谈起。

<iframe id="3su4B7P4-1682906427443" src="//i2.wp.com/player.bilibili.com/player.html?aid=313193763&page=1" allowfullscreen="true" data-mediaembed="bilibili"></iframe>

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

3.2 配置优化

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

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

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

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

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

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

<iframe id="SGIeMKPk-1682906480688" src="//i2.wp.com/player.bilibili.com/player.html?aid=313193763&page=2" allowfullscreen="true" data-mediaembed="bilibili"></iframe>

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

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

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

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

<iframe id="FiKv1boh-1682910199906" src="//i2.wp.com/player.bilibili.com/player.html?aid=313193763&page=3" allowfullscreen="true" data-mediaembed="bilibili"></iframe>

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

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