一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟测试场景构建方法及装置与流程

2022-03-04 22:27:40 来源:中国专利 TAG:


1.本技术涉及测试领域,尤其涉及一种虚拟测试场景构建方法及装置。


背景技术:

2.为保障行驶安全性,无人驾驶车辆上路前需要经过充分测试,如在虚拟测试场景中进行测试。目前,可以采用如下方法构建虚拟测试场景:从自然驾驶数据中提取虚拟测试场景、基于专家经验生成虚拟测试场景。
3.然而,由于自然驾驶数据是一种回放测试,背景车流的所有行驶轨迹不能改变,导致背景车流与无人驾驶车辆不能双向交互,如对无人驾驶车辆的驾驶行为作出反应。并且,上述基于专家经验生成虚拟测试场景的方案存在如下问题:由于虚拟测试场景分类的主观性,导致难以覆盖所有测试场景,且虚拟测试场景是计算机通过参数组合遍历方式构建的,仅考虑了各参数本身的合理取值,而没有考虑参数间的关联性,导致生成大量不合理的虚拟测试场景。也就是说,基于上述两种方法构建的虚拟测试场景存在不能与无人驾驶车辆交互、不完备、不合理等问题,从而导致无人驾驶车辆的虚拟测试效率低下。


技术实现要素:

4.本技术实施例提供一种虚拟测试场景构建方法及装置,可以解决构建的虚拟测试场景存在不能与无人驾驶车辆交互、不完备、不合理的问题,能够提高无人驾驶车辆的虚拟测试效率。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,提供一种虚拟测试场景构建方法。该虚拟测试场景构建方法包括:结合道路规范和专家经验构建静态本体模型。其中,静态本体模型用于描述静态本体的设计约束,该静态本体包括如下一项或多项:道路拓扑、道路基础设施、交通管制、或环境。基于静态本体模型构建动态本体模型。其中,动态本体模型用于描述动态本体的行为约束,该动态本体包括如下一项或多项:车辆、行人、或动物。结合交通流仿真,根据静态本体的设计约束和动态本体的行为约束确定动态本体的行驶轨迹。生成测试场景模型。其中,测试场景模型包括行驶轨迹,该行驶轨迹用于测试无人驾驶车辆的驾驶行为是否满足设计需求。
7.基于第一方面提供的虚拟测试场景构建方法,结合专家经验和道路规范构建的静态本体模型可以体现静态本体间的设计约束,可以解决构建出的虚拟测试场景因不符合道路规范而导致的计算机遍历出的参数组合的取值不合理的问题。并且,基于该静态本体模型构建的动态本体模型可以体现动态本体与静态本体间的行为约束,进而基于上述行为约束和交通流仿真确定动态本体的行驶轨迹,可以解决基于自然驾驶数据提取的虚拟测试场景中的动态本体不能与无人驾驶车辆动态交互的问题,且可以剔除动态本体的不合理行为。如此,可以构建出大量合理、完备,且可以与无人驾驶车辆动态交互的虚拟测试场景,能够提高无人驾驶车辆的测试效率。
8.一种可能的设计方案中,上述结合道路规范和专家经验构建静态本体模型,可以
包括:定义静态本体类。其中,静态本体类用于描述静态本体对应的如下一项或多项:虚拟测试场景、道路、分隔带、车道、交通标志、天气、或光照条件。定义静态对象属性和静态数据属性。其中,静态对象属性用于描述静态本体类间的映射关系,静态数据属性用于描述静态本体类的参数集合。定义静态设计规则。其中,静态设计规则用于描述静态本体类、静态对象属性和静态数据属性之间的映射关系,静态设计规则用于确定生成的虚拟测试场景的合理性。基于定义的静态对象属性和静态设计规则,可以用于约束静态本体,使得有映射关系的静态本体之间关联起来。如此,在静态本体模型生成静态场景的过程中,可以考虑静态本体间的关联性,进而生成合理的静态场景。
9.可选地,上述静态本体的设计约束可以包括如下一项或多项:道路间位置关系、道路与车道间位置关系、车道间位置关系、车道与分隔带间位置关系、车道线的位置和类型与车道和/或分隔带间的约束关系、交通标志与车道和/或分隔带间的位置关系。由于是通过道路规范相关的设计约束定义静态对象属性和静态设计规则,当道路规范更新时,只需根据新的设计约束重新定义静态对象属性和静态设计规则,方便修改构建的静态本体模型。
10.进一步地,上述基于静态本体模型构建动态本体模型,可以包括:定义动态本体类。其中,动态本体类用于描述动态本体对应的如下一项或多项:车辆、行人、或动物。定义动态对象属性和动态数据属性。其中,动态对象属性用于描述动态本体类间的映射关系,以及动态本体与静态本体间的约束关系,动态数据属性用于描述动态本体类的参数集合。定义动态设计规则。其中,动态设计规则用于描述动态本体类、动态对象属性和动态数据属性之间的映射关系,动态设计规则用于确定生成的测试场景的合理性。通过定义动态对象属性和动态设计规则来约束动态本体,使得有映射关系的动态本体间以及动态本体与静态本体间关联起来。如此,在动态本体模型生成动态场景的过程中,会考虑动态本体间以及动态本体与静态本体间的关联性,进而生成合理的动态场景。
11.可选地,上述动态本体的行为约束可以包括如下一项或多项:车辆与车道间位置关系、车辆间位置关系、车辆限速、车辆行驶方向约束、车辆转向约束、车辆换道约束、车辆切入约束、车辆切出约束。由于是通过驾驶行为规范相关的行为约束定义动态对象属性和动态设计规则,当驾驶行为规范更新时,只需根据新的行为约束重新定义动态对象属性和动态设计规则,方便修改构建的动态本体模型。
12.再进一步地,上述结合交通流仿真,根据静态本体的设计约束和动态本体的行为约束确定动态本体的行驶轨迹,可以包括:根据静态本体的设计约束、动态本体的行为约束和场景设计需求,确定动态本体的初始状态。结合交通流仿真,根据动态本体的初始状态确定动态本体的行驶轨迹。通过确定动态本体的初始状态和行驶轨迹,在动态场景中可以体现各交通参与者间复杂的动态交互。如此,无人驾驶车辆在虚拟测试场景测试时,可以获得满足设计的交互测试数据,能够提高无人驾驶车辆的虚拟测试效率。
13.可选地,上述根据静态本体的设计约束和动态本体的行为约束确定动态本体的初始状态,可以包括:根据静态本体的设计约束、动态本体的行为约束和场景设计需求,以及测试目标和动态本体的行为模型,确定动态本体的初始状态。
14.可选地,上述动态本体的行为模型可以包括如下一项或多项:跟驰模型、换道模型、信号灯反应模型、随机干扰模型、公交与行人行为模型、间隙接受模型、汇入模型、协作模型、或冲突避让模型。
15.一种可能的设计方案中,第一方面提供的虚拟测试场景构建方法还可以包括:获取无人驾驶车辆在第一测试场景下的驾驶行为。确定第二测试场景。其中,第二测试场景为第一测试场景中无人驾驶车辆的驾驶行为不满足设计需求的测试场景。对第二测试场景对应的参数区间进行加密采样,以生成第三测试场景。针对第三测试场景进行测试。通过粗粒度参数取值构建第一测试场景,并根据无人驾驶车辆在第一测试场景下的驾驶行为,对驾驶行为不满足设计需求的第一测试场景对应的参数区间进行加密采样,生成第三测试场景。如此,定向对不满足设计要求的虚拟测试场景进行多次采样测试,可以解决因参数取值过细而构建的虚拟测试场景过多,导致测试效率较低的问题,能够提高无人驾驶车辆的虚拟测试效率与测试针对性,相比于传统的基于人类驾驶行为的测试场景设计,更适用于无人驾驶测试。
16.一种可能的设计方案中,第一方面提供的虚拟测试场景构建方法还可以包括:基于静态本体与动态本体间的交互关系,为虚拟测试场景添加标签。其中,标签用于管理虚拟测试场景。通过对虚拟测试场景做标签化的处理,比如按照虚拟测试场景的功能或者危险程度分类,便于在虚拟测试场景库中进行管理。
17.第二方面,提供一种虚拟测试场景构建装置。该虚拟测试场景构建装置包括:构建模块、确定模块和生成模块。其中,构建模块,用于结合道路规范和专家经验构建静态本体模型。其中,静态本体模型用于描述静态本体的设计约束。静态本体包括如下一项或多项:道路拓扑、道路基础设施、交通管制、或环境。构建模块,还用于基于静态本体模型构建动态本体模型。其中,动态本体模型用于描述动态本体的行为约束,动态本体包括如下一项或多项:车辆、行人、或动物。确定模块,用于结合交通流仿真,根据静态本体的设计约束和动态本体的行为约束确定动态本体的行驶轨迹。生成模块,用于生成测试场景模型。其中,测试场景模型包括行驶轨迹,行驶轨迹用于测试无人驾驶车辆的驾驶行为是否满足设计需求。
18.一种可能的设计方案中,上述构建模块,还用于定义静态本体类。其中,静态本体类用于描述静态本体对应的如下一项或多项:虚拟测试场景、道路、分隔带、车道、交通标志、天气、或光照条件。该构建模块,还用于定义静态对象属性。其中,静态对象属性用于描述静态本体类间的映射关系。该构建模块,还用于定义静态数据属性。其中,静态数据属性用于描述静态本体类的参数集合。该构建模块,还用于定义静态设计规则。其中,静态设计规则用于描述静态本体类、静态对象属性和静态数据属性之间的映射关系,静态设计规则用于确定生成的虚拟测试场景的合理性。
19.可选地,上述静态本体的设计约束包括如下一项或多项:道路间位置关系、道路与车道间位置关系、车道间位置关系、车道与分隔带间位置关系、车道线的位置和类型与车道和/或分隔带间的约束关系、交通标志与车道和/或分隔带间的位置关系。
20.进一步地,上述构建模块,还用于定义动态本体类。其中,动态本体类用于描述动态本体对应的如下一项或多项:车辆、行人、或动物。该构建模块,还用于定义动态对象属性。其中,动态对象属性用于描述动态本体类间的映射关系,以及动态本体与静态本体间的约束关系。该构建模块,还用于定义动态数据属性。其中,动态数据属性用于描述动态本体类的参数集合。该构建模块,还用于定义动态设计规则。其中,动态设计规则用于描述动态本体类、动态对象属性和动态数据属性之间的映射关系,动态设计规则用于确定生成的测试场景的合理性。
21.可选地,上述动态本体的行为约束包括如下一项或多项:车辆与车道间位置关系、车辆间位置关系、车辆限速、车辆行驶方向约束、车辆转向约束、车辆换道约束、车辆切入约束、车辆切出约束。
22.再进一步地,上述确定模块,还用于根据静态本体的设计约束、动态本体的行为约束和场景设计需求,确定动态本体的初始状态。该确定模块,还用于结合交通流仿真,根据动态本体的初始状态确定动态本体的行驶轨迹。
23.可选地,上述构建模块,还用于根据静态本体的设计约束、动态本体的行为约束和场景设计需求,以及测试目标和动态本体的行为模型,确定动态本体的初始状态。
24.可选地,上述动态本体的行为模型包括如下一项或多项:跟驰模型、换道模型、信号灯反应模型、随机干扰模型、公交与行人行为模型、间隙接受模型、汇入模型、协作模型、或冲突避让模型。
25.一种可能的设计方案中,第二方面提供的虚拟测试场景构建装置,还可以包括获取模块和测试模块。获取模块,用于获取无人驾驶车辆在第一测试场景下的驾驶行为。确定模块,还用于确定第二测试场景。其中,第二测试场景为第一测试场景中无人驾驶车辆的驾驶行为不满足设计需求的测试场景。生成模块,还用于对第二测试场景对应的参数区间进行加密采样,以生成第三测试场景。测试模块,用于针对第三测试场景进行测试。
26.一种可能的设计方案中,第二方面提供的虚拟测试场景构建装置,还可以包括添加模块。添加模块,用于基于静态本体与动态本体间的交互关系,为虚拟测试场景添加标签。其中,标签用于管理虚拟测试场景。
27.可选地,第二方面所述的虚拟测试场景构建装置还可以包括存储模块,该存储模块存储有程序或指令。当处理模块执行该程序或指令时,使得第二方面所述的虚拟测试场景构建装置可以执行第一方面所述的虚拟测试场景构建方法。
28.需要说明的是,第二方面所述的虚拟测试场景构建装置可以是网络设备,比如可以服务器,也可以是设置于网络设备中的芯片(系统)或其他部件或组件,本技术对此不做限定。
29.此外,第二方面所述的虚拟测试场景构建装置的技术效果可以参考第一方面所述的虚拟测试场景构建方法的技术效果,此处不再赘述。
30.第三方面,提供一种虚拟测试场景构建装置。该虚拟测试场景构建装置用于执行如第一方面可能的实现方式所述的虚拟测试场景构建方法。
31.第四方面,提供一种虚拟测试场景构建装置。该虚拟测试场景构建装置包括:处理器,该处理器用于执行如第一方面可能的实现方式所述的虚拟测试场景构建方法。
32.第五方面,提供一种虚拟测试场景构建装置。该虚拟测试场景构建装置包括:处理器,该处理器与存储器耦合,存储器用于存储计算机程序;处理器用于执行存储器中存储的计算机程序,以使得该虚拟测试场景构建装置执行如第一方面可能的实现方式所述的虚拟测试场景构建方法。
33.需要说明的是,第五方面所述的虚拟测试场景构建装置可以是终端设备或网络设备,比如可以是计算机或服务器,也可以是设置于终端设备或网络设备中的芯片(系统)或其他部件或组件,本技术对此不做限定。
34.此外,第五方面所述的虚拟测试场景构建装置的技术效果可以参考第一方面所述
的虚拟测试场景构建方法的技术效果,此处不再赘述。
35.第六方面,提供一种虚拟测试场景构建系统。该虚拟测试场景构建系统包括一个或多个网络设备。
36.第七方面,提供一种计算机可读存储介质,包括:计算机程序或指令;当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面可能的实现方式所述的虚拟测试场景构建方法。
37.第八方面,提供一种计算机程序产品,包括计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面可能的实现方式所述的虚拟测试场景构建方法。
附图说明
38.图1为本技术实施例提供的交通场景图;
39.图2为本技术实施例提供的虚拟测试场景构建方法的流程示意图一;
40.图3为本技术实施例提供的静态场景构建的示意图二;
41.图4为本技术实施例提供的测试场景的示意图;
42.图5为本技术实施例提供的虚拟测试场景构建方法的流程示意图三;
43.图6为本技术实施例提供的交通流仿真的流程示意图;
44.图7为本技术实施例提供的快速路示意图;
45.图8为本技术实施例提供的不同路段之间的连接的示意图;
46.图9为本技术实施例提供的合流下的跟驰示意图;
47.图10为本技术实施例提供的分流下的跟驰示意图;
48.图11为本技术实施例提供的三阶贝塞尔曲线的示意图;
49.图12为本技术实施例提供的车辆冲突避让示意图;
50.图13为本技术实施例提供的虚拟测试场景构建装置的结构示意图一;
51.图14为本技术实施例提供的虚拟测试场景构建装置的结构示意图二。
具体实施方式
52.下面将结合附图,对本技术中的技术方案进行描述。
53.本技术将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
54.另外,在本技术实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
55.本技术实施例中,“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
56.本技术实施例中,有时候下标如w1可能会笔误为非下标的形式如w1,在不强调其区别时,其所要表达的含义是一致的。
57.本技术实施例描述的交通场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着道路规范和驾驶行为规范的演变和新交通场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
58.由于虚拟测试场景是基于真实的交通场景构建的,为便于理解本技术实施例,首先以图1中示出的交通场景为例详细说明适用于本技术实施例的虚拟测试场景。示例性地,图1为本技术实施例提供的虚拟测试场景构建方法所适用的一种交通场景图。
59.如图1所示,该交通场景包括但不限于:交通信号灯、交通标志、停止线、导向箭头、斑马线、车道分界线、道路隔离带、机动车。其中,交通信号灯是指挥交通运行的信号灯,属于道路基础设施。交通信号灯一般由红灯、绿灯、黄灯组成。红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示。交通标志是用文字或符号传递引导信息、限制交通信号灯、警告交通信号灯、指示信息的道路设施。图1中的交通标志用于指示车辆前方路段慢行。停止线是道路交叉口与道路中心线相垂直的一条白色实线,表示等待释放通行信号的车辆位置。停止线是属于交通标志下的禁止标线。导向箭头是用于指示车辆行驶方向的交通标志。图1中示出了车辆可以直行以及车辆可以直行或右转的两种导向箭头。斑马线是组成人行横道的标线,用于标示行人横穿车道的步行范围。车道分界线是用来分隔同向行驶或逆向行驶的交通流的交通标线。车道分界线一般分为实线和虚线,虚线表示车辆可以变道,实线也是表示车辆不可变道。道路隔离带用于分隔对向车流,避免车辆驶入对向行车道造成严重的交通事故。机动车是指以动力装置驱动或者牵引的轮式车辆。
60.应理解,图1仅为便于理解而示例的简化示意图,该虚拟测试场景构建场景中还可以包括其它交通标志、道路交通标线。比如,其它交通标志可以包括指路标志、道路施工安全标志、旅游区标志等;其它道路交通标线可以包括禁止超车线、左转弯待转区线、高速公路车距确认标线等。
61.需要说明的是,图1中所示出的交通场景仅仅是一个示例。本技术实施例提供的虚拟测试场景构建方法还可以适用于其它交通场景,如十字路口、丁字路口、单行道、环岛、立交桥、高速公路、山路、乡村道路等,此处不再赘述。
62.下面将结合图2-图11对本技术实施例提供的虚拟测试场景构建方法进行具体阐述。
63.示例性地,图2为本技术实施例提供的虚拟测试场景构建方法的流程示意图一。该虚拟测试场景构建方法可以适用于构建如图1所示的交通场景。
64.如图2所示,该虚拟测试场景构建方法包括如下步骤:
65.s201,结合道路规范和专家经验构建静态本体模型。
66.其中,道路规范是国家和/或地区对道路的规范设计,比如,道路布局和道路基础设施的设计。道路布局的规范设计包括但不限于:车道标线、道路拓扑关系的设计。道路基础设施的规范设计包括但不限于:道路隔离带、交通标志、交通信号灯的设计。专家经验是指依赖专家的经验、知识对静态本体模型进行构建。
67.图3为本技术实施例提供的静态场景构建的示意图二。如图3所示,将仿真场景所能用到的参数划分为静态层和动态层两类。其中,静态层对应着静态本体。静态层包括四种类型的参数,分别为道路拓扑、道路基础设施、交通管制、环境。动态层对应着动态本体,包
括一种类型的参数,交通参与者的行为。
68.结合图3,静态本体模型用于描述静态本体的设计约束,该静态本体包括如下一项或多项:道路拓扑、道路基础设施、交通管制、或环境。其中,道路拓扑包括但不限于:道路类型、车道数量及位置关系、车道线、停止线、或箭头指示。道路基础设施包括但不限于:道路隔离带、交通标志、交通信号灯。交通管制是指短时的有计划的管制措施,包括但不限于:道路施工、重大活动导致的路段临时禁行。环境是指虚拟测试场景所处的环境信息,包括但不限于:天气,如雨天、晴天;光照,如白天、夜晚。
69.示例性地,上述静态本体的设计约束包括如下一项或多项:道路间位置关系、道路与车道间位置关系、车道间位置关系、车道与分隔带间位置关系、车道线的位置和类型与车道和/或分隔带间的约束关系、交通标志与车道和/或分隔带间的位置关系。
70.其中,所述道路间位置关系包括但不限于:路段之间通过左转路口、右转路口、丁字路口、环岛、或十字路口连接。道路与车道间位置关系包括但不限于:在道路上设置的车道类型、宽度、或数量。其中,车道类型可以包括单向车道、双向车道、机动车道、非机动车道等类型。车道间位置关系包括但不限于:车道与车道相邻、同路段的车道间通过车道分界线或中央分隔带隔开、或不同路段的车道间通过左转路口、右转路口、丁字路口、环岛、或十字路口连接。车道与分隔带间位置关系包括但不限于:车道左邻于分隔带、或车道右邻于分隔带。车道线的位置和类型与车道和/或分隔带间的约束关系包括但不限于:从道路中心线向外按照位置可以依次设置:中央分隔带、车道实线、车道虚线、车道实线、道路外侧分隔带。交通标志与车道和/或分隔带间的位置关系包括但不限于:交通标志不能设置于车道上、交通标志可以悬空于路中、交通标志放置在路侧分隔带上。
71.如图3所示,在构建了静态层后,需要根据静态层中的参数,定义对应于静态层的类、类的对象属性、类的数据属性、类的设计规则。如此,在一种可能的设计方案中,结合图3,上述s201,结合道路规范和专家经验构建静态本体模型,可以包括如下步骤:
72.步骤11,定义静态本体类。
73.类是一种描述领域的概念。比如,一个路的类代表所有的路,其中的一条路就是这个路的类的实例。类可以有子类。例如,可以将路分为城市道路和公路,或把路按等级分为快速路主干路、次干路、支路。基于此概念,静态本体类可以用于描述静态本体对应的如下一项或多项:虚拟测试场景、道路、分隔带、车道、交通标志、天气、或光照条件。
74.步骤12,定义静态对象属性。
75.其中,静态对象属性是指一个静态本体类到另一个静态本体类的映射关系。静态对象属性可以包括静态对象之间的位置关系。比如,车道与分隔带之间的位置关系。位置关系包括但不限于:分隔带左邻于车道、分隔带右邻于车道。静态对象属性还可以包括静态对象之间的包含关系。比如,道路、车道、分隔带之间的包含关系。包含关系包括但不限于:道路包含车道和分隔带。静态对象属性还可以包括虚拟测试场景与天气的关系。静态对象属性的定义域和值域结合专家经验进行定义,以下通过表1对静态数据属性举例说明:
76.表1
[0077][0078]
如表1所示,车道的相邻关系包括车道之间的相邻关系和车道与分隔带之间的相邻关系。比如,分隔带左邻车道或分隔带右邻车道。包含与被包含关系包括:道路包含车道和分隔带,车道和分隔带被包含于道路。交通标志与车道的关系包括交通标志悬空于车道上方。静态场景的天气可以是下雨、高温等天气。
[0079]
应理解,表1仅为上述静态对象属性的几个示例,该表1中的静态对象还可以包括其它关系。比如,交通标志与车道的关系还可以包括交通标志设置于车道的两侧。
[0080]
需要说明的是,表1中所示出的静态对象属性仅仅是几个示例。本技术实施例提供的静态对象属性还可以适用于其它静态对象之间的关系,比如,如道路间位置关系包括路段之间通过左转路口、右转路口、丁字路口、或十字路口连接。又比如,道路与车道间位置关系包括在道路上设置的车道类型、宽度、或数量等,此处不再赘述。
[0081]
步骤13,定义静态数据属性。
[0082]
其中,静态数据属性用于描述静态本体类的参数集合。例如,车道的数据属性可以包括但不限于:车道数、车道宽;交通标志的数据属性可以包括但不限于:种类、位置;分隔带数据属性可以包括但不限于:宽度、种类。
[0083]
步骤14,定义静态设计规则。
[0084]
其中,静态设计规则用于描述静态本体类、静态对象属性和静态数据属性之间的映射关系,静态设计规则用于确定生成的虚拟测试场景的合理性。
[0085]
以下对静态设计规则举例说明:
[0086]
(1)对于道路,需要包括中央分隔带、道路外侧分隔带、车道、路肩。
[0087]
(2)车道和分隔带之间,需要遵守左右相邻规则,比如,从道路中心线向外按照位置可以依次设置:中央分隔带、行车道、路肩、道路外侧分隔带。
[0088]
(3)对于单向车道数小于3的道路可以不使用中央分隔带,而使用标线分隔。
[0089]
(4)车道间的标线为虚线,车道与分隔带间的标线为实线。
[0090]
(5)交通标志需要悬空于路中或放置在路侧分隔带上。
[0091]
需要说明的是,静态设计规则包括但不限于上述所举的例子。
[0092]
在定义了静态本体类、静态对象属性、静态数据属性、静态设计规则后,可以通过遍历静态数据属性生成静态场景。但是,在遍历静态数据属性时,受到静态对象属性和静态设计规则的约束。如此,可以避免生成不合理的静态场景。
[0093]
静态对象属性和静态设计规则都是根据与道路规范相关的静态设计约束来定义,即对于静态设计约束,需要按照道路规范来设计。比如,道路规范规定左转车道需要在车道上设置用于指示车辆左转的导向箭头,则对应的静态设计约束里需要包括:左转车道上设置左转导向箭头。又比如,道路规范规定,需要在有人行道的路段两侧设置提醒标志,则对应的静态设计约束可以如图1所示:在行车道一侧设置用于提醒车辆慢行的交通标志。
[0094]
基于定义的静态对象属性和静态设计规则,可以用于约束静态本体,使得有映射关系的静态本体之间关联起来。如此,在静态本体模型生成静态场景的过程中,可以考虑静态本体间的关联性,进而生成合理的静态场景。进一步地,由于是通过道路规范相关的设计约束定义静态对象属性和静态设计规则,在道路规范更新时,只需根据新的设计约束重新定义静态对象属性和静态设计规则,方便修改构建的静态本体模型。
[0095]
s202,基于静态本体模型构建动态本体模型。
[0096]
其中,动态本体模型用于描述动态本体的行为约束,该动态本体包括如下一项或多项:车辆、行人、或动物。其中,车辆可以包括机动车和非机动车。进一步地,机动车可包括小汽车、公交车、货车、摩托车等车辆;非机动车可包括自行车、人力三轮车等车辆。
[0097]
示例性地,上述动态本体的行为约束可以包括如下一项或多项:车辆与车道间位置关系、车辆间位置关系、车辆限速、车辆行驶方向约束、车辆转向约束、车辆换道约束、车辆切入约束、车辆切出约束。
[0098]
其中,车辆与车道间位置关系包括但不限于:车辆需要位于车道上。车辆间位置关系包括但不限于:不同的车辆不能位于同一位置;前车与后车位于同一车道,且两车之间的相对间距小于或等于设定值,则该前车与该后车有跟驰关系。其中,该设定值可以根据专家经验进行设定。比如,前车与后车在同一车道上的相对间距小于50米,则可以认为该前车与该后车有跟驰关系。
[0099]
车辆限速包括但不限于:不同路段上会有对应的限速要求,车辆在路段上行驶时,需要按照该路段的限速要求行驶。车辆行驶方向约束包括但不限于:车辆需要按照交通标志指示的方向行驶。比如,交通标志指示前方路口只能直行,那该车辆只能在前方路口直行。
[0100]
车辆转向约束包括但不限于:车辆在车道上按照对应的导向箭头转向。比如,车辆在左转车道行驶,到了前方路口后只能左转。车辆换道约束包括但不限于:车辆需要换道时,需要根据周围车况以及车道分界线是否为虚线再确定是否换道。比如,前车向左换道前,需要确认位于车辆左侧的车道分界线是虚线,且与后车之间的相对安全间距满足换道要求后,该前车才可以向左换道;或者,当车辆位于车道中最左侧的车道上,则该车辆不能再向左换道;或者,当车辆位于车道中最右侧的车道上,则该车辆不能再向右换道。
[0101]
车辆切入(cut-in)约束包括但不限于:车辆需要切入车流时,需要根据周围车况确定是否切入;比如,车流向左切入车流前,需要确认该车辆与后车之间的相对安全间距满足切入要求后,该车辆才可以向左切入车流。车辆切出(cut-out)约束包括但不限于:车辆需要切出车流时,需要根据周围车况确定是否切出;比如,车流向右切出车流前,需要确认该车辆与后车之间的相对安全间距满足切出要求后,该车辆才可以向右切出车流。
[0102]
如图3所示,在构建了动态层后,需要根据动态层中的参数,定义对应于动态层的类、类的对象属性、类的数据属性、类的设计规则。如此,在一种可能的设计方案中,结合图3,上述s202,基于静态本体模型构建动态本体模型,可以包括如下步骤:
[0103]
步骤21,定义动态本体类。
[0104]
其中,动态本体类用于描述动态本体对应的如下一项或多项:车辆、行人、或动物。在该步骤21中,需要将车辆分为机动车和非机动车。进一步地,机动车可包括小汽车、公交车、货车、摩托车等车辆;非机动车可包括自行车、人力三轮车等车辆。
[0105]
步骤22,定义动态对象属性。
[0106]
其中,动态对象属性用于描述动态本体类间的映射关系,以及动态本体与静态本体间的约束关系。动态本体类间的映射关系可以包括车辆与车辆之间的跟驰关系,跟驰关系包括但不限于:车辆与车辆之间的相对间距。动态本体与静态本体间的约束关系可以包括车辆与车道的关系,车辆与车道的关系包括但不限于:车辆是否位于车道上。动态对象属性的定义域和值域结合专家经验进行定义,以下通过表2对动态数据属性举例说明:
[0107]
表2
[0108]
动态对象属性说明定义域值域位于车道上/有车辆车辆与车道的关系车辆行车道跟驰/被跟驰车间的跟驰关系车辆车辆换道动机车辆的换道动机车辆行车道换道场景车辆的换道场景场景车道切入场景车辆的切入场景场景车道
[0109]
如表2所示,动态对象属性为位于车道上/有车辆,是指车辆与车道的位置关系可以包括:车辆位于车道上或车道上有车辆。位于车道上或有车辆对应的定义域为车辆,对应的值域为行车道。动态对象属性为跟驰/被跟驰,是指车辆间的跟驰关系可以包括:后车与前车之间满足跟驰条件或者后车已经跟驰前车行驶。其中,跟驰条件为前车与后车位于同一车道,且两车之间的相对间距小于或等于设定值。其中,该设定值可以根据专家经验进行设定。比如,前车与后车在同一车道上的相对间距小于50米,则可以认为该前车与该后车有跟驰关系。跟驰/被跟驰对应的定义域为车辆,对应的值域为车辆。同理,动态对象属性为换道动机,换道动机对应的定义域为车辆,对应的值域为车辆。动态对象属性为换道场景,是指车辆的换道场景。换道场景对应的定义域为场景,对应的值域为车道。动态对象属性为切入场景,是指车辆的切入场景。切入场景对应的定义域为场景,对应的值域为车道。
[0110]
应理解,表2仅为上述动态对象属性的几个示例,动态对象属性还可以包括其它关系。比如,车辆与车道的关系还可以包括车辆在车道上按照对应的导向箭头转向。比如,车辆在左转车道行驶,到达前方路口后只能左转。
[0111]
此外,动态对象属性还可以适用于其它静态对象之间的关系,比如,如车辆与道路的关系还可以包括不同路段对应的限速要求。比如,高速路最低限速60千米/小时,最高限速120千米/小时。车辆在该高速路上行驶时,需要按照该高速路的限速要求行驶。又比如,车辆与交通标志间的位置关系还可以包括车辆需要按照交通标志指示的方向行驶等,此处不再赘述。
[0112]
步骤23,定义动态数据属性。
[0113]
其中,动态数据属性用于描述动态本体类的参数集合。以下通过表3对静态数据属性和动态数据属性举例说明:
[0114]
表3
[0115][0116]
如表3所示,类为车道时,车道的数据属性可以包括车道数和车道宽。其中,车道数表示一条道路上的车道数量。例如,车道数在表3参考取值范围中取值为1时,表示一条道路上只有一条车道。车道宽表示车道的宽度,表3中车道宽的取值范围“2.75:0.05:3.75”是指:车道宽度的取值范围为2.75米至3.75米,步长为0.05米,即车道宽度可以为2.75米、2.80米、

、3.70米、3.75米。
[0117]
在表3中,类为分隔带时,分隔带的数据属性可以包括宽度和种类。分隔带宽度取值范围“1:0.1:3”是指:分隔带宽度的取值范围为1米至3米,步长为0.1米,即分隔带宽度可以为1米、1.1米、

、2.9米、3.0米。分隔带的种类可以包括硬质分隔带、柔性分隔带、绿化分隔带。
[0118]
在表3中,类为车辆时,车辆的数据属性包括车辆所在车道坐标、纵向坐标、速度、换道动机。车辆所在车道坐标是指车辆位于哪条车道上,因此,所在车道坐标的参考取值范围是小于车道数或等于车道数。比如,一条道路上有2条车道,按照从左到右的顺序,第一条车道的坐标为1,第二条车道的坐标为2;车辆在该道路上的车道坐标为1时,表示该车辆位于第一条车道上;车辆在该道路上的车道坐标为2时,表示该车辆位于第二条车道上。车辆的纵向坐标的取值与车道的长度对应,因此,车辆的纵向坐标的参考取值范围是小于车道长或等于车道长。车辆的速度取值范围“0:10:120千米/小时”是指:车辆的速度取值范围为0至120千米/小时,步长为10千米/小时,即车辆速度可以为0千米/小时、10千米/小时、

、110千米/小时、120千米/小时。车辆存在换道动机时,换道动机的取值为是;车辆不存在换道动机时,换道动机的取值为否。
[0119]
在表3中,类为交通标志时,交通标志的数据属性可以包括种类、横向位置和纵向位置。其中,交通标志的种类的取值可以为限速标志、指示标志。交通标志按照静态的设计约束,不能设置于道路中间。当交通标志设置在道路两旁时,交通标志的横向位置需要大于道路宽或等于道路宽。交通标志的纵向坐标的取值与车道的长度对应,因此,交通标志的纵向坐标的参考取值范围是小于车道长或等于车道长。
[0120]
需要说明的是,上述表3仅为上述静态数据属性和动态数据属性的几个示例。实际
应用中,还可能用到其他的静态数据属性和动态数据属性实例,此处不再一一列举。
[0121]
步骤24,定义动态设计规则。
[0122]
其中,动态设计规则用于描述动态本体类、动态对象属性和动态数据属性之间的映射关系,动态设计规则用于确定生成的测试场景的合理性。
[0123]
在定义了动态本体类、动态对象属性、动态数据属性、动态设计规则后,可以通过遍历动态数据属性生成动态场景。但是,在遍历动态数据属性时,受到动态对象属性和动态设计规则的约束。如此,可以避免生成不合理的动态场景。
[0124]
动态对象属性和动态设计规则都是根据与驾驶行为规范相关的动态行为约束定义,即对于动态本体的动态行为约束,需要按驾驶行为规范来设计。比如,驾驶行为规范规定机动车辆不能在非机动车道上行驶,则对应机动车辆的动态行为约束里需要包括:允许机动车辆在机动车道上行驶,禁止机动车辆在非机动车道上行驶。又比如,驾驶行为规范规定车辆不能超速行驶,则对应车辆的动态行为约束里需要包括:车辆需要按照限速标志指示的车速行驶。如果车速标志指示最高行驶速度为60千米/小时,则车辆行驶的最高速度不能超过60千米/小时。
[0125]
需要说明的是,动态对象属性和动态设计规则除了根据与驾驶行为规范相关的动态行为约束定义之外,还可以根据场景设计需求定义。其中,场景设计需求包括不符合行为约束的特殊场景。比如,不符合行为约束的特殊场景可以包括:车辆行驶方向上存在动物活动的情景、有人进入机动车道等。存在不符合行为约束的特殊场景时,可以通过随机干扰模型控制车辆的行驶操作,以匹配现实交通场景种可能遇到的各种情况。比如,车辆行驶方向上存在动物活动时,随机干扰模型可以控制车辆刹车,以等待动物离开行车道。
[0126]
由于是通过驾驶行为规范相关的行为约束定义动态对象属性和动态设计规则,当驾驶行为规范更新时,只需根据新的行为约束重新定义动态对象属性和动态设计规则,方便修改构建的动态本体模型。
[0127]
以下对动态设计规则举例说明:
[0128]
1)车辆行驶时需要位于车道上。其中,非机动车辆只允许在非机动车道上行驶;机动车只允许在机动车道上行驶。
[0129]
2)不同的车辆所处的位置不同。也就是说,不同的车辆不能位于同一个位置。
[0130]
3)对于同向行驶的车辆,前车与后车之间需要满足安全间距(responsibility sensitive safety,rss),如临界安全间距。临界安全间距是指:后车在遭遇前车急刹车时,后车与前车之间的极限距离。在该极限距离下,后车能通过刹车停下而不会撞到前车。如果后车与前车之间的极限距离小于极限距离,则后车即使刹车也会撞上前车。该临界安全间距可以通过以下公式得出:
[0131][0132]
其中,sd为临界安全间距,为前车刹车距离,为后车刹车距离;为前车的反应时间,为后车的反应时间;v1为前车速度,v2为后车速度。
[0133]
4)车辆在最左侧车道或者最右侧车道换道时,存在限制条件。比如,车辆位于最左侧车道时不能向左换道,车辆位于最右侧车道时不能向右换道。
[0134]
5)车辆换道时,车辆先确认周围车况,再确定是否换道。比如,当周围没有车辆时,
满足车辆换道的条件,则车辆可以换道。又比如,前车向左换道时,如果左侧车道后方车辆与前车距离很近时,不满足车辆换道的条件,则车辆不可以换道。
[0135]
6)两车之间是否存在跟驰关系需要确定两车之间是否满足跟驰条件。该跟驰条件可以包括:两车需要在同一车道内,且两车的相对间距满足人为设定的数值。比如,两车在同一车道内,且两车的相对间距小于50米,则视为两车存在跟驰关系。
[0136]
7)确定车辆所在的场景是切入场景,需要满足以下条件:车辆存在换道倾向,且周边车况满足车辆换道的条件,即车辆能安全地切入需要更换的车道,则车辆所在的场景是切入场景。
[0137]
需要说明的是,动态设计规则包括但不限于上述所举的例子。
[0138]
图4为本技术实施例提供的测试场景的示意图。在图4中,动态本体包括车辆,静态本体包括:道路、行车道、分隔带、车道、道路外侧分隔带、中央分隔带。
[0139]
图4展示了一个测试场景中不同本体之间的关系。如图4所示,道路与行车道之间的箭头表示道路上包含行车道。道路与道路外侧分隔带之间的箭头表示该道路的外侧设有分隔带。道路与中央分隔带之间的箭头表示该道路中央设有分隔带。行车道与车道之间的箭头表示车道上设置有多条行车道。车辆与车道之间的箭头表示车辆需要在车道上行驶。车辆与中央分隔带之间的箭头表示车辆在行驶时不能越过中央分隔带。分隔带与行车道之间的箭头表示分隔带将不同的行车道隔开。
[0140]
通过定义动态对象属性和动态设计规则来约束动态本体的行为,使得有映射关系的动态本体间以及动态本体与静态本体间关联起来。如此,在动态本体模型生成动态场景的过程中,会考虑动态本体间以及动态本体与静态本体间的关联性,进而生成合理、覆盖完备的动态场景。
[0141]
以下通过表4对静态场景和动态场景举例说明:
[0142]
表4
[0143][0144]
如表4所示,基于参数如道路拓扑、道路基础设施、交通管制、环境构建的场景为静态场景,基于参数如交通参与者及行为构建的场景为动态场景。其中,功能场景是指用自然语言表达的供人类能够理解的场景;逻辑场景为通过描述逻辑以使计算机能够理解的场景;具体场景为逻辑场景中每个参数取具体值后生成的场景。
[0145]
如表4所示,与参数如道路拓扑对应的功能场景中,有曲率的三车道公路表示该公路的车道数量为三条,且该公路存在弯道。与参数如道路拓扑对应的逻辑场景中,车道宽度取值范围为3至3.5米,弯道的曲率半径取值范围为0.6至0.9千米。与参数如道路拓扑对应的具体场景中,车道宽度的取值为3.2米,弯道的曲率半径取值为0.7千米。
[0146]
如表4所示,与道路基础设施对应的功能场景中,限速100千米/小时标志表示道路上有交通标志,该交通标志指示车辆在前方路段行驶时,最高车速不能超过100千米/小时。与道路基础设施对应的逻辑场景中,交通标志所处位置的取值范围为0至200米,表示该交通标志按照行车道方向纵向设置在200米范围内。与交通标志对应的具体场景中,交通标志所处位置的取值为150米,表示该交通标志按照行车道方向纵向设置在150米处。
[0147]
如表4所示,与交通参与者及行为对应的功能场景包括:本车在中央车道上行驶时,前方路段存在拥堵状况,拥堵状况中的车辆在缓慢移动。与交通参与者及行为对应的逻辑场景中,前方拥堵路段的长度取值范围为10至200米;拥堵状况中的车辆的移动速度取值范围为0至30千米/小时;本车与前方拥堵路段的距离取值范围为50至300米;本车的车速取值范围为80至130千米/小时。与交通参与者及行为对应的具体场景中,前方拥堵路段的长度取值为40米;拥堵状况中的车辆的移动速度取值为30千米/小时;本车与前方拥堵路段的距离取值为200米;本车的车速取值为100千米/小时。
[0148]
如表4所示,与环境对应的功能场景包括:季节是夏天且为下雨天气。与环境对应的逻辑场景中,温度的取值范围为10至40摄氏度,降雨量取值范围为20至100微米。与环境对应的具体场景中,温度的取值为20摄氏度,降雨量的取值范围为30微米。
[0149]
需要说明的是,表4中,交通管制对应的各场景为空白表示场景中没有设置管制措施。另外,上述表4仅为上述静态场景和动态场景的几个示例。实际应用中,还可能用到其他的静态场景和动态场景实例,此处不再一一列举。
[0150]
s203,结合交通流仿真,根据静态本体的设计约束和动态本体的行为约束确定动态本体的行驶轨迹。
[0151]
其中,交通流仿真是指在仿真场景中构建的交通流,或模拟现实场景中的交通流,用于构建动态仿真场景,测试无人驾驶车辆的相关功能与性能。如图3所示,在构建了动态本体模型后,需要通过交通流仿真将静态本体和动态本体结合起来,进而推测出动态本体的行驶轨迹。需要说明的是,无人驾驶车辆与无人车、智能车、智能驾驶车辆等含义等同。
[0152]
在一种可能的设计方案中,结合图3,上述s203,结合交通流仿真,根据静态本体的设计约束和动态本体的行为约束确定动态本体的行驶轨迹,可以包括如下步骤:
[0153]
步骤31,根据静态本体的设计约束、动态本体的行为约束和场景设计需求,确定动态本体的初始状态。
[0154]
具体地,上述根据静态本体的设计约束、动态本体的行为约束和场景设计需求,确定动态本体的初始状态,可以包括如下步骤:根据静态本体的设计约束、动态本体的行为约束和场景设计需求,以及测试目标和动态本体的行为模型,确定动态本体的初始状态。其中,静态本体的设计约束、动态本体的行为约束和场景设计需求已经在上文中提及,测试目标和动态本体的行为模型会在下文中详细阐述,此处不再赘述。另外,动态本体的初始状态的取值的例子可以参考上述表4中交通参与者及行为的取值,此处不再赘述。
[0155]
图5为本技术实施例提供的虚拟测试场景构建方法的流程示意图三。如图3和图5
所示,动态本体的行驶轨迹需要通过动态本体的初始状态和时序轨迹确定。其中,时序轨迹是指动态本体在未来一段时间内的行驶轨迹。
[0156]
如图5所示,动态本体中可以设置初始状态模块,该初始状态模块用于生成动态本体的初始状态。该初始状态模块中可以设置场景初始化状态生成规则和场景初始化案例。场景初始化状态生成规则定义了动态本体的初始状态。
[0157]
其中,初始状态除了包括动态本体的位置、速度、航向角等基本信息外,还可以包括动态本体的行为信息。行为信息包括动态本体在未来一段时间内执行的动作参数。比如,动作参数可以包括但不限于:换道、左转、直行、右转、调头。行为信息还可以包括驾驶员的驾驶风格参数。比如,驾驶风格参数可以包括但不限于:舒适减速度、期望车速、最大加速度、反应时间、期望停车间距。
[0158]
其中,动态本体的行为模型包括如下一项或多项:跟驰模型、换道模型、信号灯反应模型、随机干扰模型、公交与行人行为模型、间隙接受模型、汇入模型、协作模型、或冲突避让模型。需要说明的是,动态本体的行为模型将在步骤32中,结合交通流仿真说明。
[0159]
步骤32,结合交通流仿真,根据动态本体的初始状态确定动态本体的行驶轨迹。
[0160]
示例性地,图6为本技术实施例提供的交通流仿真流程图。如图6所示,交通流仿真可以包括如下步骤:
[0161]
步骤321,根据路网结构、路径生成等模型初始化路网,并对路网上的车流量、起止点(origin destination,od)流量等参数进行定义。
[0162]
步骤322,更新路网状态。
[0163]
其中,更新路网状态是指获取车辆周围的路网信息及更新车辆周围交通参与者的状态。
[0164]
步骤323,可以根据车辆到达模型初始化车辆。
[0165]
其中,车辆到达模型指按照路网上的车流量、起止点流量等信息,交通参与者进入路网时,可以基于初始化模块初始化车辆状态。
[0166]
步骤324,按道路从下游到上游依次选择车辆。
[0167]
其中,选择车辆是指依次对路网中的车辆状态进行计算,并更新计算后的车辆状态。
[0168]
步骤325,根据如下一项或多项计算更新车辆:车道选择模型、跟驰模型、换道模型、信号灯反应模型、随机干扰模型、公交与行人行为模型、间隙接受模型、汇入模型、协作模型、或冲突避让模型。
[0169]
步骤326,判断更新车辆是否达到车道末端。
[0170]
判断方法可以是比较更新车辆的位置与车道末端的位置是否一致。如果更新车辆的位置与车道末端的位置一致,则更新车辆到达车道末端,并继续判断该更新车辆是否到达出行终点。比如,可以实时获取车辆位置,并基于车辆位置判断车辆是否到达设定的终点。
[0171]
如果该更新车辆到达出行终点,则从交通流中删除该更新车辆。如果该更新车辆没有到达出行终点或者更新车辆的位置与车道末端的位置不一致,则执行该更新车辆。
[0172]
步骤327,判断该更新车辆是否为最后一辆车。
[0173]
示例性地,可以通过获取路网中上下游车辆列表,在列表中将最后一个需要计算
更新车辆状态的车辆判定为最后一辆车。如果更新车辆不是最后一辆车,则返回到步骤324。如果更新车辆不是最后一辆车,则通过可视化技术,将动态场景以动画的形式输出。
[0174]
步骤328,判断是否到了仿真终止时间。
[0175]
如果到了仿真终止时间则结束仿真操作。如果没有到仿真时间,则执行下一仿真步长的仿真,并返回到更新路网状态的步骤。
[0176]
下面将结合图7-图12对上述动态本体的行为模型进行具体阐述。
[0177]
上述跟驰模型可以包括同道跟驰模型、换道跟驰模型、合流下的跟驰模型、分流下的跟驰模型。
[0178]
其中,同道跟驰模型适用于后车(即下述公式所涉及的被控制车辆)不执行换道的场景,在该场景下同道跟驰模型用于模拟后车跟驰前车的行为。在后车不执行换道的场景中,同道跟驰模型可以根据前车的运动状态信息来控制后车的行为。其中,该运动状态信息可以包括前车的位置、速度等信息。可选地,在交通状态从拥堵状态到非拥堵状态,且后车跟驰前车时,同道跟驰模型可以采用智能驾驶员模型。智能驾驶员模型的公式如下:
[0179][0180][0181]
上述两个公式中,为被控制车辆的加速度,v为被控制车辆的速度,v0为被控制车辆的期望速度,δv为被控制车辆的速度与前车速度之差;s
*
为被控制车辆与前车间的期望距离,s0为静止安全距离,s为被控制车辆与前车间的距离,s1为被控制车辆与速度有关的安全距离选择参数;a为舒适减速度,b为加速度指数,t为反应时间。
[0182]
换道跟驰模型:对于具有强制换道动机,但由于间隙不足没有完成换道的后车,换道跟驰模型需要控制该后车在路径末端停车等待。直到存在合适的间隙后,换道跟驰模型才控制后车执行换道。换道跟驰模型需要计算后车跟驰前车的加速度、以及后车对停车点制动的加速度(即减速度),并在其中选择更为保守的加速度(即后车跟驰前车的加速度更小和/或减速度更大)作为最终的跟驰加速度。
[0183]
示例性地,图7为本技术实施例提供的快速路示意图。图7所示的快速路包括匝道、第一车道、第二车道、第三车道。如果车辆需要换道进入匝道,在车道方向上车辆与匝道口之间会存在最小换道距离。如果车辆与匝道口之间的距离小于最小换道距离,则该车辆换道进入匝道不能确保行车安全。
[0184]
每一个车道对应一个最小换道距离。比如,在图7中,如果车辆位于第三车道上,那该车辆需换道时与匝道路口间的最小换道距离可以为80米。也就是说,如果车辆位于第三车道上,该车辆在与匝道口间的距离大于80米之前完成换道,方能确保行车安全。如果车辆位于第二车道上,那该车辆需换道时与匝道路口间的最小换道距离为40米。也就是说,如果车辆位于第二车道上,该车辆在与匝道口间的距离大于40米之前完成换道,方能确保行车安全。如果车辆位于第一车道上,只要该车辆没有错过匝道口,都可以换道进入匝道口。应理解,最小换道距离可依据实际需求进行调整。
[0185]
需要说明的是,当车辆存在进入匝道的动机时,则临近匝道口的第一车道为期望车道,即车辆需要换道进入第一车道。假设存在以下这种情况,期望车道上有排队等待汇入的车辆,第二车道和第三车道上的车辆也需要在停车点等待合适的间隙换道。在这种情况
下,如果第二车道和第三车道上的车辆的停车点都在同一个地方,那第二车道和第三车道上的车辆很可能就没有办法汇入期望车道而造成拥堵。因此,距离期望车道越远的车道上的车辆的停车点应该位于更加上游的地方。也就是说,相比于第二车道上的车辆,第三车道上车辆的停车点与匝道口的距离更远。
[0186]
示例性地,图8为本技术实施例提供的不同路段之间的连接示意图。如图8所示,路段a包括车道0、车道1、车道2,车辆1在车道0上行驶,车辆2在车道1上行驶。路段b包括车道3、车道4、车道5、车道6,车辆3在车道3上行驶,车辆4在车道5上行驶。路径10为连接车道0与车道3的路径,路径11为连接车道0与车道4的路径,路径12为连接车道1与车道5的路径,路径13为连接车道2与车道6的路径。路段d包括车道7、车道8、车道9。路径15为连接车道3与车道7的路径,路径16为连接车道4与车道8的路径,路径17为连接车道5与车道9的路径,路径14为连接车道0与路段c的路径,路径18为连接车道6与路段e的路径。
[0187]
如图8所示,在路段b上,右转车辆的期望车道为车道3,直行车辆的期望车道可以包括车道4、车道5、车道6,左转车辆的期望车道为车道6。在路段a上,转向或直行的期望车道需要通过下游的路段b确定。比如,查找路段a上右转车辆的期望车道,需要查找路段b上右转的车道,即车道3。然后,反推路段a上与车道3相连的车道,即车道0,该车道0就是路段a上右转车辆的期望车道。同理,路段a上的直行车辆的期望车道为车道0和车道1,路段a上左转车辆的期望车道为车道2。
[0188]
对于合流下的跟驰模型:合流是指上游路段上有多个车道与下游路段上的一个车道具有连接关系。请参考图9,图9为本技术实施例提供的合流下的跟驰示意图。图9中,路段a包括车道0、车道1、车道2、车道3,路段b包括车道4、车道5、车道6,车辆3在车道4上行驶,车辆4在车道6上行驶。路径7为连接车道0与车道4的路径,路径8为连接车道1与车道4的路径,路径9为连接车道2与车道5的路径,路径10为连接车道3与车道6的路径。
[0189]
如图9所示,车辆1在路径8上行驶,车辆2在路径7上行驶。这种情况下,如果车辆1和车辆2进入合流范围,需要确定车辆1和车辆2谁是跟驰模型中的前车。其中,合流范围是指车辆与路径末端的距离在第一预设值范围内。比如,车辆与路径末端的距离小于30米,可以认为车辆进入合流范围。合流下的跟驰模型中,前车的确定过程如下:获取车辆1与路径8末端之间的第一距离,以及车辆2与路径7末端之间的第二距离。比较第一距离和第二距离的大小,第一距离和第二距离中最小距离所对应的车辆为跟驰模型中的前车。
[0190]
对于分流下的跟驰模型:分流是指上游路段上的一个车道与下游路段上的多个车道具有连接关系。请参考图10,图10为本技术实施例提供的分流下的跟驰示意图。图10中,路段a包括车道0、车道1、车道2,路段b包括车道3、车道4、车道5、车道6。路径7为连接车道0与车道3的路径,路径8为连接车道0与车道4的路径,路径9为连接车道1与车道5的路径,路径10为连接车道2与车道6的路径。
[0191]
如图10所示,如果车辆3进入分流范围,需要确定分流下的前车是哪一辆。其中,分流范围是指车辆与路径末端的距离在第二预设值范围内。比如,车辆与路径末端的距离小于20米,可以认为车辆进入分流范围。分流下的前车是指车尾还未完全驶出上游路段上的车道的车辆,该车道与下游路段上的多个车道具有连接关系。分流下的跟驰模型中,以分流下的前车作为跟驰对象。比如,图10中的车辆2为分流下的前车,车辆3的跟驰对象为车辆2。
[0192]
对于换道模型:换道行为是驾驶员根据自身的驾驶特性,针对周围车辆的状态信
息,变换车道的过程。换道分为强制性换道(mandatory lane changing,mlc)和任意性换道(discretionary lane changing,dlc)。强制性换道和任意性换道均可以以下包括四个步骤:
[0193]
步骤41,生成换道动机。
[0194]
以下按照优先级由高至低依次列举换道动机的生成条件。
[0195]
(1)检测到当前车辆的车道不是期望车道,则生成强制性换道动机。需要说明的是,该强制性换道动机一旦生成后,即使没有可换道间隙,该强制性换道动机也不会消失,直至完成换道。
[0196]
(2)在本车车速大于前车车速,前车车速大于前车的前车车速,且本车与目标车道上前车的间距大于本车与当前车道上前车的间距2倍车长以上,则生成任意性换道动机。其中,目标车道可以是期望车道,也可以是车辆与期望车道之间的车道。
[0197]
(3)在本车车速低于期望速度(或车道限速)20千米/小时以下,前车车速低于本车车速20%以上,目标车道上前车车速高于当前车道上前车车速10千米/小时以上,本车与目标车道上前车的间距大于本车与当前车道上前车的间距2倍车长,则生成任意性换道动机。
[0198]
(4)在当前车道上前车为大型车辆,本车与前方大型车辆的距离小于2倍时距,目标车道上前车车速高于当前车道上大型车辆车速,以及本车与目标车道上前车的间距大于本车与当前车道上前车的间距2倍车长,则生成任意性换道动机。其中,大型车辆包括但不限于:大型货车、大型客车、大型卡车、消防车。
[0199]
需要说明的是,如果车辆不在期望车道上,任意性换道需要向着期望车道的方向换道。如果车辆在期望车道上,车辆只能在期望车道之间任意性换道。无论是强制性换道还是任意性换道,当前车道上的前车都需处于非换道状态。
[0200]
步骤42,选择车道。
[0201]
对于任意性换道,如果当前车道并非处于车辆的期望车道上,那车辆选择靠近期望车道的方向换道;如果车辆位于期望车道上,车辆只能在期望车道之间换道。比如,左侧车道为非期望车道,那车辆就不能向左换道。如果两侧车道均为期望车道,向左换道或右换道的概率均为50%。如果左侧车道的间隙不满足换道需求,则考虑向右侧车道换道。
[0202]
对于强制性换道,车辆会向着距离目标车道更近的车道换道。
[0203]
步骤43,选择间隙。
[0204]
产生换道动机的车辆需要评估相邻车道是否有合适的间隙允许本车安全地执行换道,如果不存在合适的间隙则不能执行换道。以采用transmodeler线性模型为例进行说明:
[0205][0206]
其中,为设定的最小间隙;g为前方lead或后方lag间隙;βg为接受前后间隙的列向量参数;xi为标定的β的行向量值;为均值为0,用户设置的方差。
[0207]
其中,对于列向量βg的{β
g0
、β
g1
、β
g2
、βg3}的计算参数说明如下:
[0208]
β
g0
为常量;β
g1
为0和δv
ig
的最大值;β
g2
为0和δv
ig
的最小值;β
g3
为vg。如果g=lead,δv
ig
=v
isubject-v
ilead
;如果g=lag,δv
ig
=v
ilag-v
isubject
;vg为v
lead
或v
lag

[0209]
对于强制性换道,i=4对应的β
g4
的公式如下:
[0210][0211]
上述公式中,α为距离影响系数;d为距强制变道临界距离的终点;即下游决策点或者事故点的位置。如果没有,则上述公式中不存在d。比如,驶入禁行的车道。
[0212]
步骤44,执行换道。
[0213]
车辆产生换道动机后,需要规划车辆在执行换道时行驶的轨迹。可以采用三阶贝塞尔曲线进行仿真。三阶贝塞尔曲线可保证曲线的连续性和有界性,车辆可按照规划出的曲线行驶。
[0214]
三阶贝塞尔曲线的公式为:
[0215]
b(t)=p0(1-t)3 3p1t(1-t)2 3p2t2(1-t) p3t3,
[0216]
其中,t∈[0,1],p0、p1、p2和p3为控制点,b(t)为三阶贝塞尔曲线,该曲线起始于p0并走向p1,并从p2的方向来到p3。
[0217]
图11为本技术实施例提供的三阶贝塞尔曲线的示意图。如图11所示,车辆1执行换道,从车道0换到车道1。车辆换道的初始位置为p0,车辆换道的结束位置为p3。上述三阶贝塞尔曲线的公式中控制点p1和控制点p2的选择方法包括如下步骤:
[0218]
步骤441,根据车辆换道距离以及车辆换道的初始位置p0计算出车辆换道的结束位置p3。
[0219]
步骤442,以车辆换道的初始位置p0向切线方向绘制射线1,以车辆换道的结束位置p3向切线反方向绘制射线2。
[0220]
步骤443,连接车辆换道的初始位置p0和车辆换道的结束位置p3,并在连线上取三等分点1和三等分点2。
[0221]
步骤444,以三等分点1和三等分点2分别向射线1和射线2方向做垂线。其中,三等分点1向射线1做的垂线与射线1相交的垂点为控制点p1,三等分点2向射线2做的垂线与射线2相交的垂点为控制点p2。
[0222]
步骤445,根据控制点p1和控制点p2以及初始位置p0和结束位置p3生成贝塞尔曲线b(t)。
[0223]
对于信号灯反应模型:在进口路段的末端放置信号灯。在车辆进入信号灯上游阈值范围内,车辆会根据信号灯的灯色生成决策行为。其中,阈值可以为50米,也可以是其它数值,本技术不做具体限定。以下对车辆根据信号灯的灯色生成决策行为进行说明:
[0224]
(1)当信号灯灯色为绿灯时,车辆采用同道跟驰模型跟随前车行驶。
[0225]
(2)当信号灯为红灯时,只有距离信号灯最近的到达车辆会对信号灯反应,而位于该到达车辆后方的车辆只需跟驰前车。此时,可以将停车线假想为一辆静止的车辆(车尾与停车线平齐)。
[0226]
(3)当信号灯为黄灯时,位于路段下游的第一辆车需要判断以当前速度是否可以通过信号灯。如果判断结果是不可以通过信号灯,则默认在黄灯后放置一静止的虚拟车辆,该第一车辆减速,后续车辆跟驰排队即可;如果判断结果是可以通过,则继续以同道跟驰模型跟随前车行驶。
[0227]
对于冲突避让模型:冲突避让模型用于交叉口或匝道汇入区或汇出区内部存在路径相交的情形中。请参考图12,图12为本技术实施例提供的车辆冲突避让示意图。
[0228]
在图12中,路段a包括车道0、车道1、车道2,路段b包括车道3、车道4。路段c包括车
道5、车道6、车道7,路段d包括车道8、车道9。路径10为连接车道3与车道8的路径,路径11为连接车道4与车道9的路径,路径12为连接车道2与车道5的路径。车辆1在路径12上行驶,车辆2在路径10上行驶,车辆3在路径11上行驶,车辆4在车道4上行驶。
[0229]
在图12中,行驶的车辆1会与车辆2、车辆3产生冲突。路径10与路径12相交的点为冲突点1,路径11与路径12相交的点为冲突点2。此时,冲突避让模型控制车辆的方法可以包括以下步骤:
[0230]
步骤51,确认冲突的车辆通过对应冲突点的先后顺序。
[0231]
对于每一个冲突点,根据冲突车辆到冲突点的距离与每个车辆的当前车速,计算冲突车辆通过冲突点的时间。如图12所示,假设车辆1、车辆2、车辆3的车速一致,需要计算车辆1通过冲突点1和冲突点2的时间、车辆2通过冲突点1的时间、车辆3通过冲突点2的时间。对于冲突点1,车辆1比车辆2先通过冲突点1。对于冲突点2,车辆3比车辆1先通过冲突点2。
[0232]
步骤52,对于每一个冲突点,最先通过冲突点的车辆作为前车,其它车辆作为后车,后车需要避让前车。
[0233]
其中,需要计算前车和后车到达对应冲突点的时间差,如果时间差小于或等于阈值,则后车需要做出避让动作。也就是说,前车和后车到达对应冲突点的时间比较接近时,后车需要避让前车,让前车先行通过冲突点。冲突避让模型会假设冲突点处有一辆静止的前车,计算后车跟驰这辆车的跟驰加速度。如果同一辆车有多个冲突避让需求,则在多个跟驰加速度中取最小值。
[0234]
如图12所示,对于冲突点1,车辆1比车辆2先通过冲突1,则车辆1作为前车,车辆2作为后车。如果车辆1和车辆2通过冲突点1的时间差小于2s,则车辆2需要做出避让动作。对于冲突点2,车辆3比车辆1先通过冲突2,则车辆3作为前车,车辆1作为后车。如果车辆1和车辆3通过冲突点2的时间差大于2s,则车辆1不需要做出避让动作。
[0235]
在确定动态本体的初始状态后,动态本体在不同的动态场景中在对应的行为模型的控制下行驶,即可以确定动态本体的行驶轨迹。通过确定动态本体的初始状态和行驶轨迹,在动态场景中可以体现各交通参与者间复杂的动态交互。如此,无人驾驶车辆在虚拟测试场景测试时,可以获得满足设计的交互测试数据,能够提高无人驾驶车辆的虚拟测试效率。
[0236]
s204,生成测试场景模型。
[0237]
其中,测试场景模型包括行驶轨迹,该行驶轨迹用于测试无人驾驶车辆的驾驶行为是否满足设计需求。
[0238]
以包括3个静态本体的静态场景、包括1个动态本体的动态场景为例:
[0239]
静态场景中的3个静态本体对应的参数空间定义如下:
[0240]
中央分隔带类型:标线分隔带、隔离带分隔带;
[0241]
中央分隔带宽度:标线分隔带宽度:0.5米;隔离带分隔带宽度:1.5米至3米,采样间隔为0.1米;
[0242]
车道数量:1至5;
[0243]
车道宽度:3.5米至4.5米,采样间隔为0.05米;
[0244]
路侧分隔带宽度:1.5米至3米,采样间隔为0.05米;
[0245]
动态场景中动态本体的参数空间定义如下:
[0246]
车辆初始车道:1至3;
[0247]
车辆初始纵坐标:0米至50米,采样间隔为10m;
[0248]
车辆初速度:10米/秒至35米/秒,采样间隔为5米/秒;
[0249]
车辆初始换道意图:0:不换道;1:向左换道;2:向右换道。
[0250]
确定参数空间后,利用计算机算力不断遍历各种合理的参数组合,最终得到9600个静态测试场景和6326个动态测试场景。
[0251]
一种可能的设计方案中,图2所示的虚拟测试场景构建方法,还可以包括如下步骤:
[0252]
步骤61,获取无人驾驶车辆在第一测试场景下的驾驶行为。
[0253]
基于构建的虚拟测试场景中的各本体的参数空间与规则,第一测试场景是参数空间的采样间隔较大形成的虚拟测试场景。将无人驾驶车辆放入第一测试场景中进行测试,以获取无人驾驶车辆在第一测试场景下的驾驶行为。
[0254]
步骤62,确定第二测试场景。
[0255]
其中,第二测试场景为第一测试场景中无人驾驶车辆的驾驶行为不满足设计需求的测试场景。即,先通过粗粒度测试确定关键场景的搜索方向,所述关键场景是指无人驾驶车辆反应不佳的场景。
[0256]
步骤63,对第二测试场景对应的参数区间进行加密采样,以生成第三测试场景。
[0257]
面向所述关键场景,对关键场景对应的参数区间进行细粒度加密采样,生成第三测试场景。这样,可以进行针对性测试,以达到加速测试的效果。
[0258]
步骤64,针对第三测试场景进行测试。
[0259]
可以通过粗粒度参数取值构建第一测试场景,并根据无人驾驶车辆在第一测试场景下的驾驶行为,对驾驶行为不满足设计需求的第一测试场景对应的参数区间进行加密采样,生成第三测试场景。如此,定向对无人驾驶车辆表现不好的虚拟测试场景进行多次采样测试,可以解决因参数取值过细而构建的虚拟测试场景过多,导致测试效率较低的问题,能够提高无人驾驶车辆的虚拟测试效率与测试针对性,相比于传统的基于人类驾驶行为的测试场景设计,更适用于无人驾驶测试。
[0260]
可选地,图2所示的虚拟测试场景构建方法,还可以包括:基于静态本体与动态本体间的交互关系,为虚拟测试场景添加标签。其中,标签用于管理虚拟测试场景。
[0261]
动态本体的行驶轨迹可以为场景提供很多信息。比如,根据车辆间的交互行为可以定义场景的期望测试功能。其中,交互行为包括但不限于:跟驰、换道、汇入、汇出。比如,在交互行为是跟驰的虚拟测试场景可以添加跟驰标签,表示该虚拟测试场景为跟驰场景。图9所示的合流下的跟驰场景,可以添加合流下的跟驰标签。图10所示的分流下的跟驰示意图场景,可以添加分流下的跟驰标签。图12所示的冲突避让场景,可以添加冲突避让标签。
[0262]
进一步地,根据交互行为间交互的激烈程度可以定义虚拟测试场景的危险程度,即一个虚拟测试场景是危险工况还是正常工况。在虚拟测试场景是危险工况时,还可以为该虚拟测试场景添加危险标签。
[0263]
通过对虚拟测试场景做标签化的处理,比如虚拟测试场景的功能分类、虚拟测试场景的危险程度,便于在虚拟测试场景库中进行管理,并且在测试时也便于调用需要的虚
拟测试场景进行测试。
[0264]
举例来讲,在冲突避让场景测试无人驾驶车辆的行驶行为是否符合预期时,可以通过查询标签是否存在冲突避让场景。比如,在场景库中经过查询,存在冲突避让标签时,则调用该冲突避让标签对应的冲突避让场景。接着,将仿真的无人驾驶车辆放入该冲突避让场景中。然后,记录无人驾驶车辆在该冲突避让场景中的行驶轨迹。最后,分析无人驾驶车辆的行驶轨迹,确认无人驾驶车辆的驾驶行为是否符合驾驶行为规范。
[0265]
如图12所示,无人驾驶车辆可以为车辆1、车辆2、或车辆3中的任意一辆。以车辆1是无人驾驶车辆为例,行驶的无人驾驶车辆会与车辆2、车辆3产生冲突。假设无人驾驶车辆、车辆2、车辆3的车速一致,需要计算无人驾驶车辆通过冲突点1和冲突点2的时间、车辆2通过冲突点1的时间、车辆3通过冲突点2的时间。
[0266]
对于冲突点1,如果无人驾驶车辆比车辆2先通过冲突1,则无人驾驶车辆作为前车,车辆2作为后车。对于冲突点2,如果车辆3比无人驾驶车辆先通过冲突2,则车辆3作为前车,无人驾驶车辆作为后车。如果无人驾驶车辆和车辆3通过冲突点2的时间差小于2s,则无人驾驶车辆需要做出避让动作。通过分析无人驾驶车辆的行驶轨迹,可以确认无人驾驶车辆通过冲突点2是否做出避让动作。如果无人驾驶车辆做出避让动作,比如,无人驾驶车辆做出停车或减速等避让操作,则该无人驾驶车辆在冲突避让场景中的驾驶行为符合驾驶行为规范。如果无人驾驶车辆没有做出避让动作,则该无人驾驶车辆在冲突避让场景中的驾驶行为不符合驾驶行为规范。
[0267]
基于图2中所示出的虚拟测试场景构建方法,结合专家经验和道路规范构建的静态本体模型可以体现静态本体间的设计约束,可以解决构建出的虚拟测试场景因不符合道路规范而导致的计算机遍历出的参数组合的取值不合理的问题。并且,基于该静态本体模型构建的动态本体模型可以体现动态本体与静态本体间的行为约束,进而基于上述行为约束和交通流仿真确定动态本体的行驶轨迹,可以解决基于自然驾驶数据提取的虚拟测试场景中的动态本体不能与无人驾驶车辆动态交互的问题,且可以剔除动态本体的不合理行为。如此,可以构建出大量合理、完备,且可以与无人驾驶车辆动态交互的虚拟测试场景,能够提高无人驾驶车辆的测试效率。
[0268]
以上结合图2-图12详细说明了本技术实施例提供的虚拟测试场景构建方法。以下结合图13-图14详细说明本技术实施例提供的虚拟测试场景构建装置。
[0269]
示例性地,图13是本技术实施例提供的虚拟测试场景构建装置的结构示意图一。如图13所示,虚拟测试场景构建装置1300包括:构建模块1301、确定模块1302和生成模块1303。为了便于说明,图13仅示出了该虚拟测试场景构建装置的主要部件。
[0270]
在一种可能的设计方案中,虚拟测试场景构建装置1300可适用于图1所示出的交通场景图中,执行图2所示的虚拟测试场景构建方法。
[0271]
其中,构建模块1301,用于结合道路规范和专家经验构建静态本体模型。其中,静态本体模型用于描述静态本体的设计约束。静态本体包括如下一项或多项:道路拓扑、道路基础设施、交通管制、或环境。
[0272]
构建模块1301,还用于基于静态本体模型构建动态本体模型。其中,动态本体模型用于描述动态本体的行为约束,动态本体包括如下一项或多项:车辆、行人、或动物。
[0273]
确定模块1302,用于结合交通流仿真,根据静态本体的设计约束和动态本体的行
为约束确定动态本体的行驶轨迹。
[0274]
生成模块1303,用于生成测试场景模型。其中,测试场景模型包括行驶轨迹,行驶轨迹用于测试无人驾驶车辆的驾驶行为是否满足设计需求。
[0275]
一种可能的设计方案中,构建模块1301,还用于定义静态本体类。其中,静态本体类用于描述静态本体对应的如下一项或多项:虚拟测试场景、道路、分隔带、车道、交通标志、天气、或光照条件。
[0276]
构建模块1301,还用于定义静态对象属性。其中,静态对象属性用于描述静态本体类间的映射关系。
[0277]
构建模块1301,还用于定义静态数据属性。其中,静态数据属性用于描述静态本体类的参数集合。
[0278]
构建模块1301,还用于定义静态设计规则。其中,静态设计规则用于描述静态本体类、静态对象属性和静态数据属性之间的映射关系,静态设计规则用于确定生成的虚拟测试场景的合理性。
[0279]
可选地,上述静态本体的设计约束包括如下一项或多项:道路间位置关系、道路与车道间位置关系、车道间位置关系、车道与分隔带间位置关系、车道线的位置和类型与车道和/或分隔带间的约束关系、交通标志与车道和/或分隔带间的位置关系。
[0280]
进一步地,构建模块1301,还用于定义动态本体类。其中,动态本体类用于描述动态本体对应的如下一项或多项:车辆、行人、或动物。
[0281]
构建模块1301,还用于定义动态对象属性。其中,动态对象属性用于描述动态本体类间的映射关系,以及动态本体与静态本体间的约束关系。
[0282]
构建模块1301,还用于定义动态数据属性。其中,动态数据属性用于描述动态本体类的参数集合。
[0283]
构建模块1301,还用于定义动态设计规则。其中,动态设计规则用于描述动态本体类、动态对象属性和动态数据属性之间的映射关系,动态设计规则用于确定生成的测试场景的合理性。
[0284]
可选地,上述动态本体的行为约束包括如下一项或多项:车辆与车道间位置关系、车辆间位置关系、车辆限速、车辆行驶方向约束、车辆转向约束、车辆换道约束、车辆切入约束、车辆切出约束。
[0285]
再进一步地,确定模块1302,还用于根据静态本体的设计约束、动态本体的行为和场景设计需求,约束确定动态本体的初始状态。
[0286]
确定模块1302,还用于结合交通流仿真,根据动态本体的初始状态确定动态本体的行驶轨迹。
[0287]
可选地,构建模块1301,还用于根据静态本体的设计约束、动态本体的行为约束和场景设计需求,以及测试目标和动态本体的行为模型,确定动态本体的初始状态。
[0288]
可选地,上述动态本体的行为模型包括如下一项或多项:跟驰模型、换道模型、信号灯反应模型、随机干扰模型、公交与行人行为模型、间隙接受模型、汇入模型、协作模型、或冲突避让模型。
[0289]
一种可能的设计方案中,如图13所示,虚拟测试场景构建装置1300,还可以包括获取模块1304和测试模块1305。其中,
[0290]
获取模块1304,用于获取无人驾驶车辆在第一测试场景下的驾驶行为。
[0291]
确定模块1302,还用于确定第二测试场景。其中,第二测试场景为第一测试场景中无人驾驶车辆的驾驶行为不满足设计需求的测试场景。
[0292]
生成模块1303,还用于对第二测试场景对应的参数区间进行加密采样,以生成第三测试场景。
[0293]
测试模块1305,用于针对第三测试场景进行测试。
[0294]
一种可能的设计方案中,如图13所示,虚拟测试场景构建装置1300,还可以包括添加模块1306。添加模块1306,用于基于静态本体与动态本体间的交互关系,为虚拟测试场景添加标签。其中,标签用于管理虚拟测试场景。
[0295]
需要说明的是,构建模块1301、确定模块1302、生成模块1303、获取模块1304、测试模块1305和添加模块1306可以是同一个处理模块。该处理模块可以执行上述各种模块所对应的功能。
[0296]
可选地,虚拟测试场景构建装置1300还可以包括存储模块(图13未示出),该存储模块存储有程序或指令。当上述处理模块执行该程序或指令时,使得虚拟测试场景构建装1300置可以执行图2所示的虚拟测试场景构建方法。
[0297]
需要说明的是,上述虚拟测试场景构建装置1300可以是任一网络设备,比如可以是服务器,也可以是设置于上述网络设备中的芯片(系统)或其他部件或组件,本技术实施例对此不做限定。
[0298]
此外,虚拟测试场景构建装置1300的技术效果,可以分别参考图2所示的虚拟测试场景构建方法的技术效果,此处不再赘述。
[0299]
示例性地,图14为本技术实施例提供的虚拟测试场景构建装置的结构示意图二。该虚拟测试场景构建装置可以是网络设备,比如可以是服务器,也可以是可设置于终端设备或网络设备的芯片(系统)或其他部件或组件。如图14所示,虚拟测试场景构建装置1400可以包括处理器1401。可选地,虚拟测试场景构建装置1400还可以包括存储器1402和/或收发器1403。其中,处理器1401与存储器1402和收发器1403耦合,如可以通过通信总线连接。
[0300]
下面结合图14对虚拟测试场景构建装置1400的各个构成部件进行具体的介绍:
[0301]
其中,处理器1401是虚拟测试场景构建装置1400的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器1401是一个或多个中央处理器(central processing unit,cpu),也可以是特定集成电路(application specific integrated circuit,asic),或者是被配置成实施本技术实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)。
[0302]
可选地,处理器1401可以通过运行或执行存储在存储器1402内的软件程序,以及调用存储在存储器1402内的数据,执行虚拟测试场景构建装置1400的各种功能。
[0303]
在具体的实现中,作为一种实施例,处理器1401可以包括一个或多个cpu,例如图14中所示出的cpu0和cpu1。
[0304]
在具体实现中,作为一种实施例,虚拟测试场景构建装置1400也可以包括多个处理器,例如图14中所示的处理器1401和处理器1404。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个
或多个通信设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0305]
其中,所述存储器1402用于存储执行本技术方案的软件程序,并由处理器1401来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
[0306]
可选地,存储器1402可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储通信设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储通信设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储通信设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1402可以和处理器1401集成在一起,也可以独立存在,并通过虚拟测试场景构建装置1400的输入/输出端口(图14中未示出)与处理器1401耦合,本技术实施例对此不作具体限定。
[0307]
收发器1403,用于与其他通信装置之间的通信。例如,虚拟测试场景构建装置1400为网络设备,收发器1403可以用于与终端设备通信,或者与另一个网络设备通信。
[0308]
可选地,收发器1403可以包括接收器和发送器(图14中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
[0309]
可选地,收发器1403可以和处理器1401集成在一起,也可以独立存在,并通过虚拟测试场景构建装置1400的输入/输出端口(图14中未示出)与处理器1401耦合,本技术实施例对此不作具体限定。
[0310]
需要说明的是,图14中示出的虚拟测试场景构建装置1400的结构并不构成对该通信装置的限定,实际的虚拟测试场景构建装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0311]
本技术实施例提供一种虚拟测试场景构建系统。该虚拟测试场景构建系统包括一个或多个网络设备。
[0312]
应理解,在本技术实施例中的处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0313]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随
机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0314]
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
[0315]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
[0316]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0317]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0318]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0319]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0320]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0321]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0322]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0323]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0324]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献