一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于个性化驾驶员模型的自动驾驶测试场景生成方法

2022-05-18 06:19:49 来源:中国专利 TAG:


1.本发明涉及自动驾驶技术领域,尤其是涉及一种基于个性化驾驶员模型的自动驾驶测试场景生成方法。


背景技术:

2.随着自动驾驶等级的提高,面向传统汽车的测试工具与测试方法已不能满足自动驾驶汽车测试的需要。基于场景的虚拟测试方法在测试效率、测试成本等方面具有巨大的技术优势,是未来自动驾驶汽车测试验证的重要手段,已成为当前的研究热点。
3.目前自动驾驶车辆测试有实车测试和虚拟仿真测试两种,实车测试需要花费大量的人力和时间,随着驾驶自动化水平的提高,实车测试的局限性越来越明显,人们开始将更多的目光投向虚拟仿真测试,虚拟仿真测试能够高效地测试自动驾驶系统的安全性能,但现有的虚拟仿真技术生成的测试场景往往是固定的,场景中其他车辆的行为也都是固定的,车辆之间缺乏交互性,这就使得通过测试的自动驾驶系统可能只对特定的测试行为有正确的反应,导致测试结果可信度不高、测试准确性较低。


技术实现要素:

4.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于个性化驾驶员模型的自动驾驶测试场景生成方法,通过将不同成长阶段的驾驶员模型和不同的个性化驾驶员模型按需求组合,以生成目标测试场景,进而保证后续测试的准确性、提高测试效果。
5.本发明的目的可以通过以下技术方案来实现:一种基于个性化驾驶员模型的自动驾驶测试场景生成方法,包括以下步骤:
6.s1、基于遗传与进化思想、结合强化学习,模拟人类驾驶员在驾驶经历中的各个阶段,逐级训练得到不同成长阶段的驾驶员模型,所述不同成长阶段的驾驶员模型包括新手驾驶员模型、经验驾驶员模型和熟练驾驶员模型;
7.s2、基于不同成长阶段的驾驶员模型,根据人类驾驶员的不同个性化驾驶特性,进一步训练得到个性化驾驶员模型,所述个性化驾驶员模型包括激进型驾驶员模型、保守型驾驶员模型、挑衅型驾驶员模型和合作型驾驶员模型;
8.s3、根据测试需求,将不同成长阶段的驾驶员模型和不同的个性化驾驶员模型按照对应的需求比例,以组合生成相应的目标测试场景。
9.进一步地,所述步骤s1具体包括以下步骤:
10.s11、定义并构建安全型驾驶员模型;
11.s12、根据安全型驾驶员模型,基于遗传与进化思想、结合强化学习,逐级训练得到新手驾驶员模型、经验驾驶员模型以及熟练驾驶员模型。
12.进一步地,所述安全型驾驶员模型的驾驶策略具体为:
13.当时,自车采取“急减速”动作;
14.当时,自车采取“减速”动作;
15.当时,自车采取“减速”动作;
16.其中,d
rel_front
为自车与同车道前车的相对距离,v
rel_front
为自车与同车道前车的相对速度、v
ego
为自车速度。
17.进一步地,所述新手驾驶员模型的动作空间只有纵向动作,包括:纵向匀速、纵向加速、纵向急加速、纵向减速以及纵向急减速共五种动作;
18.所述新手驾驶员模型根据自车与他车的纵向相对距离d
rel
、纵向相对速度v
rel
、自车速度v
ego
以及车道信息来定义状态集,所述他车包括与本车处于不同车道的车,当他车在自车前方时,他车的纵向速度记为vf,当他车在自车后方时,他车的纵向速度记为vr,则纵向相对速度定义如下:
[0019][0020]
其中,d
rel
包括d
rel_front
、d
rel_crear
、d
rel_left_front
、d
rel_left_rear
、d
rel_rigth_front
和d
rel_right_rear
,它们分别为本车与同车道前方车辆的相对距离、本车与同车道后方车辆的相对距离、本车与左侧车道前方车辆的相对距离、本车与左侧车道后方车辆的相对距离、本车与右侧车道前方车辆的相对距离以及本车与右侧车道后方车辆的相对距离;v
rel
包括v
rel_front
、v
rel_crear
、v
rel_left_front
、v
rel_left_rear
、v
rel_rigth_front
和v
rel_right_rear
,它们分别为本车与同车道前方车辆的相对速度、本车与同车道后方车辆的相对速度、本车与左侧车道前方车辆的相对速度、本车与左侧车道后方车辆的相对速度、本车与右侧车道前方车辆的相对速度以及本车与右侧车道后方车辆的相对速度;
[0021]
所述新手驾驶员模型根据所在车道来定义车道编号line_id,根据自车的速度与前车的相对距离计算得到并将其分为三个状态,具体包括:
[0022][0023]
根据自车速度与相对速度来计算并将其分为三个状态,具体包括:
[0024]
[0025][0026][0027]
所述新手驾驶员模型中,自车在车道内相对车道中心线的偏移量被量化为:
[0028]“偏左”,即自车位于车道中心线左侧;
[0029]“居中”,即自车位于车道中心线上;
[0030]“偏右”,即自车位于车道中心线右侧。
[0031]
进一步地,所述步骤s12中训练新手驾驶员模型的具体过程为:
[0032]
首先建立车辆随时间的运动模型,并选取合适的时间步,同时初始化参数、生成仿真环境,其中,所述初始化参数包括仿真车辆总数nc、允许的最大初始化距离以及仿真时长tf;
[0033]
再利用安全型驾驶员模型作为背景车进行训练,得到新手驾驶员模型雏形;
[0034]
然后以新手驾驶员模型雏形代替安全型驾驶员模型作为背景车进行训练,得到新手驾驶员模型;
[0035]
所述新手驾驶员模型训练过程中的奖励函数具体为:
[0036]
r1=ω
srsafety
ωer
efficiency
[0037]
其中,ωs为安全性因素的权重,ωe为通行效率因素的权重;
[0038]rsafety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制和跟车距离,所述责任判别机制具体为:当发生车辆碰撞时,若两辆车均无变道,则前车无交通事故责任,而后车担负全部交通事故责任;若一车有变道行为,则具有变道行为的车负全责;若两车均变道,则两车均摊责任;
[0039]refficiency
为考虑通行效率的奖励函数;
[0040]
在训练过程中,新手驾驶员模型通过与环境交互,获取环境信息,新手驾驶员模型在获得当前时刻t的状态量s
t
之后,选择一个和当前状态量s
t
对应的最具价值动作具体训练时新手驾驶员模型在s
t
状态下,根据选择执行的动作a
t
之后,得到一个奖励r
t 1
,并进入下一个状态s
t 1
,根据下一个状态的对应的和r
t 1
来更新q(s
t
,a
t
),通过不断迭代训练,使新手驾驶员模型最终可以做出对应于当前环境状态下的最优动作。
[0041]
进一步地,所述经验驾驶员模型的动作空间遗传有新手驾驶员模型的五种动作,并将横向匀速与五种纵向动作组合进化得到新的五种变道动作,包括:纵向匀速、纵向加速、纵向急加速、纵向减速、纵向急减速、纵向匀速横向匀速、纵向加速横向匀速、纵向急加速横向匀速、纵向减速横向匀速以及纵向急减速横向匀速共十种动作;
[0042]
所述经验驾驶员模型的状态集与新手驾驶员模型的状态集相一致;
[0043]
所述步骤s12中训练检验驾驶员模型的具体过程为:
[0044]
首先用安全型驾驶员模型作为背景车进行训练,得到经验驾驶员模型雏形;
[0045]
然后用已训练的新手驾驶员模型和经验驾驶员模型雏形等比例代替安全型驾驶员模型,以作为背景车进行训练,得到经验驾驶员模型;
[0046]
所述经验驾驶员模型训练过程中的奖励函数具体为:
[0047]
r2=ω
srsafety
ωer
efficiency
ωrr
riding_comfort
[0048]
其中,ωs为安全性因素的权重,ωe为通行效率因素的权重,ωr为乘车舒适性因素的权重;
[0049]rsafety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制、跟车距离和驾驶经验;
[0050]refficiency
为考虑通行效率的奖励函数;
[0051]rriding_comfort
为考虑乘车舒适性的奖励函数。
[0052]
进一步地,所述熟练驾驶员模型的动作空间遗传有经验驾驶员模型的十种动作,并将横向加速、横向减速分别与五种纵向动作组合进化得到新的十种变道动作,包括:纵向匀速、纵向加速、纵向急加速、纵向减速、纵向急减速、纵向匀速横向匀速、纵向加速横向匀速、纵向急加速横向匀速、纵向减速横向匀速、纵向急减速横向匀速、纵向匀速横向减速、纵向加速横向减速、纵向急加速横向减速、纵向减速横向减速、纵向急减速横向减速、纵向匀速横向加速、纵向加速横向加速、纵向急加速横向加速、纵向减速横向加速以及纵向急减速横向加速共二十种动作;
[0053]
所述熟练驾驶员模型的状态集与新手驾驶员模型的状态集相一致;
[0054]
所述步骤s12中训练熟练驾驶员模型的具体过程为:
[0055]
先用安全型驾驶员模型作为背景车进行训练,得到熟练驾驶员模型雏形;
[0056]
然后用已训练的新手驾驶员模型、经验驾驶员模型和熟练驾驶员模型雏形等比例代替安全型驾驶员模型,以作为背景车进行训练,生成熟练驾驶员模型;
[0057]
所述熟练驾驶员模型训练过程中的奖励函数具体为:
[0058]
r3=ω
srsafety
ωer
efficiency
ωrr
riding_comfort
[0059]
其中,ωs为安全性因素的权重,ωe为通行效率因素的权重,ωr为乘车舒适性因素的权重;
[0060]rsafety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制、跟车距离;
[0061]refficiency
为考虑通行效率的奖励函数;
[0062]rriding_comfort
为考虑乘车舒适性的奖励函数。
[0063]
进一步地,所述步骤s2具体包括以下步骤:
[0064]
s21、确定待训练的个性化驾驶员模型的类别,使该个性化驾驶员模型继承熟练驾驶员模型的动作空间,同时该个性化驾驶员类型的状态集与新手驾驶员模型的状态集相一致,其中,个性化驾驶员模型的类别包括激进型驾驶员模型、保守型驾驶员模型、挑衅型驾驶员模型和合作型驾驶员模型;
[0065]
s22、采用安全型驾驶员模型作为背景车进行训练,得到个性化驾驶员模型雏形,再将新手驾驶员模型、经验驾驶员模型以及熟练驾驶员模型等比例代替安全型驾驶员模型,以作为背景车进行训练,生成相应的个性化驾驶员模型。
[0066]
进一步地,所述个性化驾驶员模型的训练过程中,激进型驾驶员模型的奖励函数具体为:
[0067]
r4=ω
srsafety
ωdr
driving_feeling
ωer
efficiency
[0068]
其中,ωs为安全性因素的权重,ωd为驾驶体验的权重,ωe为通行效率的权重;
[0069]rsafety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制;
[0070]rdriving_feeling
为考虑驾驶体验的奖励函数,该部分奖励函数的设计需要考虑自车一定范围内交通流密度以及车速相关的驾驶体验;
[0071]refficiency
为考虑通行效率的奖励函数;
[0072]
保守型驾驶员模型的奖励函数具体为:
[0073]
r5=ω
srsafety
ωrr
riding_comfort
ωer
efficiency
[0074]
其中,ωs为安全性因素的权重,ωr为乘车舒适性因素的权重,ωe为通行效率的权重;
[0075]rsafety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制和跟车距离;
[0076]rriding_comfort
为考虑乘车舒适性的奖励函数;
[0077]refficiency
为考虑通行效率的奖励函数;
[0078]
挑衅型驾驶员模型的奖励函数具体为:
[0079]
r6=ω
srsafety
ωdr
driving_feeling
ωer
efficiency
[0080]
其中,ωs为安全性的权重,ωd为驾驶体验的权重,ωe为通行效率的权重;
[0081]rsafety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制和跟车距离;
[0082]rdriving_feeling
为考虑驾驶体验的奖励函数;
[0083]refficiency
为考虑通行效率的奖励函数;
[0084]
合作型驾驶员模型的奖励函数具体为:
[0085]
r7=ω
srsafety
ωdr
driving_feeling
ωer
efficiency
[0086]
其中,ωs为安全性的权重,ωd为驾驶体验的权重,ωe为通行效率的权重;
[0087]rsafety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制和跟车距离;
[0088]rdriving_feeling
为考虑驾驶体验的奖励函数;
[0089]refficiency
为考虑通行效率的奖励函数。
[0090]
与现有技术相比,本发明提出一种基于遗传与进化思想、结合强化学习,以训练得到驾驶员模型的方案,通过定义安全型驾驶员模型,首先生成新手驾驶员模型、再逐级生成具有一定经验的经验驾驶员模型、最后生成熟练驾驶员模型,之后在熟练驾驶员模型的基础上赋予人类个性化驾驶特性,以训练得到个性化驾驶员模型,最后将生成的驾驶员模型按测试需求以一定比例组合,从而生成相应的测试场景。
[0091]
本发明充分考虑了现实中的不同驾驶员驾驶熟练程度不同的特点以及熟练驾驶员中不同驾驶员之间驾驶风格各异的特点,训练得到多种驾驶员模型,使得生成的测试场景具有较强的真实性。
[0092]
本发明中由于生成的测试场景中背景车的驾驶风格和驾驶熟练程度不相同,同时由于训练各驾驶员模型时背景车中的驾驶员模型各异,从而使得最终生成的测试场景具有较高的复杂性。
[0093]
本发明利用强化学习方法训练驾驶员模型,使得训练出的驾驶员模型具有较高的
自主性、交互性和演化性,从而使生成的测试场景中背景车的行为具有较高的不确定性,能较好地反映被测自动驾驶系统的性能,提高测试效果。
[0094]
本发明在训练每个目标驾驶员模型时,均首先用安全型驾驶员模型作为背景车训练出目标驾驶员模型雏形,目标驾驶员模型的雏形是指当前得到的驾驶员模型初步具有目标驾驶员的行为特点,但对行为的控制还不够精确,再用已经训练好的驾驶员模型和训练的目标驾驶员模型雏形替代安全型驾驶员模型,以作为背景车进行训练,以此能够更快、更准确地训练得到目标驾驶员模型。
[0095]
本发明生成的测试场景中背景车所用的驾驶员模型可以根据需要从已经训练的个性化驾驶员模型中进行选择,使得测试场景具有较强的泛化性。
附图说明
[0096]
图1为本发明的方法流程示意图;
[0097]
图2为实施例的应用过程示意图;
[0098]
图3为实施例中不同成长阶段的驾驶员模型训练过程示意图;
[0099]
图4为实施例中个性化驾驶员模型训练过程示意图;
[0100]
图5为实施例中具有一定挑战性的测试场景生成示意图;
[0101]
图6为实施例中应用本发明方法进行自动驾驶系统测试的流程示意图。
具体实施方式
[0102]
下面结合附图和具体实施例对本发明进行详细说明。
[0103]
实施例
[0104]
如图1所示,一种基于个性化驾驶员模型的自动驾驶测试场景生成方法,包括以下步骤:
[0105]
s1、基于遗传与进化思想、结合强化学习,模拟人类驾驶员在驾驶经历中的各个阶段,逐级训练得到不同成长阶段的驾驶员模型,所述不同成长阶段的驾驶员模型包括新手驾驶员模型、经验驾驶员模型和熟练驾驶员模型;
[0106]
s2、基于不同成长阶段的驾驶员模型,根据人类驾驶员的不同个性化驾驶特性,进一步训练得到个性化驾驶员模型,所述个性化驾驶员模型包括激进型驾驶员模型、保守型驾驶员模型、挑衅型驾驶员模型和合作型驾驶员模型;
[0107]
s3、根据测试需求,将不同成长阶段的驾驶员模型和不同的个性化驾驶员模型按照对应的需求比例,以组合生成相应的目标测试场景。
[0108]
其中,在开始驾驶员模型训练的前期,需要设计一个安全型驾驶员模型作为背景车用于训练,本发明提出的安全型驾驶员模型的策略为:
[0109]
当时,自车采取“急减速”动作;
[0110]
当时,自车采取“减速”动作;
[0111]
当时,自车采取“减速”动作;
[0112]
其中,d
rel_front
表示自车与同车道前车的相对距离、v
rel_front
表示自车与同车道前车的相对速度、v
ego
表示自车速度。
[0113]
而为了有效提高模型训练的效率和准确性,本发明在训练每个目标驾驶员模型时,都先用安全型驾驶员模型作为背景车训练出目标驾驶员模型雏形(这里所说的目标驾驶员模型雏形是指当前得到的驾驶员模型初步具有目标驾驶员的行为特点,但对行为的控制还不够精确),再用已经训练好的驾驶员模型(训练新手驾驶员模型时没有已训练好的驾驶员模型)和训练的目标驾驶员模型雏形替代安全型驾驶员模型,以作为背景车进行训练,该方法与一直用安全型驾驶员模型作为背景车训练或一直用已训练好的驾驶员模型做背景车(训练新手驾驶员模型时除外)训练相比,能更快地得到目标驾驶员模型。
[0114]
此外,本发明还在构建用于驾驶员模型训练的强化学习奖励函数时,提出了一种责任判定机制:当发生车辆碰撞时,若两辆车均无变道,则前车无交通事故责任,而后车担负全部交通事故责任;若一车有变道行为,则具有变道行为的车负全责;若两车均变道,则两车均摊责任。
[0115]
本发明基于对驾驶经验不同的考虑,将不同成长阶段的驾驶员模型设计为新手驾驶员、具有一定经验的经验驾驶员和熟练驾驶员,其中,新手驾驶员驾驶经验不足,不主观变道,很注重行驶的安全性,适度追求通行效率;具有一定经验的经验驾驶员则注重安全性,在必要情况下才会变道,适度追求乘坐舒适性;熟练驾驶员注重驾驶的安全性、乘坐舒适性和通行效率,会熟练执行各种变道等动作。
[0116]
具体的,驾驶员模型通过选择离散的动作,来与交通状态信息进行交互,训练出符合要求的决策网络。根据车辆的横纵向运动定义车辆的动作空间,新手驾驶员模型的动作空间(只有纵向动作)包括:“纵向匀速”、“纵向加速”、“纵向急加速”、“纵向减速”、“纵向急减速”;
[0117]
具有一定经验的驾驶员模型,除了遗传上述纵向动作之外,将“横向匀速”与上述纵向动作组合进化形成新的变道动作,具体包括“纵向匀速横向匀速”、“纵向加速横向匀速”、“纵向急加速横向匀速”、“纵向减速横向匀速”和“纵向急减速横向匀速”;
[0118]
熟练驾驶员模型除了遗传上述纵向动作和变道动作之外,又将“横向加速”与“横向减速”与上述纵向动作组合进化形成新的变道动作,具体包括“纵向匀速横向减速”、“纵向加速横向减速”,“纵向急加速横向减速”,“纵向减速横向减速”,“纵向急减速横向减速”“纵向匀速横向加速”、“纵向加速横向加速”、“纵向急加速横向加速”、“纵向减速横向加速”和“纵向急减速横向加速”。
[0119]
除了以上所述的动作集合,新手驾驶员模型、经验驾驶员以及熟练驾驶员还具有相一致的状态集,该状态集具体是根据自车与他车的纵向相对距离d
rel
(d
rel
包括d
rel_front
、d
rel_crear
、d
rel_left_front
、d
rel_left_rear
、d
rel_rigth_front
和d
rel_right_rear
,它们分别代表本车与同车道前方车辆的相对距离、本车与同车道后方车辆的相对距离、本车与左侧车道前方车辆的相对距离、本车与左侧车道后方车辆的相对距离、本车与右侧车道前方车辆的相对距离以及本车与右侧车道后方车辆的相对距离)、纵向相对速度v
rel
(v
rel
包括v
rel_front
、v
rel_crear
、vrel_left_front
、v
rel_left_rear
、v
rel_rigth_front
和v
rel_right_rear
,符号规则与d
rel
部分类似)、自车速度v
ego
以及车道信息来定义,其中,当他车(包括与本车处于不同车道的车)在自车前方时,他车的纵向速度记为vf,当他车在自车后方时,他车的纵向速度记为vr,纵向相对速度定义如下:
[0120][0121]
根据所在车道来定义车道编号line_id;
[0122]
根据自车的速度与前车的相对距离计算并将其分为三个状态:
[0123][0124]
根据自车速度与相对速度来计算并将其分为三个状态:
[0125][0126]
自车在车道内相对车道中心线的偏移量则被量化为“偏左”(自车位于车道中心线左侧),“居中”(自车位于车道中心线上)以及“偏右”(自车位于车道中心线右侧)。
[0127]
本发明基于对不同驾驶风格的考虑,提出个性化驾驶员模型,具体是根据自车驾驶员是否考虑自车行为对周围车辆的影响,将驾驶风格分为单模态驾驶风格和多模态驾驶风格,所谓单模态驾驶风格是指自车驾驶员只考虑自车行为对自己的影响,不考虑自车行为对他车的影响,包括激进型和保守型两种;所谓多模态驾驶风格是指自车驾驶员驾驶过程中会考虑自车行为对他车的影响,包括合作型和挑衅型两种,其中合作型指自车在驾驶过程中会配合其他车行为,尽量给他车创造良好的行驶环境使他车利益最大化;挑衅型则指自车在驾驶过程中喜欢阻碍周围车辆,使他车陷入恶劣的驾驶环境中,阻止他车利益最大化。
[0128]
本发明根据目标驾驶员类型对应的驾驶动机和驾驶经验来设计奖励函数,其中驾驶动机反映驾驶员在驾驶中追求的目标,具体的目标包括安全性、通行效率、乘坐舒适性和驾驶体验,乘坐舒适性指的是保持汽车在行驶过程中产生的振动和冲击环境对乘员的舒适性影响在一定界限内,主要通过驾乘人员的主观舒适性感觉进行评价,驾驶体验则侧重于驾驶员的主观感觉,不同风格驾驶员之间追求的驾驶体验差别较大,不同驾驶员模型对应的奖励函数如下:
[0129]
训练新手驾驶员的奖励函数:新手驾驶员驾驶经验不足,不主观变道,很注重行驶的安全性,适度追求通行效率,注重安全性体现在避免有责事故发生以及保持较远跟车距离,基于此,设计训练新手驾驶员的奖励函数为:
[0130]
r1=ω
srsafety
ωer
efficiency
[0131]
其中,ωs为安全性因素的权重,ωe为通行效率因素的权重,r
safety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制和跟车距离,r
efficiency
为考虑通行效率的奖励函数;
[0132]
训练具有一定经验的经验驾驶员模型:具有一定经验的驾驶员,仍然注重安全性,在必要情况下才会变道,适度追求舒适性,同时为了提高通行效率,也会注意提高车速,基于此,设计奖励函数为:
[0133]
r2=ω
srsafety
ωer
efficiency
ωrr
riding_comfort
[0134]
其中,ωs为安全性因素的权重,ωe为通行效率因素的权重,ωr为乘车舒适性因素的权重,r
safety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制、跟车距离和驾驶经验,r
efficiency
为考虑通行效率的奖励函数,r
riding_comfort
为考虑乘车舒适性的奖励函数;
[0135]
训练熟练驾驶员模型:熟练驾驶员注重驾驶的安全性、舒适性和通行效率,会熟练执行各种变道等动作,基于此,设计奖励函数为:
[0136]
r3=ω
srsafety
ωer
efficiency
ωrr
riding_comfort
[0137]
其中,ωs为安全性因素的权重,ωe为通行效率因素的权重,ωr为乘车舒适性因素的权重,r
safety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制、跟车距离,r
efficiency
为考虑通行效率的奖励函数,r
riding_comfort
为考虑乘车舒适性的奖励函数;
[0138]
训练激进型驾驶员模型:激进驾驶员除了具有熟练的驾驶技能外,喜欢高速和车速变化带来的驾驶体验,不希望在拥堵路段过多停留,基于此,设计奖励函数为:
[0139]
r4=ω
srsafety
ωdr
driving_feeling
ωer
efficiency
[0140]
其中,ωs为安全性因素的权重,ωd为驾驶体验的权重,ωe为通行效率的权重,r
safety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制,r
driving_feeling
为考虑驾驶体验的奖励函数,该部分奖励函数的设计需要考虑自车一定范围内交通流密度以及车速相关的驾驶体验,r
efficiency
为考虑通行效率的奖励函数;
[0141]
训练保守型驾驶员模型:保守型驾驶员在驾驶过程中注重安全性和舒适性,会避免频繁变速和变道,同时会保证较远的跟车距离,如下设置奖励函数:
[0142]
r5=ω
srsafety
ωrr
riding_comfort
ωer
efficiency
[0143]
其中,ωs为安全性因素的权重,ωr为乘车舒适性因素的权重,ωe为通行效率的权重,r
safety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制和跟车距离,r
riding_comfort
为考虑乘车舒适性的奖励函数,r
efficiency
为考虑通行效率的奖励函数;
[0144]
训练挑衅型驾驶员模型:挑衅型驾驶员除了具有熟练驾驶员的一些特点之外,最明显的特征是喜欢阻碍周围车辆,尤其是后方车辆的行驶,并从中获取驾驶体验,基于此,设计奖励函数为:
[0145]
r6=ω
srsafety
ωdr
driving_feeling
ωer
efficiency
[0146]
其中,ωs为安全性的权重,ωd为驾驶体验的权重,ωe为通行效率的权重,r
safety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制和跟车距离,r
driving_feeling
为考虑驾驶体验的奖励函数,r
efficiency
为考虑通行效率的奖励函数;
[0147]
训练合作型驾驶员模型:合作型驾驶员除了具有熟练驾驶员的一些特点之外,最明显的特点是会尽量给他车创造良好的行驶环境,并从中获取驾驶体验,基于此,设计奖励函数为:
[0148]
r7=ω
srsafety
ωdr
driving_feeling
ωer
efficiency
[0149]
其中,ωs为安全性的权重,ωd为驾驶体验的权重,ωe为通行效率的权重,r
safety
为考虑安全性的奖励函数,该部分奖励函数的设计需要考虑责任判别机制和跟车距离,r
driving_feeling
为考虑驾驶体验的奖励函数,r
efficiency
为考虑通行效率的奖励函数。
[0150]
本实施例应用上述技术方案,其具体应用流程如图2所示:将强化学习与遗传与进化思想相结合,先生成新手驾驶员模型,再逐级生成具有一定经验的驾驶员模型和熟练驾驶员模型,之后在熟练驾驶员模型的基础上赋予人类个性化驾驶特性,使之成为个性化驾驶员模型,最后将生成的驾驶员模型按需求以一定比例组合生成相应的测试场景。
[0151]
图3所示为实施例中训练生成不同成长阶段的驾驶员模型的过程示意图,包括:
[0152]
(1)训练新手驾驶员模型(该驾驶员模型只会进行纵向控制):在训练新手驾驶员之前,需要定义一个安全型驾驶员模型,之后定义新手驾驶员模型的动作空间和状态集。具体的动作空间包含“纵向匀速”、“纵向加速”、“纵向急加速”、“纵向减速”、“纵向急减速”;
[0153]
具体的状态集要根据自车与他车的纵向相对距离(d
rel
,d
rel
可被替换为d
rel_front
、d
rel_rear
、d
rel_left_front
、d
rel_left_rear
、d
rel_rigth_front
和d
rel_right_rear
,它们分别代表本车与同车道前方车辆的相对距离、本车与同车道后方车辆的相对距离、本车与左侧车道前方车辆的相对距离、本车与左侧车道后方车辆的相对距离、本车与右侧车道前方车辆的相对距离以及本车与右侧车道后方车辆的相对距离)、纵向相对速度(v
rel
,v
rel
的替换规则与d
rel
相同)、自车速度(v
ego
)以及车道信息来定义状态集,其中,当他车(包括与本车处于不同车道的车)在自车前方时,他车的纵向速度记为vf;当他车在自车后方时,他车的纵向速度记为vr;纵向相对速度定义如下:
[0154][0155]
根据自车所在车道来定义车道编号line_id,根据自车的速度与前车的相对距离计算并将其分为三个状态,具体包括和根据自车速度与相对速度来计算并将其分为三个状态,包括并将其分为三个状态,包括和
[0156]
自车在车道内相对车道中心线的偏移量被量化为“偏左”(自车位于车道中心线左侧),“居中”(自车位于车道中心线上)以及“偏右”(自车位于车道中心线右侧)。
[0157]
在具体训练新手驾驶员模型时,要先建立车辆随时间的运动模型,并选取合适的时间步,同时初始化参数(仿真车辆总数nc;允许的最大初始化距离仿真时长tf),然
后生成仿真环境;再利用安全型驾驶员作为背景车进行训练,得到控制不够精细的新手驾驶员模型雏形,然后用新手驾驶员模型雏形代替安全型驾驶员模型作为背景车进行训练,结合新手驾驶员模型对应的奖励函数,得到新手驾驶员模型。新手驾驶员模型通过与环境交互,获取环境信息。新手驾驶员模型在获得当前时刻t的状态量s
t
之后,选择一个和当前状态量s
t
对应的最具价值动作对应的最具价值动作具体训练时新手驾驶员模型在s
t
状态下,根据选择执行的动作a
t
之后,得到一个奖励r
t 1
,并进入下一个状态s
t 1
,根据下一个状态的对应的和r
t 1
来更新q(s
t
,a
t
),通过不断迭代使新手驾驶员模型最终可以做出对应于当前环境状态下的最优动作。
[0158]
(2)训练具有一定经验的经验驾驶员模型(该驾驶员模型能熟练进行纵向控制,但会谨慎变道):在训练具有一定经验的驾驶员模型之前,让该驾驶员模型继承新手驾驶员模型的动作空间,并进行扩展,具体包括“纵向匀速”、“纵向加速”、“纵向急加速”、“纵向减速”、“纵向急减速”、“纵向匀速横向匀速”、“纵向加速横向匀速”、“纵向急加速横向匀速”、“纵向减速横向匀速”和“纵向急减速横向匀速”;该模型的状态集与新手驾驶员模型的一样。
[0159]
训练具有一定经验的驾驶员模型时,先用安全型驾驶员模型作为背景车进行训练,得到控制不够精细的具有一定经验的驾驶员模型雏形,然后用已训练的新手驾驶员模型和具有一定经验的驾驶员模型雏形等比例代替安全型驾驶员模型作为背景车进行训练,结合经验驾驶员模型对应的奖励函数,得到具有一定经验的驾驶员模型。
[0160]
(3)训练熟练驾驶员模型(该驾驶员模型能熟练进行纵向控制和变道):在训练熟练驾驶员模型之前,让该驾驶员模型继承具有一定经验的驾驶员模型的动作空间,并进行扩展,具体包括“纵向匀速”、“纵向加速”、“纵向急加速”、“纵向减速”、“纵向急减速”、“纵向匀速横向匀速”、“纵向加速横向匀速”、“纵向急加速横向匀速”、“纵向减速横向匀速”、“纵向急减速横向匀速”、“纵向匀速横向减速”、“纵向加速横向减速”,“纵向急加速横向减速”,“纵向减速横向减速”,“纵向急减速横向减速”“纵向匀速横向加速”、“纵向加速横向加速”、“纵向急加速横向加速”、“纵向减速横向加速”和“纵向急减速横向加速”;该模型的状态集与新手驾驶员模型的一样。
[0161]
训练熟练驾驶员模型时,先用安全型驾驶员模型作为背景车进行训练,得到控制不够精细的熟练驾驶员模型雏形,然后用已训练的新手驾驶员模型、具有一定经验的驾驶员模型和熟练驾驶员模型雏形等比例代替安全型驾驶员模型作为背景车进行训练,结合熟练驾驶员模型对应的奖励函数,生成熟练驾驶员模型。
[0162]
图4所示为个性化驾驶员模型的训练过程示意图,本实施例基于遗传与进化思想训练了激进型和挑衅性两种个性化驾驶员模型:
[0163]
(1)训练激进型驾驶员模型:在训练激进型驾驶员模型之前,让该驾驶员模型继承熟练驾驶员模型的动作空间,同时该模型的状态集与新手驾驶员模型的一样。训练激进型驾驶员模型时,先用安全型驾驶员模型作为背景车进行训练,得到控制不够精细的激进型驾驶员模型雏形,然后用已训练的新手驾驶员模型、具有一定经验的驾驶员模型和熟练驾驶员模型等比例代替安全型驾驶员模型作为背景车进行训练,结合激进型驾驶员模型对应的奖励函数,生成激进型驾驶员模型。
[0164]
(2)训练挑衅型驾驶员模型:挑衅型驾驶员除了具有熟练驾驶员的一些特点之外,最明显的特征是喜欢阻碍周围车辆,尤其是后方车辆的行驶,并从中获取驾驶体验。在训练挑衅型驾驶员模型之前,让该驾驶员模型继承熟练驾驶员模型的动作空间,同时该模型的状态集与新手驾驶员模型的一样。训练挑衅型驾驶员模型时,先用安全型驾驶员模型作为背景车进行训练,得到控制不够精细的挑衅型驾驶员模型雏形,然后用已训练的新手驾驶员模型、具有一定经验的驾驶员模型和熟练驾驶员模型等比例代替安全型驾驶员模型作为背景车进行训练,结合挑衅型驾驶员模型对应的奖励函数,生成挑衅型驾驶员模型。
[0165]
最后再利用训练得到的各驾驶员模型,根据测试需求,将不同的驾驶员模型按比例组合生成对应的测试场景。本实施例利用已训练的驾驶员模型生成一种具有挑战性的测试场景,来测试被测自动驾驶系统的安全性、舒适性和通行效率,如图5所示,以背景车中激进型驾驶员模型和挑衅性驾驶员模型各占百分之五十来生成测试场景。在实际应用中,若想生成复杂的测试场景,则可在背景车中将新手驾驶员模型、具有一定经验的驾驶员模型占、熟练驾驶员模型、合作型驾驶员模型、挑衅型驾驶员模型以及保守型驾驶员模型设置为各占百分之十四,激进型驾驶员模型则设置为占百分之十六。
[0166]
本实施例还基于生成的挑战性测试场景进行自动驾驶系统的测试,如图6所示:
[0167]
步骤1:对模拟环境中的道路信息进行初始化,具体包括车道数目n
line
=3、车道宽度d=3.5m和车道长度l=400m;
[0168]
步骤2:确定环境中背景车的数目n
car
=16,确定背景车的初始速度范围为[70,120]km/h,给百分之五十的背景车赋予挑衅型驾驶员模型的驾驶策略,给另外百分之五十的背景车赋予激进型驾驶员模型的驾驶策略;
[0169]
步骤3:确定目标车辆的初速度v0和初始横向位置x0,初始化循环次数n
loop
=1。目标车辆装有被测自动驾驶系统,目标车辆根据随机数被随机分配至某一车道中心处,根据[70,120]范围内的均匀分布随机给出目标的初始纵向速度;
[0170]
步骤4:放置目标车辆。依据目标车辆的初速度v0和初位置(x0,0)在测试场景中放置目标车辆,其中0表示目标车辆的初始纵向位置在0m处;
[0171]
步骤5:确定背景车初速度和初位置。背景车根据随机数被随机分配至某一车道,车辆在指定车道内的纵向位置根据[0,400]中的均匀分布随机确定,车辆的横向位置均为车道中心线处,根据[70,120]范围内的均匀分布随机给出汽车的初始纵向速度,形成测试场景;
[0172]
步骤6:测试并记录目标车辆行驶过程中的相关参数和碰撞次数;
[0173]
步骤7:当目标车辆行驶至400m处或发生碰撞时,保存目标车辆的横向位置x1和速度v1;
[0174]
步骤8:判断n
loop
>100是否成立,若未大于100,则令x0=x1,v0=v1,然后再进入步骤3;若大于100,则测试结束,进行评价。
[0175]
步骤9:根据测试过程中目标车辆的碰撞次数来评价被测自动驾驶系统的安全性,根据目标车辆在测试过程中的平均速度来评价被测自动驾驶系统的通行效率,根据目标车辆在测试过程中的加速度绝对值的平均数来评价被测自动驾驶系统的舒适性。
[0176]
综上所述,本实施例首先生成新手驾驶员模型,再逐级生成具有一定经验的驾驶员模型和熟练驾驶员模型,之后在熟练驾驶员模型的基础上赋予人类个性化驾驶特性,使
之成为个性化驾驶员模型,最后将生成的驾驶员模型按需求以一定比例组合生成相应的测试场景。以生成一种具有挑战性的测试场景为例,将生成的激进型驾驶员模型和挑衅型驾驶员模型等比例组合作为背景车,模拟出一种具有挑战性的交通流,将被测的自动驾驶系统放入该交通流中,通过测试该系统在该场景中的运行效率(通行时间、平均速度)、舒适性(加速度绝对值的平均数)和安全性(发生碰撞的次数)来评价被测自动驾驶系统。
[0177]
本技术方案与其他自动驾驶测试场景生成方法相比,所训练出的驾驶员模型具有智能性和自主交互的能力,个性化的驾驶员模型显著提升场景的测试效果,同时由于其独特的训练过程,使得最终生成的测试场景具有较好的真实性、复杂性以及鲁棒性,同时可拓展性较强,具有强泛化性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献