无人驾驶小车的地图驱动机制研究 | [PDF全文] |
地图作为一种以视觉、数字或触觉方式表现地理信息的工具,是现实世界的表现或抽象[1]。传统导航地图提供路网级道路和供用户使用的兴趣点(point of interest, POI)等地理信息,包含路网级的路径规划、定位匹配、POI查询等功能,其服务对象仅仅是人类。基于人类自身提取信息、关联信息、过滤信息以及视觉判断等能力,传统导航地图的道路信息得到了极大简化。随着“互联网+”、智慧城市、智能交通系统等概念的提出,导航地图的服务对象已由人类过渡到以无人驾驶汽车为代表的机器[2]。
然而,传统导航地图因为其数据模型与格式,存在精度较低、涵盖细节信息较少、更新频率低等不足,无法满足无人驾驶技术对其的应用需求[3]。因此,高精度地图的概念和制作技术成为汽车领域的研究热点。高精度地图,即高分辨率地图,一方面指地图的绝对精度更高;另一方面指地图能够格式化存储交通场景中的各种交通要素[4]。作为无人驾驶系统的核心模块,高精度地图提供了路网、车道、交通标志等丰富的道路先验知识信息,同时融合多传感器数据,为无人驾驶车辆提供cm级的定位导航地图。
目前,无人驾驶领域对高精度地图的应用研究包括高精度地图构建[5, 6]、高精度地图道路曲率计算[7]、基于高精度地图的车辆定位[8]等。同时,国内外许多企业(如TomTom、Here、Waymo、高德、百度、四维图新等)均发挥其自身优势,投入高精度地图的构建、研发和生产过程[9, 10]。虽然高精度地图相关产业和研究取得了一定成果,并能为无人驾驶提供重要的数据支持,但它仍无法完全支撑无人驾驶技术。本文在简要分析高精度地图数据结构的基础上,研究其在无人驾驶系统中的驱动机制,并利用相关实验对驱动机制进行验证,旨在探究高精度地图在无人驾驶中的重要地位和驱动作用,为辅助驾驶和无人驾驶提供服务。
1 地图驱动机制有学者从静态数据结构、动态数据结构方面对高精度地图进行了数据分层[11, 12]。基于文献[4]中提到的高精度地图数据结构的三大要求(高精、动态、自适应),并参考OpenDRIVE[13]等相关地图标准,本文将高精度地图划分为静态数据、半动态数据、动态数据、辅助驾驶数据4层。静态地图层包括道路网、车道网、交通设施、特征地物等信息;半动态地图层包括更新频率较高的数据,如潮汐车道的交通限制信息、交通流量信息等;动态地图层包括更新频率高的数据,如车辆、行人等信息;辅助驾驶地图层主要包括驾驶经验数据集、驾驶记录数据集等。其中,静态数据主要用于支撑高精度定位计算,半动态数据与动态数据支撑无人驾驶过程中的位置服务相关算法,辅助驾驶数据与其他层数据结合,共同支持车辆控制模块。作为无人驾驶的核心技术之一,高精度地图在感知、高精度定位、路径规划、车辆控制等方面发挥着重要的驱动作用。高精度地图在无人驾驶系统中的驱动机制如图 1所示。驱动机制被分为感知、高精度定位、路径规划、车辆控制4个模块。感知模块通过多传感器数据融合来丰富高精度地图,同时给高精度定位模块提供特征信息,进行地图匹配,以实现高精度定位;然后系统将高精度定位结果和高精度地图动、静态数据传输给路径规划模块进行路径规划;最后车辆控制模块根据路径规划结果与道路语义信息、辅助驾驶信息的结合,实现无人驾驶车辆的控制。
1.1 地图与感知
无人驾驶系统的感知模块需要通过激光雷达(light detection and ranging, LiDAR)、摄像头等传感器获取大量的环境信息,以确保无人驾驶车辆对周围环境的获取和识别,高精度地图在该模块中主要发挥两方面的作用:①感知容器;②传感器。通过LiDAR、摄像头等传感器感知到的所有信息,最终需要形成车辆的行驶环境,即车辆在行驶过程中包含的人、车、物。每个传感器获取的数据信息有交叉、有重合,数据格式不尽相同,需要统一的容器来将其整合。高精度地图作为感知容器,融合了各传感器数据,生成车辆行驶的虚拟数字空间,再加上车联网多车交互,形成超视觉、超视野的感知。同时,高精度地图包含的静态先验知识,融合多传感器数据信息,提供了丰富的动、静态数据信息。高精度地图作为传感器,无人驾驶系统能够通过它获取和感知这些动、静态信息,辅助并驱动车辆的无人驾驶。
1.2 地图与高精度定位无人驾驶小车要实现高精度定位,需要利用实时动态(real-time kinematic, RTK)载波相位差分技术修正绝对定位误差,并以高精度地图坐标系为基准,将多个传感器的特征地物数据坐标进行统一转换,进而与高精度地图中的特征地图层进行地图匹配,最终得到小车的cm级定位结果。
高精度地图与车载传感器数据进行地图匹配之前,需要将不同数据源的数据转换为统一的坐标系,主要包括世界坐标系、车体坐标系和各个传感器坐标系。选用1984世界大地测量系统(world geodetic system 1984, WGS-84)坐标系作为世界坐标系,惯性测量单元(inertial measurement unit, IMU)坐标系作为车体坐标系,以LiDAR传感器为例,它们在无人驾驶系统中的坐标转换关系如图 2所示。
将车辆获取的全球导航卫星系统(global navi‐gation satellite system, GNSS)数据与静态基站数据进行后差分解算,得到车辆中GNSS坐标数据在WGS-84坐标系下的精确坐标。GNSS与IMU之间存在安装位置和角度关系,因而可得到IMU坐标数据在WGS-84坐标系下的坐标。IMU与扫描仪安装位置相对静止,利用IMU位置姿态信息加上偏移量可得到LiDAR在WGS-84坐标系下的位置姿态信息,LiDAR数据坐标为LiDAR扫描仪内部坐标系,两者通过融合解算得到LiDAR数据在WGS-84坐标系中的三维坐标,至此完成多源数据坐标系的统一。
车辆获得绝对定位信息后,将绝对定位信息发送给高精度地图,高精度地图基于此信息提取周围的地图数据,并将其与感知模块的特征信息进行匹配,实现高精度定位。提取的地图数据中有对路网精确的三维表征,比如路面的几何结构、道路标示线的位置、周围道路环境的点云模型等。LiDAR传感器的检测数据可与高精度地图中的点云模型进行连续匹配,以获得车辆的准确定位。经典的点云匹配算法包括迭代最近点(iterative closest point, ICP)算法与正态分布变换(normal distributions transform, NDT)算法。ICP算法的基本原理是获取LiDAR点云数据集合X={x1, x2,…,xNx}与高精度地图点云集合P={p1, p2,…,pNp}。其中,xi、pi表示点云坐标;Nx、Np表示点云数量。通过对两点云集合迭代求解的方法逐渐缩小误差,最终得到使
路径规划作为无人驾驶研究的热点,涵盖了无人驾驶所有的技术领域,从基础的制动器到感知周围环境的传感器,再到定位及预测模型等。目前,无人驾驶中的路径规划被分为全局路径规划、局部路径规划、车辆轨迹规划。
高精度地图多源感知和定位驱动作用是车路协同、路径规划的基础[14]。通过高精度地图的定位驱动作用,得到车辆精确的绝对定位信息,加上高精度地图所提供的道路拓扑关系网络,能够计算车辆当前位置至终点的全局路径;根据规划得到的全局路径,辅以高精度地图提供的车道级道路网络、交通事件、天气等实时数据以及驾驶经验数据集等,可得到局部路径规划结果。全局路径规划算法与局部路径规划算法较多,本文在此不再赘述。
道路往往不是笔直的,车辆的绝对定位不便于表示车辆与车道的相对位置,因此在车辆轨迹规划过程中,需要引入车道坐标系——Frenet坐标系[15]。该坐标系将道路中心线作为参考线,使用参考线的切线向量和法线向量建立坐标系,用以准确描述车辆相对道路的位置。车辆轨迹规划包括图 3所示的基于车道的轨迹预测和图 4所示的基于车道的轨迹规划。高精度地图提供了车辆与周围环境在世界坐标系下的绝对定位,将感知并存储到地图中的动态环境信息和车辆投影至车道坐标系中,进而根据地图提供的如车道宽度、车道曲率等车道先验知识,判断动态障碍物在车道中的分布情况,分析得到动态障碍物的轨迹预测结果。根据车道坐标系预测结果,融合高精度地图多层信息,得到车辆横向的里程-偏移规划与纵向的里程-时间规划。其中,里程为车辆位置向参考线作投影点F,点F与参考线起始点之间的曲线距离,偏移为点F与车辆位置的距离。然后对横纵向规划结果合并采样,并对每条规划结果进行成本函数计算,提取成本最小路径,生成车辆轨迹规划结果。
1.4 地图与车辆控制
无人驾驶系统经定位与路径规划后,还需要高精度地图进行车辆控制来完成自主驾驶。车辆控制包括无人驾驶车的速度、姿态信息和预测等方面,是高精度地图提供的车道级引导服务。无人驾驶系统实现车辆控制时,首先需要高精度地图提供丰富的道路拓扑网络和语义信息、驾驶经验数据集等来控制和约束车辆行驶区域、行驶速度等行驶规范;然后利用LiDAR、摄像头等传感器获取诸如行人、车辆等动态障碍物信息,计算车辆的速度、姿态信息;之后读取路径规划结果,根据车辆目前的定位、速度、姿态等信息和路径规划结果进行匹配并进行误差反馈,不断重复以修正路径规划结果和车辆控制信息,完成车辆的行驶控制。
2 实验与总结 2.1 实验环境本文选取武汉大学信息学部友谊广场停车场作为实验区,根据本文的地图驱动机制设计无人驾驶小车系统,利用该无人驾驶小车系统对该驱动机制进行验证分析。目前,城市结构化道路环境的高精度地图生成技术主要分为数据采集、数据处理、元素识别和人工验证4个部分[16]。本文利用全站仪碎步测量、航拍图片、LiDAR等手段完成道路路面信息的采集,并通过点云配准、点云分割等技术完成点云三维环境重构和道路要素的提取,最后经过元素识别与人工验证,在Java OpenStreetMap软件中生成包括道路网、车道网、特征地物在内的静态地图层。实验数据中半静态地图层包括模拟设置的交通流量、交通限制信息;动态地图层包括行人、车辆等信息;辅助驾驶地图层包括模拟设置的驾驶经验数据集信息。开发环境为Windows系统下的Visual Studio 2013,开发语言为C++。
2.2 实验设计本文根据该地图驱动机制设计地图驱动的无人驾驶小车系统,其总体设计如图 5所示。图 5中,PPS(pulse per second)表示秒脉冲信号;COM(clus‐ter communication port)表示串行通讯端口;LAN(local area network)表示局域网;I/O(input/output)表示输入输出;GNSS-I/O表示GNSS数据的输入输出接口;LiDAR-I/O表示LiDAR数据的输入输出接口;Radar-I/O表示雷达数据的输入输出接口;Camera-I/O表示摄像头数据的输入输出接口;HD‐MI(high definition multimedia interface)表示高清多媒体接口;CAN(controller area network)表示控制器局域网络;Vehicle CAN表示车辆控制器局域网络;USB(universal serial bus)表示通用串行总线。根据无人驾驶小车中地图的驱动机制,将高精度地图划分为感知、定位、路径规划、车辆控制4个模块。高精度地图内部各模块之间通过共享内存或轻量级通信与数据封装库(lightweight communications and marshalling, LCM)进行通讯与数据传输,工控机与高精度地图之间通过对应的I/O接口实现通讯及数据传输,其他硬件设施与工控机则通过局域网、HDMI等接口实现通讯及数据传输。LiDAR、摄像头等传感器用于感知周围环境信息;GNSS、IMU姿态传感器实现小车的定位导航;线控底盘用于对小车行驶进行控制;人机交互界面显示高精度地图多层次、多模块数据,并能实现对小车的相关操作和控制。
2.3 实验与总结
实验设计搭建的无人驾驶小车如图 6所示。本文选用FR-09全能型机器人线控移动平台作为线控底盘,搭载RS-LiDAR-16小型LiDAR、ER-600R工业无线路由器、POMS-G6615导航系统、灰点工业相机以及Nuvo-7006LP工控机等硬件设备。将制作的高精度地图存储于工控机内,在系统界面选择高精度地图,开启系统,小车在高精度地图的驱动机制作用下,完成了无人驾驶状态下的自动跑圈,其行驶过程状态如图 7所示。
系统启动后,传感器数据通过局域网传输给工控机,工控机通过高精度地图提供的I/O接口,将数据传输至感知模块,感知模块通过坐标转换把数据统一到相同坐标系下,最终存储并显示在高精度地图中。GNSS获取小车绝对定位信息,利用千寻RTK服务进行修正,进而将定位信息经COM传输至工控机,工控机利用GNSS-I/O接口传输数据至定位模块,定位模块利用绝对定位信息提取高精度地图的车道级路网信息、特征地图层信息,将其与感知模块提供的特征地物信息进行地图匹配,可得到小车当前在车道内的准确定位结果,见图 7中标注为a的部分。小车行驶过程中,路径规划模块先提取高精度地图道路网信息,利用A*算法进行全局路径规划。在此基础上,综合交通现状、天气等辅助信息进行局部路径规划,通过感知模块提供的动态障碍物信息和预测算法进行动态障碍物轨迹预测,利用高精度定位结果与障碍物轨迹预测结果计算轨迹成本函数,提取最小成本路径生成小车的轨迹规划,见图 7中标注为b和c的局部放大图。车辆控制模块将小车当前的位置、姿态信息等与路径规划结果进行匹配,不断修正小车的位置、姿态、速度等信息,并通过控制IO接口和CAN总线传输给线控底盘实现车辆控制,车辆状态与车辆控制反馈结果见图 7中标注为d和e的局部放大图。
经实验测试,根据本文研究的地图驱动机制设计的无人驾驶小车系统在高精度地图的驱动作用下,能够感知并存储小车周围环境信息,实现小车的高精度定位,并根据高精度地图多数据层信息,完成车辆路径规划、车辆控制与反馈等操作。这验证了本文研究无人驾驶小车的地图驱动机制的正确性。
3 结束语针对地图驱动的无人驾驶研究热点,本文在分析高精度地图数据结构的基础上,研究了高精度地图在无人驾驶小车中的驱动机制,并利用通过该驱动机制设计的无人驾驶小车来进行实验。实验结果表明,在本文设定的实验区域与实验场景下,高精度地图在无人驾驶的感知、高精度定位、路径规划以及车辆控制等方面发挥着重要的驱动作用,这验证了本文驱动机制的正确性及合理性,能够更好地让高精度地图服务于辅助驾驶与无人驾驶。同时,本文实验场景在丰富性、全面性方面仍然存在着不足,在后续研究中将进一步丰富和完善实验场景,使得地图驱动机制为无人驾驶系统提供更好的帮助。
[1] |
地图学原理与方法[M]. 第2版. 北京: 科学出版社, 2014.
|
[2] |
全息高精度导航地图: 概念及理论模型[J]. 地球信息科学学报, 2020, 22(4): 760-771. |
[3] |
导航地图数据模型研究现状与趋势[J]. 测绘信息与工程, 2007, 32(6): 22-25. DOI:10.3969/j.issn.1007-3817.2007.06.010 |
[4] |
智能高精地图数据逻辑结构与关键技术[J]. 测绘学报, 2019, 48(8): 939-953. |
[5] |
Jo K, Sunwoo M. Generation of a Precise Roadway Map for Autonomous Cars[J]. IEEE Transactions on Intelligent Transportation Systems, 2014, 15(3): 925-937. DOI:10.1109/TITS.2013.2291395 |
[6] |
Zheng L, Li B J, Yang B, et al. Lane-Level Road Network Generation Techniques for Lane-Level Maps of Autonomous Vehicles: A Survey[J]. Sustainability, 2019, 11(16). DOI:10.3390/su11164511 |
[7] |
王东波. 高精度导航地图数据道路曲率估计方法研究[D]. 北京: 北京建筑大学, 2018.
|
[8] |
高精度地图定位在高速公路自动驾驶系统中的应用[J]. 上海汽车, 2020(8): 12-17. DOI:10.3969/j.issn.1007-4554.2020.08.03 |
[9] |
面向自动驾驶的高精度地图及其应用方法[J]. 地理信息世界, 2020, 27(4): 109-114. DOI:10.3969/j.issn.1672-1586.2020.04.017 |
[10] |
高德的高精地图技术路线图[J]. 汽车纵横, 2018(9): 60-61. DOI:10.3969/j.issn.2095-1892.2018.09.023 |
[11] |
基于多传感器的车道级高精细地图制作方法[J]. 长安大学学报(自然科学版), 2015, 35(S1): 274-278. |
[12] |
Shimada H, Yamaguchi A, Takada H, et al. Implementation and Evaluation of Local Dynamic Map in Safety Driving Systems[J]. Journal of Transportation Technologies, 2015, 5(2): 102-112. DOI:10.4236/jtts.2015.52010 |
[13] |
Dupuis M, Strobl M, Grezlikowski H. OpenDRIVE2010 and Beyond-Status and Future of the de facto Standard for the Description of Road Networks[C]. Driving Simulation Conference 2010 Europe, Paris, France, 2010.
|
[14] |
姚海敏, 陈建华. 基于高精度地图及多传感器融合定位的车路协同应用实践[J/OL]. 测绘地理信息: 1-7[2021-03-25]. 10.14188/j.2095-6045.2020368
|
[15] |
基于Frenet坐标系的自动驾驶轨迹规划与优化算法[J]. 控制与决策, 2021, 36(4): 815-824. |
[16] |
移动测量技术在高精度地图数据生产方面的应用分析[J]. 城市建设理论研究(电子版), 2018(15): 104. |