一种山路自动驾驶的控制方法及系统



1.本发明涉及自动驾驶相关技术领域,具体涉及一种山路自动驾驶的控制方法及系统。


背景技术:



2.随着人工智能、物联网的研究不断深入,汽车行业的自动驾驶朝着电动化、网联化、智能化的方向快速发展,深度学习在自动驾驶领域具有巨大的潜力,在诸多深度学习算法中,深度强化学习可以使智能体不断学习周围的环境状态,进而依据周围实时的环境状态给出当前较佳的行驶控制方案。
3.自动驾驶技术在面对简单的道路环境中使用传统的强化学习训练得到的智能体尚能做出相对准确的行驶策略,但是在山区道路中,由于山区弯路、道路不平整、上下坡路、道路窄道等各类场景错综复杂,导致道路场景较为复杂,使用传统的强化学习训练智能体,由于复杂的道路场景,导致训练数据需求较多,且模型难以收敛,导致训练效率低下,学习效果较差。
4.综上所述,现有技术中由于传统的强化学习方式无法快速得到适用于山区场景的自动化驾驶控制的智能体,导致存在缺乏可快速训练确定,且对山区道路适应性较强的智能体的技术问题。


技术实现要素:



5.本技术实施例通过提供了一种山路自动驾驶的控制方法及系统,解决了现有技术中由于传统的强化学习方式无法快速得到适用于山区场景的自动化驾驶控制的智能体,导致存在缺乏可快速训练确定,且对山区道路适应性较强的智能体的技术问题。
6.鉴于上述问题,本技术实施例提供了一种山路自动驾驶的控制方法及系统。
7.第一方面,本技术实施例提供了一种山路自动驾驶的控制方法,其中,所述方法应用于一山路自动驾驶的控制系统,所述方法包括:通过自动驾驶仿真器torcs建立山路模拟环境,遍历所述山路模拟环境设计自动驾驶任务集合;将所述自动驾驶任务集合转换为马尔可夫决策元组;基于python语言,利用pytorch框架,建立tad3算法模型;根据所述马尔可夫决策元组,基于演员-评论家算法,对所述tad3算法模型进行训练,生成山路自动驾驶控制智能体。
8.另一方面,本技术实施例提供了一种山路自动驾驶的控制系统,其中,所述系统包括:驾驶任务设定模块,用于通过自动驾驶仿真器torcs建立山路模拟环境,遍历所述山路模拟环境设计自动驾驶任务集合;驾驶任务转换模块,用于将所述自动驾驶任务集合转换为马尔可夫决策元组;tad3算法模型构建模块,用于基于python语言,利用pytorch框架,建立tad3算法模型;智能体训练模块,用于根据所述马尔可夫决策元组,基于演员-评论家算法,对所述tad3算法模型进行训练,生成山路自动驾驶控制智能体。
9.第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器及存储在存储
器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现第一方面任一项所述方法的步骤。
10.第四方面,本技术实施例提供了一种计算机可读存储介质,其中,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法。
11.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
12.由于采用了利用自动驾驶仿真器torcs构建山区道路模拟环境,再依据不同的驾驶场景构建自动驾驶任务集合;将自动驾驶任务集合转为多个表征马尔可夫决策过程的马尔可夫决策元组;再基于python语言,利用pytorch框架,建立tad3算法模型,使用演员-评论家算法,结合马尔可夫决策元组,基于不同山区道路场景下的不同驾驶任务对tad3算法模型进行训练,得到山路自动驾驶控制智能体,便于后步支持山区道路自动驾驶的技术方案,通过使用马尔可夫决策元组以及演员-评论家算法实现不同山区道路在tad3算法模型上的快速学习,达到了得到可快速训练确定,且对山区道路适应性较强的智能体的技术效果。
13.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
14.图1为本技术实施例提供了一种山路自动驾驶的控制方法流程示意图;
15.图2为本技术实施例提供了一种山路自动驾驶的控制方法中自动驾驶任务集合确定流程示意图;
16.图3为本技术实施例提供了一种山路自动驾驶的控制方法中tad3算法模型结构示意图;
17.图4为本技术实施例提供了一种山路自动驾驶的控制系统结构示意图;
18.图5为本技术实施例示例性电子设备的结构示意图。
19.附图标记说明:驾驶任务设定模块11,驾驶任务转换模块12,tad3算法模型构建模块13,智能体训练模块14,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
20.本技术提供的技术方案总体思路如下:
21.本技术实施例提供了一种山路自动驾驶的控制方法及系统。由于采用了利用自动驾驶仿真器torcs构建山区道路模拟环境,再依据不同的驾驶场景构建自动驾驶任务集合;将自动驾驶任务集合转为多个表征马尔可夫决策过程的马尔可夫决策元组;再基于python语言,利用pytorch框架,建立tad3算法模型,使用演员-评论家算法,结合马尔可夫决策元组,基于不同山区道路场景下的不同驾驶任务对tad3算法模型进行训练,得到山路自动驾驶控制智能体,便于后步支持山区道路自动驾驶的技术方案,通过使用马尔可夫决策元组以及演员-评论家算法实现不同山区道路在tad3算法模型上的快速学习,达到了得到可快速训练确定,且对山区道路适应性较强的智能体的技术效果。
22.在介绍了本技术基本原理后,下面将结合说明书附图来具体介绍本技术的各种非限制性的实施方式。
23.实施例一
24.如图1所示,本技术实施例提供了一种山路自动驾驶的控制方法,其中,所述方法应用于一山路自动驾驶的控制系统,所述方法包括步骤:
25.s100:通过自动驾驶仿真器torcs建立山路模拟环境,遍历所述山路模拟环境设计自动驾驶任务集合;
26.进一步的,如图2所示,所述通过自动驾驶仿真器torcs建立山路模拟环境,遍历所述山路模拟环境设计自动驾驶任务集合,步骤s100包括步骤:
27.s110:通过所述自动驾驶仿真器torcs建立所述山路模拟环境;
28.进一步的,步骤s110还包括步骤s111:
29.所述通过所述自动驾驶仿真器torcs建立所述山路模拟环境,其中,所述山路模拟环境的车辆模型为car1-trb1模型。
30.s120:根据所述山路模拟环境,设计第一自动驾驶任务,其中,所述第一自动驾驶任务具有第一评价标准,所述第一评价标准为车道线保持;
31.s130:根据所述山路模拟环境,设计第二自动驾驶任务,其中,所述第一自动驾驶任务具有第二评价标准,所述第二评价标准为圈速;
32.s140:将所述第一自动驾驶任务和所述第一评价标准、所述第二自动驾驶任务和所述第二评价标准,添加进所述自动驾驶任务集合。
33.具体而言,自动驾驶仿真器torcs是一种开源3d赛车模拟游戏,在linux操作系统上广受欢迎的赛车游戏。有50多种赛车模型以及20条赛道模型。通过自动驾驶仿真器torcs可以实现不同的山区道路的模拟,示例性地如:山区弯道曲率的模拟,山区道路坡度的模拟,山区道路宽窄的模拟,山区道路平坦度的模拟等山区道路的仿真实现。此处由于仅考虑智能体的训练过程,因此车辆模型的性能需要符合理想值,因此优选的采用极限性能较好,可适应于多种复杂路况的car1-trb1模型作为模拟使用的车辆模型,但是并不对其它可选取的车辆模型加以限制。
34.山路模拟环境依据实际的山区道路的路况特征使用自动驾驶仿真器torcs仿真得到的多条虚拟山区道路,路况特征示例性地如:山区弯道曲率、山区道路坡度、山区道路宽窄、山区道路平坦度等特征;进一步,对于任意一条山路模拟环境,优选的设定两个类型的驾驶任务,不同类型的驾驶任务区别在于评价标准的不同。
35.第一自动驾驶任务指的是依据第一评价标准构建的自动驾驶任务,第一评价标准为判断车辆在山区模拟环境中的自动驾驶策略的车道线保持情况,即表征与车道线的偏离状态的评价标准;
36.第二自动驾驶任务指的是依据第二评价标准构建的自动驾驶任务,第二评价标准为判断车辆在山区模拟环境中的自动驾驶策略的圈速,即表征自动驾驶策略控制下的车辆在山区模拟环境中行驶速度的评价标准。
37.遍历全部的山路模拟环境,分别设定第一自动驾驶任务和第二自动驾驶任务,得到自动驾驶任务集合,为后步对智能体确定的自动驾驶策略的优劣程度进行评价,实现智能体的收敛。
38.s200:将所述自动驾驶任务集合转换为马尔可夫决策元组;
39.进一步的,所述将所述自动驾驶任务集合转换为马尔可夫决策元组,步骤s200包括步骤:
40.s210:遍历所述自动驾驶任务集合提取评价标准集合,设定奖励函数;
41.s220:构建马尔可夫决策元组结构式:
42.《s,a,p,r,γ》,γ∈[0,1]
[0043]
其中,s为车辆状态信息,a为车辆控制动作,r为奖励函数,p为状态转移函数,γ为衰减率;
[0044]
s230:通过所述奖励函数和所述马尔可夫决策元组结构式,遍历所述自动驾驶任务集合转换为所述马尔可夫决策元组。
[0045]
进一步的,所述遍历所述自动驾驶任务集合提取评价标准集合,设定奖励函数,步骤s210包括步骤:
[0046]
s211:当所述自动驾驶任务的评价标准为所述第一评价标准时,构建第一奖励函数:
[0047][0048]
其中,r
1t
为第一评价标准对应的奖励值,v
x
为车辆在x轴的速度,α为车辆朝向与道路中线的夹角,d为车辆与道路中线的距离;
[0049]
s212:当所述自动驾驶任务的评价标准为所述第二评价标准时,构建第二奖励函数:
[0050][0051]
其中,r
2t
为第二评价标准的奖励值,v
x
为车辆在x轴的速度,α为车辆朝向与道路中线的夹角,d为车辆与道路中线的距离,λ为平衡奖励与惩罚的参数,p
t
为车辆在t时刻距离起点的距离;
[0052]
s213:将所述第一奖励函数和所述第二奖励函数,添加进所述奖励函数。
[0053]
具体而言,马尔可夫决策元组指的是将自动驾驶任务集合转换为马尔可夫决策过程后存储的数据。存储形式优选的为:马尔可夫决策元组结构式为准<s,a,p,r,γ>,γ∈[0,1],其中,s为车辆状态信息,a为车辆控制动作,r为奖励函数,p为状态转移函数,γ为衰减率,优选为0.95。
[0054]
车辆状态信息指的是表征车辆模型在不同的山区道理模拟环境中的行驶实时状态参数,优选的包括但不限于:车辆朝向与道路中线的夹角,记为angle∈[-π,π]、激光雷达信息向量,优选为19维的激光信息向量,可用于探测出车辆与道路边缘的距离,记为track∈[0,200]、车辆与道路中线的距离,记为trackpos、车辆在x,y,z轴的速度,分别记为speedx、speedy和speedz,且x,y,z轴分别为向右的轴和向前的轴合向下的轴、四个车轮的转速,记为wheelspinvel∈[0,+∞]、汽车发动机的转速,记为rpm∈[0,+∞)等实时状态量;
[0055]
车辆控制动作指的是智能体基于状态量根据自动驾驶策略给出的控制动作,优选的包括但不限于:加速,记为acceleration∈[0,1],制动,记为brake∈[0,1],转向信息,记
为steering∈[-1,1];
[0056]
奖励函数指的是用于评价车辆控制动作优劣程度,并计算惩罚值和奖励值的函数式,优选的在第一自动驾驶任务时,针对第一评价标准,构建第一奖励函数,优选的函数形式如下:
[0057][0058]
其中,r
1t
为第一评价标准对应的奖励值,v
x
为车辆在x轴的速度,α为车辆朝向与道路中线的夹角,d为车辆与道路中线的距离;
[0059]
|d|>1表示车辆冲出赛道,cos(α)<0表示车辆行驶方向偏离,若车辆冲出赛道或行驶方向与车道方向相反,当出现此类控制策略时则给智能体-200的惩罚;若车辆正常行驶,则鼓励车辆在靠近中线的同时提高前进的速度。
[0060]
优选的在第二自动驾驶任务时,针对第二评价标准,构建第二奖励函数,优选的函数形式如下:
[0061][0062]
其中,r
2t
为第二评价标准的奖励值,v
x
为车辆在x轴的速度,α为车辆朝向与道路中线的夹角,d为车辆与道路中线的距离,λ为平衡奖励与惩罚的参数,pt为车辆在t时刻距离起点的距离。
[0063]
同样的,若车辆冲出赛道或行驶方向与车道方向相反,则给智能体-200的惩罚值;若车辆速度小于1km/h,则奖励值为0;根据奖励函数,为了使车辆在有限的时间行驶更长的距离,设置一个固定的步长为回合最大时间步长,优选的时间步长设定为:150,200,300步中的一种,即30,40,60秒中的一种,当车辆行驶规定时间后,结束当前回合。同时,车辆行驶速度过低、冲出车道或掉头行驶也会导致当前回合结束;
[0064]
状态转移函数,记为p,可实现在不同的道路场景下针对当前的车辆控制动作,以及车辆状态信息,预测下一时刻车辆的状态信息,为依据车辆的动作控制经验数据而构建的函数式,不同的车辆对应于不同的函数式子,再此不多做限制;
[0065]
γ为衰减率,决定了未来奖励的当前价值,即可根据将要给予的奖励值,确定当前车辆控制动作的价值。
[0066]
通过奖励函数和马尔可夫决策元组结构式,对自动驾驶任务集合进行转换,即得到表征不同山区道路模拟环境对应的多个马尔可夫决策元组,输入不同的车辆状态量,通过智能体给出基于当前场景的车辆控制动作,再使用奖励函数给出计算结果,即可用作对智能体进行更新的参考数据组。
[0067]
s300:基于python语言,利用pytorch框架,建立tad3算法模型;
[0068]
s400:根据所述马尔可夫决策元组,基于演员-评论家算法,对所述tad3算法模型进行训练,生成山路自动驾驶控制智能体。
[0069]
进一步的,所述根据所述马尔可夫决策元组,基于演员-评论家算法,对所述tad3算法模型进行训练,生成山路自动驾驶控制智能体,步骤s400包括步骤:
[0070]
s410:通过多层感知机上传多个车辆行驶状态信息进行标准化处理;
[0071]
s420:基于所述tad3算法模型,获取演员网络、评论家网络和目标网络;
[0072]
s430:对所述演员网络、所述评论家网络和所述目标网络的权重初始化;
[0073]
进一步的,所述对所述演员网络、所述评论家网络和所述目标网络的权重初始化,步骤s430包括步骤:
[0074]
s431:根据所述评论家网络,获取第一网络、第二网络和第三网络,其中,所述第三网络为评论家网络与循环神经网络结合确定,具有获取历史状态信息的能力;
[0075]
s432:对所述第一网络、所述第二网络和所述第三网络的权重分别进行随机设置,生成第一权重初始化结果;
[0076]
s433:对所述演员网络的权重进行随机设置,生成第二权重初始化结果;
[0077]
s434:根据所述第一权重初始化结果和所述第二权重初始化结果对所述目标网络的权重进行设置,生成第三权重初始化结果。
[0078]
具体而言,在开始训练之前,需要对演员网络、所述评论家网络和所述目标网络权重进行初始化:第一权重初始化结果指的是对评论家网络中的第一网络、所述第二网络和所述第三网络的权重分别随机设置确定的结果;第二权重初始化结果指的是对演员网络中的权重随机设置确定的结果;由于目标网络和演员网络、评论家网络相对应,则基于θ
′i←
τθi+(1-τ)θ
′i、φ
′←
τφ+(1-τ)φ

,对目标网络的权重进行更新,记为第三权重初始化结果。当第三权重初始化结果确定后,则所述演员网络、所述评论家网络和所述目标网络的权重初始化,即可开始训练。
[0079]
s440:将标准化处理后的所述多个车辆行驶状态信息通过所述演员网络和所述马尔可夫决策元组处理,生成多个回放数组;
[0080]
s450:从所述多个回放数组抽取预设数量的所述回放数组,计算时序差分目标;
[0081]
s460:根据所述时序差分目标,对所述评论家网络进行权重更新;
[0082]
s470:基于所述多个回放数组,对所述评论家网络的权重循环更新预设次数时,根据策略梯度对所述演员网络和所述目标网络的权重进行更新;
[0083]
s480:当训练回合满足预设回合时,生成所述山路自动驾驶控制智能体。
[0084]
具体而言,tad3算法模型是一种确定性策略强化学习算法,适合于高维连续动作空间,由于自动驾驶的状态量是高维连续量,因此适用于tad3算法模型结合本技术所提出的马尔可夫决策元组、以及演员-评论家算法实现智能体的强化训练。如图3所示,tad3算法模型框架包括演员网络、评论家网络以及目标网络,可在不同的车辆行驶状态量下,选择较优的车辆行驶控制量,进一步的可使用马尔可夫决策元组中的状态转移函数确定后步时间的车辆状态,使用奖励函数评估车辆状态的奖励值,再通过演员-评论家算法,采集较少的训练数据,实现智能体的网络权重的更新,从而实现智能体的高效的强化学习。tad3算法模型框架优选的基于python语言,利用pytorch框架进行构建。
[0085]
山路自动驾驶控制智能体即为在原有的自动驾驶模型的基础上,使用本技术所提出的强化学习策略学习得到的用于山路自动驾驶控制的智能模型。训练过程如下:
[0086]
第一步骤:通过多层感知机上传多个车辆行驶状态信息进行标准化处理,多层感知机指的是用于传输车辆行驶状态量的传感器,和状态量:车辆朝向与道路中线的夹角,记为angle∈[-π,π]、激光雷达信息向量,优选为19维的激光信息向量,可用于探测出车辆与道路边缘的距离,记为track∈[0,200]、车辆与道路中线的距离,记为trackpos、车辆在x,
y,z轴的速度,分别记为speedx、speedy和speedz,且x,y,z轴分别为向右的轴和向前的轴合向下的轴、四个车轮的转速,记为wheelspinvel∈[0,+∞]、汽车发动机的转速,记为rpm∈[0,+∞)等实时状态量相对应。进行标准化处理,即筛除冗杂数据,将选定的车辆行驶状态量采用如下形式存储:
[0087]st
={angle,track,trackpos,speedx,speedy,speedz,wheelspinvel,rpm},形成29维的向量,s
t
表征车辆开始行驶时计时至第t时刻下的车辆行驶状态量。将第t时刻下的车辆控制动作存储为:a
t
={acceleration,brake,steering},优选通过上述形式将车辆状态量和车辆控制动作进行存储,置为待响应状态,等待后步调用。
[0088]
第二步骤:演员-评论家网络用于强化学习中的神经网络,包括演员网络、评论家网络和目标网络,其中,演员网络用于结合马尔可夫决策元组给出不同山区道路模拟环境下的不同车辆状态量的实时车辆状态信息、车辆控制动作信息、奖励值和下一时刻车辆状态信息,记为回放数组,优选的存储形式为:(s,a,r,s

),添加回放数组b,任意一个回放数组的数据量优选为10000个。
[0089]
任意一个回放数组确定过程如下:
[0090]
演员网络优选为已经训练好的可在输入车辆状态量即可给出一个车流量控制动作的神经网络模型,此种模型训练较为广泛,在此不多加赘述,但是此时的演员网络不适应山区道路,通过马尔可夫决策元组,确定实时状态量,输入演员网络给出车辆的控制动作,过程记录如下:演员网络记为π
φ
,则根据当前状态s和演员网络π
φ
得出动作:a~π
φ
(s)+∈,再根据奖励函数获取奖励r,根据状态转移矩阵获得下一时刻状态s

,将元组(s,a,r,s

)存入回放数组b。
[0091]
评论家网络用于根据回放数组评价演员网络所给出车辆控制动作的优劣,进而实现评论家网络的权重更新,评论家网络包括第一网络第二网络和第三网络其中,第一网络和第二网络为一半的评论家神经网络,第三网络为评论家神经网络和循环神经网络结合的结果,使得演员评论家神经网络具有获取历史数据的能力;目标网络指的是存储较优的模型权重优化结果的神经网络,包括和演员网络对应的目标演员网络、与第一网络和第二网络对应的目标评论家网络、和第三网络对应的目标gru评论家网络。
[0092]
在进行训练时,通过演员网络和马尔可夫决策元组处理生成多个回放数组后,优选的从多个回放数组抽取预设数量,优选的预设数量为32的数据,通过如下式:计算时序差分目标,其中,为预测的车辆控制动作,和s

对应,clip()为截断函数,c为截断边界值,c可由工作人员设定,优选为0.2,为预测方差和s

对应;计算完时序差分目标后,即视为对演员网络所给的车辆控制动作做出了评价,则可通过时序差分目标利用如下公式对评论家网络的权重进行更新,公式如下:θi为第一网络第二网络和第三网络任意一个的权重更新结果,n为所取得回放数组得数量。
[0093]
将上述对评论家网络的权重更新过程循环更新,且每当循环次数满u次时,根据策
略梯度更新演员网络和目标网络的权重,其中,策略梯度公式优选的如下:
[0094][0095]
θi←
τθi+(1-τ)θi[0096]
φ
′←
τφ+(1-τ)φ

[0097]
其中,u为预设的更新演员网络和所述目标网络的权重间隔次数,表征策略梯度,通过策略梯度可确定演员网络权重φ的更新值,这是基于演员-评论家网络中j(φ)为基于评论家给出的关于演员网络权重φ的期望值,进而可确定演员网络权重φ,τ为目标网络的更新率,n为设定的回放数组的所取个数,θ
′i为目标评论家网络中的权重更新结果,φ

为目标演员网络中权重更新结果。
[0098]
整体统计评论家网络的权重更新次数满足预设值时,视为一个回合训练结束,再重复训练预设回合数,优选为2000回合,从而得到最终的智能体。可适用于山路自动驾驶控制,由于通过演员-评论家网络,结合马尔可夫决策元组对tad3算法模型进行训练更新,权重得更新为自适应更新,因此提高模型训练效率,以及对山路环境的适应性。
[0099]
综上所述,本技术实施例所提供的一种山路自动驾驶的控制方法及系统具有如下技术效果:
[0100]
1.由于采用了利用自动驾驶仿真器torcs构建山区道路模拟环境,再依据不同的驾驶场景构建自动驾驶任务集合;将自动驾驶任务集合转为多个表征马尔可夫决策过程的马尔可夫决策元组;再基于python语言,利用pytorch框架,建立tad3算法模型,使用演员-评论家算法,结合马尔可夫决策元组,基于不同山区道路场景下的不同驾驶任务对tad3算法模型进行训练,得到山路自动驾驶控制智能体,便于后步支持山区道路自动驾驶的技术方案,通过使用马尔可夫决策元组以及演员-评论家算法实现不同山区道路在tad3算法模型上的快速学习,达到了得到可快速训练确定,且对山区道路适应性较强的智能体的技术效果。
[0101]
实施例二
[0102]
基于与前述实施例中一种山路自动驾驶的控制方法相同的发明构思,如图4所示,本技术实施例提供了一种山路自动驾驶的控制系统,其中,所述系统包括:
[0103]
驾驶任务设定模块11,用于通过自动驾驶仿真器torcs建立山路模拟环境,遍历所述山路模拟环境设计自动驾驶任务集合;
[0104]
驾驶任务转换模块12,用于将所述自动驾驶任务集合转换为马尔可夫决策元组;
[0105]
tad3算法模型构建模块13,用于基于python语言,利用pytorch框架,建立tad3算法模型;
[0106]
智能体训练模块14,用于根据所述马尔可夫决策元组,基于演员-评论家算法,对所述tad3算法模型进行训练,生成山路自动驾驶控制智能体。
[0107]
进一步的,所述驾驶任务设定模块11执行步骤包括:
[0108]
通过所述自动驾驶仿真器torcs建立所述山路模拟环境;
[0109]
根据所述山路模拟环境,设计第一自动驾驶任务,其中,所述第一自动驾驶任务具有第一评价标准,所述第一评价标准为车道线保持;
[0110]
根据所述山路模拟环境,设计第二自动驾驶任务,其中,所述第一自动驾驶任务具
有第二评价标准,所述第二评价标准为圈速;
[0111]
将所述第一自动驾驶任务和所述第一评价标准、所述第二自动驾驶任务和所述第二评价标准,添加进所述自动驾驶任务集合。
[0112]
进一步的,所述驾驶任务设定模块11执行步骤还包括,所述山路模拟环境的车辆模型为carl-trb1模型。
[0113]
进一步的,所述驾驶任务转换模块12执行步骤包括:
[0114]
遍历所述自动驾驶任务集合提取评价标准集合,设定奖励函数;
[0115]
构建马尔可夫决策元组结构式:
[0116]
<s,a,p,r,γ>,γ∈[0,1]
[0117]
其中,s为车辆状态信息,a为车辆控制动作,r为奖励函数,p为状态转移函数,γ为衰减率;
[0118]
通过所述奖励函数和所述马尔可夫决策元组结构式,遍历所述自动驾驶任务集合转换为所述马尔可夫决策元组。
[0119]
进一步的,所述驾驶任务转换模块12执行步骤还包括:
[0120]
当所述自动驾驶任务的评价标准为所述第一评价标准时,构建第一奖励函数:
[0121][0122]
其中,r
1t
为第一评价标准对应的奖励值,v
x
为车辆在x轴的速度,α为车辆朝向与道路中线的夹角,d为车辆与道路中线的距离,;
[0123]
当所述自动驾驶任务的评价标准为所述第二评价标准时,构建第二奖励函数:
[0124][0125]
其中,r
2t
为第二评价标准的奖励值,v
x
为车辆在x轴的速度,α为车辆朝向与道路中线的夹角,d为车辆与道路中线的距离,λ为平衡奖励与惩罚的参数,p
t
为车辆在t时刻距离起点的距离;
[0126]
将所述第一奖励函数和所述第二奖励函数,添加进所述奖励函数。
[0127]
进一步的,所述智能体训练模块14执行步骤包括:
[0128]
通过多层感知机上传多个车辆行驶状态信息进行标准化处理;
[0129]
基于所述tad3算法模型,获取演员网络、评论家网络和目标网络;
[0130]
对所述演员网络、所述评论家网络和所述目标网络的权重初始化;
[0131]
将标准化处理后的所述多个车辆行驶状态信息通过所述演员网络和所述马尔可夫决策元组处理,生成多个回放数组;
[0132]
从所述多个回放数组抽取预设数量的所述回放数组,计算时序差分目标;
[0133]
根据所述时序差分目标,对所述评论家网络进行权重更新;
[0134]
基于所述多个回放数组,对所述评论家网络的权重循环更新预设次数时,根据策略梯度对所述演员网络和所述目标网络的权重进行更新;
[0135]
当训练回合满足预设回合时,生成所述山路自动驾驶控制智能体。
[0136]
进一步的,所述智能体训练模块14执行步骤还包括:
[0137]
根据所述评论家网络,获取第一网络、第二网络和第三网络,其中,所述第三网络为评论家网络与循环神经网络结合确定,具有获取历史状态信息的能力;
[0138]
对所述第一网络、所述第二网络和所述第三网络的权重分别进行随机设置,生成第一权重初始化结果;
[0139]
对所述演员网络的权重进行随机设置,生成第二权重初始化结果;
[0140]
根据所述第一权重初始化结果和所述第二权重初始化结果对所述目标网络的权重进行设置,生成第三权重初始化结果。
[0141]
实施例三
[0142]
基于与前述实施例中一种山路自动驾驶的控制方法相同的发明构思,本技术实施例提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一任一项所述的方法。
[0143]
示例性电子设备
[0144]
下面参考图5来描述本技术实施例的电子设备。
[0145]
基于与前述实施例中一种山路自动驾驶的控制方法相同的发明构思,本技术实施例还提供了一种电子设备,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得系统以执行实施例一任一项所述的方法。
[0146]
该电子设备300包括:处理器302、通信接口303、存储器301。可选的,电子设备300还可以包括总线架构304。其中,通信接口303、处理器302以及存储器301可以通过总线架构304相互连接;总线架构304可以是外设部件互连标(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述总线架构304可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0147]
处理器302可以是一个cpu,微处理器,asic,或一个或多个用于控制本技术方案程序执行的集成电路。
[0148]
通信接口303,使用任何收发器一类的系统,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan),有线接入网等。
[0149]
存储器301可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact discread-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线架构304与处理器相连接。存储器也可以和处理器集成在一起。
[0150]
其中,存储器301用于存储执行本技术方案的计算机执行指令,并由处理器302来控制执行。处理器302用于执行存储器301中存储的计算机执行指令,从而实现本技术上述实施例提供的一种山路自动驾驶的控制方法。
[0151]
可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术
实施例对此不作具体限定。
[0152]
本领域普通技术人员可以理解:本技术中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本技术实施例的范围,也不表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0153]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程系统。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0154]
本技术实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列(fpga)或其它可编程逻辑系统,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算系统的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
[0155]
本技术实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于终端中。可选地,处理器和存储媒介也可以设置于终端中的不同的部件中。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0156]
尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本申
请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术及其等同技术的范围之内,则本技术意图包括这些改动和变型在内。

技术特征:


1.一种山路自动驾驶的控制方法,其特征在于,所述方法应用于一山路自动驾驶的控制系统,所述方法包括:通过自动驾驶仿真器torcs建立山路模拟环境,遍历所述山路模拟环境设计自动驾驶任务集合;将所述自动驾驶任务集合转换为马尔可夫决策元组;基于python语言,利用pytorch框架,建立tad3算法模型;根据所述马尔可夫决策元组,基于演员-评论家算法,对所述tad3算法模型进行训练,生成山路自动驾驶控制智能体。2.如权利要求1所述的方法,其特征在于,所述通过自动驾驶仿真器torcs建立山路模拟环境,遍历所述山路模拟环境设计自动驾驶任务集合,包括:通过所述自动驾驶仿真器torcs建立所述山路模拟环境;根据所述山路模拟环境,设计第一自动驾驶任务,其中,所述第一自动驾驶任务具有第一评价标准,所述第一评价标准为车道线保持;根据所述山路模拟环境,设计第二自动驾驶任务,其中,所述第一自动驾驶任务具有第二评价标准,所述第二评价标准为圈速;将所述第一自动驾驶任务和所述第一评价标准、所述第二自动驾驶任务和所述第二评价标准,添加进所述自动驾驶任务集合。3.如权利要求2所述的方法,其特征在于,所述通过所述自动驾驶仿真器torcs建立所述山路模拟环境中的所述山路模拟环境的车辆模型为car1-trb1模型。4.如权利要求2所述的方法,其特征在于,所述将所述自动驾驶任务集合转换为马尔可夫决策元组,包括:遍历所述自动驾驶任务集合提取评价标准集合,设定奖励函数;构建马尔可夫决策元组结构式:<s,a,p,r,γ>,γ∈[0,1]其中,s为车辆状态信息,a为车辆控制动作,r为奖励函数,p为状态转移函数,γ为衰减率;通过所述奖励函数和所述马尔可夫决策元组结构式,遍历所述自动驾驶任务集合转换为所述马尔可夫决策元组。5.如权利要求4所述的方法,其特征在于,所述遍历所述自动驾驶任务集合提取评价标准集合,设定奖励函数,包括:当所述自动驾驶任务的评价标准为所述第一评价标准时,构建第一奖励函数:其中,r
1t
为第一评价标准对应的奖励值,v
x
为车辆在x轴的速度,α为车辆朝向与道路中线的夹角,d为车辆与道路中线的距离;当所述自动驾驶任务的评价标准为所述第二评价标准时,构建第二奖励函数:
其中,r
2t
为第二评价标准的奖励值,v
x
为车辆在x轴的速度,α为车辆朝向与道路中线的夹角,d为车辆与道路中线的距离,λ为平衡奖励与惩罚的参数,p
t
为车辆在t时刻距离起点的距离;将所述第一奖励函数和所述第二奖励函数,添加进所述奖励函数。6.如权利要求1所述的方法,其特征在于,所述根据所述马尔可夫决策元组,基于演员-评论家算法,对所述tad3算法模型进行训练,生成山路自动驾驶控制智能体,包括:通过多层感知机上传多个车辆行驶状态信息进行标准化处理;基于所述tad3算法模型,获取演员网络、评论家网络和目标网络;对所述演员网络、所述评论家网络和所述目标网络的权重初始化;将标准化处理后的所述多个车辆行驶状态信息通过所述演员网络和所述马尔可夫决策元组处理,生成多个回放数组;从所述多个回放数组抽取预设数量的所述回放数组,计算时序差分目标;根据所述时序差分目标,对所述评论家网络进行权重更新;基于所述多个回放数组,对所述评论家网络的权重循环更新预设次数时,根据策略梯度对所述演员网络和所述目标网络的权重进行更新;当训练回合满足预设回合时,生成所述山路自动驾驶控制智能体。7.如权利要求6所述的方法,其特征在于,所述对所述演员网络、所述评论家网络和所述目标网络的权重初始化,包括:根据所述评论家网络,获取第一网络、第二网络和第三网络,其中,所述第三网络为评论家网络与循环神经网络结合确定,具有获取历史状态信息的能力;对所述第一网络、所述第二网络和所述第三网络的权重分别进行随机设置,生成第一权重初始化结果;对所述演员网络的权重进行随机设置,生成第二权重初始化结果;根据所述第一权重初始化结果和所述第二权重初始化结果对所述目标网络的权重进行设置,生成第三权重初始化结果。8.一种山路自动驾驶的控制系统,其特征在于,所述系统包括:驾驶任务设定模块,用于通过自动驾驶仿真器torcs建立山路模拟环境,遍历所述山路模拟环境设计自动驾驶任务集合;驾驶任务转换模块,用于将所述自动驾驶任务集合转换为马尔可夫决策元组;tad3算法模型构建模块,用于基于python语言,利用pytorch框架,建立tad3算法模型;智能体训练模块,用于根据所述马尔可夫决策元组,基于演员-评论家算法,对所述tad3算法模型进行训练,生成山路自动驾驶控制智能体。9.一种电子设备,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述存储程序被所述处理器执行时,实现权利要求1~7任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~7中任一项所述的方法。

技术总结


本申请公开了一种山路自动驾驶的控制方法及系统,涉及自动驾驶领域,方法应用于一山路自动驾驶的控制系统,包括:通过自动驾驶仿真器TORCS建立山路模拟环境,遍历山路模拟环境设计自动驾驶任务集合;将自动驾驶任务集合转换为马尔可夫决策元组;基于python语言,利用PyTorch框架,建立TAD3算法模型;根据马尔可夫决策元组,基于演员-评论家算法,对TAD3算法模型进行训练,生成山路自动驾驶控制智能体。解决了现有技术中由于传统的强化学习方式无法快速得到适用于山区场景的自动化驾驶控制的智能体,导致存在缺乏可快速训练确定,且对山区道路适应性较强的智能体的技术问题。山区道路适应性较强的智能体的技术问题。山区道路适应性较强的智能体的技术问题。


技术研发人员:

王广玮 颜宇 赵津

受保护的技术使用者:

贵州大学

技术研发日:

2022.09.21

技术公布日:

2022/11/22

本文发布于:2024-09-20 08:42:00,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/1031.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   网络   山路   权重
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议