基于深度强化学习的地面无人车自主驾驶方法及系统

文档序号:27110107发布日期:2021-10-27 18:38阅读:124来源:国知局
基于深度强化学习的地面无人车自主驾驶方法及系统

1.本发明涉及车辆控制技术领域,具体涉及一种基于深度强化学习的地面无人车自主驾驶方法及系统。


背景技术:

2.在传统自动驾驶方法中,绝大部分方法都分为建立车辆动力学模型、环境感知、智能决策、局部路径规划并实现轨迹跟随算法对车辆进行控制五个步骤,其中车辆动力学模型的建立仅针对当前车辆进行拟合,而无法针对不同的车辆进行动态的建模;环境感知通常使用多个多种传感器对环境进行测量,部分传感器价格高昂,并且多传感器之间还要解决数据融合问题;智能决策需要获取大量的历史行车环境与决策数据经验,并且不能对现实情况中的复杂的非结构性路面环境信息进行准确的决策;传统的实时局部路径规划需要在计算量与精确程度之间进行妥协,快速的计算无法保证局部路径规划结果的准确性,而精确的路径规划结果所需要的计算时间往往无法保证实时性。所以在有限的人力、真实行车环境中复杂的路面状况以及不同的车辆模型条件下,无法得到理想的实际行车轨迹。


技术实现要素:

3.为了解决现有自动驾驶方法存在的无法在复杂路面状况以及不同车辆模型条件下得到理想的实际行车轨迹的问题,本发明提供一种基于深度强化学习的地面无人车自主驾驶方法及系统。
4.本发明为解决技术问题所采用的技术方案如下:
5.一种基于深度强化学习的地面无人车自主驾驶方法,包括以下步骤:
6.s1、获取行车环境图像和对应的语义分割环境图像,并对车辆模型控制模块发送当前行车状态是否结束的信号;
7.s2、分析计算分割环境图像中的像素信息,根据路面像素自动生成标准参考路径,对车辆当前行车状态进行评分,并记录分数;
8.s3、对行车环境图像进行预处理,并输送到深度强化学习神经网络;
9.s4、所述深度强化学习神经网络对预处理后的行车环境图像进行分析计算,预测车辆动作,得到智能决策结果;
10.s5、将所述预处理后的行车环境图像、所述语义分割环境图像、所述预测的车辆动作、所述行车状态评分、所述当前行车状态是否结束的信号作为一条经验保存在经验池模块中;
11.s6、抽取经验池模块中的多条经验,对深度强化学习神经网络进行反向传播,调整神经网络参数,直至深度强化学习神经网络收敛;
12.s7、接收深度强化学习神经网络预测的车辆动作,并向车辆模型控制模块发送控制指令,由车辆模型控制模块执行该车辆动作,直至到达终止状态。
13.进一步地,步骤s1中通过行车环境仿真模块向车辆模型控制模块发送一个当前行
车状态是否结束的信号,如果当前车辆处于碰撞状态,则发送结束信号,并重置车辆位置,开始下一次仿真;其他状态视为当前车辆处于正常行驶状态,发送未结束信号。
14.进一步地,所述步骤s2中的评分原则为:车辆越靠近道路中央分数越高,车辆行车方向与道路形成的夹角越小分数越高,车辆行车方向延长线与前方障碍物的最短距离越大分数越高。
15.进一步地,所述步骤s3中对行车环境图像进行预处理具体为将彩色图像处理为灰度图像。
16.进一步地,所述深度强化学习神经网络的网络结构由至少一层卷积层和至少一层全连接层组成,全连接层位于卷积层之后;全连接层的最后一层的神经元个数与对应的车辆控制模块接收的车辆动作数量相同,即在全连接层的最后一层得到一个长度与车辆动作数量相同的向量,所述向量长度与神经元的个数相同,该向量中每一个数字代表了对应车辆动作如果在当前行车环境下执行将得到的分数值。
17.进一步地,所述全连接层的层数是通过隐含层的数量确定的:m=sqrt(n+l)+a进行确定,其中m为隐含层神经元个数,n和l分别为该层输入与输出神经元节点数,a为1至10之间的常数。
18.进一步地,预测的车辆动作包括前进、刹车、左转、右转、无操作。
19.进一步地,所述步骤s6具体为:抽取经验池模块中的多条经验计算得到标签值与损失值,通过车辆动作分数向量与对应的标签值进行比较得到预测误差,同时采用反向传播算法和随机梯度下降法对该预测误差进行多次迭代训练直到该预测误差不再下降为止,此时调整神经网络参数,直到神经网络收敛,从而更新深度强化学习神经网络模块。
20.本发明还提供了一种基于深度强化学习的地面无人车自主驾驶系统,包括:
21.仿真端服务器、交换机、算法端服务器、行车环境仿真模块、车辆模型控制模块、评分模块、深度强化学习神经网络模块、经验池模块和图像传感模块;
22.所述行车环境仿真模块和车辆模型控制模块集成在仿真端服务器中,所述行车环境仿真模块用于输出行车环境图像和对应的分割环境图像以及当前行车状态是否结束的信号,所述车辆模型控制模块接收行车环境仿真模块的控制指令和当前行车状态是否结束的信号并执行预测的车辆动作;
23.所述评分模块、深度强化学习神经网络模块以及经验池模块集成在算法端服务器中;所述评分模块根据分割环境图像的像素信息自动生成标准参考路径,对车辆当前行车状态进行评分;所述深度强化学习神经网络模块对行车环境图像进行分析计算,给出预测车辆动作;所述经验池模块将由行车环境仿真模块生成的行车环境图像、语义分割环境图像、当前行车状态是否结束的信号、评分模块生成的评分以及由深度强化学习神经网络模块预测的车辆动作进行汇总保存;
24.所述交换机用于实现仿真端服务器与算法端服务器数据交互;
25.所述图像传感模块装载在无人车上,用于获取环境图像。
26.进一步地,行车环境仿真模块根据当前图像传感模块的位置、高度、角度、视角信息输出当前行车环境图像,得到用于深度强化学习神经网络模块训练的行车环境图像与分割环境图像。
27.进一步地,所述行车环境仿真模块接收深度强化学习神经网络模块预测的车辆动
作,并向车辆模型控制模块发送控制指令,并由车辆模型控制模块执行该车辆动作。
28.进一步地,所述车辆动作包括前进、刹车、左转、右转和无操作。
29.进一步地,所述深度强化学习神经网络的网络结构由至少一层卷积层和至少一层全连接层组成,全连接层位于卷积层之后;全连接层的最后一层的神经元个数与对应的车辆控制模块接收的车辆动作数量相同,即在全连接层的最后一层得到一个长度与车辆动作数量相同的向量,所述向量长度与神经元的个数相同,该向量中每一个数字代表了对应车辆动作如果在当前行车环境下执行将得到的分数值。
30.进一步地,所述全连接层的层数是通过隐含层的数量确定的:m=sqrt(n+l)+a进行确定,其中m为隐含层神经元个数,n和l分别为该层输入与输出神经元的数量,a为1至10之间的常数。
31.综上所述,本发明提供了一种基于深度强化学习的地面无人车自主驾驶方法及系统,所述方法包括:通过行车环境仿真模块输出行车环境图像和对应的分割环境图像及当前行车状态是否结束的信号,车辆模型控制模块接收控制指令和当前行车状态是否结束的信号并执行车辆动作;评分模块根据分割环境图像的像素信息自动生成标准参考路径,对车辆当前行车状态进行评分;深度强化学习神经网络模块对行车环境图像进行分析计算,分析当前行车环境,给出预测车辆动作;经验池模块将上述信息进行汇总保存。本发明通过上述方法和系统可在复杂路面状况及不同车辆模型下得到理想的实际行车轨迹。
32.本发明与现有技术相比具有以下优点:
33.1、本发明中,所开发的行车环境仿真模块可以替换行车环境中各物体的纹理,调整光照与天气情况,同时可设置摄像头传感器位置、角度等信息,并生成相应的行车环境图像以及对应的分割环境图像。
34.2、本发明中,使用不同的纹理、光照与天气情况对深度强化学习神经网络进行训练,可提升网络对于不同路面环境、不同光照与天气情况的动作预测的鲁棒性。
35.3、由于采用了依照分割环境图像对道路评分的方式,使得本发明可以针对不同道路状态(障碍物、行人、车辆)、道路纹理、天气环境进行训练,有很强的鲁棒性,可适应复杂环境下的自主驾驶。
36.4、本发明所提出的深度强化学习神经网络训练收敛后,将实现环境感知

智能决策

局部路径规划

车辆动作的一体化实时预测,简化了计算流程、降低了计算量、保障了实时性、提高了计算的精准度,实现了对于用于自主驾驶的深度强化学习神经网络的无人监督训练。
37.5、本发明中利用深度学习与深度强化学习方法在行车仿真环境中进行训练,在形成仿真环境中仅使用摄像头作为传感器,依据摄像头传感器采集的行车环境信息,采用无人监督的训练形式得到可在仿真环境下完成车辆自主驾驶功能的深度强化学习神经网络。
附图说明
38.图1为本发明的基于深度强化学习的地面无人车自主驾驶系统的结构框图。
39.图2为本发明的基于深度强化学习的地面无人车自主驾驶方法的流程示意图。
40.图3为评分分数计算过程中,高度差的第一视角示意图。
41.图4为评分分数计算过程中,高度差的函数图像。
42.图5为评分分数计算过程中,距离差的第一视角示意图。
43.图6为评分分数计算过程中,距离差的函数图像。
44.图7为评分分数计算过程中,距离系数的第一视角示意图。
45.图8为评分分数计算过程中,距离系数的函数图像。
46.图9至图15为表1中表1不完全典型情况示意图。
具体实施方式
47.以下结合附图对本发明作进一步详细说明。
48.本发明提供的一种基于深度强化学习的地面无人车自主驾驶系统及方法,主要是利用深度强化学习技术,通过行车环境仿真模块产生行车环境图像和对应的分割环境图像,对当前行车环境进行路径规划、评分与动作预测,并使用经验池模块对深度强化学习神经网络模块进行网络参数的更新,从而实现了复杂环境下的地面无人车自主驾驶。
49.如图1所示,本发明的一种基于深度强化学习的地面无人车自主驾驶系统,其具体包括以下组成:
50.仿真端服务器、交换机、算法端服务器、行车环境仿真模块、车辆模型控制模块、评分模块、深度强化学习神经网络模块、经验池模块、图像传感模块。
51.行车环境仿真模块和车辆模型控制模块均被部署在一台独立的仿真端服务器上,该仿真端服务器使用高性能的cpu以及大量内存、显卡。这台仿真端服务器仅提供仿真环境的运算,而评分模块、深度强化学习神经网络模块以及经验池模块由另一台算法端服务器提供硬件支持。这两台服务器之间由交换机连接并传递数据。图像传感模块具体采用摄像头传感器,该图像传感模块被装载在车辆上,并且每个车辆上仅装载一个摄像头传感器而不需要安装除摄像头传感器以外任何其他的传感器,训练过程以及测试过程中也仅使用这一个摄像头传感器获取环境图像进行训练或测试。
52.行车环境仿真模块是一款基于虚幻4游戏引擎开发的软件,该软件中的建筑、人行道、马路、路肩、车辆、行人全部使用1:1大小比例的真实行车环境方案设计,并且可以替换贴图以及纹理、调整光照与天气。产生多种不同的车辆、行人、建筑。同时,该软件还可以模拟多种天气状况,如雨天、雾天、雪天等。
53.行车环境仿真模块可根据当前图像传感模块位置、高度、角度、视角等信息输出当前行车环境图像,得到用于深度强化学习神经网络模块训练的行车环境图像和对应的用于评分的分割环境图像,这样就得到了用于训练的行车环境图像与分割环境图像成对样本,并且每一次车辆动作后,都生成一对图像样本。同时该行车环境仿真模块还将根据车辆与道路边缘、其他车辆、行人的碰撞以及当前车辆是否调头来判断本次行车是否终止。
54.通过行车环境仿真模块得到的一对图像样本分别被送入到深度强化学习神经网络模块和评分模块中,即深度强化学习神经网络模块接收行车环境图像,评分模块接收分割环境图像。
55.评分模块对分割环境图像进行分析计算并自动生成标准参考路径,以车辆在车道中间行驶为前提的情况下以避开道路前方障碍物(车辆、行人等),并依据标准参考路径对当前车辆的位置、朝向、速度进行评分。评分模块的评分以行车环境仿真模块生成的分割环境图像为基础,在不加入除分割环境图像以外信息的情况下,根据分割环境图像的像素信
息自动生成标准参考路径,对车辆当前行车状态进行评估,并给出得分。
56.深度强化学习神经网络模块通过对行车环境图像进行分析计算,分析当前行车环境,进行智能决策(如超车、避障或道路保持),预测车辆动作,该动作将在不碰撞(与道路边缘、其他车辆、行人之间的碰撞)的前提下使得车辆的位置、朝向、速度接近标准参考路径,最好是沿着标准参考路径。在训练过程中将不再需要人工标注或干预,实现无监督的深度强化学习神经网络模块训练过程。
57.通过行车环境仿真模块接收深度强化学习神经网络模块预测的车辆动作,并向车辆模型控制模块发送控制指令,并由车辆模型控制模块执行该车辆动作。接收的车辆动作共有五种,分别是:前进、刹车、左转、右转、无操作(不进行操作)。车辆模型控制模块在执行动作时,按照如下方式进行操作:前进(车辆提速10km/h,车辆最高速度40km/h)、刹车(车辆速度减少10km/h)、左转(车轮逆时针旋转40
°
,车速提升10km/h)、右转(车轮顺时针旋转40
°
,车速提升10km/h)、无操作。车辆模型控制模块通过执行预测的车辆动作,调整车辆的位置、朝向、速度,拟合参考路径,并同时改变了当前车辆的行车环境图像,直至到达终止状态。改变了当前车辆环境后,再继续采集当前车辆环境信息,进行下一轮训练。
58.经验池模块会将由行车环境仿真模块生成的行车环境图像、语义分割环境图像、当前行车状态是否结束的信号,和评分模块生成的评分以及由深度强化学习神经网络模块预测的车辆动作进行汇总保存。在积累了大量的经验后,每执行一次车辆动作,都要将经验池模块中的经验(行车环境图像、语义分割环境图像、当前行车状态是否结束的信号、评分、预测的车辆动作)随机抽取一部分,用来计算深度强化学习神经网络模块进行反向传播算法和随机梯度下降法所需要的标签值与损失值,从而调整网络参数,直到网络收敛(神经网络的收敛系指每轮训练,网络参数的改变量已经非常小,参数几乎不会变化。网络参数改变量的判断标准一般通过对损失值设置阈值来确定;但也可以通过不断对网络进行验证确保网络性能已经满足要求)。当深度强化学习神经网络模块收敛后,在预测过程中将潜在的行车环境进行感知与判断,并输出车辆动作,一体化的完成自主驾驶的环境感知、智能决策、局部路径规划以及轨迹跟随的功能。
59.其中,深度强化学习神经网络模块的网络结构由至少一层卷积层以及卷积层后至少一层全连接层构成,全连接层的最后一层的神经元个数与对应的车辆控制模块接收的车辆动作数量相同。深度强化学习神经网络模块具有极强的自主学习能力和高度的非线性映射,使得在复杂的路面环境信息、确定的车辆动作设定、少量的人力条件下,使采用无人监督方式对深度强化学习神经网络模块进行训练、实时智能决策、保证行车轨迹精度的同时实时计算局部规划路径并完成轨迹跟随成为可能。全连接层的层数是通过隐含层的数量确定的,通常使用一种经验公式即:m=sqrt(n+l)+a,其中m即隐含层神经元个数,n和l分别为该层输入与输出神经元的数量,a为1至10之间的常数。设计深度强化学习神经网络模块的网络结构时根据卷积神经网络层最后的输出与车辆动作数的关系设计全连接网络层数。根据上述原则,全连接层至少有一层,但是具体几层需要根据具体情况设计。
60.如图2所示,本发明的基于深度强化学习的地面无人车自主驾驶方法,主要是基于上述的地面无人车自主驾驶系统实现的,其中包括有深度强化学习神经网络模块的训练步骤,其具体是通过以下步骤实现的:
61.步骤s1、图像样本的获取
62.行车环境仿真模块可根据当前图像传感模块位置、高度、角度、视角等信息输出当前行车环境图像,得到用于深度强化学习神经网络模块训练的行车环境图像1张和对应的用于评分的分割环境图像1张(分割环境图像中的行车路面、人行道、建筑、植物、天空、车辆、行人分别进行区别着色,每一种颜色代表一类),将这两张图像的像素大小统一为210
×
160,这样就得到了用于训练的行车环境图像与分割环境图像成对样本,并且每一次车辆动作后,都生成一对图像样本。在得到图像样本的同时,该行车环境仿真模块还将根据车辆与道路边缘、其他车辆、行人的碰撞以及当前车辆是否调头来判断本次行车是否终止。具体的是:行车环境仿真模块还会向车辆模型控制模块发送一个当前行车状态是否结束的信号,如果当前车辆处于正常行驶状态,则发送未结束信号;如果当前车辆处于碰撞状态,则发送结束信号,并重置车辆位置,开始下一次仿真。
63.步骤s2、通过行车环境仿真模块获得的分割环境图像,通过图像传输路径即交换机送入评分模块进行评分。
64.步骤s3、评分模块对该分割环境图像中的像素信息进行分析计算,自动生成标准参考路径并得到当前车辆在道路中的位置、车辆行车方向与道路形成的夹角、前方障碍物与车辆之间的距离等信息,根据分割环境图像的像素信息自动生成的标准参考路径,结合上述得到的这些信息对车辆的当前行车状态(包括当前车辆的位置、朝向、速度)进行评分,并记录分数。评分原则为:车辆越靠近道路中央分数越高,车辆行车方向与道路形成的夹角越小分数越高,车辆行车方向延长线与前方障碍物的最短距离越大分数越高。评分原则给出的分数是根据一个设定好的函数进行计算得来的。具体的评分分数计算过程如下:
65.分数计算分为两种情况:
66.1、按键为“up”|“right”|“left”|“stop”|“noinput”67.则分数=20*x;
68.2、按键为“down”69.则
70.其中,x为分数系数,x

为上一个图像的系数。x定义如下:
[0071][0072]
其中,
[0073]
其中,表示高度差系数;表示距离差系数;c表示高度
差值,h表示图像高度,高度差值和图像高度都是像素值;w表示道路宽度,l
l
,l
r
分别表示左右距离,距离差系数、左右距离和道路宽度都是实际值;α与β表示高度差系数与距离差系数的权重,暂定为0.33与0.67。
[0074]
高度差是指:图像中左右两侧从下向上遍历的第一个不是路面的像素的高度差的绝对值;如果一侧没有路面像素,则其高度为h,如图3和图4所示。
[0075]
距离差是指:车辆与道路中间的偏离程度,如图5所示,为其第一视角示意图,如图6所示,为函数图像。
[0076]
表示左右权重系数,其目的是使同样情况下,道路右面行驶的分数略高于左面行驶的分数。
[0077]
表示中距离系数,其中z表示沿图像中线向下,第一个路面像素的高度(像素值),如图7所示,为其第一视角示意图,如图8所示,为函数图像。
[0078]
表1不完全典型情况
[0079][0080][0081]
步骤s4、对行车环境图像进行预处理,将得到的210
×
160像素大小的彩色图像处理为84
×
84像素大小的灰度图像,并通过图像传输路径(交换机)输送至深度强化学习神经网络模块进行分析计算。
[0082]
步骤s5、深度强化学习神经网络模块通过对行车环境图像进行分析计算,分析当前行车环境,进行智能决策(如超车、避障或道路保持),预测车辆动作,该动作将在不碰撞(与道路边缘、其他车辆、行人之间的碰撞)的前提下使得车辆的位置、朝向、速度接近标准参考路径,最好是沿着标准参考路径。其具体的过程如下:
[0083]
行车环境图像经过上述的预处理之后输送至深度强化学习神经网络模块,经过深度强化学习神经网络模块中的多层卷积层与多层全连接层,在全连接层的最后一层得到一个长度与车辆动作数量相同的向量(向量的长度与神经元的个数是相等关系)。该向量中每一个数字代表了对应车辆动作如果在当前行车环境下执行将得到的分数是多少。
[0084]
需要说明的是,深度强化学习神经网络模块可以是3个卷积层与2个全连接层,也可以是多个卷积层与多个全连接层,具体不限。但是,全连接层的最后一层,其神经元个数与车辆动作数量是一致的。
[0085]
通过深度强化学习神经网络模块完成传统自主驾驶的环境感知、智能决策、局部路径规划和轨迹跟踪等功能,在减少了计算环节的同时,不仅提升了计算的准确率并且极大的加快了计算速度,在保证车辆轨迹精度的情况下可以对车辆的驾驶进行实时动态控制。
[0086]
步骤s6、将预处理过的行车环境图像、语义分割环境图像、由深度强化学习神经网络模块预测得到的车辆动作、由评分模块得到的行车状态评分以及行车环境仿真模块发送的当前行车状态是否结束的信号这四个信息作为一条经验保存在经验池模块中。
[0087]
步骤s7、随机从经验池模块中获取一定数量的经验,本例中每次随机获取经验的数量是32条。对于每一条经验,使用经验中的分数、动作以及结束信号,通过标签值计算公式与损失值计算公式得到网络损失值。
[0088]
步骤s8、采用反向传播算法和随机梯度下降法来减小预测误差,所说的预测误差是通过车辆动作分数向量与对应的标签值进行比较得到的,以训练深度强化学习神经网络模块,经过多次迭代训练直到该预测误差不再下降为止,更新网络即可得到深度强化学习神经网络模块。在训练中的深度强化学习神经网络模块并不能给出完备的功能,需要经过大量训练并收敛后才可以,训练收敛后的神经网络可以封装为模块用于正常的使用(预测)。
[0089]
步骤s9、通过行车环境仿真模块接收深度强化学习神经网络模块预测的车辆动作,并由车辆模型控制模块执行该车辆动作。接收的车辆动作共有五种,分别是:前进、刹车、左转、右转、无操作(不进行操作)。车辆模型控制模块在执行动作时,按照如下方式进行操作:前进(车辆提速10km/h,车辆最高速度40km/h)、刹车(车辆速度减少10km/h)、左转(车轮逆时针旋转40
°
,车速提升10km/h)、右转(车轮顺时针旋转40
°
,车速提升10km/h)、无操作。车辆模型控制模块通过执行预测的车辆动作,调整车辆的位置、朝向、速度,拟合参考路径,并同时改变了当前车辆的行车环境图像,直至到达终止状态。
[0090]
使用两种方法中的一种进行车辆动作输出:方法一,选择车辆动作分数向量中能得到最多分数的对应车辆动作进行输出;方法二,随机在所有车辆动作中选择一个进行输出。其中,选择方法二的概率设定为ε,而选择方法一的概率设定为1

ε。网络参数随着训练次数的增加而不断减少,其初值为1,最小值为0.05。
[0091]
例如,一个典型的五层的深度强化学习神经网络模块的配置参数为:前三层为卷积层,其中第一层有32个8
×
8的卷积核,步长为4;第二层有64个4
×
4的卷积核,步长为2;第三层有64个3
×
3的卷积核,步长为1。后两层为全连接层,第四层的全连接神经元个数为512个,第五层的全连接神经元个数与车辆动作数量保持一致,本例中是5个。
[0092]
一个像素大小为84
×
84的图像输入该五层的深度强化学习神经网络模块后,经过
3个卷积层与2个全连接层,得到的结果为长度为5的车辆动作分数向量。该车辆动作分数向量的含义为:第一个数值对应如果对当前状态使用“前进”动作,将得到的分数;后面的四个数值依次对应“刹车”、“左转”、“右转”、“无操作”将要得到的分数。
[0093]
上述评分模块、深度强化学习神经网络模块以及经验池模块装载于算法端服务器,该算法端服务器仅使用高性能的cpu以及大量内存、显卡完成评分模块的自动评分、存储经验池模块以及深度强化学习神经网络模块训练工作。
[0094]
本发明的基于深度强化学习的地面无人车自主驾驶方法及系统,对场景变化、纹理变化、光照变化、天气变化都有很强的鲁棒性,特别适合解决在复杂道路环境条件下的地面无人车自主驾驶,可在仿真环境的自主驾驶中达到非常低的事故率以及非常高的控制精度。由于采用了深度强化学习神经网络,具有非常快的预测速度,完全可以满足实际道路情况下的自主驾驶。
[0095]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1