CN112560277A - 一种基于领域特定建模语言adsml的汽车自动驾驶场景建模方法 - Google Patents
一种基于领域特定建模语言adsml的汽车自动驾驶场景建模方法 Download PDFInfo
- Publication number
- CN112560277A CN112560277A CN202011533463.6A CN202011533463A CN112560277A CN 112560277 A CN112560277 A CN 112560277A CN 202011533463 A CN202011533463 A CN 202011533463A CN 112560277 A CN112560277 A CN 112560277A
- Authority
- CN
- China
- Prior art keywords
- scene
- automatic driving
- adsml
- automobile
- modeling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种基于领域特定建模语言ADSML的汽车自动驾驶场景建模方法,旨在建模汽车自动驾驶场景中的静态元素和实体动态行为,通过实现一种面向汽车自动驾驶的领域特定语言ADSML,支持用户在元编程系统MPS上创建汽车自动驾驶场景模型。具体步骤如下:根据汽车自动驾驶领域的时空轨迹数据集,构建面向汽车自动驾驶领域的时空轨迹数据元模型,用于描述时空轨迹数据的元数据信息;基于时空轨迹数据元模型,在MPS的语言平台实现ADSML的抽象语法及文本具体语法、图形化具体语法;定义并在MPS上实现ADSML的语义模型;在MPS的建模平台使用ADSML建模汽车自动驾驶场景。本发明提供了简单、易懂的自动驾驶场景建模方式,能够高效创建自动驾驶场景实例模型。
Description
技术领域
本发明属于汽车自动驾驶领域的场景建模,尤其涉及一种基于领域特定建模语言ADSML的汽车自动驾驶场景建模方法。
背景技术
信息物理融合系统(Cyber Physical System,CPS)是在传统的嵌入式系统上发展起来的一种复杂系统,是计算过程和物理过程的融合。CPS建模需要刻画计算进程与物理环境进行之间如何交互以及它们融合时所表现出的行为。CPS涉及连续的物理环境和离散的计算系统,两者实时交互,相互作用,故混成性是CPS系统行为的一个重要性质。随机性是CPS系统行为的另一重要性质,物理环境和用户行为的不确定性都会造成CPS系统的动态行为具有随机性。信息物理融合系统普遍应用于国防、交通、航空航天、医疗卫生等安全攸关的领域,对我国的信息化建设和工业发展起了巨大的推动作用。
高度自动化的自动驾驶车辆是输入目的地便自动执行驾驶任务,车辆本身负责环境认知和决策,不需要人类干预整个驾驶流程。城市道路交通环境十分复杂,在自动驾驶过程中可观测信息的类型多样,包含连续变量、离散变量等;实时更新数据量庞大;驾驶环境中实体类型多样化,例如自动车、人类驾驶车、交通标志、交通信号等。自动驾驶车辆可以结合周围路段信息定义自动车所属的场景,每当车辆到达行车路线中的一个新的路段意味着它正处于某个场景中,对于单个车辆而言,安全完成驾驶任务意味着经由驾驶路线上的所有驾驶场景都能保持安全。因此提取驾驶场景中的重要信息,并对场景进行抽象和划分至关重要。基于自动驾驶决策和复杂驾驶环境,我们所构建的抽象模型需捕捉必要的场景特征信息。这些信息可以用于规约系统模型中的不变式条件(guard condition)和安全性质(safety property),便于使用形式化方法对场景模型进行验证分析。
领域特定建模语言(Domain-Specific Modeling Language,DSML)是模型驱动(MDE)的核心,领域专家、软件开发人员越来越希望创建并开发领域建模语言用于解决与某一特定领域系统或解决某一特定领域相关的具体问题。简单地说,领域专家或系统开发人员希望使用更恰当、更与领域知识相关、与领域术语相关的语言及工具来建模复杂的领域系统。因此,DSML依赖某一领域的专业术语及专家经验,提供了与系统关注点更直接相关的抽象,从而减少了构造的系统模型与实际系统之间的差异性。DSML与传统的通用建模语言相比,往往更小,更聚焦于某一特定问题,服务于更小的对象,更面向问题本身,同时,由于关注的特定领域是在不断发展变化的,这些语言的演化与发展也往往更快一些。
元编程系统MPS(Meta Programming System)是JetBrains公司开发的语言工作台,是一种设计领域特定语言(Domain Specification Language,DSL)的工具,使用MPS可以为任何新语言定义一个自定义编辑器,以简洁、易懂的方式设计系统。即使是不熟悉传统编程的领域专家,也可以借助针对其所在领域研发的领域特定语言来设计系统、建立模型。MPS支持可组合的语言定义,这意味着语言可以被扩展和嵌入,并且这些扩展可以在MPS的同一程序中使用并起作用。MPS使用结构化编辑器(Structure Editor),使得语言设计者不需要为该语言实现语法解析器,可以专注于语法的设计以及语义的实现上,并且可以很方便的实现代码提示功能。
发明内容
本发明的目的是提出一种基于领域特定建模语言ADSML的汽车自动驾驶场景建模方法,旨在建模汽车自动驾驶场景中的静态元素和实体动态行为,通过实现一种面向汽车自动驾驶的领域特定语言ADSML,支持用户在元编程系统MPS建模平台上创建汽车自动驾驶场景模型。具体实施步骤如下:根据汽车自动驾驶领域的时空轨迹数据集,构建面向汽车自动驾驶领域的时空轨迹数据元模型,用于描述时空轨迹数据的元数据信息;基于时空轨迹数据元模型,基于元编程系统MPS实现面向汽车自动驾驶的场景建模语言ADSML的抽象语法及文本具体语法、图形化具体语法;定义并在元编程系统MPS上实现面向汽车自动驾驶的场景建模语言ADSML的语义模型;在元编程系统MPS的建模平台使用面向汽车自动驾驶的场景建模语言ADSML建模汽车自动驾驶场景。
实现本发明目的的具体技术方案是:
一种基于领域特定建模语言ADSML的汽车自动驾驶场景建模方法,该建模方法包括以下具体步骤:
S1:构建时空轨迹数据元模型;
S2:基于时空轨迹数据元模型,结合自动驾驶的领域知识,定义面向汽车自动驾驶的场景建模语言ADSML的元模型,即抽象语法;
S3:定义并在元编程系统MPS上实现面向汽车自动驾驶的场景建模语言ADSML的文本具体语法和图形化的具体语法;
S4:定义并在元编程系统MPS上实现面向汽车自动驾驶的场景建模语言ADSML的语义信息;
S5:使用面向汽车自动驾驶的场景建模语言ADSML创建汽车自动驾驶场景实例模型。
所述步骤S1具体包括:
S11:根据汽车自动驾驶领域的时空轨迹数据集,将具有高空间分辨率、高时间分辨率、高光谱分辨率、高精准时空标识及多维数据,进行抽象、融合,构建时空轨迹数据的元模型。
所述步骤S2具体包括:
S21:根据时空轨迹数据元模型,将面向汽车自动驾驶的场景建模语言划分为三大子模块:场景静态元素描述子模块、契约子模块和特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机子模块;
S22:分析场景的静态实体元素,将场景静态元素映射为元编程系统MPS中表示抽象语法的组件Concept;
S23:定义契约用于描述实体应遵循的规则和实体的行为,将契约映射为元编程系统MPS中表示抽象语法的组件Concept;
S24:定义特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机,用于描述面向汽车自动驾驶的场景建模语言ADSML中实体的动态行为,将随机混成自动机映射为元编程系统MPS中表示抽象语法的组件Concept。
所述步骤S3具体包括:
S31:在元编程系统MPS的Editor组件中完成场景静态元素的文本具体语法的定义,并提供场景实时渲染的可视化预览界面;
S32:在元编程系统MPS的Editor组件中完成契约的文本具体语法定义,场景静态元素描述子模块文本具体的BNF范式;
S33:在元编程系统MPS的Editor组件中完成特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机的图形化具体语法定义。
所述步骤S4具体包括:
S41:面向汽车自动驾驶的场景建模语言ADSML使用随机混成自动机来描述自动驾驶场景中的动态行为,将随机混成自动机扩展为特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机ADSHA,对ADSHA的操作语义进行定义。
所述步骤S5具体包括:
S51:分析具体的自动驾驶场景中包含的静态元素和实体的动态行为;
S52:基于元编程系统MPS平台,创建建模项目,使用面向汽车自动驾驶的场景建模语言ADSML来建模具体的汽车自动驾驶场景。
本发明提供了简单、易懂的自动驾驶场景建模方法,帮助自动驾驶研究人员高效创建自动驾驶场景实例模型。
附图说明
图1为本发明框架图;
图2为本发明所实现语言的元模型图;
图3为实施例建模的跟车场景示意图;
图4为实施例建模的跟车场景地图信息设定示意图;
图5为实施例建模的跟车场景道路网信息设定示意图;
图6为实施例建模的跟车场景实体信息设定示意图;
图7为实施例建模的跟车场景预览图;
图8为实施例建模的跟车场景实契约信息设定示意图;
图9为实施例建模的跟车场景随机混成自动机全局变量定义示意图;
图10为实施例建模的跟车场景随机混成自动机变量更新函数定义示意图;
图11为实施例建模的跟车场景随机混成自动机Ego组件局部声明示意图;
图12为实施例建模的跟车场景车随机混成自动机Ego组件状态转换示意图;
图13为实施例建模的跟车场景随机混成自动机System组件示意图;
图14为实施例建模的跟车场景随机混成自动机Monitor组件示意图;
图15为实施例建模的跟车场景随机混成自动机Front组件局部声明示意图;
图16为实施例建模的跟车场景随机混成自动机Front组件状态转换示意图;
图17为实施例建模的跟车场景随机混成自动机模块完整结构图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述实施例。
实施例
跟车系统是典型的汽车自动驾驶场景,可以使用面向汽车自动驾驶的场景建模语言ADSML对其场景静态元素和实体动态行为进行建模。下面结合具体实施例和附图,对本发明提出的一种基于领域特定建模语言ADSML的汽车自动驾驶场景建模方法,作进一步说明。
本发明的框架如图1所示,主要分为两部分:面向汽车自动驾驶的场景建模语言ADSML语言设计和ADSML实例模型创建。首先,基于元编程系统MPS的语言平台实现面向汽车自动驾驶的场景建模语言ADSML的各个组成部分,包括:抽象语法、具体语法及操作语义。如图1所示,该方法的理论基础是模型驱动工程,实现工具是元编程系统MPS,本发明从汽车自动驾驶时空元数据中提取出建模元素并抽象出汽车自动驾驶场景元模型,建模具体场景时首先分析场景内容,然后通过MPS的建模平台将建模出面向汽车自动驾驶的场景建模语言ADSML的实例模型。
1、为了建模汽车自动驾驶场景中的静态元素和实体动态行为,需要分析并抽象出所需的各种建模元素以及关系,包含场景静态元素、契约和特定于ADSML的随机混成自动机三个模块的建模元素,如图2所示是汽车自动驾驶场景的元模型,表示建模元素和建模元素间的关系,下面将介绍建模、建模元素的具体内容:
·场景静态元素包含的内容为:
(1)地图中的坐标点Point,Point包含参数:x和y,分别表示横轴位置和纵轴位置;
(2)实体的位置Location,包含固定参数:x和y,分别表示横轴位置和纵轴位置;可选参数relativeTo,表示相对位置的参考系实体;Point用于组成道路边界以及道路交通标志线;
(3)地图信息Map,Map的值为外部场景地图文件路径,地图文件路径仅能通过文件选择器选择,否则为None,None表示不从外部文件导入地图信息;
(4)天气信息Weather,包含参数:天气阴晴度cloudiness、降雨量precipitation、地面积水程度precipitation_deposits、风力强度wind_intensity、太阳方位角sun_azimuth_angle和太阳高度角sun_altitude_angle;cloudiness取值范围是[0,1],数值越大表示天气越晴朗;precipitation取值范围是[0,1],数值越大表示降雨量越大;wind_intensity取值范围是[0,1],数值越大表示风力越强;sun_azimuth_angle取值方位是[0,360],与地学概念中的太阳方位角保持一致;sun_altitude_angle的取值范围是[0,90],与地学概念中的太阳高度角保持一致;
(5)道路网络RoadNetwork,用于描述地图上所有道路组成的网络,由多条道路Road组成;
(6)道路Road,用于描述一条道;表示形式通过道路左边界Left Boundary、道路右边界Right Boundary和道路交通标志线列表,道路边界及道路交通标志线都是由一系列Point组成;
(7)实体列表Entities,由一系列实体Entity组成,Entity的定义如8)所描述;
(8)实体Entity,包含车辆Vehicle、行人Pedestrian、交通标识TrafficSign和交通灯TrafficLight,每个实体公共属性包含:rotation、location,分别表示实体的朝向角度、实体的位置;Vehicle和Pedestrian还包含属性:speed、acceleration、goal,分别表示实体的速度、实体的加速度、实体的目标运动位置;rotation的取值范围是[0,360];location和goal属于2)中描述的Location元素,描述地图中的绝对位置或者描述相对于其他实体的相对位置;Speed的单位固定为m/s,acceleration的单位固定为m/s^2;
·契约Contract是承载了部分实体动态行为,契约有两种形式,分别是规则Rule和事件Event,每条契约包含一个参数ref,指向它所约束的Entity,具体建模元素包含:
(1)条件Condition,Rule和Event中所使用的条件,取值为{true,false};
(2)语句Statement,用于Entity的中参数的更新,是组成的Event中动作的基本元素;
(3)规则Rule,用于描述场景中实体包含的参数必须满足的条件Condition,否则视为不安全场景;
(4)事件Event,用于描述场景中实体在达到指定条件Condition时触发的动作,以when[condition]do[action]的形式描述,condition是Condition类型,action由一系列Statement组成,当condition为true时,执行action以更新实体参数;
·特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机是描述汽车自动驾驶场景中实体动态行为的主要模块,其内容包含:
(1)在元编程系统MPS中定义特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机所包含的所有建模元素,包括:AutomataTemplate、Location、Branchpoint、Transition、Declaration和System,分别表示随机混成自动机模板、状态、概率迁移分支点、状态迁移、模型声明和系统声明;
(2)为第(1)中定义的随机混成自动机添加特定于面向汽车自动驾驶的场景建模语言ADSML的元素,即在AutomataTemplate中添加它所建模动态行为的对象Entity,通过参数for指向该Entity。
2、为了建模汽车自动驾驶场景中的静态元素和实体动态行为,需要给出面向汽车自动驾驶的场景建模语言ADSML建模的具体语法,面向汽车自动驾驶的场景建模语言ADSML的文本具体语法使用BNF范式表示,具体内容包含:
·场景静态元素具体语法的BNF范式:
(1)Scenario::=“[”<Map><Weather><RoadNetwork><Entities>“]”
(2)Map::=“map:”<String>
(3)Weather::=“[”<Cloudiness><Precipitation><PrecipitationDeposits><SunAltitudeAngle><SunAzimuthAngle><WindIntensity>“]”
(4)Cloudiness::=“cloudiness”:<float>
(5)Precipitation::=“precipitation”:<float>
(6)PrecipitationDeposits::=“precipitationDeposits”:<float>
(7)SunAltitudeAngle::=“sunAltitudeAngle”:<float>
(8)SunAzimuthAngle::=“sunAzimuthAngle”:<float>
(9)WindIntensity::=“windIntensity”:<float>
(10)RoadNetwork::=“[”{Road}“]”
(11)Road::=“name:”<String><LeftBoundary><RightBoundary><RoadLines>
(12)LeftBoundary::={Location}
(13)RightBoundary::={Location}
(14)RoadLines::={Location}
(15)Location::=“(”<float>“,”<float>“)”
(16)RelativeLocation::=<Location>“relativeto”<EntityRef>
(17)EntityRef::=<String>
(18)Entities::={Entity}
(19)Entity::=“name:”<String><Speed><Acceleration><Rotation><Location|RelativeLocation><Goal>
(20)Speed::=“speed:”<Float>
(21)Acceleration::=“acceleration:”<Float>
(22)Rotation::=“rotation:”<Float>
(23)Goal::=<Location|RelativeLocation>
·契约的BNF范式:
(1)ContractList::=“[”{Contract}“]”
(2)Contract::=“[”“attachto”<EntityRef>{Rule}{Event}“]”
(3)Rule::=<Predicate>
(4)Event::=“when”<Condition>“do”<Action>
(5)Predicate::=<p|Predicate“and”Predicate|Predicate“or”Predicate|“not”Predicate|Predicate“apply”Predicate>(其中p为命题变元)
(6)Condition::=<LessThan|Equals|GreaterThan|“not”Condition|Condition“and”Condition|Condition“or”Condition>
(7)LessThan::=<Numeric>“<”<Numeric>
(8)Equals::=<Numeric>“==”<Numeric>
(9)GreaterThan::=<Numeric>“>”<Numeric>
(10)Action::={Expression}(其中Expression使用的是元编程系统MPS中的表达式系统)。
3、为了描述特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机模型的具体含义,需要给出特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机ADSHA的操作语义,主要内容如下:
首先需要给出ADSHA中单个随机混成自动机模板AutomataTemplate的形式化语法(FormalGrammar),然后使用形式化的规则来描述ADSHA的操作语义:
(1)首先给出AutomataTemplate的形式化语法,AutomataTemplate设定为一个五元组(S,→,L,S0,O)
·S:表示状态集合,它也是一个(l,v,c),其中l表示位置location,v表示变量集合,c表示时钟。其中v={vuser_define∪ventity},vuser_define表示用户使用ADSHA建模随机混成自动机时定义的变量,ventity表示AutomataTemplate所绑定的Entity在Scenario中设定好的变量,对于交通工具Vehicle和行人Pedestrian类型的Entity其ventity中包含速度speed、加速度acceleration、朝向rotation、当前实体在地图中的横轴位置location_x、当前实体在地图中的纵轴位置location_y、当前实体目的地在地图中的横轴位置goal_x、当前实体目的地在地图中的纵轴位置goal_y,形式化表示则为ventity={speed,acceleration,rotation,location_x,location_y,goal_x,goal_y},对于交通灯TrafficLight类型的Entity其ventity包含颜色信号color,形式化表示为ventity={color},color的取值为{red|green|yellow}。此外还有一些跟状态相关的符号表示,OT(s,t)表示有一条以s为源状态的迁移边t,R(s,o)表示状态s与一个ODE o相关联;
·→:State×Labels×State表示源状态和目标状态之间的迁移。迁移分为两类普通迁移CommonTransition和概率迁移ProbabilityTransition;
·L:表示迁移标签的集合{e,c,a,p},其中e表示触发事件,c表示触发条件,a表示动作,p表示概率。e可以是某个单纯的触发事件,也可以是具有并发性质的同步事件,即e!与e?。契约Contract中Event也包含触发条件和动作,且Contract中Event可作为可选的迁移标签,因此L={Luser_define∪Lcontract_event},Luser_define表示用户使用AutomataTemplate建模随机混成自动机时定义的迁移标签,Lcontract_event表示AutomataTemplate所绑定的Entity在Scenario中设定好的契约事件;
·S0:表示初始状态集合;
·O:表示常微分方程ODE的集合。ODE是一个三元组{f,c,i},其中f表示函数,c表示约束条件,i表示求解区间。i同样是一个元组{il,ir,step},il表示区间左值,ir表示区间右值,step表示求解区间的子区间长度。状态集合中的五元组就是根据ODE等式发生变化的。
(2)随机混成自动及操作语义
语义上,ADSHA包含两种操作语义规则:调用常微分方程和状态之间的迁移的操作语义规则。
规则1.调用ODE等式:
规则2.状态迁移:
下面针对以上规则进行解释说明:
·规则1:调用ODE等式
规则CT1表示AutomataTemplate的当前状态s(l,v,c),当某个触发事件发生时(触发条件可以是某个判定条件为真,也可以是发生了同步事件),状态s处没有迁移可以满足约束条件(v,c=g)使其被触发,即没有满足条件的迁移。但是,状态s与一个OED o关联,这意味着o能改变v的值,使v变成v′=v+f(△step),其中,f是o的函数名称,△step是ODE o的子区间长度。执行引擎会根据用户设定的子区间长度,每△step步长更新变量值v′,而一旦新的变量值满足状态s处的约束条件,状态s就会迁移到下一个状态s′(l′,v′,c′)。
·规则2:状态迁移
规则CT2表示若当前状态s(l,v,c),当某个触发事件e发生时,它能触发使能迁移,实现状态迁移到另一个状态s′(l′,v′,c′)。规则CT3表示若当前状态s(l,v,c),当事件e触发某个使能迁移,状态s能够迁移到状态s′(l′,v′,c′),这时首先会判断s′是否存在一条出边可以立即被触发,若存在这样的使能迁移,那么s′会跳转到下一个状态s″(l″,v″,c″)。规则PT2、PT3与规则CT2、CT3的描述是类似的,只是当前状态S的使能迁移具有概率值p,表示迁移发生的概率。
3、在进行场景建模前需要对场景内容进行分析,实施例的跟车场景如图3所示,场景具体内容如下:
跟车场景是同一车道上前后车——Ego和Front车跟车场景,其中Ego是受控车,Front是非受控车,该实施例。两车前行的最高速度都为20m/s,后退的最高速度都为10m/s。两车的加速度有三种可能的取值:-2m/s2、0m/s2和2m/s2,该场景的示意图如图3所示。两车距离在大于5m时视为安全距离。Ego车传感器的可探测距离为200m,当两车距离超过200m时,两车之间被视为far away状态,Front车速度可以以小于Ego车速度行驶一段时间后重新进入Ego车传感器的可探测范围。
4、为了建模跟车场景中的场景静态元素和实体动态行为,需要在元编程系统MPS中创建包含面向汽车自动驾驶的场景建模语言ADSML环境的沙盒Sandbox作为面向汽车自动驾驶的场景建模语言ADSML的建模平台,然后在建模平台中创建创建符合特定于汽车自动驾驶的场景建模语言ADSML的场景模型;
5、首先使用面向汽车自动驾驶的场景建模语言ADSML建模本实施例中的场景元素以及场景中实体的契约:
·根据对跟车场景的分析——两车最大前行速度20m/s以及模拟时间100s,设置地图长度为1000m、宽度为60m,地图参数设定如图4所示;
·由于在该实施例中天气因素未被使用,因此天气参数保留默认值;
·道路网中只包含一条宽8m、长1000m的两车道双向直道,Ego和Front两车往东方向在右车道行驶,道路网参数设定如图5所示;
·Ego和Front两车是场景中的实体,两车初始速度为0m/s,初始加速度为0m/s2,在后续定义的随机混成自动机模型的仿真过程中两车加速度和速度将会发生动态变化。两车初始位置相距10m,由于场景中所描述的实体位置是实体的中心位置,两车跟车距离为Ego车头位置和Front车尾位置的距离,因此两车的距离为初始距离(10m)与车身长度(3.8m)之和,即为13.8m。场景实体的设定如图6所示。至此,完成了场景元素的设定,该实施例的场景预览图如图7所示;
·该场景对车辆速度与加速度进行了约束,此约束使用契约中的规则进行设定,如图8所示;
6、场景定义完成之后需要对场景中的实体建模其动态行为,使用特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机进行建模。该实时例中,需要建模四个随机混成自动机组件:Ego车模型、Front车模型、监听器Monitor模型和系统模型。System模型通过信道chooseEgo和chooseFront通知两车加减速状态(包含Positive_acc加速状态、Negative_acc减速状态和No_acceleration匀速状态)的更新;Ego模型在接收到chooseEgo信号后将从原来的加减速状态跳转至加减速选择状态,立即进行加减速的选择,并且选择过程不耗时;Front模型加减速的选择与Ego模型一致,但Front包含一个额外的Faraway状态,在该状态上Front可能选择减速重新进入Ego车探测范围或不减速保持Faraway状态;在该随机混成自动机网络模型的全局声明中定义了两组变量,分别以离散和连续两种形式记录Ego和Front速度与距离的信息,Monitor模型借助ODE等式对Ego模型和Front模型上的连续变量进行更新,以观测Ego模型和Front模型上离散变量的更新是否符合预期。图9-图17是在面向汽车自动驾驶的场景建模语言ADSML中对该场景下自动机建模的图示。
以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围之内。
Claims (6)
1.一种基于领域特定建模语言ADSML的汽车自动驾驶场景建模方法,其特征在于,该建模方法包括以下具体步骤:
S1:构建时空轨迹数据元模型;
S2:基于时空轨迹数据元模型,结合自动驾驶的领域知识,定义面向汽车自动驾驶的场景建模语言ADSML的元模型,即抽象语法;
S3:定义并在元编程系统MPS上实现面向汽车自动驾驶的场景建模语言ADSML的文本具体语法和图形化的具体语法;
S4:定义并在元编程系统MPS上实现面向汽车自动驾驶的场景建模语言ADSML的语义信息;
S5:使用面向汽车自动驾驶的场景建模语言ADSML创建汽车自动驾驶场景实例模型。
2.根据权利要求1所述的汽车自动驾驶场景建模方法,其特征在于,所述步骤S1具体包括:
S11:根据汽车自动驾驶领域的时空轨迹数据集,将具有高空间分辨率、高时间分辨率、高光谱分辨率、高精准时空标识及多维数据,进行抽象、融合,构建时空轨迹数据的元模型。
3.根据权利要求1所述的汽车自动驾驶场景建模方法,其特征在于,所述步骤S2具体包括:
S21:根据时空轨迹数据元模型,将面向汽车自动驾驶的场景建模语言划分为三大子模块:场景静态元素描述子模块、契约子模块和特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机子模块;
S22:分析场景的静态实体元素,将场景静态元素映射为元编程系统MPS中表示抽象语法的组件Concept;
S23:定义契约用于描述实体应遵循的规则和实体的行为,将契约映射为元编程系统MPS中表示抽象语法的组件Concept;
S24:定义特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机,用于描述面向汽车自动驾驶的场景建模语言ADSML中实体的动态行为,将随机混成自动机映射为元编程系统MPS中表示抽象语法的组件Concept。
4.根据权利要求1所述的汽车自动驾驶场景建模方法,其特征在于,所述步骤S3具体包括:
S31:在元编程系统MPS的Editor组件中完成场景静态元素的文本具体语法的定义,并提供场景实时渲染的可视化预览界面;
S32:在元编程系统MPS的Editor组件中完成契约的文本具体语法定义,场景静态元素描述子模块文本具体的BNF范式;
S33:在元编程系统MPS的Editor组件中完成特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机的图形化具体语法定义。
5.根据权利要求1所述的汽车自动驾驶场景建模方法,其特征在于,所述步骤S4具体包括:
S41:面向汽车自动驾驶的场景建模语言ADSML使用随机混成自动机来描述自动驾驶场景中的动态行为,将随机混成自动机扩展为特定于面向汽车自动驾驶的场景建模语言ADSML的随机混成自动机ADSHA,对ADSHA的操作语义进行定义。
6.根据权利要求1所述的汽车自动驾驶场景建模方法,其特征在于,所述步骤S5具体包括:
S51:分析具体的自动驾驶场景中包含的静态元素和实体的动态行为;
S52:基于元编程系统MPS平台,创建建模项目,使用面向汽车自动驾驶的场景建模语言ADSML来建模具体的汽车自动驾驶场景。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011533463.6A CN112560277B (zh) | 2020-12-23 | 2020-12-23 | 一种基于领域特定建模语言adsml的汽车自动驾驶场景建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011533463.6A CN112560277B (zh) | 2020-12-23 | 2020-12-23 | 一种基于领域特定建模语言adsml的汽车自动驾驶场景建模方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112560277A true CN112560277A (zh) | 2021-03-26 |
CN112560277B CN112560277B (zh) | 2022-09-30 |
Family
ID=75030837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011533463.6A Active CN112560277B (zh) | 2020-12-23 | 2020-12-23 | 一种基于领域特定建模语言adsml的汽车自动驾驶场景建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560277B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468203A (zh) * | 2021-04-29 | 2021-10-01 | 华东师范大学 | 基于循环神经网络与注意力机制的金融用户画像方法 |
CN113672206A (zh) * | 2021-09-02 | 2021-11-19 | 北京航空航天大学 | 一种x语言混合建模平台及建模方法 |
CN113986201A (zh) * | 2021-09-30 | 2022-01-28 | 南京航空航天大学 | 一种基于rucm的自动驾驶系统需求建模方法 |
CN116414376A (zh) * | 2023-03-01 | 2023-07-11 | 杭州华望系统科技有限公司 | 一种基于通用建模语言的领域元模型构建方法 |
CN118312156A (zh) * | 2024-06-07 | 2024-07-09 | 中国人民解放军国防科技大学 | 一种新型领域特定行为建模的模型开发方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108760332A (zh) * | 2018-05-14 | 2018-11-06 | 公安部交通管理科学研究所 | 基于场地驾驶的自动驾驶汽车测试场景构建方法 |
CN109359331A (zh) * | 2018-09-07 | 2019-02-19 | 华东师范大学 | 基于可执行领域特定建模语言xSHS的CPS动态行为建模与仿真方法 |
CN110597711A (zh) * | 2019-08-26 | 2019-12-20 | 湖南大学 | 一种基于场景和任务的自动驾驶测试用例生成方法 |
CN111240325A (zh) * | 2020-01-14 | 2020-06-05 | 大连海事大学 | 一种基于航行态势本体建模的无人驾驶船舶场景理解方法 |
-
2020
- 2020-12-23 CN CN202011533463.6A patent/CN112560277B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108760332A (zh) * | 2018-05-14 | 2018-11-06 | 公安部交通管理科学研究所 | 基于场地驾驶的自动驾驶汽车测试场景构建方法 |
CN109359331A (zh) * | 2018-09-07 | 2019-02-19 | 华东师范大学 | 基于可执行领域特定建模语言xSHS的CPS动态行为建模与仿真方法 |
CN110597711A (zh) * | 2019-08-26 | 2019-12-20 | 湖南大学 | 一种基于场景和任务的自动驾驶测试用例生成方法 |
CN111240325A (zh) * | 2020-01-14 | 2020-06-05 | 大连海事大学 | 一种基于航行态势本体建模的无人驾驶船舶场景理解方法 |
Non-Patent Citations (2)
Title |
---|
杜德慧 等: ""基于SHML的CPS行为建模及仿真"", 《软件学报》 * |
秦严严等: ""车联网环境下自动驾驶交通流建模与分析"", 《武汉科技大学学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468203A (zh) * | 2021-04-29 | 2021-10-01 | 华东师范大学 | 基于循环神经网络与注意力机制的金融用户画像方法 |
CN113468203B (zh) * | 2021-04-29 | 2022-10-04 | 华东师范大学 | 基于循环神经网络与注意力机制的金融用户画像方法 |
CN113672206A (zh) * | 2021-09-02 | 2021-11-19 | 北京航空航天大学 | 一种x语言混合建模平台及建模方法 |
CN113672206B (zh) * | 2021-09-02 | 2024-04-02 | 北京航空航天大学 | 一种x语言混合建模平台及建模方法 |
CN113986201A (zh) * | 2021-09-30 | 2022-01-28 | 南京航空航天大学 | 一种基于rucm的自动驾驶系统需求建模方法 |
CN116414376A (zh) * | 2023-03-01 | 2023-07-11 | 杭州华望系统科技有限公司 | 一种基于通用建模语言的领域元模型构建方法 |
CN116414376B (zh) * | 2023-03-01 | 2023-09-15 | 杭州华望系统科技有限公司 | 一种基于通用建模语言的领域元模型构建方法 |
CN118312156A (zh) * | 2024-06-07 | 2024-07-09 | 中国人民解放军国防科技大学 | 一种新型领域特定行为建模的模型开发方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112560277B (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112560277B (zh) | 一种基于领域特定建模语言adsml的汽车自动驾驶场景建模方法 | |
Queiroz et al. | GeoScenario: An open DSL for autonomous driving scenario representation | |
Wang et al. | Parallel vision for long-tail regularization: Initial results from IVFC autonomous driving testing | |
CN109991987B (zh) | 自动驾驶决策方法及装置 | |
CN110376594A (zh) | 一种基于拓扑图的智能导航的方法和系统 | |
CN106198049A (zh) | 真实车辆在环测试系统和方法 | |
Niranjan et al. | Deep learning based object detection model for autonomous driving research using carla simulator | |
Kohlhaas et al. | Semantic state space for high-level maneuver planning in structured traffic scenes | |
US20230415787A1 (en) | Method and apparatus for generating a simulation scene, electronic device and storage medium | |
CN113272744A (zh) | 用于监测自动驾驶车辆的适当行为的系统及其方法 | |
Huang et al. | Ontology-based driving scene modeling, situation assessment and decision making for autonomous vehicles | |
Gómez-Huélamo et al. | Train here, drive there: ROS based end-to-end autonomous-driving pipeline validation in CARLA simulator using the NHTSA typology | |
CN104760592A (zh) | 机动车决策控制方法 | |
Erz et al. | Towards an ontology that reconciles the operational design domain, scenario-based testing, and automated vehicle architectures | |
Jiao et al. | A general autonomous driving planner adaptive to scenario characteristics | |
CN112732671B (zh) | 一种时空轨迹数据驱动的自动驾驶安全场景元建模方法 | |
Hou et al. | Twin scenarios establishment for autonomous vehicle digital twin empowered sotif assessment | |
Dokur et al. | CARLA Connect: A Connected Autonomous Vehicle (CAV) Driving Simulator | |
Jiao et al. | Reliable autonomous driving environment model with unified state-extended boundary | |
Li | A scenario-based development framework for autonomous driving | |
CN116384150A (zh) | 一种面向自动驾驶系统的测试用例生成方法及系统 | |
Ruano Miralles | An open-source development environment for self-driving vehicles | |
CN115695473A (zh) | 一种智能网联汽车仿真测试场景的本体构建方法 | |
Jia et al. | Bench2Drive: Towards Multi-Ability Benchmarking of Closed-Loop End-To-End Autonomous Driving | |
Du et al. | Towards verified safety-critical autonomous driving scenario with adsml |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |