自动驾驶之高精地图介绍

news2025/1/22 18:50:15

高精地图


文章目录

  • 高精地图
  • 前言
  • 一、什么是高精地图


前言

一、什么是高精地图

高精地图(High Definitation Map,HD MAP),和普通导航电子地图的主要区别是精度更高、信息更丰富。精度更高主要体现在高精地图的绝对坐标精度更高(指的是地图上某个目标和外部的真实世界事物所在位置之间的精度),可以精确到厘米级别;信息更丰富主要体现在高精地图不仅包含了道路信息,还涵盖了几乎所有与交通相关的周围静态信息。
相比于普通导航电子地图,高精度地图所包含的道路交通信息更丰富和准确。除此以外,在应用场景方面,普通导航地图主要供驾驶员使用,而高精度地图是面向机器的、供自动驾驶汽车使用的地图。
精度是高精度地图与普通导航电子地图的最大区别。普通车载电子导航地图的精度一般在10米左右,高精度地图应用在自动驾驶领域,需要精确定位到具体某条车道上,还需要知道周围所有可能参与自动驾驶决策的道路和交通信息,精度需要达到10~20厘米,这样的精度基本上和一个车道边线的宽度差不多,才能保证智能驾驶的汽车不会跨越到其他车道,避免与其他车辆发生侧面碰撞的风险。
在这里插入图片描述普通导航电子地图要描绘出道路(link),而高精度地图不仅要描绘道路,还会描绘出一条道路上有多少条车道(lane),真实地反映出道路的实际样式。

高精度地图信息更丰富主要体现在以下几个方面:

准确的道路形状:每条车道的坡度、曲率、航向、高程,侧倾的数据。

详细的车道线信息:车道之间的车道线是虚线、实线还是双黄线,线的颜色,道路隔离带,隔离带的材质都会有描述。

此外,人行横道,道路沿线看板,限速标志,红绿灯,路边电话亭等等,这类通常统称为LandMark Object的绝对地理坐标,物理尺寸以及他们的特质特性等也都会出现在高精度数据中。

1.2 高精数据分发引擎

ADAS(Advanced Driver Assistant System,高级驾驶辅助系统)应用需要用车辆前方路网及属性数据信息用于决策控制及判断,普通数字地图数据通常仅供导航系统使用,但高精地图数据可供车辆内的其他ADAS应用使用,因此需要依赖高精数据及用于高精数据播发的高精数据分发引擎。
在这里插入图片描述

ADASIS(ADAS接口规范)定义了“ADAS电子地平线”的概念,“ADAS电子地平线”表达了车辆前方的路网及路网属性信息。为了实现这种表达方式,我们需要构建车辆的位置模型以及车辆前方路网的各个可能行驶的道路模型,可以通过一个树状的层次结构来表达可通行的道路。此外,道路的几何形状及相关属性也会建立相关的属性模型来表达。“ADAS电子地平线”数据通过车载以太网络来序列化及传输。

1.3 名词解释

ADAS(Advanced DriverAssistance System)

即高级驾驶辅助系统,利用车载传感器感知车辆环境,并融合计算,预先让驾驶者察觉可能发生的危险,有效提升车辆驾驶的安全性、经济性和舒适性。

ADASIS(Advanced DriverAssistance System Interface Specification)

ADAS论坛制定的行业国际标准,用于规范地图数据和车辆ADAS应用之间交换地图数据的标准接口协议。

AHP(ADAS Horizon Provider)

即高精数据分发引擎,为ADAS应用提供超视距的前方道路和数据信息。

AHR(ADAS Horizon Reconstructor)

用于解析AHP发出的消息并重建地图数据,供终端ADAS应用模块使用。

  1. 为什么需要高精数据的分发引擎

高精数据分发引擎作为高精数据及ADAS应用的桥梁,其价值总结下来有以下几个方面:

自动驾驶远程视距的需要,高精地图作为自动驾驶的地图传感器,可以提供更可靠的超视距范围,支持更可靠的决策判断。精度提高的需要,由导人到导车的转变使得对精度要求提高了。高精地图数据分发的接口标准化。

  1. 高精数据分发引擎的建设

3.1 高精数据分发引擎与ADAS应用的关系
在这里插入图片描述数据分发引擎涉及到以下几个部分组成及交互:

AHP
AHR
ADASIS V3 Protocol
ADAS应用,详见上图的终端应用部

3.2 高精数据分发引擎架构

高精数据分发引擎由多个层级组成,包括引擎层、协议组织层、系统适配层,相关的平台及工具支撑如下图所示:
在这里插入图片描述 引擎层:高精数据的加载,解析及车道路网数据的组织。
协议层:主要将引擎层提供的数据组装协议消息,并向适配层传递分发。
适配层:主要负责和系统对接及交互,并将组织的协议数据分发给ADAS应用。

3.4 高精数据分发引擎的模型表达

3.4.1 路网模型的抽象及表达

数据分发引擎的路网模型包含三层的模型抽象,首先经由现实世界模型抽象成高精路网模型,再由高精路网模型进一步组织及划分抽象为Path及Offset表达的树状模型。

现实世界的抽象模型的表达
在这里插入图片描述数字化地图模型及用户设置的导航路径,地图要素的表达
在这里插入图片描述在数据化地图模型的车辆位置及路网表达
在这里插入图片描述 在车辆位置附近的路网模型通过links来表达路网之间的连接关系。在数字地图数据库中,道路网表示为一组连接和定义链接之间的节点组成。

在这里插入图片描述从ADAS应用角度来看,对车辆后方的路网并不关心,因此数据分发引擎由车辆前方的路网组成。

在这里插入图片描述
将车辆前方路网按Path来组织,每个Path是一组link的集合。车前方的路网数据可以通过两种算法来表达。

简单Path方式,从车所在link开始,每个可以通行的路径都独立表达为Path.
在这里插入图片描述
优化路径组织方式,这种方式减少了数据冗余,也可以完整表达车辆前方的路网数据。
在这里插入图片描述
因此,数据分发引擎根据车辆前方及其周围环境的路网形状描述为不同路径和地图数据属性的集合,组成预测树。这个预测树由多条路径连接而成,每一条路径代表一部分道路,及道路与道路之间的交叉点。

一旦车辆移动更改其位置时,预测视图也会更改,一些车后方的的路径可能会被删除,或车前方的路径可能会添加新的。路径的特征表达为一组属性,如高速及城快路网本身包括的车道数、几何形状、曲率等。属性在路径上的位置用一组偏移值表示,偏移值是一种距离标记,通过定义沿路径本身的绝对距离,以厘米表示。一条路径的原点是零偏移值点,属性的偏移值表示属性本身和路径原点之间的距离。如果路径是新开始的并且没有父路径,则偏移值0点为车辆所在的起始位置。

3.4.2 高精数据分发引擎的属性模型

数据分发引擎的属性模型数据来源于高精路网上的属性信息,定义为沿着Path表达,并定义在Path上的位置,通过Offset来表达。例如,速度限制属性为路径上的点提供速度限制值。

属性模型根据插值类型可以分为以下三种不同的类型,即Spot, Step, Linear类型

在这里插入图片描述
Spot类型的属性只有在Path内某一给定的Offset位置有效,属性的不同由不同的Offset位置来表达。例如交通灯可以定义为Spot类型的属性,因为可以被表达为Path内某一位置存在这个点属性

Step类型的属性定义为到下一属性的Offset位置处一直有效。属性表达为Path上的Offset到EndOffset区间范围内的值。
在这里插入图片描述
如上图所示例子中,Path长度为200。速度限制80是整体有效,从Offset 0点到200。从偏移量50和100开始有两个限速值。因此整个图上属性分布如下:

偏移量0:开始限速值80。偏移量50:引入雨天限速值60,限速80的属性继续。偏移量100:重复速度限制80,新增雾天限制50,雨天的限速60结束。偏移量150:重复速度限制80,雾天的速度限制50结束。

Linear类型的属性定义为在给定的位置间进行线性差值表达。
在这里插入图片描述线性插值型属性不是连续表达的,在同一个Offset处,左边的值和右边的值是不同的,属性模型用以下方式来表达这种不连续的属性值。

在Offset处,存储一个属性,值存储左边的属性值,EndOffset为0。在同一个Offset存储一个属性,值存储右边的属性值,但EndOffset > Offset

3.4.3 车的位置信息模型

在数据分发引擎中,车的位置信息可以通过Path, Offset来表达。在不确定情况下,车的位置可能存在于多个Path上,因此需要用一个集合来描述车的位置信息。通过车位置信息可以表达以下信息:

车信息是否脱离了数据区域。车信息是否匹配到了Path的数据范围。车信息是否匹配到了个多个Path上。车信息是否进入及离开了数据区域范围。

车位置信息的TimeStamp值表达了接收到传感器信息的时间时刻值。

在这里插入图片描述车的位置信息还可以表达前方更可能选择的Path路径。
在这里插入图片描述
如上图中左边可能选择的路径是P1, 右图为P3。

3.4.4 高精数据分发引擎与接收端的同步机制

数据分发引擎通过pathControl消息来同步AHP及AHR之间的路网Path数据。

当pathControl消息不包含某一Path时,AHR收到消息后删除路网中的Path。当pathControl消息和上次维持不变时,AHR收到消息后维持当前路网不变。当pathControl消息增加了某一Path时,AHR收到消息后增加Path信息

通过profileControl同步属性数据。

在这里插入图片描述
3.4.5 高精数据分发引擎与接收端的交互机制

数据分发引擎(AHP)与接收端(AHR)有以下几种交互机制:

广播方式请求/提供方式订阅/发布模式

在这里插入图片描述
目前高精数据分发引擎建设时采用的是“请求/提供”方式,AHP向AHR发送 ADAS message, AHR可以请求及反馈信息。

在这里插入图片描述
3.4.6 辅助AHP及ADAS应用融合

3.4.6.1 主AHP及辅助AHP

ADASIS协议中并不是所有的数据都由数据分发引擎提供,也可以增加辅助的AHP引擎。辅助的AHP引擎可以发送传感器信息或传感器的融合信息。

在这里插入图片描述形成的主数据分发引擎及辅助的AHP引擎。

3.4.6.2 ADAS应用的两种融合方式

根据主AHP及辅助AHP引擎,可以实现2种ADAS应用的融合方式,即下游融合及上游融合。
在这里插入图片描述下游融合

在AHP端不做融合处理,通过通信方式把各个传感器数据及高精地图数据传给AHR端,进行融合的处理,然后再传给ADAS功能应用。

在这里插入图片描述上游融合

在AHP端做融合处理,将融合结果通过协议传给AHR处理,直接作用于ADAS功能。
在这里插入图片描述
4. 质量建设

为了保证软件质量,高精数据分发引擎建设中采用了如下技术手段:

单元测试功能测试质检工具

可视化工具

可视化工具截图

在这里插入图片描述5. 典型架构应用形态

根据高精数据分发引擎构架可以分为以下的几种集成形态:

5.1 数据分发引擎(即EHP引擎)集成在地图盒子内

在这里插入图片描述
地图盒子概念

用于承载“地图数据+高精定位”能力的车规级软硬一体化产品,有别于纯软件的产品形态。(以下名称都指高精地图盒子:定位盒子/MAP ECU/MAP BOX/HDLM…其中L:Localization M:Module)

包含内容

地图及相关应用:HD数据、AHP、定位、OTA...基础软件:系统、底层驱动、诊断...基础硬件:系统级芯片(SoC)、内存、存储、IMU(可选),保护壳体...网络及通讯接口:CAN/以太输入、以太输出、USB接口...

方案特点

任务分工清晰:车企能将以这种架构将功能拆解为小模块,分别提出产品要求进行管控,避免全黑盒方案无从下手。遇到交付风险时可以替换供应商。

功能安全方面的考虑:芯片选型、硬件设计、网络安全、系统诊断等细节工作可以交给专业的供应商;地图质量、在线更新以及回传等功能安全层级存在不确定性、需要与AD ECU隔离开,以使AD ECU满足功能安全要求。

便于高配低配等产品管理:可选用供应商的不同配置的产品。

减轻域控制器的算力负担:便于寻找满足算力要求的功能安全硬件。

5.2 集成在IHU内

在这里插入图片描述
方案特点

降低成本:不需要额外采购硬件模块。

集成V2方案、降低不确定性:AHP V2大多在车机端,方案已跑通,所以将地图和V3采用相似的方式可以规避新架构的不确定性。

车企内部原因容易推进:部分车企,高精地图业务规划导航地图部门,若自下而上推进盒子方案,对整体架构改动较大,很难推进。

5.3 集成在域控制器内

在这里插入图片描述
方案特点

减少跨域通信对车载网络带宽的占用:用于感知的传感器大多与域控制器相连,如果将地图及定位放在域控制器,后端应用不需要跨域通信就可以直接或间接使用地图,减少对于车载网络带宽的占用。

更适用于走自研路线及选用整体方案的车企:对于走自研路线的车企,以及选用单一方案商提供完整方案,没有必要将功能模块分开部署。

  1. 场景应用举例

6.1 高精定位应用
在这里插入图片描述
结合高精数据辅助进行横向定位及纵向定位。

纵向定位多结合路牌obj、车道几何等相关信息,横向定位多结合车道线、护栏等相关信息。

主动安全应用多结合传感器(毫米波雷达、摄像头)信息和地图数据进行匹配纠偏,从而提升定位精度。

6.2 高速自动驾驶(HWP)

功能激活

驾驶环境主要依赖地图判断:(1)高速城快;(2)车道线清晰;(3)曲率坡度;(4)无引发报警或制动的物体或事件:包含动态道路环境;(5)非夜晚,天气状况良好(能见度200米以上)。

实现功能

以本车道巡航横向控制及异常场景本车道自主停车为例:

车道类型:自动驾驶依靠车道类型来划分可行驶区域,如果类型错误会导致车辆行驶在非行驶区域,会给自车带来安全隐患;同时在自主安全停车的场景中,如果车道类型错误会直接导致自主安全停 车的的自主性和安全性。车道线类型:辅助摄像头进行车道线线型识别;和摄像头进行对比检查,进而进行车道保持。

6.3 基于导航路线自动巡航
在这里插入图片描述
功能激活

工况环境依赖地图判断:

道路等级:高速/城块。PartOfcalculateRoute(导航路径标识)是否连续无断开。天气类型:晴天/小雨/阴天等天气状况下,允许功能激活。

实现功能

上/下JCT,会根据导航路径标识和车辆前方路网判断是否上/下JCT,并提前对变道匝道侧进行提醒。自动变道进入JCT/合入高速,会根据车道线线型辅助摄像头进行车道线线型识别,并和摄像头进行检测对比,线型的虚实判断车辆变道的时机。
  1. 未来演进

一方面,考虑进一步融合AHP V2,V3的架构设计,更好的辅助自动驾驶。此外,作为数据闭环的一部分,丰富数据提供及回收能力等。
https://zhuanlan.zhihu.com/p/381929022

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux 网络接口的子接口的配置

参考: https://blog.csdn.net/baidu_38803985/article/details/104653205 在 Linux 中,网络接口通常以ethX的形式命名,其中X代表接口的编号,例如eth0代表第一个网络接口,eth1代表第二个,依此类推。虚拟子接…

嵌入式学习笔记(22)汇编实现时钟设置代码详解

4.6.1时钟设置的步骤分析 第1步:先选择不使用PLL。让外部24MHz原始时钟直接过去,绕过APLL那条路。 第2步:设置锁定时间(PLL_LOCK)。默认值是0x0FFF,保险起见我们设置0xFFFF 第3步:设置分频系…

Linux 服务器连接方式

这里服务器使用 Ubuntu 20.04.6 LTS aarch64,这篇文章就不说使用工具连接了,工具直接添加就好了,这里说下终端命令操作 SSH 命令使用密码连接 使用以下命令在终端进行密码连接 ssh usernamehostname如果是第一次连接 SSH 客户端会提示你是否…

盘点一个os.path.join()函数遇到的小问题(文末赠书)

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 连峰去天不盈尺,枯松倒挂倚绝壁。 大家好,我是皮皮。 一、前言 前几天在Python最强王者群【小马哥】问了一个os路径拼接处理的问…

Kafka入门,这一篇就够了(安装,topic,生产者,消费者)

目录 Kafka的安装文件与配置目录binconfig 配置文件server.propertiesproducer.propertiesconsumer.properties 命令行简单使用kafka-topics.sh新增查看列表查看详情修改删除 kafka-console-producer.shkafka-console-consumer.sh 概念集群代理broker主题topic分区partition偏移…

用递归实现字符串逆序(不使用库函数)

文章目录 前言一、题目要求二、解题步骤1.大概框架2.如何反向排列?3.模拟实现strlen4.实现反向排列5.递归实现反向排列 总结 前言 嗨,亲爱的读者们!我是艾老虎尤,今天,我们将探索一个题目,这个题目对新手非…

【计算机基础】揭露办公软件WPS、Offfice好用但又很少去做的便捷操作

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

【memcpy函数的介绍与使用和模拟实现】

memcpy函数的介绍与使用和模拟实现 1.memcpy函数的介绍 资源来源于cplusplus网站 它的作用是: 将数字字节的值从源指向的位置直接复制到目标指向的内存块。 源指针和目标指针指向的对象的基础类型与此函数无关; 结果是数据的二进制副本。 该函数不检查源代码中是否…

uboot顶层Makefile前期所做工作说明四

一. uboot顶层 Makefile文件 uboot 顶层 Makefile,就是 uboot源码工程的根目录下的 Makefile文件。 本文继续对 uboot顶层 Makefile的前期准备工作进行介绍。续上一篇文章内容的学习,如下: uboot顶层Makefile前期所做工作说明三_凌肖战的博…

信息系统项目管理师(第四版)教材精读思维导图-第十二章项目质量管理

请参阅我的另一篇文章,综合介绍软考高项: 信息系统项目管理师(软考高项)备考总结_计算机技术与软件专业技术_铭记北宸的博客-CSDN博客 本章思维导图源文件 ​ 12.1 管理基础 12.2 管理过程 12.3 规划质量管理 12.4 管理质量 12.5…

增强 CAD Exchanger SDK 中 B-rep 表示的渲染性能

增强 CAD Exchanger 中 B-rep 表示的渲染性能 在这篇博文中,我们将深入探讨增强 CAD Exchanger 产品中 B-rep 表示的渲染性能的主题,探讨此过程中面临的挑战,并讨论 CAD Exchanger 所采用的创新技术来优化它。 在 版本 3.20中,我…

第7篇 vue的模块化与label的转换

一 label的转换 1.1 label的转换 二 模块化 2.1 模块化 前端中,js文件调用js文件,js文件之间的调用,即就是模块化。 2.2 案例1 1.新建工程并初始化 2. 编写脚本 1.js // 定义成员: const sum function(a,b){return parseIn…

持安零信任加入PKS体系生态联盟,共创办公安全新生态

近日,PKS体系生态联盟公布最新一期会员单位名单,零信任办公安全领域的明星企业持安科技成为其网络安全领域新增会员,未来将与众多合作伙伴一同建设网络安全强国。 PKS体系生态联盟是在中国电子信息产业集团有限公司的倡议下,广泛联…

Redis数据库安装、使用、数据类型、常用命令(详解)

安装 Releases tporadowski/redis GitHub 直接去选择msi格式的,窗口式的安装,一步一步。 安装过程中有一个选项是问你需不需要配置到环境变量中,选上这个选项,不选的话,需要自己去配环境变量。 检查是否安装配置…

腾讯云CVM S5服务器性能如何?CPU计算性能测评

腾讯云服务器CVM标准型S5实例具有稳定的计算性能,CVM 2核2G S5活动优惠价格280.8元一年自带1M带宽,15个月313.2元、2核4G配置748.2元15个月,CPU内存配置还可以选择4核8G、8核16G等配置,公网带宽可选1M、3M、5M或10M,百…

如何修改jupyter notebook默认打开路径

1、用jupyter notebook在其他位置打开自己的ipython项目: jupyter notebook是一个很好用的工具,可以保存运行结果,还可以给项目添加很多可视化操作与介绍文字。安装anaconda后,jupyter notebook就会自动安装,点开它会…

进入大厂测试一年后的经历和感触

从去年决定跳出舒适区,应聘大厂,截止到目前已经将近一年,值此之际,总结下自己近一年在大厂的经历。希望通过我的感触,能够帮助你们进一步了解大厂的测试工作。 1、维护上下游合作关系 在大厂,人际关系非常…

山西电力市场日前价格预测【2023-09-11】

日前价格预测 山西日前电力价格预测 预测说明: 如上图所示,预测明日(2023-09-11)山西电力市场全天平均日前电价为346.35元/MWh。其中,最高日前电价为383.36元/MWh,预计出现在19: 15。最低日前电价为313.95…

力扣 8049. 判断能否在给定时间到达单元格

Problem: 8049. 判断能否在给定时间到达单元格 文章目录 思路复杂度Code 思路 数学思维去写这道题 复杂度 时间复杂度: 添加时间复杂度, 示例: O ( 1 ) O(1) O(1) Code class Solution { public:bool isReachableAtTime(int sx, int sy, int fx, int fy, int t)…

MYSQL的慢查询

通过查询SQL的执行频次,我们就能够知道当前数据库到底是增删改为主,还是查询为主。 那假如说是以查询为主,次数我们可以借助于慢查询日志。接下来,我们就来介绍一下MySQL中的慢查询日志。 慢查询日志 慢查询日志记录了所有执行时间…