CN115146523A - 选择用于评价自动运载工具的性能的测试情景 - Google Patents
选择用于评价自动运载工具的性能的测试情景 Download PDFInfo
- Publication number
- CN115146523A CN115146523A CN202110911909.2A CN202110911909A CN115146523A CN 115146523 A CN115146523 A CN 115146523A CN 202110911909 A CN202110911909 A CN 202110911909A CN 115146523 A CN115146523 A CN 115146523A
- Authority
- CN
- China
- Prior art keywords
- scenarios
- metric
- scenario
- performance
- subset
- 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
- 238000012360 testing method Methods 0.000 title abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 70
- 230000009467 reduction Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 38
- 230000015654 memory Effects 0.000 description 27
- 238000011156 evaluation Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 23
- 238000009826 distribution Methods 0.000 description 22
- 230000006399 behavior Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 15
- 239000013598 vector Substances 0.000 description 15
- 230000001133 acceleration Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000002474 experimental method Methods 0.000 description 10
- 238000004088 simulation Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008447 perception Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 230000003467 diminishing effect Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 230000033228 biological regulation Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 241000282412 Homo Species 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000002567 autonomic effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100460704 Aspergillus sp. (strain MF297-2) notI gene Proteins 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 244000268528 Platanus occidentalis Species 0.000 description 1
- 241001122315 Polites Species 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000034994 death Effects 0.000 description 1
- 231100000517 death Toxicity 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- VUQUOGPMUUJORT-UHFFFAOYSA-N methyl 4-methylbenzenesulfonate Chemical group COS(=O)(=O)C1=CC=C(C)C=C1 VUQUOGPMUUJORT-UHFFFAOYSA-N 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Images
Classifications
-
- 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/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- 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
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/12—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to parameters of the vehicle itself, e.g. tyre models
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/10—Path keeping
-
- 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
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M17/00—Testing of vehicles
- G01M17/007—Wheeled or endless-tracked vehicles
-
- 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
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/0227—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
-
- 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
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
- B60W2556/50—External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
-
- 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/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Geometry (AREA)
- Traffic Control Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及选择用于评价自动运载工具的性能的测试情景。在示例方法中,计算机***接收表示用于估计运载工具在进行自主操作时的性能的多个情景的第一数据。此外,计算机***针对各个情景,确定:(i)第一度量,其指示运载工具在该情景中的观测性能,其中该第一度量是基于至少一个规则而确定的;以及(ii)第二度量,其指示与该情景相关联的信息增益的程度。计算机***基于第一度量和第二度量来选择情景的子集,并且输出指示情景的子集的第二数据。
Description
技术领域
本说明书涉及用于选择用于评价自主运载工具的性能的测试情景的计算机***。
背景技术
通常在多个情景中测试自主运载工具(AV),以评估AV在各种条件下的行为。基于测试的结果,可以修改和/或重新配置AV以改善其行为。
作为示例,在开发处理期间,可以在多个情景中测试AV的自主导航能力,各情景表示道路、障碍物、其它运载工具、行人和AV必须穿过的交通流的不同组合。基于测试的结果,开发人员可以修改和/或重新配置AV,使得AV的自主导航能力得以提高。
发明内容
根据本发明的第一方面,一种方法,包括:利用计算机***接收表示用于估计运载工具在进行自主操作时的性能的多个情景的第一数据;利用所述计算机***,针对各个情景,确定:第一度量,其指示所述运载工具在该情景中的观测性能,其中所述第一度量是基于至少一个规则而确定的,以及第二度量,其指示与该情景相关联的信息增益的程度;利用所述计算机***,基于所述第一度量和所述第二度量来选择情景的子集;以及利用所述计算机***,输出指示情景的子集的第二数据。
根据本发明的第二方面,一种***,包括:至少一个处理器;以及至少一个非暂时性计算机可读介质,其存储有指令,所述指令在由所述至少一个处理器执行时,使得所述至少一个处理器进行操作,所述操作包括:接收表示用于估计运载工具在进行自主操作时的性能的多个情景的第一数据;针对各个情景,确定:第一度量,其指示所述运载工具在该情景中的观测性能,其中所述第一度量是基于至少一个规则而确定的,以及第二度量,其指示与该情景相关联的信息增益的程度;基于所述第一度量和所述第二度量来选择情景的子集;以及输出指示情景的子集的第二数据。
根据本发明的第三方面,至少一个非暂时性计算机可读介质,其存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行操作,所述操作包括:接收表示用于估计运载工具在进行自主操作时的性能的多个情景的第一数据;针对各个情景,确定:第一度量,其指示所述运载工具在该情景中的观测性能,其中所述第一度量是基于至少一个规则而确定的,以及第二度量,其指示与该情景相关联的信息增益的程度;基于所述第一度量和所述第二度量来选择情景的子集;以及输出指示情景的子集的第二数据。
附图说明
图1示出具有自主能力的AV的示例。
图2示出示例“云”计算环境。
图3示出计算机***。
图4示出AV的示例架构。
图5示出感知模块可以使用的输入和输出的示例。
图6示出LiDAR***的示例。
图7示出操作中的LiDAR***。
图8示出LiDAR***的操作的附加细节。
图9示出规划模块的输入和输出之间的关系的框图。
图10示出路径规划中所使用的有向图。
图11示出控制模块的输入和输出的框图。
图12示出控制器的输入、输出和组件的框图。
图13示出用于迭代地对AV进行原型化并验证原型化AV的性能的示例***。
图14A和图14B示出用于测试AV的性能的情景的简化示例。
图15示出用于选择用于测试AV的性能的一组情景的示例处理。
图16示出所测试的情景的数量与关于AV的性能所获得的信息总量之间的简化关系。
图17示出贝叶斯层次型模型的表示。
图18示出随机变量X的示例概率分布。
图19示出用于评估AV的性能的两个示例城镇的地图。
图20示出示例计算机化模拟的所有情景中的碰撞的概率分布。
图21示出根据示例计算机化模拟的六个示例城镇的沿着路线的碰撞的分布。
图22A示出拟合的贝叶斯层次型模型的不可观测参数的示例后验分布。
图22B示出贝叶斯层次型模型的示例预测后验拟合。
图23示出用于这里所述的示例情景选择算法、拉丁超立方采样实现和数个随机选择的信息增益的比较。
图24示出用于监测和控制一个或多个AV的操作的示例处理的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.***概述
3.AV架构
4.AV输入
5.AV规划
6.AV控制
7.AV性能评价***
8.用于基于信息增益来选择情景的示例技术
总体概述
通常在多个情景中测试自主运载工具(AV),以评估AV在各种条件下的行为。例如,各情景可以指定道路、障碍物、其它运载工具、行人、交通流和AV必须穿过的环境条件的特定组合。如果AV在这些情景中的一个或多个中表现出不期望的行为(例如,如果AV被卷入碰撞、违反道路的规则等),则可以修改AV的行为,使得AV将来不太可能表现出该行为。
在一些情况下,考虑到特定资源预算,可以选择一组情景,以最大化关于AV的性能所获得的信息量。例如,AV的性能可被表示为具有特定概率分布的随机变量。此外,可以使用一个或多个情景来进行测试,使得该随机变量的熵减小。相对于在用于进行测试时使随机变量的熵减小了相对较小的程度的情景,可以优先选择在用于进行测试时使该熵减小了特定程度的情景。此外,所选择的一组情景可以包括在一组标准的测试中,以在AV的自主导航***的开发和验证期间评估AV的性能。
这些技术的一些优点包括提高可以对AV的性能进行测试的效率和速率。
例如,在传统方法中,可能以蛮力的方式在大量情景中测试AV,而不考虑从各测试情景获得的信息量。由于一些情景在评估AV的性能时可能提供很少的证明价值和/或考虑到其它情景可能是冗余的,因此在测试这些情景时可能会浪费资源。此外,由于所测试的各连续情景在评估AV性能时可能提供收益递减,因此可能会投入大量资源来关于AV的性能获得相对不太有用的信息。
相反,本文所述的技术使得能够更快且更高效地测试AV的性能。例如,可以选择有限的一组情景来进行测试,使得该组中的各个情景均提供用于评估AV的性能的有用信息。此外,可以选择该组以减轻收益递减的影响。因此,可以使用(例如,与可能以蛮力方法采用的测试情景的数量相比)更少数量的测试情景来确定AV的性能。
在一些实现中,这些技术(例如,通过使得开发人员能够更快地识别AV的不期望行为,使得可以纠正该行为)可以加速AV自主导航***的开发和验证。此外,这些技术可用于确定AV是否满足某些安全目标或要求(例如,期望的安全水平)。
***概述
图1示出具有自主能力的AV 100的示例。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全AV、高度AV和有条件AV。
如本文所使用的,AV(AV)是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指将AV从第一时空地点导航到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,并且各路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,RAM和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的一个或多个传感器检测到的一个或多个分类或标记的对象,或由AV外部的源提供的一个或多个分类或标记的对象。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿越的部分。有时基于车道标记来识别车道。例如,车道可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能容纳两个或两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木、或者例如在欠发达地区应避免的自然障碍物)来定义车道。也可以独立于车道标记或物理特征来解释车道。例如,可以基于原本缺少将会被解释为车道边界的特征的在区域中无障碍物的任意路径来解释车道。在示例情景中,AV可以解释通过田野或空地的无障碍物部分的车道。在另一示例情景中,AV可以解释通过不具有车道标记的宽(例如,足够两个或更多个车道宽)道路的车道。在该情景中,AV可以将与车道有关的信息通信至其它AV,使得其它AV可以使用相同的车道信息来协调AV之间的路径规划。
如本文所使用的,“同伦”是指AV在穿过特定路线时可以遵守的对AV的轨迹的一组约束的子集。
如本文所使用的,“可行”是指AV在驶向目的地时是否可以遵守同伦中的约束。
“一个或多个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任何组合。
还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
如本文所使用的,AV***是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV***并入在AV内。在实施例中,AV***跨若干地点分布。例如,AV***的一些软件是在类似于下面关于图2描述的云计算环境200的云计算环境上实现的。
一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全AV、高度AV和有条件AV,诸如分别为所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶***相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。本文件所描述的技术也适用于部分AV和驾驶员辅助运载工具,诸如所谓的第2级和第1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶***相关术语的分类和定义)。在实施例中,一个或多个第1级、第2级、第3级、第4级和第5级运载工具***可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全AV到人类操作的运载工具范围内的任何级别的运载工具受益。
AV与需要人类驾驶员的运载工具相比存在优势。一个优势是安全性。例如,在2016年,美国经历了600万起汽车事故、240万人受伤、40000人死亡和1300万辆运载工具碰撞事故,估计社会成本为9100亿美元多。从1965年到2015年,每行驶1亿英里的美国交通事故死亡人数已从约6人减少到约1人,部分是由于运载工具中所部署的附加安全措施。例如,认为与将发生碰撞有关的额外半秒的警告减轻了60%的前后碰撞。然而,被动安全特征(例如,安全带、安全气囊)在改进该数字方面有可能已达到它们的极限。因而,诸如运载工具的自动控制等的主动安全措施是改进这些统计数据的可能的下一步。由于在95%的碰撞中认为人类驾驶员是造成严重碰撞前事件的原因,因此自动驾驶***例如通过以下操作,有可能实现更好的安全结果:比人类更好地可靠地识别和避免紧急情况;做出比人类更好的决策,比人类更好地遵守交通法规,并且比人类更好地预测将来事件;并且比人类更好地可靠地控制运载工具。
参考图1,AV***120使AV 100沿着轨迹198操作,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。
在实施例中,AV***120包括用于从计算机处理器146接收操作命令并对其进行操作的装置101。使用术语“操作命令”来表示使得运载工具进行动作(例如,驾驶机动动作)的可执行指令(或指令集)。操作命令可以非限制性地包括用于使运载工具开始向前移动、停止向前移动、开始向后移动、停止向后移动、加速、减速、进行左转和进行右转的指令。在实施例中,计算机处理器146与下面参考图3描述的处理器304相似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
在实施例中,AV***120包括用于测量或推断AV 100的状态或条件的属性的传感器121,这些属性诸如是AV的位置、线速度和角速度及线加速度和角加速度、以及航向(例如,AV 100的前端的方向)。传感器121的示例是GPS、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速率传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122,LiDAR 123,RADAR,超声波传感器,飞行时间(TOF)深度传感器,速率传感器,温度传感器,湿度传感器和降水传感器。
在实施例中,AV***120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与以下关于图3描述的ROM 308或存储装置310类似。在实施例中,存储器144与下面描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程数据库134通过通信信道传输到AV 100。
在实施例中,AV***120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到AV 100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与自主运载工具进行的和在AV之间的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV***120。在实施例中,远程数据库134嵌入在如图2中所描述的云计算环境200中。通信接口140将从传感器121收集的数据或与AV 100操作有关的其它数据传输到远程数据库134。在实施例中,通信接口140向AV 100传输与遥操作有关的信息。在一些实施例中,AV 100与其它远程(例如,“云”)服务器136通信。
在实施例中,远程数据库134还存储和传输数字数据(例如,存储诸如道路和街道地点的数据)。这些数据存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV 100。
在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速度分布)。在一个实现中,这种数据可以存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV100。
位于AV 100上的计算装置146基于实时传感器数据和先验信息两者以算法方式生成控制动作,允许AV***120执行其自主驾驶能力。
在实施例中,AV***120包括耦接到计算装置146的计算机***设备132,用于向AV100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,***设备132类似于下面参考图3讨论的显示器312、输入装置314和光标控制器316。耦接是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。
在实施例中,AV***120接收并强制执行例如由乘员指定的或者存储在与乘员相关联的简档中的乘员的隐私级别。乘员的隐私级别确定了如何许可使用存储在乘员简档中的以及/或者存储在云服务器136上且与乘员简档相关联的、与乘员相关联的特定信息(例如,乘员舒适度数据、生物测量数据等)。在实施例中,隐私级别指定了一旦搭乘完成则被删除的与乘员相关联的特定信息。在实施例中,隐私级别指定了与乘员相关联的特定信息,并且标识被授权访问该信息的一个或多个实体。被授权访问信息的所指定的实体的示例可以包括其它AV、第三方AV***、或者可以潜在地访问该信息的任何实体。
可以在一个或多个粒度级别指定乘员的隐私级别。在实施例中,隐私级别标识要存储或共享的特定信息。在实施例中,隐私级别适用于与乘员相关联的所有信息,使得乘员可以指定不存储或共享她的个人信息。被许可访问特定信息的实体的指定也可以在各种粒度级别指定。被许可访问特定信息的各种实体集例如可以包括其它AV、云服务器136、特定第三方AV***等。
在实施例中,AV***120或云服务器136确定AV 100或另一实体是否可访问与乘员相关联的某些信息。例如,试图访问与特定时空地点有关的乘员输入的第三方AV***必须例如从AV***120或云服务器136获得授权,以访问与乘员相关联的信息。例如,AV***120使用乘员的指定隐私级别来确定是否可以将与时空地点有关的乘员输入呈现给第三方AV***、AV 100或另一AV。这使得乘员的隐私级别能够指定允许哪些其它实体接收与乘员的动作有关的数据或与乘员相关联的其它数据。
图2例示示例“云”计算环境。云计算是一种服务交付模式,用于使得能够方便、按需地在网络上访问可配置计算资源(例如网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)的共享池。在典型的云计算***中,一个或多个大型云数据中心容纳用于交付云所提供的服务的机器。现在参考图2,云计算环境200包括通过云202互连的云数据中心204a、204b和204c。数据中心204a、204b和204c为连接到云202的计算机***206a、206b、206c、206d、206e和206f提供云计算服务。
云计算环境200包括一个或多个云数据中心。一般而言,云数据中心(例如图2中所示的云数据中心204a)是指构成云(例如图2中所示的云202或云的特定部分)的服务器的物理排列。例如,服务器在云数据中心中物理排列成房间、组、行和机架。云数据中心有一个或多个区域,其中包括一个或多个服务器房间。每个房间有一行或多行服务器,并且每行包括一个或多个机架。每个机架包括一个或多个单独的服务器节点。在一些实现中,区域、房间、机架和/或行中的服务器基于数据中心设施的物理基础设施要求(包括电力、能源、热力、热源和/或其它要求)被排列成若干组。在实施例中,服务器节点类似于图3中描述的计算机***。数据中心204a具有许多分布在多个机架上的计算***。
云202包括云数据中心204a、204b和204c以及用于连接云数据中心204a、204b和204c并有助于促进计算***206a-f对云计算服务的访问的网络和网络资源(例如,网络设备、节点、路由器、交换机和网络电缆)。在实施例中,该网络表示一个或多个本地网络、广域网或通过使用地面或卫星连接部署的有线或无线链路耦接的网际网络的任意组合。通过网络交换的数据使用多种网络层协议(诸如,因特网协议(IP)、多协议标签交换(MPLS)、异步传输模式(ATM)、帧中继(Frame Relay)等)进行传输。此外,在网络表示多个子网络的组合的实施例中,在每个底层子网络上使用不同的网络层协议。在一些实施例中,网络表示一个或多个互连网际网络(诸如公共因特网等)。
计算***206a-f或云计算服务消费者通过网络链路和网络适配器连接到云202。在实施例中,计算***206a-f被实现为各种计算装置,例如服务器、台式机、膝上型计算机、平板电脑、智能手机、物联网(IoT)装置、AV(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。在实施例中,计算***206a-f在其它***中实现或作为其它***的一部分实现。
图3例示计算机***300。在实现中,计算机***300是一种专用计算装置。专用计算装置被硬连线以执行这些技术,或包括诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的被持久编程为执行上述技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成这些技术。在各种实施例中,专用计算装置是台式计算机***、便携式计算机***、手持装置、网络装置或包含硬线和/或程序逻辑以实现这些技术的任何其它装置。
在实施例中,计算机***300包括总线302或用于传达信息的其它通信机制、以及与总线302耦接以处理信息的硬件处理器304。硬件处理器304是例如通用微处理器。计算机***300还包括主存储器306,诸如随机存取存储器(RAM)或其它动态存储装置,该主存储器306耦接到总线302以存储信息和指令,该信息和指令由处理器304执行。在一个实现中,主存储器306用于在执行要由处理器304执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器304可访问的非暂时性存储介质中时,使计算机***300变成一个专用机器,该机器被定制以执行指令中指定的操作。
在实施例中,计算机***300还包括只读存储器(ROM)308或耦接到总线302的其它静态存储装置,用于存储处理器304的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器的存储装置310,并且该存储装置310耦接到总线302以存储信息和指令。
在实施例中,计算机***300通过总线302耦接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器的显示器312。包括字母数字键和其它键的输入装置314耦接到总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入装置是光标控制器316,诸如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器304,并用于控制光标在显示器312上的移动。这种输入装置通常具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面上的位置。
根据一个实施例,本文的技术由计算机***300响应于处理器304执行主存储器306中包含的一个或多个指令的一个或多个序列而执行。这些指令从诸如存储装置310的另一存储介质读入主存储器306。执行主存储器306中包含的指令序列使处理器304执行本文所描述的过程步骤。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。
如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置310的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NV-RAM、或任何其它存储芯片或存储盒。
存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线302的电线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信过程中产生的声波或光波。
在实施例中,各种形式的介质涉及将一个或多个指令的一个或多个序列承载到处理器304以供执行。例如,这些指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机***300的本地调制解调器接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将数据放置在总线302上。总线302将数据承载到主存储器306,处理器304从主存储器306检索并执行指令。主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储装置310上。
计算机***300还包括耦接到总线302的通信接口318。通信接口318提供耦接到连接至本地网络322的网络链路320的双向数据通信。例如,通信接口318是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口318是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口318发送和接收承载表示各种类型的信息的数字数据流的电、电磁或光信号。
网络链路320通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路320通过本地网络322提供与主计算机324或与由因特网服务提供商(ISP)326运营的云数据中心或设备的连接。ISP 326又通过现在通常称为“因特网”328的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中这些信号承载了进出计算机***300的数字数据。在实施例中,网络320包含上述云202或云202的一部分。
计算机***300通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机***300接收用于处理的代码。接收到的代码在接收到时由处理器304执行,和/或存储在存储装置310中,或存储在其它非易失性存储装置中以便以后执行。
AV架构
图4示出用于AV(例如,图1所示的AV 100)的示例架构400。架构400包括感知模块402(有时称为感知电路)、规划模块404(有时称为规划电路)、控制模块406(有时称为控制电路)、定位模块408(有时称为定位电路)和数据库模块410(有时称为数据库电路)。各模块在AV 100的操作中发挥作用。共同地,模块402、404、406、408和410可以是图1所示的AV***120的一部分。在一些实施例中,模块402、404、406、408和410中的任何模块是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路[ASIC]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。模块402、404、406、408和410各自有时被称为处理电路(例如,计算机硬件、计算机软件、或者这两者的组合)。模块402、404、406、408和410中的任何或全部的组合也是处理电路的示例。
在使用中,规划模块404接收表示目的地412的数据,并且确定表示AV100为了到达(例如,抵达)目的地412而可以行驶的轨迹414(有时称为路线)的数据。为了使规划模块404确定表示轨迹414的数据,规划模块404从感知模块402、定位模块408和数据库模块410接收数据。
感知模块402使用例如也如图1所示的一个或多个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象416的场景描述提供至规划模块404。
规划模块404还从定位模块408接收表示AV位置418的数据。定位模块408通过使用来自传感器121的数据和来自数据库模块410的数据(例如,地理数据)以计算位置来确定AV位置。例如,定位模块408使用来自GNSS(全球导航卫星***)传感器的数据和地理数据来计算AV的经度和纬度。在实施例中,定位模块408所使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。在实施例中,高精度地图是通过将数据经由自动或手动标注添加到低精度地图所构建的。
控制模块406接收表示轨迹414的数据和表示AV位置418的数据,并且以将使得AV100行驶轨迹414到达目的地412的方式来操作AV的控制功能420a~420c(例如,转向、油门、制动、点火***)。例如,如果轨迹414包括左转,则控制模块406将以如下方式操作控制功能420a~420c:转向功能的转向角度将使得AV 100左转,并且油门和制动将使得AV 100在进行转弯之前暂停并等待经过的行人或运载工具。
AV输入
图5示出感知模块402(图4)所使用的输入502a-502d(例如,图1中所示的传感器121)和输出504a-504d(例如,传感器数据)的示例。一个输入502a是LiDAR(光检测和测距)***(例如,图1所示的LiDAR 123)。LiDAR是使用光(例如,诸如红外光等的一道光)来获得与其视线中的物理对象有关的数据的技术。LiDAR***产生LiDAR数据作为输出504a。例如,LiDAR数据是用于构造环境190的表示的3D或2D点(也称为点云)的集合。
另一输入502b是RADAR(雷达)***。RADAR是使用无线电波来获得与附近的物理对象有关的数据的技术。RADAR可以获得与不在LiDAR***的视线内的对象有关的数据。RADAR***产生RADAR数据作为输出504b。例如,RADAR数据是用于构造环境190的表示的一个或多个射频电磁信号。
另一输入502c是照相机***。照相机***使用一个或多个照相机(例如,使用诸如电荷耦接器件[CCD]等的光传感器的数字照相机)来获取与附近的物理对象有关的信息。照相机***产生照相机数据作为输出504c。照相机数据通常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。在一些示例中,照相机***具有例如为了立体影像(立体视觉)的目的的多个独立照相机,这使得照相机***能够感知深度。尽管照相机***所感知的对象在这里被描述为“附近”,但这是相对于AV而言的。在一些实施例中,照相机***被配置为“看见”远处的(例如,AV前方的远至1公里或更远的)对象。因此,在一些实施例中,照相机***具有为了感知遥远的对象而优化的诸如传感器和镜头等的特征。
另一输入502d是交通灯检测(TLD)***。TLD***使用一个或多个照相机来获得与交通灯、街道标志和提供视觉导航信息的其它物理对象有关的信息。TLD***产生TLD数据作为输出504d。TLD数据经常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。TLD***与包含照相机的***的不同之处在于:TLD***使用具有宽视场(例如,使用广角镜头或鱼眼镜头)的照相机,以获得与尽可能多的提供视觉导航信息的物理对象有关的信息,使得AV 100能够访问这些对象所提供的所有相关导航信息。例如,TLD***的视角为约120度或更大。
在一些实施例中,使用传感器融合技术来组合输出504a-504d。因而,将个体输出504a-504d提供至AV 100的其它***(例如,提供至如图4所示的规划模块404),或者可以采用相同类型的单个组合输出或多个组合输出(例如,使用相同组合技术或组合相同输出或者这两者)或不同类型的单个组合输出或多个组合输出(例如,使用不同的各个组合技术或组合不同的各个输出或者这两者)的形式,将组合输出提供至其它***。在一些实施例中,使用早期融合技术。早期融合技术的特征在于:在将一个或多个数据处理步骤应用到组合输出之前,将输出组合。在一些实施例中,使用后期融合技术。后期融合技术的特征在于:在将一个或多个数据处理步骤应用到个体输出之后,将输出组合。
图6示出LiDAR***602的示例(例如,图5所示的输入502a)。LiDAR***602从发光器606(例如,激光发射器)发射光604a-604c。LiDAR***所发射的光通常不在可见光谱中;例如,经常使用红外光。所发射的光604b中的一些光遇到物理对象608(例如,运载工具)并且反射回到LiDAR***602。(从LiDAR***发射的光通常不会穿透物理对象,例如,实心形式的物理对象。)LiDAR***602还具有用于检测反射光的一个或多个光检测器610。在实施例中,与LiDAR***相关联的一个或多个数据处理***生成表示LiDAR***的视场614的图像612。图像612包括表示物理对象608的边界616的信息。这样,图像612用于确定AV附近的一个或多个物理对象的边界616。
图7示出操作中的LiDAR***602。在该图所示的情境中,AV 100接收采用图像702的形式的照相机***输出504c和采用LiDAR数据点704的形式的LiDAR***输出504a两者。在使用中,AV 100的数据处理***将图像702与数据点704进行比较。特别地,在数据点704中也识别在图像702中识别出的物理对象706。这样,AV 100基于数据点704的轮廓和密度来感知物理对象的边界。
图8示出LiDAR***602的操作的附加细节。如上所述,AV 100基于LiDAR***602所检测到的数据点的特性来检测物理对象的边界。如图8所示,诸如地面802等的平坦对象将以一致的方式反射从LiDAR***602发射的光804a-804d。换句话说,由于LiDAR***602使用一致的间隔发射光,因此地面802将以相同的一致间隔将光反射回到LiDAR***602。在AV100在地面802上行驶时,在没有东西阻挡道路的情况下,LiDAR***602将继续检测到由下一个有效地面点806反射的光。然而,如果对象808阻挡道路,则LiDAR***602所发射的光804e-804f将以与预期一致方式不一致的方式从点810a-810b反射。根据该信息,AV 100可以确定存在对象808。
路径规划
图9示出(例如,如图4所示的)规划模块404的输入和输出之间的关系的框图900。一般而言,规划模块404的输出是从起点904(例如,源地点或初始地点)到终点906(例如,目的地或最终地点)的路线902。路线902通常由一个或多个路段定义。例如,路段是指要在街道、道路、公路、行车道或适合汽车行驶的其它物理区域的至少一部分上行驶的距离。在一些示例中,例如,如果AV 100是诸如四轮驱动(4WD)或全轮驱动(AWD)小汽车、SUV或小卡车等的能够越野的运载工具,则路线902包括诸如未铺面路径或开阔田野等的“越野”路段。
除路线902之外,规划模块还输出车道级路线规划数据908。车道级路线规划数据908用于在特定时间基于路线902的路段的条件来驶过这些路段。例如,如果路线902包括多车道公路,则车道级路线规划数据908包括轨迹规划数据910,其中AV 100可以使用该轨迹规划数据910以例如基于出口是否临近、多个车道中的一个或多个车道是否存在其它运载工具、或者在几分钟或更少时间的过程中变化的其它因素来从这多个车道中选择某车道。类似地,在一些实现中,车道级路线规划数据908包括路线902的某路段特有的速率约束912。例如,如果该路段包括行人或非预期交通,则速率约束912可以将AV 100限制到比预期速率慢的行驶速率,例如基于该路段的限速数据的速率。
在实施例中,向规划模块404的输入包括(例如,来自图4所示的数据库模块410的)数据库数据914、当前地点数据916(例如,图4所示的AV位置418)、(例如,用于图4所示的目的地412的)目的地数据918和对象数据920(例如,如图4所示的感知模块402所感知的经分类的对象416)。在一些实施例中,数据库数据914包括规划时所使用的规则(还称为规则手册)。规则是使用形式语言(例如,使用布尔逻辑或线性时序逻辑(LTL))指定的。在AV 100所遇到的任何给定情形中,这些规则中的至少一些规则将适用于该情形。如果规则具有基于AV 100可用的信息(例如,与周围环境有关的信息)所满足的条件,则该规则适用于给定情形。规则可以具有优先级。例如,“如果公路是高速公路,则移动到最左侧车道”这一规则与“如果出口在一英里内临近,则移动到最右侧车道”相比可以具有更低的优先级。
图10示出在路径规划中(例如,由规划模块404(图4))使用的有向图1000。一般而言,如图10所示的有向图那样的有向图1000用于确定任何起点1002和终点1004之间的路径。在现实世界中,分隔起点1002和终点1004的距离可能相对较大(例如,在两个不同的都市区域中),或者可能相对较小(例如,毗邻城市街区的两个十字路口或多车道道路的两条车道)。
在实施例中,有向图1000具有表示起点1002和终点1004之间的AV 100可能占用的不同地点的节点1006a-1006d。在一些示例中,例如,在起点1002和终点1004表示不同的都市区域时,节点1006a-1006d表示道路的路段。在一些示例中,例如,在起点1002和终点1004表示相同道路上的不同地点时,节点1006a-1006d表示该道路上的不同位置。这样,有向图1000包括不同粒度级别的信息。在实施例中,具有高粒度的有向图也是具有更大规模的另一有向图的子图。例如,起点1002和终点1004相距远(例如,相距许多英里)的有向图的大部分信息处于低粒度,并且该有向图是基于所存储的数据,但该有向图还包括用于该有向图中的表示AV 100的视场中的物理地点的一部分的一些高粒度信息。
节点1006a-1006d不同于无法与节点重叠的对象1008a-1008b。在实施例中,在粒度低时,对象1008a-1008b表示汽车不能穿过的地区,例如无街道或道路的区域。在粒度高时,对象1008a-1008b表示AV 100的视场中的物理对象,例如其它汽车、行人、或AV 100不能与之共用物理空间的其它实体。在实施例中,对象1008a-1008b的一部分或全部是静态对象(例如,不改变位置的对象,诸如街灯或电线杆等)或动态对象(例如,能够改变位置的对象,诸如行人或其它小汽车等)。
节点1006a-1006d通过边1010a-1010c连接。如果两个节点1006a-1006b通过边1010a连接,则AV 100可以在一个节点1006a和另一节点1006b之间行驶,例如,而不必在到达另一节点1006b之前行驶到中间节点。(即,AV 100在由相应节点表示的两个物理位置之间行驶。)边1010a-1010c通常是双向的,从某种意义上,AV 100从第一节点行驶到第二节点,或者从第二节点行驶到第一节点。在实施例中,边1010a-1010c是单向的,从某种意义上,AV 100可以从第一节点行驶到第二节点,然而AV 100不能从第二节点行驶到第一节点。在边1010a-1010c表示例如单向街道,街道、道路或公路的单独车道,或者由于法律或地图约束因而仅能沿一个方向穿过的其它特征的情况下,边1010a-1010c是单向的。
在实施例中,规划模块404使用有向图1000来识别由起点1002和终点1004之间的节点和边组成的路径1012。
边1010a-1010c具有关联成本1014a-1014b。成本1014a-1014b是表示在AV100选择该边的情况下将花费的资源的值。典型的资源是时间。例如,如果一个边1010a所表示的物理距离是另一边1010b所表示的物理距离的两倍,则第一边1010a的关联成本1014a可以是第二边1010b的关联成本1014b的两倍。影响时间的其它因素包括预期交通、十字路口的数量、限速等。另一典型的资源是燃料经济性。两个边1010a-1010b可以表示相同的物理距离,但例如由于道路条件、预期天气等,因此一个边1010a与另一边1010b相比需要更多的燃料。
在规划模块404识别起点1002和终点1004之间的路径1012时,规划模块404通常选择针对成本优化的路径,例如,在将边的个体成本相加到一起时具有最小总成本的路径。
AV控制
图11示出(例如,如图4所示的)控制模块406的输入和输出的框图1100。控制模块根据控制器1102而操作,该控制器1102例如包括:与处理器304类似的一个或多个处理器(例如,诸如微处理器或微控制器或这两者等的一个或多个计算机处理器);与主存储器306、ROM 308和存储装置310类似的短期和/或长期数据存储装置(例如,存储器,随机存取存储器或闪速存储器或这两者);以及存储器中所存储的指令,这些指令在(例如,由一个或多个处理器)执行时执行控制器1102的操作。
在实施例中,控制器1102接收表示期望输出1104的数据。期望输出1104通常包括速度,例如速率和航向。期望输出1104例如可以基于从(例如,如图4所示的)规划模块404接收到的数据。根据期望输出1104,控制器1102产生可用作油门输入1106和转向输入1108的数据。油门输入1106表示例如通过接合转向踏板或接合另一油门控件来接合AV 100的油门(例如,加速控制)以实现期望输出1104的大小。在一些示例中,油门输入1106还包括可用于接合AV100的制动器(例如,减速控制)的数据。转向输入1108表示转向角度,例如AV的转向控制(例如,方向盘、转向角致动器或用于控制转向角度的其它功能)应被定位成实现期望输出1104的角度。
在实施例中,控制器1102接收在调整提供至油门和转向的输入时使用的反馈。例如,如果AV 100遇到诸如山丘等的干扰1110,则AV 100的测量速率1112降至低于期望输出速率。在实施例中,任何测量输出1114均被提供至控制器1102,使得例如基于测量速率和期望输出之间的差分1113来进行所需的调整。测量输出1114包括测量位置1116、测量速度1118(包括速率和航向)、测量加速度1120和AV 100的传感器可测量的其它输出。
在实施例中,例如通过诸如照相机或LiDAR传感器等的传感器预先检测与干扰1110有关的信息,并且该信息被提供至预测性反馈模块1122。然后,预测性反馈模块1122将控制器1102可用于相应地调整的信息提供至控制器1102。例如,如果AV 100的传感器检测到(“看见”)山丘,则控制器1102可以使用该信息来准备在适当时间接合油门,以避免显著减速。
图12示出控制器1102的输入、输出和组件的框图1200。控制器1102具有影响油门/制动器控制器1204的操作的速率分析器1202。例如,速率分析器1202根据例如由控制器1102接收到并由速率分析器1202处理后的反馈,来指示油门/制动器控制器1204使用油门/制动器1206进行加速或进行减速。
控制器1102还具有影响方向盘控制器1210的操作的横向跟踪控制器1208。例如,横向跟踪控制器1208根据例如由控制器1102接收到并由横向跟踪控制器1208处理后的反馈,来指示方向盘控制器1210调整转向角致动器1212的位置。
控制器1102接收用于确定如何控制油门/制动器1206和转向角致动器1212的若干输入。规划模块404提供控制器1102例如选择AV 100开始操作时的航向并确定在AV 100到达十字交叉路口时穿过哪个道路路段所使用的信息。定位模块408例如将描述AV 100的当前地点的信息提供至控制器1102,使得控制器1102可以确定AV 100是否处于基于正控制油门/制动器1206和转向角致动器1212的方式而预期的地点。在实施例中,控制器1102接收来自其它输入1214的信息,例如从数据库、计算机网络等接收到的信息。
自主运载工具性能评价***
计算机化性能评价***可被配置为评估AV在进行自主操作时的行为。例如,AV(例如,AV 100,如参考图1-12所述)可被配置为进行自主导航操作,诸如自主地确定从一个地点到另一地点的路径并穿过该路径等。此外,性能评价***可以选择一组情景来测试AV在进行这些操作时的安全性、效率和有效性。在一些实现中,性能评价***可以使用一个或多个模拟情景来进行这些测试中的至少一些测试以测试AV在计算机化虚拟环境中的行为。在一些实现中,可以使用一个或多个真实世界情景来进行这些测试中的至少一些测试,以测试AV在物理环境中的实际行为。
此外,可以基于测试来修改和/或重新配置AV以提高AV的性能。例如,可以基于测试来修改AV的一个或多个组件、这些组件的配置和/或AV的规则手册,使得AV在进行自主操作时更安全地、高效地和/或有效地执行。作为示例,如果测试表明AV在特定条件下以不安全或其它不期望的方式表现,则可以修改和/或重新配置AV以降低AV将来在这些条件下将以该方式表现的可能性。
在一些实现中,性能评价***可用于作为用于开发AV的迭代原型化和验证处理的一部分。例如,可以交替地验证并连续多次修改AV的配置以渐进地识别和校正AV的不安全或其它不期望行为。
图13示出用于迭代地对AV进行原型化并验证原型化AV的性能的示例***1300。***1300包括AV原型化***1302和AV性能评价***1304。
AV原型化***1302可以至少部分地使用一个或多个计算机***(例如,如图1-3所示,云服务器136、计算环境200和/或计算机***300)来实现。在AV原型化***1302的示例操作期间,AV原型化***1302确定AV的配置。例如,AV原型化***1302可以确定用于AV的一个或多个规则手册1306、硬件配置1308、以及/或者软件配置1310。
如上所述(例如,参考图4和图9),规则手册1306包括规划模块(例如,规划模块404)规划AV的路径所使用一个或多个规则。例如,考虑到AV所遇到的特定情形,该规则手册的至少一些规则可适用于该情形。AV可以根据适用的规则来自主地进行一个或多个动作。例如,如上所述(例如,参考图11),AV可以根据规则来以特定方式转向、施加油门和/或制动。
作为示例,规则手册可以包括至少一个交通规则。例如,交通规则可以指定AV遵守交通信号,随着交通流驾驶,并在一些或所有条件下维持法定速率。
作为另一示例,规则手册可以包括至少一个安全规则。例如,安全规则可以指定AV避免与其它对象的碰撞,维持其它运载工具和行人之间的安全距离,并进行规避机动动作以避免碰撞或其它不安全情形。
作为另一示例,规则手册可以包括至少一个乘员舒适度规则。例如,乘员舒适度规则可以指定AV平滑地加速和减速以及平滑地转弯。
作为另一示例,规则手册可以包括至少一个运载工具性能规则。例如,运载工具性能规则可以指定AV保持运载工具的某些速率、制动、加速和转弯限制。
在一些实现中,规则手册1306也可用于评价AV的性能。例如,规则手册1306可以定义AV的特定期望行为(例如,一个或多个交通规则、安全规则、乘员舒适度规则、运载工具性能规则和/或指定AV的期望行为的任何其它规则的组合)。违反规则手册1306中的规则可导致违规度量(例如,表示AV进行不期望操作的频率和/或这些违规的严重性的数字得分)的增加。尽管以上说明了规则手册的各种规则,但这些仅仅是例示性示例。在实践中,代替上述规则或除上述规则之外,规则手册可以包括指定AV在特定情形下的特定行为的一个或多个附加规则。
AV的硬件配置1308可以包括本文所述的AV的物理组件的任何布置。例如,特定硬件配置1308可以指定AV包括一定数量的本文所述的不同类型的物理组件(例如,参见图1-12)中的各物理组件,为AV上的这些物理组件中的各物理组件指定特定位置和/或朝向,指定各个组件及其构成部分的特定物理布置,并且指定这些物理组件和部分之间的特定互连(例如,电气和/或通信互连)。作为另一示例,特定硬件配置1308还可以指定AV具有某些物理特性(例如,质量、尺寸、形状、重心等)。作为另一示例,特定硬件配置1308还可以指定AV具有某些性能特性(例如,最高速率、加速能力、制动兼容性、转弯能力等)。
AV的软件配置1310可以包括本文所述的软件组件的任何布置。例如,特定软件配置1310可以指定AV包括软件模块的特定布置,各软件模块被配置为进行上述的基于软件的操作(例如,参考图1-12)的某些集合。作为另一示例,特定软件配置1310还可以指定AV的软件组件从一个或多个物理组件和/或其它软件组件检索某些类型的数据,以特定方式处理该数据,并将处理后的数据传输到其它的物理和/或软件组件。
在一些实现中,AV原型化***1302可以自动地(例如,在没有来自用户的输入的情况下)确定AV的配置。例如,AV原型化***1302可以使用一个或多个机器学习和/或无监督学习处理来确定AV的一组规则手册1306、硬件配置1308和软件配置1310。
在一些实现中,AV原型化***1302可以至少部分地基于来自一个或多个用户(例如,一个或多个人类设计者)的输入来确定AV的配置。例如,用户可以指定AV的一个或多个规则手册1306、硬件配置1308和/或软件配置1310。AV原型化***1302可以基于用户的指定来确定AV的配置。
在确定AV的特定配置时,AV原型化***1302将该配置提供给AV性能评价***1304以供测试。如上所述,AV性能评价***1304可以在多个情景1312中测试(具有由AV原型化***1302指定的配置的)AV,以在各种条件下评估AV的该配置的行为。
在一些实现中,各个情景1302可以指定道路、障碍物、其它运载工具、行人和AV要穿过的交通流的特定组合。例如,图14A和14B示出用于测试AV的性能的情景1312的简化示例。如图14A所示,情景1312包括AV可以穿过的互连道路1402的网络,各互连道路1402具有特定交通流(例如,道路的各个车道中的特定方向的交通)。此外,如图14B所示,情景1312包括沿着这些道路1402行驶的数个其它运载工具1404。例如,运载工具1404可以定位在道路1402上的某些地点处,并且可以正沿着这些道路1402以特定速率和方向行驶。此外,如图14B所示,情景1312包括AV的指定目标1406。目标例如可以是在情景1302中AV要进行的特定任务或一系列任务。例如,在图14B所示的示例中,目标1406可以是从道路1402a到交叉道路1402b上的右转弯。
如上所述,在一些实现中,情景1302中的至少一些可以是模拟情景。例如,情景1302中的至少一些可以指定用于测试AV的计算机化虚拟环境,该计算机化虚拟环境包括一个或多个虚拟道路、障碍物、其它运载工具、行人、交通流、以及AV要穿过的环境条件。此外,情景1302中的至少一些可以指定AV在虚拟环境内进行的目标。此外,考虑到AV原型化***1302所指定的配置,可以使用计算机化模拟来预测AV在虚拟环境中的行为。在一些实现中,计算机化模拟可以至少部分地由AV性能评价***1304来进行。
如上所述,在一些实现中,情景1302中的至少一些可以是真实世界情景。例如,情景1302中的至少一些可以指定用于测试AV的物理环境。AV可被物理地部署到该环境,并被指示在该环境内进行自主操作。在一些实现中,可以将测试的结果提供给AV性能评价***1304。例如,测试的结果可以由用户(例如,人类观测者)手动输入、以及/或者由观测到这些测试的计算机***自动输入。
AV性能评价***1304基于测试来输出AV的一个或多个性能度量。
在一些实现中,性能评价***1304可以输出指示AV在各个情景中违反法律、安全和/或舒适度约束的次数以及这些违规各自的严重性的度量。
作为示例,这些度量可以指示AV与道路上的另一对象或行人接触的次数。此外,度量可以根据严重性对该接触进行分类。例如,与行人接触可被认为比与路缘接触更严重。
作为另一示例,度量可以指示AV违反某些交通规则或法规(诸如超过道路的限速、违反交通信号、或逆着道路的交通流而行驶等)的次数。度量还可以根据严重性对违规接触进行分类。例如,以较小程度超过限速可被认为不如以较大程度超过限速严重。
作为另一示例,度量可以指示AV以将导致乘员不舒适的方式表现(诸如加速、制动、和/或将AV的方向改变得超过某些舒适度限制等)的次数。度量还可以根据严重性对不舒适进行分类。例如,以较小程度超过加速限制可被认为不如以较大程度超过加速限制严重。
作为另一示例,度量可以指示AV偏离先前规划的路线的次数和这些偏离的程度(例如,以到路线的添加距离和/或添加行驶时间来表示)。
作为另一示例,度量可以指示AV超过了AV的性能限制和/或有超过AV的性能限制的危险的次数。例如,度量可以指示AV以将超过AV的安全或设计包络和/或有超过AV的安全或设计包络的危险的方式加速、制动和/或转弯的次数。度量还可以指示这些偏离的严重性。例如,度量可以指示AV超过了AV的加速、制动和转向能力的程度、以及/或者AV超过这些能力多少。
作为另一示例,AV性能评价***1304可以输出指示AV完成各个情景所需的时间量的度量。作为另一示例,AV性能评价***1304可以输出指示AV在各个情景期间的平均速率的度量。作为另一示例,AV性能评价***1304可以输出指示AV在各个情景期间消耗的资源(例如,燃料和/或电力)的量的度量。
AV性能评价***1304将一个或多个性能度量提供至AV原型化***1302。基于该一个或多个性能度量,AV原型化***1302可以修改和/或重新配置AV以提高AV的性能。例如,AV原型化***1302可以修改AV的规则手册1306、硬件配置1308和/或软件配置1310,使得AV更安全地、更高效地和/或更有效地进行自主操作。
可以使用AV性能评价***1304(例如,如上所述)来评价AV的修改配置。可以连续多次进行该处理,以通过AV的连续渐进修改和/或重新配置来迭代地提高AV的性能。
在一些情况下,考虑到特定资源预算,AV性能评价***1304可以选择一组情景1312以最大化关于AV的性能所获得的信息量。例如,AV的性能可被表示为具有特定概率分布的随机变量。相对于在用于评价AV的性能时随机变量的熵减小了相对较小的程度的其它情景1312,可以优先选择在用于评价AV的性能时随机变量的熵减小了特定程度的某些情景1312。此外,所选择的一组情景1312可以包括在一组标准的测试中,以在AV的自主导航***的开发和验证期间评估AV的性能。
图15示出用于选择用于测试AV的性能的一组情景的示例处理1500。处理1500例如可以由AV性能评价***1304进行以从候选情景池中选择一组情景1312来测试AV的性能。
根据处理1500,识别候选情景池。此外,这些情景中的各情景被映射到情景空间中的一个或多个向量(块1502)。作为示例,候选情景的各个特征可以对应于情景空间的不同维度。可以使用情景空间中的向量来表示特定候选情景中的该特征的有无。
例如,候选情景中的至少一些可以包括存在穿过AV的前方的行人。具有该特征的候选情景可以由各自在情景空间的第一维度中包括特定值(例如,值“1”)的向量来表示。不具有该特征的候选情景可以由各自在情景空间的第一维度中包括另一值(例如,值“0”)的向量来表示。
作为另一示例,候选情景中的至少一些可以包括存在行驶在与AV相同的车道中的其它运载工具。具有该特征的候选情景可以由各自在情景空间的第二维度中包括特定值(例如,值“1”)的向量来表示。不具有该特征的候选情景可以由各自在情景空间的第二维度中包括另一值(例如,值“0”)的向量来表示。
作为另一示例,候选情景中的至少一些可以包括存在行驶在与AV不同的另一车道中的其它运载工具。具有该特征的候选情景可以由各自在情景空间的第三维度中包括特定值(例如,值“1”)的向量来表示。不具有该特征的候选情景可以由各自在情景空间的第三维度中包括另一值(例如,值“0”)的向量来表示。
作为另一示例,候选情景中的至少一些可以包括行驶在与AV相同的方向上的运载工具。具有该特征的候选情景可以由各自在情景空间的第四维度中包括特定值(例如,值“1”)的向量来表示。不具有该特征的候选情景可以由各自在情景空间的第四维度中包括另一值(例如,值“0”)的向量来表示。
作为另一示例,候选情景中的至少一些可以包括行驶在与AV相反的方向上的运载工具。具有该特征的候选情景可以由各自在情景空间的第五维度中包括特定值(例如,值“1”)的向量来表示。不具有该特征的候选情景可以由各自在情景空间的第五维度中包括另一值(例如,值“0”)的向量来表示。
尽管以上说明了示例特征和维度,但这些仅仅是例示性示例。在实践中,向量空间可以包括表示候选情景的任意数量的不同特征的任意数量的维度。
此外,在情景空间中确定AV的性能(块1504)。例如,使用性能评价***1304,可以在候选情景的一部分或全部中测试AV的性能。可以使用一个或多个性能度量(例如,如上所述)来表示测试的结果。
此外,针对各个所测试的情景来确定关于AV的性能所获得的信息量(块1506)。在一些实现中,AV的性能可被表示为具有特定概率分布的随机变量。所获得的信息量可以参考该变量中的特定程度的熵减小和/或与该特定程度的熵减小相关。
此外,基于通过各个所测试的情景所获得的信息量来从候选情景中选择一组情景(块1508)。作为示例,相对于使随机变量的熵减小了相对较小程度的其它候选情景,可以优先选择使随机变量的熵减小了特定程度的某些候选情景。所选择的一组情景可以包括在一组标准的测试中,以在AV的自主导航***的开发和验证期间评估AV的性能。
该处理在测试AV的性能时减轻收益递减的影响方面是可以是有益的。例如,图16示出所测试的情景的数量(横轴)和关于AV的性能所获得的信息总量(纵轴)之间的简化关系,其被表示为曲线1602。随着所测试的情景的数量(例如,从左向右)增加,与AV性能有关的总信息(例如,从下向上)也增加。然而,所获得的边际信息量随着各附加测试而减少,其由曲线1602的从左向右的逐渐减小的斜率来表示。当所获得的边际信息量足够低(例如,小于特定阈值量)时,可以中断测试。因此,可以相对于与进行该测试相关联的资源成本来平衡进行各附加测试的益处。
在一些实现中,该处理使得能够更快且更高效地测试AV的性能。例如,可以选择有限的一组情景来进行测试,使得该组中的各个情景均提供用于评估AV的性能的有用信息。此外,如上所述,可以选择该组以减轻收益递减的影响。因此,可以使用(例如,与以蛮力方法可能采用的测试情景的数量相比)更少数量的测试情景来确定AV的性能。
在一些实现中,可以根据经验选择用于确定何时中断测试的阈值。例如,该阈值可以是使得用户能够将获得与AV的性能有关的信息的愿望与获得该信息的资源消耗保持平衡的可调值。例如,如果期望获得与AV的性能有关的更大信息量,即使针对所进行的各附加测试将消耗更大量的资源,也可以将阈值设置为相对较低的值(例如,使得使用更大数量的情景来进行更大数量的测试,直到达到阈值为止)。作为另一示例,如果期望以更保守的方式消耗资源,则可以将阈值设置为相对较高的值(例如,使得使用更少的情景来进行更少的测试,直到达到阈值为止)。
在一些实现中,可以根据预算度量来约束为了测试所选择的情景的数量。例如,各候选情景可以具有用于使用该候选情景来进行测试的关联资源成本。可以选择候选情景,使得所选择的情景的资源成本不超过特定预算。作为示例,如果各个候选情景作为一个单元的资源成本并且总预算不大于10个单元,则可以选择多达10个候选情景来进行测试。这例如在限制在测试AV的性能时将消耗的资源方面可以是有用的。在一些实现中,可以根据经验选择预算。
在一些实现中,可以基于候选情景之间的相似性和/或差异来将候选情景分组为多个不同的组。此外,可以基于这些组来选择候选情景以进行测试。
如上所述,各候选情景可以由情景空间中的相应向量来表示。基于向量之间的相似性和/或差异,可以将候选情景聚类成一个或多个组。通常,共同组内的候选情景可以彼此更相似,而不同组内的候选情景可以彼此不太相似。可以以最大化(或以其它方式增强)通过使用所选择的情景进行测试将获得的信息量的方式从组中选择候选情景。在一些实现中,可以根据贪婪算法(例如,在选择处理的数个阶段中的各阶段进行局部视觉选择的问题解决的启发式)从组中选择候选情景。
在一些实现中,可以根据层次结构对候选情景进行分组。例如,层次结构的各级别可以表示层次结构的节点之间的相对相似性。共享位于层次结构的较高级别(例如,更靠近层次体系的“根”)的公共节点的节点可以指示这些节点彼此具有更小程度的相似性。相反,共享位于层次结构的较低级别的公共节点的节点可以指示这些节点彼此具有更大程度的相似性。可以以最大化(或以其它方式增强)通过使用所选择的情景进行测试将获得的信息量的方式从层次体系中选择候选情景。在一些实现中,可以根据贪婪算法从层次结构中选择候选情景。在一些实现中,层次结构可以是贝叶斯层次型模型。在一些实现中,可以根据诸如贝叶斯网络、因子图、隐马尔可夫模型(HMM)或任何其它结构等的其它图形表示来对候选情景进行分组。
用于基于信息增益来选择情景的示例技术
如上所述,AV性能评价***1304可以基于通过测试各个情景将获得的信息量来选择用于测试AV的行为的情景。以下说明用于基于信息增益来选择情景的示例技术。
通常,可以使用层次统计模型来表示AV性能。此外,可以选择一组情景来跨运行设计域(ODD)评价该性能。层次结构可以支持从一个ODD到下一ODD的信息重用,并且由于不是直接使用,因此可以减轻性能估计对事件频率的敏感性。此外,可以使用准则来评估对特定情景的测试的值,并且这里所述的示例采样技术可以提供关于该准则的近似最优性。
通常,如在图17中总结的,选择处理可以包括两个步骤。首先,将AV性能建模为贝叶斯层次型模型。预期AV行为的形式规则以及附加的违规度量的出现促进了对任何情景中的AV性能的定量评估。构成ODD的因素(诸如操作的区域等)可用作层次体系中的级别。在一些实现中,该区域可以是特定城镇、城市、县、州、国家或其某些部分。该表示利用ODD因素作为各自仅具有几个观测值的分析单位。实际上,难以观测与所有因素都是固定的ODD相对应的情景,例如雨水密度高且通信可靠性低的具有特定道路曲率的蓝色停车标志等。合格观测值的数量随着固定因素的量而减少。在一些实现中,处理的该部分可被称为平面,因为层次体系的各级别均可以有效地构成超平面。
其次,可以通过该贝叶斯层次型模型对AV性能进行推断。这允许计算由各新情景提供的***上的信息增益,其可用作用以评价新情景和情景集合的相关性的度量。贝叶斯层次型模型提供不同情景空间超平面中的AV性能之间的有条件的独立属性,这使得信息增益是子模的。这意味着信息增益具有收益递减属性。例如,随着添加更多情景,信息的增加变得微不足道。因此,可以利用用于子模优化的贪婪算法来提供情景集合以提供接近最大水平的信息增益(样本)。可以定义(例如,用于中断针对情景集合的附加情景的选择的)停止准则,使得当考虑到统计置信水平、信息增益不再增长时,中断选择。
为了证明该处理的有效性,通过从2020 CARLA挑战(CARLA团队)模拟路线上的AV来进行实验。该实验的结果示出在仅测试约7%的情景空间之后的具有90%置信度的保持稳定水平的信息增益,而另一技术(拉丁超立方采样)探索33%的更多情景以获得相同量的信息。
如以下所述,依赖于行为规则的定量评价,可以使用贝叶斯层次型模型来呈现AV性能。
此外,可以使用信息增益作为用以量化新情景或一组情景的相关性的度量。
此外,可以使用用于子模优化的贪婪算法作为选择算法的一部分(例如,以提供近似最优保证)。
此外,可以使用停止准则来约束情景集合的大小。具体地,利用给定的统计置信度,当信息增益保持稳定水平时,可以中断针对情景集合的附加情景的选择。
示例处理
A.平面
设是要从中进行采样的情景空间。情景S∈V包含在与被测***外部的环境中发生的情况有关的信息。可以假定S可被表征为的元素,其中n是环境中的特征的数量。这些特征可以基于情景本体、或ODD定义的行业建议。对于更有针对性的搜索,这些坐标也可以对应于特定逻辑情景的参数。可以在模拟或现实设置中生成所考虑的情景。假定诸如云密度、施工现场的存在或动态代理的数量等的用以描述情景的n个特征、以及针对各特征的k个潜在值,则对于各自可以取6个值的50个特征,这表示约1010个情景。尽管模拟允许针对踪迹测试的成本的一小部分来对AV进行测试,但生成这样的大量情景仍可能需要大量的计算能力。
此外,AV性能可以在任何给定情景上。规则手册框架提供与违规度量相关联的规则,以根据显式行为规范来评价情景中的AV性能。实际上,AV性能可能受到诸如交通法、礼貌驾驶方式或乘坐舒适度等的许多不同概念的影响。并且即使这个示例实验使用碰撞的数量,该技术也与使用任何性能度量兼容。一旦将特定规则转换成正式的逻辑语句,就可以对任何情景中的任何轨迹进行评价并给出违规得分。
AV在情景空间的性能可被定义为其中是随机变量。目标是对将提供与的分布有关的最多信息的情景进行采样。因此,可能需要在的分布之后建立一些结构。实际上,如果性能将是完全混乱的,则在两个不同的情景中在规则违反之间将不存在任何关系,从一个情景学到的东西都不能概括到另一情景,并且可能需要测试每一个情景。
在该示例中,假设贝叶斯层次型模型可被拟合到可观测的AV性能。图18示出贝叶斯层次型模型1800的表示。浅阴影节点1802a-1802d表示不可观测变量,并且深阴影节点1804a-1804e表示关注的随机变量。
由于参数是从概率分布中采样的,因此使用小写字母来指定参数和超参数的随机变量及其实现这两者。情景空间的超平面被定义为诸如操作的城镇等的一个特征是固定的情景集合。因此,可以按以下方式重新用公式表示该假设:对于情景空间的p个超平面,可以假设存在b1、...、bp和σ,使得:
Xi|bp,σ~P(xi|bp,σ) (式1)
bp|σ~P(bp|σ)
σ~P(σ)
其中:σ是具有超先验P(σ)的超参数,b1、...、bp是从具有由超参数σ支配的分布的群体生成的,并且P(xi|bp,σ)是AV性能的可能性,其中P(bp,σ)作为其先验分布。可以选择足够的先验和超先验作为模型拟合处理的一部分。
这种模型的解释如下:假定AV性能遵循超平面p中的参数bp的分布。该分布可以从如在以下的实验和结果部分中示出的数据观测、或者从专家知识推断。当在该城镇p中发生的情景中测试时,可以从该分布有效地获得样本xi。在不同的城镇k中,AV性能的分布的形状将是相同的,但参数bk将有可能是不同的,因为bk、bp本身是从P(σ)采样得到的。例如,AV在某个情景中的运载工具准许违反的次数可以遵循对数正态分布,但在交通量较多的密集城镇中,与在道路更大且车辆更少的城镇中相比,平均值可能更高。
通过该示例技术确定的情景集合的质量取决于贝叶斯层次型模型向AV性能的拟合的质量。参数和超参数的拟合不佳将导致信息增益的估计不佳,因此算法将针对错误的值进行优化。然而,存在用以确保贝叶斯层次型模型的拟合质量的技术,诸如后验预测检查等。
B.样本
该部分重点介绍如何利用该AV性能表示来进行采样。
可以使用以下的熵定义来表示围绕固有性能参数σ的不确定性:
H(σ)=-∑σP(σ)logP(σ) (式2)。
其中:C是情景预算,f可以是针对跨整个ODD的整体AV评估的或者针对诸如特定城镇等的ODD的超平面中的AV性能的评估的C是停止准则的等同物。条件熵仅可以近似到具有给定置信区间的某个值为止。当所近似的信息增益停止以统计上显著的方式增加时,可以停止优化,这决定了C。
f(A∪{e})-f(A)≥f(B∪{e})-f(B) (式5)。
这意味着,向已经很大的集合添加情景与向较小的测试集合添加情景相比将提供更低的信息增益。这反映了向集合添加越来越多的情景尽管存在正收益但将产生收益递减这一直觉。例如,如图16所示,在向定义了函数的集合添加越来越多的离散元素(例如,情景)之后,函数以越来越小的量增加。
该属性在这里出现,这是因为考虑到超参数σ,不同情景中的AV性能是有条件独立的。一般而言,通过揭示另一依赖随机变量所获得的与某个随机变量有关的信息增益不是子模的。然而,对于固定的AV栈,在情景空间中可能存在如下的超平面,其中在给定该超平面的情况下,使一个情景中的AV性能独立于另一情景中的AV性能。在(以下详述的)所进行的实验中,针对各情景的碰撞数量遵循在给定城镇中具有固定平均值的泊松分布。不需要对AV性能的附加假设即可使子模性属性为真。
由于f是子模的,因此可以使用贪婪算法来提供对式4的近似最优。从空的一组情景开始,该启发式在每次迭代时选择具有最高信息增益的下一情景。
由于该选择问题是NP难题,因此没有算法能在多项式时间内求出解。然而,贪婪算法可以在最优值的内求出解。具体地,如果C个情景的最大信息增益是1,则可以获得产生至少为0.63的信息增益的大小为C的情景集合。
实验和结果
进行实验以证明利用从计算机化AV模拟(CARLA)获得的自主运载工具日志而处理的该实验的使用。
A.数据生成
在该实验中,在CARLA中可用的自主运载工具的模型也用于在模拟中模拟背景交通。该运载工具试图利用数量不断变化的交通参与者针对总共132个情景来遵循六个不同的城镇中的路线。这3个特征是表1中示出的情景的坐标。
表1.情景定义
图19示出所考虑的城镇中的两个城镇的地图1900a和1900b。如图19所示,城镇03(由地图1900a表示)实质上具有更多的交叉口和环岛,而城镇06(由地图1900b表示)具有很长的一段笔直道路。
记录在各情景中涉及AV的碰撞的数量,并且该碰撞的数量被选择为性能度量XV。
泊松分布通常用来表示在固定区间上独立发生的多个事件的概率。图20示出所有情景中的XV的概率分布2000,其与泊松假设良好地对齐。值得注意的是,由于所使用的的AV实现通常仅用于背景交通并且仅消耗地图和路线信息,因此该AV实现因不具有感知模块而针对各情景遇到大量碰撞。因此,该AV实现不对场景中的动态对象做出反应。然而,与AV实现有关的信息不是应用该技术所必需的。
B.贝叶斯层次型模型
在数据分析之后,确定为城镇是对各情景的碰撞数量影响最大的情景坐标。例如,图21示出CARLA中的针对六个不同城镇的沿着路线的碰撞分布2100a-2100f。该分组可以是从已经可用的少量数据中推断出的,或者可以是基于专家知识来决定的。
因此,情景空间被城镇切割,并拟合以下的贝叶斯层次型模型:
针对参数bp和超参数σ选择半正态分布作为弱信息先验。PyMC3(PyMC3开发团队)用于进行该拟合。拟合的贝叶斯层次型模型的结果在图22A(例如,示出不可观测参数的后验分布)中示出。如此得到的各情景的平均碰撞数量在对于一些城镇小于1和对于其它城镇大于2.5之间变化很大。图22B示出贝叶斯层次型模型的预测后验拟合。如图22B所示,预测后验检查示出X的基于图的重新生成的样本的平均值与除{0,1}以外的观测值良好地对齐。这意味着,拟合对于随机变量的较大值是更好的,然而该拟合仍然产生0和1的观测区域内的值。
C.情景选择
与AV性能有关的信息增益跨ODD被优化。然而,可以应用相同的技术来选择情景集合以最大化特定城镇的信息增益。
算法1详述求解式8的示例步骤。在绝对误差为0.1的情况下,计算条件熵直至90%置信区间为止。在各步骤中,通过贪婪地逐个查看各情景、计算从与先前选择的情景相比展示该情景中的性能所获得的信息、并采用对于该步骤具有最高信息增益的情景,来向集合添加情景。重复该过程,直到信息增益停止增长(在90%置信度内)为止。这就是该算法被说成任意打破平局的原因。
算法1-贪婪算法:
初始化
比较利用拉丁超立方采样实现的数次运行和数个随机选择的算法1的结果。在图23中呈现了这些结果,其示出算法1、拉丁超立方采样和随机之间的信息增益和停止准则的比较。垂直线示出用于算法1和LHS的停止准则。如图23所示,除前几个情景以外,所有的选择都示出收益递减属性,其确认信息增益的子模性属性。这有可能是由于计算该增益时的近似而引起的,其在开始时对接近于零的值具有更大的影响。另外,仅使用几个观测值可能导致模型的退化版本,这可以解释对于前几个观测值缺乏子模性。
关于用以评估情景集合的相关性的度量的选择的验证,观测到信息增益捕获到诸如LHS等的良好建立的方法与随机选择相比的确表现得更好这一事实。不论所分析的ODD或活动如何,该度量都允许比较任何情景选择方法。该度量还传达了评价活动的进步感,并且是直观和透明的(当不再接收到大量信息时,可以停止评价)。
图23中的主要结果如下:在所有采样方法都在相同的信息增益级别保持稳定水平的情况下,不论LHS需要12个情景还是约额外2%的情景空间,所提出的算法都利用仅9个情景或约7%的情景空间来获得该量,并且随机方法需要探索至少另一2%的空间。该实验以小规模进行,但这些差异可以表示大规模AV验证处理中的数百万个情景的增益。所选择的集合包含在4个不同城镇但不是所有城镇中发生的情景。不预测城镇02或03中的情景以带来与城镇01、04、05和06中的情景一样多的信息。当通过所选择的情景实际测试AV时,AV通常遇到0或1个碰撞,但也在一个情景中涉及7个碰撞并且在另一情景中涉及11个碰撞。尽管算法不会寻找罕见事件,但这些分布末尾的情景提供了与被测***相关的大量信息。
实验总结
总之,AV性能评价的情景选择问题可被重构为图上的子模优化问题。这样,可以使用统计模型来表示AV性能,从而利用定量AV行为定义的进步。此外,层次贝叶斯模型可被拟合到由开源AV实现所生成的数据集,这表明该技术可以应用于任何AV实现。
一旦贝叶斯层次型模型得到验证,子模属性就随之产生,并且可以构建情景集合以利用该属性。不论所检查的ODD或活动如何,都可以使用信息增益来比较情景选择方法。
示例处理
图24示出用于选择用于评价AV的性能的测试情景的示例处理2400。处理2400可以至少部分地使用AV性能评价***1304(例如,如参考图13-23所述)来进行。
根据处理2400,计算机***接收表示用于估计运载工具在进行自主操作时的性能的多个情景的第一数据(块2402)。作为示例,各个情景可以是道路条件、障碍物、其它运载工具、行人、交通流或环境条件的不同相应组合。在一些实现中,自主操作可以包括自主地将运载工具从第一地点导航到第二地点。
计算机***针对各个情景确定:(i)第一度量,其指示运载工具在该情景中的观测性能,其中第一度量是基于至少一个规则确定的;以及(ii)第二度量,其指示与该情景相关联的信息增益的程度(块2404)。
在一些实现中,第一度量可以指示与AV在各情景中的性能有关的信息,诸如AV的碰撞次数、AV的交通规则违反次数、AV的路线偏离次数和/或程度、AV的路线阻塞次数和/或程度、以及/或者AV的路线穿过时间。
在一些实现中,规则可以包括至少一个交通规则。示例交通规则包括遵守标志或信号的规则、随着交通进行驾驶的规则和维持法定速率的规则。
在一些实现中,规则可以包括至少一个安全规则。示例安全规则包括不与其它对象碰撞的规则、在其它运载工具或行人之间维持安全距离的规则、以及在必要时进行规避机动动作(例如,避开其它运载工具或行人)的规则。
在一些实现中,规则可以包括至少一个乘员舒适度规则。示例乘员舒适度规则包括平滑地加速或减速的规则和平滑地转弯的规则。
在一些实现中,规则可以包括至少一个运载工具性能规则。示例运载工具性能规则包括不超过运载工具的特定速率、制动和加速限制的规则。
在一些实现中,针对各个情景,与该情景相关联的信息增益的程度可以对应于运载工具的性能的估计所用的熵的减少。
计算机***基于第一度量和第二度量来选择情景的子集(块2406)。在一些实现中,情景的子集可用于AV测试或验证。
在一些实现中,可以通过识别情景的多个候选子集、并针对各个候选子集确定指示与该候选子集相关联的信息增益的程度的相应第三度量,来选择情景的子集。此外,可以选择候选子集中的具有第三度量中的最高第三度量的候选子集作为情景的子集。
在一些实现中,可以通过根据预算度量约束情景的子集中的情景的数量来选择情景的子集。例如,预算度量可以指定可以测试的最大数量的情景。
计算机***输出指示情景的子集的第二数据(块2408)。
在一些实现中,根据处理2400,计算机***可以确定至少一个附加运载工具在情景的子集中的各个情景中的观测性能。
在一些实现中,根据处理2400,计算机***可以将多个情景聚类成多个簇。此外,基于簇来选择情景的子集。在一些实现中,簇可以基于主成分分析。
在一些实现中,根据处理2400,计算机***可以基于簇来确定情景的布置。此外,可以基于该布置来选择情景的子集。在一些实现中,该布置可以是贝叶斯层次型模型。在一些实现中,该布置可以是贝叶斯层次型模型、贝叶斯网络、因子图和/或隐马尔可夫模型。
在一些实现中,可以根据贪婪算法从该布置选择情景的子集。
在先前描述中,已经参考许多具体细节描述了数个实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
Claims (13)
1.一种方法,包括:
利用计算机***接收表示用于估计运载工具在进行自主操作时的性能的多个情景的第一数据;
利用所述计算机***,针对各个情景,确定:
第一度量,其指示所述运载工具在该情景中的观测性能,其中所述第一度量是基于至少一个规则而确定的,以及
第二度量,其指示与该情景相关联的信息增益的程度;
利用所述计算机***,基于所述第一度量和所述第二度量来选择情景的子集;以及
利用所述计算机***,输出指示情景的子集的第二数据。
2.根据权利要求1所述的方法,还包括:
利用所述计算机***,确定至少一个附加运载工具在情景的子集的各个情景中的观测性能。
3.根据权利要求1所述的方法,还包括:
利用所述计算机***,将所述多个情景聚类成多个簇,
其中,情景的子集是基于所述簇而选择的。
4.根据权利要求3所述的方法,还包括:
利用所述计算机***,基于所述簇来确定所述多个情景的布置,
其中,情景的子集是基于所述布置而选择的。
5.根据权利要求4所述的方法,其中,所述布置是贝叶斯层次型模型、贝叶斯网络、因子图和隐马尔可夫模型至少之一。
6.根据权利要求4所述的方法,其中,情景的子集是根据贪婪算法从所述布置中选择的。
7.根据权利要求1所述的方法,其中,针对各个情景,与该情景相关联的信息增益的程度对应于所述运载工具的性能的估计所用的熵的减少。
8.根据权利要求1所述的方法,其中,选择情景的子集包括:
识别情景的多个候选子集,
针对各个候选子集,确定指示与该候选子集相关联的信息增益的程度的相应第三度量,以及
从所述候选子集中选择具有所述第三度量中的最高第三度量的候选子集作为情景的子集。
9.根据权利要求1所述的方法,其中,选择情景的子集包括:
根据预算度量来约束情景的子集中的情景的数量。
10.根据权利要求1所述的方法,其中,所述至少一个规则包括以下至少之一:
至少一个交通规则,
至少一个安全规则,
至少一个乘员舒适度规则,以及
至少一个运载工具性能规则。
11.根据权利要求1所述的方法,其中,所述自主操作包括将所述运载工具自主地从第一地点导航到第二地点。
12.一种***,包括:
至少一个处理器;以及
至少一个非暂时性计算机可读介质,其存储有指令,所述指令在由所述至少一个处理器执行时,使得所述至少一个处理器进行操作,所述操作包括:
接收表示用于估计运载工具在进行自主操作时的性能的多个情景的第一数据;
针对各个情景,确定:
第一度量,其指示所述运载工具在该情景中的观测性能,其中所述第一度量是基于至少一个规则而确定的,以及
第二度量,其指示与该情景相关联的信息增益的程度;
基于所述第一度量和所述第二度量来选择情景的子集;以及
输出指示情景的子集的第二数据。
13.至少一个非暂时性计算机可读介质,其存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行操作,所述操作包括:
接收表示用于估计运载工具在进行自主操作时的性能的多个情景的第一数据;
针对各个情景,确定:
第一度量,其指示所述运载工具在该情景中的观测性能,其中所述第一度量是基于至少一个规则而确定的,以及
第二度量,其指示与该情景相关联的信息增益的程度;
基于所述第一度量和所述第二度量来选择情景的子集;以及
输出指示情景的子集的第二数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/218,007 US11932260B2 (en) | 2021-03-30 | 2021-03-30 | Selecting testing scenarios for evaluating the performance of autonomous vehicles |
US17/218,007 | 2021-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115146523A true CN115146523A (zh) | 2022-10-04 |
Family
ID=76550591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110911909.2A Pending CN115146523A (zh) | 2021-03-30 | 2021-08-10 | 选择用于评价自动运载工具的性能的测试情景 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11932260B2 (zh) |
KR (1) | KR102580085B1 (zh) |
CN (1) | CN115146523A (zh) |
DE (1) | DE102021132722A1 (zh) |
GB (1) | GB2605463A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220379919A1 (en) * | 2021-05-27 | 2022-12-01 | Zoox, Inc. | Parameter space optimization |
US20230174101A1 (en) * | 2021-12-06 | 2023-06-08 | Motional Ad Llc | Framework For Modeling Subsystems of an Autonomous Vehicle System and the Impact of the Subsystems on Vehicle Performance |
US11727671B1 (en) * | 2022-08-26 | 2023-08-15 | Motional Ad Llc | Efficient and optimal feature extraction from observations |
KR102579590B1 (ko) * | 2022-12-28 | 2023-09-18 | 도로교통공단 | 도로교통법 기반 자율주행차 운전능력 평가시나리오 생성 시스템 |
CN117171290B (zh) * | 2023-11-03 | 2024-04-16 | 安徽蔚来智驾科技有限公司 | 确定安全行驶区域的方法及***、自动驾驶方法及*** |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8793046B2 (en) | 2012-06-01 | 2014-07-29 | Google Inc. | Inferring state of traffic signal and other aspects of a vehicle's environment based on surrogate data |
KR101938064B1 (ko) | 2017-05-17 | 2019-01-11 | 현대오토에버 주식회사 | 자율주행 테스트 시스템 |
US20190129831A1 (en) | 2017-10-27 | 2019-05-02 | Uber Technologies, Inc. | Autonomous Vehicle Simulation Testing Systems and Methods |
US10976737B2 (en) | 2017-11-21 | 2021-04-13 | GM Global Technology Operations LLC | Systems and methods for determining safety events for an autonomous vehicle |
US11294800B2 (en) | 2017-12-07 | 2022-04-05 | The Johns Hopkins University | Determining performance of autonomy decision-making engines |
US10831636B2 (en) | 2018-01-08 | 2020-11-10 | Waymo Llc | Software validation for autonomous vehicles |
US11194939B2 (en) | 2019-08-16 | 2021-12-07 | Uatc, Llc | Hardware in loop testing and generation of latency profiles for use in simulation |
US11537944B2 (en) * | 2020-01-09 | 2022-12-27 | Here Global B.V. | Method and system to generate machine learning model for evaluating quality of data |
US20210294944A1 (en) * | 2020-03-19 | 2021-09-23 | Nvidia Corporation | Virtual environment scenarios and observers for autonomous machine applications |
US11390301B2 (en) * | 2020-06-10 | 2022-07-19 | Nvidia Corp. | Tensor-based driving scenario characterization |
WO2022133090A1 (en) * | 2020-12-17 | 2022-06-23 | Intel Corporation | Adaptive generation and assessment of autonomous vehicle critical scenarios |
US12014126B2 (en) * | 2020-12-23 | 2024-06-18 | Woven By Toyota, U.S., Inc. | Generating accurate and diverse simulations for evaluation of autonomous-driving systems |
US11847385B2 (en) * | 2020-12-30 | 2023-12-19 | Beijing Voyager Technology Co., Ltd. | Variable system for simulating operation of autonomous vehicles |
GB202103338D0 (en) * | 2021-03-10 | 2021-04-21 | Cambridge Quantum Computing Ltd | Control system and method utilizing variational inference |
-
2021
- 2021-03-30 US US17/218,007 patent/US11932260B2/en active Active
- 2021-05-12 KR KR1020210061456A patent/KR102580085B1/ko active IP Right Grant
- 2021-05-13 GB GB2106859.8A patent/GB2605463A/en active Pending
- 2021-08-10 CN CN202110911909.2A patent/CN115146523A/zh active Pending
- 2021-12-10 DE DE102021132722.9A patent/DE102021132722A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220324464A1 (en) | 2022-10-13 |
US11932260B2 (en) | 2024-03-19 |
KR20220136006A (ko) | 2022-10-07 |
KR102580085B1 (ko) | 2023-09-18 |
DE102021132722A1 (de) | 2022-10-06 |
GB2605463A (en) | 2022-10-05 |
GB202106859D0 (en) | 2021-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11858508B2 (en) | Trajectory prediction from precomputed or dynamically generated bank of trajectories | |
CN113165668A (zh) | 利用机器学习使用运动规划来操作运载工具 | |
CN113196291A (zh) | 自动选择用于注释的数据样本 | |
KR102580085B1 (ko) | 자율 주행 차량의 성능을 평가하기 위한 테스트 시나리오의 선택 | |
CN113654564A (zh) | 用于运载工具的方法 | |
US11568688B2 (en) | Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle | |
US20220234618A1 (en) | Homotopic-based planner for autonomous vehicles | |
CN114510018B (zh) | 用于子***性能评价的度量反向传播 | |
US11887324B2 (en) | Cross-modality active learning for object detection | |
CN114118658A (zh) | 使用合理人群数据对自主运载工具轨迹进行评分 | |
CN113195333A (zh) | 使用线性时间逻辑的自主运载工具操作 | |
US20220126876A1 (en) | Vehicle operation using behavioral rule checks | |
CN114812588A (zh) | 用于运载工具的方法、运载工具和存储介质 | |
US12030485B2 (en) | Vehicle operation using maneuver generation | |
CN112014859A (zh) | 估计速率分布 | |
CN114120687A (zh) | 条件运动预测 | |
CN114387322A (zh) | 用于运载工具的方法、运载工具和存储介质 | |
CN114185332A (zh) | 操作运载工具的方法、自主运载工具和介质 | |
CN113056715B (zh) | 用于操作运载工具的方法、运载工具和存储介质 | |
CN115077543A (zh) | 运载工具及其方法和存储介质 | |
US20230391367A1 (en) | Inferring autonomous driving rules from data |
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 |