1.本发明涉及一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,属于自动驾驶技术领域,尤其涉及多目标复杂交通场景下的基于深度强化学习的通用自动驾驶算法建模和训练方案。
背景技术:2.随着智能车产业的高速发展与自动驾驶技术的不断成熟,无人驾驶技术已成为未来车辆发展的趋势。目前落地的自动驾驶系统可达到l3级别,即能够实现驾驶员监控的情况下车辆自动行驶,遇到紧急情况需要驾驶员接管车辆。然而,自动驾驶尚未实现完全无人驾驶的重要原因之一是当前基于规则的决策方法不能处理足够的交通场景,安全方面存在较大风险隐患。
3.主流的自动驾驶技术可分为感知、决策、控制三个模块,其中决策模块是作为智能系统的核心部分。目前自动驾驶决策技术主要可以分为基于规则和基于学习的两大类。基于规则的决策技术有通用决策模型、有限状态机模型、决策树模型、基于知识推理的模型等。基于学习的决策技术主要是基于深度学习和强化学习。
4.当今,实际使用的还是基于规则的决策技术,但这种技术却暴露出越来越多的问题。基于规则的系统难以穷举所有可能出现的场景,在一些没有考虑到场景容易引发交通事故。其次,规则系统的设计在人力成本耗费与系统复杂程度上都较高,系统维护和升级也尤其繁琐。因此,人们迫切希望开发完善其他技术方法,基于数据驱动的深度强化学习就是一个方向。然而,当今深度强化学习在自动驾驶的应用主要还是在某一具体场景,如超车、换道、车道保持等,其通用性不强。此外,深度神经网络目前不具备完全的解释性,存在灾难性遗忘的问题,容易产生一些未知的不安全动作。另一个方面,强化学习本身也有泛化性、稳定性的问题。因此,要让深度强化学习在自动驾驶决策控制得到有实际意义的应用,才能一定程度上改善解决通用性差、泛化性弱、安全性得不到改善的问题。
技术实现要素:5.本技术的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本技术的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
6.针对现有技术中存在的问题与不足,本发明目的在于提供一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,通过拟人的观测设计和基于奖励重塑的奖励函数设计,可以实现仅一个模型可在多种类型具有多种策略环境的交通场景中表现出更好地综合性能。此外,为了提高训练速度和泛化性,本发明提出了奖励时变训练方法。为了增强安全性,本发明提出了基于lstm的危险动作识别器、基于知识的安全过滤等保障安全性的方法,以解决上述背景技术中提出的问题。
7.为实现上述目的,本发明提供如下技术方案:
8.本发明公开一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,包括如下步骤:
9.步骤1,准备用于自动驾驶仿真的模拟器环境以及复杂行驶场景;
10.步骤2,在观测空间中添加训练强化学习模型所需的环境特征信息作为环境观测信息,包括自车信息、他车信息和道路信息,根据所述环境特征信息计算关键特征信息,包括每条车道距离前车的碰撞时间、自车距离碰撞点的碰撞时间差、自车与前方路点的朝向角方差;
11.步骤3,设置所述强化学习模型训练所需的奖励框架;
12.步骤4,基于时变训练法训练所述强化学习模型,再结合使用元模型在不同的交通场景下继续训练,每隔一定迭代轮数根据智能体行车表现情况及发生碰撞的种类修改训练时的奖励权重,重复修改多次权重以结束训练;
13.步骤5,输出训练完成的所述强化学习模型后构建危险动作识别器与规则约束器,根据所述环境观测信息判断场景危险程度,来限制或调整所述强化学习模型所输出的规划量,并通过在仿真环境中观察效果不断手动添加和优化规则。
14.进一步的,步骤2中所述观测空间中添加训练强化学习模型所需的环境特征信息,所述自车信息包括自车速度、自车方向盘转角、自车所在车道序号、自车中心点与所在车道中心线距离、选取自车位置起前方十五个路点与自车朝向角偏差、距离4/8米预瞄点的相对位置;所述他车信息包括每条车道中近邻车的距离、每条车道距离前车的碰撞时间、自车车道中最近邻他车与自车的相对速度;所述道路信息包括自车距离车道中心横向距离、路点朝向误差。
15.进一步的,步骤3中所述奖励框架包括环境奖赏、速度奖赏、碰撞惩罚和车道中心偏差惩罚;其中,所述环境奖赏为自车存活时间,表示自车从起点行驶至发生碰撞所经历的时长;所述速度奖赏为自车行驶速度,以每秒行驶距离为单位;所述碰撞惩罚为当自车驶离航线、自车行驶出道路边界或自车与环境车发生碰撞时,会给予相应的碰撞惩罚;所述车道中心偏差惩罚为车辆中心与中心线距离的绝对值。
16.进一步的,步骤4中所述基于时变训练法结合元模型训练强化学习模型,其具体步骤为:
17.步骤4.1,初始化所述强化学习模型,依次使用每个场景训练一定轮数得到元模型;
18.步骤4.2,使用时变训练法在所选场景下训练步骤4.1得到的元模型,根据智能体行为所存在的缺陷调整奖励权重;
19.步骤4.3,设置场景为所有无交叉路口的简单场景,重复步骤4.2过程训练,提升在无交叉路口简单场景下的表现;
20.步骤4.4,设置场景为所有含交叉路口的场景,重复步骤4.2过程训练,提升在交叉路口场景下的表现;
21.步骤4.5,设置场景为含环岛与多方向车辆的场景,重复步骤4.2过程训练,提升在环岛与多方向车辆场景下的表现;
22.步骤4.6,在剩余的场景下继续训练,直至过程结束。
23.进一步的,步骤4中所述基于时变训练法训练强化学习模型,具体步骤为:
24.步骤4.2.1,设置所述强化学习模型超参数;
25.步骤4.2.2,设置奖励函数为基本奖励,使agent学会车道保持,开始迭代训练;
26.步骤4.2.3,调高车道中心偏差惩罚与碰撞惩罚权重,继续迭代训练;
27.步骤4.2.4,继续调高所述碰撞惩罚,继续迭代训练;
28.步骤4.2.5,在原有场景数据集基础上新增场景,并新增速度奖赏以及调高所述车道中心偏差惩罚与碰撞惩罚权重,直至迭代结束。
29.进一步的,步骤5中所述危险动作识别器是根据强化学习模型输出的动作及环境观测信息预测其危险程度,并根据危险程度采取紧急避让、紧急调整等行为,所述危险动作识别器包括采集样本阶段与训练阶段,所述采集样本阶段的具体步骤为:
30.步骤5.1.1,准备多种类型的场景,选择一个场景开始训练;
31.步骤5.1.2,初始化ppo策略模型,在所选场景下开始训练策略模型;
32.步骤5.1.3,在运行过程中记录本轮运行过程中的轨迹;
33.步骤5.1.4,发生碰撞时,采集碰撞前10步作为负样本,同时随机采集本轮轨迹中任意连续10步作为正样本;
34.步骤5.1.5,训练至运行步数达到设定的总步数后,选择下个场景重复训练;
35.步骤5.1.6,直至所有场景均采集完毕后结束。
36.进一步的,步骤5中所述危险动作识别器是基于长短记忆网络构建的危险动作识别器模型,所述训练阶段的具体步骤为:
37.步骤5.2.1,根据采集的每组样本数据,将所述样本数据使用滑动窗口生成数据组作为模型输入,并以每组最后一步的标签作为模型的目标标签;
38.步骤5.2.2,使用adam优化器,并基于余弦模拟退火方法调整优化器学习率;
39.步骤5.2.3,使用均方误差损失作为训练损失函数,计算模型输出与所述目标标签的均方误差损失;
40.步骤5.2.4,设置相关模型参数以及训练模型轮数,完成训练。
41.进一步的,步骤5中规则约束器是基于人类知识和仿真实验的经验统计编写规则,用于限制自车在某些特定情形下的行为,所述规则约束器主要包括最近距离保护的知识规则、交叉路口下的知识规则、急弯前的知识规则以及自车无近邻车情形下长时间驻留的修正规则,所述环境观测信息分别对不同场景进行判断,决定自车限速规则。
42.与现有技术相比,本发明的有益效果为:本发明提供了一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,该方法可以使用一套强化学习自动驾驶建模方法处理所有交通场景,具有较好的通用性,并且可以获得较好的多目标性能和泛化性能。强化学习综合建模基于传统强化学习框架,使用环境感知信息及结合人类知识提取的特征量作为观测空间,根据评价指标设定车道线保持、行驶距离及避撞等作为强化学习算法中智能体车辆的奖赏与惩罚。模型训练时则通过元学习思想结合时变训练策略,每一阶段分别设定不同的奖赏权重和不同的训练集以强化智能体在先前训练阶段中所形成的部分行为缺陷,提升智能体在部分弱项场景下的表现,可以提高训练速度和策略应用的泛化性。另外,为对其形式安全性作进一步保障,还提出了基于长短时记忆(lstm)网络的危险动作识别器与基于人类知识体的规则约束器,从环境中采样并训练危险动作识别器,使车辆具备识别危险动作与危险场景的能力,并针对特定情形设计规则约束对输出动作加以限制,可以大大提
高安全性,减少碰撞次数,处理特殊紧急情况,以保障车辆的行驶安全。
附图说明
43.构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不构成对本技术的不当限定。
44.在附图中:
45.图1为本发明强化学习多目标复杂交通场景下自动驾驶解决方法整体的流程示意图;
46.图2为本发明强化学习多目标复杂交通场景下自动驾驶解决方法的步骤示意图;
47.图3为本发明强化学习时变训练法与元模型训练强化学习模型的流程示意图;
48.图4为本发明的结合端到端与规则约束器控制自动驾驶的框架示意图;
49.图5为本发明基于近端策略优化的强化学习策略网络示意图;
50.图6为本发明的基于长短期记忆(lstm)神经网络的危险动作识别器模型结构示意图;
51.图7为本发明危险动作识别器采样阶段的流程示意图;
52.图8为本发明的危险动作识别器采样算法的计算机语言框图。
具体实施方式
53.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
54.另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
55.本发明公开了一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,下面将参考附图并结合实施例来详细说明本公开。参照图1至2所示,其主要包括以下步骤:
56.步骤1,准备用于自动驾驶仿真的模拟器环境以及复杂行驶场景;
57.步骤2,在观测空间中添加训练强化学习模型所需的环境特征信息作为环境观测信息,包括自车信息、他车信息和道路信息,根据所述环境特征信息计算关键特征信息,包括每条车道距离前车的碰撞时间、自车距离碰撞点的碰撞时间差、自车与前方路点的朝向角方差;
58.步骤3,设置所述强化学习模型训练所需的奖励框架;
59.步骤4,基于时变训练法训练所述强化学习模型,再结合使用元模型在不同的交通场景下继续训练,每隔一定迭代轮数根据智能体行车表现情况及发生碰撞的种类修改训练时的奖励权重,重复修改多次权重以结束训练;
60.步骤5,输出训练完成的所述强化学习模型后构建危险动作识别器与规则约束器,根据所述环境观测信息判断场景危险程度,来限制或调整所述强化学习模型所输出的规划量,并通过在仿真环境中观察效果不断手动添加和优化规则。
61.本发明的多目标是指以车辆行驶精准、行驶速度快、行驶安全、算法高鲁棒性和高泛化性为目标。具体来说,在单一交通场景中要求在车辆行驶最大距离情况下进行相同次数模拟时,行驶速度体现在自车平均速度尽量大。行驶安全体现在自车与环境车发生碰撞、自车偏离航线次数尽量少、自车行驶距离尽量远。行驶精准体现在自车中心点离道路中心线平均距离尽量近。算法高鲁棒性和高泛化性体现在一个算法能在多个复杂交通场景和没有训练过的地图场景也可取得较好的效果。
62.而复杂交通场景是指在模拟器中训练所使用的地图场景具有多种道路类型和车流情况,所使用的地图类型包括简单、急弯、交叉路口、环岛、汇合、分流、多种道路混合场景等共计九种地图类型,不同的场景也包含不同密集程度的环境车。在模拟环境所设定的规则中,环境车的行驶轨迹与行驶策略具有一定的随机性,其策略类型可分为保守、中庸、激进的三种类型,在每一种策略下,环境车的运行策略参数依然具有一定随机性。
63.步骤2中,观测空间中添加训练强化学习模型所需的环境特征信息作为环境观测信息,根据环境特征信息计算关键特征量。这里的强化学习模型中,输入观测空间包括有自车信息、他车信息、道路信息等环境感知信息,以及从环境信息中提取的观测特征;其输出动作则包括油门开度、刹车控制、方向盘转角控制。
64.具体而言,环境观测信息包括自车信息、他车信息和道路信息等环境感知信息。其中,自车信息包括自车速度、自车方向盘转角、自车所在车道序号、自车中心点与所在车道中心线距离、选取自车位置起前方十五个路点与自车朝向角偏差、距离4/8米预瞄点的相对位置,共计2+1+1+15+4=19维。他车信息包括每条车道中近邻车的距离、每条车道距离前车的碰撞时间(ttc)、自车车道中最近邻他车与自车的相对速度,共计6*3=18维;自车行驶至交叉路口时查询五十米范围内朝向交叉,即可能发生碰撞且距离自车最近5辆车的相对位置、相对朝向、相对速度、碰撞时间差,共计5*5=25维。道路信息包括:自车距离车道中心横向距离、路点朝向误差,其中路点朝向误差表示自车朝向所在直线与前方路点的距离,从自车位置处的路点起选取前方15个路点分别计算朝向误差,以距离自车近的路点稠密,距离较远的路点稀疏为原则,选取路点基数分别为[0,1,2,3,5,7,10,13,17,21,25,30,35,42,50],表示前方第i个路点,也表示该路点距离智能体车辆的距离。
[0065]
提取的关键特征信息主要为避撞车辆信息,选取与自车位置最近的三辆他车作为避撞车辆,并以自车坐标系计算他车信息,因此关键特征信息包括避撞车辆相对位置、避撞车辆绝对速度、自车与避撞车辆的相对朝向角、距离碰撞点的碰撞时间差(tdtc),其中距离碰撞点的碰撞时间差(tdtc)的计算公式为:
[0066][0067]
步骤3中,设置强化学习模型训练所需的奖励框架。在强化学习模型训练的奖励框架中,包括环境奖赏,速度奖赏,碰撞惩罚,车道中心偏差惩罚。其中环境奖赏为自车存活时间,表示自车从起点行驶至发生碰撞所经历的时长,其值从1逐渐增加到4,再从1开始逐步增加,在仿真环境中单步模拟只要自车还存活就给奖励。速度奖赏为自车行驶速度,以每秒行驶距离为单位。车道中心偏差惩罚为车辆中心与中心线距离的绝对值。碰撞惩罚包括三种为当自车驶离航线、自车行驶出道路边界或自车与环境车发生碰撞时会给予相应的碰撞惩罚,其值均为常数5,且其权重随迭代次数增加而增加,也就是每一种情况产生便获得-5
的惩罚,各项惩罚的系数分别是1,0.5,0.1,1.2.这些系数会在训练过程中进行调整。
[0068]
参照图3所示,基于时变训练法结合元模型训练强化学习模型,可以提升车辆在部分特殊场景中的表现,如十字路口、环岛等。下面给出其训练步骤:
[0069]
步骤4.1,初始化所述强化学习模型,依次使用每个场景训练一定轮数得到元模型;
[0070]
步骤4.2,使用时变训练法在所选场景下训练步骤4.1得到的元模型,是根据智能体行为所存在的缺陷调整奖励权重;
[0071]
步骤4.3,设置场景为所有无交叉路口的简单场景,重复步骤4.2过程训练,提升在无交叉路口简单场景下的表现;
[0072]
步骤4.4,设置场景为所有含交叉路口的场景,重复步骤4.2过程训练,提升在交叉路口场景下的表现;
[0073]
步骤4.5,设置场景为含环岛与多方向车辆的场景,重复步骤4.2过程训练,提升在环岛与多方向车辆场景下的表现;
[0074]
步骤4.6,在剩余的场景下继续训练,直至过程结束。
[0075]
具体而言,在步骤4.2中,使用时变训练法训练强化学习模型的具体过程为:
[0076]
步骤4.2.1,设置强化学习模型超参数;
[0077]
步骤4.2.2,设置奖励函数为基本奖励,使agent学会车道保持,开始迭代训练;
[0078]
步骤4.2.3,调高车道中心偏差惩罚与碰撞惩罚权重,继续迭代训练;
[0079]
步骤4.2.4,继续调高碰撞惩罚,继续迭代训练;
[0080]
步骤4.2.5,在原有场景数据集基础上新增场景,并新增速度奖赏以及调高车道中心偏差惩罚与碰撞惩罚权重,直至迭代结束。
[0081]
设置的强化学习模型超参数如下表所示:
[0082]
参数名称参数值学习率1e-4训练批次大小10240*3λ0.95clip参数0.2sgd迭代数10sgd小批次大小1024步数范围1000
[0083]
首先,设置奖励函数为基本函数,使agent学会车道保持,将奖励函数表示为:1.0
×
环境奖赏+0.1
×
车道中心偏差惩罚+1.2
×
碰撞惩罚,从第0轮起迭代训练460轮。然后,调高车道中心偏差惩罚与碰撞惩罚权重,此时的奖励函数表示为:1.0
×
环境奖赏+0.4
×
车道中心偏差惩罚+1.6
×
碰撞惩罚,从第461轮起继续训练至第768轮。继续调高碰撞惩罚权重,此时奖励函数表示为:1.0
×
环境奖赏+0.4
×
车道中心偏差惩罚+1.8
×
碰撞惩罚,从第769轮起继续训练至第1152轮。最后,在原有场景数据集基础上新增3个场景,包括2个all_loop场景和1个mix_loop场景,并新增速度奖赏(车辆行驶速度越快其奖赏值越大),以及调高车道中心偏差惩罚与碰撞惩罚权重,此时表示为:1.0
×
环境奖赏+0.4
×
速度奖赏+0.56
×
车道中心偏差惩罚+2.9
×
碰撞惩罚,从第1153轮起继续训练至第1400轮,训练过程结束。
[0084]
强化学习模型在传统强化学习基础上,采用时变策略训练,从而产生具有更高鲁棒性和泛化性的智能体模型。强化学习模型时变策略是一种阶段性学习方法,将agent任务目标划根据重要程度划分为不同子任务并分不同阶段学习,每一阶段通过调整奖赏权重的方式对学习任务进行层次性强化训练,最开始将训练agent使其拥有车道保持能力,其次训练其避撞能力,最后训练其高速行驶能力。智能车模型训练过程由多次迭代构成,每次迭代根据之前的模拟结果对本次迭代的奖励权重进行调整,具体来说,每次迭代时记录前一次模拟情况中所发生的碰撞及碰撞的类型,根据某种类型的碰撞占所有碰撞中的比例对奖励的比例进行调整。
[0085]
在步骤5中,危险动作识别器包括样本采集与训练两个阶段,参照图7和图8所示,具体样本采集的过程如下:
[0086]
步骤5.1.1,准备多种类型的场景,选择一个场景开始训练;
[0087]
步骤5.1.2,初始化ppo策略模型,在所选场景下开始训练策略模型;
[0088]
步骤5.1.3,在运行过程中记录本轮运行过程中的轨迹;
[0089]
步骤5.1.4,发生碰撞时,采集碰撞前10步作为负样本,同时随机采集本轮轨迹中任意连续10步作为正样本;
[0090]
步骤5.1.5,训练至运行步数达到设定的总步数后,选择下个场景重复训练;
[0091]
步骤5.1.6,直至所有场景均采集完毕后结束。
[0092]
具体而言,这里我们这里使用7种类别的场景,选择其中一个场景开始训练。初始化ppo策略模型,在所选场景下从头开始训练策略,将运行总步数设为400000步。在运行过程中记录本轮运行过程中的轨迹,包括每步的观测-动作对(s1,a1,s2,a2,
…
)以及运行时奖励值(r1,,r2,
…
)。若出现碰撞,记录碰撞前10步的观测s-动作a-奖励r对视为负样本进行采集,并记录该轮的轨迹长度为m,从区间[1,m-19]中随机选择一个随机数k,采集第k步起10步的观测s-动作a-奖励r对作为正样本进行采集。使用采集到每组样本中的奖励值计算10个滚动平均值,作为该组样本的训练标签,计算公式如下:
[0093][0094]
其中i表示第i个场景,j表示10步样本中的第j步。将观测s-动作a-标签label对储存作为训练数据集,训练直到运行步数达到设定的总步数400000。选择下一个场景重复步骤5.1.2至步骤5.1.5训练,直到所有场景均采集完毕结束,所采集的样本总数约为100000条。
[0095]
参照图5和图6所示,基于长短期记忆(lstm)网络构建危险动作识别器模型,模型中包括一个lstm层和2个全连接层,长短期记忆(lstm)网络输出经过第一个全连接层之后使用relu激活函数,接入第二个全连接层。那么危险动作识别器训练的过程如下:
[0096]
步骤5.2.1,根据采集的每组样本数据,将所述样本数据使用滑动窗口生成数据组作为模型输入,并以每组最后一步的标签作为模型的目标标签;
[0097]
步骤5.2.2,使用adam优化器,并基于余弦模拟退火方法调整优化器学习率;
[0098]
步骤5.2.3,使用均方误差损失作为训练损失函数,计算模型输出与所述目标标签的均方误差损失;
[0099]
步骤5.2.4,设置相关模型参数以及训练模型轮数,完成训练。
[0100]
具体而言,采集的每组样本中包含10步的观测s-动作a-标签label对。其中观测为44维,动作为3维,将观测与动作拼接为47维的向量后,将10步数据使用大小为5的滑动窗口生成6组长度为5的数据组,每组5步数据作为模型输入,以每组最后一步的标签作为模型的目标标签。使用adam优化器,并基于余弦模拟退火方法调整优化器学习率,使用均方误差损失作为训练损失函数,计算模型输出与目标标签的均方误差损失。设置如下表所示模型参数,训练模型100轮后结束。
[0101]
参数名称参数值lstm隐藏层大小128全连接层1128x64全连接层264x1初始学习率0.01余弦退火轮数100最终学习率0.0001训练-验证集比例9:1batch大小32
[0102]
危险动作识别器用于提升车辆的安全性,根据强化学习模型所输出的动作及环境观测信息预测其危险程度,并根据危险程度采取紧急避让、紧急调整等行为。危险动作识别器包括两个阶段:采集样本阶段与训练阶段。在采集样本阶段通过在模拟器环境渐进训练策略的过程中收集大量安全样本及危险样本,并计算样本标签,为危险动作识别器的训练做准备。样本需在多个场景、策略不同效果情况下采集,并满足正负样本数量的平衡性。而在训练阶段,则使用收集的样本数据进行训练直至结束。
[0103]
参照图4所示,步骤5中的规则约束器则为基于人类知识和仿真实验的经验统计编写,用于限制自车在某些特定情形下的行为。规则约束器主要包括最近距离保护的知识规则、交叉路口下的知识规则、急弯前的知识规则以及自车无近邻车情形下长时间驻留的修正规则,根据环境观测数据分别对不同场景进行判断,决定自车限速规则。以下为规则约束器示例。
[0104]
在规则约束器中,第一部分主要为基于最近距离保护的知识规则的约束:首先筛选出距离自车最近的3辆环境车,当环境车距离自车小于20米时进入tdtc条件判断,分别根据不同的tdtc、环境车车速判断危险程度,进而对自车车速最大值进行限制。具体规则如下:
[0105]
1.-2<tdtc<1,d/v
cv
<1,v
cv
≥30:限制自车最大车速为5,其中d为自车与冲突车距离,v
cv
为冲突车车速;
[0106]
2.0<tdtc<1.2:限制自车最大车速为2;
[0107]
3.-1.2<tdtc<0:限制自车最大车速为0.1
×
规划车速;
[0108]
4.1.2≤tdtc<3:限制自车最大车速为15+20(tdtc-1.2)/1.8;
[0109]
5.-1.8<tdtc≤-1.2,v
cv
>20:限制自车最大车速为0.1+1.4(tdtc-1.2)/0.6;
[0110]
6.-3<tdtc≤-1.8,v
cv
>20:限制自车最大车速为1.4+6(tdtc-1.8)/1.2;
[0111]
7.-3<tdtc≤-1.2,v
cv
≤20:限制自车最大车速为5+15(tdtc-1.2)/1.8;
[0112]
8.3≤tdtc<7:限制自车最大车速为30+20(tdtc-3)/4;
[0113]
9.-7<tdtc≤3:限制自车最大车速为30+20(tdtc-3)/4;
[0114]
10.d<4,v
cv
>5:限制自车最大车速为0;
[0115]
11.d<5,v
cv
>13:限制自车最大车速为2;
[0116]
12.d<7,v
cv
>20:限制自车最大车速为5。
[0117]
规则约束器第二部分为交叉路口下的知识规则:该规则针对自车通过十字路口时沿侧方向行驶的车辆进行避碰,通过设置自车前方不同大小的矩形判定区域,检测每个区域内是否存在环境车,根据不同大小的区域检测到环境车对自车车速进行不同大小的限制。此外,矩形区域大小还应根据自车转弯来修正,可根据自车与前方路点的朝向角偏差得到自车转弯状态。具体规则如下:
[0118]
1.自车前方纵向距离5.5、两边横向距离10范围内存在非静止环境车,且该环境车满足tdtc<8,v
cv
<4之一:限制自车最大车速为0;
[0119]
2.自车前方纵向距离7、两边横向距离10范围内存在非静止环境车,且该环境车满足tdtc<8,v
cv
<10之一:限制自车最大车速为5;
[0120]
3.自车前方纵向距离9、两边横向距离10范围内存在非静止环境车,且该环境车满足tdtc<8,v
cv
<12之一:限制自车最大车速为7;
[0121]
4.自车与前方路点朝向角方差大于0.16,即自车正在转弯时,自车前方纵向距离9、两边横向距离9范围内存在非静止环境车,且该环境车满足tdtc<8,v
cv
<4之一:限制自车最大车速为0;
[0122]
5.自车与前方路点朝向角方差大于0.16,即自车正在转弯时,自车前方纵向距离10.5、两边横向距离9范围内存在非静止环境车,且该环境车满足tdtc<8,v
cv
<4之一:限制自车最大车速为7。
[0123]
规则约束器第三部分为自车无近邻车情形下长时间驻留的修正规则,其规则为:
[0124]
1.自车范围30内无环境车,所有冲突车满足v
cv
<5,|tdtc|>9:手动对自车加速,设置油门控制量最小值为0.3。
[0125]
规则约束器第四部分为急弯前的知识规则,根据自车与前方路点朝向角方差vh进行限速,其规则如下:
[0126]
1.vh>0.33:限制自车最大车速为8;
[0127]
2.0.25<vh≤0.33:限制自车最大车速为8+10(0.3-vh)/0.08;
[0128]
3.0.2<vh≤0.25:限制自车最大车速为14+10(0.25-vh)/0.05;
[0129]
4.0.15<vh≤0.2:限制自车最大车速为22+20(0.2-vh)/0.05;
[0130]
5.0.1<vh≤0.15:限制自车最大车速为30+20(0.15-vh)/0.05;
[0131]
6.0.03<vh≤0.1:限制自车最大车速为40+20(0.1-vh)/0.07;
[0132]
7.0.01<vh≤0.03:限制自车最大车速为60+20(0.03-vh)/0.02;
[0133]
上述规则约束器的主要作用为判断环境是否为危险情况,并对强化学习所输出的动作进行大小上的限制,主要体现在规划行驶速度上的限制,在控制部分体现为车辆刹车行为,同时也在前方安全、强化学习模型输出速度过低时进行辅助加速,保证了车辆的行驶安全与效率。
[0134]
综上所述,本发明提供了多目标场景下安全强化学习的解决方案,此项技术可应用于智能车辆辅助驾驶、无人驾驶等领域,与传统的完全端到端方案与完全基于规则方案
相比,提供了一种新的混合方案的思路,结合两者优点实现车辆在复杂、多种场景下高安全性、高智能性、高效率行驶的目的,因此,本技术具有很高的推广价值。
[0135]
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
技术特征:1.一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,其特征在于,包括如下步骤:步骤1,准备用于自动驾驶仿真的模拟器环境以及复杂行驶场景;步骤2,在观测空间中添加训练强化学习模型所需的环境特征信息作为环境观测信息,包括自车信息、他车信息和道路信息,根据所述环境特征信息计算关键特征信息,包括每条车道距离前车的碰撞时间、自车距离碰撞点的碰撞时间差、自车与前方路点的朝向角方差;步骤3,设置所述强化学习模型训练所需的奖励框架;步骤4,基于时变训练法训练所述强化学习模型,再结合使用元模型在不同的交通场景下继续训练,每隔一定迭代轮数根据智能体行车表现情况及发生碰撞的种类修改训练时的奖励权重,重复修改多次权重以结束训练;步骤5,输出训练完成的所述强化学习模型后构建危险动作识别器与规则约束器,根据所述环境观测信息判断场景危险程度,来限制或调整所述强化学习模型所输出的规划量,并通过在仿真环境中观察效果不断手动添加和优化规则。2.根据权利要求1所述的一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,其特征在于,步骤2中所述观测空间中添加训练强化学习模型所需的环境特征信息,所述自车信息包括自车速度、自车方向盘转角、自车所在车道序号、自车中心点与所在车道中心线距离、选取自车位置起前方十五个路点与自车朝向角偏差、距离4/8米预瞄点的相对位置;所述他车信息包括每条车道中近邻车的距离、每条车道距离前车的碰撞时间、自车车道中最近邻他车与自车的相对速度;所述道路信息包括自车距离车道中心横向距离、路点朝向误差。3.根据权利要求2所述的一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,其特征在于:步骤3中所述奖励框架包括环境奖赏、速度奖赏、碰撞惩罚和车道中心偏差惩罚;其中,所述环境奖赏为自车存活时间,表示自车从起点行驶至发生碰撞所经历的时长;所述速度奖赏为自车行驶速度,以每秒行驶距离为单位;所述碰撞惩罚为当自车驶离航线、自车行驶出道路边界或自车与环境车发生碰撞时,会给予相应的碰撞惩罚;所述车道中心偏差惩罚为车辆中心与中心线距离的绝对值。4.根据权利要求3所述的一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,其特征在于,步骤4中所述基于时变训练法结合元模型训练强化学习模型,其具体步骤为:步骤4.1,初始化所述强化学习模型,依次使用每个场景训练一定轮数得到元模型;步骤4.2,使用时变训练法在所选场景下训练步骤4.1得到的元模型,根据智能体行为所存在的缺陷调整奖励权重;步骤4.3,设置场景为所有无交叉路口的简单场景,重复步骤4.2过程训练,提升在无交叉路口简单场景下的表现;步骤4.4,设置场景为所有含交叉路口的场景,重复步骤4.2过程训练,提升在交叉路口场景下的表现;步骤4.5,设置场景为含环岛与多方向车辆的场景,重复步骤4.2过程训练,提升在环岛与多方向车辆场景下的表现;步骤4.6,在剩余的场景下继续训练,直至过程结束。
5.根据权利要求4所述的一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,其特征在于,步骤4中所述基于时变训练法训练强化学习模型,具体步骤为:步骤4.2.1,设置所述强化学习模型超参数;步骤4.2.2,设置奖励函数为基本奖励,使agent学会车道保持,开始迭代训练;步骤4.2.3,调高车道中心偏差惩罚与碰撞惩罚权重,继续迭代训练;步骤4.2.4,继续调高所述碰撞惩罚,继续迭代训练;步骤4.2.5,在原有场景数据集基础上新增场景,并新增速度奖赏以及调高所述车道中心偏差惩罚与碰撞惩罚权重,直至迭代结束。6.根据权利要求5所述的一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,其特征在于,步骤5中所述危险动作识别器是根据强化学习模型输出的动作及环境观测信息预测其危险程度,并根据危险程度采取紧急避让、紧急调整等行为,所述危险动作识别器包括采集样本阶段与训练阶段,所述采集样本阶段的具体步骤为:步骤5.1.1,准备多种类型的场景,选择一个场景开始训练;步骤5.1.2,初始化ppo策略模型,在所选场景下开始训练策略模型;步骤5.1.3,在运行过程中记录本轮运行过程中的轨迹;步骤5.1.4,发生碰撞时,采集碰撞前10步作为负样本,同时随机采集本轮轨迹中任意连续10步作为正样本;步骤5.1.5,训练至运行步数达到设定的总步数后,选择下个场景重复训练;步骤5.1.6,直至所有场景均采集完毕后结束。7.根据权利要求6所述的一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,其特征在于,步骤5中所述危险动作识别器是基于长短记忆网络构建的危险动作识别器模型,所述训练阶段的具体步骤为:步骤5.2.1,根据采集的每组样本数据,将所述样本数据使用滑动窗口生成数据组作为模型输入,并以每组最后一步的标签作为模型的目标标签;步骤5.2.2,使用adam优化器,并基于余弦模拟退火方法调整优化器学习率;步骤5.2.3,使用均方误差损失作为训练损失函数,计算模型输出与所述目标标签的均方误差损失;步骤5.2.4,设置相关模型参数以及训练模型轮数,完成训练。8.根据权利要求7所述的一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,其特征在于,步骤5中规则约束器是基于人类知识和仿真实验的经验统计编写规则,用于限制自车在某些特定情形下的行为,所述规则约束器主要包括最近距离保护的知识规则、交叉路口下的知识规则、急弯前的知识规则以及自车无近邻车情形下长时间驻留的修正规则,所述环境观测信息分别对不同场景进行判断,决定自车限速规则。
技术总结本发明公开一种基于强化学习的多目标复杂交通场景下自动驾驶解决方法,该方法可以使用一套强化学习自动驾驶建模方法处理所有交通场景,具有较好的通用性。强化学习综合建模基于传统强化学习框架,使用环境感知信息及结合人类知识提取的特征量作为观测空间。模型训练基于时变训练策略,提高训练速度和策略应用的泛化性。为对其形式安全性作进一步保障,还提出了基于长短时记忆(LSTM)网络的危险动作识别器与基于人类知识体的规则约束器,从环境中采样并训练危险动作识别器,使车辆具备识别危险动作与危险场景的能力,并针对特定情形设计规则约束对输出动作加以限制,可以大大提高安全性,减少碰撞次数,以保障车辆的行驶安全。以保障车辆的行驶安全。以保障车辆的行驶安全。
技术研发人员:迟宇翔 范彧
受保护的技术使用者:南京大学
技术研发日:2022.04.07
技术公布日:2022/7/5