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

收集适于训练车辆的自主驾驶系统的训练数据的方法和系统与流程

2022-02-25 20:44:13 来源:中国专利 TAG:


1.本公开涉及车辆自主驾驶领域,并且更确切地,涉及一种用于训练用于车辆自主驾驶的规划模块(典型地是运动规划模块)的方法和系统。


背景技术:

2.自主驾驶系统可以按照三个级别来描述。
3.第一级涉及感知。车辆用诸如摄像头、雷达和激光雷达的多个传感器来感测其环境。车辆可以例如从高清晰度地图接收附加输入。
4.基于感知信息,在第二级,运动规划模块对车辆的轨迹进行规划。该运动规划模块包括子模块,该子模块包括行为规划模块和轨迹规划模块。
5.行为规划模块使用从感知级接收输入并确定车辆的高级决策的算法,如“向左/右侧变更车道”、“以给定速度沿着车道行进”、“将车道偏离调整为给定值”、“加速”等。该行为规划旨在给出车辆如何被规划驾驶的高级描述。
6.代替行为规划模块,可以使用策略或操纵规划模块(tactical or maneuver planning module)来给出具有附加信息的更详细的输出,例如:以当前速度沿着车道行进、以等于当前速度增加或减少给定速度增量(例如2m/s)的给定速度沿着车道行进、以等于给定值(例如32m/s)的速度沿着车道行进、以给定车道偏离调节(例如0.5m)沿着车道行进、以多个变量(例如,当前速度、速度变化、加速度变化、最终车道偏离等)向左侧变更车道。
7.轨迹规划模块使用采取由行为规划模块(或由策略或操纵规划模块)提供的高级决策并输出用于车辆的低级控制信号的算法。车辆不理解需要转换成可执行转向指令的高级决策。该轨迹规划模块为车辆生成可行的轨迹。
8.最后,自主驾驶系统包括第三级,该第三级包括控制模块,该控制模块具有控制该车辆以将其保持在所规划的轨迹上的功能。
9.换言之,自主驾驶系统内的行为规划(或策略规划或操纵规划)负责提供高级策略决策,自主车辆最终应采取该决策来以最有效的方式到达期望目的地。这些高级决策然后被轨迹规划算法使用以为车辆生成安全且可行的轨迹,并且最终,所生成的轨迹能够由车辆的控制模块执行。
10.为了开发或训练行为规划模块,已知使用强化学习法。为此,将代理(车辆)置于环境中,例如模拟工具中。一开始,代理不知道关于环境的任何信息并且不理解车道改变、速度改变等的概念。允许通过在环境中采取特定动作来在模拟内执行探索以便最大化累积奖励(reward)。代理连续地尝试不同动作的组合,直到找到关于如何操纵该代理以实现期望目标的有意义的策略,例如在仍保持速度限制的同时行驶。然而,这种基于模拟工具的行为规划算法的训练法可能导致行为规划模块不令人满意,因为它产生的车辆行为不是人类行为,并因此可能导致道路上的危险情况。
11.为了改进这个缺点,已知通过模仿学习来训练行为规划。这种方法可以将基于仅在模拟中训练代理的强化学习与监督学习相结合。它使用一组标记的训练数据。然而,该技
术的缺点在于它需要从大型测试车辆车队收集大量的训练数据。
12.需要改善这种情况。更准确地,需要提供一种收集训练数据的方法,该方法适于以更类似于人的方式来训练车辆自主驾驶系统,而不需要重要的训练努力。


技术实现要素:

13.本公开涉及一种收集适于训练车辆的自主驾驶系统的训练数据的方法,该方法包括以下步骤:提供存储预定道路场景的场景数据库;向用户设备提供用于在道路场景中控制车辆代理的模拟游戏;在多个用户设备中的各个用户设备处,运行所述模拟游戏,在该用户设备的显示器上播放来自所述场景数据库的道路场景,利用所述用户输入的转向动作在所述模拟中控制所述车辆代理,并且生成所播放的道路场景的人类演示;收集在多个用户设备上播放的所存储的道路场景的多个人类演示作为训练数据,并将多个人类演示存储在演示数据库中。
14.由多个用户设备使用模拟游戏来创建预定道路场景的人类演示允许例如通过使用模仿学习算法或方法来容易地获得适合于对车辆的自主驾驶系统的规划模块进行训练的大量训练数据。这种收集训练数据的方法不需要用于对道路场景进行试验的实际车辆测试(这难以实现、昂贵且耗时),并且允许获得大量的训练数据并处理大范围的道路场景。它可以容易地部署给大量用户。
15.有利地,分配服务器选择要分配给用户设备的道路场景。
16.所述方法可包括在将人类演示传输到演示数据库之前使其匿名的步骤。
17.由用户设备生成的道路场景的各个人类演示可以包括连续的样本,各个样本包括指示模拟中道路上的当前状态的数据,以及(如果适用的话)指示由用户输入的、当前正在被操作的转向动作的数据。
18.道路场景可以包括车辆代理的目标,并且当车辆代理已经达到这个目标时,或者当车辆代理已经错过这个目标时,可以完成所播放的道路场景的人类演示。
19.当由模拟游戏播放道路场景时,可以向用户建议控制车辆代理的预定转向动作。这些预定转向动作可以取决于呈现给用户的道路场景。它们也可以是由要训练的规划模块负责的动作。这样,所收集的训练数据对于训练该规划模块更相关。
20.模拟游戏可以具有奖励功能(reward function)并且根据用户输入的动作来计算奖励信息。所述奖励信息可包含在传输到演示数据库的道路场景的人类演示中。
21.本公开还涉及一种训练用于车辆的自主驾驶系统的规划模块的方法,该方法包括以下步骤:通过由先前定义的方法收集训练数据来创建演示数据库;通过使用存储在演示数据库中的人类演示来训练规划模块。
22.可以通过执行模仿学习方法并使用演示数据库来训练规划模块。
23.训练步骤可以包括训练自主驾驶车辆的运动规划模块的行为规划模块和轨迹规划模块中的至少一个。
24.本公开还可以涉及一种生产自主驾驶车辆的方法,该方法包括以下步骤:通过执行以上定义的训练方法来训练用于车辆的自主驾驶系统的参考规划模块;将规划模块配置成与所训练的参考规划模块一致;向该自主驾驶车辆提供所配置的规划模块。
25.本公开还涉及一种收集适合于训练车辆自主驾驶系统的训练数据的系统,该系统
包括:场景数据库,该场景数据库存储多个预定道路场景;演示数据库;多个用户设备,每个用户设备运行模拟游戏,在显示器上播放来自场景数据库的道路场景,利用用户输入的转向动作来控制模拟中的车辆代理,并且生成所播放的道路场景的人类演示;收集服务器,其收集在所述多个用户设备上播放的所存储的道路场景的多个人类演示作为训练数据,并将多个人类演示存储在演示数据库中。
26.该模拟游戏可以被布置成当道路场景被播放时向用户建议预定动作来控制车辆代理,所述预定动作是作为自主驾驶中被训练的规划模块的责任的动作。
附图说明
27.通过阅读参照附图所作的非限制性实施例的详细说明,本公开的其它特征,目的和优点将变得更加清楚。
28.图1示出了根据特定实施方式的训练车辆自主驾驶的规划模块的分布式系统。
29.图2示出了由模拟游戏运行并由用户设备显示的道路场景的示例。
30.图3示出了根据实施方式的训练车辆自主驾驶的规划模块的方法的流程图。
具体实施方式
31.图1示出了根据具体实施方式的训练用于车辆自主驾驶的规划模块的系统100。
32.在该实施方式中,系统100包括场景数据库10、演示数据库20、收集服务器30、训练服务器40以及多个用户设备60。收集服务器30和训练服务器40二者可以访问演示数据库20。两个服务器30、40,场景数据库10和用户设备60全部连接到通信网络200。
33.场景数据库10存储例如通过下载或通过流传输呈现给用户设备60的多个预定的道路场景。分配服务器50可以负责将道路场景从数据库10分配给用户设备60。道路场景对应于发生在道路上的情形,并且可以包括可由用户控制的车辆(称为“代理”)的特定目标。可以定义不同类型的目标。第一种类型的目标可以是基于车道的目标,例如位于给定距离内的给定车道上。第二种类型的目标可以涉及速度限制的使用,例如用于以最高可能速度行驶。第三种类型的目标可以与交通流量平滑度相关,例如用于优化一些基于场景的标准,如道路上所有车辆的平均速度。第四类目标可以与乘客的舒适度相关,例如用于最小化车辆的加速度和抖动。可以定义其它类型的目标。
34.每个用户具有安装在其用户设备60中的模拟游戏应用程序61。用户设备60具有显示设备62,并且被配置为运行模拟游戏并在显示设备62上播放来自场景数据库10的道路场景。在模拟游戏61中,用户可以通过输入在模拟中操作的转向动作来控制正在被呈现和播放的道路场景中的代理(车辆)。模拟游戏应用程序61具有生成模拟中正在播放的道路场景的人类演示的附加功能。人类演示是描述在模拟中由用户输入的转向动作的控制下道路场景如何表现的一组数据。它可以包括以预定频度(在连续的时间点)获取的采样序列(例如,每秒10个采样)。每个样本包括所述模拟的当前信息,描述模拟中正在被播放的道路场景中的当前情形。该当前信息可以包括指示道路的当前状态的数据,道路的当前状态由诸如车道数目、车辆数目(除了所述车辆代理之外)、场景中车辆的相应位置、速度和加速度等的各种信息定义。当前信息还可以包括指示由用户输入的当前正在模拟中执行的转向动作的数据。用户设备60可以是智能电话、平板电脑、计算机或任何其它设备或终端。
35.演示数据库20存储场景数据库10中存储的且已呈现给用户设备60并由用户设备60播放的预定道路场景的人类演示。
36.收集服务器30具有从用户设备60收集这些人类演示并将所收集的人类演示存储到演示数据库20中的功能。
37.训练服务器40用于训练车辆的自主驾驶系统的规划模块。
38.如先前所解释的,车辆(例如汽车)的自主驾驶系统具有三个级别:
39.感知级,该感知级用像摄像头、雷达和激光雷达这样的多个传感器来感测车辆的环境,并且接收像来自高清晰度地图的数据这样的附加输入;
40.规划车辆轨迹的运动规划级;以及
41.控制级,其控制所述车辆遵循所规划的轨迹。
42.训练服务器40使用存储在演示数据库20中的数据来训练运动规划级的算法。
43.运动规划级可以具有两个模块。第一模块可以是行为规划模块,并且第二模块可以是轨迹规划模块。另选地,第一模块可以是策略或操纵规划模块。
44.示意性地,行为规划模块负责基于由感知级(通常是传感器数据和地图数据)提供的输入来提供高级驾驶决策(例如,“沿着车道行进”、“向左侧/右侧变更车道”或“加速”或“减速”等)。当使用策略或操纵规划模块来代替行为规划模块时,高级驾驶决策包括更精确地定义如何驾驶车辆的附加信息(例如,“以当前速度(或加速度)沿着车道行进”、“在使当前速度(或加速度)增加或减少给定速度(加速度)增量的情况下沿着车道行进”、“以给定车道偏离调节沿着车道行进”、“以多个变量(如当前速度、速度(或加速度)变化、最终车道偏离等)向左侧变更车道”、“中止当前操纵”、“紧急制动操纵”、“紧急制动操纵、向右侧变更至紧急车道”等)。
45.轨迹规划模块采用高级决策作为输入,并且负责输出用于控制车辆的低级信号,以生成可执行轨迹。换言之,轨迹规划模块将来自行为(或策略或操纵)规划模块的高级决策转换成可执行的转向指令,并因此生成车辆的可行的轨迹。
46.第一模块和第二模块(即,行为(或策略或操纵)规划模块和轨迹规划模块)的相应职责可以变化。但是,从全局的观点来看,运动规划模块接收来自感知级的输入并输出转向指令以控制车辆,使得车辆遵循规划的轨迹。
47.在本实施方式中,训练服务器40具有训练行为(或策略或操纵)规划模块的功能。所述训练可由模仿学习算法或方法执行且使用存储在演示数据库20中的人类演示数据作为训练数据。
48.现在将参照图2和图3描述收集适于训练车辆的自主驾驶系统的训练数据的方法。
49.该方法包括提供存储多个预定道路场景的场景数据库10的步骤s0和向多个用户中的每一个用户提供用于在道路场景中对车辆代理进行控制的模拟游戏应用61的步骤s1,用户具有被配置为运行所安装的模拟游戏应用61的设备60。
50.在步骤s2中,用户设备60运行模拟游戏应用程序61。在步骤s3中,模拟游戏应用程序61将场景数据库10与用户设备60连接,以例如通过下载或流式传输来接收存储在场景数据库10中的预定道路场景。
51.呈现给用户设备60的道路场景可由用户或有利地由负责将道路场景分配给用户的分配服务器50从存储在数据库中的多个预定道路场景中选择。预定的道路场景从数据库
10到多个用户60的分配应当被完成,以便收集与大量用户设备播放的各种各样的道路场景相关的大量训练数据。例如,分配服务器50将场景数据库10的各个预定道路场景分配到等于或大于预定阈值的多个用户设备。
52.在步骤s4中,模拟游戏应用程序61在用户设备60上运行,并播放在显示设备62上显示的接收到的道路场景63,如图2所示。道路场景63定义了可由用户控制的代理630(车辆)、车道、具有给定位置、速度和加速度以及给定目标的一个或多个其他车辆632。在图2所示的示例性道路场景中,车辆代理630在具有四个车道的高速公路上行驶。其他车辆632在所述车道上行驶,并且目标是到达由从右开始的第二车道的顶部上的箭头指示的给定位置633。
53.在步骤s4中,用户通过输入在模拟中操作的转向动作来控制代理630(车辆)。用户界面可以允许用户输入预定的转向动作。例如,用户界面包括显示在显示设备62上的多个动作按钮,例如图2中的按钮631a到631c。例如,按钮631a至631c可以对应于以下转向动作:沿着车道行进、向右侧变更车道以及向左侧变更车道。用户界面还可具有滑块634以调节车辆的特性,通常是可由连续(真实)值定义的特性。例如,用户可以使用滑块634将当前速度设定点(即,期望速度)增加或减少在-5km/h至 5km/h之间选择的值。滑块634可用于设置车辆的任何其它控制信号或属性的值,例如加速度或车道偏离的值。向用户建议的预定转向动作可适应于所呈现的特定道路场景,并因此根据道路场景而变化。此外,这些预定动作可以对应于由要训练的规划模块(例如,行为规划模块)负责的高级决策。
54.用户的操纵动作可以通过用户界面的任何其它方式输入。这可以是语音命令或触觉命令。
55.当正在播放道路场景并且用户通过输入一个或多个转向动作来控制车辆代理630时,在步骤s5中,模拟游戏应用程序61生成所播放的道路场景的人类演示。为此,在连续的采样时间点,用户设备60保存模拟的当前信息。对于每个时间点,当前信息可以包括描述所述模拟的当前状态(车道数、车辆数、位置、速度、每个车辆的加速度等)的数据,并且如果适用,可以包括在模拟中操作的由用户输入的当前转向动作。可以按照预定频度创建和保存样本。例如,每秒创建十个样本。连续样本的序列形成所播放的道路场景的人类演示。
56.当车辆代理630已经到达目标633或已经错过所述目标时,由用户设备60播放的道路场景完成。完整的人类演示由用户设备60保存。
57.在步骤s6中,收集服务器30收集呈现给用户设备60的道路场景的(完整)人类演示且将其存储到演示数据库20中。
58.步骤s2至s6由多个用户针对多个不同的道路场景执行,以便收集多个预定道路场景的多个人类演示作为训练数据。有利地,场景数据库10中存储的所有预定的道路场景均呈现给不同用户(例如,至少呈现给最少数量的用户),以便针对所存储的道路场景中的每一个道路场景产生包含来自不同用户的足够量的人类演示(训练数据)的演示数据库。
59.本公开还涉及一种训练为自主驾驶车辆设计的运动规划模块的方法,该方法包括以下步骤:通过如先前参照图3所描述的收集训练数据来填充演示数据库;通过使用存储在演示数据库20中的人类演示来训练运动规划模块。
60.因此,演示数据库20可用于在训练步骤s7中训练为自主驾驶车辆设计的运动规划模块(例如,行为规划模块)的算法。更准确地说,可以用模仿学习方法并使用演示数据库20
来训练规划模块。
61.演示数据库20可用于训练运动规划模块的轨迹规划模块的算法,或像在用于驾驶车辆的模拟游戏或工具中使用的那些算法的其它算法。
62.在第一变形例中,模拟游戏应用程序包含匿名化功能,所述匿名化功能在将人类演示传输到演示数据库20之前使所述人类演示匿名化。然而,可以与人类演示一起收集附加的上下文数据,诸如标识例如用户的地理区域的地理信息。这允许学习能够在不同区域中工作的鲁棒驾驶策略。实际上,从来自不同世界区域的驾驶员收集数据。驾驶策略因此可以用多样化的数据集进行训练,并且因此将表现得更鲁棒。
63.在第二变形例中,模拟游戏应用包括奖励功能,该奖励功能可以根据用户在模拟道路场景时输入的转向动作来计算奖励信息。奖励信息可以是数值。如图2所示,可以在模拟期间将奖励信息显示在显示设备62上。这取决于用户动作的质量。奖励信息可以基于多个因素来确定,例如速度、舒适度、用户采取的动作的数量、对交通规则的遵守、对一般安全规则的遵守、一般交通流量平滑度。
64.可选地,模拟游戏应用程序61可以在显示设备62上显示描述模拟中车辆的当前状态(例如,位置、速度、加速度、抖动等)的各种数据(或度量),如图2所示。
65.可选地,分配服务器50和收集服务器30可以被融合。训练服务器40还可以与收集服务器30和/或分配服务器50融合。
66.可以在参考规划模块(例如,行为规划模块)上执行使用演示数据库的训练。然后,复制该参考规划模块以安装在车队中。换言之,参考规划模块被产生或配置为与参考规划模块一致。
67.本公开还涉及一种生产自主驾驶车辆的方法,该方法包括以下步骤:通过执行先前描述的训练方法来训练为自主驾驶车辆设计的参考规划模块;将规划模块配置成与所训练的参考规划模块一致;以及向自主驾驶车辆提供所配置的规划模块。
再多了解一些

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

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

相关文献