高精度地图定位在高速公路自动驾驶系统中的应用

news2024/11/15 8:35:07

近年来随着汽车保有量不断增加,随之而来的是: ( 1) 严重的交通拥堵,通行效率低下,用在通行上的时间不断增加; ( 2) 交通事故频发,交通事故导致的伤亡人数和费用不断增加,而且绝大多数事故是由人为因素导致的; ( 3) 大气污染日益严重。另外,老龄化严重,即将成为全球面临的一大问题,老年人等无法驾驶汽车人群的出行问题亟待解决。自动驾驶作为解决以上问题的一个重要方法,已经成为全球汽车产业的战略发展方向。
除了各大车企均将自动驾驶作为公司核心发展领域,众多汽车零部件供应商、互联网企业和创业公
司也在集中发展自动驾驶相关业务。高精度地图和定位系统是自动驾驶的一个关键感知输入,可以提供前方数千米的道路先验信息,包括道路、车道、交通标志和道路附属设施等信息。

一、自动驾驶和高精度地图定位系统的发展现状
1. 1 自动驾驶系统发展现状
自动驾驶系统包括L3 - L5 级驾驶自动化系统( 基于国际自动机械工程师协会SAE J 3016和汽车驾驶自动化分级) ,如表1 所示,自动驾驶系统激活期间,目标和事件探测与响应、车辆的横向和纵向运动控制均由系统负责。自动驾驶系统由自动驾驶域控制器、传感感知子系统、控制执行子系统、人机交互子系统和供电电源子系统等组成。传感感知子系统是自动驾驶系统的一个关键部分,负责系统的感知,一般由单目摄像头、双目摄像头、夜视摄像头、毫米波雷达、激光雷达、超声波雷达、高精度地图和定位、V2X 等组成,根据系统的感知需求选择合适的传感器组合和各传感`器的详细参数。

表1 驾驶自动化等级与划分要素的关系

由于高速公路工况相对城市工况更加单一且规范,属于封闭场景,车辆行驶方向是单一的,与对向行驶车辆有硬隔离,允许行驶车辆类型较少,道路的坡度和曲率、车道宽度等均有法规统一要求,所以目前L3 级高速公路自动驾驶是各车企的主要研发方向之一。2017 年底奥迪宣布交通拥堵场景的L3 级高速公路自动驾驶TJP( Traffic JamPilot,速度范围0 - 60 km/h) 达到量产状态,奔驰和宝马计划在2021 年推出全速的L3 级高速公路自动驾驶。L3 级自动驾驶要求当系统发出接管请求时,驾驶员需要在一定时间内完成接管,同时还需要保证只能在地理围栏内才能开启,在地理围
栏外开启存在风险。高精度地图和定位系统是保证自动驾驶只能在地理围栏内开启的最佳手段。
本文分析的是高精度地图和定位在L3 级高速公路自动驾驶中的应用。自动驾驶的另一个研究方向是城郊工况、固定区域内的L4 级自动驾驶。L4 级自动驾驶是指不需要驾驶员做动态驾驶任务接管,系统可应对超出系统设计运行范围、系统失效等情况,对系统的冗余设计要求更高。城郊工况相对高速工况更复杂,但速度范围更低。谷歌Waymo、百度、通用汽车和福特等企业均在重点开发L4 级自动驾驶,截止2019 年底,Waymo 实车测试里程已达到2 000万英里( 3 200 万千米) ,Waymo 2019 年的接管率为0. 076,即每13 219 英里( 21 150 千米) 需要人工介入一次。高精度地图和定位也是L4 级自动驾驶必要的组成部分,本文不展开应用分析。
1. 2 高精度地图定位系统的发展现状
1. 2. 1 高精度地图的发展现状
美国很早就针对高精度地图开始了布局与研发,参与者除了Mapbox 等传统导航企业,还有
Waymo、Ushr、通用汽车、福特、Civil Maps、DeepMap等企业。日本政府和私营行业基金共同创立的投资基金日本创新网络公司、三菱电机、丰田等多企业联合成立了Dynamic Map Planning 公司,将高精度地图推向产业化。欧洲的Here 和TomTom 公司,国内的高德、百度、四维图新等公司,在高精度地图方面布局也较早[3]。高德在2018 年已量产高精度地图,百度的高精度地图产品即将在2020年量产。
目前L3 级自动驾驶一般使用的是矢量高精度地图,L4 级自动驾驶一般使用的是点云和矢量两种格式的高精度地图。
L3 级自动驾驶使用的矢量高精度地图相比普通导航地图和ADAS 地图的要素更多,相对精度和绝对精度更高。
在地图要素组成方面,导航地图包含道路级路网信息以及供用户使用的POI 信息。ADAS 地图包含道路级路网、坡度、曲率、限速和车道数量等信息。高精度地图除了包括ADAS 地图外,还具有车道级路网、详细的车道模型( 所有车道线和路沿/护栏的形状点或几何信息、车道级曲率、坡度、限速、限高等) 以及用于高精度定位的特征信息,未来还会有车道级实时动态信息。

在相对精度和绝对精度方面,L3 级自动驾驶量产使用的高精度地图,目前行业水平是绝对精
度1 m( 2 Sigma) 和相对精度20 cm( 2 Sigma) 。
1. 2. 2 高精度定位的发展现状
普通GNSS 因卫星星历误差、卫星钟差、电离层折射、对流层折射、多路径效应和接收设备误差
等导致绝对定位结果误差较大,一般在2 - 10 m。
目前常用实时动态载波相位差分技术(RTK) 修正以上误差,RTK 根据车辆位置将基准站采集的载
波相位观测值发播给车辆,车辆通过RTK 解算算法计算出高精度绝对位置信息。开阔场景下绝对定位精度一般可达到1 m( 2 Sigma) 。
如果仅基于GNSS /RTK 和高精度地图进行定位,在一些场景( 比如高速公路旁有并行辅路) 下会
存在道路定位错误的问题。因此需要结合特征匹配定位的方法,提高定位的准确率。目前量产车辆上智驾传感器中可输出检测信息的是前置摄像头,前置摄像头可输出4 条车道线( 本车道左右两条车道线、旁车道的左左和右右车道线) 和交通标志等信息,通过将车道线的类型( 虚线、实线、虚实线、实虚线等) 、几何信息( 车道宽度、车道线航向角和曲率等) 和颜色( 白色、黄色等) 与高精度地图数据进行匹配以确定本车位置。但摄像头易受光照、车辆遮挡等因素影响,后续需要结合激光雷达和毫米波雷达等其他传感器探测信息提高定位的鲁棒性。
2 高精度地图定位技术及其在自动驾驶系统上的应用

 2. 1 高精度地图和定位方案的关键技术
L3 级自动驾驶采用多传感器融合的高精度定位方案。基于多传感器信息融合的特征信息进行高精度定位,特征信息包括车道线属性( 几何参数、类型和颜色等) 、车道属性( 宽度等) 、交通标志、交通杆、护栏、路沿等( 见图1) ,特征信息将由摄像头、毫米波雷达、激光雷达等传感器检测。
通过GNSS /RTK 获得绝对位置信息,绝对位置相关信息包括定位状态、定位质量、当前定位使用的卫星数、经度、纬度、速度、精度因子等。绝对位置信息和基于IMU、轮速、方向盘转角等航迹推算信息进行信息融合,获得绝对定位结果。基于绝对定位结果提取一定范围的高精度地图数据,与车载传感器检测的特征信息进行匹配,特征匹配完成后,确定车辆的道路级定位( 哪个道路) 、车道级定位( 哪个车道) 和车道内定位( 横向位置、纵向位置和航向角) 结果。因为采用的是多传感器融合( 摄像头、毫米波雷达、激光雷达、IMU、GNSS /RTK 等) 方案,当某个传感器在一定时间内出现无效状况( 比如摄像头因强光导致车道线检测置信度过低或者过遮挡环境导致GNSS /RTK 无有效数据) 时,系统依旧可以维持高精度定位结果。多传感器融合算法是基于各个传感器信息进行高精度定位的关键,融合算法需要平衡各个传感器在不同环境下( 输入信息置信度不同) 的差异,因此基于多传感器融合的高精度定位方案的鲁棒性和可靠性较好。融合算法具有多元变化的特点,针对不同的传感器配置,可以使用松耦合或紧耦合的方式对传感器数据做不同层级的融合,而多传感器融合在数学方法上也有多种选择,比如卡尔曼滤波、粒子滤波、多贝叶斯估计方法等。其中一个关键点是自动驾驶域控制器和高精度地图定位系统要进行时间同步,从各传感器环境探测时刻到高精度定位系统接收到特征信息会有一定的时间延迟,时间同步方案有硬同步和软同步方案,硬同步一般采用的是硬线将两个控制器进行同步,软同步是采用Autosar 标准协议实现两个控制器的同步。
2. 2 高精度地图和定位在L3 级高速公路自动驾驶系统中的应用
高精度地图和定位在L3 级高速公路自动驾驶系统中的应用可分为两部分: 一是自动驾驶系统地理围栏的判定; 二是提供前方道路的高精度地图信息。
2. 2. 1 地理围栏判定
只有高精度地图才包含车道级属性,因此车道级地理围栏的判定只有基于高精度地图和定位才能实现,同时高精度地图定位可实现道路级地理围栏的判定。道路级和车道级地理围栏如表2和表3 所示。

( 1) 地理围栏1: 自动驾驶未开放区域
不同区域、不同道路可能具有特殊的场景,自动驾驶量产前需要经过大规模、足够里程的道路和仿真验证,因此自动驾驶系统比较适合在不同区域或道路逐步开放,如图2 所示,可以限定在区域A 内可开启自动驾驶、在区域B 内不允许开启自动驾驶,也可通过限定在道路A 部分路段可开启自动驾驶、在道路A 其他路段不允许开启自动驾驶。
( 2) 地理围栏2: 道路即将终止区域
自动驾驶系统需要保证在高速公路终点前完成驾驶员接管或者安全停车,高精度地图定位系统需要将道路即将终止区域划为地理围栏外,可提前提醒驾驶员接管,如图3 所示。

( 3) 地理围栏3: 道路直连匝道区域
针对不支持匝道或者自动下匝道的自动驾驶系统,由于匝道场景不同于高速公路主干路,比如匝道的曲率更大等,一些道路会直接连接匝道( 高速公路主干路消失) ,自动驾驶系统需要保证在进入匝道前完成驾驶员接管或者安全停车,高精度地图定位系统需要将道路直连匝道区域划为地理围栏外,可提前提醒驾驶员接管。同理,地理围栏11 是当前车道直连匝道区域,高精度地图定位需要将此区域划为地理围栏外。
( 4) 地理围栏4: 隧道区域
隧道场景更复杂,比如进出隧道光线变化会对感知有一定影响,而且在隧道中一旦出现故障风险更大,因此一些整车厂将隧道划为地理围栏外。自动驾驶系统需要保证在进入隧道前完成驾驶员接管或者安全停车,高精度地图定位系统需要将隧道区域划为地理围栏外,可提前提醒驾驶员接管。
( 5) 地理围栏5: 收费站区域
收费站前的车道线一般不规则,其他车辆换道更激进,因此一些整车厂将收费站区域划为地理围栏外。自动驾驶系统需要保证在进入收费站区域前完成驾驶员接管或者安全停车,高精度地图定位系统需要将收费站区域划为地理围栏外,可提前提醒驾驶员接管。
( 6) 地理围栏6: 道路施工区域
道路施工场景复杂,车道线不规则,自动驾驶系统需要保证在进入道路施工区域前完成驾驶员接管或者安全停车,高精度地图定位系统需要将道路施工区域划为地理围栏外,可提前提醒驾驶员接管。同理,地理围栏12 是当前车道前方为施工区域,当前车道在施工无法通行,高精度地图定位系统需要将车道施工区域划为地理围栏外。
( 7) 地理围栏7: 道路车道线缺失区域
道路车道线缺失时,车辆行驶不规则,自动驾驶系统需要保证在进入道路车道线缺失区域前完成驾驶员接管或者安全停车,高精度地图定位系统需要将道路车道线缺失区域划为地理围栏外,可提前提醒驾驶员接管。同理,地理围栏13 是车道级车道线缺失区域,当前车道存在车道线缺失问题高精度地图定位系统需要将车道级车道线缺失区域划为地理围栏外。
( 8) 地理围栏8: 道路护栏缺失区域
当左侧道路护栏存在缺失时,行人或动物进入高速公路的概率更大,右侧道路护栏缺失时风险更大,因为与对向车道无硬隔离。自动驾驶系统需要保证在进入道路护栏缺失区域前完成驾驶员接管或者安全停车,高精度地图定位系统需要将道路护栏缺失区域划为地理围栏外,可提前提醒驾驶员接管。
( 9) 地理围栏9: 紧急车道区域
正常情况下,车辆是不允许在紧急车道上行驶的,自动驾驶系统需要遵守交通法规。自动驾驶系统需要保证在紧急车道内不允许被开启,高精度地图定位系统需要将紧急车道区域划为地理围栏外。
( 10) 地理围栏10: 车道消失区域
当车道存在合并时,如图4 所示,三车道合并为二车道,最右侧车道消失。自动驾驶系统需要在车道消失前提醒驾驶员换道或自动完成换道。高精度地图定位系统需要将车道消失区域划为地理围栏外,可提前提醒驾驶员。
( 11) 地理围栏14: 车道过宽区域
自动驾驶系统需要保证在进入车道过宽区域前完成驾驶员接管或者安全停车,高精度地图定位系统需要将车道过宽区域划为地理围栏外,可提前提醒驾驶员接管。同理,高精度地图定位系统需要将车道过窄区域( 地理围栏15) 划为地理围栏外。
( 12) 地理围栏16: 车道曲率过大区域
车道曲率过大时,自动驾驶横向控制存在偏离车道等风险,自动驾驶系统需要保证在进入车道曲率过大区域前完成驾驶员接管或者安全停车,高精度地图定位系统需要将车道曲率过大区域划为地理围栏外,可提前提醒驾驶员接管。
( 13) 地理围栏17: 车道坡度过大区域
车道坡度过大时,感知和纵向控制可能存在风险,自动驾驶系统需要保证在进入车道坡度过大区域前完成驾驶员接管或者安全停车,高精度地图定位系统需要将车道坡度过大区域划为地理围栏外,可提前提醒驾驶员接管。
2. 2. 2 前方道路全车道高精度地图信息
高精度地图和定位系统将按照需求将地图数据发送给自动驾驶系统,如图5 所示,前方地图数据的距离和分岔路的数量可根据需求进行定义,比如发送距离为前方1. 5 km,分岔路的数据为2( 基于当前位置,距离本车最近的2 个道路) ,高精度地图定位系统会发送PATH1、PATH2 和PATH33 个道路的数据。自动驾驶系统可基于高精度地图定位提供的前方道路数据,提前获知前方道路、车道和道路设施信息,在减少错误感知、提前进行行为决策等方面有重要作用。

系统还可视为一个不受外界影响的传感器,在一些车载感知性能下降或失效的情况下依旧可在一定时间内提供前方车道线等信息,可起到感知冗余的作用。典型场景包括: ( 1) 自动驾驶车辆遇到雨、雪、雾等恶劣天气时,车载传感器( 摄像头探测性能较差,激光雷达探测性能也会有一定影响)探测性能会受影响; ( 2) 前视摄像头等前视传感器失明或故障时; ( 3) 前视摄像头等前视传感器因其他车辆遮挡影响车道线等信息的探测。
2. 3 高精度地图和定位系统测试
高精度定位测试内容包括道路级定位、车道级定位、车道内定位横向误差和纵向误差,纵向定位的真值通过高精度绝对位置测量设备进行测试,比如Novatel SPAN CPT 和迈普时空的POS320,基于真值和高精度定位结果计算纵向误差,其他指标通过基于真值摄像头的人工标注结果进行评测。高精度地图测试通过对所发送信号存储对比真值信息进行测试。

3 结语
高精度地图和定位系统在L3 级高速公路自动驾驶系统中具有重要的作用,而且是自动驾驶系统必需的一部分。
( 1) 高精度地图定位在实现自动驾驶系统地理围栏判定中具有不可替代的作用,普通导航地图和ADAS 地图均无法满足要求;
( 2) 高精度地图定位在恶劣天气、传感器失效、车道线被其他车辆遮挡等场景下可起到感知冗余
的作用,保证自动驾驶系统的安全。

 

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

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

相关文章

视频批量剪辑利器!轻松在固定的位置上添加str字幕,

在如今的数字时代,视频内容的制作和分享变得越来越普遍。如果你是一个视频创作者,或者经常需要编辑和分享视频内容,那么我们为你带来了一款视频批量剪辑工具,让你轻松在固定位置添加字幕,打造专业级剪辑效果&#xff0…

Markdown中的LaTeX公式详解

引言 LaTeX是一种用于排版科学和数学文档的排版系统,它能够以高质量的方式生成复杂的数学公式。在CSDN(Cnblogs和CSDN)这样的博客平台中,也支持使用LaTeX语法插入数学公式。本文将详细介绍在CSDN中使用LaTeX公式的方法和常用语法&…

开源代码扫描工具 Socket新增对 Go 生态系统的支持

导读继日前宣布完成 2000 万美元的 A 轮融资后,开源代码扫描工具 Socket 紧接着宣布新增了对 Go 语言的支持;此前其仅支持 JavaScript 和 Python 语言。 “在过去的几个月中,我们观察到针对 Golang 的供应链攻击有所增加。意识到这种迫在眉睫…

聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化

聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化 目录 聚类分析 | MATLAB实现基于FCM模糊C均值聚类结果可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 FCM模糊C均值聚类,聚类结果可视化,MATLAB程序。 FCM(Fuzzy C-Means&a…

【KafkaStream】简单使用

Kafka Stream是什么 Kafka Streams是一套客户端类库,它可以对存储在Kafka内的数据进行流式处理和分析。 1. 什么是流处理 流处理平台(Streaming Systems)是处理无限数据集(Unbounded Dataset)的数据处理引擎&#x…

C++的静态栈以及有点鸡肋的array数组

目录 1.静态栈 1.举例展示 2.注意事项 2.array 1.静态栈 1.举例展示 1.我们想到栈,就会想到是一个数组来维护它的,并且一般由于不知道存储的多少内容,所以一般都是用动态数组不断的在堆上开辟新的空间。 但是C支持了一个新的语法就是静…

【Java基础增强】类加载器和反射

1.类加载器 1.1类加载器【理解】 作用 负责将.class文件(存储的物理文件)加载在到内存中 1.2类加载的过程【理解】 类加载时机 创建类的实例(对象) 调用类的类方法 访问类或者接口的类变量,或者为该类变量赋值 …

机器学习实战笔记(蜥蜴书)—— 第二章:端到端项目

目录 前言机器学习前的准备工作1、机器学习需要用到的库:安装:文件导入库 2、所用工具 数据准备1、获取数据2、检查数据3、创建训练/测试集 数据可视化数据预处理1、缺失值处理2、文本属性处理3、数据集添加其他列4、数值缩放5、得到预处理的数据 模型建…

Rabbitmq消息积压问题如何解决以及如何进行限流

一、增加处理能力 优化系统架构、增加服务器资源、采用负载均衡等手段,以提高系统的处理能力和并发处理能力。通过增加服务器数量或者优化代码,确保系统能够及时处理所有的消息。 二、异步处理 将消息的处理过程设计为异步执行,即接收到消息…

STM32 Cubemx 同名外设中断及回调

文章目录 前言示例工程个人理解 前言 最近在学习STM32,采用HAL库开发方式。记录一下同名外设中断及回调。 这里提及的同名外设指USART1/2之类的相同外设,但不是同一个instance。 示例工程 以使用cubemx配置两个同名外设EXTI0/EXT4为例。 在NVIC配置…

QPainter主要功能说明与使用

图形填充QBrush主要功能: QBrush类定义QPaint绘制的形状的填充图案。 函数原型功能void setColor(QColor &color)设置画刷颜色,实体填充时即填充颜色void setStyle(Qt::BrushStyle style)设置画刷填充样式,参数为枚举类型Qt::BrushStyl…

在vue项目中用vue-watermark快捷开发屏幕水印效果

我们先引入一个第三方依赖 npm install vue-watermark然后 因为这只是个测试工具 我就直接代码写 App.vue里啦 参考代码如下 <template><div><vue-watermark :text"watermarkText"></vue-watermark><!-- 正常的页面内容 --></div…

Git基本操作(Idea版)

第一次发布项目&#xff08;本地->远程&#xff09; 方式一 通过push的方式推送本地库到远程库&#xff08;远程已创建好仓库&#xff09; 这种方式需要提前创建好仓库。 右键点击项目&#xff0c;可以将当前分支的内容 push 到 GitHub 的远程仓库中。 注意&#xff1a…

2023/8/27周报

目录 摘要 论文阅读 1、标题和现存问题 2、过度平滑和度量方法 3、处理过坡 4、实验结果 深度学习 1、解决可视化问题 2、CART算法 总结 摘要 本周在论文阅读上&#xff0c;阅读了一篇Pairnorm:解决GNNS中的过平滑问题的论文。PairNorm 的核心思想是在图卷积层之间引…

LeetCode——回溯篇(一)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 目录 77. 组合 216. 组合总和 III 17. 电话号码的字母组合 39. 组合总和 40. 组合总和 II 77. 组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的…

UE4/5在蓝图细节面板中添加函数按钮(蓝图与c++的方法)

目录 在细节面板中添加按钮使用函数 蓝图的方法 事件 函数 效果 uec的方法 效果 在细节面板中添加按钮使用函数 很多时候&#xff0c;我们可以看到一些插件的actor类中&#xff0c;点击一下之后就可以实现如矩阵一样的效果。 实际上是因为其使用了函数来修改了蓝图中的数…

Compose - 容器组合项

一、延迟列表 LazyColumn、LazyRow 可滚动&#xff0c;类似RecyclerView&#xff08; Column、Row 用 Modifier 设置滚动是相当于ScrollView&#xff09;。 key设置为集合元素的唯一值例如id&#xff0c;使得列表能感知元素位置是否发生变化或新增移除&#xff0c;对于内容是否…

基于vue和element的脚手架【vue-element-admin 和vue-element-plus-admin 】

vue-element-admin vue-element-admin 是一个后台前端解决方案&#xff0c;它基于 vue 和 element-ui实现 介绍 | vue-element-adminA magical vue adminhttps://panjiachen.github.io/vue-element-admin-site/zh/guide/ vue-element-plus-admin vue-element-plus-admin 是一…

Python 通过traceback追溯异常信息

Python 通过traceback追溯异常信息 导入traceback包 import traceback自定义函数 def func_3():return 1 / 0def func_2():func_3()def func_1():func_2()捕捉异常 try:func_1() except Exception as e:traceback_info traceback.format_exc()print("traceback_info"…

Java IO流动(实战操作)

目录 1 IO流原理2 IO流的分类3 输入、输出流代码示例4 小结5 文件在前后台之间传递 在Java中&#xff0c;IO流是一种用于处理输入和输出操作的机制。它提供了一种统一的方式来读取和写入数据&#xff0c;平日开发中在文件读写&#xff0c;网络通信&#xff0c;特定场景的数据库…