自动驾驶中地图匹配定位技术总结

引言

汽车定位是让自动驾驶汽车知道自身确切位置的技术,在自动驾驶系统中担负着相当重要的职责。汽车定位涉及多种传感器类型和相关技术,主要可分为卫星定位、惯性导航定位、地图匹配定位以及多传感器融合定位几大类。其中地图匹配定位技术利用道路物理信息与预制高精度地图,实现实时的自动驾驶定位。

高精度定位与高精度地图紧密联系,为自动驾驶汽车路线规划,道路感知,驾驶控制提供支持。

首先,高精度地图数据的采集、处理、以及地图的建模都需要以高精度的位置坐标作为框架。高精度地图中道路和场景是自动驾驶汽车感知和决策的数据基础。
其次,以高精度地图为基础,结合感知匹配实现高精度的自主导航定位,在定位信号中断或不稳定的情况下,保证自动驾驶汽车仍明确知晓车辆在当前环境中的准确位置。而高精度地图与高精度定位相结合,车辆能够提供了解当前位置可能的道路特征情况,调高传感器的识别精度,降低对于传感器的性能要求。

在卫星定位、惯性导航系统出现明显误差时,地图匹配定位技术可为自动驾驶系统提供实时定位修正信息,因此对自动驾驶系统至关重要。下面将从地图匹配定位技术的简介、原理、误差分析以及常用算法进行介绍。

地图匹配定位技术简介

无论是卫星定位(GNSS)还是惯性导航定位(INS),自动驾驶定位系统的误差都不可避免,定位结果通常偏离实际位置。引入地图匹配可以有效消除系统随机误差,校正传感器参数,弥补在城市高楼区、林荫区、立交桥、隧道中长时间GNSS定位失效而INS误差急剧增大的定位真空期。

**地图匹配定位技术是指将自动驾驶汽车行驶轨迹的经纬度采样序列与高精度地图路网匹配的过程。**地图匹配定位技术将汽车定位信息与高精度地图提供的道路位置信息进行比较,并采用适当算法确定汽车当前的行驶路段以及在路段中的准确位置,校正定位误差,并为自动驾驶路径规划提供可靠依据。

如图1所示,由于各种原因导致自动驾驶汽车定位信息存在误差,尽管汽车行驶在中间车道上,但定位效果与实际情况存在偏差,利用地图匹配定位技术可将定位信息纠正回正确车道,提高定位精度。
在这里插入图片描述

图1 地图匹配定位效果示意图

地图匹配定位技术原理

地图匹配定位是在已知汽车位姿信息的条件下进行高精度地图局部搜索的过程。首先,利用汽车装载的GNSS和INS做出初始位置判断,确定高精度地图局部搜索范围。然后,将激光雷达实时数据与高精度地图数据变换到同一个坐标系内进行匹配,匹配成功后即可确认汽车定位信息,地图匹配定位流程如图2所示。

在这里插入图片描述

图2 地图匹配定位流程

高精度地图的预制是地图匹配的基础,需包含特征明显的结构化语义特征和具有统计意义的信息。高精度地图中常用于地图匹配的特征主要包含车道线、停止线、导流线、路灯、电线杆等特征明显的物体,同时还包括平均反射值、方差及平均高度值等具有统计意义的信息。

当自动驾驶系统的GNSS和INS出现较大误差时,汽车会根据实时感知数据进行环境特征的检测,主要检测对象是地面上的车道线与杆状物,并从高精度地图对应位置范围内提取对应的元素。实际匹配过程中,系统将检测出的车道线、护栏等道路特征与高精度地图提供的道路特征进行对比,修正汽车的横向纵向定位,如图3、4所示。
在这里插入图片描述

图3 修正横向位姿示意图

在这里插入图片描述

图4 修正纵向位姿示意图

图3中,GNSS将汽车定位在前进方向的左侧车道,自动驾驶汽车利用传感器检测到的车道线信息与高精度地图数据进行匹配后,确定汽车位于前进方向中间车道,与GNSS的定位结果存在差异,进而修正横向的位姿误差。图4中,纵向上修正主要提取传感器所检测到的广告牌、红绿灯、交通标志灯等道路元素与高精度地图进行匹配,可以修正汽车的纵向误差。

地图匹配定位误差分析

地图匹配定位误差主要由局部搜索范围正确性问题引起,局部搜素范围正确性即道路选择的正确性,是地图匹配中极大的影响因素,在选择道路正确的情况下,才能继续之后的地图匹配过程。造成道路选择错误的原因主要包括路况引起的误差、传感器误差、高精度地图误差及算法误差等方面。

路况引起的误差
真实道路的情况复杂多变,无法保证汽车在各种复杂路况上都能够正确地提取特征,并实现正确定位。车速变换将会影响传感器采集数据的质量,车速越快,质量越低,甚至产生运动模糊、失真等情况。在没有INS的定位系统中,各种路况下造成的汽车轮胎漂移及路面颠簸等情况都可能使激光点云数据发生畸变、抖动和运动模糊等问题。与此同时,实际行驶情况中汽车有时会离开道路,这将导致道路匹配错误并引起误差。

传感器误差
进行地图匹配需要利用传感器的量测信息(如激光雷达、摄像头),这些数据存在误差将直接影响定位速度与成功率。

高精度地图误差
在实际使用中,一般默认高精度地图的精度比传感器获得的数据精度高,但实际上,高精度地图同样有可能存在较大误差。在地图数据本身存在误差时,即使在正确选择道路的情况下也会引入误差。

算法误差
在地图匹配过程中,不可避免地因算法存在的缺点导致发生错误匹配,发生错误匹配会对之后的地图匹配定位结果产生恶劣影响。

地图匹配常用算法

任何一种地图匹配算法都涉及两个根本的问题:(1) 当前汽车在哪一条道路上;(2) 当前汽车在对应道路的哪一个位置。因此,地图匹配算法几乎都可以用如下表达进行形式化描述:
在这里插入图片描述
几何匹配算法

几何匹配算法包括点到点、点到弧和弧到弧的地图匹配算法。

(1) 点到点的地图匹配算法

点到点的地图匹配算法的原理即搜索汽车定位点与高精度地图中位置点之间几何距离最近的点作为匹配结果。该算法匹配精度取决于位置点集的数量,随着位置点集数量的增大,匹配精度更高,但占用的硬件资源也更多。点到点的地图匹配算法得到的匹配结果很可能会与实际情况不符,如在一条笔直道路上,待匹配GNSS点都会错误地匹配到道路两端的的节点上,这样得到的匹配精度显然不符合实际使用要求。

(2) 点到弧的地图匹配算法

通过寻找与汽车定位点几何距离最近的路段作为匹配线段,将汽车定位点投影到该选段上作为匹配结果。对于曲线则做线性化处理后进行投影,该算法只利用了部分数据,当两条曲线距离较小或相同时极易造成误匹配,在路网密度大时匹配结果的精度就会锐减,此时的算法缺乏稳定性。

(3) 弧到弧的地图匹配算法

将连续的汽车定位点组成一条轨迹曲线,寻找与这条曲线最近的匹配弧线作为匹配线段。由于最近路段的寻找方法是基于匹配路段与定位点的最小距离,所以若某定位点与非正确匹配线段非常近,将导致严重误差

概率统计算法
概率统计算法通过在汽车导航定位系统中获得的历史轨迹,建立置信区域来与高精度地图进行匹配。置信区域参考GNSS误差、汽车航迹、汽车速度及道路信息等进行选取,与高精度地图匹配后采取最近距离原则来确定匹配选段。

一个完整的基于概率统计的地图匹配算法包括三个主要的处理过程,即确定误差区域、选取候选路段和计算匹配位置,基于概率统计算法地图匹配的一般过程如下图所示:
在这里插入图片描述
误差区域是指可能包含汽车真实位置的区域范围,它应根据传感器定位结果和误差情况确定。在误差区域内的道路称为候选路段,地图匹配算法认为其中包含了汽车的真实位置。匹配路段的选取方法是从候选路段中挑选最有可能的汽车行驶路段,挑选原则依据具体的算法设计而不同,通常挑选参考量是高精度地图中的道路形状与汽车轨迹的相似程度。确定匹配路段后,计算汽车在该路段中最可能的位置,并用匹配结果修正原有的定位信息并输出。

其他高级算法
除了上述两种地图匹配算法外,还有非参数滤波算法和参数滤波算法等。非参数滤波算法包括了直方图滤波(Histogram Filter, HF)和粒子滤波(Particle Filter, PF)等。参数滤波算法包括卡尔曼滤波、扩展卡尔曼滤波(Extended Kalman Filter, EKF)、信息滤波(Information Filter, IF)、扩展信息滤波(Extended Information Filter, EIF)等。这些算法在固定场景下有很高的匹配准确率,但需要大量的数据进行参数的前期学习和总结,对系统的要求较高。

总结

地图匹配是自动驾驶定位系统的关键技术,在实际自动驾驶定位系统的设计中,要针对具体硬件条件和实际工况,有针对性地进行地图匹配技术的设计。

相关方案

高德技术解析:基于GPS+IMU+MM的车载多传感器融合定位方案

在这里插入图片描述

实现地图匹配定位需要定位系统传感器数据和参考地图形式之间有统一可匹配的要素,如与点云地图匹配的点云定位要素,与特征点地图匹配的特征点要素,与高精度地图匹配的语义要素等。

目前点云匹配常用方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参考链接:https://mp.weixin.qq.com/s/kYGNUbezbCi2p8wmBQ2UXw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/17401.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis使用总结

目录 redis安装与登录redis 持久化RDB(Redis DataBase)AOF(Append Only File)RDB-AOF混合持久纯缓存模式 redis 的 keyredis 的数据类型和常见应用场景StringListHashMapSet集合ZSet有序集合bitmap位图HyperLogLog基数统计GEO 地理空间Stream 流bitfiled redis 事务事务的正常执…

【微机原理】8088/8086微处理器

目录 一、8088/8086的功能结构 1.总线接口部件(BIU) 2.执行部件(EU) 二、8088/8086的寄存器结构(14个) 溢出标志的概念 溢出和进位的区别 8086CPU是Intel系列的16位微处理器,他有16根数据…

servlet技术

什么是Servlet? Servlet 是 javaEE 规范之一. 规范就是接口 Servlet 是 javaWeb三大组件之一 三大组件分别是: Servlet程序, Flter过滤器, Listener监听器Servlet 是运行在服务器上的一个 java 小程序, 他可以接收客户端发送过来的请求, 并响应数据给客户端. 手动实现S…

电话号码的字母组合

题目:17. 电话号码的字母组合 - 力扣(Leetcode) 思路: 给定一个电话号码字符串 digits,须输出它所能表示的所有字母组合。我们可以先定义一个数字字符到字母表的映射表 numToStr,然后再用 Combine 函数递归…

Apache Kafka 进阶(一)

官网 Apache Kafka是一个开源的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。 核心能力 高吞吐量 在网络有限的吞吐量下,使用延迟低至2ms的机器集群交付消息。可扩展性 将生产集群扩展到1000个代理&#xff0c…

互联网陪诊系统功能方案

互联网陪诊系统是一款为用户提供陪同患者到医院就医全程陪同,排队约号,排队检查,排队缴费,取送结果,代办买药,代办问诊等。 业务线上预约平台,让客户享受到最为专业的医院助医服务. 功能介绍 专…

阿里云g8i服务器Intel Xeon(Sapphire Rapids) Platinum 8475B

阿里云服务器ECS通用型实例规格族g8i采用2.7 GHz主频的Intel Xeon(Sapphire Rapids) Platinum 8475B处理器,3.2 GHz睿频,g8i实例采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。阿里云百科分享阿里云服…

PMP项目管理-[第八章]质量管理

质量管理知识体系: 规划质量管理: 管理质量: 控制质量 : 8.1 质量和等级的区别 质量定义:作为实现的性能或成果,是一系列内在特性满足要求的程度 等级定义:作为设计意图,是对用途相同…

DP(9)--插头DP

DP(9)--插头DP /* Mondriaan’s Dream题目大意:在 N*M 的棋盘内铺满 1*2 或 2*1 的多米诺骨牌,求方案数。 砖只有横放和竖放两种状态,把横放记为两个0,竖放记为上1下0,逐格DP,每次无论前一格…

详解MySQL慢SQL定位、分析

目录 1.概述 2.慢SQL定位 3.SQL性能分析 3.1.例子 3.2.SQL性能分析 3.3.参数说明 3.3.1.id 3.3.2.select_type 3.3.3.key_len 3.3.4.rows 3.3.5.type 3.3.6.extra 1.概述 解决慢SQL的问题无非3步: 定位慢SQL分析慢SQL优化慢SQL 本文将按顺序介绍前两…

【MySQL】SQL优化

上一篇索引是针对查询语句进行优化,但在MySQL中可不仅有查询语句,针对其他的SQL语句同样也能进行优化 文章目录 1.插入数据2.主键优化3.order by 优化4.group by优化5.limit优化6.update优化 1.插入数据 插入数据所使用的关键字为insert,SQL语句为 insert into 表名(字段1,字…

恢复item2和oh-my-zsh的配置

1. 首先正常安装item2 2. 加载onedrive里的传家宝iterm2_default_profile.json,让iterm2的配置生效 2. 然后正常安装oh-my-zsh (官方步骤: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&q…

BUUCTF ciscn_2019_c_1

小白垃圾做题笔记而已,不建议阅读。 1前期: 其实刚开始拿到程序的时候我还以为是逆向题放错地方了。唉,做题太少了。啥也不会。我是大笨蛋。 题目中用的是ubuntu18,我的ubuntu没怎么用过,vmtools都不能用&#xff0c…

什么是GPT模型,GPT下载和国内镜像

什么是GPT模型,GPT模型是通过预训练的方式,采用无监督学习方式,大量语料输入,经过多次训练后得到模型。它能够自动学习并理解自然语言中的语义、句法和语法信息,并可以用于文本生成、对话系统、情感分析、机器翻译等自…

零死角玩转stm32中级篇3-SPI总线

本篇博文目录: 一.基础知识1.什么是SPI2.SPI和IIC有什么不同3.SPI的优缺点4.SPI是怎么实现通信的5.SPI 数据传输的步骤6.SPI菊花链7.通过SPI实现数据的读和写 二.STM32F103C8T6芯片SPI协议案例代码 一.基础知识 1.什么是SPI SPI(Serial Peripheral Interface&#…

Flask开发之环境搭建

目录 1、安装flask 2、创建Flask工程 ​编辑 3、初始化效果 4、运行效果 5、设置Debug模式 6、设置Host 7、设置Port 8、在app.config中添加配置 1、安装flask 如果电脑上从没有安装过flask,则在命令行界面输入以下命令: pip install flask 如果电…

给大家介绍几个手机冷门但好用的小技巧

技巧一:拍照识别植物 手机的拍照识别植物功能是指在使用手机相机时,可以通过对植物进行拍照,并通过植物识别技术,获取植物的相关信息和资料。其主要优点如下: 方便实用:使用拍照识别植物功能,…

【Java笔试强训 18】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥统计每…

基于springcloud微服务的java课程资源在线学习考试系统

在我国,由于计算机与网络技术的不断发展,信息化建设的不断深入,不管是企业、学校或个人都在结合计算机网络技术队现有的管理或生活中的一些环节进行开发研究,运用计算机进行一些必要的数据信息管理,分析及发布&#xf…

拷贝构造函数和赋值重载函数详解

1.拷贝构造函数 1.1拷贝构造函数的概念 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。拷贝构造函数也是特殊的成员函数,其特征如下&#…
最新文章