Android Fused Location Provider隧道定位精度优化方案咨询
解决隧道内定位跳动导致里程多计的简便方案
用运动状态校验定位数据
拿车辆的实时速度(从加速度传感器、车载CAN总线或速度传感器获取)来卡定位点的合理性。如果某个定位点算出的瞬时速度明显超出车辆实际能达到的范围(比如短短1秒内位移差超过50米),直接丢弃这个点。进入隧道后要是定位来回跳,就暂时不用定位算里程,改用「速度×时间间隔」来累加这段的里程,等驶出隧道定位稳定了再切回去。不用提前存隧道数据,靠车辆自带传感器就行。滑动窗口过滤异常点
维护一个存储最近5-10个有效定位点的窗口,新点进来时,对比它和窗口内点的平均位移、方向偏差。如果偏差太大(比如和前一个点的距离是当前速度下2倍以上的合理位移),就判定为异常点直接丢弃。另外,一旦检测到GPS信号精度暴跌(比如HDOP值大于3,或者卫星数量少于4颗),自动开启这个过滤模式,只保留符合运动趋势的点,避免跳动的点乱加里程。信号失效时切换航位推算
实时监测定位信号:当GPS/北斗信号丢失或者精度不足,立刻切换到航位推算(DR)模式——用最后一次有效定位的位置,结合加速度、陀螺仪、方向传感器的数据,推算车辆的行驶轨迹和里程。等驶出隧道信号恢复后,再用新的有效定位点校准推算结果,防止长时间漂移。这种方法不用提前知晓隧道位置,靠传感器融合就能实现,成本很低。
内容的提问来源于stack exchange,提问作者Michal
相关产品推荐
相关产品推荐

