RTKLIB中moving-base模式和基线约束(测试与思考)

一、前言

前几天在写博客关于基线长度对双天线GNSS测姿精度的影响时,自己设想了下如何解算双天线航向。这两天注意到RTKLIB有moving-base定位模式,针对的便是动基站的情况,并且在配置中有基线约束的相关设置,于是便想用数据简单测试看看。

这篇博客主要是对moving-base定位的简单测试,以及由此引发的一些思考。

一般我自己动手之前,都会搜搜看有没有其他博主已经有一些测试分享,感兴趣的也可以看看:
(1) 奔跑的橘子
rtklib中的基线约束应对观测条件糟糕的GNSS数据

(2) rktlibexplorer:
Moving-base solutions (part 2)
Exploring moving-base solutions

二、moving-base在处理上的区别

根据rktlibexplorer博主的总结,moving-base模式相比于kinematic模式有以下主要区别(具体可以看手册和代码):

  1. 每个历元基站的位置为其单点定位的位置
  2. 对基站、移动站量测量的时间同步会有更严格的要求,最大的时间差小于1.01s,max age的配置不起作用
  3. 配置中可以增加基线约束,可以设置基线长度以及其标准差
  4. 配置中可以增加卡尔曼滤波器的迭代次数

三、测试数据及结果

1. 测试数据

我使用的是rktlibexplorer在上述两篇博客中的数据,作者在文中也给出了数据下载链接,感兴趣的可以自己下载测试。

  • 这组数据包含两个接收机的数据(ublox MT8),数据为单频,只有GPS、GLONASS和SBAS,需要自己将ubx数据转换为RINEX。
  • 数据是在皮划艇上采集的,初始和结束的时候皮划艇貌似有点翻了,所以数据不太好。

2. 参数配置

因为配置的结果输出选择的enu-baseline,所以对于基线固定的双天线,结果会是一个圆圈。根据这个圆圈,其实可以直接算航向。

我使用的软件版本是rktlibexplorer最新的RTKLIB demo5 b34g。在他更新的版本中,如果将定位模式设置为moving-base,那么“Rec dynamic”是灰的,不能更改(具体原因在后面解释)。

我在作者原本配置文件的基础上,将定位模式改为了moving-base,分别看了下“加基线约束”和“不加基线约束”的情况,结果如下图。固定率上其实差别不大,只是加了约束之后,开始的时候那段不太好的数据,由于基线约束,所以也在圆上了。

下图中可以看到,圆上其实有很多跳点,我暂时没有深入debug。
在这里插入图片描述

此外,我也试了下将定位模式设置为“Kinematic”,定位结果如下图。事实上,定位结果比用moving-base看起来更好,而且rktlibexplorer也更加推荐即使在动基站的情况,也使用Kinematic模式来做定位。

在这里插入图片描述

四、一些思考与总结

经过上述测试,个人的一些思考和总结如下:

(1)为什么"moving-base“模式要把“Rec dynamic”设为“OFF”?

最开始rktlibexplorer用moving-base结果并不好(几乎没有固定解),后来他发现在moving-base模式下,需要把“Rec dynamic”设为“OFF”。究其原因,“Rec dynamic”的本质是在卡尔曼滤波中增加了速度、加速度状态量。由于在moving-base模式下,每个历元基站都用的单点定位的位置,会造成加速度变化比较大,但是卡尔曼滤波中其实加速度的一步预测还是它原来的值,所以在卡尔曼滤波器中把加速度的变化给滤掉了,造成结果较差。

(2)为什么即使是动基站,也可以使用kinematic模式来定位?
因为差分的本质是求基线向量,而不是移动站的绝对位置。载波相位双差方程里面,未知数其实只有基线和模糊度。虽然基站在动,但是只要移动距离不要太远(几公里以内),对双差方程里line of sight的计算影响其实很小。所以基站位置设置的只要不是差特别远,对基线的求解其实影响不大。

(3)为什么测试中“kinematic”模式会比“moving-base”结果好?
因为我没有深入调试和测试,所以只能从感觉出发来分析,说得不一定是对的。在moving-base中将“Rec dynamic”设为“OFF”,每次卡尔曼滤波的一步预测,会将移动站的位置设置为单点定位的位置,其实这样一步预测的误差是很大的,对滤波结果以及后续的模糊度固定其实会带来一定的影响。在kinematic中,设置为“ON”,会用速度状态量来对位置进行一步预测,相比来说其实是更加准确的。

(4)有什么办法能提高moving-base的性能呢?
有一些想法,但是目前没有实践过。比如卡尔曼滤波器里移动站位置状态量改为基线,移动站速度状态量改为基线速度。比如不用卡尔曼滤波。


最后,欢迎关注个人公众号: 导航员学习札记

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值