适用于无人驾驶的嵌入优化式控制方法及其驾驶控制模块和
自动驾驶控制系统
技术领域
本发明涉及无人驾驶技术领域,尤其涉及适用于无人驾驶的嵌入优化式控制方法及其驾驶控制模块和自动驾驶控制系统。
背景技术
随着强化学习技术不断发展,其被越来越多的应用到各个问题中。因此,针对于不同控制问题,对强化学习在实际应用时的算法效率进一步地提出了要求。在控制领域,针对连续控制问题,一般而言,无模型的强化学习算法缺乏高的算法效率及算法稳定性。为提高算法效率及稳定性,已有一些强化学习领域的专业方法及技术被提出,例如,异步更新策略,预训练方法,回报整型技术等,同时利用基于模型的优化控制器采样的确定性策略方法具有很高的算法效率及稳定性。
对于例如在人车混合的车辆控制领域的无人驾驶车辆的驾驶决策问题,由于他车行为难以准确预测,且容易发生突然改变。因此,环境中常存在不确定性因素,难以被事先准确预知。而环境一旦发生,智能体受当前策略影响,合适的驾驶策略会区别于常规情况下的驾驶决策。在此种多变的交互环境中,智能体应能自适应地与环境车辆发生交互,相应地快速调整当前驾驶策略。
发明内容
本发明提出适用于无人驾驶的嵌入优化式控制方法及其驾驶控制模块和自动驾驶控制系统,其基于以上实际问题的需求,对于应用场景多变且难以事先获得的包含连续控制的控制问题,可使用基于模型的方法对于强化学习中的动作空间进行有效搜索,并使驾驶策略快速迭代。
本发明一方面提供适用于无人驾驶的嵌入优化式控制方法,其特征在于,包括以下步骤,
步骤一、驾驶决策问题建立及驾驶策略的表征;
基于强化学习方法,将驾驶决策建模为马尔科夫决策过程;基于马尔科夫决策过程的驾驶决策包含表征本车与周车相对状态的状态向量S;以及基于参数化驾驶决策框架,表征本车的驾驶决策的动作向量A;动作向量A包含离散的决策变量,终端相对于本车道中心线的侧向偏移Ty,指向车道保持、左换道、右换道等驾驶行为,以及连续的决策变量,期望加速度atar,动作时间ta;通过动作向量A=(Ty,atar,ta)T表征驾驶决策,并作为输入变量输入下层的轨迹规划层和车辆控制层;车辆控制系统执行驾驶决策后,根据设计的回报函数得到回报信号,作为训练数据;最终通过强化学习算法对驾驶策略进行学习更新;
步骤二、神经网络经验模型建立;
首先,不同连续决策量下轨迹数据的收集:
轨迹规划模块可执行的连续决策量的取值通常在预设范围内;
其次,轨迹特征点提取以及训练数据生成;
在得到的轨迹数据集中,对数据集中的每个轨迹使用若干轨迹特征点表示,这些轨迹特征点分别为纵向参数lx,侧向参数序列ly,1,ly,2,...,ly,5,时间参数序列lt,1,lt,2,...,lt,5;
纵向参数lx可以表示为式(1),
其中sx为纵向位移,vh,0为初始速度,ta为动作时间。纵向参数lx主要受期望加速度atar影响。
在侧向运动中,提取了五个轨迹特征点,计算他们的侧向参数和对应的时间参数组成侧向参数序列ly,1,ly,2,...,ly,5,和时间参数序列lt,1,lt,2,...,lt,5。这些轨迹特征点的纵向位移分别为1/8lx,1/4lx,1/2lx,3/4lx,7/8lx。相应地,第i个侧向参数ly,i和时间参数lt,i可以表示为式(2)和式(3),
其中sy,i,ti分别为第i个轨迹特征点的侧向位移和时间。L为相邻车道侧向位移,ta为动作时间;
最后,神经网络经验模型训练;
使用当前初始速度vh,0,期望加速度atar,动作时间ta作为输入向量,得到的轨迹特征点分别为纵向参数lx,侧向参数序列ly,1,ly,2,...,ly,5,时间参数序列lt,1,lt,2,...,lt,5作为数据集,分别训练三个神经网络;
步骤三、连续驾驶决策变量求解;
智能体强化学习Actor-Critic框架的Actor动作网络根据状态变量S输出决策变量A=(Ty,atar,ta)T,将期望加速度atar,动作时间ta作为初始值输入到基于模型设计的直接搜索算法中,通过训练得到的神经网络根据决策变量模拟本车轨迹的变化,结合周车意图行为及轨迹的预测,最终通过优化求解得到使得性能指标函数最小的连续驾驶决策变量期望加速度atar,动作时间;
步骤四、离散驾驶决策变量学习;
将以上步骤三所述的连续驾驶决策变量的求解方法嵌入强化学习Actor-Critic框架的Actor中。Actor包含步骤一和步骤二的结果,以及步骤三所述的各个步骤,然后进入步骤四开始学习;该学习过程针对离散驾驶决策变量终端相对于本车道中心线的侧向偏移Ty。智能体从环境中读取当前状态向量S,输入到Actor,最终得到动作向量;输入到Critic网络,得到状态值函数的估计值;执行动作得到回报;计算优势函数对Actor和Critic网络进行更新调整。
在以上方案中优选的是,神经网络经验模型训练中,将结合遗传算法用于BP神经网络训练。
还可以优选的是,连续驾驶决策变量求解包括以下步骤,
首先,本车与周车运动模拟:根据状态变量S作为输入状态,智能体强化学习Actor-Critic框架的Actor动作网络,通过神经网络正向传递得到输出的决策变量A=(Ty,atar,ta)T。然后使用当前初始速度vh,0,期望加速度atar,动作时间ta作为输入向量,输入神经网络经验模型。得到当前初始速度vh,0,期望加速度atar,动作时间ta下轨迹的特征点的纵向参数lx,侧向参数序列ly,1,ly,2,...,ly,5,时间参数序列lt,1,lt,2,...,lt,5。最终得到k时刻预测得到的时刻序列Ts下的轨迹特征点序列的纵向位置Sx,侧向位置Sy序列如式(4a)、(4b)和(4c),
Sx=[0,1/8sx,1/4sx,1/2sx,3/4sx,7/8sx,sx], (4a)
Sy=[0,ly,1Ty,ly,2Ty,ly,3Ty,ly,4Ty,ly,5Ty,Ty], (4b)
Ts=[k,k+lt,1ta,k+lt,2ta,k+lt,3ta,k+lt,4ta,k+lt,5ta,k+ta]. (4c)
通过对周车意图行为预测及轨迹生成,得到上述Ts时刻序列下周车n的横纵向位置序列(Sn,x,Sn,y);
其次,基于直接搜索方法的优化问题建立:
使用直接搜索方法,依靠性能指标函数的值进行寻优;通过单纯型Nelder-Mean搜索方法求解得到连续驾驶决策变量;目标函数可被增量式的计算为式(5),
其中(Sx,Sy),(Sn,x,Sn,y)分别为本车和周车n在Ts时刻序列下的横纵向位置序列,TH,THexp为本车车头时距和期望的车头时距;k1,k2为参数;
期望加速度atar,动作时间ta也被加入性能指标函数的考虑中,可以表示为式(6a)
J=J+k3(ta-ta,exp)2+k4(atar-atar,exp)2 (6a)
其中ta,exp,atar,exp为参考期望加速度atar,动作时间ta。k3,k4为参数。在单纯型搜索法中,初始单纯型IS为式(6b)
IS=(I-dI,I,I+dI) (6b)
其中dI为步长,I=(atar,ta)T为智能体Actor动作网络输出的决策变量期望加速度atar,动作时间ta。
还可以优选的是,离散驾驶决策变量学习的学习过程包括如下步骤:
第一步,初始化:策略网络权重θ1,θ2,θ3,值函数网络权重ω及对应初始学习率,重复步数n;
第二步,初始化环境;
第三步,得到当前状态,以概率ε选择随机离散动作侧向偏移Ty,否则依据对应当前策略选择离散动作;或者若当前循环回合达到重复步数n,选择历史最优离散动作;
第四步,如第三步中所述计算连续动作期望加速度atar,动作时间ta;
第五步,计算回报,执行状态转移;
第六步,重复步骤第三步至第五步,直到任务成功或者任务失败;
第七步,采用异步更新策略对当前策略进行更新;
第八步,更新历史最优动作数据集;
第九步,判断策略是否收敛,如果不收敛,则重复步骤第二步至第八步,直至策略收敛。
本发明另一方面提供驾驶控制模块,所述驾驶控制模块包括安装有本发明一个方面所述的适用于无人驾驶的嵌入优化式控制方法的算法程序的计算机。
本发明再一方面提供自动驾驶控制系统,所述自动驾驶控制系统包括感知认知模块、本发明另一方面所述的驾驶控制模块和轨迹规划模块。
本发明的适用于无人驾驶的嵌入优化式控制方法及其驾驶控制模块和自动驾驶控制系统能够达到以下有益效果:
本发明的适用于无人驾驶的嵌入优化式控制方法及其驾驶控制模块和自动驾驶控制系统,具有如下优势,(1)基于无人驾驶车辆控制系统架构,提出嵌入优化式强化学习方法,即基于强化学习中Actor-Critic框架,将优化方法嵌入策略选择,可有效提高算法效率,实现复杂驾驶决策;(2)在提出的嵌入优化式强化学习方法下,通过对不同连续决策量的轨迹进行采样,接着提取轨迹特征点,进而结合遗传算法用于BP神经网络训练,建立神经网络经验模型替代实际的轨迹规划控制器;(3)使用建立的神经网络经验模型,结合直接搜索优化方法,使用输出连续决策变量的Actor动作网络输出量作为初始搜索点,结合周车意图行为及轨迹的预测,求得使得性能指标函数最小的连续驾驶决策变量;(4)结合异步强化学习算法框架,对输出连续决策变量的Actor动作网络策略进行训练,得到最终的复杂无人驾驶控制模块的驾驶决策策略。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为无人驾驶车辆的自动驾驶控制系统的结构框图;
图2为不同连续决策量的规划轨迹结果图;
图3为轨迹特征点说明简图;
图4为初始速度vh,0为10m/s时的网络输出结果图;
图5为连续驾驶决策变量的求解过程简图;
图6为基于强化学习Actor-Critic框架的算法简图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
适用于无人驾驶的嵌入优化式控制方法,该控制方法包括以下步骤:
步骤一、驾驶决策问题建立及驾驶策略的表征;
基于强化学习方法,将驾驶决策建模为马尔科夫决策过程。基于马尔科夫决策过程的驾驶决策包含表征本车与周车相对状态的状态向量S;以及基于参数化驾驶决策框架,表征本车的驾驶决策的动作向量A。动作向量A包含离散的决策变量,终端相对于本车道中心线的侧向偏移Ty,指向车道保持,左换道,右换道等驾驶行为,以及连续的决策变量,期望加速度atar,动作时间ta。因此动作向量A=(Ty,atar,ta)T可表征驾驶决策,并作为输入变量输入下层的轨迹规划层和车辆控制层。车辆控制系统执行驾驶决策后,根据设计的回报函数得到回报信号,作为训练数据。最终通过强化学习算法对驾驶策略进行学习更新。
步骤二、神经网络经验模型建立;
自动驾驶控制系统中,除了驾驶控制模块,轨迹规划模块也需通过算法设计,完成自动控制。其中驾驶控制模块输出的连续的决策变量,期望加速度atar,动作时间ta,作为轨迹规划模块的输入,会一定程度影响最终规划的轨迹。但是由于车载计算量的限制,在决策阶段,难以对每个具体的驾驶决策量完成轨迹规划,而决策层要进行精细化的决策时,需要选取最优的连续决策变量值。因此为了减少计算量,建立神经网络经验模型,在连续决策变量值寻优的过程中替代实际的轨迹规划控制器。具体方法如下:
21)不同连续决策量下轨迹数据收集:
轨迹规划模块可执行的连续决策量的取值通常在一定范围内,如期望加速度atar的取值在区间[-2,2]m/s2之间,动作时间ta在[2,4]s之间。取值在上述区间内的部分轨迹如附图2所示,其中,A1-A5分别表示期望加速度atar为-2m/s2,-1m/s2,0,1m/s2,2m/s2,T2-T4分别表示动作时间ta为2s,3s,4s。
22)轨迹特征点提取以及训练数据生成:在得到的轨迹数据集中,对数据集中的每个轨迹使用若干轨迹特征点表示,这些轨迹特征点分别为纵向参数lx,侧向参数序列ly,1,ly,2,...,ly,5,时间参数序列lt,1,lt,2,...,lt,5。以其中一条轨迹为例,如附图3,纵向参数lx可以表示为
其中sx为纵向位移,vh,0为初始速度,ta为动作时间。纵向参数lx主要受期望加速度atar影响。
在侧向运动中,提取了五个轨迹特征点,计算他们的侧向参数和对应的时间参数组成侧向参数序列ly,1,ly,2,...,ly,5,和时间参数序列lt,1,lt,2,...,lt,5。这些轨迹特征点的纵向位移分别为1/8lx,1/4lx,1/2lx,3/4lx,7/8lx。相应地,第i个侧向参数ly,i和时间参数lt,i可以表示为
其中sy,i,ti分别为第i个轨迹特征点的侧向位移和时间。L为相邻车道侧向位移,ta为动作时间。
23)神经网络经验模型训练:使用当前初始速度vh,0,期望加速度atar,动作时间ta作为输入向量,得到的轨迹特征点分别为纵向参数lx,侧向参数序列ly,1,ly,2,...,ly,5,时间参数序列lt,1,lt,2,...,lt,5作为数据集,分别训练三个神经网络。训练过程中,为了避免局部最优,将结合遗传算法用于BP神经网络训练。遗传算法是最优化算法中的一种。神经网络的结构为两隐藏层分别为128,和64个隐藏神经元。训练误差阈值设定为1e-6。当初始速度vh,0为10m/s时的网络输出如图4所示。
步骤三、连续驾驶决策变量求解;
连续驾驶决策变量的求解过程如图5所示,智能体强化学习Actor-Critic框架的Actor动作网络根据状态变量S输出决策变量A=(Ty,atar,ta)T,其中期望加速度atar,动作时间ta作为初始值输入到基于模型设计的直接搜索算法中,通过训练得到的神经网络可根据决策变量模拟本车轨迹的变化,结合周车意图行为及轨迹的预测,最终通过优化求解得到使得性能指标函数最小的连续驾驶决策变量期望加速度atar,动作时间ta,具体方法如下:
31)本车与周车运动模拟:根据状态变量S作为输入状态,智能体强化学习Actor-Critic框架的Actor动作网络,通过神经网络正向传递得到输出的决策变量A=(Ty,atar,ta)T。然后使用当前初始速度vh,0,期望加速度atar,动作时间ta作为输入向量,输入神经网络经验模型。得到当前初始速度vh,0,期望加速度atar,动作时间ta下轨迹的特征点的纵向参数lx,侧向参数序列ly,1,ly,2,...,ly,5,时间参数序列lt,1,lt,2,...,lt,5。最终得到k时刻预测得到的时刻序列Ts下的轨迹特征点序列的纵向位置Sx,侧向位置Sy序列
Sx=[0,1/8sx,1/4sx,1/2sx,3/4sx,7/8sx,sx], (4a)
Sy=[0,ly,1Ty,ly,2Ty,ly,3Ty,ly,4Ty,ly,5Ty,Ty], (4b)
Ts=[k,k+lt,1ta,k+lt,2ta,k+lt,3ta,k+lt,4ta,k+lt,5ta,k+ta]. (4c)
通过对周车意图行为预测及轨迹生成,进一步地,可以得到上述Ts时刻序列下周车n的横纵向位置序列(Sn,x,Sn,y)。
32)基于直接搜索方法的优化问题建立:这里使用神经网络经验模型来代替数学模型。神经网络模型保留了轨迹的特征但在优化过程中无法计算数学模型的梯度,因此使用直接搜索方法,即使用估计的梯度替代实际的梯度,依靠性能指标函数的值进行寻优。在每次策略搜索时,使用好的样本动作可提高强化学习的算法效率。使用单纯型搜索方法,即Nelder-Mean方法,这一现有技术求解得到连续驾驶决策变量。目标函数可被增量式的计算为,
其中(Sx,Sy),(Sn,x,Sn,y)分别为本车和周车n在Ts时刻序列下的横纵向位置序列,TH,THexp为本车车头时距和期望的车头时距。k1,k2为参数。
期望加速度atar,动作时间ta也被加入性能指标函数的考虑中,可以表示为
J=J+k3(ta-ta,exp)2+k4(atar-atar,exp)2 (6)
其中ta,exp,atar,exp为参考期望加速度atar,动作时间ta。k3,k4为参数。在单纯型搜索法中,初始单纯型IS为
IS=(I-dI,I,I+dI) (6)
其中dI为步长,I=(atar,ta)T为智能体Actor动作网络输出的决策变量期望加速度atar,动作时间ta。
步骤四、离散驾驶决策变量学习;
将以上步骤三所述的连续驾驶决策变量的求解方法嵌入图6所示的强化学习Actor-Critic框架的Actor中。该框架如图6所示,Actor包含步骤一和步骤二的结果,以及步骤三所述的各个步骤,然后进入步骤四开始学习。该学习过程主要针对离散驾驶决策变量终端相对于本车道中心线的侧向偏移Ty。智能体从环境中读取当前状态向量S,输入到Actor,最终得到动作向量;输入到Critic网络,得到状态值函数的估计值;执行动作得到回报;计算优势函数对Actor和Critic网络网络进行更新调整。
其具体学习过程如下所述:
第一步,初始化:策略网络权重θ1,θ2,θ3,值函数网络权重ω及对应初始学习率,重复步数n;
第二步,初始化环境;
第三步,得到当前状态,以概率ε选择随机离散动作侧向偏移Ty,否则依据对应当前策略选择离散动作;或者若当前循环回合达到重复步数n,选择历史最优离散动作;
第四步,如第三步中所述计算连续动作期望加速度atar,动作时间ta;
第五步,计算回报,执行状态转移;
第六步,重复步骤第三步至第五步,直到任务成功或者任务失败;
第七步,采用异步更新策略对当前策略进行更新;
第八步,更新历史最优动作数据集;
第九步,判断策略是否收敛,如果不收敛,则重复步骤第二步至第八步,直至策略收敛。
本实施例的适用于无人驾驶的嵌入优化式控制方法,涉及的是基于强化学习中Actor-Critic框架,将优化方法嵌入策略选择,从而有效提高算法效率,可适用于无人驾驶决策的一种嵌入优化式强化学习方法。其将基于模型设计的优化方法嵌入强化学习Actor-Critic框架的Actor中,并用于对强化学习中连续的动作空间进行有效搜索,对策略进行快速更新,可有效提高强化学习的算法效率和稳定性。同时此方法有效提高了强化学习对于变化环境的自适应能力,进一步的提高了算法性能,将其运用在无人驾驶车辆的驾驶决策问题中,解决了现有强化学习对于连续问题算法效率及稳定性低,对难以得到训练数据的场景的低自适应性。
实施例2
驾驶控制模块,所述驾驶控制模块包括安装有实施例1所述的适用于无人驾驶的嵌入优化式控制方法的算法程序的计算机。
实施例3
自动驾驶控制系统,所述自动驾驶控制系统包括感知认知模块、实施例2所述的驾驶控制模块和轨迹规划模块。
无人驾驶车辆的自动驾驶控制系统的各个子控制系统均需要通过系统设计实现自动控制。如图1所示,包含感知认知模块,驾驶控制模块,轨迹规划模块。实施例1的方法主要针对驾驶控制模块。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。