“无人驾驶”这个词在2018年可谓是出尽了风头,国内各种互联网巨头加持,不可谓不热闹,无人驾驶似乎成了解决现在互联网公司焦虑的“万金油”。估值是悬在这些上市公司的一把利剑,他们需要给股东们讲一个没有天花板的故事,而充满乌托邦意味的无人驾驶场景应该会是一个让人热血沸腾的故事。
在2018年7月4日的百度 AI 开发者大会上,百度集团的创始人李彦宏宣布作为全球首款的L4 级量产自动驾驶巴士‘阿波龙’已经量产下线,目前也已投入到多个园区的运营中。
2018年6月18日上午,京东在北京海淀区的上地配送站,投放了20余台京东配送机器人,首批载有618订单的京东配送机器人从上地站发出,这一事件让京东赚足了眼球,也预示着快递无人配送时代可能真的要来临了。
2018年9月19日杭州云栖大会开幕,菜鸟ET物流实验室在现场发布了两款新零售物流无人车,车上分别搭载了刷脸取件柜、零售货架等。
对于无人驾驶,如果无法做到100%准确,那基本上在工程上就是失败的,宣传上也只能是噱头大于实际,但是对于科技行业始终都需要抱着一颗敬畏的心,很多事情很可能是“不是不到只是时候未到”,一旦获得关键技术的突破,市场的需求也就会立马释放出来,而和无人驾驶密切相关的“高精地图”目前也是制约无人驾驶发展的关键技术。
2
无人驾驶方案各大厂商大同小异,但是基本的逻辑是相同的,从学习的角度来看,目前已经开源的百度Apollo无疑是一个极好的途径,下面是百度的Apollo无人驾驶的软件架构以及关键模块的说明。
Perception(感知) — 感知模块识别自动驾驶车辆周围的世界。感知中有两个重要的子模块:障碍物检测和交通灯检测。
Prediction(预测) — 预测模块预测感知障碍物的未来运动轨迹。
Routing(路由) — 路由模块告诉自动驾驶车辆如何通过一系列车道或道路到达其目的地。
Planning(规划) — 规划模块规划自动驾驶车辆的时间和空间轨迹。
Control(控制) — 控制模块通过产生诸如油门,制动和转向的控制命令来执行规划模块产生的轨迹。
CanBus — CanBus是将控制命令传递给车辆硬件的接口。它还将底盘信息传递给软件系统。
HD-Map(高精地图) — 该模块类似于库。它不是发布和订阅消息,而是经常用作查询引擎支持,以提供关于道路的特定结构化信息。
Localization(定位) — 定位模块利用GPS,LiDAR和IMU的各种信息源来定位自动驾驶车辆的位置。
HMI — Apollo中的HMI和DreamView是一个用于查看车辆状态,测试其他模块以及实时控制车辆功能的模块.
监控 — 车辆中所有模块的监控系统包括硬件。
Guardian — 新的安全模块,用于干预监控检测到的失败和action center相应的功能。执行操作中心功能并进行干预的新安全模块应监控检测故障。
从上面的软件架构图可以看出,高精地图(High Definition Map)在整个方案中是最根本的技术支撑,上层的定位、感知、规划均依赖高精地图,用百度工程师的话来说,L3以上的自动驾驶如果没有高精地图作为支撑则无从谈起。
高精地图不同于我们平时使用的电子地图,它是专门为驾驶机器人设计的地图。机器通过存储可以具备极强的记忆能力,而在视觉分析和逻辑判断上则比较弱,比如:你可以根据看到的东西和 GPS 提供的信息确定你自己的位置;还能轻松准确地识别障碍物、其他车辆、行人和交通信号灯。但这对无人驾驶汽车来说是一项非常艰巨的任务。正因如此,高精度地图是当前无人驾驶汽车技术不可或缺的一部分,下面从定位、感知、规划三个方面展开讨论高精地图和无人驾驶的关系。
我们要在高精度地图上进行定位,这就意味着我们需要弄清楚我们在地图上的位置。RTK+惯导是我们常用的组合定位方法,RTK在空旷区域定位效果好,但是它更新频率低,容易受遮挡影响,这个时候需要引入频率更高的惯性导航进行辅助,但是惯导容易产生误差累计,因而在极端环境下这两种组合也不能做到万无一失,这时候就需要引入摄像机或者激光雷达,通过这两种设备进行图像以及点云数据的收集并进行特征提取,然后将这些特征和高精地图中的特征进行对比并融合组合定位数据从而推断出车辆自身的位置,百度Apollo使用卡尔曼滤波的方法进行传感器数据融合。
无人驾驶汽车可以使用高精度地图来帮助感知,摄像机、激光雷达和雷达探测物体的能力在超过一定距离后都会受到限制,在恶劣的天气条件或夜间,传感器识别障碍物的能力可能会进一步受到限制。另外,当汽车遇到障碍时,传感器无法透过障碍物来确定障碍物后面的物体。在这种情况下,高精度地图可以将交通信号灯的位置提供给软件栈的其余部分,帮助汽车做出下一个决策。
高精度地图可以帮助车辆找到合适的行车空间,还可以帮助规划器确定不同的路线选择,并帮助软件确定道路上其他车辆在将来的位置。高精度地图可帮助车辆识别车道的确切中心线,这样车辆可以尽可能地靠近中心行驶,在具有低速限制、人行横道或减速带的区域,高精度地图能让无人驾驶汽车提前查看并预先减速。更重要的是,如果前方有障碍物,车辆可能需要变道,高精度地图可以帮助车辆缩小选择范围,以便选择最佳方案。
3
高精地图现在的采集方式分为两种:集中式采集和众包采集模式。“众包制图”是一种地图数据采集生产模式,相对应的是“集中制图”,两者在地图行业都不是什么新名词。目前有BAT背景的、规模较大经验丰富的老牌地图公司,比如高德地图、四维图新、百度地图都是集中制图,自主采集和生产、加工高精地图;而一些规模小、新进入的初创公司,比如宽凳科技、Momenta等,都是众包制图模式。
集中制图的厂商一般采用激光模式,采集依靠专业采集车,采集设备有几个比较核心的部件,包括激光雷达、IMU(惯导系统)、GNSS、高精度轮速仪以及相机等。只有专业的、高性能、高精度的采集设备,才能保证最终高精地图数据的精度。目前采用集中制图的高德地图,提供的高精地图相对精度可以达到10cm以内,而高德地图和千寻位置合作推出的“高精地图+高精定位”一体化解决方案,车道级定位效果能够实现普通道路条件下横向误差和纵向误差在7cm以内,高速/城市环路条件下横向误差6cm,纵向误差5cm以内。
大部分初创地图公司的众包制图,是采用视觉模式(相机、摄像头)替代专业采集车的激光雷达,优点是成本低,数据来源广,但数据乱、精度差,静态数据精度和依靠专业设备采集的高精地图尚不能同日而语,更多是作为高精地图动态数据部分的补充。高精地图也需要为自动驾驶提供动态、实时的数据服务,比如动态交通信息、智慧红绿灯等交通设施信息、施工等临时或突发信息等,这部分动态数据更适合由众包制图模式来实现。
4
高精地图分为两个层级,下层的是静态高精地图,上层是动态高精地图。
静态高精地图中包含了车道模型、道路部件、道路属性和其他的定位图层,这是现阶段图商重点在做的。首先高精地图要满足车道级的自动驾驶导航,因此需要包含道路细节信息,如车道线、车道中心线、车道属性变化等,比如能让汽车知道哪些区域是虚线能够变道。此外车道模型中还需要包含道路的曲率、坡度、航向、横坡等数学参数,好让车辆能够准确的转向、制动、爬坡等。这些信息构成了车道模型。还需要包含交通标志牌、路面标志等道路部件,还要标注出特殊的点如GPS消失的区域、道路施工状态等。
NDS和OpenDrive是目前常用的两种静态高精地图存储规范,标准规范的作用在于分离导航软件与地图数据以及不同导航系统间数据兼容。
NDS结构中两个基本概念:
Product database,一个NDS数据库可能由几个产品组成。每个产品相对独立,版本控制及更新不受其他产品影响。如一个NDS包括一家公司的基本导航地图数据,和另外一家公司的兴趣点数据;
Update Region,更新区域能使 NDS数据库能增加和更新替换地理信息,以区域为单位,如国家(欧洲)或州(美国)。
NDS内部的结构包含三个组成部分:
Building Blocks,所有导航数据都属于一个特定的building block,而一个building block能提供NDS的一个具体功能,典型的building block包括:路径规划、基本地图显示信息、语音等;
Level,由于空间尺度的不同,数据在block中可以划分为不同level,大尺度空间的数据放在high level中,而细节数据,放在low level中,对应传统电子地图中的金字塔结构;
Content,其中存放了主题的地图数据,主要包含三个部分:Feature,Attribution和metaData这个和传统的电子地图在概念上是一致的,只是其中Feature表达的内容的侧重点更偏重于道路交通等,如下图所示。
OpenDrive的定义中包含四个比较重要的概念:坐标系、reference line(参考线)、车道(lane)、道路连接。
坐标系,OpenDrive中使用geoReference元素定义了该文件使用的投影坐标系,其中地理坐标系为WGS-84,而投影坐标系采用的是Transverse_Mercator,横轴墨卡托投影,这是全局坐标,局部坐标使用
reference line是路网结构中一个很重要的概念,绘制地图的时候先是画reference line,reference line包含xy位置坐标、路的形状属性,然后在reference line基础上再去画其他其他元素。
下图是OpenDrive中路网结构中的一个road,该road有三部分组成,蓝色的reference line,车道lane,车道lane的其他feature(限速等)。
一个road中包含了很多的车道lane(lanes),而车道(lane)本身有宽度(width),以及虚线、实线等属性参数(roadMark)。结合这些参数,我们就能在reference line的基础上将车道画出来。
road之间的连接定义了两种(每个road有唯一的ID),一种是有明确的连接关系,例如前后只有一条road,那么通过successor/predecessor进行连接,如果前后的连接关系不是很明确,就需要一个junctions。
5
国外的高精地图主要有Here、TomTom、Waymo(原Google地图)等老牌图商,其中Waymo的高精地图目前仅用于自己的无人车披露信息非常少。此外因为美国的地图测绘政策限制较少,因此成为高精地图创业者的天堂,比较有名的初创公司DeepMap、CivilMaps、lvl 5、Carmera。
和国外不同,我国有比较严格的地图测绘政策限制,目前拥有“导航电子地图资质单位名单”的企业有18家。分别是四维图新、高德、长地万方、凯德、易图通、城际高科、国家基础地理信息中心、科菱航睿、光庭信息、浙江省第一测绘院、江苏省基础地理信息中心、灵图、立德空间信息、滴图科技、图智科技、宽凳科技、江苏晶众。百度地图就是通过子公司长地万方开展导航电子地图测绘的。国内的地图行业呈现三足鼎立的状况,百度地图、高德(阿里)、四维图新(腾讯),其背后是互联网巨头对地图入口的争夺。当然主机厂也不会将自动驾驶时代的附加红利拱手让给科技公司,比如上汽一方面跟阿里成立了合资的斑马网络,开发了车载操作系统,里面使用了高德的地图,一方面又向高精地图初创公司中海庭抛去了橄榄枝。
总的来说,高精地图是目前L5以下的无人驾驶看得见的可行的基础解决方案,对于未来L5是不是仍然使用高精地图目前还不清楚,那在现有条件下如何大规模,高时效的进行高精地图数据的采集、更新,是整个行业应该思考的问题。