CN116134292A - 用于性能测试和/或训练自动驾驶车辆规划器的工具 - Google Patents
用于性能测试和/或训练自动驾驶车辆规划器的工具 Download PDFInfo
- Publication number
- CN116134292A CN116134292A CN202180057120.3A CN202180057120A CN116134292A CN 116134292 A CN116134292 A CN 116134292A CN 202180057120 A CN202180057120 A CN 202180057120A CN 116134292 A CN116134292 A CN 116134292A
- Authority
- CN
- China
- Prior art keywords
- autonomous
- planner
- scene
- trajectory
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims description 68
- 238000012360 testing method Methods 0.000 title description 74
- 238000013439 planning Methods 0.000 claims abstract description 207
- 238000000034 method Methods 0.000 claims abstract description 102
- 238000011156 evaluation Methods 0.000 claims abstract description 67
- 238000004088 simulation Methods 0.000 claims description 55
- 230000008859 change Effects 0.000 claims description 24
- 230000001133 acceleration Effects 0.000 claims description 23
- 230000003068 static effect Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 17
- 230000036461 convulsion Effects 0.000 claims description 15
- 230000003278 mimic effect Effects 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000000052 comparative effect Effects 0.000 claims 1
- 238000005457 optimization Methods 0.000 description 39
- 230000008447 perception Effects 0.000 description 33
- 230000006399 behavior Effects 0.000 description 28
- 238000013528 artificial neural network Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 14
- 230000001953 sensory effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 11
- 230000009466 transformation Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000036962 time dependent Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013440 design planning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000009474 immediate action Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/06—Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0013—Planning or execution of driving tasks specially adapted for occupant comfort
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/165—Anti-collision systems for passive traffic, e.g. including static obstacles, trees
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种评估自主机器人的目标规划器在真实或模拟场景中的性能的计算机实现的方法,该方法包括:接收用于评估目标规划器在场景中的性能的评估数据,评估数据通过在递增规划步骤处应用目标规划器来生成,以便计算响应于场景的变化的一系列自主规划,一系列自主规划在场景中实施,以引起自主状态的变化;评估数据包括:由目标规划器在规划步骤之一处计算的自主规划,以及在场景的时刻处的场景状态;其中,评估数据用于通过以下方式评估目标规划器:基于场景状态计算所述时刻的参考规划,场景状态包括在实施由目标规划器计算的一系列自主规划中的一个或更多个先前自主规划所引起的时刻处的自主状态,以及计算用于将自主规划与参考规划进行比较的至少一个评估得分。
Description
技术领域
本公开涉及用于测试自动驾驶车辆规划器的性能的工具和技术,以及用于实施该工具和技术的方法、***和计算机程序。本技术还可以应用在训练背景中,以便生成用于训练规划器的训练数据。
背景技术
在自动驾驶车辆领域中已经有了主要且快速的发展。自动驾驶车辆是配备有传感器和自动驾驶***的车辆,该传感器和自动驾驶***使车辆能够在没有人控制其行为的情况下操作。本文中,术语自动驾驶涵盖半自动驾驶和全自动驾驶行为。传感器使车辆能够感知其物理环境,并且可包括例如相机、雷达和激光雷达。自动驾驶车辆配备有适当编程的计算机,该计算机能够处理从这些传感器接收的数据,并且基于这些传感器已经感知的背景做出安全且可预测的决策。存在测试特定自动驾驶车辆或一类自动驾驶车辆上的传感器和自动驾驶***的行为的不同方面。AV测试可以在真实世界中或者基于模拟驾驶场景来进行。测试(真实的或模拟的)中的自主车辆可称为自主车辆。
工业中的一种测试方法依赖于―影子模式(shadow mode)”操作。这样的测试试图使用人类驾驶作为评估自动驾驶决策的基准。自动驾驶***(ADS)在从配备传感器但人类驱动的车辆捕获的输入上以影子模式运行。ADS处理人类驾驶车辆的传感器输入,并做出驾驶决策,好像它在理论上控制该车辆。然而,实际上并不实施那些自动驾驶决策,而是简单地记录这些自动驾驶决策的目的在于将它们与人类的实际驾驶行为进行比较。以此方式累积―影子里程(Shadow miles)”,其目的典型地是演示ADS可以比人类更安全或更有效地进行。
发明内容
现有的影子模式测试具有显著的缺点。影子模式测试可以标记一些场景,其中可用的测试数据指示ADS将与人类驾驶员不同地执行。然而,这种方法存在两个基本缺陷:首先,影子模式操作不提供ADS在其控制车辆的场景中实际如何执行的可靠指示;其次,在一定程度上,影子模式操作可以有意义地展示人类行为与自动驾驶行为之间的一些差异,对于那些差异的原因,影子模式提供了很少的洞察力。
在第一点上扩展,在需要ADS做出一些即时驾驶决策的给定规划步骤处,它将访问自主车辆自身状态的一些近似以及从车辆的车载传感器导出的车辆周围环境的各种观察结果。所有ADS可以做的是使用那些数据来决定它因此将采取的一些即时动作。然而,如果人类做一些不同的事情,则在下一个规划步骤中,ADS不从实施其自身的决策时其将达到的状态开始—它从由人类行为引起的(在所有可能性中)不同状态开始。换言之,当规划场景进行时,ADS不必解决其决策的任何后果,因为那些自动驾驶决策在影子模式下没有后果。这与ADS控制车辆的实际自动驾驶场景相反—在这种情况下,ADS将在任何给定的规划步骤处基于当前可用的观察结果来评估该情景,并且决定一些最佳动作过程,从而利用某些形式的预测逻辑来规划未来。但是,随着场景的发展和新观察结果变得可用,最佳动作过程可能在多个规划步骤的过程中显著偏离—不仅通过与早期预测(其永远不可能是完美的)的偏差,还通过ADS自己的驱动***(当它们被实施时)驱动。总之,现有影子模式***最多可提供对ADS在场景中的特定规划步骤处的瞬时推理的一些洞察,但不能洞察它如何在场景的持续时间内的实际执行。
另一方面,对于人类驾驶员,情况正好相反,对人类驾驶员行为的唯一洞察是人类驾驶员决定在一些驾驶场景过程中采取的实际、最终轨迹;但是对于那些决策的原因,或者对于专家人类驾驶员的思想的长期规划,没有结构化的洞察。例如,不可能有任何确定性地说场景期间的特定事件是否引起人类驾驶员改变其关于某些早期规划的想法;驾驶对其是―第二天性”的有经验的人类驾驶员可能甚至不能以定性地方式表达此类事件。
在上述第二点上扩展,人类驾驶员和ADS并非在世界的相同视角上操作。人类驾驶员用他们自己的感官从驾驶员座位观察世界,而ADS经由车辆的传感器观察世界。最好,这可能指示与特定ADS组合设置的特定AV传感器在相似情况下比人类更好。然而,这样的技术不能提供更有针对性的洞察。
本文中的第一方面提供了一种评估自主机器人的目标规划器在真实或模拟场景中的性能的计算机实现的方法,该方法包括:
接收用于评估目标规划器在场景中的性能的评估数据,评估数据通过在递增规划步骤处应用目标规划器来生成,以便计算响应于场景的变化的一系列自主规划,一系列自主规划在场景中实施,以引起自主状态的变化;
评估数据包括:由目标规划器在规划步骤中的一个处计算的自主规划,以及在场景的时刻处的场景状态;
其中,评估数据用于通过以下方式评估目标规划器:
基于场景状态计算所述时刻的参考规划,场景状态包括:在实施由目标规划器计算的一系列自主规划中的一个或更多个先前自主规划所引起的该时刻处的自主状态;以及
计算用于将自主规划与参考规划进行比较的至少一个评估得分。
该方法的一个应用是提供目标规划器与参考规划器之间的***比较。参考规划器提供用于评估目标规划器的能力的目标基准。重要的益处是进行同类比较的能力。两个规划器均产生可比较的规划,并且该参考规划器提供比人类行为更有意义的基准。另一个益处是在模拟场景上实施该方法的能力,这使得该方法更加可扩展(尽管不排除在真实世界中替换地或附加地实施目标规划器的可能性)。
在实施例中,自主规划可以采取瞬时自主轨迹的形式,在所述规划步骤处的瞬时自主轨迹可以在时间上比下一个规划步骤延伸得更远,并且可以在计算下一个规划步骤的瞬时自主轨迹之前(即,仅瞬时自主轨迹的初始部分可以被实施直到下一个规划步骤)仅在场景中部分地实施该瞬时自主轨迹直到下一个规划步骤。
在此背景下,为了做出关于下一个规划步骤要采取什么动作的决策,目标规划器比下一个规划步骤进一步地考虑未来。瞬时自主轨迹是―内部状态”的形式,该“内部状态”提供对目标规划器在特定时间点(高于和超过该场景的过程中所采取的实际轨迹)处的推理的洞察。
参考规划可以采取瞬时参考轨迹的形式,该至少一个评估得分用于将瞬时自主轨迹与瞬时参考轨迹进行比较。
此类实施例解决了自动驾驶车辆规划器(目标规划器)的性能测试,其考虑到未来,以便例如在存在静态和/或动态障碍物的情况下有效地规划自主机器人的轨迹(自主轨迹)。即,通过一系列递增规划步骤,规划器在每个规划步骤处规划―瞬时”自主轨迹,该―瞬时”自主轨迹比下一个规划步骤更远地延伸到未来。这意味着不可能完全实现任何给定的瞬时自主轨迹,因为场景将很可能已经以不完全匹配规划器的早期期望的方式演进。在这个意义上,瞬时自主轨迹是规划器的―内部状态”的形式。在场景的过程中,不同规划场景下的瞬时轨迹提供了对自主机器人的行为(无论是在真实世界还是在模拟中)的原因的有价值的洞察。
与现有的影子模式***不同,自主机器人(真实的或模拟的)实际上是在正被测试的目标规划器的控制下。即,规划决策实际上经由真实世界机器人的致动器***,或者在模拟中(可能使用机器人动态建模以用于附加的真实性)被实现为自主机器人的状态(自主状态)的变化。出于先前段落中解释的原因,不可能以以下方式完全实现任何给定的瞬时轨迹:在到达下一个规划并且目标规划器根据新自主状态重新规划(例如,考虑场景的任何变化,即在中期已经变得可用的任何新障碍物数据)之前,仅瞬时轨迹的初始部分将实际实现为自主状态的变化。
目标规划器的性能不是相对于人类驾驶员、而是相对于以可比较的方式规划瞬时―参考”轨迹的参考规划器来评估的。参考规划器可在任何给定规划步骤处应用,并且重要地,根据与目标规划器相同的自主状态、关于障碍物的相同水平的信息、以及实现相同目标的目标来应用。这进而促进来自目标规划器与瞬时参考规划器的瞬时自主轨迹之间的有意义的比较—以不仅对两个规划器做出的决策的差异、而且对那些差异的原因提供更加严格、定量的洞察的方式来同类比较。
不是由瞬时自主轨迹中任何单独的一个,而是经由在增量规划步骤处对瞬时自主轨迹的重复规划,来确定在该场景的持续时间上采取的自主机器人(其可以是真实的或模拟的)的实际轨迹。因为目标规划器比下一个规划步骤进一步地规划未来,所以通常,没有瞬时自主轨迹全部完全实现—场景的变化(具体地,可用障碍物数据的变化)使得瞬时自主轨迹在不同的规划步骤中可能彼此偏离。
规划步骤可以发生在该场景的时刻(即,场景状态可以是上述规划步骤的时间处的场景状态),并且可以基于该时刻处的场景状态来计算自主规划和参考规划两者。
在规划是瞬时轨迹的情况下,瞬时自主轨迹和瞬时参考轨迹两者都可以延伸超过下一个规划步骤。
可替代地,所述时刻可以晚于所述规划步骤,从而使得参考规划考虑自从该规划步骤在场景状态中实施以来的场景变化。
本技术还可以应用于训练,其中目的是使规划器学习以经由模仿学习来模仿参考规划器。在该背景中,该技术可应用于生成例如可在数据集聚合(DAgger)训练中使用的高级训练数据。在此背景中,参考规划器充当可用于利用目标规划器实际遇到的问题(场景状态)来扩充训练集的可查询专家。在该模仿学习背景中,重要的是根据来自目标规划器的自主规划行进场景。
在存在障碍物的情况下,通常,规划器将基于某种水平的预测的障碍物行为推理最佳或可接受的轨迹。在更―模块化”的自动驾驶架构中,预测的障碍物轨迹可以由不同的预测***提供。
在其他架构中,规划和预测可以更紧密地整合。极端是端对端驾驶模型,其中整个AV堆栈实施为端对端可训练函数近似器,端对端可训练函数近似器接收原始传感器输入且根据原始传感器输入计算轨迹。
总体上,术语规划器适应任何水平的模块化或集成—在本方面的背景中,规划器是可以规划瞬时轨迹(即,比下一个规划步骤进一步延伸到未来中的轨迹,预期不会完全实现这种瞬时轨迹)的任何组件或***;或者,换言之,任何组件或***通过比下一个规划步骤进一步推理未来而自动驾驶决定在当前规划步骤与下一个规划步骤之间采取什么动作。
在以上规划步骤发生在以上时刻的情况下,所述规划步骤的该时刻处的场景状态可以包括由目标规划器用来计算自主规划的当前观察结果集,或者所述规划步骤的该时刻处的场景状态可以从由目标规划器用来计算自主规划的当前观察结果集导出,参考规划器可以使用相同的观察结果集来计算参考规划。
也就是说,场景状态可以包括(观察的和/或预测的)可用的障碍物数据集。
可用障碍物数据集构成目标规划器和参考规划器两者共同的共享输入。这些是两个规划器的决策/推理过程所基于的输入,并且它们可根据背景采取不同形式。例如,利用将规划与预测分开的模块化架构,目标规划器和参考规划器通常都优选(但不是必须)基于预测的障碍物轨迹的共同集合(在这种情况下,其形成规划器之间共享的可用障碍物数据的集合的一部分)、通过基本上冻结规划器之间的预测―维度”(即将该预测―维度”作为自由度移除)进行规划,与预测中的差异相反,将目标轨迹和参考轨迹之间的差异归因于规划器内进行的高级决策变得更容易。利用集成预测的规划器,共享的输入在极端情况下仅可以是―低级”输入,诸如(真实的或模拟的)感知输出或者甚至(真实的或模拟的)原始传感器数据,其中每个规划器依赖于其自身的预测逻辑形式—参考轨迹在这种情况下仍提供有用的基线。
例如,观察结果可以是经受真实或建模的观察误差的噪声观察结果,并且在这种情况下,目标规划器和参考规划器两者都经受相同的观察误差。替代地,可以模拟场景,并且观察结果可以是在没有任何观察误差的情况下的模拟观察结果,使得目标和参考规划器都不经受观察误差。
场景状态可包括当前观察结果集和/或从当前观察结果集导出的一个或更多个当前障碍物预测,在这种情况下,目标规划器和参考规划器可分别使用相同的观察结果和/或相同的障碍物预测来计算自主规划和参考规划。
如上所述,可以通过将目标规划器应用于真实或模拟场景来捕获评估数据。因此,参考规划器还应用于的可用障碍物数据可以是真实的或模拟的。
在模拟中实施该方法的能力去除或减少了对实际驾驶测试英里的需要。一种估计是:为了就安全性而言与人类驾驶员相匹配,ADS应当能够做出和实施误差率不大于107分之1的决策。在此水平下,仅基于实际驾驶测试英里验证性能将需要此值的许多倍。通过至少部分地在模拟中实施的测试体制提供有意义的基准测试的能力是显著有益的。
前述规划步骤可以发生在前述场景的时刻(即,场景状态可以是上述规划步骤的时间处的场景状态),并且可以基于该时刻处的场景状态来计算自主规划和参考规划两者。换言之,可在与目标规划器相同的场景的时刻处应用参考规划器。
在规划是瞬时轨迹的情况下,瞬时自主轨迹和瞬时参考轨迹两者都可以延伸超过下一个规划步骤。
可替代地,所述时刻可以晚于所述规划步骤,从而使得参考规划考虑自从该规划步骤在场景状态中实施以来的场景变化。
存在参考规划优于来自目标规划器的自主规划的各种情况。这种差异可以是用于以有意义的方式评估目标规划器的性能的有用方式。
例如,目标规划器可被约束为实时操作,参考规划可不被实时计算。
可替代地或附加地,与授予目标规划器用于计算自主规划的计算资源和/或存储器资源相比,分配更多的计算资源和/或存储器资源来计算参考规划。
如所指出的,可以通过将参考规划器应用于所述时刻处的场景状态来计算参考规划。然而,可替代地,所述时刻可能晚于所述规划步骤,使得参考规划考虑自从规划步骤在场景状态中实施以来的场景的变化。
通过将参考规划器应用于所述时刻处的场景状态来计算参考规划。
例如,如在以下描述的实施例中,参考规划器可以是基于约束优化的规划器。
可替换地,可使用目标规划器来计算参考规划,但是:
具有比用于计算自主规划的更大的计算或存储器资源分配,
在实时计算自主规划的情况下,不被约束于实时操作,
所述时刻晚于所述规划步骤,和/或
在自主规划受到建模的感知误差的影响的情况下,没有建模的感知误差。
评估数据可包括在递增规划步骤中的多个规划步骤处计算的瞬时自主规划,以及各自与多个规划步骤中的一个相关联的多个场景状态。可以基于该规划步骤处的相关联的场景状态,为多个规划步骤中的每一个计算参考规划,并且可以为多个规划步骤中的每一个计算至少一个评估得分,用于比较该规划步骤的自主规划和参考规划。
针对多个规划步骤中的每一个,相关联的场景状态可以是在该规划步骤处的场景状态,或在该规划步骤之后的设定时间量的场景状态。
该至少一个评估得分可以包括:针对目标规划计算的单独评估得分和针对参考规划计算的单独评估得分;关于共同度量计算该单独评估得分。
即,可以针对自主规划和参考规划计算不同的单独的度量,但是相对于相同的度量,它们是可比较的。
进一步或可替代地,该至少一个评估得分可以包括比较得分,该比较得分相对于比较度量量化该目标规划与参考规划之间的差异。
共同度量或比较度量可以量化与定义的目标相关的安全性、舒适性或行进。
可以用实现定义的目标的共同目标来计算目标规划和参考规划。
例如,该目标可以被定义为待到达的静态或移动的目标位置。
评估得分可以是用于量化自主规划与参考规划之间的差异的数值评估得分。
场景可以是真实的或模拟的驾驶场景,在这种情况下,自主状态是自主车辆状态。
评估得分可以关于度量来计算,该度量对自主规划与参考规划之间的预定驾驶规则的不同符合水平进行量化。
多个评估度量可以用于计算多个评估得分,每个评估度量对不同的预定驾驶规则进行编码。
该方法可以包括在用户界面上输出评估得分的步骤。
评估得分可以与场景的视觉表示、以及自主规划和参考规划的视觉表示一起输出。
该至少一个评估得分可以用于比较:
自主轨迹和参考轨迹朝向定义的目标的行进,
自主轨迹和参考轨迹与参考路径的偏差,
沿着自主轨迹和参考轨迹的加速度,
沿着自主轨迹和参考轨迹的加加速度,即,加速度的变化率。
可以分别针对自主轨迹和参考轨迹计算不同的评估得分,用于进行所述比较。
本技术还可以应用于训练,其中目的是使规划器学习以经由模仿学习来模仿参考规划器。在该背景中,该技术可应用于生成例如可在数据集聚合(DAgger)训练中使用的高级训练数据。在此背景中,参考规划器充当可用于利用目标规划器实际遇到的问题(场景状态)来扩充训练集的可查询专家。在该模仿学习背景中,重要的是根据来自目标规划器的自主规划行进场景。
目标规划器可包括一个或更多个可训练模式,评估数据可提供用于训练目标规划器以模仿参考规划器的一个或更多个训练示例。评估得分可以是成本函数(或目标/误差函数)的分量,该成本函数测量由目标规划器计算的自主规划与由参考规划器计算的参考规划之间的偏差,以最小化那些偏差的目标执行训练。
目标规划器可能已经在早期训练示例上被预先训练,由评估数据提供的训练示例是用于重新训练目标规划器的新训练示例。
本文中的另一方面提供了一种训练目标规划器以模仿自主机器人的专家规划器的计算机实现的方法,该方法包括:
在递增规划步骤处将目标规划器应用于模拟场景中,以便计算响应于对场景的变化的一系列自主规划,该一系列自主规划在场景中实施,以引起自主状态的变化;
通过在规划步骤处将专家规划器应用于场景状态来计算规划步骤中的至少一个的专家规划,以及
使用场景状态和专家规划作为训练示例,训练目标规划器的一个或更多个模型以模仿专家规划器,训练以最小化由应用于场景状态时的目标规划器计算的自主规划和由应用于场景状态时的专家规划器计算的专家规划之间的偏差为目标而执行,场景状态包括:在实施由目标规划器计算的一系列自主规划中的一个或更多个先前自主规划所引起的规划步骤处的自主状态。
在实施例中,自主规划可采取由目标规划器计算的瞬时自主轨迹的形式,其中,在至少一个规划步骤处计算的瞬时自主轨迹在时间上比下一个规划步骤延伸得更远,其中,专家规划也可采取在时间上比下一个规划步骤延伸得更远的瞬时专家轨迹的形式。
专家规划器可以是基于约束优化的规划器。
在训练方面的背景中,与参考规划器有关的所有以上描述同样适用于专家规划器。
在以上方面和实施例中,参考规划器可以被称为以影子模式的形式来实施,因为它不在场景中做出决策—相反(部分地)已经通过目标规划器的决策确定了其被应用到的场景状态。
本文中的进一步的方面允许相似结构的比较,但是与―在环测试(in-the-loop)”实施的参考规划器进行比较,在模拟场景的第二实例中做出其自身决策。
本文中的另一方面提供了一种评估自主机器人的目标规划器在模拟场景中的性能的计算机实现的方法,该方法包括:
接收用于评估目标规划器的性能的评估数据,评估数据通过在第一递增规划步骤处,在场景的第一实例中根据初始场景状态应用目标规划器来生成,以便计算响应于场景的第一实例中的变化的一系列自主规划,在场景的第一实例中实施第一系列自主规划,以引起第一自主状态的变化,其中,实际自主轨迹由第一自主状态在场景的第一实例的持续时间内的变化来定义;
评估数据包括初始场景状态和实际自主轨迹;
其中,评估数据用于通过以下方式评估目标规划器:
在第二递增规划步骤处,在场景的第二实例中根据相同的初始场景状态应用目标规划器,以便计算响应于场景的第二实例的变化的一系列参考规划,该一系列参考规划在场景的第二实例中实施,以引起第二自主状态的变化,其中,实际参考轨迹由第二自主状态在场景的第二实例的持续时间内的变化定义;以及
计算用于将实际自主轨迹与实际参考轨迹进行比较的至少一个评估得分。
自主规划可以采取瞬时自主轨迹的形式,其中,该第一系列规划步骤中的至少一个规划步骤的瞬时自主轨迹可以在时间上比下一个规划步骤延伸得更远,以及在规划下一个规划步骤的瞬时自主轨迹之前,可以仅在场景的第一实例中部分地实施第一系列规划步骤中的至少一个规划步骤的瞬时自主轨迹直到所述下一个规划步骤,实际自主轨迹不是由瞬时自身轨迹中任何单独的一个定义的,而是由第一自主状态在场景的持续时间内的变化定义的。参考规划可采用瞬时参考轨迹的形式,其中,第二系列规划步骤中的至少一个规划步骤的瞬时参考轨迹在时间上可比下一个规划步骤延伸得更远,以及在计算下一个规划步骤的瞬时参考轨迹之前,可仅部分地实施第二系列规划步骤中的至少一个规划步骤的瞬时参考轨迹直到下一个规划步骤,实际参考轨迹不是由瞬时参考轨迹中任何单独的一个定义的,而是由第二自主状态在场景的持续时间内的变化定义的。
该方法可以包括以下步骤:在用户界面处接收起始状态的指示,并且响应于该指示至少发起该场景的第二实例。
可以用与先前描述的方面/实施例中的规划/瞬时轨迹完全相同的方式对实际轨迹进行评分/比较。所有以上描述都适用。
本文中的另一方面提供了一种评估自主机器人的目标规划器在具有一个或更多个障碍物的真实或模拟场景中的性能的计算机实现的方法,该方法包括:
接收用于评估目标规划器在场景中的性能的评估数据,评估数据通过在场景的递增规划步骤处应用目标规划器来生成;
其中,在每个规划步骤处,目标规划器基于当前自主状态和当前可用障碍物数据集,以实现定义的目标为目标规划瞬时自主轨迹;
其中,在连续规划步骤之间更新可用障碍物数据集,并且在那些规划步骤中的早期规划步骤处规划的瞬时自主轨迹在时间上比那些规划步骤中的晚期规划步骤延伸得更远,以使得在基于改变的自主状态和更新的可用障碍物数据集来规划晚期瞬时自主轨迹之前,仅将早期瞬时自主轨迹的初始部分基本上实现为自主状态的变化;
评估数据包括:规划步骤中的至少一个的瞬时自主轨迹、以及瞬时自主轨迹所基于的规划步骤的自主状态和可用障碍物数据集,该方法还包括:
应用参考规划器,以便基于相同的自主状态和相同的可用障碍物数据集,以实现相同目标为目标来规划那个规划步骤的对应瞬时参考轨迹;以及
计算至少一个轨迹评估得分,用于将瞬时自主轨迹与对应的瞬时参考轨迹进行比较。
附图说明
现在将参考以下附图仅通过示例来描述本发明的示例实施例,在附图中:
图1示出了示例自动驾驶车辆(AV)运行时堆栈;
图1A示出了具有空间和运动分量的规划轨迹的示例;
图2示出了用于运行模拟场景和评估在模拟场景中规划的轨迹的计算机***的示意性框图;
图2A示出了使用感知误差模型的模拟器的实施方式;
图3示出了在环测试(in-the-loop)中操作的目标规划器的示意性框图;
图3A是在影子模式下操作的参考规划器的示意性框图;
图3B示出了针对在影子模式下操作的参考规划器可如何对轨迹进行评分;
图4示出了在环测试中操作的参考规划器的示意性框图;
图5示意性地示出了由参考规划器在影子模式下、在不同时刻所规划的瞬时参考轨迹;
图6A和图6B示意性地描绘了示例驾驶场景;
图7示出了在时间间隔上分配给瞬时自主轨迹和参考轨迹的基于度量的得分的时间曲线图;
图8示意性地示出了实际轨迹是如何由在环测试中操作的目标规划器和参考规划器两者产生的;
图9示出了用于比较不同轨迹的基于度量的得分的用户界面的示例;
图10示出了参考规划器以及被训练为通过模仿学习来模仿参考规划器的神经网络;
图11示出了模仿学习训练方案的示意性框图;
图12示出了可训练以模仿参考规划器的示例网络架构;
图13A示出了往返于基于参考路径的参考系的数学变换;以及
图13B几何地描绘了从全局参考系到基于参考路径的参考系的表示。
具体实施方式
示例AV堆栈
图1示出了用于自动驾驶车辆(autonomous vehicle,AV)(在本文也称为自主车辆(ego vehicle,EV))的运行时堆栈100的高度示意性框图。运行时堆栈100被示为包括感知***102、预测***104、规划器106和控制器108。
在真实世界背景下,感知***102将从AV的车载传感器***110接收传感器输入,并使用那些传感器输入来检测外部主体并测量它们的物理状态,如它们的位置、速度、加速度等。车载传感器***110可以采取不同的形式,但是通常包括多种传感器(诸如图像捕获设备(相机/光学传感器)、激光雷达和/或雷达单元、卫星定位传感器(GPS等)、运动传感器(加速度计、陀螺仪等)等),这些传感器共同地提供丰富的传感器数据,可以从这些传感器数据中提取关于周围环境和AV以及该环境内的任何外部参与者(车辆、行人、骑车者等)的状态的详细信息。传感器输入通常包括多个传感器模态的传感器数据,诸如来自一个或更多个立体光学传感器、激光雷达、雷达等的立体图像。
感知***102包括多个感知组件,这些感知组件协作以解释传感器输入并由此向预测***104提供感知输出。外部主体可以以反映其在感知***102内的感知中的不确定性的水平的方式被概率地检测和表示。
来自感知***102的感知输出由预测***104用来预测外部参与者(主体)(诸如AV附近的其他车辆)的未来行为。其他主体是来自EV感知的动态障碍物。预测***104的输出可以例如采取预测障碍物轨迹集的形式。
将由预测***104计算的预测提供给规划器106,规划器106使用该预测来做出将由AV在给定驾驶场景中执行的自动驾驶决策。场景被表示为由规划器106使用的场景描述参数集。典型的场景将定义可驾驶区域并且还将捕捉可驾驶区域内的任何静态障碍物以及任何外部主体的预测移动。
规划器106的核心功能是考虑任何静态和/或动态障碍物(包括后者的任何预测运动)的AV轨迹(自主轨迹)的规划。这可以被称为轨迹规划。规划轨迹以便在场景内执行期望的目标。目标例如可以是进入环岛并且在期望的出口处离开环岛;超过前面的车辆;或者以目标速度停留在当前车道中(车道追踪)。目标可例如由自动驾驶路线规划器(未示出)确定。在以下示例中,目标由固定或移动的目标位置定义,并且规划器106规划从EV的当前状态(自主状态)到目标位置的轨迹。例如,这可以是与特定交叉口或环岛出口相关联的固定目标位置,或者在超车情况下保持在前面车辆前方的移动目标位置。本文中的轨迹具有空间分量和运动分量两者,不仅定义针对自主车辆规划的空间路径,还定义沿该路径的规划运动轮廓。
规划器106被要求在存在任何静态或动态障碍物(诸如其他车辆、自行车、行人、动物等)的情况下安全导航。
图1A示意性地示出了规划器106在示例场景中的操作。应当理解,图1A是高度示意性的,其中,为了说明的目的,某些方面突出,意味着所描绘的情景不一定对应于真实的驾驶场景。
规划器106将典型地应用在场景的过程中的一系列规划步骤中。在每个规划步骤中,规划器106可从感知和预测***102、104获得关于车辆周围环境的一定水平的信息。这尤其包括关于车辆附近的任何障碍物的预测行为的信息。在每个规划步骤中,规划器106根据当前自主状态规划自主车辆的―瞬时”轨迹(自主轨迹),其目标是实现某个定义的目标,例如,到达(当前)目标位置。该轨迹是瞬时的,在某种意义上,该轨迹是规划器在给定规划步骤、给定规划器在该瞬间可从感知和预测获得的信息水平时考虑基本上最佳(或者,至少可行)的自主车辆的轨迹。然而,典型的规划器106将比下一规划步骤在时间上进一步提前规划,因为进一步推理未来将通常改善规划器决策的质量。在该规划步骤处可用的信息是―快照”,该快照考虑了直到那个点的观察结果以及关于根据那些观察结果场景将如何发展的预测***的“最佳猜测”。所以,在所有可能性中,在任何给定规划步骤中将实际仅实现瞬时自主轨迹的初始部分,尤其是因为它所基于的预测在实践中将永远不会完美。一旦已经规划了瞬时自主轨迹,自主车辆通常将遵循该轨迹直到下一规划步骤,此时,考虑到感知和预测***104、106的输出的任何相关变化,将重复该过程以根据新自主状态重新规划自主轨迹。到那时,可能是自最后规划步骤以来的观察结果已经实质上改变了来自预测***106的预测,潜在地导致规划器106的输出的实质变化。
图1A示出了分别具有时间指数t和t+1的示例场景的两个连续规划步骤。在时间t处,自主车辆被示为处于当前自主状态120。直到时间t,外部主体已经被感知为感知主体状态的时间序列122A。预测***106使用那些观察结果122A从时间t预测主体的未来轨迹124A,规划器106又使用该未来轨迹124A规划从当前自主状态120到某个定义的目标位置130的自主轨迹128A。图1A中的轨迹被表示为均匀时间间隔处的状态序列(黑色圆),使得相对较近的状态间隔表示沿着所讨论的轨迹的相对较低的速度。根据主体在时间t+1处的预测轨迹124A,主体将妨碍自主车辆朝向目标位置130行进。为了确保自主车辆的安全操作,规划器通过沿规划轨迹128A降低自主车辆的速度来做出响应以允许主体通过。然而,预测那些事件将在t+1处的下一个规划步骤之后的某个时间发生。
到时间t+1处的下一个规划步骤,主体的新观察状态122B已经变得可用,并且这与在先前规划步骤处的预测显著偏离。这又导致主体的预测轨迹124B非常不同,使得主体不再被预测妨碍自主车辆朝向目标位置130(在此实例中是固定的)行进。自时间t处的最后规划步骤起,自主车辆自身已经(从时间t到时间t+1)行驶了最新规划的自主轨迹128A的初始部分,因此现在沿着在时间t处规划的轨迹128A部分地至少近似地到达新状态126。现在,在时间t+1处,呈现非常不同的预测主体轨迹124B,规划器106在时间t+1处,根据在时间t+1处的新自主状态126规划新轨迹128B,该新轨迹128B朝向目标位置130行进更快。
在以上意义上规划轨迹128A、128B是瞬时轨迹,表示在给定分别在时刻t和t+1处对规划器可用的信息水平的情况下的规划器的当前最佳规划。
返回图1,在堆栈100内,控制器108实施由规划器106做出的决策。控制器108通过向AV的车载参与者***112提供合适的控制信号来完成。在任何给定规划步骤(已经规划了瞬时自主轨迹)处,规划器106将向控制器108提供规划轨迹的足够数据,以允许控制器108实施该规划轨迹的初始部分,直到下一个规划步骤。例如,规划器106可将瞬时自主轨迹规划为在递增未来时刻时的一系列离散自主状态,但实际上仅将规划自主状态中的第一个(或前几个规划自主状态)提供给控制器108以便实施。
在物理AV中,参与者***112包括发动机、制动器等,其可被控制以影响车辆的移动和真实世界自主状态中的其他物理变化。
来自控制器108的控制信号通常是参与者***112的可以频繁更新的低级指令。例如,控制信号可以指定速度、加速度、加加速度(jerk)等的变化和/或转向角的变化。
模拟测试-概述
本文的实施例在基于模拟的测试中具有有用的应用。参考堆栈100作为示例,为了通过模拟来测试堆栈100的全部或部分的性能,堆栈被暴露于模拟的驾驶场景。下面的示例考虑单独测试规划器106,但也结合堆栈100的一个或更多个其他子***或组件。
在模拟驾驶场景中,自主主体基于随着其行进从模拟场景导出的模拟输入来实施由规划器106做出的决策。通常,在存在真实车辆需要安全交互的种类的一个或更多个模拟障碍物的情况下,自主主体需要在静态可驾驶区域(例如,特定的静态道路布局)内导航。动态障碍物(例如其他车辆、行人、骑车者、动物等)可以在模拟中被表示为动态主体。
以与对应的物理输入完全相同的方式处理模拟输入,最终形成规划器在模拟场景的过程中做出的自动驾驶决策的基础。反过来,使自主主体进行这些决策,从而模拟物理自动驾驶车辆在那些情况下的行为。在模拟中,这些决策最终实现为模拟自主状态的改变。在规划器106和模拟器之间存在这种双向交互,其中,由规划器106做出的决策影响模拟,模拟的变化影响随后的规划决策。可以关于安全和/或其他性能标准记录并分析结果。
本文中的―切片”意指测试中的堆栈(子堆栈)的组件的堆栈或子集。将堆栈作为―切片”用于测试的方式指示需要提供给切片(堆栈/子堆栈)的模拟感知输入的形式。
参考堆栈100作为示例,如果全堆栈(包括整个感知***102)待测试,那么模拟输入将采取模拟传感器输入的形式提供到感知***120的最低级组件。感知***102然后将如同它真实的传感器数据那样解释模拟传感器输入,以便提供感知输出(在通过模拟传感器数据的解释导出的意义上模拟感知输出)。这可以称为―全”模拟,并且通常涉及生成足够真实的模拟传感器输入(诸如逼真的图像数据和/或同样真实的模拟激光雷达/雷达数据等),该模拟传感器输入反过来可以馈送至感知***102并且以与真实传感器数据完全相同的方式被处理。感知***产生的输出又将馈送较高级预测和规划***,从而测试那些组件对模拟传感器输入的响应。
可替代地,在本文中可以称为―无头(headless)”模拟中,绕过感知***102的一些或全部,直接根据模拟计算模拟感知输出。在真实世界背景中,等效感知输出将由解释来自传感器的较低级传感器输入的感知***102的一个或更多个感知组件导出。在无头模拟中,不应用那些感知组件—相反,直接根据模拟的地面实况计算那些感知组件的感知输出,而不必模拟对那些感知组件的输入。例如,对于边界框检测器,不是生成模拟传感器数据并将边界框检测器应用于模拟传感器数据,而是直接根据模拟计算模拟边界框检测输出。
作为一般规则,将堆栈―向下”切片,所需的模拟感知输入越复杂(范围从一个极端处的全传感器建模到另一个极端处的简单模拟融合位置/取向测量等,其可使用如光线追踪的高效技术直接导出)。
在那两个极端之间,存在许多不同水平的输入切片的范围,例如,仅测试感知***的子集,诸如―晚期”感知组件,即,对来自较低级感知组件(诸如,对象检测器、边界框检测器、运动检测器等)的输出进行操作的组件(诸如滤波器或融合组件)。
转向堆栈100的输出,存在可以在测试中实施规划器106的决策的不同方式。在―规划级”模拟中,可以假设自主主体从当前规划步骤到下一个规划步骤精确地遵循最新规划轨迹的部分。这是在模拟期间不需要控制器108的任何实施方式的更简单形式的模拟。更复杂的模拟认识到,实际上,任何数量的物理条件(例如,由于车轮滑移、参与者***的延迟响应或不完美响应、或车辆自身状态112的测量的不准确性等)可能导致真实的自主车辆略微偏离规划轨迹。可以通过对自主车辆动力学的适当建模来适应这些因素。在那种情况下,控制器108被应用于模拟中,就像其在真实生活中一样,并且使用合适的自主动态模型(代替参与者***112)将控制信号转换成自主状态的变化,以便更真实地模拟自主车辆对控制信号的响应。在这种情况下,与真实生活中一样,从当前规划步骤到下一个规划步骤的规划轨迹的部分可以仅大致实现为自主状态的改变。
示例测试管线
图2示出了测试管线200的示意性框图。测试管线是高度灵活的并且可以适应许多形式的AV堆栈,在任何自动驾驶等级下操作。如所指示的,术语自动驾驶在本文涵盖从等级1(驾驶员辅助)到等级5(完全自动驾驶)的任何等级的完全或部分自动驾驶。
测试管线200被示出为包括模拟器202和测试Oracle(预言)252。模拟器202出于测试AV运行时间堆栈的全部或部分的目的而运行模拟。
仅作为示例,测试管线200的描述参见图1的运行时堆栈100以便通过示例示出一些基本原理。如所讨论的,可能仅测试运行时堆栈的子堆栈,但为了简单起见,以下描述始终涉及AV堆栈100;注意,实际测试的内容可以仅是图1的AV堆栈100的子集,这取决于AV堆栈100如何被切片以用于测试。在图2中,取决于背景,参考标号100因此可表示全AV堆栈或仅表示子堆栈。
图2示出了被测试的AV堆栈100内的预测***、规划***和控制***104、106和108,其中模拟感知输入203从模拟器202馈送至堆栈100。然而,这不一定意味着预测***104直接操作那些模拟感知输入203(尽管这是一个可行的切片,在这种情况下,模拟感知输入203将在形式上对应于感知***102的最终输出)。例如,在图2A中描绘的和下面详细描述的示例中,AV堆栈100被切片,使得(仅)晚期感知组件102B的子集与预测组件、规划组件和控制组件104、106和108一起被包括在测试的子堆栈100S中(在这种情况下,模拟感知输入203将对应于在测试期间未与堆栈100一起实施的剩余的早期感知组件的输出)。在被测试的堆栈中实施全感知***102的情况下(或至少包括对原始传感器数据进行操作的一个或更多个较低级感知组件的情况下),模拟感知输入203将包括模拟传感器数据。
模拟感知输入203用作预测的基础,并最终由规划器108做出决策。控制器108又通过输出控制信号109实施规划器的决策。在真实世界背景中,这些控制信号将驱动AV的物理参与者***112。在测试中生成的控制信号的格式和内容与它们在真实世界背景下的相同。然而,在测试管线200内,这些控制信号109反而驱动自主动态模型204,以模拟模拟器202内的自主主体的运动。
就外部主体在模拟器202内展现自动驾驶行为/决策制定而言,实施某种形式的主体决策逻辑210以执行那些决策并且相应地驱动模拟器202内的外部主体动态。主体决策逻辑210在复杂性上可与自主堆栈100自身相当,或主体决策逻辑210可具有更有限的决策制定能力。目的是在模拟器202内提供足够真实的外部主体行为,以便能够有效地测试自主堆栈100的决策制定能力。在一些情况中,这根本不需要任何主体决策制定逻辑210(开环模拟),并且在其他情况中,可以使用相对有限的主体逻辑210(诸如基本自适应巡航控制(ACC))提供有用的测试。与自主堆栈100类似,任何主体决策逻辑210由来自模拟器202的输出驱动,主体决策逻辑210继而用于导出对主体动态模型206的输入,作为主体行为模拟的基础。
根据具有静态层201a和动态层201b两者的场景描述201运行驾驶场景的模拟。
静态层201a定义场景的静态元素,该静态元素将典型地包括静态道路布局。
动态层201b定义关于场景内的外部主体(如其他车辆、行人、自行车等)的动态信息。所提供的动态信息的范围可以改变。例如,对于每个外部主体,动态层201b可以包括主体要遵循的空间路径以及与该路径相关联的运动数据和行为数据之一或两者。
在简单的开环模拟中,外部参与者简单地遵循在非反应性(即,在模拟内不对自主主体作出反应)的动态层中定义的空间路径和运动数据。这样的开环模拟可以在没有任何主体决策逻辑210的情况下实施。
然而,在―闭环”模拟中,动态层201b反而定义了沿着静态路径待遵循的至少一个行为(如ACC行为)。在这种情况下,主体决策逻辑210以反应性方式(即,对自主主体和/或其他外部主体作出反应)在模拟内实施该行为。运动数据仍可与静态路径相关联,但在此情况下是较不规范的,且可例如用作沿着路径的目标。例如,对于ACC行为,可沿着主体将寻求匹配的路径设置目标速度,但是可允许主体决策逻辑110在沿着路径的任何点处将外部主体的速度降低到目标以下,以便维持距前面车辆的目标车距。
对于给定的模拟,模拟器202的输出包括自主主体的自主迹线212a以及一个或更多个外部主体的一个或更多个主体迹线212b(迹线212)。
迹线是具有空间分量和运动分量两者的模拟内的主体行为的完整历史。例如,迹线可以采取空间路径的形式,该空间路径具有与沿该路径的点相关联的运动数据,诸如速度、加速度、加加速度(加速度的变化率)、急动度(snap)(加加速度的变化率)等。
还提供附加信息以补充并提供背景至迹线212。这种附加信息被称为―环境”数据214,该环境数据214可以具有静态分量(诸如道路布局)和动态分量(诸如在模拟过程中天气条件变化的程度)两者。
在某种程度上,环境数据214可以是―通过”,因为它由场景描述201直接定义并且不受模拟的结果影响。例如,环境数据214可包括直接来自场景描述201的静态道路布局。然而,通常,环境数据214将包括在模拟器202内导出的至少一些元件。这可以例如包括模拟天气数据,其中模拟器202随着模拟进行自由地改变天气条件。在该情况下,天气数据可以是时间相关的,并且该时间相关将被反映在环境数据214中。
测试Oracle 252接收迹线212和环境数据214,并且针对预定义数值性能度量254对这些输出进行评分。性能度量254对在本文被称为―数字公路代码”(Digital HighwayCode,DHC)或数字驾驶规则的事物进行编码。合适的性能度量的一些示例在下面给出。
该评分是基于时间的:对于每个性能度量,测试Oracle 252随着模拟行进跟踪该度量的值(得分)如何随时间变化。测试Oracle 252提供包括用于每个性能度量的得分-时间曲线的输出256。
度量254向专家提供有用信息,并且这些得分可以用于识别并减轻测试堆栈100内的性能问题。
感知误差模型
图2A示出了一种具体形式的切片并且使用参考标号100和100S来分别表示全堆栈和子堆栈。子堆栈100S将经受图2的测试管线200内的测试。
多个―晚期”感知组件102B形成待测试的子堆栈100S的部分,并且在测试期间应用于模拟感知输入203。晚期感知组件102B可以例如包括融合来自多个早期感知组件的感知输入的滤波或其他融合组件。
在全堆栈100中,晚期感知组件102B将接收来自早期感知组件102A的实际感知输入213。例如,早期感知组件102A可以包括一个或更多个2D或3D边界框检测器,在这种情况下,提供给晚期感知组件的模拟感知输入可以包括经由光线追踪在模拟中导出的模拟2D或3D边界框检测。早期感知组件102A将通常包括直接对传感器数据进行操作的组件。
利用此切片,模拟感知输入203将在形式上对应于通常由早期感知组件102A提供的实际感知输入213。然而,早期感知组件102A不作为测试的一部分应用,而是用于训练一个或更多个感知误差模型208,感知误差模型208可用于以统计上严格的方式将真实误差引入到馈送给测试中的子堆栈100的晚期感知组件102B的模拟感知输入203中。
此类感知误差模型可以被称为感知统计性能模型(Perception StatisticalPerformance Model,PSPM)或同义词―PRISM”。PSPM的原理的进一步细节以及用于建立和训练它们的合适技术可以在欧洲专利申请No.20168311.7中找到,该申请通过引用将其全部内容并入本文。PSPM背后的想法是将真实误差高效地引入到提供给子堆栈102B的模拟感知输入中(即,反映了在真实世界中应用早期感知组件102A时预期的误差类型)。在模拟背景下,―完美的”地面实况感知输入203G由模拟器提供,但是这些地面实况感知输入203G用于导出具有由感知误差模型208引入的真实误差的更真实的感知输入203。
如在上述参考文献中所描述的,PSPM可以取决于表示物理条件(―混杂因子”)的一个或更多个变量,允许引入反映不同可能的真实世界条件的不同水平的误差。因此,模拟器202可以通过简单地改变天气混杂因子的值来模拟不同的物理条件(例如,不同的天气条件),这将进而改变如何引入感知误差。
子堆栈100S内的晚期感知组件102b以与其将处理全堆栈100内的真实世界感知输入213完全相同的方式处理模拟感知输入203,晚期感知组件102b的输出进而驱动预测、规划和控制。
根据图1A中所示的一般原理,图3示出了展示规划器106如何在测试期间迭代地应用的框图。在本示例中,使用模拟感知输出和自主动态建模。然而,如所指出的,本技术可以利用更简单形式的模拟来应用。
在给定的规划步骤处,(直接使用如图2A中的感知误差建模,或通过将感知***102应用于模拟传感器数据)从模拟器导出模拟感知输出。这些感知输出编码自主车辆的感知当前状态和场景的任何其他主体的当前状态。预测***104使用可用的感知输出来以一个或更多个预测主体轨迹的形式产生对场景的外部主体的行为的预测。另外,预测可利用早期感知输出。考虑到场景的其他主体的状态和预测,规划器106使用感知***102的输出来确定自主车辆在其当前状态下的新瞬时轨迹。控制***108确定将被传递到模拟器202的控制信号。如上所述,模拟器202包括自主动态模型204,该自主动态模型204基于所接收的控制信号模拟自主车辆的运动。主体决策逻辑210使用模拟器的输出来导出到主体动态模型206的输入,该主体动态模型206确定主体的运动。这进而允许对下一个规划步骤模拟新感知输出,并且利用针对自主车辆和场景的主体的运动的每次更新规划的新瞬时轨迹来迭代地执行这些步骤。这继续,直到达到某些终止条件,例如,自主主体达到定义的目标位置、发生碰撞、或达到时间限制等。
测试度量
性能度量254可以基于不同因素,诸如距离、速度等。在所描述的***中,这些因素可反映适用的道路规则集,诸如适用于英国的道路用户的公路代码。术语―数字公路代码”(DHC)和―数字驾驶规则”可以相对于性能度量254的集合同义地使用。DHC术语是方便的简略表达,并不意味着任何特定的驾驶管辖。DHC可由能够数字地评估驾驶性能的任何性能度量254的集合组成。如上所述,每个度量是数字和时间相关的。给定度量在部分时间处的值被称为针对该度量在该时间处的得分。
相对简单的度量包括基于车辆速度或加速度、加加速度等、到另一主体的距离(例如,到最近的骑车者的距离、到最近的迎面车辆的距离、到路边的距离、到中心线的距离等)的那些度量。舒适度量可以根据加速度或加速度的一阶或更高阶时间导数(加加速度、急动度等)对路径进行评分。另一形式的度量测量到所定义的目标的行进,例如到达特定的环岛出口。简单的行进度量可以简单地考虑到达目标所花费的时间。更复杂的度量量化诸如―错过的机会”的概念,例如,在环岛背景中,自主车辆错过进入环岛的机会的程度。
对于每个度量,定义相关联的―故障阈值”。如果自主主体对该度量的得分下降到低于该阈值,则称该自主主体未达到该度量。
并非所有度量252将必然应用于给定场景。例如,可选择适用于给定场景的度量254的子集。可由测试Oracle 252根据与所考虑的场景有关的环境数据214和用于模拟场景的场景描述201中的一个或两个来选择适用的度量子集。例如,某些度量可仅适用于环岛或交叉口等,或适用于某些天气或照明条件。
度量254和其相关联的故障阈值中的一者或两者可以适用于给定场景。例如,基于速度的度量和/或其相关联的故障度量可以根据可应用的速度限制以及天气/照明条件等进行适配。
规划器基于来自感知***102和预测***104的最新感知和预测输出连续地更新规划轨迹。
规划器基准测试
图3A示出了可以如何将目标规划器106T与在“影子模式”下运行的参考规划器106R进行比较的框图。如上文针对图3所描述的,目标规划器基于从模拟器接收的当前感知输出和由预测组件104确定的其他主体的预测输出,在每个时间步长处确定新瞬时轨迹。参考规划器106R在每个时间步长处接收与目标规划器106T相同的感知和预测输入,并输出其自身的瞬时规划轨迹。
目标规划器106T驱动模拟,因为目标规划器106T的输出被传递至控制组件108,控制组件108将输入提供至模拟器以更新场景。相比之下,由参考规划器预测的瞬时轨迹不被输入到模拟器并且不影响场景,而是收集每个瞬时轨迹并且可以将每个瞬时轨迹与相应的时间步长的目标规划器106T的瞬时规划轨迹进行比较。这意味着自主车辆采取的实际迹线仅由目标规划器驱动,并且参考规划器沿该迹线跟随车辆,―遮蔽”目标规划器,并且在每个时间步长处输出车辆的瞬时轨迹。
注意,影子模式仅用于描述参考规划器的模式,目标规划器始终以“在环测试”运行,即,目标规划器始终作为自主车辆的驾驶过程的一部分而运行,从而在自主车辆通过模拟行进时确定自主车辆的下一个步骤。
图3B示出了目标规划器与在影子模式下运行的参考规划器在给定时间步长下对一个或更多个测试度量的测试。对于每个规划器,规划器在给定时间步长处的内部状态可以被定义为其在该时间步长处的瞬时规划轨迹。测试Oracle 252接收每个目标规划器和参考规划器的瞬时规划轨迹,并比较对应时间步长的轨迹(即,共同感知和预测输入)。轨迹包括自主车辆的位置和运动参数,根据该位置和运动参数,可以导出和比较车辆沿每条规划轨迹的各自性能的度量。
图4是示出目标规划器106T相对于参考规划器106R的评估的示例框图,其中参考规划器106T以“在环测试”模式运行。这示出了由目标规划器106T和相关联的模拟器202T以及参考规划器106R和模拟器202R生成自主轨迹。轨迹具有共同起始状态,但是由各自的目标***和参考***独立地生成。
目标规划器迭代地更新其预测并且基于其自身的模拟器202T的输出沿着路径向前导出自主车辆。随着时间的推移,自主车辆采取的实际轨迹被输出到测试Oracle。同时,在图3所描述的过程中,参考规划器106R利用模拟器202R驱动其自己的自主车辆的模拟,迭代地更新其规划轨迹并基于其自己的规划器和模拟输出沿着独立路径移动自主车辆。测试Oracle 252接收由相应规划器106T和106R及其相关联的模拟器202T和202R生成的自主车辆的行驶轨迹。可以针对一个或更多个性能度量254来测量这些轨迹,以上描述了其示例。
与影子模式相反,仅评估自主车辆实际行驶的轨迹,并且不使用每个规划器在每个规划迭代处的瞬时轨迹进行评估。这是因为,当使用两个不同的规划器并沿着两个不同的路径行驶时,基于不同的感知输入和预测输入来规划瞬时轨迹,因为主体对于两个模拟的场景表现不同。因此,测量针对不同起始点给出的瞬时规划轨迹不提供对比的有用测量。然而,两个规划器从相同的整体自主车辆状态开始,因此沿着由每个规划***生成的行驶轨迹的自主车辆的实际性能的测量是对规划器的性能的公平测量。
在一些情况下,参考规划器106R可能能够产生优越的轨迹,因为它将不必经受与目标规划器相同的约束。具体地,目标规划器106T通常要求实时操作,并且可能在(具有有限的计算和/或存储器资源的)资源约束平台(诸如自动驾驶车辆的车载计算机***)上操作。参考规划器106R可被授予更大量的计算和/或存储器资源,则参考规划器106R不必经受相同的约束,并且不一定需要实时操作。
举例而言,参考英国专利申请No.2001200.1、No.2001202.7和No.2001277.9以及F.Eiras,M.Hawasly,S.V.Albrecht和S.Ramamoorthy,“Atwo-stage optimizationapproach to safe-by-design planning for autonomous driving(自动驾驶安全设计规划的两阶段优化方法)”,arXiv preprint arXiv:2002.02215,2020,以上专利及文献的全部内容通过引用并入本文。上述公开了一种多阶段约束优化规划器,其能够鲁棒地规划高质量轨迹,但是不一定是可行的,以使用硬件和求解器的状态(至少不损害性能)来实时实施。这种规划器可用作参考规划器,以评估实时目标规划器的性能。如将理解的,这仅是合适的参考规划器的一个示例。
存在参考规划器106R可用于提供良好基准的其他方式。如上所述,可以利用模拟感知(或者,更一般地观察)误差实施模拟。一种方式是图2A的技术。另一种方式是使用感知***102应用于的模拟传感器数据。一种可能性是实施具有这种感知误差的目标规划器,以及实施不具有这种感知误差的参考规划器。基于度量的比较然后可以指示规划之间的差异是否是观察误差的结果。
虽然以下示例考虑不同的目标规划器和参考规划器(即,实施不同的规划逻辑),但也可使用目标规划器106T本身代替参考规划器106R(即,使用相同的规划逻辑来实施自主轨迹和参考轨迹)来实施技术,但是在计算参考规划(例如,无感知误差或具有更多资源等)时,目标规划器102T在不同的条件下操作。这提供了经由目标规划器在不同情况下产生的不同轨迹的结构化的基于度量的比较来评估那些不同条件是否是实质性的方式。注意,本文中涉及参考规划器106R的所有描述在这种实施方式中同样应用于目标规划器102T。
图5是目标规划器106T(规划器A)的规划自主车辆轨迹A和在影子模式下运行的参考规划器106R(规划器B)的第二规划轨迹B的简单图示。当前时间步长t的瞬时规划轨迹在图5的左侧示出。自主车辆和外部主体直到当前时间t的路径以实线示出,沿着轨迹具有由点表示的时间间隔,使得两个点之间的空间表示在单个时间单元中覆盖的距离。因此,间隔更远的点表示车辆以更高的速度移动。
在该示例中,自主车辆朝向预定目标位置移动,并且该场景中的主体在相同方向上移动。感知***沿着路径以规则间隔确定包括主体和自主车辆二者的位置变量和运动变量的状态。预测***使用自主车辆和主体的一系列观察状态来产生主体的预测轨迹。当前时间步长t的主体的预测轨迹被示为从图5中的主体的当前轨迹延续的虚线。在该示例中,主体的预测轨迹示出主体朝向自主车辆的路径向右移动。
两个规划器106T、106R使用主体的预测轨迹以及由感知***102确定的自主车辆的当前状态来规划自主车辆的轨迹,该轨迹包括自主车辆在一系列未来时间步长处的位置和运动,直到预定目标位置500。如图5的左图所示,在时间步长t处,参考规划器106R规划轨迹B,在该轨迹B中,当主体已经根据其预测轨迹经过自主车辆时,自主车辆向右转弯以避免与主体车辆碰撞,然后稍后转向目标。目标规划器确定轨迹A,其中自主车辆减速以允许主体在继续朝向目标位置500之前根据其预测轨迹通过。注意,如前所述,由于规划器响应于针对自主状态的每次更新而接收的新感知和预测输出来更新轨迹,因此规划轨迹在任何给定时间处都不确定自主车辆采取的最终路径。
如上所述,测试Oracle 252使用一个或更多个度量来比较由每个规划器针对相同感知和预测输入所预测的瞬时轨迹。度量可以评估规划轨迹在实现某些预定目标方面的成功。例如,在图6A的超车场景中,可能的度量可以简单地是对车辆在给定时间帧中行进的测量。规划器A可确定在当前时间步长处与另一主体的预测轨迹相交的轨迹。然而,规划器可指示自主车辆随着主体经过而减速。规划器B可规划不同的轨迹,其中自主车辆通过向右转弯而避免与主体的预测路径完全相交。
控制器108可在当前时间步长内采取使自主车辆沿由规划器A规划的轨迹方向移动的动作。主体同时沿着其相应轨迹移动,这可能与预测***104输出的规划轨迹不同。在下一时间步长t+1处,感知***计算主体和自主车辆的新状态,预测***计算主体的更新轨迹预测。
图5的右侧示出了在随后的时间步长t+1中两个规划器的规划轨迹的更新,其被示出为从圈出点的虚线,该圈出点识别自主车辆在下一时间步长处的实际位置,其示出了模拟器已经在先前的时间步长中沿着由目标规划器102T规划的轨迹移动自主车辆。先前时间步长内的每个规划器的规划轨迹也由较浅的虚线示出。主体在最新更新中的实际运动不同于其预测轨迹(也在较浅的虚线中示出)。预测堆栈104确定主体的更新的预测轨迹,主体现在转向远离自主车辆的路径。每个规划器106使用来自自主车辆的当前状态的感知输入和主体的预测运动,根据自主车辆的新位置确定更新的瞬时轨迹。两个轨迹与先前时间步长处的对应规划轨迹不同,已根据主体的预测路径确定自主车辆可采取更直接的路径至目标位置500。
应注意,该示例示出了夸张的场景以说明轨迹的更新,其中,该场景不是日常驾驶情景的典型情形。通常,车辆的轨迹由道路布局约束,并且规划器之间的变化大部分在于沿着道路的速度、加速度等的差异。在此示例中,目标位置保持固定,但在其他驾驶场景中,例如在道路的车道内直线驾驶,目标位置可移动(例如距自主车辆保持固定距离或在超车情况中在前面车辆前方保持固定距离)。
图6A示出了针对自主车辆在同一车道上超过主体的场景的目标规划器106T和参考规划器106R的瞬时规划轨迹的示例。
图6A的左侧示出了在当前时间步长t处的两个瞬时规划轨迹A和B。在该时间步长处,自主车辆在主体后面,并且预测堆栈104给出的主体的预测轨迹是沿着其当前车道的直线轨迹。目标规划器106T确定朝向目标位置500的瞬时轨迹A,在瞬时轨迹A中,自主车辆紧密地超过主体,而不完全进入相对的驾驶车道。参考规划器B为自主车辆确定略微不同的规划轨迹,其在超车操纵期间在自主车辆和主体车辆之间留下较宽的间隙。
图6A的右侧示出了由每个规划器在稍后的时间t+1处确定的瞬时轨迹。模拟器202分别使用主体和自主车辆动力学更新自主车辆和主体两者的位置。自主车辆已经根据目标规划器106T确定的先前规划轨迹A开始超车操纵。目标规划器确定朝向更新的目标位置500的新瞬时轨迹,该更新的目标位置500在自主车辆前方保持固定距离。新轨迹规划经过主体,同时保持接近道路的中心并且不完全进入相对车道。参考规划器确定更新的规划轨迹,在该更新的规划轨迹中,自主车辆进一步移动到相对车道中并且在保持较大距离的同时超过主体车辆。这些轨迹可以与测试Oracle252中的多个度量进行比较。可应用于该驾驶场景的度量的示例是自主车辆随时间推移的行进,以及在超车操纵期间自主车辆距主体的距离。
图6B示出了目标规划器106T和参考规划器106R分别在针对自主车辆确定的目标向右转弯的当前时间步长t和随后的时间步长t+1处规划的两条瞬时规划轨迹A和B的示例。在图6B的左侧,两个规划器规划相似的路径,这是因为沿着两条规划轨迹,自主车辆的位置几乎相同。然而,如由黑点所示的自主车辆状态的分布所示,车辆的速度在两个规划器之间不同。规划器A生成较慢的预测轨迹,其中,自主车辆在右转之前显著减速,其中规划的参考轨迹以更高的速度接近转弯,并且自主车辆被规划在转弯进入道路之前以较小的程度减速。
图6B的右侧示出了在随后的时间步长t+1处的两条规划轨迹的更新。现在,主体车辆沿着相对车道中的道路移动,并且主体车辆的预测轨迹将沿着该车道继续直线行驶。目标规划器106T现在规划轨迹A,在该轨迹A中,自主车辆减速至停止,允许主体在右转之前经过相对车道。然而,参考规划器106R仍以较高速度接近转弯,并且仅在主体车辆在相对车道中通过转弯之前略微减速转弯。这可能是因为参考规划器已经确定在自主车辆和主体的当前运动时,在主体车辆经过之前有足够的时间转弯,其中目标规划器可能已经确定这不应该进行。不同的规划器可不同地区分不同的驾驶要求(诸如安全和行进)的优先次序,并基于驾驶目标的各自组合来确定不同的规划行为。
基于测试自主车辆的性能的一个或更多个度量,各个轨迹可以被传递到测试Oracle 252以被评估。图7示出了用于由目标规划器106T和在影子模式(即,如图3A所述,沿着由目标规划器驱动的相同行进轨迹)下运行的参考规划器106R规划的瞬时规划轨迹的单个测试度量的示例时间曲线图。测量轨迹的示例测试度量是自主车辆随时间推移的行进。可将自主车辆在给定时间间隔内覆盖的距离转换成得分,并且标准化为预定比例。在这个示例中,测试度量被测量为范围从-1至1的得分。在每个规划步骤处计算目标规划器106T和参考规划器106R中的每个的相应瞬时轨迹的得分,即,在给定规划器步长处针对每个规划器计算整个瞬时轨迹随时间的行进。
可以选择故障阈值,其定义给定度量的最小可允许得分。例如,自主车辆的行进可能需要在预定时间间隔内高于某个给定距离。可以确定规划器得分的归一化,使得故障阈值设置为0。
如图7所示,目标规划器在时间间隔内下降到故障阈值以下,这意味着在该时间间隔期间规划的瞬时规划轨迹没有取得足够的行进。在图6A的超车示例中,目标规划器可以例如规划自主车辆在主体车辆后面等待一段时间,直到所有主体都在相对车道上通过为止的轨迹,这可能使规划轨迹不符合行进度量。同时,参考规划器可确定在接近的主体车辆通过相对车道之前超车是安全的,因此该规划轨迹的行进得分较高。故障阈值可以编码驾驶规则并且可以在“数字公路代码”中定义。如上所述,可以在一系列测试度量上评估规划器,其中行进仅是一个示例。
图8示出了在―在环测试”模式下针对每个规划器在每个时间步长处对规划轨迹的更新。即,参考规划器也应用于在环测试。在左侧,给定自主车辆的当前状态和主体的预测路径,两个规划器确定当前时间步长的规划轨迹。在第二时间步长处,规划器各自基于根据每个规划器的规划轨迹更新的自主车辆状态进行新预测。在这种情况下,在第一时间步长之后,每个规划器的自主车辆状态不同。
在在环测试模式中,仅通过自主车辆的实际迹线比较规划器,该实际迹线包括其在每个时间步长处直到到达目标位置的位置和运动。规划器沿着路径输出的瞬时轨迹不用于评估。因此,在环测试模式基于自主车辆的真实运动比较规划器,其中运动取决于针对瞬时规划器决策所确定的多个轨迹更新的累积。然而,规划器在沿该路径的任何给定点处的中间决策不用于在该模式下的评估。
当在影子模式下评估目标规划器106T与参考规划器106R时,参考规划器106R必须被提供有与规划器106T相同的感知输入和预测。这为两个规划器提供了相同的起始点,从而使得可以直接比较两个规划器的迹线。例如,测量从起始点到完成进入环岛的目标所花费的时间的度量,可以直接比较每条迹线所花费的时间。需要共同的初始状态来比较两个规划器的迹线,因为感知输出的任何变化影响场景中其他主体的预测行为。不能确定在这种情况下迹线输出之间的任何差异是由于自主车辆的不同初始状态还是规划器之间的差异。
相应目标规划器和参考规划器的规划轨迹以及用于评估这些规划轨迹的度量可以在用户界面1000中呈现给用户,该用户界面1000连接至测试Oracle 252。图9示出了可以呈现在用户界面1000中的示例场景,其中,自主车辆的目标是超过沿着道路在相同方向上移动的主体。场景中主体的预测轨迹由细绿色线示出。示出了目标规划器106T和参考规划器106R的规划轨迹,其中,参考规划器在影子模式下运行,即,基于目标参考规划器106T更新自主车辆状态,并且在给定时间步长内,由参考规划器106R规划的瞬时轨迹从与目标规划器106T的规划轨迹相同的自主车辆状态开始。
在图9所示的示例中,已经针对该场景执行了自主车辆路径的模拟,并且以蓝色将自主车辆在模拟中实际采取的轨迹示出为“地面实况”自主车辆轨迹。例如,用户可通过在沿着自主车辆的地面实况轨迹的某个点处用光标点击来选择生成目标规划器和参考规划器的瞬时规划轨迹的自主车辆的初始状态。在图9中,目标规划器的瞬时规划轨迹被示出为粗绿色线,参考规划器106R的瞬时规划轨迹被示出为粗黄色线。
通过如上所述向API发送请求,可以针对给定的自主车辆状态获得参考规划器轨迹,其中,基于从API接收的信息,在UI中描绘所得到的轨迹。一旦用户选择从其生成规划轨迹的初始自主车辆状态,就可以发送API请求。
在结果窗口1002中将与每个规划轨迹相关联的度量显示给用户。用户界面1000不限于显示从相同自主车辆状态开始的单个目标规划器和单个参考规划器的各个轨迹的度量。例如,可以针对沿着自主车辆行驶的地面实况路径从不同的自主车辆状态开始的同一规划器的轨迹显示度量。
用户可通过选择沿着自主“地面实况”轨迹的点作为规划轨迹的初始状态并且通过选择应当显示度量的规划器来显示相关轨迹的度量。例如,在图9中,结果窗口1002针对自主车辆的相同初始状态和所预测的主体行为显示两个不同车载规划器的瞬时度量(以黄色和绿色示出)的参数集和所计算的度量。如果任何度量下降到所定义的故障阈值以下,如以上参考图7所描述的,则用户界面1000可以在结果窗口1002中针对所选择的轨迹显示故障信号。如果针对任何定义的度量,轨迹没有下降到故障阈值以下,则可以在结果窗口1002中显示成功信号。
度量可以由用户从任何可用轨迹中选择并进行比较。度量可以包括但不限于沿着路径的行进、与某个预定义路径的平均或最大偏差、平均或最大加速度或减速度、以及平均或最大正加加速度或负加加速度(加速度的变化率)。
在上述特定情况下,目标规划器轨迹在实际自主“地面实况”路径的路线上与参考规划器轨迹进行比较,用户可以从所呈现的度量中选择应当使用哪些度量来比较和评估规划轨迹。如参见图7所述,用户可使用所选择的度量来生成目标规划器和参考规划器在自主车辆地面实况轨迹上的时间曲线图。
针对在在环测试模式运行的参考规划器,用户界面1000可以显示两个不同的场景,每个规划器一个场景。可以针对每个场景,将实际行驶的轨迹的度量显示在结果窗口1002上,因为当参考规划器在该模式下运行时,主体行为和自主车辆的路径针对每个规划器而不同。然而,在这种情况下,在给定相同的初始自主车辆状态的情况下,用户仍可观看与每个规划器的自主车辆路径相关联的度量,并且可比较两个轨迹的这些度量。如上文针对影子模式所描述的,度量可包括行进、偏差和正加速度与负加速度以及加加速度。
在图9的示例中,每个轨迹是相对于预定参考路径定义的(例如,定义为遵循道路的形状)。尽管规划器的目标是在可能的情况下遵循参考路径,但允许规划器偏离参考路径。
图9示出了单独地向轨迹分配得分的示例,但是相对于相同的度量向轨迹分配得分,以便于用户进行有意义的比较,即:
-沿着参考路径的行进,
-轨迹与参考路径的偏差(最大值和平均值),
-沿着轨迹的最大加速度(正的和负的),
-沿着轨迹的最大和平均加加速度,即,加速度的变化率(正的和负的)。
这种度量可以应用于影子模式下的瞬时轨迹和在环测试模式下的实际轨迹两者。
虽然图9描绘了单独的轨迹,但是可以定义类似的比较度量,以便提供对比较结果(例如,轨迹之间的相关行进、偏差、加加速度、加速度等)进行编码的得分。
虽然影子模式的以上描述假设目标规划器106T和参考规划器106R在该场景的同一时刻被应用,但图9的UI更灵活。它允许参考规划器在不同的时刻(例如,从应用目标规划器106T的时刻起的某个设置时间量(设置时间量可以是用户可配置的参数))实施。例如,UI允许用户请求由目标规划器106T在某个时刻产生的瞬时轨迹的度量评估,以及由同一目标规划器106T或某个其他参考规划器106R在某个稍后的时间步长产生的瞬时轨迹的度量评估。
训练应用
上述技术还可以用于训练。参考国际专利公布No.WO 2021/152047和英国专利申请No.GB2017252.4,以上专利的内容通过引用全部并入本文。其中描述了模仿学习的形式,其中使用数据集聚合(DAgger)训练来训练函数近似器(在此背景中,目标规划器)以模仿基于约束优化的规划器。
在该背景下,可以查询在影子模式下操作的参考规划器以提供附加训练示例以用目标规划器遇到的问题(场景状态)来扩充训练集,从而允许目标规划器的重新训练。
典型的监督学习问题假设数据生成过程是iid(independent and identicallydistributed(独立同分布的))。在自动驾驶的情况下,该假设是有缺陷的。对于有效驾驶,关键方面是随着时间的误差累积。当驾驶时由主体看到的“问题”(场景状态)的分布取决于该主体的先前动作。如果自主动作导致了学习器所看到的展示范围之外的问题,则学习器的规划依赖于泛化(generalisation)。
此背景中的场景状态是在给定时刻的场景快照,其中自主(模拟主体或真实车辆)要被规划而所有其他主体的轨迹已被预测。
以下解决方案(称为―PILOT”)提高了运行成本高的规划器(在当前模仿学习背景下具有―专家”的角色的参考规划器)的效率,运行成本高的规划器诸如基于优化的规划器。假设规划问题的输入由给出,并且规划的目标是获得状态序列使得其优化:
其中,g=(g1,…,gL)和h=(h1,…,hM)在规划状态上可能是非线性的、非凸不等式和等式约束,是规划中定义的成本函数。虽然已知全局地解决此优化问题是NP-hard[D-23]、[D-24],但是在假设提供了合理的初始猜测的情况下,存在实际上在可接受的时间内计算局部解的高效求解器[D-25]、[D-26]。此处,将ν定义为求解等式D-1的高效优化器(例如,[D-25]中的优化器),将Ω定义为试图改进由ν发现的等式D-1的局部最优的专家运行成本高的优化程序。Ω的示例可以包括执行问题的递归分解,以及采取最小成本[D-27]或应用其他热启动程序[D-4]、[D-28]。
A.基于两阶段优化的运动规划器
图10(顶部)示出了如在图3中的基于两阶段优化的规划器(2s-OPT)的架构。***的输入是:1)规划情景的鸟瞰视图,其包括自主车辆、其他道路用户和静态布局的相关特征;2)由外部路线规划器提供的作为参考路径的路线规划;以及3)由预测模块提供的用于所有道路用户的预测迹线。
在2s-OPT中,将世界状态和道路用户预测投影到基于参考路径的坐标系中产生优化的输入。第一优化阶段302使用混合整数线性规划(MILP)求解器来求解规划问题的线性版本。这最小化了成本函数,同时满足编码安全要求的硬约束,该成本函数编码期望的规划特征,诸如乘客舒适性和沿着参考路径的行进。MILP求解器的输出作为热启动初始化被馈送至受约束的、非线性优化器304。该第二优化阶段确保输出轨迹是平滑且可行的,同时保持安全保证。
如上所述,尽管跟与(由收敛保证值和输出成本值测量的)解质量相关的替代方案相比,框架产生优越的输出,但它在求解时间方面受到纯优化方法的限制,因为该方法有效地平衡效率以获得更好的解质量。
B.实施细节
下面的示例使用在环测试Dagger[D-17]方法来模仿学习以训练深度神经网络从而模仿专家规划器的输出。使用DAgger的在线扩充利用专家规划器数据集中可能缺乏的相关问题设置来丰富学习器的数据集。这受益于以下事实:(不同于人类专家)图3的专家规划器总是可用于更新训练数据集并用专家输出标记学习器经历的新实例,使得与使用人类专家数据相比大大降低了训练成本。此外,这种目标扩充与依赖于对专家问题(例如[D-19]、[D-21])的随机扰动的其他数据集扩充技术相反。
参见图10(底部),卷积神经网络900被配置为:除了问题的其他标量参数(例如,自主车辆的速度)之外,还采用参考路径投影规划情景(包括其他道路用户的预测)的图形表示902作为输入,并且输出平滑轨迹,该平滑轨迹在呈现相同问题时模仿优化器的输出。专家规划器(2S-OPT)在问题数据集上运行以发起训练,并且用于在模拟中标记由学***滑性保证。
在本示例中,专家规划器具有基于两阶段优化的规划器(2S-OPT)的形式,如WO2021/152047中所教导的,该规划器包括对非线性优化712进行播种的线性优化阶段302。然而,本技术可以用于训练神经网络(或其他功能近似器)以模仿任何形式的规划器。
下文描述基于参考路径的表示的进一步细节。
1)***架构:图10(底部)示出了结合可训练的神经网络900的示例***架构,该可训练的神经网络900模仿专家规划器2S-OPT。在(使用变换)将规划问题从全局坐标系变换到基于参考路径的坐标系之后,接着产生场景的图像序列902以编码预测的动态道路用户的未来。这些图像902是神经网络900的输入的一部分。网络900的输出是参考路径坐标系中的轨迹,其被用作用于受约束的非线性编程(nonlinear programming,NLP)优化阶段712的热启动初始化以便强制执行输出轨迹的某些期望质量。最后,优化器的输出然后通过逆变换变换回全局坐标系。
2)网络输入表示:规划问题输入包括静态道路布局、具有其预测轨迹的道路用户、以及要遵循的参考路径。当问题被转换至参考路径坐标系时,所转换的场景自动与感兴趣区域(沿着参考路径的道路)对准。这简化了对神经网络900的表示。
为了对动态道路用户的预测轨迹进行编码,通过在时间处针对规划时域h在时间上均匀地采样道路用户沿着其预测轨迹的位置,来产生大小为W×H的场景的C灰度自上而下图像。这些图像创建大小为C×W×H的输入张量,从而允许使用卷积层来提取场景的语义特征及其时间演变。在所有通道上呈现静态布局信息。
将在自上而下图像中不可见的规划问题的附加信息(诸如自主车辆的初始速度)连同平坦化的卷积神经网络(CNN)输出一起附加至网络的第一密集层,作为标量输入。
图12示出了神经网络900的示例卷积架构的进一步细节。
3)网络输出表示:
网络900的输出是参考路径坐标系中的轨迹。一种可能性是针对规划时域h和规划频率f输出大小为2×(h·f)的张量,编码时间戳空间点τ={(xj,yj)}j=1,...,N。为了强制执行输出平滑,替代方案是训练网络以产生平滑函数族的参数,例如,随时间变化的多项式和B样条,即fx(t)和fy(t)。
事后NLP优化阶段712期望时间戳状态序列作为输入,每个时间戳状态序列包括:全部在参考路径坐标系中的(x,y)位置、速度、取向和控制输入(转向和加速度)。根据由网络产生(或从平滑函数输出采样)的点序列计算速度和取向。控制输入从逆动力学模型导出。NLP优化阶段是保证在最终轨迹中满足某些约束的可选附加;关于进一步的细节,参见WO 2021/152047。
4)神经网络训练:
a)预训练:神经网络900被训练以模仿专家规划器2s-OPT的输出。在监督学习方式中,通过在通过模拟驾驶实例的各种配置生成的问题中运行专家规划器2s-OPT来产生专家数据,以创建训练数据集 训练损失被定义为专家轨迹与网络输出之间的L2标准距离:
b)DAgger训练:数据集聚合(DAgger)[D-17]是减少专家数据集中的问题的分布与学习器在与其环境交互时看到的问题的分布之间的差异的训练体制。其通过用由预先训练的学习器网络在模拟中与环境交互时所生成的附加问题来在线扩充训练数据集来完成。DAgger的要求是交互式专家,其能够以可扩展的方式查询新问题的解。这在我们的情况下通过用高质量解标记新问题的2s-OPT来满足。如算法1中所述,DAgger过程在模拟中的问题生成和训练网络之间交替。
扩展DAgger训练的益处,典型的监督学习问题假设数据生成过程是iid(独立同分布的)。在自动驾驶的情况下,该假设是有缺陷的。对于有效驾驶,关键方面是随着时间的误差累积。当驾驶时由主体看到的“问题”(场景状态)的分布取决于该主体的先前动作。如果自主动作导致了学习器所看到的展示范围之外的问题,则学习器的规划依赖于泛化。
此背景中的场景状态是在给定时刻的场景快照,其中自主(模拟主体或真实车辆)要被规划而所有其他主体的轨迹已被预测。
图11示出了训练方案(在本文中称为―PILOT”方案)的示意性框图。PILOT使用专家在环测试模仿学习范例来训练深度神经网络(900),该深度神经网络(900)模仿基于运行成本高的优化规划器Ω(顶部)的输出。在推理时间,使用的输出来初始化高效优化器ν(712),以计算可行且低成本的轨迹(底部)。
根据算法2,方案在训练步骤和扩充步骤之间交替。对使用参考规划器Ω获得的示例的大数据集执行第一训练集。在每个随后的训练步骤中,参数θ经由在(如在先前的扩充步骤中扩充的)扩充的训练集上的训练来调谐。在每个扩充步骤中,通过使用部分训练的网络900来(通常响应于该场景中的其他主体)规划模拟的自主主体的轨迹,将(部分训练的)网络900应用于模拟器904中的模拟场景。然后,专家规划器Ω以影子模式(即,在最新的模拟集中遇到的场景的给定快照应用,参考规划器Ω用于在那些时刻生成专家轨迹,该专家轨迹进而用于扩充训练集以进行下一个训练步骤。注意,每个模拟场景的演变至少部分地由部分训练的网络900的动作确定(例如,在某个时间进入场景中,x0通常取决于由部分训练的网络900进行的较早动作,例如,在其他主体对自主主体作出反应的情况下,其他参数可能也是如此);参考规划器Ω然后为那些场景提供专家轨迹(但是,与网络900不同,不控制自主主体或影响所模拟的场景,因为目的是将参考规划器Ω暴露于部分训练的网络900的误差可能已经随时间累积的场景)。
5)事后优化阶段:在事后优化器712中,遵循2s-OPT的约束的非线性优化阶段的设计,以平滑并校正由模仿学习网络生成的轨迹。更具体地,使用用于自主车辆的离散自行车模型:
其中,zk=[xk,yk,φk,vk]T描述了自主在时间k时的状态,其中(xk,yk)为参考路径投影位置,φk为车辆的偏转角,vk为车辆的速度。(ak,δk)表示在时间k时应用于车辆的加速和转向控制,L是车轴之间的距离。
强制执行将加速度和转向值维持在所允许的范围内、限制最大加加速度和角加加速度、以及将速度维持在道路的所允许的速度限制内的约束。此外,添加了确保自主车辆覆盖区的角落始终被约束在路面内、以及防止与其他道路用户碰撞的约束。
事后优化器712优化如下定义的成本函数:
其中是标量权重,θi(zk,uk)是软约束,其测量与期望速度、参考路径和最终目标位置的偏差,并且控制加速度和转向控制输入的标准。在参数空间中使用网格搜索来微调优化的参数。更详细的优化问题公式参见附录B。
模仿学习神经网络的输出被用作该优化问题的初始化。如附录A中所示,由于NLP求解器在用可行解初始化时更快收敛,初始化轨迹被处理以覆盖可能打破一些硬约束的所计算的速度、加速度和转向的异常值。在附录C中详述该过程。
所描述的方法对期望遵守规划器输出的优化目标的设计没有限制,而在诸如[D-20]的设置中,优化问题应当被仔细地设计为确保优化约束可微分,以便使它们可用于训练规划器网络。
通常,函数近似器采取一个或更多个可训练模型的形式,而非可被训练来模仿专家。那些模型可以采取任何形式,包括但不限于神经网络。如在以上示例中,专家可以是计算机实现的规划器(不一定需要实时操作)。在那种情况下,选择一个或更多个模型,使得它们能够用比专家规划器(优选地实时)更少的计算资源或存储器资源来应用。这通常意味着针对准确度(即,函数近似器能够模仿专家的准确度)的交易效率(时间和/或存储器效率)—在上述实施例中,交易特别地是训练的函数近似器可能不再被保证满足NLP阶段的硬约束。然而,这个问题通过在运行时实施NLP逻辑来解决,以细化由函数近似器产生的初始轨迹,并且在这个背景下,训练的函数近似器不必完美地模仿专家。
如将认识到的,虽然以上将基于多级优化的规划器的特定形式视为待模仿的专家,但是可以训练函数近似器以实施其他类型的规划器。当专家规划器有能力产生高质量轨迹但是需要显著的计算和/或存储器资源来这样做时,存在特别的益处。
基于参考路径的表示
参考路径是自主车辆通常旨在以设置的目标速度跟随的路径。然而,在阻碍的情况下,只要没有违反硬约束(诸如冲突避免约束),允许偏离参考路径和目标速度。参考路径可以使用道路布局的知识来确定,道路布局的知识可以使用预定地图数据(诸如驾驶区域的HD地图)、来自感知堆栈104的信息或两者的组合。具体地,对于复杂的布局(诸如复杂的交叉口或环岛),参考路径可以通过监测该区域中其他驾驶员随时间变化的行为来学习。
图13A示出了从输入进行至期望输出X0:N的过程。给定输入(大写),可逆变换被施加以在基于参考路径的表示中产生(小写),规划器106然后使用来规划。规划器106的输出是在基于参考路径的表示中的预期轨迹x0:N,该预期轨迹x0:N进而通过应用逆变换变换回全局坐标系以获得全局坐标系中的X0:N。下面描述变换的进一步细节。
由于优化的性质,对于x不能获得闭合形式的解。
参考文献
在上文中还参考以下文献,这些文献各自通过引用以其全部内容并入本文:
[D-4]F.Eiras,M.Hawasly,S.V.Albrecht,和S.Ramamoorthy,―Twostageoptimization-based motion planner for safe urban driving(用于城市安全驾驶的基于两级优化的运动规划器)”arXiv preprint arXiv:2002.02215,2020。
[D-17]S.Ross,G.Gordon,和D.Bagnell,―A reduction of imitation learningand structured prediction to no-regret online learning(将模仿学习和结构化预测减少到无悔在线学习)”in Proceedings of the fourteenth international conferenceon artificial intelligence and statistics(第十四届关于人工智能和统计国际会议的论文集),2011,第627–635页。
[D-19]J.Chen,B.Yuan,和M.Tomizuka,―Deep imitation learning forautonomous driving in generic urban scenarios with enhanced safety(增强安全性的普通城市场景中的自动驾驶深度模拟学习)”in 2019IEEE/RSJ InternationalConference on Intelligent Robots and Systems(IROS),2019,第2884–2890页。
[D-20]W.Zhan,J.Li,Y.Hu,和M.Tomizuka,―Safe and feasible motiongeneration for autonomous driving via constrained policy net(一种经由约束策略网的自动驾驶安全与可行运动生成),”in IECON 2017-43rd Annual Conference of theIEEE Industrial Electronics Society,2017,第4588–4593页。
[D-21]T.Tosun,E.Mitchell,B.Eisner,J.Huh,B.Lee,D.Lee,V.Isler,H.S.Seung和D.Lee,―Pixels to plans:Learning non-prehensile manipulation by imitating aplanner(规划的像素点:通过模仿规划器学习非可理解的操作)”arXiv preprint arXiv:1904.03260,2019。
[D-23]C.A.Floudas和P.M.Pardalos,State of the art in globaloptimization:computational methods and applications(全球优化的最新技术:计算方法和应用).Springer Science&Business Media,2013,第7卷。
[D-24]J.Nocedal和S.Wright,Numerical optimization(数值优化).SpringerScience&Business Media,2006。
[D-25]A.Wachter和L.T.Biegler,―On the implementation of an interior-¨point filter line-search algorithm for large-scale nonlinear programming(大规模非线性规划的内点滤波线搜索算法的实现)”Mathematical programming,第106卷,第1号,第25–57页,2006。
[D-26]A.Zanelli,A.Domahidi,J.Jerez和M.Morari,―Forces nlp:anefficient implementation of interior-point methods for multistage nonlinearnonconvex programs(力nlp:多级非线性非凸规划内点方法的有效实现)”InternationalJournal of Control,第1–17页,2017。
[D-27]A.L.Friesen和P.Domingos,―Recursive decomposition for nonconvexoptimization(非凸优化的递归分解)”arXiv preprint arXiv:1611.02755,2016。
[D-28]T.S.Lembono,A.Paolillo,E.Pignat和S.Calinon,―Memory of motionfor warm-starting trajectory optimization(用于热启动轨迹优化的运动存储器)”IEEE Robotics and Automation Letters,第5卷,第2号,第2594–2601页,2020。
[D-29]M.Mirman,T.Gehr和M.Vechev,―Differentiable abstractinterpretation for provably robust neural networks(可证明鲁棒神经网络的可微抽象解释)”in International Conference on Machine Learning,2018,第3578–3586页。
[D-30]E.W.Ayers,F.Eiras,M.Hawasly和I.Whiteside,―PaRoT:Apracticalframework for robust deep neural network training(PaRoT:一种用于鲁棒深度神经网络训练的实用框架)”in NASA Formal Methods.Springer International Publishing,2020,第63–84页。
[D-31]C.Liu,T.Arnon,C.Lazarus,C.Barrett和M.J.Kochenderfer,―Algorithms for verifying deep neural networks(验证深度神经网络的算法)”arXivpreprint arXiv:1903.06758,2019。
[D-32]D.P.Kingma和J.Ba,―Adam:A method for stochastic optimization(Adam:一种随机优化方法)”arXiv preprint arXiv:1412.6980,2014。
Claims (40)
1.一种评估自主机器人的目标规划器在真实或模拟场景中的性能的计算机实现的方法,所述方法包括:
接收用于评估所述目标规划器在所述场景中的所述性能的评估数据,所述评估数据通过在递增规划步骤处应用所述目标规划器来生成,以便计算响应于所述场景的变化的一系列自主规划,所述一系列自主规划在所述场景中实施,以引起自主状态的变化;
所述评估数据包括:由所述目标规划器在所述规划步骤中的一个处计算的所述自主规划,以及在所述场景的时刻处的场景状态;
其中,所述评估数据用于通过以下方式评估所述目标规划器:
基于所述场景状态计算所述时刻的参考规划,所述场景状态包括:在实施由所述目标规划器计算的所述一系列自主规划中的一个或更多个先前自主规划所引起的时刻处的所述自主状态;以及
计算用于将所述自主规划与所述参考规划进行比较的至少一个评估得分。
2.根据权利要求1所述的方法,其中,所述自主规划采用瞬时自主轨迹的形式;其中,在所述规划步骤处的所述瞬时自主轨迹在时间上比下一个规划步骤延伸得更远,以及在计算所述下一个规划步骤的所述瞬时自主轨迹之前,仅在所述场景中部分地实施所述瞬时自主轨迹直到所述下一个规划步骤;
其中,所述参考规划采用瞬时参考轨迹的形式,所述至少一个评估得分用于将所述瞬时自主轨迹与所述瞬时参考轨迹进行比较。
3.根据权利要求1或2所述的方法,其中,所述规划步骤发生在所述场景的所述时刻,其中,所述自主规划和所述参考规划两者都基于所述时刻处的所述场景状态来计算。
4.根据从属于权利要求2时的权利要求3所述的方法,其中,所述瞬时自主轨迹和所述瞬时参考轨迹两者都延伸超过所述下一个规划步骤。
5.根据权利要求1或2所述的方法,其中,所述时刻晚于所述规划步骤,使得所述参考规划考虑自从所述规划步骤在所述场景状态中实施以来在所述场景中的变化。
6.根据任一前述权利要求所述的方法,其中,所述目标规划器被约束为实时操作,并且所述参考规划不被实时计算。
7.根据任一前述权利要求所述的方法,其中,与授予所述目标规划器用于计算所述自主规划的计算资源和/或存储器资源相比,分配更多的计算资源和/或存储器资源来计算所述参考规划。
8.根据任一前述权利要求所述的方法,其中,通过将参考规划器应用于所述时刻处的所述场景状态来计算所述参考规划。
9.根据权利要求8所述的方法,其中,所述参考规划器是基于约束优化的规划器。
10.根据从属于权利要求3时的权利要求8或9所述的方法,其中,所述规划步骤的所述时刻处的所述场景状态包括由所述目标规划器用来计算所述自主规划的当前观察结果集,或所述规划步骤的所述时刻处的所述场景状态是从所述目标规划器用来计算所述自主规划的当前观察结果集导出的;其中,所述参考规划器使用相同的观察结果集来计算所述参考规划。
11.根据权利要求10所述的方法,其中,所述观察结果是经受真实观察误差或建模的观察误差的噪声观察结果,其中,所述目标规划器和所述参考规划器两者都经受相同的观察误差。
12.根据权利要求10所述的方法,其中,模拟所述场景,并且所述观察结果是在没有任何观察误差的情况下的模拟观察结果,使得所述目标规划器和所述参考规划器都不经受观察误差。
13.根据权利要求12所述的方法,其中,所述场景状态包括:所述当前观察结果集和/或从所述当前观察结果集导出的一个或更多个当前障碍物预测,其中,所述目标规划器和所述参考规划器分别使用相同的观察结果和/或相同的障碍物预测来计算所述自主规划和参考规划。
14.根据从属于权利要求3时的权利要求1到9中任一项所述的方法,其中,由所述目标规划器根据经受建模的感知误差的观察结果集计算所述自主规划,并且根据相同的观察结果,但在没有所述建模的感知误差的情况下计算所述参考规划。
15.根据权利要求5至7或14中任一项所述的方法,其中,使用所述目标规划器来计算所述参考规划,但是:
具有更大的计算或存储器资源分配;
不被约束于实时操作;
所述时刻晚于所述规划步骤;和/或
没有建模的感知误差。
16.根据任一前述权利要求所述的方法,其中,所述评估数据包括:在所述递增规划步骤中的多个规划步骤处计算的所述瞬时自主规划,以及各自与所述多个规划步骤中的一个相关联的多个场景状态;
其中,基于所述规划步骤处的相关联的场景状态,为所述多个规划步骤中的每一个计算参考规划,以及为所述多个规划步骤中的每一个计算至少一个评估得分,用于比较所述规划步骤的所述自主规划和参考规划。
17.根据从属于权利要求3时的权利要求16所述的方法,其中,针对所述多个规划步骤中的每一个,所述相关联的场景状态是所述规划步骤处的场景状态,或所述规划步骤之后的设定时间量的场景状态。
18.根据任一前述权利要求所述的方法,其中,所述至少一个评估得分包括:针对所述目标规划计算的单独评估得分和针对所述参考规划计算的单独评估得分;关于共同度量计算所述单独评估得分。
19.根据任一前述权利要求所述的方法,其中,所述至少一个评估得分包括比较得分,所述比较得分相对于比较度量量化所述目标规划和所述参考规划之间的差异。
20.根据权利要求18或19所述的方法,其中,所述共同度量或比较度量量化与定义的目标相关的安全性、舒适性或行进。
21.根据任一前述权利要求所述的方法,其中,利用实现定义的目标的共同目标计算所述目标规划和所述参考规划。
22.根据权利要求21所述的方法,其中,所述目标被定义为待到达的静态或移动的目标位置。
23.根据任一前述权利要求所述的方法,其中,所述评估得分是用于量化所述自主规划与所述参考规划之间的差异的数值评估得分。
24.根据任一前述权利要求所述的方法,其中,所述场景是真实驾驶场景或模拟驾驶场景,所述自主状态是自主车辆状态。
25.根据权利要求23或24所述的方法,其中,所述评估得分是关于度量计算的,所述度量对所述自主规划与所述参考规划之间的预定驾驶规则的不同符合水平进行量化。
26.根据权利要求25所述的方法,其中,多个评估度量用于计算多个评估得分,每个评估度量对不同的预定驾驶规则进行编码。
27.根据任一前述权利要求所述的方法,包括在用户界面上输出所述评估得分的步骤。
28.根据权利要求27所述的方法,其中,所述评估得分与所述场景的视觉表示以及所述自主规划和所述参考规划的视觉表示一起输出。
29.根据权利要求2或权利要求2的任何从属权利要求所述的方法,其中,所述至少一个评估得分用于比较:
所述自主轨迹和参考轨迹朝向定义的目标的行进,
所述自主轨迹和参考轨迹与参考路径的偏差,
沿着所述自主轨迹和参考轨迹的加速度,
沿着所述自主轨迹和参考轨迹的加加速度,即,加速度的变化率。
30.根据权利要求29所述的方法,其中,分别针对所述自主轨迹和参考轨迹计算不同的评估得分,用于进行所述比较。
31.根据权利要求8或9或从属于权利要求8或9的任一项权利要求所述的方法,其中,所述目标规划器包括一个或更多个可训练模式,并且所述评估数据提供用于训练所述目标规划器以模仿所述参考规划器的一个或更多个训练示例;所述评估得分是测量由所述目标规划器计算的自主规划与由所述参考规划器计算的参考规划之间的偏差的成本函数的分量;所述训练以最小化偏差的目标执行。
32.根据权利要求31所述的方法,其中,所述目标规划器已经在早期训练示例上被预先训练;由所述评估数据提供的所述训练示例是用于重新训练所述目标规划器的新训练示例。
33.一种评估自主机器人的目标规划器在模拟场景中的性能的计算机实现的方法,所述方法包括:
接收用于评估所述目标规划器的所述性能的评估数据,所述评估数据通过在第一递增规划步骤处,在所述场景的第一实例中根据初始场景状态应用所述目标规划器来生成,以便计算响应于所述场景的所述第一实例中的变化的一系列自主规划,在所述场景的所述第一实例中实施第一系列自主规划,以引起第一自主状态的变化,其中,实际自主轨迹由所述第一自主状态在所述场景的所述第一实例的持续时间内的变化来定义,
所述评估数据包括:所述初始场景状态和所述实际自主轨迹;
其中,所述评估数据用于通过以下方式评估所述目标规划器:
在第二递增规划步骤处,在所述场景的第二实例中根据相同的初始场景状态应用目标规划器,以便计算响应于所述场景的所述第二实例的变化的一系列参考规划,所述一系列参考规划在所述场景的所述第二实例中实施,以引起第二自主状态的变化,其中,实际参考轨迹由所述第二自主状态在所述场景的所述第二实例的持续时间内的变化定义,以及
计算用于将所述实际自主轨迹与所述实际参考轨迹进行比较的至少一个评估得分。
34.根据权利要求33所述的方法,其中,所述自主规划采用瞬时自主轨迹的形式,其中所述第一系列规划步骤中的至少一个规划步骤的所述瞬时自主轨迹在时间上比下一个规划步骤延伸得更远,以及在规划所述下一个规划步骤的瞬时自主轨迹之前,仅在所述场景的第一实例中部分地实施所述第一系列规划步骤中的至少一个规划步骤的所述瞬时自主轨迹直到所述下一个规划步骤;所述实际自主轨迹不是由所述瞬时自主轨迹中任何单独的一个定义的,而是由所述第一自主状态在所述场景的持续时间内的变化定义的;
其中,所述参考规划采用瞬时参考轨迹的形式,其中,第二系列规划步骤中的至少一个规划步骤的所述瞬时参考轨迹在时间上比所述下一个规划步骤延伸得更远,以及在计算所述下一个规划步骤的所述瞬时参考轨迹之前,仅部分地实施所述第二系列规划步骤中的至少一个规划步骤的所述瞬时参考轨迹直到所述下一个规划步骤;所述实际参考轨迹不是由所述瞬时参考轨迹中任何单独的一个定义的,而是由所述第二自主状态在所述场景的持续时间内的变化定义的。
35.根据权利要求33或34所述的方法,包括以下步骤:在用户界面处接收起始状态的指示,并且响应于所述指示至少发起所述场景的所述第二实例。
36.一种训练目标规划器以模仿自主机器人的专家规划器的计算机实现的方法,所述方法包括:
在递增规划步骤处将所述目标规划器应用于模拟场景中,以便计算响应于所述场景的变化的一系列自主规划,所述一系列自主规划在所述场景中实施,以引起自主状态的变化;
通过在所述规划步骤处将专家规划器应用于场景状态来计算所述规划步骤中的至少一个的专家规划,以及
将所述场景状态和所述专家规划用作训练示例,以训练所述目标规划器的一个或更多个模型从而模仿所述专家规划器,所述训练以最小化由应用于所述场景状态时的所述目标规划器计算的所述自主规划和由应用于所述场景状态时的所述专家规划器计算的所述专家规划之间的偏差为目标而执行,所述场景状态包括:在实施由所述目标规划器计算的所述一系列自主规划中的一个或更多个先前自主规划所引起的所述规划步骤处的所述自主状态。
37.根据权利要求36所述的方法,其中,所述自主规划采取由所述目标规划器计算的瞬时自主轨迹的形式,其中,在所述至少一个规划步骤处计算的所述瞬时自主轨迹在时间上比所述下一个规划步骤延伸得更远,其中,所述专家规划也采取在时间上比所述下一个规划步骤延伸得更远的瞬时专家轨迹的形式。
38.根据权利要求36或37所述的方法,其中,所述专家规划器是基于约束优化的规划器。
39.一种计算机程序,所述计算机程序被配置为编程计算机***以执行任一前述权利要求所述的方法。
40.一种计算机***,所述计算机***包括被编程为执行权利要求1至38中任一项所述的方法的一个或更多个计算机。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2017253.2 | 2020-10-30 | ||
GBGB2017253.2A GB202017253D0 (en) | 2020-10-30 | 2020-10-30 | Tools for performance testing and/or training autonomous vehicle planners |
GB2017252.4 | 2020-10-30 | ||
GBGB2017252.4A GB202017252D0 (en) | 2020-10-30 | 2020-10-30 | Planning in mobile robots |
PCT/EP2021/080206 WO2022090512A2 (en) | 2020-10-30 | 2021-10-29 | Tools for performance testing and/or training autonomous vehicle planners |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116134292A true CN116134292A (zh) | 2023-05-16 |
Family
ID=78536183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180057120.3A Pending CN116134292A (zh) | 2020-10-30 | 2021-10-29 | 用于性能测试和/或训练自动驾驶车辆规划器的工具 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230219585A1 (zh) |
EP (1) | EP4150426A2 (zh) |
CN (1) | CN116134292A (zh) |
WO (1) | WO2022090512A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117405131A (zh) * | 2023-12-14 | 2024-01-16 | 中汽智联技术有限公司 | 偏转算法误差评定方法、设备和存储介质 |
CN117408439A (zh) * | 2023-12-15 | 2024-01-16 | 广东省科技基础条件平台中心 | 一种航路规划算法性能的评价方法、装置、设备及介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220355822A1 (en) * | 2021-05-10 | 2022-11-10 | Toyota Research Institute, Inc. | Method for enumerating homotopies for maneuvers using a hierarchy of tolerance relations |
US11912311B2 (en) * | 2021-08-10 | 2024-02-27 | GM Global Technology Operations LLC | System and method of detecting and mitigating erratic on-road vehicles |
US20230177850A1 (en) * | 2021-12-06 | 2023-06-08 | Toyota Research Institute, Inc. | Systems and methods for uncertainty aware monocular 3d object detection |
US20230177849A1 (en) * | 2021-12-06 | 2023-06-08 | Toyota Research Institute, Inc. | Monocular object detection via end-to-end differentiable pipeline |
EP4361877A1 (en) * | 2022-10-28 | 2024-05-01 | Aptiv Technologies AG | Methods and systems for generating trajectory information of a plurality of road users |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210339772A1 (en) * | 2018-10-16 | 2021-11-04 | Five Al Limited | Driving scenarios for autonomous vehicles |
EP3726497A1 (en) * | 2019-04-15 | 2020-10-21 | Zenuity AB | Autonomous decisions in traffic situations with planning control |
EP4081876B1 (en) | 2020-01-28 | 2024-04-10 | Five AI Limited | Planning in mobile robots |
-
2021
- 2021-10-29 WO PCT/EP2021/080206 patent/WO2022090512A2/en unknown
- 2021-10-29 CN CN202180057120.3A patent/CN116134292A/zh active Pending
- 2021-10-29 EP EP21805430.2A patent/EP4150426A2/en active Pending
- 2021-10-29 US US18/011,016 patent/US20230219585A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117405131A (zh) * | 2023-12-14 | 2024-01-16 | 中汽智联技术有限公司 | 偏转算法误差评定方法、设备和存储介质 |
CN117405131B (zh) * | 2023-12-14 | 2024-02-23 | 中汽智联技术有限公司 | 偏转算法误差评定方法、设备和存储介质 |
CN117408439A (zh) * | 2023-12-15 | 2024-01-16 | 广东省科技基础条件平台中心 | 一种航路规划算法性能的评价方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022090512A3 (en) | 2022-06-02 |
EP4150426A2 (en) | 2023-03-22 |
US20230219585A1 (en) | 2023-07-13 |
WO2022090512A2 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116134292A (zh) | 用于性能测试和/或训练自动驾驶车辆规划器的工具 | |
Son et al. | Simulation-based testing framework for autonomous driving development | |
Sukthankar | Situation awareness for tactical driving | |
el abidine Kherroubi et al. | Novel decision-making strategy for connected and autonomous vehicles in highway on-ramp merging | |
CN114846425A (zh) | 移动机器人的预测和规划 | |
US20220153314A1 (en) | Systems and methods for generating synthetic motion predictions | |
Scheel et al. | Situation assessment for planning lane changes: Combining recurrent models and prediction | |
EP4020113A1 (en) | Dynamic model evaluation package for autonomous driving vehicles | |
Wang et al. | Haptic assistive control with learning-based driver intent recognition for semi-autonomous vehicles | |
Sun et al. | Human-like highway trajectory modeling based on inverse reinforcement learning | |
Wheeler et al. | A probabilistic framework for microscopic traffic propagation | |
Lodhi et al. | Autonomous vehicular overtaking maneuver: A survey and taxonomy | |
Arbabi et al. | Learning an interpretable model for driver behavior prediction with inductive biases | |
Jiang et al. | A reinforcement learning benchmark for autonomous driving in general urban scenarios | |
Arbabi et al. | Planning for autonomous driving via interaction-aware probabilistic action policies | |
Chen et al. | Combining Model-Based Controllers and Generative Adversarial Imitation Learning for Traffic Simulation | |
EP3920070A1 (en) | Testing and simulation in autonomous driving | |
Bahram | Interactive maneuver prediction and planning for highly automated driving functions | |
Kuutti | End-to-end deep learning control for autonomous vehicles | |
Huang | Safe intention-aware maneuvering of autonomous vehicles | |
Ayyagari | Comparative Study of Model-based Lateral Controllers with Selected Deep Learning Methods for Autonomous Driving | |
Luo et al. | UML-based design of intelligent vehicles virtual reality platform | |
Bhattacharyya | Modeling Human Driving from Demonstrations | |
Wheeler | Automotive safety validation in simulation | |
Thorat et al. | Modelling and Simulation-Based Design Approach to Assisted and Automated Driving Systems Development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |