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. 现象
- 搜星数量少
- 3D定位漂移
- 卫星数量波动严重(星数少)
- 出现"GPS Glitch or Compass error"
- 进而"EKF variance"
- 飞行过程,直接失去控制
3. 视频分析
注:关于bilibili视频index不同,CSDN显示一样的BUG,目前尚未解决。想看视频的同学,可以直接去bilibili: https://www.bilibili.com/video/BV1fP4112784/
鉴于GPS定位受到很多因素影响:
- 天气(晴天会比雨天好)
- 环境电磁干扰(高压输电线,基站等)
- 系统电磁干扰(飞控IO,DC线缆等)
- 测试地点
- 测试时段
甚至有的时候测试周边有个大的集装箱车也会有一定影响。因此,变量很多,这里主要测试过程遇到的问题一些总结。方便后续跟进测试和对比。
3.1 配置(不理想)
- 开阔地
- 无高压输电线
- 周边有基站(但之前有试飞过,曾经搜星20颗)
- GPS的参数有过调整(具体不详)
- 电池放在F450机架上方,距离GPS模块4~5cm(之前放在F450机架下面,后经测试影响不大。)
测试情况:
全程不能上到15颗星,20颗更是无从谈起。
晴天+开阔地+配置不理想
3.2 配置优化
刷新频率
功率设置
端口配置
搜星配置
ucenter抓取数据(3D/DGNSS):
3.3 优化配置+短时间+3D Lock+Glitch
- 半开阔
- 无高压输电线
- 小区环境(信号受到建筑物有显著干扰)
- GPS的参数优化
- 电池放在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 后续调优考虑
- 当前GPS模块属于8代芯片,后续可能需要考虑10代的,看是否在稳定性方面有更好的提升。
- 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朝天空看