logo资料库

关于gps漂移引起的ekf报错分析.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
关于 gps 漂移引起的 ekf 报错分析 Author:jingwenyi Date:2016/12/23 最近飞 px4 遇到了一次 ekf 报错,自动 land 的情况。从 mission planner 日志 看如下图: 刚开始看到这个问题,我有点丈二的和尚,不知道什么情况,经过一段时间的摸索, 我确信是 gps 漂移的问题导致的。 下面是 gps 可见星的个数图:
从这张图片我们至少能看出来 gps 可以星的个数变化很剧烈,在 ekf 出问题的时候。 但是可见星都在 14 颗以上,也不能判断就一定是 gps 的出了问题啊。 我无意中查看到了 ekf 的相关记录日志。位置和速度的变化 ekf4 的 SV 和 SP 如 下图: Pixhawk 的 ekf 检查中会根据 SV 的变化超过预设的 ekf 阈值来判断 ekf 是否出问题 (默认 0.8,可以调到 1.0),现在 SV 的值在 0.95 左右,所以超过了 ekf 默认阈值 0.8, 所以自动切换到 land 模式开始降了。 再查看了 efk 中速度和位置的革新值(ekf3 的 IVN,IVE,IVD;IPN,IPE,IPD),如下图:
基本上着 3 个日志的走势和 ekf 报错是一致的,这里我基本可以这次 ekf 报错是由于速 度的革新值超过了 ekf 设置的范围才导致报错的。那么,又是什么原因导致的速度革 新值会超出设置的范围呢。我猜测是由于 gps 位置漂移导致的。先看看 gps 原始的数 据 log: 纬度变化 经度变化 我粗劣的估计了在 100ms 是时间内漂移的大概有 10m;我这次飞行是自动 (auto)分析的,在这个点应该找点下降了,理论上经纬度应该差异不大。这里我基 本上可以确定是 gps 偏移导致了这次 ekf 报错。
在我所设的起飞点中有一个地方三面都有比较高的建筑物,比我起飞点大约高 了 2.5m 以上,无人机起飞 的时候经常会盘旋飞机,在我们的地面站看到的效果如下: 以下是这个时候 gps 位置和速度的变化量 Gps 纬度:
GPS 经度: 对应的位置速度变化值: 而且每次在该点事速度和位置的变化值都很大。这里再次验证了我的猜想,是 gps 的 漂移导致了位置变化过大,最终导致速度变化很大,才导致 ekf 错误。 通过查阅了一些资料和思考,我打算先尝试下用多阶最小二乘法实时预测下一 个 gps 可能的值,如果获取到的 gps 的位置和前一个 gps 的位置的距离大于了在当前 时间内以无人机现在最大的速度行驶的最大位置,就用最小二乘法估计的 gps 位置作 为 gps 的更新值。 根据经度、纬度的波形走势,我大致想了一个逼近函数 xf ( t  1 ) xb t t  sin a t ;
其中对 tb 和 ta 的函数如下方程组: x t  1 bx t  sin a ; x t  bx t 1   sin a ; b t  kb t 1  1(  bk ) ; a k  ka t 1  1(  ak ) ; 公式中 tx 是 t 时刻 gps 的经度(或纬度)值, 1tx 是预测的 t-1 时刻的经度(或纬度) 预测值。
分享到:
收藏