Uber是如何重新思考GPS定位的(尤其是在城市峡谷中)
2018-04-24 19:24
127 查看
郑昀(公众号:老兵笔记) 20180424
2018年4月19日,Uber 公布了 GPS 优化算法,https://eng.uber.com/rethinking-gps/,针对GPS定位在城市环境中表现不佳做了修复,如可以通过卫星信号信噪比(缩写为SNR)和3D地图来判断出你在马路的左侧还是右侧。
如下图3所示,GPS定位基本假设是,接收机对每个正在计算其伪距的卫星都有直接的LOS(为 line of sight 的缩写,无线电信号的视线传输),在开阔地形中工作无碍,但在城市环境中则偏差较大。接收机经常需要处理建筑物反射的强烈信号,这往往会导致城市峡谷中的位置误差在50米以上。
如下图4所示,如果某颗卫星的信号比预期弱,那么很可能被大楼挡住了,你处在大楼的阴影里面,因此可以据此修正你的位置。
怎么做呢?
第一,我们有 3D 地图。对于城市内任何位置的接收器,我们可以校验卫星的 LOS 是否会被遮挡。
第二,安卓手机上,LocationManager API 不仅提供了手机的位置估计,还提供每个GNSS卫星的信噪比(SNR)。
第三,使用一个在 LOS 和阴影条件下的信噪比概率分布模型,我们可以算出任何位置任何时间信号的信噪比似然估计。
第四,最终绘制出这么一张位置热力图,如下图5所示:
第五,既然是一个概率模型,那根据手机上报的位置,Uber 估算出你的每一个运动点都有很多的可能性(像电子云),并最终推演你的实际运行轨迹。如下面这张动图所示。
-EOF-
赠图1枚:
昨天我改了200多个BUG
相关文章推荐
- 如何获取gps卫星导航定位,解决getLastKnownLocation返回null
- 分析与思考:直播类app如何开发、定位
- openGPS.cn - 如何防范被高精度IP定位采集数据
- 如何利用【百度地图API】进行定位?非GPS定位
- GPS是如何定位你在哪的?
- 如何让你的魅蓝手机无网络下GPS神速搜星定位!
- 如何利用【百度地图API】进行定位?非GPS定位
- 如何获取gps卫星导航定位,解决getLastKnownLocation返回null
- 如何获取gps卫星导航定位,解决getLastKnownLocation返回null
- 【Android架构GPS篇】之定位数据如何从GPS芯片到应用层
- 百度地图应用-gps如何精准地转换成百度定位图标
- gps、基站、wifi定位是如何实现的
- 【Android架构GPS篇】之定位数据如何从GPS芯片到应用层(一)
- 【转】如何让安卓手机GPS定位加速 看完你就明白了
- ISO GPS定位,坐标转换以及如何显示
- 使用GPS如何在软件和操作层面上实现快速高精度的定位?
- 默认地址未设置如何重新设置
- 获取自己的定位(GPS)然后转换成百度地图坐标
- FL2440——基于安信可A7模块编程实现GPS定位功能
- iOS开发Xcode崩溃在main函数入口时如何定位Bug的一个小方法以及一个恶心的bug介绍