GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

车载多传感器融合定位方案:GPS +IMU+MM

2019 年 8 月 21 日

车载多传感器融合定位方案:GPS +IMU+MM

1. 导读

高德定位业务包括云上定位和端上定位两大模块。其中,云上定位主要解决 Wifi 指纹库、AGPS 定位、轨迹挖掘和聚类等问题;端上定位解决手机端和车机端的实时定位问题。近年来,随着定位业务的发展,用户对在城市峡谷(高楼、高架等)的定位精度提出了更高的要求。


特别是车机端定位,由于定位设备安装在车上,一方面,它可以搭载更丰富的定位传感器来解决特殊场景的问题,另一方面,各个传感器之间相互固连,有利于高精度的算法设计。这两点为车机端进一步提高导航精度的提供了可能。


城市峡谷一直是车机端定位的痛点。原因是城市峡谷的环境使用户无法接收到 GPS 信号或 GPS 信号受干扰,导致 GPS 无定位结果或定位精度差。这是“有源定位”固有的缺点,无法从算法上来克服。


针对这个问题,以 GPS+IMU 的多传感器融合方案越来越受到重视,因为“无源定位”的 IMU 恰好可以弥补 GPS 的短板。此外,车机还可以搭载里程计、视觉设备形成更丰富的多传感器融合方案。


对高德而言,地图数据是定位业务的灵魂。多传感器融合只是定位业务中的一部分,如何把多传感器与地图数据结合起来,始终是我们在思考的问题。


针对车机应用,我们使用 GPS、IMU、里程计等传感器,结合高德地图的地图优势,提出了一种结合地图匹配(Map Matching)的多传感器融合算法——GPS/IMU/MM 融合(软件+硬件的解决方案)。


本文概述了车载多传感器融合定位项目背景,该项目确立是为了向用户提供好的导航定位服务。为了解决用户反馈的三大痛点问题:偏航重算、无法定位和抓路错误,结合算法和数据,提出了一套软件+硬件的解决方案。最后,用实测数据验证对用户反馈问题的改善程度。


2. 车载应用的痛点

  • 偏航重算:是指在高架或城市峡谷,信号遮挡引起位置点漂移;

  • 无法定位:是指在无信号区域(停车场、隧道)推算的精度低,导致出口误差大;

  • 抓路错误:是指主辅路、高架上下抓路错误。


其中,导致偏航重算和无法定位直接原因是 GPS 定位精度差和 DR 航位推算精度差。GPS 定位精度由观测环境决定,难以改善;DR 航位推算精度与 DR 算法性能有关,尤其是里程计系统误差和陀螺零偏的标定精度。对于抓路错误,直接原因是正确道路与误抓道路相隔太近,受定位精度限制无法区分;根本原因是只使用位置信息进行抓路,没有发挥其它数据的价值。



图 1 用户痛点问题


3. 相关名词

GPS(GlobalPositioning System):指美国国防部研制的全球定位系统。用户设备通过接收 GPS 信号,得到用户设备和卫星的距离观测值,经过特定算法处理得到用户设备的三维坐标、航向等信息。使用不同类型的观测值和算法,定位精度为厘米级到 10 米级不等。GPS 的优点是精度高、误差不随时间发散,缺点是要求通视,定位范围无法覆盖到室内。


IMU(Inertial measurementunit):指惯性测量单元。包括陀螺仪和加速度计。陀螺仪测量物体三轴的角速率,用于计算载体姿态;加速度计测量物体三轴的线加速度,可用于计算载体速度和位置。IMU 的优点是不要求通视,定位范围为全场景;缺点是定位精度不高,且误差随时间发散。GPS 和 IMU 是两个互补的定位技术。


MM(Map matching):指地图匹配。该技术结合用户位置信息和地图数据,推算用户位于地图数据中的哪条道路及道路上的位置。


4. 技术方案

车机融合定位项目解决的是道路级的定位问题,受限于硬件性能,目前市场上通用的技术方案有两种,如下表 1 所示:


表 1 通用方案


方案代表偏航重算无法定位抓路错误
软件(GNSS+MM)·Apple
·Google
部分可解不可解不可解
硬件(GNSS+IMU)·奔驰
·Trimble Ublox
部分可解可解不可解


这两种技术方案涉及到 3 种技术手段,在场景覆盖和精度上,它们各有所长,互相补充。如表 2 所示:


表 2 技术手段


技术优势局限
卫星定位(GNSS)·全局、绝对定位
·低成本
·信号易受干扰
·不能解决头部问题
地图匹配(MM)·位置约束
·场景化
·提升定位精度,本身无定位能力
·解决部分偏航重算问题
惯性导航(IMU)·输出连续可靠
·无需外部依赖
·误差累积发散
·解决无法定位问题


表 1 表明,目前市面上存在的通用方案并不能完全解决偏航重算、无法定位和抓路错误这三个问题,尤其是抓路错误。为此,在技术层面上,我们将两套通用方案进行融合,提出了一套软+硬(GNSS+MM+DR)方案;在算法层面上,依靠高德的数据优势,以数据融合模块为核心,一方面提高定位结果可靠性,弥补硬件性能上的不足,另一方面对抓路错误问题进行专门的算法设计。更进一步,将用户反馈的三个问题解构为算法上解决的三个问题:器件误差标定、场景识别和数据融合。如图 2 所示:



图 2 业务问题解构图


5. 功能模块

车机融合定位包括数据适配层(DataAdaptive Layer)、算法支撑层(Aided Navigation Layer)和融合层(NavigationLayer)。数据适配层负责将不同输入标准化、将信号同步;算法支撑层计算中间结果,为融合层服务;融合层是整个系统的核心,它负责融合算法支撑层输出的数据,得到可靠的导航信息。图 3 列出了各层所处位置及每个层的具体功能模块:



图 3 算法框架


下面,将功能模块分为基础模块特色功能两个部分分别进行介绍。


5.1 基础模块

5.1.1 GPS 质量评估

GPS 质量评估模块的功能是计算 GPS 位置、速度、航向角和全局可靠性指标。根据可靠性指标的大小将其投影到状态空间(GOOD、DOUBT、BAD、ABNORMAL)中,状态空间的值表征 GPS 数据质量的好坏。如图 4 所示:



图 4 GPS 质量评估模块


评估 GPS 质量有两个目的:第一,决定是否使用 GPS 数据进行器件误差标定或某些状态的判断(如转弯行为、动静状态等);第二,在数据融合模块,为设定 GPS 观测量的方差—协方差阵提供参考。


5.1.2 器件补偿

无 GPS 信号环境时,定位只能依靠 DR 算法。DR 算法精度主要取决于 IMU(陀螺仪和加速度计)和测速仪的误差,陀螺仪误差将引起位置误差随时间的二次方增长,测速仪误差将引起位置误差随时间线性增长,如图 5 所示:



图 5 位置误差与陀螺仪误差的关系


为改善无 GPS 信号环境的定位精度,必须进行器件误差补偿。


补偿模块的主要功能是利用 GPS 数据来补偿速度敏感器误差参数(比例因子)和 IMU 的误差参数(陀螺仪天向比例因子和陀螺仪三轴零偏)。补偿的目的是在无 GPS 信号或弱 GPS 信号的场景,仅靠 DR 算法也能得到较为可靠的导航信息。


5.1.3 DR 算法

DR(DeadReckoning,航位推算)算法是指已知上一时刻导航状态(状态、速度和位置),根据传感器观测值推算到下一时刻的导航状态。DR 算法包括姿态编排和位置编排两个部分。


姿态编排使用的是 AHRS(Attitude andheading reference system )融合算法,处理后输出车机姿态信息。姿态编排流程如图 6 所示:



图 6 AHRS 融合算法


位置编排是指结合姿态编排结果,对测速仪观测值进行积分后得到车机位置。


5.1.4 融合算法

车机融合定位项目使用了 GNSS、MM 和 DR 三项技术,每项技术能够提供全部或部分车机导航信息,如表 3 所示。以位置信息为例,GNSS、MM 和 DR 都输出车机位置,但由于不同技术手段有各自的误差源,致使不同技术的定位结果并不相同。


表 3 GNSS/MM/DR 提供的导航信息


|技术|位置|速度||姿态|


|-|-|-|-|


|GNSS|提供|提供|部分提供(航向角)|


|MM|提供|——|——|


|DR|提供|提供|提供|


因此,融合算法有两个目的:第一,将不同技术的导航信息融合成唯一导航信息,使之可靠性高于未融合前的;第二,估计器件误差(陀螺仪零偏、测速仪尺度误差和导航误差等)。


融合算法基于 Kalman 滤波实现,其关键在于模型建立和模型参数设置。Kalman 滤波模型由状态转移方程和观测方程构成。状态转移方程表示相邻导航状态之间的转移关系,它通过构建导航误差微分方程实现;模型参数是指状态转移噪声和观测噪声,观测噪声的设置与 GPS 质量评估模块相关。


经 Kalman 滤波处理后,得到导航误差的最优估值,如图 7 所示。即经过补偿得到了导航信息的最优估值。



图 7 融合算法模块


5.2 特色功能

5.2.1 主辅路识别

以往的主辅路识别策略是通过 DR 输出的位置和方向与两条候选路的关系,选择最接近的候选路作为输出。但对于道路级定位系统而言,DR 输出误差与两条路的差异在同一量级,误判的概率较高,所以,需要从一些驾驶特征来解决此问题,例如,路口附近的转弯、变道等。



图 8 主辅路街景


如图 9 所示,具体步骤为:


  • 提取驾驶行为特征,求特征信息的转移概率;

  • 根据 DR 精度分类计算卷积和,求最终概率。



图 9 主辅路识别算法


5.2.2 高架识别

过去,高架识别策略是通过高程积分和阈值法来判断,识别效果受坡角误差和速度误差的影响。其中,速度误差与高程积分误差成正比,是影响高架识别准确率的主要原因。为克服这一缺点,我们结合 MM 技术,计算道路坡度与输出 pitch 角的接近程度(如图 11 所示),以避免引入速度误差。高架识别流程如图 12 所示:



图 10 高架街景



图 11 估算角度与道路角度匹配



图 12 高架识别流程


5.2.2 停车场识别

停车场识别是新增模块,是停车场定位导航的前置工作。停车场定位导航的主要目的是将车机用户导航到指定的停车位,其中涉及到室内外场景地图切换、层与层地图切换和导航等一系列问题。停车场识别的目的就是为这地图切换提供支持。


停车场内容包括进出停车场识别和跨层识别。进出停车场识别是指利用停车场无 GPS 信号、上下坡、低速、高程变化等一系列特征判断车机是否进出停车场。停车场跨层识别是指利用上下坡、高程变化等特征判断车机是否在停车场内有跨层行为。识别流程如图 13 所示:



图 13 停车场识别流程图 (左:进出停车场识别,右:跨层识别)


6. 效果

为验证本项目算法的效果,我们采集了实测数据,并从以下两方面验证:


  • 验证算法对用户痛点问题(偏航重算、无法定位和)的改善程度;

  • 与竞品及高德手机定位端产品性能的比较。


6.1 融合抗漂

针对高架和城市峡谷的偏航重算(位置漂移)问题,车机算法做了以下两点改进:


  • 多元参考:结合运动趋势、传感器信息和地图数据,将 GPS 可靠性归一化;

  • 场景分类:参考地图道路属性和 GPS 信号分布判断是否有遮挡。


在高架下采集两圈数据,使用车机软件和市场某款同类软件进行处理,效果如图 14 所示。从近半年的测试来看,在 GPS 受遮挡的场景下,本项目的抗漂能力明显优于传统方案。



图 14 融合抗漂效果(上图为车机算法,下图为市场某同类产品)


6.2 器件标定

为验证有无陀螺仪动态零偏估计对 DR 方向和位置解算精度的影响,本项目采集了望京 soho 停车场的数据,经解算,效果如下。测试表明,经动态零偏补偿后,DR 精度明显提高:


  • 零偏:动态零偏估计保证陀螺仪误差量级为 0.01 度/s;

  • 方向:停车场出口出的方向误差减小至 40%以内,方向精度提升 2 倍以上;

  • 位置:停车场出口处的位置误差减小至 25%以内,位置精度提升 4 倍以上。




图 15 soho 停车场(左:无动态零偏估计,右:有动态零偏估计)


6.3 主辅路识别

为计算主辅路识别的成功率,统计了近千条主辅路的识别效果,识别率达到 90%以上,大于某厂商产品的 75%。


6.4 横/纵向对比

最后,我们与市面的中高端竞品进行了横向对比,与高德手机端定位产品进行了纵向对比。横向对比结果表明,在器件成本不到竞品成本 10%的情况下,不超过某一阈值的位置误差、方向误差和速度误差的占比均在 90%以上,相对竞品,提高了 1%~5%。主辅助路识别准确率优于 90%,相对于竞品提高了 15%。


纵向对比结果表明,在不同场景(高架,城市峡谷,环岛,停车场出口等)下,不超过某一阈值的位置误差占比提升 15%~60%不等,这是因为车机算法对特殊场景(无 GPS 或弱 GPS 场景)进行了专门的算法设计和优化。全场景下的位置误差占比提升约 20%。


7. 小结

针对用户提出的三大痛点问题,本文结合多传感器融合和地图匹配,提出了一套车载多传感器融合定位方案,并应用于实际,提高了在城市峡谷中的定位精度,并且取得了不错的效果。


然而,城市峡谷的定位精度问题很难彻底解决,它似乎是一个没有终点的难题。为此,站在用户的角度,我们需要不停思考:需要什么样的传感器技术、应该设计什么样的算法、如何挖掘数据的最大价值。


本文转载自公众号高德技术(ID:amap_tech)


原文链接


https://mp.weixin.qq.com/s/9-ztM-r6i8k-Knmco7ipjA


2019 年 8 月 21 日 08:005815

评论

发布
暂无评论
发现更多内容

框架设计-第二周作业

睁眼看世界

极客大学架构师训练营 软件设计原则

五种简单高效的拆分用户故事的方法

Bruce Talk

敏捷 Agile 用户故事 User Story Product Owner

架构师训练营第二周命题作业

成长者

极客大学架构师训练营

架构1期-第二周作业一

道长

极客大学架构师训练营

食堂就餐卡系统设计

谭明华

极客大学架构师训练营

第二周作业二-学习总结

道长

极客大学架构师训练营

架构师第二周总结

悠哉

架构师训练营 - week1 - 个人学习心得总结

谭明华

第二周学习总结

追风

极客大学架构师训练营

架构师训练营第 1 期 - 第二周 - 作业提交

Todd-Lee

架构师 极客大学架构师训练营

数字与能源,交织成新基建的摩比斯环

脑极体

linux虚拟摄像头vivid配置

良知犹存

Linux 虚拟摄像

听说有人不了解柔性数组

C语言与CPP编程

程序员 数组 编程语言 C语言

架构师训练营 - week2 - 个人学习心得总结

谭明华

极客大学架构师训练营

原来我写的软件里面都是臭味 - 架构师训练营第 1 期 - 第二周总结

Todd-Lee

极客大学架构师训练营

架构师训练营第一期 - week2 - 命题作业

谭明华

极客大学架构师训练营

第二周 作业一【未陌】

a d e

设计模式 架构设计原则 基本原则

UML练习2

何毅曦

C语言/C++基本语句编程风格

C语言与CPP编程

程序员 编程语言 C语言

极客时间架构师培训 1 期 - 第 2 周作业

Kaven

腾讯某Java程序员为了肝出《300页图解网络知识》+《计算机底层操作系统》超全教程差点猝死!

Java架构之路

Java 程序员 面试 编程语言 操作系统

架构师训练营 1 期 -- 第二周

小河

极客大学架构师训练营

第二课框架设计课后作业

Geek_michael

字节3-2专家3年心血终成IT运维之道PDF(IT运维精髓)

周老师

Java 编程 程序员 架构 面试

第二周 作业二:框架设计学习总结【未陌】

a d e

设计模式 架构设计

const关键字应用总结

C语言与CPP编程

程序员 编程语言 C语言

前言、Python是真的火,还是炒得火?来看看它的前世和发展

刘润森

Python

2020年高频Java面试题集锦(含答案),让你的面试之路畅通无阻!

Java架构之路

Java 程序员 面试 编程语言

超全算法笔试模拟题精解合集,这份《程序员面试宝典》简直太牛了

Java架构之路

Java 数据结构 面试 算法 编程语言

周总结二

何毅曦

架构师第二周作业

悠哉

极客大学架构师训练营

DNSPod与开源应用专场

DNSPod与开源应用专场

车载多传感器融合定位方案:GPS +IMU+MM-InfoQ