CN111222630B - 一种基于深度强化学习的自主驾驶规则学习方法 - Google Patents
一种基于深度强化学习的自主驾驶规则学习方法 Download PDFInfo
- Publication number
- CN111222630B CN111222630B CN202010050338.3A CN202010050338A CN111222630B CN 111222630 B CN111222630 B CN 111222630B CN 202010050338 A CN202010050338 A CN 202010050338A CN 111222630 B CN111222630 B CN 111222630B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- driving
- autonomous driving
- autonomous
- layer
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000002787 reinforcement Effects 0.000 title claims abstract description 25
- 230000006870 function Effects 0.000 claims description 43
- 230000006399 behavior Effects 0.000 claims description 22
- 230000001133 acceleration Effects 0.000 claims description 19
- 230000009471 action Effects 0.000 claims description 18
- 230000004913 activation Effects 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 12
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 8
- 210000002569 neuron Anatomy 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims 1
- 238000005070 sampling Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000004088 simulation Methods 0.000 description 13
- 238000012549 training Methods 0.000 description 8
- 238000002474 experimental method Methods 0.000 description 5
- 230000006855 networking Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011451 sequencing strategy Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- General Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Educational Administration (AREA)
- Biomedical Technology (AREA)
- Tourism & Hospitality (AREA)
- Biophysics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种基于深度强化学习的自主驾驶规则学习方法,在车联网环境下,路网中存在两种类型车辆,自主驾驶车和网联车。自主驾驶车通过车载控制系统与车联网的车车(Vehicle‑to‑Vehicle,V2V)通信技术实时获取路网中网联车的行驶状态,通过深度强化学习的方式,在保证交通安全的情况下,学习自主驾驶规则,调节车辆队列驾驶间距,以最大化路网的平均速度和提高路网的通行效率。为以后利用深度强化学习进一步提高车辆的自主决策能力奠定了基础。
Description
技术领域
本发明涉及自动驾驶领域、深度强化学习领域、车联网领域,具体发明一种基于深度强化学习的自主驾驶车辆驾驶规则学习方法。
背景技术
随着智能控制技术在汽车领域的广泛应用,具有高度智能化水平的自主驾驶车辆得到了飞速的发展。在特定场合,自主驾驶车辆将取代传统汽车成为未来汽车发展的主要方向。与传统汽车相比,自主驾驶车辆减轻了驾驶员操纵汽车的劳动强度,降低了驾驶员的不规范操作和误操作对汽车运行安全性的影响,提高了汽车行驶安全性。以往关于无人驾驶汽车的相关研究大多以提高交通安全性为主要目的,以跟车时距和车头间距作为主要优化目标,通过为自主驾驶车辆配备传感器、雷达等设备,感知有限范围内车辆信息,从而做出驾驶决策。但这种方法受制于单车智能,单车智能依赖的传感器检测到视距范围内的物体,受天气等条件的制约难以获取准确的信息,并且车辆之间没有建立通信,信息实时传递性较差,进而影响自主驾驶车辆的驾驶决策。
于是,基于车载控制系统与车联网的V2V通信技术实时获取路网中车辆的行驶状态这一方法受到关注。与传统的方法相比较,车联网环境下,可以利用先进的传感技术、网络技术对车辆和道路进行全面感知,在行驶的车辆之间建立无线通信,从而实现实时信息传递。在车辆行驶过程中,标准的无线车联设备将车辆运行速度和车辆位置传递给自主驾驶车辆信息系统,自主驾驶车辆获得路网中车辆运行状态后,进一步做出驾驶决策。近些年来,交通领域的研究学者对自主驾驶车辆驾驶规则学习的研究,由保证安全性为主要目标转变为在保证车辆安全性的基础上提高路网的通行效率。
现有自主驾驶车辆的决策系统主要使用人类专家库的形式,通过对大量的驾驶数据进行分析,尝试得到在某些特定情况下人类驾驶员的驾驶策略,进而利用这些策略,为自主驾驶车辆的决策系统拟定在各种可能发生的路况下,自主驾驶车辆应采用策略的一系列规则。但是在面对复杂多变的实际应用场合时,这些事先人为定义的规则显然无法足够覆盖可能出现的场景,存在引发危险事故的隐患。另外,当新添加的规则与旧规则发生矛盾时,就必须对原有规则进行更改,这使得基于规则限定的决策控制系统变得非常脆弱。实际上,有限的控制规则很难面对高度复杂的实际场景,传统的场景无法满足完全无人驾驶的要求。因此,急需一种先进的算法来解决此类问题,随着深度学习的广泛应用,许多人开始将深度学习应用到交通中的无人驾驶中。
2016年,英伟达公司发布了其自动驾驶开发平台的最新深度学习算法,该算法通过训练一个深度卷积神经网络来搭建环境信息与车辆控制量的关系,实现“端到端”的控制。网络输入是车的信息、摄像头拍摄的环境信息,输出是对车辆的直接控制,即刹车、油门、转向。在这种方式中,中间的决策层被省略,直接建立“状态-动作”的映射关系。普林斯顿大学也使用了深度卷积神经网络来解决自动驾驶问题,与英伟达公司不同的是,输入图像并不被直接映射到控制车辆的执行动作,而是间接地建立输入图像与一系列关键感知指标的关系(如车辆位置和姿态、当前道路和交通状态等),根据感知指标决定执行动作。
然而英伟达公司开发的自动驾驶平台以及普林斯顿大学研究的自动驾驶是完全基于深度学习的方法,需要大量的含有标签的训练数据,这对于一般的研究人员来说是非常难获取的。此外,在面对错综复杂的交通环境时,自主驾驶车辆的驾驶行为模式和场景环境复杂多变,如果不能积极地与环境进行交互,并根据交互的反馈结果实时调整驾驶策略,自主驾驶车辆极易做出路径规划失误、碰撞等错误决策,从而降低路网的通行效率。
于是,许多研究学者开始思考将强化学习应用到自主驾驶车辆驾驶规则的学习中。Sallab提出使用DQN算法进行车道保持辅助系统的仿真研究,但文章中仅给出了实验次数的变化情况,并没有给出具体的训练时间的对比。2017年,Chae等人提出使用DQN进行自动刹车系统研究的方法,在经过近7万次模拟实验后,车辆可以学习到自主刹车的能力。但是算法不足之处是由于DQN是强化学习中基于值函数的方法(另一种是基于策略搜索的方法),在值函数的方法中,迭代计算的是值函数,再根据值函数改善策略,收敛性较差,并且当要解决的问题动作空间很大或者动作为连续集时,算法性能表现较差。
因此,本发明自主驾驶车辆驾驶规则的学习是在车联网环境下,利用强化学习中基于策略搜索的方法,采用强化学习的在线交互式学习实现自主驾驶车辆驾驶策略模型的调整和驾驶规则的学习。在策略搜索方法中,直接对策略进行迭代计算,也就是迭代更新策略的参数值,直到累积回报的期望最大,此时的参数所对应的策略为最优策略。相比值函数方法,策略搜索方法具备更多的优点。首先直接策略搜索方法是对策略进行参数化表示,与值函数方法中对值函数进行参数化表示相比,策略参数化更简单,有更好的收敛性。其次直接策略搜索方法经常采用随机策略,因为随机策略可以将探索直接集成到所学习的策略之中。
发明内容
本发明提出了一种基于深度强化学习的自主驾驶规则学习方法,在车联网环境下,路网中存在两种类型车辆,自主驾驶车辆和网联车辆。自主驾驶车辆通过车载控制系统与车联网的V2V通信技术实时获取路网中网联车辆的行驶状态,在保证交通安全的情况下,学习驾驶规则,调节车辆队列驾驶间距,以最大化路网的平均速度和提高路网的通行效率。发明内容共分为五部分进行说明,第一步:在车联网环境下,自主驾驶车辆可以获取路网中网联车辆的速度、位置信息,作为自主驾驶车辆驾驶策略模型的输入;第二步:自主驾驶车辆选择驾驶动作,作为自主驾驶车辆策略模型的输出,即自主驾驶车辆的加速度和减速度;第三步:建立自主驾驶车辆驾驶规则的奖惩机制,其中包括防撞、最大化平均速度以及最小化速度变化率机制;第四步:建立自主驾驶车辆的驾驶策略模型,本发明中通过神经网络来模拟自主驾驶车辆的驾驶思维,将路网中车辆的行驶状态输入自主驾驶车辆的驾驶策略模型中,自主驾驶车辆作出驾驶决策;第五步:在定义了网联车辆的驾驶策略模型和驾驶规则的奖惩机制后,自主驾驶车辆需要利用深度强化学习算法实现自主驾驶车辆驾驶策略网络模型的调整以及自主驾驶车辆驾驶规则的学习。
基于上述分析,一种基于深度强化学习的自主驾驶规则学习方法,具体实现步骤如下:
步骤1:自主驾驶车辆与车辆队列车-车通信;
在行驶过程中,自主驾驶车辆需要获取的信息包括:路网中网联车辆的位置x和速度v;当前自主驾驶车辆的行驶状态,即自主驾驶车辆的速度、加速度和位置。自主驾驶车辆需要根据网联车辆的行驶状态采取驾驶行为,即加速行驶或者减速行驶。以上的网联车辆的行驶状态,作为驾驶策略模型的输入。
步骤2:自主驾驶车辆驾驶规则;
定义的自主驾驶车辆的驾驶行为是车辆的加速度α,自主驾驶车辆在t,t+1时刻的速度分别为velocityt,velocityt+1,自主驾驶车辆更新运动状态的方程为:
步骤3:自主驾驶车辆驾驶规则的奖惩机制
自主驾驶车辆驾驶规则学习的基本任务包括:保证安全、最小化速度变化率以及最大化交通平均速度三点。通过建立驾驶规则的奖惩机制来评判自主驾驶车辆驾驶规则学习的好坏。
首先,自主驾驶车辆驾驶的基本目标是消散路网中的走停波,提高路网通行效率,所以要惩罚可能引发走停波的驾驶行为,如车辆的加速行为。因此,设定自主驾驶车辆的加速度阈值为accel_threshold,求取所存储的自主驾驶车辆驾驶行为α的均值αavg,将αavg与accel_threshold进行比较,如果αavg>accel_threshold,则有,
raccel=r+δ*(accel_threshold-aavg),αavg>accel_threshold
其中,r表示发生车辆碰撞行为之前所获取的奖励值,δ为本发明定义的超参数。
其次,要保证交通的安全性,以防出现车辆追尾事故。当有车辆碰撞的行为发生时,会有一个很大的负奖励值,即
rcollide=-500
最后,自主驾驶车辆驾驶的最终目标是鼓励路网中车辆的高平均速度,其衡量了当前路网中的平均速度与期望平均速度的偏差,令υi(t)和hi(t)分别为车辆i在时间步长t处的速度和时距。奖励方程形式如下所示:
奖励方程的前两项促使车辆平均速度接近期望速度υdes。奖励方程的最后一项是用于识别拥挤交通的局部特征(即小时间间隔)的惩罚。为确保该项不影响全局最优,当时间间隔小于阈值hmax时忽略惩罚,并且使用增益α来减小惩罚的大小。
步骤4:自主驾驶车辆驾驶策略模型
自主驾驶车辆驾驶策略模型选取多层感知器(Multi-Layer Perceptron,MLP),MLP是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP由多个节点层组成,每一层都全连接到下一层。除了输入节点外,每个节点都是一个带有非线性激活函数的神经元。
自主驾驶车辆的驾驶策略模型由4层网络构成,包括输入层、隐藏层以及输出层。隐藏层的数量为3个,输出层的数量为1个。
输入层:输入层有2个神经元,首先根据输入层的输入元素xi、权重和偏置/>求解出隐藏层的输入元素/>
式中:p层为输入层元素数量;q为隐藏层元素数量;i代表输入层神经元。神经网络输入是自主驾驶车辆感知的路网中网联车辆的位置和速度[vN,xN],N代表路网中存在的网联车辆数量。
隐藏层:将隐藏层的输入元素导入其激活函数中,求出隐藏层的输出元素zj,激活函数选取tanh函数。隐藏层的输出元素zj函数表达式为
输出层:将隐藏层的输出元素zj、权重和偏置/>导入其激活函数中,求解出输出层的输入元素/>
式中:j为输出层的元素数量,n为隐藏层层数。输出层是自主驾驶车辆所采取的驾驶行为,即车辆的加速度,加速度矢量由c∈[cmin,cmax]k决定,其中k代表自主驾驶车辆的数量。
将输出层的输入元素导入其激活函数中,求解输出层的输出元素yk,激活函数采用Softmax函数,表达式为
Softmax激活函数可以将取值范围映射到[0,1]之间,由公式可知,如果某一元素大于其它元素,那么该映射的值隶属度趋近1,其余元素隶属度趋近0,以此实现对该层所有输入数据的归一化处理。
步骤5:自主驾驶车辆驾驶规则的学习
在定义了网联车辆的驾驶策略模型和奖惩机制后,自主驾驶车辆需要利用深度强化学习算法实现自主驾驶车辆驾驶策略模型的调整以及自主驾驶车辆驾驶规则的学习。策略梯度(PolicyGradient,PG)算法被许多深度强化学习任务所使用,在不同的连续策略任务中都取得了良好的性能。因此本发明的基础强化学习算法使用PG算法。
本发明中自主驾驶车辆驾驶规则的学习在每一个时间步长都会获取路网中的网联车辆的位置和速度,通过自主驾驶车辆的驾驶策略模型输出驾驶行为的概率值。接下来,存储每个回合的s(路网中网联车辆的位置和速度)、a(自主驾驶车辆采取的驾驶行为)、r(奖励值)以及s_(下一个时间步长网联车辆的速度和位置)。当收集到足够的网联车辆行驶状态数据后,从数据中采样MiniBatch进行训练。其中自主驾驶车辆驾驶策略模型调整通过PG算法实现。
在PG算法中,使用J(θ)代表目标函数,表示整个回合的期望回报。将轨迹的期望回报展开,可以得到
其中策略τ表示在回合中,每个状态s下所采取的动作a所构成的序列τ={s1,a1,s2,a2,...,sT,aT},πθ(τ)表示选择行为的概率,r(τ)表示回合中获得的奖励值。PG算法的目标是使得期望回报值最大化,最大化的过程通过梯度计算实现,即
基于对数求导的基本公式
将y替换为πθ(τ),将x替换为θ,得到
进一步拆解,假设轨迹的总长度为T,得到
π(τ)=π(s0,α0,...,sT,αT)
求导得到
将上述公式中的期望用蒙特卡罗近似的方法进行替换,得到求解梯度的最终形式
将自主驾驶车辆驾驶动作aold的概率分布paold作为期望输出概率分布。将网联车辆的行驶状态s组合为一个矩阵输入到神经网络中,经过Softmax后输出驾驶动作的概率分布panew,作为实际输出概率分布。计算两个概率分布的接近程度
为了指导神经网络朝正确的方向更新,还需要考虑本回合所获得的奖励值,通过奖励值的大小来判断计算出来的梯度是否值得信赖。交叉熵损失函数为
奖励值在送入上式进行反向传播之前是需要进行折扣处理,表示当下的奖励值要比未来的奖励值更为重要,即
其中γ代表贴现因子,自主驾驶车辆驾驶规则的学习过程中所获得奖励值是及时奖励,而真实奖励值应该是及时奖励加上未来的奖励贴现和。因此,交叉熵损失函数的最终形式如下:
接下来进行参数更新
其中,learning_rate表示学习速率,θ表示更新之前的自主驾驶车辆的驾驶策略模型,为更新的自主驾驶车辆的驾驶策略模型,作为强化学习中重要的超参数,其决定着目标函数能否收敛到局部最小值以及何时收敛到局部最小值。
在车联网环境下,路网中存在两种类型车辆,自主驾驶车辆和网联车辆。自主驾驶车辆通过车载控制系统与车联网的车车(Vehicle-to-Vehicle,V2V)通信技术实时获取路网中网联车辆的行驶状态,在保证交通安全的情况下,学习驾驶规则,调节车辆队列驾驶间距,以最大化路网的平均速度和提高路网的通行效率。
附图说明
图1为本发明实例提供的交通场景。
图2为本发明实例提供的自主驾驶车辆驾驶策略模型。
图3为本发明实例提供的PG算法流程图。
图4为本发明实例提供的PG算法具体实现过程。
图5为本发明实例提供的路网中不存在自主驾驶车辆的仿真结果。
图6为本发明实例提供的路网中存在自主驾驶车辆的仿真结果。
图7为本发明中实例提供的奖励值变化曲线。
具体实施方式
以下将结合上述图例对本发明的基于深度强化学习的自主驾驶车辆驾驶规则的学习方法作进一步的详细描述。
本发明中使用微观交通仿真器SUMO作为测试平台,通过SUMO中的交通控制接口(Traffic Control Interface,TraCI)与外界程序/算法实现良好的互动,可以从SUMO中获取实时的交通信息。强化学习算法通过Pyhton编写,自主驾驶车辆的驾驶策略模型应用TensorFlow进行搭建。
步骤1:交通路网的设计
本发明中使用环形道路的交通场景进行算法的测试,交通场景如图1所示。仿真实验中设置仿真步长为0.1s,在路网中均匀摆放21辆网联车辆,场景初始化时,随机的调换网联车辆位置。考虑到车辆的数量和道路的长度,一个回合的仿真时间设定为600s。路网中所设置道路半径为40m,设置车道数量为单车道并且限制车道速度为30m/s。
步骤2:交通路网中网联车辆的驾驶模型
本发明中网联车辆的控制器选择IDM(Intelligent Driver Model)控制器,该控制器可以模拟真实的驾驶员行为。IDM中包括车辆的加速度α、车头时距sα(距离前车的距离)、速度υα以及相对速度Δυα,通过以下方程描述:
s*代表期望的车头时距,表示为:
s0,υ0,T,δ,a,b是给定参数。通过TraCI可以实时的获取路网中网联车辆的ID,期望速度设为υ0=30m/s,Δυa=υa-υa-1为车辆α与(α-1)的速度差,车头时距安全时间T=1s,车辆最大加速度a=1m/s2,减速度b=1.5m/s2,加速指数δ=4,线性拥堵距离s0=2m。
为了将随机性结合到人类驾驶车辆的动力学中,加速度将受到N(0,0.2)的高斯加速度噪声的干扰,用来模拟交通路网中匝道对主路的干扰。
步骤3:自主驾驶车辆与车辆队列车-车通信
在驾驶过程中,使用Python编写的代码通过TraCI可以从SUMO中实时获取路网中网联车辆的位置和速度。其中,位置定义为x,代表全局的坐标,单位为m;速率定义为v,代表车辆的速度,单位为m/s。
另外,通过TraCI还可以获取交通道路的相关信息,包括车道的长度,单位为m,表示车道的纵向宽度;车道的宽度,单位为m,表示车道的横向宽度;车道的限速,单位为m/s,表示车道上的车辆的最大限速。
以上的的环境信息,作为本发明中驾驶策略的输入。本发明中记路网中网联车辆数量为Dveh,我们将观察网联车辆的两个方面信息,位置x和速度v。那么输入的维度就是Dveh×2。
步骤4:自主驾驶车辆驾驶规则
本发明主要考虑的是自主驾驶车辆的跟驰行为,通过获取路网中网联车辆的行驶状态做出驾驶决策。将自主驾驶车辆的加速度设为α,自主驾驶车辆在t,t+1时刻的速度分别为velocityt,velocityt+1,自主驾驶车辆更新运动状态的方程为:
步骤5:自主驾驶车辆驾驶规则的奖惩机制
仿真过程中,统计基本的量化交通指标,包括车辆的平均速度、平均车头时距、平均驾驶距离。驾驶任务的基本目标是消散路网中的走停波,提高路网通行效率,所以要惩罚可能引发走停波的驾驶行为,如车辆的加速行为。因此,设定自主驾驶车辆的加速度阈值为accel_threshold=0,进一步求取所存储的自主驾驶车辆驾驶行为a的均值aavg,与accel_threshold进行比较,如果aavg>accel_threshold,则有,
raccel=r+δ*(accel_threshold-aavg)
其中选取δ=4。
其次,当发生车辆碰撞时,会有一个大的负奖励值,即
rcollide=-500
最后,reward是用来鼓励路网中车辆的高平均速度,其衡量了当前路网中的平均速度与期望平均速度的偏差,令υi(t)和hi(t)分别为车辆i在时间步长t处的速度和时距。奖励方程形式如下所示:
方程中的前两项促使车辆平均速度接近期望速度υdes。方程的最后一项是用于识别拥挤交通的局部特征(即小时间间隔)的惩罚。为了确保该项不影响全局最优,当时间间隔小于阈值hmax时忽略惩罚,并且使用增益α来减小惩罚的大小。本发明选取参数数值为:υdes=25m/s,hmax=1s,α=0.1。
步骤6:自主驾驶车辆驾驶策略模型
自主驾驶车辆使用的驾驶策略模型是多层感知器(MLP),策略模型如图2所示。利用Tensorflow搭建神经网络,将路网中网联车辆的速度和位置信息作为神经网络输入,输出自主驾驶车辆驾驶动作的概率值。自主驾驶车辆驾驶策略模型由4层网络构成,包括输入层、3个隐藏层以及1个输出层。输入层中有2个神经元,首先根据输入层的输入元素xi(网联车辆的位置x和速度v)、权重和偏置/>求解出隐藏层的输入元素。然后,将隐藏层的输入元素导入其激活函数中,求出隐藏层的输出元素,激活函数选取tanh函数。最后,将隐藏层的输出元素、权重/>和偏置/>导入激活函数中,求解出输出层的输入元素/>将输出层的输入元素/>导入Softmax函数中进行归一化处理。自主驾驶车辆的策略模型如图2所示。
步骤7:自主驾驶车辆驾驶规则的学习
自主驾驶车辆驾驶规则的学习过程,首先通过获取路网中网联车辆的位置和速度,驾驶策略模型输出动作的概率值。接下来,存储每个回合的s(路网中网联车辆的位置和速度)、a(自主驾驶车辆采取的驾驶行为)、r(奖励值)以及s_(下一个时间步长网联车辆的速度和位置)。当收集到足够多的网联车辆行驶状态数据后,从数据中采样MiniBatch进行训练。其中自主驾驶车辆驾驶策略网络通过PG算法计算,PG算法的流程如图3所示,PG算法的形式如下
将存储的驾驶动作值a的概率分布paold作为“标签”,即期望输出概率;将存储的环境状态s组合为一个矩阵输入到神经网络中,经过Softmax函数后输出动作的概率分布panew,作为实际输出概率。计算两个概率的接近程度:
为了指导神经网络朝正确的方向更新,还需要考虑本回合所获得的奖励值,所以,交叉熵损失函数为:
交叉熵损失函数根据奖励值的大小来判断计算出来的梯度是否值得信赖,如果奖励值小,说明梯度下降是一个错误的方向,应该向着另一个方向更新参数。如果奖励值很大,继续朝着这个方向梯度下降。PG算法的具体实现过程如图4所示。
奖励值在送入上式进行反向传播之前是需要进行折扣处理,表示当下的奖励值要比未来的奖励值更为重要,即
其中γ代表贴现因子,贴现因子一般将其设置为小于1但更加接近于1的数值,本发明中选取贴现因子γ=0.999。自主驾驶车辆驾驶规则的学习过程中所获得奖励值是及时奖励,而真实奖励值应该是及时奖励加上未来的奖励贴现和。因此,交叉熵损失函数的最终形式如下:
最后,驾驶策略模型的更新函数为
其中,学习速率learning_rate=0.0004,作为强化学习中重要的超参数,其决定着目标函数能否收敛到局部最小值以及何时收敛到局部最小值。
步骤8:交通道路场景重置
在每一次道路场景重置中,如果路网中车辆的位置和道路的长度、宽度固定,必然会影响训练的驾驶规则性能。为此本发明实现了多种场景的位置排放算法。第一种是随机位置算法:在进行重置时,会随机的选择重置后的位置,选择的属性包括边的ID,从这条边出发的位置,在这条边上的出发车道。第二种是均匀位置算法:预先生成对应数量的坐标点,在进行重置时,将这些坐标点随机分配给场景中的车辆。为了使自主驾驶车辆驾驶规则更智能,本发明在训练中主要使用随机位置算法进行环境重置。
步骤8:仿真实验验证
在SUMO测试平台中,为了测试本发明中基于强化学习的自主驾驶车辆驾驶规则学习方法的效果,需要进行两组仿真实验。第一组实验是交通路网中不存在自主驾驶车辆的情况,由于路网中匝道对主路的影响,将会引发走停波。针对第一组实验的问题提出的解决方法是基于深度强化学习的自主驾驶车辆驾驶规则的学习方法,自主驾驶车辆通过学习驾驶规则,能有效的消散路网中的走停波,提高路网的通行效率。所以第二组实验是路网中存在自主驾驶车辆的情况,交通场景与第一组实验的相同,并且自主驾驶车辆已经学习到智能的驾驶规则。
步骤9:仿真实验结果
路网中不存在自主驾驶车辆的仿真实验结果如图5所示,T=120s时,路网中存在走停波,并且随着时间的推移,当T=180s时,路网中的走停波不会消散,而是周而复始的出现。路网中存在自主驾驶车辆仿真实验结果如图6所示,红色车辆代表自主驾驶车辆,蓝色车辆和白色车辆代表路网中的网联车辆。在自主驾驶车辆学习驾驶规则之后,当T=300s和T=500s时,可以观察到路网中的走停波消失并且车辆之间保持着相同的车间距进行行驶。图7表示奖励值的变化,随着训练迭代次数的增加,奖励值逐渐增大并趋于稳定。
Claims (2)
1.一种基于深度强化学习的自主驾驶规则学习方法,其特征在于:该方法的具体实现步骤如下:
步骤1:自主驾驶车辆信息获取;
在行驶过程中,自主驾驶车辆需要获取的信息包括:路网中网联车辆的位置x和速度v;当前自主驾驶车辆的行驶状态,包括自主驾驶车辆的速度、加速度和位置;自主驾驶车辆根据网联车辆的行驶状态采取驾驶行为;网联车辆的行驶状态,作为驾驶策略模型的输入;
步骤2:自主驾驶车辆驾驶规则;
定义的自主驾驶车辆的驾驶行为是车辆的加速度α,自主驾驶车辆在t,t+1时刻的速度分别为velocityt,velocityt+1,自主驾驶车辆更新运动状态的方程为:
步骤3:自主驾驶车辆驾驶规则的奖惩机制;
设定自主驾驶车辆的加速度阈值为accel_threshold,求取所存储的自主驾驶车辆驾驶行为α的均值αavg,将αavg与accel_threshold进行比较,如果αavg>accel_threshold,则有,
raccel=r+δ*(accel_threshold-aavg),αavg>accel_threshold
其中,r表示发生车辆碰撞行为之前所获取的奖励值,δ为超参数;
当有车辆碰撞的行为发生时有一个负奖励值rcollide=-500;
令υi(t)和hi(t)分别为车辆i在时间步长t处的速度和时距;奖励方程形式如下所示:
其中υdes期望速度;hmax为时间间隔阈值,α为增益;
步骤4:自主驾驶车辆驾驶策略模型;
自主驾驶车辆驾驶策略模型选取多层感知器MLP;
自主驾驶车辆的驾驶策略模型由4层网络构成,包括输入层、隐藏层以及输出层;隐藏层的数量为3个,输出层的数量为1个;
步骤5:自主驾驶车辆驾驶规则的学习;
自主驾驶车辆驾驶规则的学习在每一个时间步长都会获取路网中的网联车辆的位置和速度,通过自主驾驶车辆的驾驶策略模型输出驾驶行为的概率值;存储每个回合的路网中网联车辆的位置和速度、自主驾驶车辆采取的驾驶行为、奖励值以及下一个时间步长网联车辆的速度和位置;当收集到网联车辆行驶状态数据后,从数据中采样MiniBatch进行训练;其中自主驾驶车辆驾驶策略模型调整通过PG算法实现;
在PG算法中,使用J(θ)代表目标函数,表示整个回合的期望回报;将轨迹的期望回报展开,得到
J(θ)=∫τ-πθ(τ)πθ(τ)r(τ)dτ
其中策略τ表示在回合中,每个状态s下所采取的动作a所构成的序列τ={s1,a1,s2,a2,...,sT,aT},πθ(τ)表示选择行为的概率,r(τ)表示回合中获得的奖励值;PG算法的目标是使得期望回报值最大化,最大化的过程通过梯度计算实现,得到求解梯度的最终形式
将自主驾驶车辆驾驶动作aold的概率分布paold作为期望输出概率分布;将网联车辆的行驶状态s组合为一个矩阵输入到神经网络中,经过Softmax后输出驾驶动作的概率分布panew,作为实际输出概率分布;计算两个概率分布的接近程度
通过奖励值的大小来判断计算出来的梯度是否值得信赖;交叉熵损失函数为
奖励值进行反向传播之前进行折扣处理,表示当下的奖励值要比未来的奖励值更为重要
Rdiscount=r1+γr2+γ2r3+...
其中γ代表贴现因子,交叉熵损失函数的最终形式如下:
接下来进行参数更新
其中,learning_rate表示学习速率,θ表示更新之前的自主驾驶车辆的驾驶策略模型,为更新的自主驾驶车辆的驾驶策略模型。
2.根据权利要求1所述的一种基于深度强化学习的自主驾驶规则学习方法,其特征在于:步骤4的网络结构如下:
输入层:输入层有2个神经元,首先根据输入层的输入元素xi、权重和偏置/>求解出隐藏层的输入元素/>
式中:p层为输入层元素数量;q为隐藏层元素数量;i代表输入层神经元;神经网络输入是自主驾驶车辆感知的路网中网联车辆的位置和速度[vN,xN],N代表路网中存在的网联车辆数量;
隐藏层:将隐藏层的输入元素导入其激活函数中,求出隐藏层的输出元素zj,激活函数选取tanh函数;隐藏层的输出元素zj函数表达式为
输出层:将隐藏层的输出元素zj、权重和偏置/>导入其激活函数中,求解出输出层的输入元素/>
式中:j为输出层的元素数量,n为隐藏层层数;输出层是自主驾驶车辆所采取的驾驶行为;
将输出层的输入元素导入其激活函数中,求解输出层的输出元素yk,激活函数采用Softmax函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010050338.3A CN111222630B (zh) | 2020-01-17 | 2020-01-17 | 一种基于深度强化学习的自主驾驶规则学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010050338.3A CN111222630B (zh) | 2020-01-17 | 2020-01-17 | 一种基于深度强化学习的自主驾驶规则学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111222630A CN111222630A (zh) | 2020-06-02 |
CN111222630B true CN111222630B (zh) | 2023-07-25 |
Family
ID=70806725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010050338.3A Active CN111222630B (zh) | 2020-01-17 | 2020-01-17 | 一种基于深度强化学习的自主驾驶规则学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111222630B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6744597B1 (ja) * | 2019-10-18 | 2020-08-19 | トヨタ自動車株式会社 | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 |
CN111679660B (zh) * | 2020-06-16 | 2022-08-05 | 中国科学院深圳先进技术研究院 | 一种融合类人驾驶行为的无人驾驶深度强化学习方法 |
CN112052956B (zh) * | 2020-07-16 | 2021-12-17 | 山东派蒙机电技术有限公司 | 一种强化车辆执行最佳动作的训练方法 |
GB2598338A (en) * | 2020-08-27 | 2022-03-02 | Daimler Ag | An autonomous driving behavior tuning system, and a method for operating an autonomous motor vehicle by an autonomous driving behavior tuning system |
CN112193280B (zh) * | 2020-12-04 | 2021-03-16 | 华东交通大学 | 一种重载列车强化学习控制方法及系统 |
CN112700642B (zh) * | 2020-12-19 | 2022-09-23 | 北京工业大学 | 一种利用智能网联车辆提高交通通行效率的方法 |
CN112668239B (zh) * | 2020-12-30 | 2022-11-15 | 山东交通学院 | 一种基于对抗学习的混合动力卡车队列经验传授方法 |
CN113160562B (zh) * | 2021-03-30 | 2022-04-22 | 南京大学 | 基于粒子注意力深度q学习的部分观测路口自主并道方法 |
CN113353102B (zh) * | 2021-07-08 | 2022-11-25 | 重庆大学 | 一种基于深度强化学习的无保护左转弯驾驶控制方法 |
CN113743468B (zh) * | 2021-08-03 | 2023-10-10 | 武汉理工大学 | 基于多智能体强化学习的协同驾驶信息传播方法及系统 |
CN113867332B (zh) * | 2021-08-18 | 2024-05-14 | 中国科学院自动化研究所 | 一种无人车自学习控制方法、装置、设备及可读存储介质 |
CN113741464B (zh) * | 2021-09-07 | 2022-10-21 | 电子科技大学 | 一种基于时空数据强化学习的自动驾驶速度控制框架 |
CN114267191B (zh) * | 2021-12-10 | 2023-04-07 | 北京理工大学 | 缓解交通拥堵驾驶员控制系统、方法、介质、设备及应用 |
CN115202341B (zh) * | 2022-06-16 | 2023-11-03 | 同济大学 | 一种自动驾驶车辆横向运动控制方法及系统 |
CN115688861B (zh) * | 2022-10-28 | 2023-08-01 | 北京理工大学 | 一种用于混合交通环境行为决策的模块化图强化学习系统 |
CN118194969B (zh) * | 2024-05-14 | 2024-07-19 | 广东工业大学 | 一种用于自动驾驶汽车的道路场景理解方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955930A (zh) * | 2016-05-06 | 2016-09-21 | 天津科技大学 | 引导型策略搜索强化学习算法 |
US10678241B2 (en) * | 2017-09-06 | 2020-06-09 | GM Global Technology Operations LLC | Unsupervised learning agents for autonomous driving applications |
US10739776B2 (en) * | 2017-10-12 | 2020-08-11 | Honda Motor Co., Ltd. | Autonomous vehicle policy generation |
US10990096B2 (en) * | 2018-04-27 | 2021-04-27 | Honda Motor Co., Ltd. | Reinforcement learning on autonomous vehicles |
CN109765820B (zh) * | 2019-01-14 | 2019-08-09 | 南栖仙策(南京)科技有限公司 | 一种用于自动驾驶控制策略的训练系统 |
CN109948781A (zh) * | 2019-03-21 | 2019-06-28 | 中国人民解放军国防科技大学 | 用于自动驾驶车辆的连续动作在线学习控制方法及系统 |
CN110046712A (zh) * | 2019-04-04 | 2019-07-23 | 天津科技大学 | 基于生成模型的隐空间模型化策略搜索学习方法 |
CN110626339B (zh) * | 2019-07-10 | 2021-03-02 | 聊城大学 | 基于驾驶员意图的紧急避障自动驾驶辅助力矩计算方法 |
CN110471426B (zh) * | 2019-09-02 | 2020-11-24 | 哈尔滨工程大学 | 基于量子狼群算法的无人驾驶智能车自动避碰方法 |
-
2020
- 2020-01-17 CN CN202010050338.3A patent/CN111222630B/zh active Active
Non-Patent Citations (2)
Title |
---|
Human-like Autonomous Vehicle Speed Control by Deep Reinforcement Learning with Double Q-Learning;Yi Zhang 等;2018 IEEE Intelligent Vehicles Symposium (IV);全文 * |
基于多类型传感数据的自动驾驶深度强化学习方法;杨顺 等;吉林大学学报( 工学版);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111222630A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111222630B (zh) | 一种基于深度强化学习的自主驾驶规则学习方法 | |
Wegener et al. | Automated eco-driving in urban scenarios using deep reinforcement learning | |
Duan et al. | Hierarchical reinforcement learning for self‐driving decision‐making without reliance on labelled driving data | |
Bai et al. | Hybrid reinforcement learning-based eco-driving strategy for connected and automated vehicles at signalized intersections | |
Li et al. | A reinforcement learning-based vehicle platoon control strategy for reducing energy consumption in traffic oscillations | |
CN113291308B (zh) | 一种考虑驾驶行为特性的车辆自学习换道决策系统及方法 | |
CN114312830B (zh) | 一种考虑危险驾驶工况的智能车耦合决策模型及方法 | |
Makantasis et al. | Deep reinforcement‐learning‐based driving policy for autonomous road vehicles | |
CN114013443B (zh) | 一种基于分层强化学习的自动驾驶车辆换道决策控制方法 | |
CN115056798B (zh) | 一种基于贝叶斯博弈的自动驾驶车辆换道行为车路协同决策算法 | |
CN113071487B (zh) | 自动驾驶车辆控制方法、装置及云端设备 | |
US11364934B2 (en) | Training a generator unit and a discriminator unit for collision-aware trajectory prediction | |
Liu et al. | A three-level game-theoretic decision-making framework for autonomous vehicles | |
CN112784867A (zh) | 利用合成图像训练深度神经网络 | |
CN116564095A (zh) | 基于cps的重点车辆高速公路隧道预测巡航云控制方法 | |
Hu et al. | A roadside decision-making methodology based on deep reinforcement learning to simultaneously improve the safety and efficiency of merging zone | |
Lodhi et al. | Autonomous vehicular overtaking maneuver: A survey and taxonomy | |
Siboo et al. | An empirical study of ddpg and ppo-based reinforcement learning algorithms for autonomous driving | |
Schmidt et al. | How to learn from risk: Explicit risk-utility reinforcement learning for efficient and safe driving strategies | |
CN116629114A (zh) | 多智能体的模型训练方法、系统、计算机设备和存储介质 | |
Yuan et al. | From Naturalistic Traffic Data to Learning-Based Driving Policy: A Sim-to-Real Study | |
CN116300944A (zh) | 基于改进Double DQN的自动驾驶决策方法及系统 | |
US20230227061A1 (en) | Systems and Methods for Pareto Domination-Based Learning | |
CN114701517A (zh) | 基于强化学习的多目标复杂交通场景下自动驾驶解决方法 | |
Zhang et al. | Situation analysis and adaptive risk assessment for intersection safety systems in advanced assisted driving |
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 |