APP下载

基于本体和BN的无人车行为决策方法

2021-01-26黄志球沈国华王金永

系统工程与电子技术 2021年2期
关键词:无人驾驶车道本体

孙 雪, 黄志球,3, 沈国华,3, 王金永, 徐 恒

(1. 南京航空航天大学计算机科学与技术学院, 江苏 南京 211106; 2. 南京航空航天大学高安全系统的软件开发与验证技术工业和信息化部重点实验室, 江苏 南京 211106; 3. 软件新技术与产业化协同创新中心, 江苏 南京 210093)

0 引 言

无人驾驶车辆系统主要包括3部分:环境感知、行为决策和动作实施。相关研究涉及到很多学科内容,如:计算机技术、模式识别、自动控制等。行为决策系统决定了无人驾驶车辆行驶的安全性与合理性,因此提高智能化行为决策水平一直是研究者努力的方向[1]。尽管已经开展了众多研究,由于城市交通环境比高速交通环境具有更高的复杂性和不确定性,现有的决策系统在实时性、安全性等方面仍然存在很多不足。其中城市交通环境中的复杂性主要表现在交通参与者多、道路状况复杂、交通参与者之间交互频繁;不确定性主要体现在他车和行人行驶意图的不确定、传感器感知的不确定。

目前,无人驾驶车辆行为决策模型大致有基于规则的模型和基于统计的模型两大类。基于规则的模型是通过建立驾驶环境条件与驾驶动作之间的对应关系进行决策,计算效率比较高,但无法考虑驾驶环境中的不确定性。所以基于规则模型的准确性较低;基于统计的模型将驾驶环境中的不确定性考虑其中,提高了准确性,由于模型结构较复杂导致计算量较大,对模型结构进行实时更新工作量较大。

Gipps[2]基于车辆驾驶行为的安全性、期望性和必要性进行规则决策。有限状态机是常用的基于规则建模的方法。文献[3]中进行决策时用到了分层状态机,底层表示驾驶行为的转换条件及具体动作,中间层表示驾驶行为,顶层表示车辆的状态,但该方法当驾驶场景较复杂时,对驾驶状态的管理和划分比较麻烦,适合于简单场景。Furda等人[4]采用petri网进行决策,基于多标准决策设计了自动驾驶车辆的实时决策系统;从多个驾驶行为中,选择出安全且符合驾驶规则的行为。近年来,本体已经成功应用于自动驾驶领域。Amand等人[5]描述了如何将本体应用于交通参与者和基础设施之间的时空关系的模型交互上。黄璐[6]提出了基于本体的无人驾驶车辆场景评估方法。本体通过对驾驶场景元素及其之间的关系进行语义描述,将先验驾驶经验考虑其中,构建本体知识库,充分表达了驾驶场景中的多源异构信息。从而解决了目前的行为决策方法对驾驶场景信息描述不充分以及人类的先验驾驶经验无法有效充分利用造成的驾驶动作不合理的问题。

基于统计的模型考虑了交通道路环境中存在的不确定性。其中,最常用的决策模型是贝叶斯网络(Bayesian network, BN)和部分可观测马尔可夫决策过程(partially observable Markov decision process, POMDP)。Ulbrich等人[7]提出了一种基于非线性动态BN的驾驶场景建模方法,该方法提高了无人驾驶车辆在不确定环境下自主换道的可靠性,但是对驾驶场景的理解和表达能力不足。Brechtel等人[8]提出将连续状态层次BN转换模型嵌入POMDP模型中,一定程度上降低了时间的不确定性和环境感知的不确定性对行为决策的影响,但计算效率较低。Noh等人[9]对智能车辆决策系统使用BN进行情况评估和战略决策。Bouton等人[10]提出基于POMDP模型的在线信念状态规划方法。

城市道路环境中,无人驾驶车辆在行驶过程中会遇到很多复杂、不确定的因素。这些因素给无人驾驶车辆的行为决策系统带来了严峻的挑战。不合理的行为决策结果将导致重大交通事故。结合本体和BN的优势,本文提出了两者相结合的无人驾驶车辆行为决策模型。首先,根据无人驾驶车辆自身传感器感知到的驾驶场景信息,对驾驶场景进行本体建模,但构造出的本体无法表示驾驶场景中的不确定信息,对其进行概率扩展,使用Java开发工具包Jena进行解析。然后,以Netica应用程序接口为基础,将扩展后的驾驶场景本体转换为BN模型。最后,通过BN概率推理得到当前驾驶场景下无人驾驶车辆的最佳驾驶行为。

1 驾驶场景本体建模

本文行为决策方法框架如图1所示。

图1 行为决策方法框架Fig.1 Framework of behavior decision-making method

1.1 本体的基本概念

本体是一种统一的、规范的知识描述方法,通常用来描述领域知识。在计算机领域,本体从语义层次上描述知识,可以看成描述某个领域知识的一个通用概念模型[11]。

本体可表示为一个五元组(C,R,F,A,I)。其中,C是本体中的类集;R是类的层次关系集合;F为函数;A为公理;I是实例。

(1) 类或概念:领域内的概念,可以是实际存在的真实事物,也可以是抽象的概念。

(2) 关系:用于描述类与类之间的关系。

(3) 函数:是一种特殊的关系,该关系中前n-1个元素可以唯一决定第n个元素。

(4) 公理:表示永远成立的事实。

(5) 实例:某个类中真实存在的个例。

1.2 创建类

根据文献[12]给出的驾驶场景分层模型。本节给出了与行为决策相关的4个类:道路类、障碍物类、行为类和自身车辆类;3个与表示概率相关的类:概率类、状态类和变量类。本体类的层次关系如图2所示。

图2 类的层次关系Fig.2 Hierarchy relationship of classes

(1) 自身车辆类:自身车辆类描述了无人驾驶车辆自身的状况。如自身的速度、方向、与他车的相对速度和相对位置等。

(2) 行为类:行为类表示无人驾驶车辆驾驶行为的集合。分为横向行为和纵向行为。

(3) 障碍物类:障碍物类表示无人驾驶车辆在行驶过程中遇到的障碍物实体集合,包括行人和车辆。

(4) 道路类:表示无人驾驶车辆行驶道路的状况。包括路口、车道、车道线、人行横道、路面标记、交通灯和交通标志。

(5) 与表示概率相关的类中概率类有两个子类:先验概率类和条件概率类。

1.3 构建对象属性

对象属性描述了类和类之间的关系,通过定义域和值域对所描述的关系进行约束。从语义上讲,基本的关系共有4种:类与实例的关系、父类与子类的关系、局部与整体的关系、类的属性关系[13]。

(1) 自身车辆类/障碍物类和行为类的关系:车辆可以执行驾驶行为。因此车辆与行为动作之间具有决定的对象属性,其定义域是自身车辆类/障碍物类,值域是行为类。

(2) 自身车辆类/障碍物类和道路类的关系:车辆当前时刻在某个车道上行驶。所以车辆和车道之间具有在车道上的属性,其定义域是自身车辆类/障碍物类,值域是车道;车道与车道之间有左车道、右车道属性,其定义域和值域都是车道;车道与车道线之间有左车道线、有右车道线的属性。定义域是车道,值域是车道线。

(3) 自身车辆类和障碍物类的关系:自身车辆与障碍物之间有相对位置的关系,再者障碍物会影响自身车辆的驾驶动作。定义域是障碍物类,值域是自身车辆类。

下面给出部分关系属性和部分数据属性,分别如表1和表2所示。

表1 部分关系属性

表2 部分数据属性

1.4 实例化

本体知识库由断言工具箱(简称为ABox)和术语工具箱(简称为TBox)组成。TBox主要包含了具体领域的背景知识,如概念、关系、定理、约束条件以及推理规则等。ABox主要包含了具体领域的情景知识,如类的实例/对象以及它们之间的关系等。ABox是对TBox中的概念模型的实例化表示,给出类存在的一些实例[14]。本体的知识库由TBox和ABox共同组成。将构建好的驾驶场景本体作为无人驾驶领域的知识库,将本体明确的形式化的描述特性充分发挥出来。

无人驾驶车辆自主行驶过程中的一个驾驶场景如图3所示,图3中显示自身车辆处在T型路口区域。

图3 驾驶场景Fig.3 Driving scenario

(1) 行为类:纵向行为包括加速、减速、保持速度和停车;横向行为包括直行向右变道和向左变道。如图4所示。

(2) 障碍物类:无人驾驶车辆同车道前方车辆、右车道前方车辆和右车道后方车辆。如图5所示。

图4 行为类Fig.4 Class of Behavior

图5 障碍物类Fig.5 Class of Obstacle

(3) 道路类:无人驾驶车辆在左车道行驶,其右方车道为右车道;车道线有实线和虚线;路面标记包括直行路面标记、右转路面标记、直行右转路面标记;交通标志包括限速40 km/h。如图6所示。

该驾驶场景下的本体模型结构如图7所示。

图6 道路类Fig.6 Class of Road

图7 驾驶场景本体模型结构Fig.7 Ontology model structure of driving scenario

本体模型结构实现了对驾驶场景中的类/实体的状态和语义关系的结构化表达。根据对驾驶场景的分析,通过该本体模型充分表达了驾驶场景中的多源异构信息以及参与者之间的时空交互关系[15],为下面根据驾驶场景得到最佳驾驶动作提供了场景理解信息。

2 BN

2.1 BN的基本概念

BN是概率论与图论相结合的产物,用来表示变量之间概率依赖关系的有向无环图。适用于不确定性知识的表达和推理。BN由有向无环图和条件概率表(conditional probability table, CPT)组成。有向无环图中的节点表示随机变量X={X1,X2,…,Xn},节点之间的边表示节点之间具有依赖关系,由父节点指向子节点。CPT表示子节点与父节点之间依赖程度,用概率值去量化,有

P(Xi|Xi-1,…,X1)=P(Xi|Pa(Xi))

(1)

式中,Pa(Xi)是节点Xi的父节点集合。

2.2 BN的学习和推理

BN的学习是通过当前时刻新的证据对先前建立的BN进行更新的过程,包括结构学习和参数学习。参数学习是已知BN的结构,去确定CPT。结构学习是既要确定BN结构,又要确定CPT。

本节在结构已知、单个参数、完整数据的情况下用最大似然估计(maximum likelihood estimation, MLE)对BN进行学习。给定一个概率分布D,假设其概率密度函数或概率分布函数为fD,以及一个分布参数θ,可以从这个分布中抽取一个具有n个值的采样X1,X2,…,Xn,通过fD,就可以计算出它的概率[16],表示为

P(X1,X2,…,Xn)=fD(X1,X2,…,Xn|θ)

(2)

似然函数为

(3)

对似然函数两边取对数:

(4)

对InL(θ)求导数并令之为0:

(5)

式(5)为对数似然方程,解这个方程得到的值就是未知参数的最大值。把θ带入式(2)中即可得所求最大概率[17]。

BN推理是指利用BN的结构及其CPT,在新的情况下计算可能取值的最大概率值的问题。BN推理问题有3大类:后验概率问题、最大可能解释问题和最大后验假设问题。本文主要利用BN的后验概率问题进行推理。后验概率问题是指已知BN中某些节点的概率值,根据这些概率值计算其他一些节点在新的先验概率下概率值的问题,最后选择最大的后验概率值对应的节点状态为当前状态。BN的推理分为4种:

(1) 预测推理:根据先验证据,求出在先验概率发生的条件下某些结果发生的概率。

(2) 诊断推理:已知结果,求出导致该结果发生的各种原因的概率。

(3) 支持推理:结果产生了,造成该结果产生的原因很多,需要找出各种原因发生的概率以及这些原因之间的关系和相互影响的程度。

(4) 包含上述多种类型的推理。

本文主要利用的是预测推理,根据无人驾驶车辆当前驾驶环境以及周围障碍车辆可能采取的驾驶动作进行决策推理。

BN推理的主要步骤如下:

步骤 1确定节点的先验概率以及具有依赖关系的节点之间的条件概率;

步骤 2确定在当前时刻一些节点的概率值;

步骤 3根据需求选择合适推理算法,用概率推理求相关节点的条件概率值。

实际上BN推理的过程就是实现Bayes公式的过程:在已知某些节点的概率P(Xi)或者已知证据(记作E)时求未知节点Xj取某一特定值e的概率,即计算条件概率

(6)

3 基于本体驱动的BN行为决策方法

3.1 本体向BN的转换

BN中的节点代表随机变量,节点之间的依赖关系用有向边来表示,有向边由父节点指向子节点,并用CPT来表示一个变量对另一个变量的影响程度。本体中包含了很多的类/实例,类/实例又通过对象属性联系起来。由此可见,本体和BN之间就结构方面存在一定的映射关系。可以将本体中的类/实例映射为BN中的节点,根据本体中的类/实例之间的对象属性映射为BN的有向边。如果对本体进行概率扩展,使本体也具有概率信息,就可以将本体转换为BN。本体向BN转换过程如图8所示。

图8 转换过程Fig.8 Conversion process

转换过程分为3个步骤:

步骤 1使用Web本体语言(web ontology language, OWL)按道路情况和车辆情况构建无人驾驶车辆驾驶场景本体,将驾驶场景信息按类表示。由于OWL描述的都是概念之间明确的关系,要么为真,要么为假,不能表示不确定的信息[18]。所以在构造本体时加入了与概率相关的类,用概率的方式去表示不确定性信息,并将不确定信息的概率内容附加在本体上。

步骤 2使用OWL对无人驾驶车辆驾驶场景本体进行概率扩展后,接着利用Java开发工具包Jena对领域本体进行解析得到本体中的类/实例关系以及先验概率和条件概率信息。

通过OWL建立好本体后,接下来使用本体的时候通过OWL文件直接获取就可以。通过调用Jena OntoModel的Read方法:ontModel.read(“file:E:/tool/AutonomousVehicle.owl”),读取AutonomousVehicle.owl文件去建立本体模型[19]。然后利用Jena对本体进行解析,解析成BN工具Netica可读的信息,如下:

类-实例信息:

……………………

冒号前的类对应BN中的节点,冒号后的实例对应BN节点的取值。

类-类信息:

……………………

括号内的两个类具有依赖关系,这两个类对应BN中边的两个节点,前者表示父节点,后者表示子节点。

先验概率信息:

P(Line=Solid)=0.5

P(Line=Dotted)=0.5

……………………

条件概率信息:

P(RightFrontCar=Decelerate|Obstacle=Exit)=0.491

P(RightFrontCar=TurnRight|Obstacle=Exit)=0.509

P(RightFrontCar=Decelerate|Obstacle=Exit)=0.491

……………………

步骤 3最后用Netica提供的Java API接口根据这些信息将本体转换成BN,通过BN进行概率推理,最大的概率值对应的驾驶动作即为当前驾驶场景下的最佳驾驶动作[19]。

BN和本体的映射关系如下:

(1) BN中的节点来自于本体中的类和实例;

(2) BN中的边是根据本体的类与类和类与实例之间的关系确定的,即本体的对象属性,在具有依赖关系的节点之间添加一条有向边,父节点指向子节点[20-21];

(3) BN中的CPT内容都来自于解析本体时得到的先验概率信息和条件概率信息[22]。

3.2 基于最大后验概率的Bayes推理

本节采用Netica作为BN的可视化推理工具[23]。通过以上步骤由驾驶场景下无人驾驶车辆领域本体得到驾驶场景下由本体驱动的BN,然后根据驾驶场景及其周围车辆的驾驶状况,结合式(2)~式(5)对BN进行更新,计算出当前驾驶场景下无人驾驶车辆可能采取的驾驶动作的概率。其中概率值最大的驾驶动作即为当前驾驶场景下无人驾驶车辆所要采取的驾驶动作。用此方法,T型路口处驾驶场景的初始BN如图9所示。其中,

E1:V1<4 m/s &D2<25 m &D3<15 m

E2:V1<4 m/s & 25

E3:V1<4 m/s & 25

E4: 4 m/s

E5:4 m/s

E6:4 m/s

V1是无人驾驶车辆与本车道前方车辆的相对速度;D2是无人驾驶车辆与右方车道前方车辆的相对距离;D3是无人驾驶车辆与右方车道后方车辆的相对距离。无人驾驶车辆在驾驶环境下可能采取的驾驶动作的概率值就是根据与周围车辆的相对速度和相对距离所在区间的概率取值计算得到的。BN中的节点及其含义如表3所示。

表3 BN节点及其含义

整个BN描述了3部分信息[24]:

(1) 道路状况

当前无人驾驶车辆行驶的道路为两车道,无人驾驶车辆在左车道行驶。车道有左车道线和右车道线。右车道线为虚线,表明当无人驾驶在行驶过程如果有向右变道需要,在周围环境满足换道条件时可进行右转。

图9 T型路口驾驶场景BNFig.9 BN of T-junction driving scenario

(2) 无人驾驶车辆周围障碍车辆可能采取的驾驶动作

在T型路口处,无人驾驶车辆周围有3辆障碍车辆:前方车辆,该车辆位于左车道;右前方车辆,该车辆位于右车道;右后方车辆,该车辆位于右车道。当前驾驶场景下,前方车辆可能会采取两种驾驶动作:当前车道下减速行驶和当前车道下保持原有速度行驶;右前方车辆可能采取的驾驶动作是:路口右转或路口减速直行;右后方车辆可能采取的驾驶动作是:保持速度原车道行驶,原车道加速行驶。障碍物车辆在当前驾驶环境下可能采取的驾驶动作是无人驾驶车辆在行驶环境中遇到的一种不确定性[25],所以我们要充分考虑到障碍物车辆在当前驾驶环境下可能采取的驾驶动作,这对无人驾驶车辆行驶的安全性至关重要。

(3) 无人驾驶车辆在当前驾驶场景下要采取的驾驶动作

无人驾驶车辆在当前驾驶场景下可能采取的驾驶动作主要是根据道路状况以及周围障碍车辆采取的驾驶动作决定的,所以本文将周围障碍车辆可能采取的驾驶动作作为不确定性放在BN中考虑。将道路状况和周围障碍车辆可能采取的驾驶动作对应到无人驾驶车辆与周围障碍车辆相对速度和相对距离的区间内,然后计算无人驾驶车辆可能采取的横向驾驶动作和纵向驾驶动作的概率取值。根据周围障碍车辆可能采取的驾驶动作的概率值和无人驾驶车辆与前方车辆的相对速度,与右前方车辆,右后方车辆的相对距离来决定无人驾驶车辆的驾驶动作。用最大后验概率推理得无人驾驶车辆可能采取动作的概率,概率值最大的驾驶动作即为无人驾驶车辆在当前驾驶环境下要采取的横向驾驶动作和纵向驾驶动作。

当无人驾驶在左车道行驶,前方车辆原车道减速,右前方车辆右转,右后方车辆原车道保持速度行驶时,对初始BN进行更新推理,得到如图10所示的BN(a)。

图10 更新后的BN(a)Fig.10 Updated BN(a)

对BN的学习包括结构学习和参数学习[26]。结构学习是通过上述方法得到无人驾驶车辆在T型路口当前驾驶环境下的本体结构,然后通过转换规则得到当前驾驶环境下无人驾驶车辆在T型路口的BN结构。当BN结构被定义好之后,就要对BN结构进行参数学习,根据先前证据去估计节点的条件概率分布的模型参数。由于车辆行驶数据集服从高斯分布,即模型参数θ的先验分布g(θ)服从高斯分布,如下所示:

(7)

式中,μ为数学期望;σ为方差。

通过Bayes公式,对于θ的后验分布如下所示:

(8)

根据式(8)在Bayes公式条件下求模型参数θ。x为独立同分布的数据采样,f为分布模型。对模型参数进行微分,求解不定式,最后得到BN模型下的分布函数[27]。

用下式根据分布函数求最大后验分布值:

(9)

将由式(8)计算得到的行为模型参数θ代入到式(9)中,此时BN的结构和参数都已经确定。然后对BN模型的分布函数进行最大值求解。最后得到的值即为所求的最大后验分布值。

本文中无人驾驶车辆的驾驶动作由横向驾驶动作和纵向驾驶动作组成。只要计算出无人驾驶车辆在当前驾驶环境下可能采取的横向驾驶动作和纵向驾驶动作的概率值,就可以得到无人驾驶车辆在当前驾驶环境下所要采取的驾驶动作,其中取值最大的即为无人驾驶车辆在当前驾驶环境下所要采取的横向驾驶动作和纵向驾驶动作。通过上述最大后验概率计算方法,能得到无人驾驶车辆可能采取的横向驾驶动作和纵向驾驶动作的概率。可能采取的横向驾驶动作为直行和右转;可能采取的纵向驾驶动作为加速、减速、保持速度和停车等待。从BN(a)中可以看到横向驾驶动作最大概率为P(TurnRight)=0.562;纵向驾驶动作最大概率为 P(Decelerate)=0.412。所以当前方车辆原车道减速,右前方车辆右转,右后方车辆原车道保持速度行驶时,无人驾驶车辆减速向右变道。

同理,当前方车辆原车道减速,右前方车辆右转,右后方车辆原车道加速时,对原来的BN进行更新推理,得到如图11所示的BN(b)。

图11 更新后的BN (b)Fig.11 Updated BN (b)

同理,通过计算得无人驾驶车辆可能采取的横向驾驶动作和纵向驾驶动作的概率。横向驾驶动作最大概率为P(GoStraight)=0.594纵向驾驶动作最大概率为P(Decelerate)=0.378。

所以当前方车辆原车道减速,右前方车辆右转,右后方车辆原车道加速时,无人驾驶车辆采取原车道减速行驶。

4 仿真实验

4.1 Prescan和场景建模

Prescan是一个用于驾驶辅助系统以及交通道路场景建模的车辆仿真应用软件,其界面提供了构建驾驶场景的各种元素,如车辆、道路、建筑物、道路标志等,还可以设置每个路段上车辆的行驶速度和行驶路径,将驾驶场景元素模型拖拽到新建界面就可以搭建驾驶场景[28]。Prescan还可以实现和Simulink的联合,在Simulink中生成相应的车辆,行人等控制模块[29],从而实现对其的控制和操作。整个仿真实验由4部分组成[30],如图12所示。

图12 仿真实验步骤Fig.12 Steps of simulation experiment

(1) 用Prescan搭建相应的交通场景,如图13所示。仿真驾驶场景1是一个T型路口,主道路为同向两车道,右方T字区域为单向双车道,车道均限速40 km/h。一开始无人驾驶车辆(红色汽车)在主道路行驶,然后行驶至T型路口区域。自身车辆周围有3辆车,分别设定好固定的行驶轨迹和行驶速度,规定无人驾驶车辆本车道前方车辆一开始以5 m/s匀速行驶,然后进行减速。右边车道后方车辆以6 m/s的速度匀速直线行驶,右边车道前方车辆以6 m/s匀速行驶,然后进行减速,在T型路口处右转。

仿真驾驶场景2是一个具有人行横道的双向四车道,车道均限速40 km/h。周围车辆都以5 m/s的速度匀速直线行驶,人行横道处减速行驶。

仿真驾驶场景3是一个双向四车道,车道均限速40 km/h,周围车辆都以5 m/s的速度匀速直线行驶,人行横道处减速行驶。无人驾驶车辆(红色汽车)在行驶过程中遇到了行人横穿道路的突发情况。

(2) Prescan的传感器库中有各种功能的传感器,与真实传感器的效果一样。我们要根据仿真实验的目的选择合适的传感器,以求达到真实模拟的效果。

图13 仿真驾驶场景Fig.13 Simulation driving scenarios

(3) 在Simulink中搭建相应的动力学控制系统,如车辆动力模型。交通场景搭建好后,通过Prescan可直接运行Simulink进行决策控制算法的搭建,系统搭建的Simulink仿真模型包括动力学模块和行为模块,如图14所示。

图14 动力学模型Fig.14 Dynamical model

无人驾驶车辆通过自身的传感器和雷达系统将感知到的环境信息输送给决策模块进行决策。先根据行驶道路路况以及周围车辆的行驶情况判断车辆所属驾驶场景,将驾驶场景信息作为输出传递给行为模块,行为模块根据自身车辆与周围车辆的相对速度和距离进行行为决策,从而在当前时刻控制车辆的行驶。决策模块将决策信息转换为轮偏角信息输出给车辆动力学模型进行控制,使车辆作出相应的驾驶动作。

(4) 运行实验。根据Prescan/Simulink联合仿真,可以得到无人驾驶车辆的运行轨迹、速度、加速度等信息,可以从输出的数据和图形中观察到无人驾驶车辆的行驶状态。

4.2 实验结果分析

无人驾驶车辆在当前时刻的驾驶环境下所要采取的驾驶动作实际是由横向驾驶动作和纵向驾驶动作组成的。横向驾驶动作是由车辆的横向加速度体现的,纵向动作是由纵向加速度体现的。正常情况下,车辆如果跟随前方车辆行驶,车辆的横向加速度维持在-2~2 m/s2。无人驾驶车辆在变道或超车行为决策过程中,横向加速度的变化都比较大(本实验规定车辆右转的横向加速度为正值)。无人驾驶车辆在驾驶场景1行驶过程中的横向加速度和纵向加速度的变化如图15所示。

图15 驾驶场景1中的加速度Fig.15 Acceleration in driving scenario 1

从横向加速度来看,横向加速度值在区间-1~4 m/s2内,可知在这段仿真实验时间内,无人驾驶车辆的横向驾驶动作只有直行和右转,没有采取左转的横向驾驶动作。15~20 s,无人驾驶车辆的横向加速度值突然增加,变化幅度很大,可见在这段时间内无人驾驶车辆采取了向右变道的横向驾驶动作。由于驾驶道路中限速40 km/h,从纵向加速度来看,纵向加速度的变化幅度并不大,以相对平稳的速度行驶。

行为决策结果以及无人驾驶车辆运行轨迹如图16和图17所示。初始阶段,无人驾驶车辆加速行驶,然后根据与前方车辆的相对速度调整自己的车速,跟车行驶。T型路口处,左车道车辆增多,行驶速度缓慢,无人驾驶车辆也随之减速跟车行驶。此时右车道前方车辆右转,与右车道前后方车辆的相对距离符合变道条件,此时无人驾驶车辆采取向右变道,驶入车辆较少的右车道行驶,然后根据前方车辆的行驶状况,调整行驶速度跟车行驶。

图16 驾驶场景1中的驾驶动作Fig.16 Driving actions in driving scenario 1

图17 驾驶场景1中的行驶轨迹Fig.17 Trajectory in driving scenario 1

无人驾驶车辆在驾驶场景2行驶过程中的横向加速度和纵向加速度如图18所示。

图18 驾驶场景2中的加速度Fig.18 Acceleration in driving scenario 2

横向加速度在10~15 s时间段内,变化范围较大,其余时间段都变化不大,无人驾驶车辆在仿真时间段大部分时间都在跟车行驶,为加快驾驶任务,进行了一次右转。由于驾驶道路中限速40 km/h,纵向加速度整个过程变化不大,车辆行驶的比较平稳,采取的驾驶动作都比较合理。

行为决策结果以及无人驾驶车辆运行轨迹如图19和图20所示。

初始阶段,无人驾驶车辆加速行驶,该驾驶场景中,车辆较多,无人驾驶车辆根据周围车辆驾驶状态调整车速跟车行驶。为快速完成驾驶任务,通过传感器和雷达感知到与周围车辆的距离满足变道条件且车道线类型为白虚线,无人驾驶车辆右转进入同方向的右车道,无人驾驶车辆加速行驶。由于前方人行横道处有行人通过,无人驾驶车辆减速行驶,直至停车等待行人通过。

图19 驾驶场景2中的驾驶动作Fig.19 Driving actions in driving scenario 2

图20 驾驶场景2中的行驶轨迹Fig.20 Trajectory in driving scenario 2

无人驾驶车辆在驾驶场景3行驶过程中的横向加速度和纵向加速度如图21所示。横向加速度在24~28 s时间段内,变化范围较大,在这段时间内,无人驾驶车辆在为加快驾驶任务,进行了一次左转。其余时间段变化不大。在第8 s时由于有行人突然横穿道路,需要车辆立即停车,无人驾驶车辆紧急刹车,纵向加速度发生了剧烈的变化。车辆重新启动后,加速度变化还比较平稳。采取的驾驶动作都比较合理。

图21 驾驶场景3中的加速度Fig.21 Acceleration in driving scenario 3

行为决策结果以及无人驾驶车辆运行轨迹如图22和图23所示。

图22 驾驶场景3中的驾驶动作Fig.22 Driving actions in driving scenario 3

图23 驾驶场景3中的行驶轨迹Fig.23 Trajectory in driving scenario 3

初始阶段,无人驾驶车辆加速行驶,达到一定的速度后跟车行驶。由于有行人突然横穿马路,无人驾驶车辆紧急刹车,直至停车,等待行人通过前方道路后重新启动。之后的驾驶过程为加快行驶任务中进行了一次左换道,进入左车道后调整行驶速度直行,人行横道处减速行驶,通过人行横道后调整行驶速度直行。

从不同驾驶场景的实验结果看,该方法能够在城市交通道路行驶时给出安全合理的驾驶行为,验证了在城市交通道路环境下无人驾驶车辆基于本体和BN进行行为决策的有效性。

5 结 论

本文针对城市交通道路环境中较高的复杂性和不确定性给无人驾驶车辆行为决策系统带来的问题,深入研究了行为决策系统中的驾驶场景理解和驾驶动作生成,提出了将本体语义表达和BN概率推理相结合的行为决策方法。本文工作如下:

(1) 使用本体作为驾驶场景信息的语义表达形式,解决了城市交通环境中多源异构信息表达不充分以及先验驾驶经验无法有效利用所带来的驾驶行为决策准确性偏低的问题;

(2) 将带有概率信息的驾驶场景本体模型转换为BN模型,用概率的方式将驾驶环境中他车行驶意图的不确定性考虑到行为决策中,用BN推理的方法得到当前驾驶场景下的最佳驾驶行为,提高了无人驾驶车辆行驶的安全性。

本文以城市交通环境下的3个不同驾驶场景为实验环境,通过Prescan/Simulink联合仿真实验验证了本文所提方法的有效性。但文章还存在不足之处,需要继续研究:

(1) 本文对BN的参数的学习主要是通过数学公式以及Netica实验工具实现的,接下来可以尝试通过机器学习的方法对BN进行参数学习;

(2) 本文主要是从车辆驾驶的安全性去评估驾驶行为的,但在真实生活中,还需要考虑更多的因素,如乘客的舒服度等。下一步可以考虑在行为决策方法中引入效用节点,从更多的方面对驾驶行为作出评估。

猜你喜欢

无人驾驶车道本体
我们村的无人驾驶公交
北斗+手机实现车道级导航应用
避免跟车闯红灯的地面车道线
浅谈MTC车道改造
无人驾驶车辆
无人驾驶公园
基于本体的机械产品工艺知识表示
《我应该感到自豪才对》的本体性教学内容及启示
低速ETC/MTC混合式收费车道的设计与实现
专题