当前位置: 首页 > news >正文

自动驾驶决策概况

文章目录

  • 1. 第一章行为决策在自动驾驶系统架构中的位置
  • 2. 行为决策算法的种类
    • 2.1 基于规则的决策算法
      • 2.1.1 决策树
      • 2.1.2 有限状态机(FSM)
      • 2.1.3 基于本体论(Ontologies-based)
    • 2.2 基于统计的决策算法
      • 2.2.1 贝叶斯网络(BN)
      • 2.2.2 马尔可夫决策过程(MDP)
      • 2.2.3 部分可观察马尔可夫决策过程(POMDP)
    • 2.3 基于端到端的决策算法
  • 参考文献

1. 第一章行为决策在自动驾驶系统架构中的位置

    Claudine Badue[1]等人以圣西班牙联邦大学(UFES)开发的自动驾驶汽车(Intelligent Autonomous Robotics Automobile,IARA)为例,提出了自动驾驶汽车的自动驾驶系统的典型架构。如图所示,自动驾驶系统主要由感知系统(Perception System)和规划决策系统(Decision Making System)组成。感知系统主要由交通信号检测模块(Traffic Signalization Detector,TSD)、移动目标跟踪模块(Moving Objects Tracker,MOT)、定位与建图模块(Localizer and Mapper)等组成。规划决策系统主要由全局路径规划模块(Route Planner)、局部路径规划模块(Path Planner)、行为决策模块(Behavior Selector)、运动规划模块(Motion Planner)、自主避障模块(Obstacle Avoider)以及控制模块(Controller)组成。
在这里插入图片描述

图1-1 自动驾驶系统架构图

    行为决策在此架构中主要是由行为决策模块完成的。行为决策模块负责选择当前的驾驶行为,如车道保持、十字路口处理、红绿灯处理等。该模块选取一组路径 PPP中的一条路径 pjp_jpj,以及 pjp_jpj中的一个位姿点 pgp_gpg,该位姿点大致位于汽车决策前的5s左右(这被称为决策视野),并设立目标速度与目标位姿 Goalg=(pg,vg)Goal_g=(p_g,v_g)Goalg=pgvg。行为决策模块选择一个考虑当前驾驶行为的目标路径,并在决策视野内避免与环境中静态和移动障碍物的碰撞。

2. 行为决策算法的种类

    行为决策模块负责选择当前的驾驶行为,如车道保持、十字路口处理、红绿灯处理等。该模块选取一组路径PPP中的一条路径pjp_jpj,以及pjp_jpj中的一个位姿点pgp_gpg,该位姿点大致位于汽车决策前的5s左右(这被称为决策视野),并设立目标速度与目标位姿Goalg=(pg,vg)Goal_g=(p_g,v_g)Goalg=pgvg。行为决策模块选择一个考虑当前驾驶行为的目标路径,并在决策视野内避免与环境中静态和移动障碍物的碰撞。

    自动驾驶行为决策不得不考虑一些有关伦理道德的问题,例如,当自动驾驶汽车发生交通事故时,应该优先保护其他交通参与者——行人的安全还是优先保护自己车上乘客的安全?在这里插入图片描述

图2-1 应该优先保护乘客还是行人?

    E. Awad团队 [2]通过从年龄、教育、性别、收入、政治和宗教等多个方面对调查人员进行标记,并统计他们的选择(选择左边代表优先保护乘客,选择右边代表优先保护行人)。据他们的统计发现,更多的人们倾向于保护行人,尤其是婴幼儿、男孩、女孩等未成年人。 在这里插入图片描述
图2-2 优先保护对象的统计图

    自动驾驶汽车必须处理各种道路和城市交通情况。许多文献将行为选择问题根据不同的交通场景进行划分,以便解决问题,这类方法成为集中式决策。集中式决策中主要有基于规则的决策算法和基于统计的决策算法。还有一些文献采用的是端到端的方法,例如使用CNN [3]来处理自动驾驶的相关问题。 在这里插入图片描述
图2-3 CNN架构图,该网络大约有2700万个连接和25万个参数

    在DARPA城市挑战赛,用于不同驾驶场景的主要方法有启发式组合法 [4]、决策树 [5,6]、有限状态机(FSM) [7]和贝叶斯网络 [5]。上述的这些方法在一些简单的、限定的场景里可以实现,表现良好,但对复杂场景,例如中高密度的城市路网交通流,算法的稳定性与适应性就稍欠理想。

    此外,近年来,基于状态机的方法得到改进并与其他方法融合,以应对更多的真实城市交通场景,例如X. Han[8]等人在现有研究的基础上,提出了一种通过层次框架具有组织行为的综合多车道平台算法。该算法在战略任务层面上,开发了一种基于确定性有限状态机(FSM)的平台化行为协议来指导成员的操作。此外,他们以FSM为基线训练遗传模糊系统,以扩展算法在入口匝道合并场景下的能力。基于本体论[9](Ontologies-based)的方法同样也可以作为一个场景建模的工具。该方法主要基于知识库进行行为决策。

    除此之外,一些方法考虑了决策过程中的其他交通参与者的决策意图以及运动轨迹的不确定性,例如马尔可夫决策过程[10](MDP)和部分可观察马尔可夫决策过程[11](POMDP)。

2.1 基于规则的决策算法

2.1.1 决策树

    决策树是依据决策建立起来的、用来分类和决策的树结构。概括地说,决策树算法的逻辑可以描述为if-then, 根据样本的特征属性按照“某种顺序”排列成树形结构,将样本的属性取值按照if-then逻辑逐个自顶向下分类,最后归结到某一个确定的类中[5]。“某种顺序”是指决策树的属性选择方法。以二叉决策树为例,树形结构由结点和边组成,决策树的结点代表分类问题中样本的某个属性,边的含义为是与否两种情况,即样本属性取值是否符合当前分类依据。

    决策树学习的关键在于选择划分属性。属性的选择流程可简略表述为:首先,计算训练样本中每个属性的“贡献度”,选择贡献最高的属性作为根结点。根结点下扩展的分支将依据根结点所代表属性的取值决定。然后,将已经被选择为结点的属性从候选属性集中剔除,接着不断重复进行候选属性集合中剩余属性的“贡献度”的计算和选择,直至达到预设的模型训练阈值(例如达到决策树最大深度)。最后,得到一棵能较好地拟合训练样本分布的决策树模型。

    常见的决策树算法有以下三种:

  1. ID3(iterative dichotomiser 3)算法:

    信息增益大的属性优先。首先,计算所有候选属性的信息增益,选择其中信息增益最大的属性作为根结点。然后,按照根结点所代表属性的取值决定分支情况。其次,将已选择属性从候选集中删除,并计算剩余属性的信息增益。最后,选择信息增益最大的结点作为子结点,直至所有属性都已选择。信息熵是用来衡量样本纯度指标的,是计算信息增益的前提,定义为:Ent(D)=−∑K=1∣K∣pklog⁡2pkEnt(D) = - \sum\limits_{K = 1}^{\left| K \right|} {{p_k}{{\log }_2}{p_k}} Ent(D)=K=1Kpklog2pk式中 DDD——样本集合;
    pk——Dp_k——Dpk——D中第kkk类样本所占的比例,其计算方式为:pk=∣Ck∣∣D∣{p_k} = \frac{{\left| {{C_k}} \right|}}{{\left| D \right|}}pk=DCk式中 CkC_kCk——集合D中属于第k类样本的样本子集。
    假设DDD中某个具有VVV个取值的属性为AAA,取值分别为a1,a2,…,aV{a_1,a_2,…,a_V}a1,a2,,aV。根据不同的取值将DDD中的样本划分为VVV个子集。其中,取值为ava_vav的样本属于第vvv个子集,记作DvD_vDv
    根据式(2-1)可以计算出样本DvD_vDv的信息熵。通过增加各分支权重∣Dv∣/∣D∣|D_v|/|D|Dv∣/∣D使样本数量多的结点具有更大的“影响”。首先,计算属性AAA对于数据集DDD的条件熵Ent(D∣A)Ent(D|A)Ent(DA):Ent(D∣A)=∑v=1V∣Dv∣∣D∣Ent(Dv)=−∑v=1V∣Dv∣∣D∣(∑k=1K∣Dvk∣∣Dv∣log⁡2∣Dvk∣∣Dv∣)\begin{array}{c}Ent(D|A) = \sum\limits_{v = 1}^V {\frac{{\left| {{D^v}} \right|}}{{\left| D \right|}}} Ent({D^v})\\ = - \sum\limits_{v = 1}^V {\frac{{\left| {{D^v}} \right|}}{{\left| D \right|}}} \left( {\sum\limits_{k = 1}^K {\frac{{\left| {{D^{vk}}} \right|}}{{\left| {{D^v}} \right|}}{{\log }_2}\frac{{\left| {{D^{vk}}} \right|}}{{\left| {{D^v}} \right|}}} } \right)\end{array}Ent(DA)=v=1VDDvEnt(Dv)=v=1VDDv(k=1KDvDvklog2DvDvk)    再计算用属性aaa对样本集合DDD进行划分所得的信息增益=信息熵-条件熵:Gain(D,a)=Ent(D)−Ent(D∣A)Gain(D,a) = Ent(D) - Ent(D|A)Gain(D,a)=Ent(D)Ent(DA)    通过对所有属性的信息增益进行计算,选择信息增益最大的属性作为结点添加入树,重复进行属性的信息增益计算和选择过程,最终构建出一棵分类决策树。

  1. C4.5算法:

    信息增益率大于平均值的属性优先。信息增益率即为各属性信息增益所占比例。因此,属性取值的个数越少,信息增益率反而越高,这就导致信息增益率准则更偏向于取值个数少的属性。因此,在ID3算法中各属性信息增益计算的基础上,C4.5算法运用了一个启发式原则:首先,计算每个属性的信息增益率,进而计算所有属性的平均信息增益率。然后,按照信息增益率与平均信息增益率的大小关系,将属性分为两类。最后,选择信息增益率大于平均值,且数值最大的属性。信息增益率的计算方式为:Gainratio(D,A)=Gain(D,A)HA(D)Gai{n_{ratio}}(D,A) = \frac{{Gain(D,A)}}{{{H_A}(D)}}Gainratio(D,A)=HA(D)Gain(D,A)    式中 HA(D)H_A(D)HA(D)——与属性AAA有关的定值。通常,取值为样本集合DDD的信息熵:HAD=−∑v=1V∣Dv∣∣D∣log⁡2∣Dv∣∣D∣{H_A}D = - \sum\limits_{v = 1}^V {\frac{{\left| {{D^v}} \right|}}{{\left| D \right|}}} {\log _2}\frac{{\left| {{D^v}} \right|}}{{\left| D \right|}}HAD=v=1VDDvlog2DDv    施发园[6]基于C4.5算法,以目标车道后方车辆与换道车辆横向距离X1X_1X1、目标车道后方车辆与换道车辆纵向距离Y1Y_1Y1、目标车道前方车辆与换道车辆纵向距离Y2Y_2Y2、目标车道后方车辆与换道车辆速度差v1v_1v1、目标车道前方车辆与换道车辆速度差v2v_2v2、目标车道后方车辆与换道车辆加速度差a1a_1a1、目标车道前方车辆与换道车辆加速度差a2a_2a2等作为影响因素进行分类。得到的“if-then”分类规则如表2-1所示。

表2-1决策树分类规则

在这里插入图片描述

  1. 分类与决策树(classification and regression tree, CART)算法:

    该算法以基尼指数小的属性优先。CART不再以信息增益为基础进行属性的选择,而是采用一种代表样本不纯度的指标对属性进行度量,这种不纯度指标叫做基尼指数。基尼指数越小代表样本的纯度越高。基尼指数的定义为:Gini(D)=1−∑k=1K∣Dv∣∣D∣(∣C2∣∣D∣)Gini(D∣A)=∑v=1V∣Dv∣∣D∣Gini(Dv)\begin{array}{l}Gini(D) = 1 - \sum\limits_{k = 1}^K {\frac{{\left| {{D^v}} \right|}}{{\left| D \right|}}} \left( {\frac{{\left| {{C_2}} \right|}}{{\left| D \right|}}} \right)\\Gini(D|A) = \sum\limits_{v = 1}^V {\frac{{\left| {{D^v}} \right|}}{{\left| D \right|}}} Gini({D^v})\end{array}Gini(D)=1k=1KDDv(DC2)Gini(DA)=v=1VDDvGini(Dv)

2.1.2 有限状态机(FSM)

    在FSM方法中,采用基于规则的决策过程来选择不同交通场景流下的决策行为。将各个驾驶行为用状态表示,状态转移条件则是来自于由感知信息得到的离散规则,当前状态则定义了汽车的当前行为。该方法的主要缺点是难以模拟实际交通中的不确定性和复杂的城市交通情景。

    斯坦福大学的Junior 将车辆行为细分,建立了一个拥有13个状态的有限状态机组成决策系统[7],如图2-4所示。其状态分别为:初始状态、前向驾驶、车道跟随、避障、停止标志前等待、路口处理、等待路口空闲、掉头、车辆在掉头线前停止、越过黄线行驶、在停车区域内行驶、通过交通阻塞路段、在不匹配RNDF 路网文件的情况下在路上行驶、任务结束。在这里插入图片描述

图2-4 FSM状态转移图(图中只显示了11个)。初始状态(LOCATE_VEHICLE)、前向驾驶(FORWARD_DRIVE)、车辆在掉头线前停止(UTURN_STOP)、通过交通阻塞路段(CROSS_DIVIDER)、停止标志前等待(STOP_SIGN_WAIT)、掉头(UTURN_DRIVE)、路口处理(CROSS_INTERSECTION)、任务结束(MISSION_COMPLETE)、 等待路口空闲(STOP_FOR_CHEATERS)、在停车区域内行驶(PARKING_NAVIGATE)、在不匹配RNDF路网文件的情况下在路上行驶(BAD_RNDF)

    为了解决更为复杂的问题,Ziegler[12]采用了分层并行状态机(HSM)的方法。在该方法中,行为选择模块生成一系列约束,这些约束来自这些分层并行状态机,并用作轨迹优化问题的输入。这些约束是由行为选择模块制定的,它考虑了诸如驾驶走廊的特征、静态和移动障碍物以及生成或合并规则等信息。他们的状态图如图2-5所示。在这里插入图片描述

图2-5 分层并行状态机(HSM)的状态图

    Okumura等人将FSM与支持向量机(SVM)结合起来,构建了一个针对环形路情况下的高级行为选择器过程的分类器[13]。首先,SVM分类器将当前的机器人状态和感知数据映射到一个动作,然后由FSM处理该动作,以输出控制指令。

2.1.3 基于本体论(Ontologies-based)

    本体是知识表示的框架,可以用于建模概念及其关系。Zhao等人[9]使用基于本体的知识库对交通法规和传感器数据进行建模,以帮助自动驾驶汽车了解世界。为了构建决策系统,他们手动构建了基于本体的知识库,主要关注发生在十字路口和狭窄的道路上的交通情况。该系统会考虑车辆的通行权,并将“停车”、“左转”或“让路”等决策发送给路径规划系统,以改变路线或停车以避免碰撞。这种方法的缺点是需要设计一个精确的世界模型,由每个位置的映射车道和交通规则组成,而这通常是由人类手动完成的,工作量大且复杂。他们主要设计两个本体——地图和控制模块,针对不同的驾驶场景进行分类,如图2-6所示。在这里插入图片描述

图2-6 地图和控制本体(Ontology)的设置以及地图本体的相关例子

2.2 基于统计的决策算法

2.2.1 贝叶斯网络(BN)

    BN是一种以贝叶斯公式为基础的概率图模型,BN的结构是一个有向无环图(directed acyclic graph, DAG),图中结点被称为BN结点,若结点之间存在依赖关系,则由一条有向边连接,方向为被依赖结点指向依赖结点[5]。BN的参数由结点的概率值和结点间的条件概率表(conditional probability table, CPT)组成,用来描述属性的联合概率分布。基于BN的行为决策模型主要包括BN学习阶段与BN的驾驶行为决策阶段。

    BN通过有向边将网络中各个结点连接起来,当其中的 某个结点状态发生变化时,与其直接或间接相连的结点也会随之更新,这个过程称为贝叶斯推理。推理的前提是构建出符合问题需求的 BN模型,为了充分利用BN概率推理 的能力,学习得到一个好的DAG和CPT十分重要。

    BN的学习阶段分为结构学习和参数学习。

    结构学习是指构建出符合问题需求的DAG结构,常用方法为基于采样的马尔可夫链蒙特卡洛(Markov chain Monte Carlo, MCMC)方法。参数学习是指在已知贝叶斯网络结构的情况下,构建当前结构各结点代表的属性之间的CPT,目前最常用的参数学习方法为最大似然估计(maximum likelihood estimation, MLE)。

    BN训练好(即结构和条件概率表确定)后,便可以用来进行“查询”即概率 推理,通过一些属性变量的观测值来推测其他属性变量的取值,这个过程被称为贝叶斯推断,属性变量观测值称为“证据”。

    在自动驾驶行为决策中,根据驾驶场景信息进行BN学习,结合先验知识进行最优结构筛选。然后,将学习到的BN模型导出。最后,将传感器实时数据和人工驾驶行为预测结果输入到模型中,进行BN概率推理,获得最优驾驶动作。其决策框架如图2-7所示。在这里插入图片描述

图2-7 BN决策模型框图

2.2.2 马尔可夫决策过程(MDP)

    马尔可夫决策过程数学框架广泛应用于随机控制理论的离散事件系统,该数学框架适用于系统输出结果部分随机并且决策部分可控的情况[14]。在马尔可夫链中引入动作和报酬便可以构造出 MDP,所以MDP和马尔可夫链同样具有马尔可夫性,即系统的下一个状态只与当前状态和当前执行的动作有关。马尔可夫决策过程的理论基础完善且研究成果众多,其模型可以用一个四元组表示:{S,A(i),p(j∣i,a)r(i,a)}{\rm{\{ }}S, A(i),p(j|i,a)r(i, a){\rm{\} }}{S,A(i),p(ji,a)r(i,a)}    式中SSS——系统的有限状态空间;
    A(i)A(i)A(i)——系统所有可能选取动作的集合,状态i∈Si \in SiS ;
    p(j|i,a)——系统的状态转移概率,其中状态i,j∈Si, j \in Si,jS,动作a∈A(i)a \in A(i)aA(i);
    r(i,a)r(i,a)r(i,a)——系统在状态i时执行动作aaa后获得的期望总报酬。

    其中系统被假定为由基础马尔可夫链驱动,具体的马尔可夫链(状态-动作序列)运行过程如图2-8所示。在离散的时间步长,系统从当前状态随机跳转到下一个状态的转移概率与其之前的状态无关,仅是取决于系统当前的状态。在这里插入图片描述

图2-8 马尔可夫链运行过程示意图

    Brechtel提出了一种交通环境中的高层决策制定方法[10],采用了马尔可夫决策过程(MDP),通过评估行动的结果来规划最优策略。该方法从编码为动态贝叶斯网络(DBN)的复杂连续时间模型中推导出抽象的符号状态,并将离散的MDP状态用随机变量来解释,将连续世界用DBN描述,离散世界用MDP描述,并将两者相结合。该方法不依赖于精确的场景描述与识别,具有良好的鲁棒性。

2.2.3 部分可观察马尔可夫决策过程(POMDP)

    部分可观察马尔可夫决策过程(POMDP)框架不仅解决了状态间转移中的不确定性,而且还解决了感知中的不确定性。该算法还将值迭代算法推广到估计最优控制策略[15]

    Brechtel使用了一种连续的POMDP方法来推理潜在的隐藏对象和观察的不确定性,并考虑到交通参与者之间的相互作用[11]。他们的方法分为以下两步,在第一步中,回报函数旨在通过返回加速和减速的成本以达到目标区域来优化舒适度和效率。此步骤仅依赖于车辆的状态和先前定义的目标。在第二步中,通过与其他交通参与者增加更高的碰撞成本来考虑其他交通参与者。通过将两步的代价值合并为一个回报函数,进行优化。为了将驾驶的任务表述为一个连续的POMDP,就必须定义空间和模型。图2-9概述了空间和模型之间的关系。

在这里插入图片描述

图2-9 动态贝叶斯网络的POMDP模型。
S为状态,O为输出,A为动作,R为回报函数。

2.3 基于端到端的决策算法

    基于规则的决策模型实时性好,搭建简单,但是已有的规则都是研究人员针对特定场景手工设定的,不能达到经验驾驶员决策效果,而基于统计的决策模型由于从驾驶员数据出发,能够处理一些具有不确定因素存在的场景,并可以减小不确定性因素影响,但计算量大、实时性差[16]

    基于规则的决策方法通过构建规则库的方法进行自动驾驶决策。通过对自动驾驶车可能遇到的情况进行统计,然后建立车辆行驶状态与对应策略之间的规则,进而采用这些规则进行自动驾驶车的控制[17]。但是现实的驾驶环境是复杂多变的,想要完整构建规则库是不现实的,而且当自动驾驶车遇到规则库里所没有出现的情况时,会增加事故发生的概率。因此,基于规则的自动驾驶系统无法满足人们的需求。

    基于统计的决策方法可以减少不确定性带来的影响,但这种方法需要大量数据,而且方法的有效性与数据质量有很大关联,通常来说数据量越大、覆盖范围越广、分布越均匀方法的有效性越好,然而在现实情况中,采集大量数据并对数据进行预处理;有很大困难,采集的数据通常具有一定特殊性,因此基于统计的决策方法前期需有大量工作,不能快速实现功能,而且模型一旦形成不能及时更改。

    与基于基于规则的决策方法相比,深度学习则无需人为构建规则库,通过神经网络来实现端到端的控制无人驾驶车辆。但深度学习算法需要庞大的数据集支撑,且无法适应复杂多变的道路交通场景,训练出来的无人驾驶车辆鲁棒性和自我探索性有所不足。

    相比于深度学习,强化学习则无需训练数据,无人驾驶车辆的探索性也较强,但前期训练时需要耗费大量试错成本。在强化学习基础之上,一些学者将深度学习和强化学习结合,提出深度强化学习算法。

    J.Hu等人[18]提出了一个端到端自动驾驶网络(BGNet),它可以从专家演示(数据集)中学习类似于专家的驾驶动作。所提出的BGNet通过增强对环境的场景理解,进一步推动了基于视觉的自动驾驶任务的可解释性。具体来说,视觉引导路径(VGP)提出学习的空间语义占领识别对象的原始视觉输入描述视觉场景的直观状态,和驾驶费用路径(DAP)提出利用几个环境的影响指标来表示环境的约束当前驾驶行为。视觉导向路径和驾驶启示路径相互互补,以获得更高的性能。通过这两条路径,BGNet可以实现从视觉输入到驾驶导航的完整映射。该方法的架构图如图2-10所示。在这里插入图片描述

图2-10 端到端自动驾驶架构图

    M.Park等人[19]创建了一个基于真实驾驶数据的端到端自动驾驶算法,并分析了我们提出的算法的性能。基于从实际的城市驾驶环境中获得的数据,通过基于卷积神经网络预测车辆控制值,可以在一些非正式环境中实现端到端自动驾驶。在这里插入图片描述

图2-11 基于真实驾驶数据的端到端自动驾驶架构

    Q-learning算法是一种基于值函数的强化学习算法。Matzliach[20]提出了Deep-Q-learning算法,解决了在不确定环境下,自主移动智能体对多个静态和移动目标的检测问题,以最大限度地增加关于目标位置的累积信息增益,并以预定义的检测概率最小化地图上的轨迹长度。图2-12描述了基于Deep-Q-learning的算法架构。

在这里插入图片描述

(a)
在这里插入图片描述
(b)
图2-12 基于Deep-Q-learning算法的算法架构
(a)基于在线地图实现;(b)基于离线地图实现

参考文献

[1] C. Badue, et al. Self-driving cars: A survey[J]. Expert Systems with Applications, 2021, 165.
[2] E. Awad, et al. The Moral Machine experiment[J]. Nature, 2018, 563(7729): 59-64.
[3] Karol Zieba, et al. End to End Learning for Self-Driving Cars[J]. NVIDIA Corporation Holmdel, NJ 07735, arXiv:1604.07316v1 [cs.CV] 25 Apr 2016.
[4] Urmson, C., Anhalt, J., Bagnell, D., Baker, C., Bittner, R., Clark, M., Dolan, J.,Duggins, D., Galatali, T., & Geyer, C. Autonomous driving in urban environments: Boss and the urban challenge[J]. Journal of Field Robotics, 2008, 25(8), 425–466.
[5] 刘延钊,黄志球,沈国华,王金永,徐恒.基于决策树和BN的自动驾驶车辆行为决策方法[J].系统工程与电子技术,2022,44(10):3143-3154.
[6] 施发园,陈凌珊.基于决策树对车辆换道的研究分析[J].农业装备与车辆工程,2020,58(05):85-88.
[7] Montemerlo, et al. , & Huhnke, B.Junior: The stanford entry in the urban challenge[J]. Journal of Field Robotics, 2008,25(9), 569–597.
[8] X. Han, et al. Strategic and tactical decision-making for cooperative vehicle platooning with organized behavior on multi-lane highways[J]. Transportation Research Part C: Emerging Technologies, 2022, 145.
[9] Zhao, L.,et al. & Sasaki, Y. Ontology-based decision making on uncontrolled intersections and narrow roads[J]. IEEE intelligent vehicles symposium (IV),2015, 83–88.
[10]Brechtel, S., Gindele, T., & Dillmann, R. Probabilistic mdp-behavior planning for cars[C]. In 2011 IEEE 14th International Conference on Intelligent Transportation Systems (ITSC) ,1537–1542.
[11]Brechtel, S., Gindele, T., & Dillmann, R.Probabilistic decision-making under uncertainty for autonomous driving using continuous pomdps[C]. In 17th international IEEE conference on intelligent transportation systems (ITSC), 392–399.
[12]J. Ziegler, et al. Making Bertha Drive—An Autonomous Journey on a Historic Route[J]. IEEE Intelligent Transportation Systems Magazine, 2014, 6(2): 8-20.
[13]B. Okumura, et al. Challenges in Perception and Decision Making for Intelligent Automotive Vehicles: A Case Study[J]. IEEE Transactions on Intelligent Vehicles, 2016, 1(1): 20-32.
[14]杨家源. 半Markov决策过程强化学习算法研究[D].哈尔滨工业大学,2018.
[15]Thrun, S., Burgard, W., & Fox, D. Probabilistic robotics[M]. MIT press,2005.
[16]袁盛玥. 自动驾驶车辆城区道路环境换道行为决策方法研究[D].北京理工大学,2016.
[17]王丙琛. 基于深度强化学习的自动驾驶决策控制研究[D].大连理工大学,2020.DOI:10.26991/d.cnki.gdllu.2020.002159.
[18]J. Hu, et al. Enhancing scene understanding based on deep learning for end-to-end autonomous driving[J]. Engineering Applications of Artificial Intelligence, 2022, 116.
[19]M. Park, H. Kim,S. Park. A Convolutional Neural Network-Based End-to-End Self-Driving Using LiDAR and Camera Fusion: Analysis Perspectives in a Real-World Environment[J]. Electronics, 2021, 10(21).
[20]Matzliach, B.; Ben-Gal, I.; Kagan, E. Detection of Static and Mobile Targets by an Autonomous Agent with Deep Q-Learning Abilities[J]. Entropy 2022, 24, 1168. https://doi.org/10.3390/e24081168

相关文章:

自动驾驶决策概况

文章目录1. 第一章行为决策在自动驾驶系统架构中的位置2. 行为决策算法的种类2.1 基于规则的决策算法2.1.1 决策树2.1.2 有限状态机(FSM)2.1.3 基于本体论(Ontologies-based)2.2 基于统计的决策算法2.2.1 贝叶斯网络(B…...

金山轻维表项目进展自动通知

项目经理作为项目全局把控者,经常要和时间“赛跑”。需要实时了解到目前进展如何,跟进人是那些?哪些事项还未完成?项目整体会不会逾期?特别是在一些大型公司中,优秀的项目经理已经学会使用金山轻维表做项目…...

基于上下文分析的 Python 实时 API 推荐

原文来自微信公众号“编程语言Lab”:基于上下文分析的 Python 实时 API 推荐 搜索关注 “编程语言Lab”公众号(HW-PLLab)获取更多技术内容! 欢迎加入 编程语言社区 SIG-程序分析 参与交流讨论(加入方式:添加…...

软件测试-接口测试-代码实现接口测试

文章目录 1.request1.1 request介绍1.2 发送get请求1.3 发送set请求1.4 其他请求方式1.5 传递url参数1.6 响应内容解析1.7 cookie1.8 设置session2.集成UnitTest2.1 接口测试框架开发2.2 案例:使用TPShop项目完成对登录功能的接口测试1.request 1.1 request介绍 概念 基于py…...

中村成洋《垃圾回收的算法与实现》PDF 读书笔记

观前提醒 为了能够锻炼自己,我会查阅大量外文不停的修改内容,少部分会提示成中文。 可能有误,请见谅 提示:若是觉得阅读困难,可以看如下内容 脚本之家可获取,若失效可私信浏览器的沙拉查词扩展&#xf…...

docker 网络模式

docker 网络模式主要分为四种,可以通过docker network ls 查看 ~$ docker network ls NETWORK ID NAME DRIVER SCOPE a51d97d72f10 bridge br…...

数据库开发(一文概括mysql基本知识)

Mysql 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 关系型数据库(Relational Database Management System:关系数据库管理系统)应用软件之一。mysql在问开发中,几乎必不可少,因为其他的可能是要收费的&#x…...

【JVM】详解Java内存区域和分配

这里写目录标题一、前言二、运行时数据分区2.1程序计数器(PC)2.2 Java虚拟机栈2.3 本地方法栈2.4 Java堆2.5 方法区2.5.1 运行时常量池2.6 直接内存三、HotSpot虚拟机对象探秘3.1 对象的创建3.2 对象的内存布局3.3 对象的访问定位一、前言 C/C需要自行回收和释放已经没用的对象…...

JAVA开发(史上最完整追本溯源JAVA历史、发展和学习)

(第二次世界大战1931-1945) 世界上最先进的技术往往是由于战争催生,在第二次世界大战中除了飞机,坦克和大炮的武器较量外,在隐秘战线的情报工作其实更为重要,在军队将领来往的电报中,为了防止军事情报的泄漏&#xff…...

Qt 防止程序退出

文章目录摘要QWidgetQML方法 1方法 2关键字: Qt、 eventFilter、 Close、 键盘、 任务管理器摘要 今天要聊得内容还是怎么防止别人关闭我的程序,之前都是在win下面,一般都是用过钩子连捕获键盘事件,完了吧对应的事件忽略&#x…...

【校验码 - 循环冗余校验码CRC】

水善利万物而不争,处众人之所恶,故几于道💦 目录 循环冗余校验码 1.多项式 2.CRC编码的组成 3.校验码的生成 4.例题: 循环冗余校验码 广泛地在网络通信及磁盘存储时采用。 1.多项式 在循环冗余校验(CRC)码中,无一例…...

【Rust】一文讲透Rust中的PartialEq和Eq

前言 本文将围绕对象:PartialEq和Eq,以及PartialOrd和Ord,即四个Rust中重点的Compare Trait进行讨论并解释其中的细节,内容涵盖理论以及代码实现。 在正式介绍PartialEq和Eq、以及PartialOrd和Ord之前,本文会首先介绍…...

Vulnhub靶场----9、DC-9

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-9下载地址:https://download.vulnhub.com/dc/DC-9.zip kali:192.168.144.148 DC-9:192.168.144.158 二、渗透流程 1、信息收集nmap -T5 -A -p- -sV -sT 192.168.144.158思路&am…...

使用Containerd搭建K8s集群【v1.25】

[toc] 一、安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统 CentOS7.x-86_x64硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多集群中所有机器之间网络互通可以访问外网,需要拉取镜像禁止swap分区二、准备环境 角色IP…...

NMT - 构建双语概率词典(Probabilistic dictionaries)

文章目录一、安装依赖包mosesdecoder安装 mgiza二、数据预处理三、训练本文参考:How to train your Bicleaner https://github.com/bitextor/bicleaner/wiki/How-to-train-your-Bicleaner 一、安装依赖包 这个过程主要依赖于 mosesdecodermgiza mosesdecoder git…...

《ChatGPT是怎样炼成的》

ChatGPT 在全世界范围内风靡一时,我现在每天都会使用 ChatGPT 帮我回答几个问题,甚至有的时候在一天内我和它对话的时间比和正常人类对话还要多,因为它确实“法力无边,功能强大”。 ChatGPT 可以帮助我解读程序,做翻译…...

Streaming System是第一章翻译

GIthub链接,欢迎志同道合的小伙伴一起翻译 Chapter 1.Streaming101 如今,流数据处理在大数据中是非常重要的,其主要原因是: 企业渴望对他们的数据有更及时的了解,而转换到流处理是实现更低延迟的一个好方法&#xf…...

abap MODIFY常用语法解析

MODIFY 是既可以操作数据又可以操作内表的一个语法, 实现的逻辑都一样. 如果你内表或数据库中存在该行数据会对该行数据进行更新. 如果不存在,就会插入数据. , 1.如果it_tab是带有标题行的内表,是可以忽略FROM wa_tab工作区的 MODIFY it_tab .2.把工作区wa_tab中的数据更新…...

[媒体分流直播]媒体直播和传统直播的区别,以及媒体直播的特点

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 直播毋庸置疑已经融入到了我们生活的方方面面,小到才艺,游戏,大到政策的发布,许多企业和机构也越来越重视直播,那么一场活动怎…...

打地鼠游戏-第14届蓝桥杯STEMA测评Scratch真题精选

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第102讲。 蓝桥杯选拔赛现已更名为STEMA,即STEM 能力测试,是蓝桥杯大赛组委会与美国普林斯顿多…...

链表经典刷题--快慢指针与双指针

本篇总结链表解题思路----快慢指针,其实也就是双指针,这个快慢并不单纯指“快慢”,它更多的可以表示,速度快慢,距离长度,时间大小等等,用法很有趣也很独特,理解它的思想,…...

【Java集合框架】篇四:Set接口

1. Set及主要实现类特点 Set:无序、不可重复(去重)、存储value HashSet:底层使用HashMap,即使用 数组单项链表红黑树 结构进行存储。(jkd8中) LinkedHashSet:是HashSet的子类&…...

Python 数据库连接 + 创建库表+ 插入【内含代码实例】

人生苦短 我用python Python其他实用资料:点击此处跳转文末名片获取 数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB.在TESTDB数据库中您已经创建了表 EMPLOYEEEMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。连…...

DSS 部署环境需求清单

文章目录 DSS系统需求项目地址计算资源计算基准:计算引擎程序硬件需求表 :DSS计算及存储资源需求计算资源计算基准:计算程序硬件需求表:DSS系统需求 项目地址 https://github.com/WeBankFinTech/DataSphereStudio 计算资源计算基准: 1.日活用户10万。 2.单用户单日总…...

Python的面向对象,详细讲解Python之用处等基本常识

目录 Python 面向对象 面向对象技术简介 创建类 实例 实例 self代表类的实例,而非类 实例 创建实例对象 访问属性 实例 Python内置类属性 实例 python对象销毁(垃圾回收) 实例 实例 类的继承 实例 方法重写 实例 基础重载方法 运算符重载 实例…...

如何使用固态继电器为恒温器供电

恒温器有两种电源:电池和 24VAC。恒温器需要电池才能不间断地运行。电池消耗的能量尽可能低非常重要,但即使您最大限度地减少消耗,这仍然不是一个用户友好的选择,因为电池会不时需要更换。要降低更换频率,可以使用 24V…...

【LeetCode】剑指 Offer(14)

目录 题目:剑指 Offer 32 - I. 从上到下打印二叉树 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 32…...

Rman单实例迁移到单实例

关于同平台同版本数据库之间的迁移操作的实验 ---Source DB[rootoracle-db-19cs ~]# cat /etc/redhat-release CentOS Stream release 8 [rootoracle-db-19cs ~]# --- Target DB[rootoracle-db-19ct ~]# cat /etc/redhat-release CentOS Stream release 8 [rootoracle-db-19ct…...

毕业设计 基于stm32舞台彩灯控制器设计app控制系统

基于stm32舞台彩灯控制器设计app控制1、项目简介1.1 系统构成1.2 系统功能2、部分电路设计2.1 STM32F103C8T6核心系统电路设计2.2 WS2812RGB彩灯电路设计3、部分代码展示3.1 控制WS2812显示颜色3.2 设置RGB灯的颜色,角度,亮度实物图1、项目简介 选题指导…...

【MyBatis】篇一.

文章目录1、MyBatis概述2、环境搭建1、MyBatis概述 认识: JavaEE开发的一个套件SSM,即: MyBatis是一个持久层的框架,是对JDBC的一个封装,是一个半自动的ORM框架。 ORM即实体类对象和数据库中的数据的一个映射关系&am…...

南宁做网站开发的公司/哈尔滨优化网站方法

Dom是什么? 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。 将HTML解析成Dom节点图 上图Dom节点: 1. 元素节点&a…...

网站开发时间/营销渠道方案

直接一点上图(使用的是JDK1.7的源码):Object类总共13个方法 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 主要是JAVA里除了8种基本类…...

公司网站制作流程/提高百度搜索排名工具

修饰器:修饰器是一种特殊类型的声明,它只能够被附加到类的声明、方法、属性或参数上,可以修改类的行为。而不能用于函数(因为存在函数提升) 常见的修饰器有:类修饰器、属性修饰器、方法修饰器、参数修饰器 …...

wordpress打开前台页面空白/seo顾问服务深圳

Vivado时序约束中Tcl命令的对象及属性在前面的章节中,我们用了很多Tcl的指令,但有些指令并没有把所有的参数多列出来解释,这一节,我们就把约束中的Tcl指令详细讲一下。我们前面讲到过get_pins和get_ports的区别,而且我…...

wordpress baidu插件/做企业网站建设的公司

作者:闻币知天下 BitPay是世界上最受欢迎的比特币支付处理公司之一,因难以忍受BCE高额的交易成本,去年年底,BitPay在自己的支付平台和借记卡中添加比特币现金(BCH)支持,这标志着该平台支持更多加…...

合肥网站建设制作价格/图床外链生成工具

中国质量新闻网2006年的一篇报道,1把失准钢卷尺,导致损失数10万元钱。计量器具是保障建筑工程质量的一个重要因素,只有加强计量工作,才是对人民生命财产的最大负责。 在工业产品的生产中,一件不合格的量具能使成批产品…...