时空轨迹数据驱动的自动驾驶场景元建模方法*

2021-05-23 06:11张梦寒杜德慧张铭茁周文韬
软件学报 2021年4期
关键词:轨迹时空建模

张梦寒 ,杜德慧 ,张铭茁 ,张 雷 ,王 耀 ,周文韬

1(华东师范大学 软件工程学院,上海 200062)

2(上海市高可信重点实验室(华东师范大学),上海 200062)

3(教育部可信软件国际合作联合实验室(华东师范大学),上海 200062)

4(同济大学 上海自主智能无人系统科学中心,上海 201210)

近年来,大数据、人工智能、自动驾驶、智慧城市、智能交通等领域的快速发展促进了新一代信息技术的广泛应用,将所产生的海量数据用于安全攸关场景中进行建模分析是一个亟待解决的问题.把地球观测所产生的时空数据,与公众媒体数据(例如,城市摄像头、社交媒体、个人活动等)进行有效的时空融合、高可信建模、大数据处理及面向特定领域的时空数据应用,已成为空间信息技术领域和大数据应用领域的研究热点.尤其是全球卫星导航定位系统(global navigation satellite system,简称GNSS)、中国遥感卫星(remote sensing,简称RS)、地理信息系统(geographic information system,简称GIS)和智慧城市(smart city)综合技术的日新月异,使得时空数据更加丰富,也呈现出高空间分辨率、高时间分辨率、高光谱分辨率、高精准时空标识与多维属性等特点.时空轨迹数据是一种特殊的时空数据,涵盖了几何、光谱、行为以及语义关联等信息,具有海量、异构、动态等特点,反映出现实世界的多元性和复杂性,因此,对其进行数据建模、描述、评估与验证等多层次的分析、数据驱动的应用开发,已成为感知、认知与控制客观世界数据形态的重要途径[1-3].

与此同时,汽车自动驾驶技术的飞速发展,引起了学术界和工业界的广泛关注,但也带来了一系列的安全问题.例如,2020 年9 月5 日一辆特斯拉Model X 失控造成交通事故2 死6 伤,状况惨烈[4];在2020 年6 月初,特斯拉Model 3 在台湾嘉义的高速公路上撞上一辆侧翻在地的白色厢式货车,汽车的自动驾驶和辅助驾驶系统均未采取任何减速措施[4].这一系列的自动驾驶车辆造成的交通事故给人们敲响了警钟,在自动驾驶汽车正式投入市场之前还有着漫长的路程,需要大量的实验来保证自动驾驶的安全性.根据兰德公司的研究报告[5],要足够表明自动驾驶汽车在伤亡方面的可靠性,需要进行数亿至数千亿英里的公共道路测试.但是,随着驾驶自动化级别越来越高,规模越来越大,实车测试不能满足验证需求.然而,仿真测试使用一些计算方法、仿真软件以及仿真参数实现的虚拟场景仿真,得到的数据并不能完全代表真实汽车自动驾驶的行驶数据[6].因此,若要加速自动驾驶汽车快速、安全上路,不仅要依靠仿真测试,还需要提高自动驾驶汽车场景建模的准确性和数据分析的有效性,其中,高质量时空轨迹数据的挖掘与利用是实现自动驾驶真实场景建模的关键[7,8].但目前,面向真实时空轨迹数据的场景建模方法和技术仍然存在不足之处:自动驾驶场景建模的研究主要聚焦在建模场景的设计上,重点讨论仿真的结果,而没有一套系统的模型驱动和数据驱动协同开发的建模方法,不方便对真实数据的管理以及高质量数据的生成,且存在缺乏良好可读性的场景描述语言和难以进行形式化验证的问题.虽然GeoScenario[9]和Scenic[10]较其他场景建模语言更简洁,可读性有一定的提高,但它们的描述方式对于领域专家不够友好,也无法使用形式化方法对场景进行验证分析.总之,现阶段亟需一套时空轨迹数据驱动的自动驾驶场景建模方法,将真实物理世界中的自动驾驶场景进行抽象建模,以实现构建特定的安全场景库,为汽车自动驾驶领域的场景建模、仿真、验证奠定基础.

针对以上问题,本文提出一种时空轨迹数据驱动的自动驾驶安全场景元建模方法,用于指导安全攸关场景的建模、仿真、验证以及安全场景库的构建,将时空轨迹数据更好地应用于自动驾驶领域的场景建模中,为自动驾驶领域的数据驱动和模型驱动协同开发的场景建模提供一种可行的解决方案.自动驾驶汽车在真实环境中行驶会产生该车的轨迹路线,通过获得该轨迹周边的静态及动态场景形成特定的时空轨迹数据,用于自动驾驶场景的数据支撑.首先,使用开源地图(open street map,简称OSM)[11]抽取道路网络结构并将其建模成静态场景模型,使用地图匹配算法用自动驾驶车辆的GPS 定位轨迹点匹配到该路网场景模型中,并使用车载传感器、车联网等技术采集周边动态信息(包括其他车辆、行人等);通过相关部门获取该段路网的相关速度限制、交通管制情况、交通拥塞情况等,实现特定时空轨迹数据的采集.然后,经过数据的清洗、融合、统一表达之后得到真实世界的场景轨迹数据集.最后,使用自动驾驶安全场景建模语言自动实例化方法,将结构化的轨迹数据集用作自动驾驶场景模型的输入,以便于自动实例化自动驾驶的场景模型,实现自动驾驶真实场景的建模与仿真,并实例化自动驾驶车辆在多场景下的运行情况,从而构建对应的自动驾驶安全攸关场景库,为后期工作提供数据支撑.

综上,本文主要工作包括:

(1) 提出一种时空轨迹数据驱动的汽车自动驾驶安全场景元建模方法.该方法支持模型驱动和数据驱动协同开发,为自动驾驶领域场景建模提供一种新的研究思路;

(2) 提出一种基于元对象机制(meta object facility,简称MOF)[12,13]的时空轨迹数据元建模技术体系,并结合汽车自动驾驶领域知识,构建时空轨迹数据元模型,用于指导时空轨迹数据驱动的领域建模;

(3) 结合我们前期的研究成果——自动驾驶安全场景建模语言(autonomous driving specification modeling language,简称ADSML)[14],实现自动实例化自动驾驶安全场景,用于构建面向汽车自动驾驶领域的场景模型库.

本文第1 节介绍时空轨迹数据驱动的自动驾驶安全场景元建模方法.第2 节对时空轨迹数据元建模方法加以介绍,包括时空轨迹的元数据结构、基于MOF 的时空轨迹数据元建模技术体系、时空轨迹数据元模型和数据的预处理及质量评价.第3 节结合自动驾驶场景建模语言ADSML,基于时空轨迹数据元模型,自动实例化时空轨迹数据驱动的自动驾驶场景模型,实际应用表明,该方法具有可行性.第4 节对相关工作进行对比、分析.最后,总结全文并对未来值得关注的研究方向进行探讨.

1 时空轨迹数据驱动的自动驾驶安全场景建模

根据安全场景建模所面临的问题,本文提出时空轨迹数据驱动的自动驾驶安全场景元建模方法.该方法的核心思想是结合数据驱动工程、汽车自动驾驶安全场景领域需求和国际标准[15-18],从复杂的时空轨迹数据抽象出面向汽车自动驾驶领域的时空轨迹数据元模型.根据时空轨迹数据集构建时空轨迹数据的知识库,进而将时空轨迹数据与领域模型相结合,以数据驱动和模型驱动协同开发的方式,设计、开发高可信的自动驾驶软件系统.具体地,根据MOF 元建模理论及方法,构建时空轨迹数据的元模型,为GIS、GNSS、RS 等多维、异构时空轨迹数据提供统一的数据元模型,构建数据的统一表示形式,以支持时空轨迹数据的融合、转换、共享等.进而,在时空轨迹数据元模型的指导下,构建面向自动驾驶领域的场景模型,最终实现构建系统的架构模型.

如图1 所示,该建模框架主要包括七大模块:时空轨迹数据采集、时空轨迹数据预处理及质量评价、基于MOF 的时空轨迹数据元建模技术体系、时空轨迹数据元模型构建、自动驾驶安全场景建模语言设计、自动驾驶安全场景及场景库的构建以及自动驾驶安全场景规约与验证.本文的讨论重点是第3 模块和第4 模块,下面对这7 个模块进行简要的描述.

(1) 时空轨迹数据采集:从全球导航卫星系统GNSS、天地一体化遥感RS、三维地理信息系统3DGIS、开源地图OSM、物联网(Internet of Thing,简称IoT)、车联网(vehicle to X,简称V2X)、车载传感器Sensor 及自动驾驶领域知识(autonomous driving system,简称ADS)中收集可度量和不可度量的具有时间与空间关系的数据,构成时空轨迹数据,包括时间数据、空间数据、光谱数据、人文数据、社会数据、数据质量以及自动驾驶领域知识和其他数据,并根据自动驾驶领域知识和需求,抽象出了时空轨迹的元数据结构,用于指导时空轨迹数据的处理和后期的应用.这部分内容将在第2.1 节和第2.4 节给出详细的介绍.

Fig.1 Meta-modeling framework of autonomous driving safety-critical scenarios based on spatio-temporal trajectory model图1 时空轨迹数据驱动的自动驾驶安全场景元建模框架

(2) 时空轨迹数据预处理及质量评价:通过对时空轨迹数据清洗、融合和统一表达,并提出时空轨迹数据的质量评价模型,为处理得到的时空轨迹数据提供质量评价标准,确保得到高质量的时空轨迹数据.这部分内容将在第2.4 节详细加以介绍.

(3) 基于MOF 的时空轨迹数据元建模技术体系:基于MOF建模框架提出了时空轨迹数据元建模技术体系,元建模的层次划分,为元数据的建模、元数据的交换、共享、互操作奠定了基础.此外,基于时空轨迹数据的元建模技术体系,可以结合不同的领域知识,设计、开发领域建模语言,实现数据驱动和模型驱动协同开发的领域建模.这部分内容将在第2.2 节加以讨论.

(4) 时空轨迹数据元模型构建:结合汽车自动驾驶的领域知识模型和时空轨迹数据元建模技术体系,构建出汽车自动驾驶领域的时空轨迹数据元模型,指导时空轨迹数据在自动驾驶领域的场景建模分析,用于构建面向该领域场景模型的数据输入.这部分内容将在第2.3 节详细加以讨论.

(5) 自动驾驶安全场景建模语言设计:我们前期工作实现的一种面向自动驾驶领域的场景建模语言ADSML,这里简单给出了该语言的语法及语义;介绍了ADSML 的图形化建模工具,帮助建模人员建模汽车自动驾驶的安全场景模型.这部分内容将在第3.1 节加以讨论.

(6) 自动驾驶安全场景及场景库的构建:结合高质量的时空轨迹数据和汽车自动驾驶安全场景建模语言实例化场景模型,进而构建面向自动驾驶领域的安全场景库.该场景库为自动驾驶安全场景规约和验证奠定了基础.这部分内容将在第3.2 节加以讨论.

(7) 自动驾驶安全场景规约与验证:该模块的主要功能是使用信号时态逻辑(signal temporal logic,简称STL)[19]规约场景的需求,也支持基于该场景库使用统计模型检测技术验证、分析场景模型的安全性质,为汽车自动驾驶安全行驶做前期验证工作,并为该场景库赋予更加明确的作用.这是我们下一阶段的研究重点.

时空轨迹数据驱动的安全场景元建模方法涵盖了汽车自动驾驶领域的场景建模、仿真、验证工作的全过程,为自动驾驶技术的产业落地提供了安全场景仿真测试技术支撑.本文将重点讨论如何采用该方法来解决时空数据驱动的安全场景元建模问题,其中,面向自动驾驶领域的时空轨迹数据元建模方法是本文工作的主要贡献之一.

2 面向汽车自动驾驶的时空轨迹数据元建模

根据时空轨迹数据驱动的自动驾驶场景元建模方法,本节将重点讨论如何根据自动驾驶的领域特征,构建时空轨迹的元数据结构、基于MOF 的时空轨迹数据元建模技术体系、时空轨迹数据元模型.最后结合数据评价模型给出高质量的时空轨迹数据评价方法.

2.1 时空轨迹的元数据结构

时空轨迹数据包含了丰富的时空特征信息,具有来源多样化、海量异构等特征,既需要对时空轨迹数据中隐含的价值信息作深入的挖掘分析,还需对时空轨迹数据进行高效的处理,以此挖掘分析、抽象建模出自动驾驶车辆的真实行驶场景模型.本文所提出的自动驾驶时空轨迹数据不仅包括当前自动驾驶车辆的轨迹数据,还包括车辆周边静态信息(例如,空间信息、光谱信息、人文信息以及社会信息等)和动态环境信息(例如,交通参与者信息等).因此,根据时空轨迹数据特征以及自动驾驶领域场景建模的需求,抽象出了自动驾驶车辆的时空轨迹数据的元数据结构,如图2 所示.

时空轨迹的元数据结构是构建时空轨迹数据及其应用的基础[2,3].利用GNSS 得到的空间位置和观测时间信息,元数据可表示为GNSSinfo=f(φ,μ,H,tp,π),其中,(φ,μ,H)分别表示GNSS 所处空间位置的经纬度坐标和高程值;(tp,π)分别表示GNSS 接收机的观测时间和其他参数.利用遥感设备(天基、空基和地基)实现对地观测,所获得的地物波谱信息表示为RS info=f(x,y,z,λ,tR),其中,(x,y)为空间位置参数;(z)为对应于(x,y)的观测值(与空间分辨率有关);(λ)为所使用的电磁波段(与光谱分辨率有关);(tR)为对地同一目标物的重复观测周期.对于GIS,可表示为GISinfo={i,j,T(A),tG}.其中,(i,j)为系统所采用的空间位置坐标;T(A)为系统坐标(i,j)所对应的空间特征与相应属性;(tG)为系统信息的时间特征.使用开源地图OSM 获取环境中的路网结构信息,表示为OSMinfo={R},R表示获取的路网结构数据.对于来自于物联网和社交媒体的人文与社会数据,可表示为 Moreinfo={C(α,β,τ,HT),S(γ,ψ,ω,TC),t,π}.其中,C(α,β,τ,HT)为人文属性的参数及其信息集合,S(Y,ψ,ω,TC)为社会属性参数及其信息集合,t为信息采集时间标识,π为其他多源数据.针对车载传感器及车联网等技术获取的信息表示为SV={P,G},P和G分别表示采集的交通参与者以及轨迹点集.ADS 为汽车自动驾驶领域知识模型.质量评价模型D表示为时间精度(TA)、定位精度(PA)、数据准确性(DA)、时空一致性(TSC)、轨迹完整度(TI)以及采样频率(SF).

因此,可以统一描述信息载体的空间关系K(φ,μ,H,R,P,G)、时间关系T(tp,tG)、光谱特征A(λ)、人文属性C(α,β,τ,HT)、社会属性S(Y,ψ,ω,TC)、质量评价模型D(TA,PA,DA,TSC,TI,SF)、自动驾驶领域知识ADS 以及其他数据π.构建统一的时空元数据表达式:Spatio-TemporalMetadata=f{K(φ,μ,H,R,P,G)、T(tp,tG)、(λ)、C(α,β,τ,HT)、S(Y,ψ,ω,TC)、D(TA,PA,DA,TSC,TI,SF)、ADS、π}相关表达将多时相、多尺度、多类型、多源异构等时空信息统一在时间尺度与空间坐标下的动态管理,综合分析了时间分辨率、空间分辨率、光谱分辨率和地理标识的精细化,实现了时空数据的有效记录、承载、共享和交换.时空轨迹的元数据结构是对轨迹数据的结构化描述,为自动驾驶场景元建模方法奠定基础,同时还是保证数据质量的关键.

Fig.2 Metadata structure of spatiotemporal trajectory data图2 时空轨迹的元数据结构

2.2 基于MOF的时空轨迹数据元建模技术体系

本文基于MOF 实现了时空轨迹数据的元建模技术体系.具体地,MOF 元建模机制包含4 层结构:元元模型层M3、元模型层M2、模型层M1 以及实例层M0,从M0 到M3 抽象程度逐渐增加.元建模的层次划分为元数据的建模,元数据的交换、共享、互操作奠定了基础.此外,基于此技术体系,可以结合不同的领域知识,设计、开发领域建模语言,实现数据驱动和模型驱动协同开发的领域建模,帮助构建领域模型.

图3 所示为本文提出的基于MOF 的时空轨迹数据元建模技术体系,其抽象层次由M3 到M0 层构成,具体如下.

(1) 元元模型M3 层:高度抽象出汽车自动驾驶时空轨迹数据的元元模型,定义了时空轨迹数据驱动的自动驾驶场景建模相关概念、需求及抽象语义;

(2) M2 元模型层:这是元元模型的实例,根据OMG 规定的软件工程中的元模型开发标准,将数据元元模型分为3 个模块:数据元模型模块、工具元模型模块以及数据存储元模型模块.在数据元模型模块中,根据汽车自动驾驶领域的需求、概念、特征[14]等抽象出数据元模型,包括七大类:数据标签(tag)、数据来源(source)、数据内容(content)、场景契约(contract)、数据质量(quality)、场景安全(critical)及轨迹数据(track),这些信息基本涵盖了自动驾驶安全场景建模领域所必需的数据;工具元模型模块设计了获取安全场景时空轨迹数据的接口实现标准,可以更方便地处理时空轨迹数据,为场景建模提供持续的数据流输入;数据存储元模型模块制定了数据存储规范,可以使数据以可读的形式呈现出来,并对数据模型进行分析和评估;

(3) 模型M1 层:它不仅是元模型的实例化,还是实例层数据的格式化表达和存储.将M2 元模型层更直观地表达为数据结构、XML 文档模型、数据模型.对于自动驾驶安全场景建模,将元模型层中抽象出的7 类数据(例如Tag 等)具体化,主要表现为数据标识(Identification)、真实数据(RealWorld)、时间参数(Temporal)、空间参数(Spatial)、光谱参数(Spectrum)、社会参数(Society)、人文参数(Environment)、自动驾驶领域知识(ADS)、契约约束(Contracts)、违规事件(IllegalEvent)、轨迹特征(Tracks)及时空轨迹数据质量评价(QualityEvaluation)这12元组的数据结构;基于XML 编码格式,为以上数据结构设计了XML 文档模型,存储高质量时空轨迹数据;将以上XML 文档模型表示成时空轨迹数据模型;

(4) 实例M0 层:根据模型层所需要的数据结构,为模型提供数据来源,指出12 维时空轨迹数据主要来自全球导航卫星系统GNSS、天地一体化遥感RS、三维地理信息系统3DGIS、开源地图OSM、物联网IoT、车联网V2X、车载传感器Sensor、自动驾驶领域知识ADS 等,为时空轨迹数据的采集提供方法,为数据模型提供数据采集和处理.

Fig.3 Spatio-temporal trajectory data meta-modeling technology system based on MOF图3 基于MOF 的时空轨迹数据元建模技术体系

以上为基于MOF 的时空轨迹数据元建模技术体系,从数据的采集及预处理、数据的模型及数据封装存储、数据元模型等,为时空轨迹数据驱动的自动驾驶场景建模提供数据支撑和技术参考.

2.3 时空轨迹数据元模型

在基于模型驱动的软件开发方法中,元建模是对某一特定领域的“概念(事件、条件等)”进行抽象表示的集合.元模型是基于模型抽象出模型公有的、本质的建模元素,是模型的模型.第2.1 节介绍的时空轨迹的元数据结构可以指导建模人员从采集的海量数据中捕获自动驾驶领域所需要的数据,通过将其封装成时空轨迹数据元模型,方便建模人员从模型驱动的角度构建自动驾驶场景模型,从而为自动驾驶场景建模工具提供结构化数据.因此,本文根据第2.2 节中的基于MOF 的时空轨迹数据元建模技术体系抽象出汽车自动驾驶时空轨迹数据元模型,指导自动驾驶安全场景的构建,具体如图4 所示.

图4 展示了基于汽车自动驾驶安全场景建模的时空轨迹数据元模型(spatio-temporal trajectory meta model,简称STTMM).为方便建模、仿真、验证的研究,在第2.2 节所介绍的内容的指导下,将7 类数据元模型作为时空轨迹数据元模型的核心部分:数据标签、数据来源(source)、数据内容、场景契约、数据质量、场景安全以及轨迹数据.在此基础上,12 维时空轨迹数据作为其扩展共同构成时空轨迹数据元模型,使得元模型更加细粒度地建模汽车自动驾驶的时空轨迹数据,主要包括数据标识、真实数据、时间参数、空间参数、光谱参数、社会参数、人文参数、自动驾驶领域知识、契约约束、违规事件、轨迹特征、时空轨迹数据质量评价这12 元组的数据结构.

Fig.4 Meta-model of spatio-temporal trajectory data图4 时空轨迹数据的元模型

其中,数据标签细化为数据标识,主要描述自动驾驶安全场景中的特征信息;数据来源细化为真实数据,记录了从真实世界中获取时空轨迹数据的来源及方式.例如,GNSS 等;数据内容细化为时间参数、空间参数、光谱参数、社会参数、人文参数、自动驾驶领域知识,其中,时间参数包括时间戳、观测时间和系统时间,空间参数包括经度值、纬度值、高程值、道路信息、周边行人,光谱参数包括全光谱,社会参数包括农业、工业、商业、交通管制情况,环境参数包括人口、分布、地理、交通状态,自动驾驶领域知识包括国际标准ISO 26262、领域知识;契约约束细化为契约约束,是自动驾驶安全场景下存在的约束条件,包括车辆最大速度、高度、宽度以及控制两车距离;数据质量细化为时空轨迹数据质量评价,描述了时空轨迹数据的6 维质量评价指标,即时间精度、定位精度、数据准确性、时空一致性、轨迹完整度以及采样频率;场景安全细化为违规事件,表示该自动驾驶安全场景是否为安全状态,记录了几种典型的违规场景.例如,是否有闯红灯、占道、事故等情况;轨迹数据细化为轨迹特征,主要描述自动驾驶车辆的时空轨迹数据,包括轨迹采样点、轨迹采样间隔、轨迹采样方法.

时空轨迹数据的元模型为自动驾驶汽车安全场景建模提供数据支撑,结合该元模型可将时空轨迹数据进行结构化的表示及存储,进而支持以数据驱动的方式自动实例化自动驾驶的场景模型.

2.4 高质量的时空轨迹数据管理

高质量的时空轨迹数据是自动驾驶安全场景建模的核心,决定了数据驱动场景模型验证的准确性和可靠性.因此需要经过时空轨迹数据的采集、预处理及质量评价模型来确保时空轨迹数据的质量.时空轨迹数据的准确采集和处理是为汽车自动驾驶安全场景建模提供高质量逼真数据的首要工作.其次,在构建抽象的自动驾驶安全场景时,由于原始时空轨迹数据的来源比较复杂,且存在数据格式不一致以及数据缺失等问题,因此需要对不同来源的数据作数据融合、数据清洗和数据统一表示.最后,需要用一套数据质量评价方法对得到的时空轨迹数据进行量化评估,确保得到高质量的时空轨迹数据.图1 所示模块1 和模块2 的具体实现方法如下.

(1) 时空轨迹数据采集

高质量数据的精准获取直接决定了汽车自动驾驶安全场景的真实性和有效性.根据第2.2 节中数据元建模技术体系的指导,针对自动驾驶汽车时空轨迹数据的静态数据,使用OpenStreetMap(OSM)获取自动驾驶车辆所在的路网结构信息,根据时空轨迹的元数据结构抽取其中的关键道路信息,用于构建自动驾驶场景的路网及静态环境建模.针对自动驾驶汽车时空轨迹以及周边的动态数据的获取,使用GPS 定位技术获取自动驾驶车辆的实时定位以获取其轨迹数据[20],在GPS 定位的同时通过车载雷达、摄像头、传感器、车联网等技术探测车辆周边所有方向的物体,获取自动驾驶车辆周边车辆信息和行人信息,构成时空轨迹数据.以上可完成自动驾驶时空轨迹数据的采集工作.

(2) 时空轨迹数据预处理

采集到时空轨迹数据之后可以对数据进行预处理,主要是清洗时空轨迹数据中相似重复数据、不完整数据处理、错误数据等[21].针对OSM 数据,已有一套成熟的方法处理从OSM 上下载的地图数据,例如ArcGIS 等;针对GPS 获取的自动驾驶车辆轨迹数据,由于时空数据的海量特点,轨迹数据的采集一般采用低频采样技术[22],这样会造成车辆GPS 定位点的定位轨迹与车辆实际所在地点的地图轨迹存在一定的误差,使用地图匹配算法纠正自动驾驶车辆的轨迹数据,以解决数据冗余高、精度差、不一致等问题[23];针对视频数据,由于在还原汽车自动驾驶场景时,需要使用到图像视频数据,对道路结构及周围的环境进行分析,采用已有的图像视频数据挖掘的方法(例如自顶向下[24])对其处理;针对传感器数据,传感器主要获取周边环境数据,且在获取传感器数据时,会存在很多的冗余点和噪音点,现有的传感器数据处理主要包括卡尔曼滤波等方法[25].

(3) 时空轨迹数据的质量评价模型

时空轨迹数据的质量影响着自动驾驶场景建模的准确性,传统时空数据质量评价方法无法有效地评价自动驾驶领域的时空轨迹数据的质量,需要在此基础上建立时空轨迹数据的质量评价模型.本文参考了已有的时空数据质量评价方法[22,26],结合自动驾驶汽车时空轨迹的元数据结构和时空轨迹数据元模型,抽出了6 个评价指标,建立了自动驾驶车辆时空轨迹数据质量评价模型.

如图5 所示,时空轨迹数据质量评价模型包括6 个评价指标:时间精度(TA)、定位精度(PA)、数据准确性(DA)、时空一致性(TSC)、轨迹完整度(TI)、采样频率(SF),这些是反映该领域知识的关键属性,是评价面向自动驾驶领域的时空轨迹数据质量的关键指标.关于每个指标权重的确定,本文结合时空数据评价体系和其他领域中的数据评价方法,采用专家打分法和层次分析法[27,28]得到指标的权重.同时,采用模糊综合评价方法[29]解决时空轨迹数据的模糊不确定性,使得评价结果更具有合理性.各项指标对应的评价公式也相应给出.因此,数据质量可以表示为

该评价模型很好地衡量了时空轨迹数据的质量.有了时空轨迹数据质量评价模型之后,就可以分析数据的质量优劣,对有轻量问题的数据做二次清洗工作,也可直接删除有严重质量问题的数据.在后续工作中,我们将进一步讨论评价模型,使其更加精确、有效.

Fig.5 Data quality evaluation model of spatio-temporal trajectory data图5 时空轨迹数据的质量评价模型

3 时空轨迹数据驱动的自动驾驶安全场景建模

本节结合自动驾驶场景建模语言ADSML,讨论如何将时空轨迹数据驱动的自动驾驶安全场景元建模方法应用到自动驾驶场景建模中,通过对时空轨迹数据的建模、分析,并将分析后的高质量时空轨迹数据用于自动实例化ADSML 模型,从而构建具有时空特征的自动驾驶场景模型.ADSML 是我们团队前期实现的一种面向自动驾驶领域的建模语言,不仅为该领域提供了有效的建模技术,还为以模型驱动和数据驱动协同开发的方式构建自动驾驶系统奠定了基础.

3.1 ADSML自动驾驶场景建模语言

安全场景建模是对汽车自动驾驶安全场景进行仿真、验证分析的基础,构建场景模型需要根据该领域的数据元模型及领域知识,设计面向汽车自动驾驶的场景建模语言.因此,本课题组设计了自动驾驶场景建模语言ADSML,其遵循时空轨迹数据驱动的自动驾驶安全场景元建模方法,建模人员首先分析需要建模的场景,从时空轨迹数据元模型中抽象出需要建模的元素以及元素的属性,并根据场景分析抽象的结果使用ADSML 构建场景模型,以支持模型验证分析.ADSML 的主要特征之一是实现了场景元素构建和随机混成自动机交互式建模,能够支持可视化建模与形式化建模的同步交互,帮助设计者构建面向形式化验证的场景模型.基于元编程系统(meta programming system,简称MPS)已在开源工具中实现了该建模语言.

ADSML 语法简记为ADSML:=(Scenario,Contract,SHA),包含3 个部分,其中,

(1) 场景Scenario:简记为Scenario:=(Map,Weather,RoadNetWork,Entity),描述了场景中所包含的静态结构元素;

(2) 契约Contract:简记为Contract:=(Rule,Event),契约模块关联至场景描述模块的实体应遵守的规则和场景实体的部分动态行为,其中,动态行为是通过事件触发器来描述的,即在某个条件下会触发场景的某些元素的状态变化;

(3) 随机混成自动机SHA:用以描述场景实体动态行为,关联或依赖于场景描述模块和契约模块.随机混成自动机能够很好地建模状态的变化以及场景中实体的生命周期,为后期场景行为的正确性分析奠定基础.

ADSML 的具体语法和语义可参考团队中的另一篇文献[14].ADSML 建模实例如图6 所示.

Fig.6 Case study:Overtaking scenario modeling with spatio-temporal trajectory data-driven modeling approach图6 时空轨迹数据驱动的自动驾驶变道超车场景示例

3.2 基于ADSML的自动驾驶安全场景实例化建模

本节提出基于时空轨迹数据元模型及元建模方法,结合自动驾驶安全场景模型ADSML 自动实例化自动驾驶的安全场景,并构建自动驾驶安全场景库.

自动驾驶场景自动实例化过程包括:(1) 高质量时空轨迹数据的获取:首先使用第2.4节中提到的方法,经过时空轨迹数据采集、预处理及质量评价等步骤获取高质量自动驾驶车辆的实时轨迹数据.然后在第2.3 节时空轨迹数据元模型的指导下,根据时空轨迹数据的采样频率将其转换成结构化数据,并以可读的XML 格式存储成数据文件,用于后续的场景建模和数据分析;(2) ADSML 自动驾驶场景建模:将时空轨迹数据按照时序关系导入ADSML 建模语言中并生成模型.其中,在第2.2 节数据元建模技术体系中为ADSML 的场景建模工具提供了时空轨迹数据接口,从而实现持续的数据流输入,进而自动实例化场景模型;(3) 场景模型的安全性验证:在得到ADSML 场景实例之后,使用图1 所示模块7 中的方法可以从模型中提取自动驾驶从车辆行程的随机混成自动机,用于判断该自动驾驶车辆是否按照某种既定的模式运行,若有像第2.3 节时空轨迹数据元模型中所提到的不合法事件发生,则将有可能使得该系统进入安全攸关状态下,促使系统将该异常向上级报告.以上3 步为高可信时空轨迹数据驱动的自动驾驶安全场景自动实例化建模提供了完整的方法,并且可以用该实例化的自动驾驶场景来学习预测自动驾驶车辆何时会进入不安全状态,以确保自动驾驶系统的安全运行.

使用上述实例化方法,用ADSML 自动驾驶场景建模语言建模自动驾驶变道超车场景模型,建模效果如图6所示.其中,图6(a)展示了ADSML 场景建模描述示例,包括地图map 和路网结构road network(对应于GNSS、GIS、OSM 的数据来源)、天气weather(对应于RS 的数据来源)、场景实体entities(对应于V2X、自动驾驶车辆采集的信息),其中,场景实体包括当前车辆(veh_e)、前方车辆(veh_0f)、后方车辆(veh_1b),且车辆veh_e 和veh_0f 在同一车道,车辆veh_1b 在另一车道.在该场景中,车辆veh_e 需要变道到另一车道并超过车辆veh_0f,因此需要控制车辆的行驶速度以保证在不碰撞车辆veh_1b 的前提下超过车辆veh_0f;图6(b)展示了超车场景中的随机混成自动机,包括当前自动驾驶车辆(veh_ego)、时钟(timer)、控制器(controller)和模拟器(monitor)等,其中,veh_ego 中定义了当前车辆的运行状态及属性,模拟受控车veh_e 的状态,包括前进、允许/不允许超车、加速/减速、返回原车道、结束超车等,并通过通道和控制器Controller 与其他模型进行交互,以此来建模其变道超车行为;图6(c)展示了超车场景的契约模块(对应于时空轨迹数据中的契约Contract,描述了该场景中3 种车辆应遵守的规则及其部分动态属性,速度均应限制在20m/s 内,该契约也可以辅助随机混成自动机的建模;图6(d)展示了自动驾驶车辆变道超车场景的可视化仿真模型图,车辆veh_e 将会沿着红线执行变道超车,在仿真过程中会实时判断自动驾驶汽车的运行状态,为其安全运行提供大量的安全性分析,以保障车辆的安全行驶.最后,可通过分析场景模型仿真结果,判别车辆是否或在何时会进入不安全状态,并使用UPPAAL 工具对随机混成状态机进行验证分析.以上便是基于自动驾驶场景元建模方法指导构建自动驾驶场景模型的实例化模型.

有了自动驾驶安全场景模型的自动化实例方法之后便可以使用该方法生成大量的场景模型,用于构造自动驾驶安全场景库.本文设计了时空轨迹数据驱动的自动驾驶场景库生成自动平台,如图1 中模块6 所示,典型场景模型主要包括直行道路、丁字路口、十字路口以及环岛等;针对特定车辆行为的场景,可以构建对应的安全场景库,例如车辆加速、车辆变道、超车、跟车、会车以及车辆事故等;针对应用场景可以构建园区、机场、矿区、停车场、港口、高速公路、城市道路等场景库[30,31].这些场景对后续的实车测试及形式化验证工作有着重要的作用,为自动驾驶技术的发展提供可信支撑.

4 相关工作分析

本文研究时空轨迹数据驱动的自动驾驶场景元建模方法,相关工作主要包括时空轨迹数据的应用、时空轨迹数据元建模以及自动驾驶安全场景元建模方法.

时空轨迹数据的应用主要集中在时空轨迹数据的高效存储查询、抽取与更新路网信息、活动模式识别等[32,33],很少有基于时空轨迹数据的建模验证相关的研究.其中,曾衍伟等人[26]提出了空间数据质量控制与评价技术体系,从空间数据误差的来源分析了空间数据的质量模型、质量控制方法以及质量检验与评价方法;袁辉等人[22]将所有浮动车的行驶数据汇集成浮动车数据,并提出了浮动车轨迹数据的质量评价模型,从9 个维度衡量数据的质量问题.由于自动驾驶汽车的时空轨迹数据与传统的时空轨迹大数据稍有不同[34],且以上工作不能用于自动驾驶领域的场景建模分析,因此,本文在原有的时空轨迹数据以及我们团队张雷老师前期工作[2.3]的基础上,所提出的自动驾驶时空轨迹数据不仅包括自动驾驶车辆本身的轨迹数据,还包括车辆周边静态信息(例如,空间信息、光谱信息、人文信息以及社会信息等)和动态环境信息(例如,交通参与者信息等),将自动驾驶车辆行驶过程中的静态环境信息以及动态行为信息整合成具有自动驾驶领域建模特征的时空轨迹数据,用于后期对自动驾驶安全场景的建模、仿真与验证[35].

在时空轨迹数据元建模方面,时空元数据及元建模思想现已广泛应用于各类安全攸关领域中,张雷等人[3]将构建时空元数据的方法概括为7 个步骤,形成和完善了高可信时空元数据,推动了空间信息产业中的高可信软件的发展;Fatehah等人[36]提出了设计元模型和过程元模型,使用UPPAAL验证器对智能建筑进行形式化建模和验证.时空元数据及元建模技术的发展与应用已取得初步成果,但目前现有的研究多集中在智能建筑以及地理信息的应用[37],在汽车自动驾驶领域中关于元数据和元建模的研究工作较少.因此,本文根据自动驾驶的领域知识,不仅构建了带有自动驾驶领域特征的时空轨迹的元数据结构、时空轨迹数据的元模型、质量评价方法,为模型驱动和数据驱动的协同开发智能系统奠定了基础,还可用于指导该领域数据驱动的场景模型构建,这是本文工作与已有工作的不同之处.

在自动驾驶安全场景建模方法方面,现有的自动驾驶安全场景建模与仿真测试技术各有优势,关注点各不相同.其中,自动化及测试系统标准协会(Association for Standardization of Automation and Measuring Systems,简称ASAM)[16]组织了两个项目OpenScenario[17]和OpenDrive[18],OpenScenario 是一种开放文件格式,用于描述驾驶模拟应用程序中的动态内容,其静态内容由OpenDrive 所支持.此外,UC Berkeley 的Seshia 研究组设计了一种用于描述驾驶场景描述语言Scenic[10],并且能够借助DeepGTAV[38]在GTAV 模拟器上生成仿真场景.Rodrigo 等人[9]提出一种用于自动驾驶场景表示的开源领域特定语言GeoScenario,具有简单、可扩展的特点,主要用于构建驾驶场景模拟器的基础设施.Althoff[39]等人提出的CommonRoad 为自动驾驶场景描述创建了特定的文件格式,但是没有用于场景描述的特定领域描述语言DSL.Bach 等人[40]使用了图形化的建模技术进行场景建模,提出一种基于模型的自动驾驶功能开发和测试方法,但其目前能建模的场景元素非常少.总之,现有的自动驾驶场景建模虽然具有一定的优势,但也存在一些不足,比如缺乏可读性较好的建模描述语言、难以使用形式化方法对驾驶场景的安全性进行验证分析.本文的主要工作是提出一种时空轨迹数据驱动的自动驾驶场景建模方法,构建了ADS 领域的元数据模型,将高质量的时空轨迹数据引入到自动驾驶场景建模中,并结合ADSML 语言进行场景建模,使得自动驾驶场景建模可高度还原,帮助使用形式化方法对驾驶场景的安全性作实时评估.

5 总结展望

汽车自动驾驶、车联网、人工智能以及大数据等技术得到了空前的发展,然而数据爆炸式的增长及运行环境的开放、复杂性使得此类系统的安全问题变得日益严峻.此外,遥感、地理信息系统、全球导航卫星系统以及传感器等技术的高速发展,使得人们获得时空轨迹数据更加便利,但是,如何基于海量的数据实现汽车自动驾驶系统的安全场景建模,也是人们面临的主要挑战之一.针对以上问题,本文提出将时空轨迹数据进行统一、融合,提出一种面向自动驾驶领域的时空轨迹数据元建模方法,为安全场景的建模奠定了数据建模基础,便于实现数据的统一、处理、重用.结合我们前期的工作——自动驾驶安全场景建模语言ADSML,详细讨论了如何使用ADSML 实现场景实例化,案例应用表明,该方法能够有效地生成安全场景的抽象模型.以上工作为安全场景的抽象建模提供了一种时空轨迹数据驱动的安全场景建模方法,能够有效地建模ADS 的安全场景,构建场景模型库,为汽车自动驾驶的仿真、验证提供了一条便捷的途径.

在下一阶段的工作中,我们将重点关注如何使用STL 规约语言刻画场景中的行为约束,并结合统计模型检测技术分析、验证自动驾驶场景中的随机行为.其中,研究如何结合运行时验证与统计模型检测技术,用于分析STL 规约的正确性,对于验证分析自动驾驶场景模型的正确性具有重要意义,是我们未来工作的研究重点.

猜你喜欢
轨迹时空建模
解析几何中的轨迹方程的常用求法
跨越时空的相遇
基于FLUENT的下击暴流三维风场建模
《符号建模论》评介
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
镜中的时空穿梭
轨迹
轨迹
求距求值方程建模
玩一次时空大“穿越”