一种用于自动驾驶控制策略的训练系统转让专利

申请号 : CN201910030302.6

文献号 : CN109765820B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 秦熔均

申请人 : 南栖仙策(南京)科技有限公司

摘要 :

本发明公开了一种用于自动驾驶控制策略的训练系统,系统以基于机器学习的模拟器构建、基于对抗学习的驾驶控制策略搜索、驾驶控制策略模型迁移三大模块为特点,解决以往自动驾驶领域无法获得安全合规的控制策略难题。

权利要求 :

1.一种用于自动驾驶控制策略的训练系统,其特征在于:包括模拟器构造、策略搜索、策略迁移三个模块;

模拟器构造,包含车辆动力系统、行驶道路静态因素的模拟,以及行人、非机动车、周边车辆动态因素的模拟;

策略搜索,在构造出的模拟器中,设置驾驶的指标函数,使用机器学习方法搜索最优化指标函数的驾驶控制策略;

策略迁移,根据无人车实体采集的数据,对模拟器中搜索到的策略进行再次训练,以得到在无人车实体上使用的驾驶控制策略。

2.如权利要求1所述的用于自动驾驶控制策略的训练系统,其特征在于:模拟器中动态因素的模拟为:首先,拍摄道路视频;

其次,将道路视频中的动态因素检测出;

然后,对于每一个动态因素o,提取其每一时刻t的周边信息S(o,t)、位置信息L(o,t),并将周边信息S(o,t)与位置移动信息L(o,t)-L(o,t-1)配对,即S(o,t)的标记为L(o,t)-L(o,t-1),构建所有动态因素和所有时刻的标记数据集;

再次,使用监督学习方法,从标记数据集训练出预测模型H,H的输入为S(o,t),输出为L(o,t)-L(o,t-1)的预测值;

最后,在模拟器中,对每一个动态因素o提取周边信息S(o)和位置信息L(o),通过调用预测模型H(S(o))得到值v,L(o)+v即为该动态因素的下一位置。

3.如权利要求1所述的用于自动驾驶控制策略的训练系统,其特征在于:策略搜索:自动驾驶控制策略的目的是根据持续输入的感知信息,持续输出控制量,形成驾驶过程;

首先,根据系统使用者对驾驶策略的需求,设计指标函数;

其次,设计策略模型参数,使用多层前馈神经网络、或卷积神经网络、或残差网络作为控制策略的实现模型,通过训练来确定的控制策略参数为神经网络节点之间的连接权值;

第三,针对指标函数,使用演化算法或强化学习算法在策略模型的参数空间进行搜索,寻找最大化评估值的策略模型参数。

4.如权利要求3所述的用于自动驾驶控制策略的训练系统,其特征在于:搜索过程包括以下步骤:(1)k=0

(2)通过生成随机的控制策略参数,得到初始控制策略πk;

(3)在模拟器中运行控制策略πk,得到模拟器中无人车运行的轨迹,并分别评估出该轨迹的目标评判值、安全评判值、合规评判值、舒适评判值,将这些值相加,得到该次控制策略运行的指标结果;

(4)根据(3)的结果,按照演化算法更新种群,或按照强化学习方法更新驾驶策略模型;

(5)更新后,得到下一次执行的驾驶策略模型,并令k=k+1;

(6)从第(2)步重复,直到用完循环次数。

5.如权利要求1所述的用于自动驾驶控制策略的训练系统,其特征在于:策略迁移包括:模型初始化迁移:以在模拟器中训练出的自动驾驶控制策略模型为起点,在无人车实体上运行控制策略模型,并用得到的数据更新模型;

模拟器转移修正迁移:

首先,在无人车实体上执行控制动作序列(a1,a2,a3,…,an),收集得到每一动作执行后的感知状态(s0,s1,s2,s3,…,sn);

其次,在模拟器中,初始状态置为s0,并且执行相同的动作序列(a1,a2,a3,…,an),收集得到感知状态(s0,u1,u2,u3,…,un);

然后,在模拟器中,引入转移修正函数g,g输入当前状态s以及控制策略π给出的动作a,输出替代动作a的修正动作a’,并在环境中实际执行动作a’,即a’=g(s,π(s));

再次,用演化算法或强化学习方法训练g,其目标是让无人车实体数据与模拟器产生的数据之间尽可能相似,即最小化∑i(si–ui)2;

经过以上模拟器转移修正迁移后,将在模拟器中训练得到的控制策略π直接用于无人车实体。

说明书 :

一种用于自动驾驶控制策略的训练系统

技术领域

[0001] 本发明涉及一种用于自动驾驶控制策略的训练系统,可用于无人车、机器人、无人机等无人设备的控制,属于自动驾驶技术领域。

背景技术

[0002] 自动驾驶的目标是其从辅助驾驶员驾驶到最终替代驾驶员,实现安全、合规、便捷的个人自动交通系统。现有的自动驾驶系统中,驾驶控制策略多为基于人工规则的方案、或基于实时规划的方案。现有的方案不具备智能特性,在实现安全性驾驶方面存在严重缺陷,无法设计出能够覆盖所有场景、特别是极端场景的自动驾驶控制策略。
[0003] 近期有部分自动驾驶方案引入机器学习,通过采集驾驶员驾驶数据,以监督学习方式训练模型,使模型输出与人类驾驶习惯相似。此类方法需要收集大量驾驶数据进行模型训练,一方面仍需引入大量人力的参与,而另一方面,即使收集了大量驾驶数据,但其中包含的极端场景数据非常稀少,仍无法完全覆盖各种驾驶场景,使得最终以监督学习方式训练得到的模型存在场景盲区,当在陌生场景下使用时,无法安全的完成驾驶任务。
[0004] 强化学习是通过智能体与环境不断交互试错,提升智能体自身的决策水平,使智能体在环境中逐渐学得最优控制策略,自动完成控制任务。然而,强化学习的学习过程需要智能体与环境进行大量交互试错,在实际的自动驾驶场景中,则需要无人车在物理世界中大量的自由探索,显然,此种方式极具危险性,且代价高昂。
[0005] 因此,在自动驾驶任务中,亟需一种新型的自动驾驶策略训练的技术方案来解决这一问题。

发明内容

[0006] 发明目的:针对现有技术中存在的问题与不足,本发明提供一种用于生成安全自动驾驶控制策略的训练系统。
[0007] 技术方案:一种用于自动驾驶控制策略的训练系统,包括模拟器构造、策略搜索、策略迁移三个模块;
[0008] 模拟器构造,包含车辆动力系统、行驶道路静态因素的模拟,以及行人、非机动车、周边车辆动态因素的模拟;
[0009] 策略搜索,在构造出的模拟器中,设置指标函数,指标函数的构成包含目的地是否达到的目标评判值、驾驶过程是否违反交通规则的合规评判值、驾驶过程是否出现碰撞的安全评判值、驾驶过程是否产生过大加速的舒适性评判值等,通过将各个评判值的加权求和,得到指标函数,然后使用机器学习方法搜索最优化指标函数的驾驶控制策略;
[0010] 策略迁移,根据无人车实体采集的数据,对模拟器中搜索到的策略进行再次训练,以得到在无人车实体上使用的驾驶控制策略。
[0011] 模拟器中动态因素的模拟为:
[0012] 首先,通过拍摄道路视频;
[0013] 其次,通过人工标注的方法,或对象检测算法,将道路视频中的动态因素检测出;
[0014] 然后,对于每一个动态因素o,提取其每一时刻t的周边信息S(o,t)、位置信息L(o,t),并将周边信息S(o,t)与位置移动信息L(o,t)-L(o,t-1)配对,即S(o,t)的标记为L(o,t)-L(o,t-1),构建所有动态因素和所有时刻的标记数据集;
[0015] 再次,使用监督学习方法,例如深度神经网络学习算法、决策树学习算法等,从标记数据集训练出预测模型H,H的输入为S(o,t),输出为L(o,t)-L(o,t-1)的预测值;
[0016] 最后,在模拟器中,对每一个动态因素o提取周边信息S(o)和位置信息L(o),通过调用预测模型H(S(o))得到值v,L(o)+v即为该动态因素的下一位置。
[0017] 该方案为每一个动态因素生成一个预测模型,该模型根据输入的状态预测下一位置的差,因此具备环境的响应能力,也不需模拟器与视频拍摄场景完全一致。策略搜索:
[0018] 自动驾驶控制策略的目的是根据持续输入的感知信息,持续输出控制量,形成驾驶过程。
[0019] 首先,根据系统使用者对驾驶策略的需求,例如在到达驾驶目的地的同时需保证安全、合规、舒适,设计指标函数。
[0020] 其次,设计策略模型参数,例如使用多层前馈神经网络、或卷积神经网络、或残差网络作为控制策略的实现模型,通过训练来确定的控制策略参数为神经网络节点之间的连接权值。
[0021] 第三,针对指标函数,使用演化算法或强化学习算法在策略模型的参数空间进行搜索,寻找最大化评估值的策略模型参数。搜索过程可通用的写为以下步骤:
[0022] 1.k=0
[0023] 2.通过生成随机的控制策略参数,得到初始控制策略πk;
[0024] 3.在模拟器中运行控制策略πk,得到模拟器中无人车运行的轨迹,并分别评估出该轨迹的目标评判值、安全评判值、合规评判值、舒适评判值,将这些值相加,得到该次控制策略运行的指标结果;
[0025] 4.根据3的结果,按照演化算法更新种群,或按照强化学习方法更新驾驶策略模型;
[0026] 5.更新后,得到下一次执行的驾驶策略模型,并令k=k+1;
[0027] 6.从第2步重复,直到用完循环次数。
[0028] 策略迁移:
[0029] 【方案例1】模型初始化迁移。以在模拟器中训练出的自动驾驶控制策略模型为起点,在无人车实体上运行控制策略模型,并用得到的数据更新模型。
[0030] 【方案例2】模拟器转移修正迁移。
[0031] 首先,在无人车实体上执行控制动作序列(a1,a2,a3,…,an),收集得到每一动作执行后的感知状态(s0,s1,s2,s3,…,sn)。
[0032] 其次,在模拟器中,初始状态置为s0,并且执行相同的动作序列(a1,a2,a3,…,an),收集得到感知状态(s0,u1,u2,u3,…,un)。
[0033] 然后,在模拟器中,引入转移修正函数g,g输入当前状态s以及控制策略π给出的动作a,输出替代动作a的修正动作a’,并在环境中实际执行动作a’,即a’=g(s,π(s))。
[0034] 再次,用演化算法或强化学习方法训练g,其目标是让无人车实体数据与模拟器产生的数据之间尽可能相似,即最小化∑i(si–ui)2。
[0035] 经过以上修正后,将在模拟器中训练得到的控制策略π直接用于无人车实体。

附图说明

[0036] 图1是自动驾驶控制策略训练系统主要模块框图。

具体实施方式

[0037] 下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0038] 一种用于自动驾驶控制策略的训练系统,系统主要架构包括模拟器构造、策略搜索、策略迁移三个模块,并以此三个模块为技术特征,如图1所示。
[0039] 模拟器模块的构造,包含车辆动力系统、行驶道路等静态因素的模拟,以及行人、非机动车、周边车辆等动态因素的模拟。
[0040] 策略搜索模块,在构造出的模拟器中,设置指标函数,指标函数的构成包含目的地是否达到的目标评判值、驾驶过程是否违反交通规则的合规评判值、驾驶过程是否出现碰撞的安全评判值、驾驶过程是否产生过大加速的舒适性评判值等,通过将各个评判值的加权求和,得到指标函数,然后使用机器学习方法搜索最优化指标函数的驾驶控制策略。
[0041] 策略迁移模块,根据无人车实体采集的数据,对模拟器中搜索到的策略进行再次训练,以得到在无人车实体上使用的驾驶控制策略。
[0042] 模拟器中静态因素的构建,包括车辆的动力学模型、道路模型等,属于已成熟领域,因此模拟器构建的难点在于其中动态因素的构建,包括行人、非机动车、周边车辆的行为模型。为了对动态因素进行模拟,具体的实施方案描述如下。
[0043] 【实施例1】
[0044] 首先,通过交通摄像头、或高空摄像头、或无人机等装置,在多种不同的道路场景,拍摄路面车辆、行人、非机动车通行的道路视频;
[0045] 其次,通过人工标注的方法,或对象检测算法,将道路视频中的动态因素检测出,构造每一个动态因素的位置序列;
[0046] 然后,将动态因素的位置序列在模拟器中播放,即产生动态因素的活动轨迹。
[0047] 【实施例2】
[0048] 实施例1是在模拟器中重放拍摄的动态因素行动轨迹,这样的做法存在两个缺陷,第一,模拟器的道路场景必须与视频中拍摄的场景一致,第二,动态因素不具备环境响应能力,仅仅是历史重放。下面描述一种基于机器学习方法的改进方案。
[0049] 首先,通过交通摄像头、高空摄像头、无人机等装置,拍摄道路视频;
[0050] 其次,通过人工标注的方法,或对象检测算法,将道路视频中的动态因素检测出;
[0051] 然后,对于每一个动态因素o,提取其每一时刻t的周边信息S(o,t)(周边信息包括该因素周围360度可见的静态因素和其他动态因素信息等)、位置信息L(o,t),并将周边信息S(o,t)与位置移动信息L(o,t)-L(o,t-1)配对,即S(o,t)的标记为L(o,t)-L(o,t-1),构建所有动态因素和所有时刻的标记数据集。
[0052] 再次,使用监督学习方法,例如深度神经网络学习算法、决策树学习算法等,从标记数据集训练出预测模型H,H的输入为S(o,t),输出为L(o,t)-L(o,t-1)的预测值。
[0053] 最后,在模拟器中,对每一个动态因素o提取周边信息S(o)和位置信息L(o),通过调用预测模型H(S(o))得到值v,L(o)+v即为该动态因素的下一位置。
[0054] 该方案为每一个动态因素生成一个预测模型,该模型根据输入的状态预测下一位置的差,因此具备环境的响应能力,也不需模拟器与视频拍摄场景完全一致。
[0055] 策略搜索:
[0056] 自动驾驶控制策略的目的是根据持续输入的感知信息,持续输出控制量,形成驾驶过程。
[0057] 首先,根据系统使用者对驾驶策略的需求,例如在到达驾驶目的地的同时需保证安全、合规、舒适,设计指标函数为目的地是否达到的目标评判值、驾驶过程是否违反交通规则的合规评判值、驾驶过程是否出现碰撞的安全评判值、驾驶过程是否产生过大加速的舒适性评判值的加权和。例如,驾驶过程在设定的时长内最终到达目的地则目标评判值为1,发生碰撞则安全评判值加-100,发生违规则合规评判值加-1,发生大幅加减速、较大角速度则舒适评判值加-0.01,最终全部相加,形成对每一条驾驶过程都可以进行打分的指标。
[0058] 其次,设计控制策略模型参数,例如使用多层前馈神经网络、或卷积神经网络、或残差网络作为控制策略的实现模型,则需要进一步通过训练来确定的控制策略参数为神经网络节点之间的连接权值。
[0059] 第三,针对指标函数,使用演化算法或强化学习算法在策略模型的参数空间进行搜索,寻找最大化评估值的策略模型参数。搜索过程可通用的写为以下步骤:
[0060] 1.k=0
[0061] 2.通过生成随机的控制策略参数,得到初始控制策略πk;
[0062] 3.在模拟器中运行控制策略πk,得到模拟器中无人车运行的轨迹,并分别评估出该轨迹的目标评判值、安全评判值、合规评判值、舒适评判值,将这些值相加,得到该次控制策略运行的指标结果;
[0063] 4.根据3的结果,按照演化算法更新种群,或按照强化学习方法更新驾驶策略模型;
[0064] 5.更新后,得到下一次执行的驾驶策略模型,并令k=k+1;
[0065] 6.从第2步重复,直到用完循环次数。
[0066] 策略迁移:
[0067] 【方案例1】模型初始化迁移。以在模拟器中训练出的自动驾驶控制策略模型为起点,在无人车实体上运行控制策略模型,并用得到的数据更新模型。
[0068] 【方案例2】模拟器转移修正迁移。
[0069] 首先,在无人车实体上执行控制动作序列(a1,a2,a3,…,an),收集得到每一动作执行后的感知状态(s0,s1,s2,s3,…,sn)。
[0070] 其次,在模拟器中,初始状态置为s0,并且执行相同的动作序列(a1,a2,a3,…,an),收集得到感知状态(s0,u1,u2,u3,…,un)。
[0071] 然后,构造函数g,用于修正模拟器的偏差。函数g输入当前状态s以及控制策略π给出的动作a=π(s),输出替代动作a的修正动作a’,并在环境中实际执行动作a’,即a’=g(s,a)。
[0072] 再次,用演化算法或强化学习方法训练g,其目标是让无人车实体数据与模拟器产生的数据之间尽可能相似,即最小化∑i(si–ui)2。
[0073] 经过以上修正后,将在模拟器中训练得到的控制策略π直接用于无人车实体。