47
软件开发与应用
Software Development And Application
电子技术与软件工程
Electronic Technology & Software Engineering
1 OpenStreetMap概述
开放街道地图(OpenStreetMap ,简称OSM )是一个受到概念启发的自发地理信息项目。该项目由英国软件工程师史蒂夫科斯特于2004年创建,其初衷是创造一个内容自由且所有用户都能编辑的世界地图。经过多年的积累,OSM 目前已囊括了世界绝大部分地区的详细地理信息。OSM 的地图数据来源包括手持式GPS 设备,航拍图,卫星影像,或传统的地区地图,注册用户们通过这些数据来保证OSM 的精确性及时效性。在知名GIS 供应商GoogleEarth 自2012年开始引入收费API 机制以后,越来越多的大型网站和应用开始转向使用OSM 提供GIS 信息支撑,其中包括苹果的自有地图服务AppleMaps 和微软的Here 地图业务。个人用户和大型企业的贡献使得OSM 的准确程度在快速提高。一篇来自爱尔兰国立大学的论文[1]指出,在绝大多数情况下,OSM 能够提供和GoogleMap 或微软Here
地图等商业地图同等的信息量和几乎一致的准确地理数据,这说明OpenStreetMap 项目已足够在商业中使用。开源项目
2 封闭场景下的无人驾驶需要什么样的地图
通过对无人驾驶系统所面对的速度,装载内容,以及道路情况的划分,无人驾驶所面对的场景可被分为封闭场景和开放道路场景。一般而言,封闭场景包括港口,矿山,物流货场等不会有未经许可的社会车辆或人员进场的场景。对于无人驾驶系统而言,封闭场景具有以下两个特点。一是在正常情况下,所有车辆,人员,以及路旁设备均处于系统的统一监控下并可以通过相应传感器或地图确定位置,几乎不会出现未经注册的车辆或行人。二是道路或场内设备位置的一切变动都处于计划内,不会出现无法预知的变动,如未经通知的临时维修或临时变道。
对于一套功能完整的无人驾驶系统而言,高精度地图,低精度地图,和展示用3D 地图是不可或缺的。高精度地图也被称为高分辨率地图。它主要为车辆进行自主驾驶服务。通常来说,高精度地图在提供道路信息的同时,能够包括上下坡的斜率,弯道的曲率,路基的横坡,以及车道的位置等传统导航用地图无法提供的信息。虽然在封闭场景环境之下,无人驾驶系统对于高精度地图的需求并没有如开放场景下的那般迫切;一份合适的高精度地图仍然能够降低车载自动驾驶系统的负担,为车载传感器提示难以第一时间感知的信息,提高整套系统的信息冗余程度,从而显著降低在不同气象
开源地图OpenStreetMap 在无人驾驶系统中的应用
胡淼川
(浙江众合科技  浙江省杭州市  310051)
条件下的运行风险。
对于研发和业务逻辑而言,通过激光雷达等高精度传感器测绘而得,包含大量冗余信息,为车辆自动驾驶服务的高精度地图是一种沉重的负担。这些高精度地图内所包含的车道,路旁设备,或地面情况在研发调度系统和路径规划系统的过程中并非不可或缺。一辆配备激光扫描系统和摄像系统的测绘车辆一天便可收集超过600GB 的地图数据。然而,研发人员在开发过程中并不需要这些数据中的绝大部分,有用信息总量可能仅为kb 至mb 级别。因此,对于路径规划研发和车辆调度研发而言,一种可仅包含路径点坐标及其相互关系的地图显然非常重要。同时,基于系统通信层面的考虑而言,在调度系统向车辆下发的报文中,也需要一种能最简化表达路径信息的地图格式,以减少对于带宽的消耗和出现错误的可能性。
对于需要对外展示而无需交互的地图而言,如监控大屏和网页管理界面,由于开发过程中一般使用成熟的第三方地图数据可视化框架,必须考虑使用这些可视化框架方便读取的GeoJSON 格式来表述地理数
据。因此,无人驾驶系统的开发过程中需要选用一种能够方便转化为GeoJSON 的地图数据格式。以目前主流的地理信息和数据可视化框架Echart 为例,其地理信息可视化部分除了直接接受经过修改的原始格式以外,仅能够接受GeoJSON 格式的GIS 信息。
3 在封闭场景下无人驾驶系统中使用OpenStreetMap有什么优势
OpenStreetMap 的一大优势是可基于已有传感器数据构建出具有足够精度的地图。作为一个自发地理信息项目,OSM 的地图来源包括手持式GPS 设备,航拍图像,卫星影像,或传统的地区地图。志愿者们在这些定位手段的辅助下通过这些不断上传带有时间戳的数据来保证OSM 的精确性及时效性。在商用的封闭场景的自动驾驶系统中,无法通过志愿者无偿提供数据。因此,OSM 地图可基于车载或手持GPS 设备导出的连续路径文件来构建。同时,也可根据现场环境,在编辑工具中依靠现有卫星地图手工勾画。通过单一数据来源构建的OSM 精度有限,而多数据来源交叉验证则能够使得地图精度有显著提高。一篇IEEE 的论文[2]指出,在经过依靠建筑物坐标的GPS 偏移校正后,OSM 地图的精度能够直接作为指引无人机器人驾驶的高精度地图。
在来自世界各地开发者的共同努力下,OpenStreetMap 现已拥有一个简单易用且稳定的开发工具JOSM 。JOSM 是目前最强大的摘 要:本文主要讨论OpenStreetMap 应用在封闭场景下的无人驾驶中的可能性及其相应的优缺点。作为最为成功的自发地理信息(Volunteered Geographic Information, VGI)项目
之一,OpenStreetMap 不仅为大量互联网应用提供了具有丰富信息和高精度的开源地图,同时也为行业用户提供了相对便捷的建立私有地图的途径。作为对地图有极高需求度的新兴行业之一,无人驾驶将为OSM 提供了一个应用场景。
关键词:OpenStreetMap;地理信息系统;无人驾驶;电子地图
软件开发与应用
Software Development And Application
电子技术与软件工程Electronic Technology & Software Engineering
桌面端OpenStreetMap离线编辑器。作为基于JA V A开发的OSM 地图开发工具,JOSM完美展现了OSM能够依靠多种数据来源来构建这一特性。以没有现成地图参考的物流园区为例,在JOSM 的帮助下,开发人员可通过直接在已有航空摄影图像上新建一个图层并在该图层上手动勾勒道路线来构建简易地图,也可通过导入物流车辆运行时产生的GPX格式数据,略微修改拟合后,直接生成道路数据。JOSM的另一特点是可将编辑好的地图上传至指定服务器,而非OSM官方服务器。这一特性为JOSM编辑私有化地图提供了很大的便利。
OpenStreetMap地图源文件一般为OSM XML格式,其具有体积极小,结构简单易懂,可直接阅读,和
较高的压缩率等优点。由于封闭场景的地图总体容量较小,一般不需要使用具有二进制和高压缩率特点的OSM PBF格式地图。在通过Visual Studio Code打开OSMXML格式的地图文件以后,可以看出文件中表述路径信息的部分由路径点经纬度坐标和坐标间关系联系组合而成。以OSM XML格式举例,当使用VS Code打开OSM源文件后,该地图表示的路径中某路径点如下:
1.<n o d e i d='-114787'a c t i o n='m o d i f y'v i s i b l e='t r u e' lat='3
2.73895283769' lon='110.0512*******' />
在这行代码中,nodeid描述了该坐标点在该地图文件中的唯一识别号,action和visible则描述了该点的属性,lat(latitude)和lon(longitude)分别描述了该点的经纬度。
同时,OSM可以为通过编辑器在路径点添加相应的tag(标签),以描述该点的特殊功能。以一个描述该点为充电站的tag为例:
2.<tag k='amenity' v='charging_station' />
在这一行代码中,k后的属性描述了该tag属于设施这一大类下,而v后的属性描述了该tag描述了一个chargingstation(充电站)这种数据结构为将其转换为其他GIS提供了极大的便利。以将OSM地图转换为GeoJSON格式为例,仅需简单地提取OSM地图中的经纬度坐标点,并以合适的方式填入到GeoJSON
的模板之中,便可获得一份完整的GIS数据文件。在整体文件路径点数量较少的情况下,这个过程甚至可以依靠手工复制粘贴以及调整来完成。同时,OpenStreetMap基金会也提供了使用第三方API Overpass来完成这一转换过程的指导。
4 在无人驾驶系统中使用OpenStreetMap可能遇到的问题
在实际应用OpenStreetMap到商业项目中之前,一些问题应当被考虑到。首先便是测绘法的相应条款。根据《测绘法》定义,测绘是指“对自然地理要素或者地表人工设施的形状、大小、空间位置及其属性等进行测定、采集、表述,以及对获取的数据、信息、成果进行处理和提供的活动。”[3]向OSM公开服务器上传地理数据属于测绘行为,目前我国仅有25家单位具有甲级地图测绘资质,可以合法进行地理测绘行为。根据我国测绘法的相关规定,只有依法取得相应等级的测绘资质证书,并具备一系列附加条件,方可从事测绘活动。因此,在业务中使用OSM时,应当注意尽量避免上传自行构建的数据至OSM官方服务器。
私有地图数据的管理也是应当在开发过程中被注意到的点。一般而言,当调度系统处于研发阶段时,可以通过集中式的SVN版本管理器或分布式的Git版本管理器来进行管理分散的地图数据和路径文件。当业务上线后,则应当通过Ubuntu或Docker搭建私有瓦片服务器对OSM数据进行查看和管理。同时,JOSM的服务器路径也应当被更改至适当位置以在保障数据安全的前提下编辑地图数据。
在地图创建的过程中,参考数据的差异不应被忽视。JOSM内置数个航空摄像服务提供商,如Bing航拍,Esri,和Mapbox卫星,在要求不高的情况下,可通过叠加航空摄影和OSM已有地图数据,在没有GPS数据路径的情况下依靠图像构建地图。然而,需要注意的是,根据航空摄影更新频率的不同,这些服务提供商的时效性可能会难以满足业务需求。同时,由于绝大部分国际服务商采用了WGS-84经纬度投影,如直接使用,会造成坐标点漂移。因此在实际使用时,需通过相应转换系统[4]或库,如Open Layers,将WGS-84转换为GCJ-02或BD-09 坐标系统。
5 总结
OpenStreetMap以其轻量,开放,便捷的特点,未来可在无人驾驶的开发领域发挥巨大作用。作为一个成功的开源项目,OpenStreetMap在无人驾驶中的应用也能够启发高分辨率地图的开发模式,如开源的OpenDrive地图。对于自动驾驶而言,传统高精度地图的测绘作业车采集模式更新速度远远跟不上场景变换的速度。类似OpenStreetMap这样融合了多传感器的地图更新方式未尝不是一个针对这个问题的合适解决方案。
参考文献
[1]Cipeluch B, Jacob R, Winstanley A, et al. Comparison
of the accuracy of OpenStreetMap for Ireland with Google Maps and Bing Maps. Proceedings of the Ninth International Symposium on Spatial Accuracy Assessment in Natural Resources & Environmental Science.
[2]Hentschel M, Wagner B. Autonomous robot navigation
based on OpenStreetMap geodata[C]// International IEEE Conference on Intelligent Transportation Systems.
IEEE,2010.
[3]秦志嫒,琚晶,贾宁.关于高精度地图测绘资质的若干思考[J].
汽车与配件,2020,No.1280(10):68-70.
[4]康路,闫浩文,张黎明.电子地图间的实时坐标转换系统[J].
遥感信息,2018,v.33:No.156(02):126-130.
作者简介
胡淼川(1997-),男,湖北省武汉市人。大学本科学历,毕业于美国加州大学戴维斯分校,现供职于于浙江众合科技。研究方向为嵌入式,无人驾驶等。
48