CN114626285A - 轨迹评估方法、系统和计算机可读介质 - Google Patents

轨迹评估方法、系统和计算机可读介质 Download PDF

Info

Publication number
CN114626285A
CN114626285A CN202110569599.0A CN202110569599A CN114626285A CN 114626285 A CN114626285 A CN 114626285A CN 202110569599 A CN202110569599 A CN 202110569599A CN 114626285 A CN114626285 A CN 114626285A
Authority
CN
China
Prior art keywords
rule
trajectory
processor
rules
violation
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
Application number
CN202110569599.0A
Other languages
English (en)
Inventor
T·万彼洛姆萨恩
R·杜因杰尔特本斯
A·科林
C·贝尔塔
E·弗拉佐利
K·斯卢茨基
A·宾-努恩
张洵铣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motional AD LLC
Original Assignee
Motional AD LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motional AD LLC filed Critical Motional AD LLC
Publication of CN114626285A publication Critical patent/CN114626285A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Purposes 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/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Purposes 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/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Estimation 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/08Estimation 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 drivers or passengers
    • B60W40/09Driving style or behaviour
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Estimation 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/10Estimation 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 vehicle motion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/04Monitoring the functioning of the control system
    • B60W50/045Monitoring control system parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0013Planning or execution of driving tasks specially adapted for occupant comfort
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0018Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions
    • B60W60/00188Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions related to detected security violation of control systems, e.g. hacking of moving vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0112Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/052Detecting movement of traffic to be counted or controlled with provision for determining speed or overspeed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0026Lookup tables or parameter maps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/215Selection or confirmation of options
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Input parameters relating to data
    • B60W2556/10Historical data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/10Path keeping
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Analytical Chemistry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Chemical & Material Sciences (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Traffic Control Systems (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)

Abstract

本发明公开轨迹评估方法、系统和计算机可读介质。一种轨迹评估方法包括:使用至少一个处理器,获得与自主运载工具系统的驾驶场景相关联的至少一个轨迹;使用至少一个处理器和至少一个规则手册,评估至少一个轨迹以确定至少一个轨迹是否违反至少一个规则手册中的至少一个规则,其中,规则手册中的各规则与至少一个违规度量相关联,至少一个违规度量用于确定满足或违反该规则的程度;使用至少一个处理器和至少一个违规度量,确定至少一个轨迹的评分;以及使用至少一个处理器,将评分发送到所述自主运载工具系统的软件栈中的软件模块、所述自主运载工具系统的仿真、以及通过基于云的平台的用户界面呈现的视觉资料或报告中至少之一。

Description

轨迹评估方法、系统和计算机可读介质
技术领域
以下描述通常涉及用于在不同驾驶场景下验证自主运载工具的行为的工具。
背景技术
自主运载工具使用其软件栈中的规划器以在各种场景下为自主运载工具生成候选轨迹。规划器使用传感器数据和运载工具的物理状态(例如,位置、速率、航向)来为运载工具生成可能的轨迹,以避免与自主运载工具附近的智能体(例如,其它运载工具、行人)的碰撞。在确定运载工具针对给定的驾驶场景应当采用哪个候选轨迹时,规划器典型地考虑对交通法规和可能的其它驾驶规则(例如,安全、道德、当地文化、乘客舒适度、礼仪、性能等)的违反。因此,期望评估在现实世界中可能发生的大量各种驾驶场景下的规划轨迹。
当不能很好地理解预期行为时,难以在驾驶场景下验证自主运载工具的行为。预期行为取决于驾驶规则及其优先级结构,在需要违反某些规则的情况下,优先级结构管理应当首先违反哪个规则。例如,当存在一辆非法停放在双实线车道标记附近的小汽车时,运载工具将不得不超过它,但它将不得不违反不得跨越双实线的规则或违反确保运载工具与停放的小汽车之间的横向距离(例如,万一车门打开)的规则。希望的是,通过针对驾驶场景过滤掉违反规则的候选轨迹,来避免这些轨迹。
发明内容
提供有用于基于场景的行为规范和验证的技术。在实施例中,一种轨迹评估方法包括:使用至少一个处理器,获得与自主运载工具系统的驾驶场景相关联的至少一个轨迹;使用所述至少一个处理器和至少一个规则手册,评估所述至少一个轨迹以确定所述至少一个轨迹是否违反所述至少一个规则手册中的至少一个规则,其中,所述规则手册中的各规则与至少一个违规度量相关联,所述至少一个违规度量用于确定满足或违反该规则的程度;使用所述至少一个处理器和所述至少一个违规度量,确定所述至少一个轨迹的评分;以及使用所述至少一个处理器,将所述评分发送到所述自主运载工具系统的软件栈中的软件模块、所述自主运载工具系统的仿真、以及通过基于云的平台的用户界面呈现的视觉资料或报告中至少之一。
在实施例中,所述方法还包括:使用所述至少一个处理器,将所述至少一个轨迹分割为多个时间间隔;使用所述至少一个处理器和所述至少一个规则手册,评估所述至少一个轨迹的针对所述时间间隔的部分,以确定所述部分是否或在多大程度上违反所述至少一个规则手册中的至少一个规则;以及使用所述至少一个处理器,基于确定为所述部分违反所述至少一个规则手册中的至少一个规则,聚合所述至少一个违规度量中针对各时间间隔的至少一个值,以生成聚合违规度量值。
在实施例中,所述方法还包括基于所述聚合违规度量值来确定所述至少一个轨迹的评分。
在实施例中,所述至少一个规则手册是实现预排序规则集合的数据结构,该预排序规则集合中的规则基于所述规则的相对重要性按层次布置。
在实施例中,存在至少两个轨迹,以及使用所述至少一个规则手册来评估所述至少一个轨迹中的各轨迹。
在实施例中,所述两个轨迹中的至少一个轨迹是与另一轨迹进行比较的参考轨迹。
在实施例中,一种基于规则的轨迹评估系统,包括:用户界面,其被配置为接收至少选择驾驶场景的用户输入;至少一个处理器;以及存储有指令的存储器,所述指令在由所述至少一个处理器执行时,使得所述至少一个处理器:使用至少一个规则手册,评估至少一个驾驶场景中的至少一个轨迹,以确定所述至少一个轨迹是否违反所述至少一个规则手册中的至少一个规则,其中所述规则手册中的各规则与至少一个违规度量相关联,所述至少一个违规度量用于确定满足或违反该规则的程度;使用所述至少一个违规度量,确定所述至少一个轨迹的评分;生成与所述评分相关的报告或视觉资料;以及提供与所述报告相关联的数据,与所述报告相关联的所述数据被配置为使得所述用户界面经由所述用户界面来呈现所述报告。
在实施例中,所述指令还使得所述至少一个处理器:将所述至少一个轨迹分割为多个时间间隔;以及其中使得所述至少一个处理器评估所述至少一个轨迹的所述指令还使得所述至少一个处理器:使用所述至少一个规则手册,评估所述至少一个轨迹的针对所述时间间隔的部分,以确定所述部分违反所述至少一个规则手册中的至少一个规则的程度;聚合所述至少一个违规度量中针对各时间间隔的至少一个值;以及使用聚合的度量来确定所述至少一个轨迹的评分。
在实施例中,所述系统还包括用于将所述至少一个规则手册存储为实现规则的结构化表达的数据结构的数据库,所述规则基于所述规则的相对重要性按层次布置。
在实施例中,一种非暂时性计算机可读存储介质上存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行上述的方法中的任何步骤。
所公开的实施例中的一个或多个提供以下一个或多个优势。基于规则的轨迹评估系统将一个或多个地图、感知输出(例如,道路上的当前智能体)和一个或多个规划轨迹作为输入,并输出针对一个或多个规划轨迹的评分。轨迹评分基于单独规则的结构化形式,以帮助建立自主运载工具基于每场景的行为规范。评估系统可用于评估规划器,在这种情况下,感知输出用于评估整个AV;以及/或者评估系统可用于评估AV,在这种情况下,使用场景的地面实况(具有所有实际智能体位置)。
可以将评分反馈给各种用户,包括但不限于可称为基于规则的轨迹评估系统的自主运载工具软件栈的软件模块(例如,规划器、控制器、预测器、模拟器等)。基于规则的轨迹评估系统还可以在云平台上实现以用于仿真、验证和校验以及研究目的,或者在运载工具中实现以用于实时规划的轨迹评估。例如,在基于规则的评估系统中使用的行为规范和验证器可以被集成到用于自主运载工具的软件仿真中,以用于自主校验EGO运载工具在给定场景中的行为并生成回归。
这些和其它方面、特征和实现可被表示为方法、设备、系统、组件、程序产品、用于进行功能的部件或步骤以及其它方式。根据以下的说明书以及权利要求书,这些和其它方面、特征和实现将变得明显。
附图说明
图1示出根据一个或多个实施例的具有自主能力的自主运载工具(AV)的示例。
图2例示根据一个或多个实施例的示例“云”计算环境。
图3例示根据一个或多个实施例的计算机系统。
图4示出根据一个或多个实施例的AV的示例架构。
图5是根据一个或多个实施例的基于规则的轨迹评估系统的框图。
图6A至6D示出根据一个或多个实施例的各种驾驶场景。
图7是根据一个或多个实施例的基于规则的轨迹评估处理的流程图。
图8示出根据一个或多个实施例的使用规则手册的行为验证。
图9示出根据一个或多个实施例的线性违规度量,该线性违规度量意味着A所表示的间隙侵犯中的改变具有与B所表示的相同的值。
图10示出根据一个或多个实施例的一致性,该一致性显示穿过B是比穿过A更好的选择。
图11示出根据一个或多个实施例的在用于EGO停留在可驾驶区域中的规则的情况下的侵犯距离。
图12示出根据一个或多个实施例的包含非活动运载工具的驾驶场景,该驾驶场景中,示例规则是EGO要维持与非活动运载工具的间隙。
图13A和13B分别示出根据一个或多个实施例的示例场景配置和轨迹数据结构。
图14A至14C示出根据一个或多个实施例的对示例轨迹的针对速率极值点和拐点的基于规则的评估。
图15A和15B示出根据一个或多个实施例的对示例轨迹的针对危险偏差的基于规则的评估。
图16A和16B示出根据一个或多个实施例的、当经过左侧停放的小汽车时对示例轨迹的针对速率界限的基于规则的评估。
图17示出根据一个或多个实施例的对多个间隔的违反规则的程度的测量。
图18示出根据一个或多个实施例,使用基于规则的轨迹评估系统来比较两个候选轨迹,并基于多个规则手册违反来选择一个轨迹。
图19示出根据一个或多个实施例,使用基于规则的轨迹评估系统来评估与参考轨迹相比的运载工具针对特定轨迹的行为。
图20示出根据一个或多个实施例,使用规则手册来评估并比较两个轨迹。
图21示出根据一个或多个实施例的基于规则的轨迹评估系统的用户界面。
图22是根据一个或多个实施例的用于基于规则的轨迹评估的处理的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的特定排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意味着在所有实施例中都需要这种要素,也不意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,诸如实线或虚线或箭头的连接要素用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以免使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,则本领域技术人员应理解,这种要素表示实现通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何单独的特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.系统概述
3.自主运载工具架构
4.基于场景的行为规范和验证。
总体概述
提供了用于基于场景的行为规范和验证的技术。在给定轨迹的情况下,基于规则的轨迹评估系统以三个步骤分析输入数据(例如,一个或多个地图、感知输出、轨迹):裁剪、缩减和聚合。裁剪步骤包括将轨迹分割为时间间隔,其中最简单的间隔可以在两个连续时间戳之间。在一些实施例中,间隔可以是更长的,以覆盖多个时间戳。在实施例中,认为整个目录是单个间隔。
缩减步骤将每个间隔与用于评估轨迹的违规度量相关联。在实施例中,使用信号时序逻辑(STL)框架来指定驾驶规则,并且使用算术几何平均(AGM)框架来对轨迹评分(测量其鲁棒性)。STL框架使用定性和定量语义来评定轨迹是否以及在多大程度上遵守规则手册中的规则。AGM框架使用算术和几何方法来考虑鲁棒性的程度,使得在更多的时间步长中满足规则的轨迹接收到更高的评分。
在其它实施例中,可以使用其它方法来表达复杂时序要求下的系统行为,复杂时序要求包括但不限于:线性时序逻辑(LTL)、度量时序逻辑(MTL)和时间窗时序逻辑(TWTL)。此外,其它实施例可以使用不同的评分方法,包括但不限于:P范数、试探优化方法(例如,粒子群优化、模拟退火、快速搜索随机树(RRT))和混合整数线性规划(MILP)。
聚合步骤将间隔的所有违规度量聚合,以概括整个轨迹的单个评分。在实施例中,缩减和聚合步骤被集成到单个步骤中。如果不进行裁剪步骤,则缩减和聚合步骤将退化为单个步骤。
在实施例中,输出评分被反馈给用户,该用户可以包括软件模块(例如,规划器、控制器、预测器、仿真器)。在其它实施例中,系统以用于仿真和研究目的云平台为主机,或以用于实时轨迹评估的运载工具为主机。
通过本文所述的系统和方法的实现,可以更精确地对轨迹进行评分。结果,本文所述的系统(例如,规划系统)可以在编程(训练)自主运载工具架构的一个或多个系统的情况下,选择满足一个或多个规则的轨迹和/或放弃对不满足一个或多个规则的轨迹的选择。这进而可以得到运载工具(包括诸如自主运载工具架构等)的更好和更可预测的操作。
系统概述
图1示出具有自主能力的自主运载工具100的示例。
如本文所使用的,术语“自主能力”是指如下的功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。
如本文所使用的,自主运载工具(AV)是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船、摩托车、自行车等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指将AV从第一时空地点操作到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,并且各路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,RAM和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的道路、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿过的部分,并且可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的一些空间(例如,小于50%)。例如,具有相距远的车道标记的道路可能在标记之间容纳两个或更多个运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,并且因此可被解释为具有比车道标记之间的空间窄的车道,或具有车道之间的两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如乡村区域沿着通道的岩石和树木)来定义车道。
如本文所使用的,“规则手册”是在规则集合上实现优先级结构的数据结构,该规则集合基于其相对重要性来排列,对于优先级结构中的任何特定规则,在结构中具有比优先级结构中的特定规则更低优先级的(一个或多个)规则具有比该特定规则更低的重要性。可能的优先级结构包括但不限于:层次结构(例如,在不同程度的规则违规上的总顺序或预排序)、非层次结构(例如,对规则的加权系统)或混合优先级结构,其中规则子集是层次化的,但是各个子集内的规则是非层次化的。规则可以包括交通法、安全规则、道德规则、当地文化规则、乘客舒适度规则以及可用于评估任何源(例如,人、文本、法规、网站)所提供的运载工具的轨迹的任何其它规则。
如本文所使用的,“EGO运载工具”或“EGO”是指具有用于感知虚拟环境的虚拟传感器的虚拟运载工具或AV,该虚拟环境被例如规划器用来规划虚拟AV在虚拟环境中的路线。
“一个或多个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任何组合。
还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
如本文所使用的,AV系统是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV系统并入在AV内。在实施例中,AV系统跨若干地点分布。例如,AV系统的一些软件是在类似于下面关于图2描述的云计算环境200的云计算环境中实现的。
一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全自主运载工具、高度自主运载工具和有条件自主运载工具,诸如分别为所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。本文件所描述的技术也适用于部分自主运载工具和驾驶员辅助运载工具,诸如所谓的第2级和第1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义)。在实施例中,一个或多个第1级、第2级、第3级、第4级和第5级运载工具系统可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全自主运载工具到人类操作的运载工具范围内的任何级别的运载工具受益。
参考图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的示例是全球导航卫星系统(GNSS)接收器、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速率传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光谱、红外或热(或两者兼有)谱的单目或立体摄像机122,LiDAR 123,RADAR,超声波传感器,飞行时间(TOF)深度传感器,速率传感器,温度传感器,湿度传感器和降水传感器。
在实施例中,AV系统120包括用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据的数据存储单元142和存储器144。在实施例中,数据存储单元142与以下关于图3描述的ROM 308或存储装置310类似。在实施例中,存储器144与下面描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程定位的数据库134通过通信信道传输到AV100。
在实施例中,AV系统120包括用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到AV100的通信装置140。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或这两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合用于与自主运载工具进行的和在自主运载工具之间的通信的一个或多个通信标准。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、WiFi、蓝牙、卫星、蜂窝、光学、近场、红外或无线电接口。通信接口将数据从远程定位的数据库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传输到AV 100。
位于AV 100上的计算装置146基于实时传感器数据和先验信息两者以算法方式生成控制动作,以允许AV系统120执行其自主驾驶能力。
在实施例中,AV系统120包括耦接到计算装置146的计算机外围设备132,以用于向AV 100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,外围设备132类似于下面参考图3讨论的显示器312、输入装置314和光标控制器316。耦接是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。
示例云计算环境
图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)装置、自主运载工具(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。在实施例中,计算系统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中,或存储在其它非易失性存储装置中以便以后执行。
自主运载工具架构
图4示出用于自主运载工具(例如,图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]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。
在使用中,规划模块404接收表示目的地412的数据,并且确定表示AV 100为了到达(例如,抵达)目的地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在进行转弯之前暂停并等待经过的行人或运载工具。
在实施例中,如参考图5-图18所进一步详细描述的,上述模块402、404、406、408中的任何一者能够向基于规则的轨迹验证系统500发送请求,以验证规划轨迹并接收该轨迹的评分。
基于场景的行为规范和验证
图5是根据一个或多个实施例的基于规则的轨迹评估系统500的框图。系统500的构架可以在云平台上实现(例如,出于仿真和研究目的)并且/或者可以由诸如参考图4所描述的模块402、404、406、408等的外部系统的软件模块直接访问。用户可以通过网页或门户来访问系统。系统500包括规则评估用户界面(UI)501、规则创建UI 502、规则评估器503、规则数据库504、场景数据库505和规则跟踪器506。
在系统500是基于云的平台的实施例中,规则评估UI 501允许用户选择用于规则评估的场景和轨迹。规则创建UI 502允许规则创建者(例如,个人、用户等)基于交通法和常识来创建规则,并将这些规则存储在规则数据库504中。规则评估器503从场景数据库505接收用户通过UI 501所选择的场景配置和轨迹,从规则数据库504读取(一个或多个)规则手册,如参考图6所更全面描述的,并使用这些(一个或多个)规则手册对轨迹进行评分。
在实施例中,规则评估器503包括允许外部系统以编程方式直接从规则评估器503请求轨迹评估的应用编程接口(API)。例如,规划模块404可以使用API来请求规划轨迹评估,通过API将规划轨迹和地图标识符(ID)提供给规则评估器503,并通过API从规则评估器503接收轨迹的评分。在实施例中,如参考图12-图16所更全面描述的,规则数据库504以预排序的层次化规则手册的形式存储各种规则。可以从(例如,表示)通过机器学习算法从人类知识和任何其它源导出的法律和法规中提供规则。系统500包括摄入引擎(未示出),该摄入引擎以允许规则评估器503(例如,使用索引)访问规则的方式来摄入规则,并将规则存储在规则数据库504的规则手册中。在实施例中,如参考图16更全面所描述的,规则被组织在包括数据和操作的层次化面向对象的数据结构中。在实施例中,规则数据库504以与不同程度的规则违规有关的预排序的形式存储各种规则。例如,停车间隙违规小于0.8比达到目标更重要,而达到目标比停车间隙违规小于0.1更重要。
规则跟踪器506跟踪规则和交通法之间的对应关系。规则源包括但不限于:文本(例如,法律、习惯)、常识、数值研究(例如,机器学习分析)或其组合。规则跟踪器506向用户提供允许用户知道规则手册涵盖什么源的信息。规则跟踪器506还能够用于在诉讼事件中评估事故的原因。在实施例中,规则源包括但不限于:网页(其可以由搜索引擎自动地并且周期性地“抓取”)、文件、语句、法律、描述等。规则能够以包括指向相应源的一个或多个指针的数据结构存储在规则数据库504中。
在实施例中,系统500通过绘制规则和源之间的联系来生成示出规则和源之间的关系的图,以示出规则的可追溯性和追踪完整性。在实施例中,规则跟踪可以是基于自然语言处理的,规则的自然语言语句自动转换为时序逻辑表达式并存储在规则数据库504中。
场景数据库505存储各种驾驶场景。驾驶场景的示例包括运载工具在现实世界中遇到的任何情形和状况。示例场景可包括各种不同道路几何结构(例如,枢纽站或枢纽站附近和交叉口或交叉口附近、车道分割和车道缩减、转向和过滤车道等)下的与在特定地图地点避让机动相关联的场景,该避让由附加存在的一个或多个智能体(例如,其它运载工具、行人)所进行。可以指定各场景以强调要测试的行为的某方面。各场景可以定义可接受行为的限制,并确定常规异常,该异常包括人类驾驶者要避免的行为模式以及运载工具所做出的不合理决策。场景包括验证场景中潜在行为的全部复杂性的检查。图6A至6D示出示例场景。
图6A示出避让停放的小汽车的场景,其中目标是使得EGO运载工具的预期路径601避让与直的道路段上的EGO运载工具在同一车道停放的单个小汽车602,并维持纵向和横向距离的适当值。
图6B示出避让在道路附近停放的小汽车的场景,其中目标是在退出道路、进入与停放的小汽车相同的车道时,使得EGO运载工具的预期路径603避让直的道路段上停放的单个小汽车604,并维持纵向和横向距离的适当值。
图6C示出避让停放的小汽车的相反交通场景,其中EGO运载工具的预期路径605可以在停放的小汽车606后停止,向交通607让步,但不应当在机动已经启动之后这样做。
图6D示出避让停放的小汽车的平行交通场景,其中重要违规是避让机动的任何时刻期间预期路径608到/从其它智能体610的距离。
呈现图6A至6D所示的示例场景,以辅助读者理解系统500可以处理的驾驶场景的类型。实际上,系统500可以利用EGO运载工具附近的任意数量的地点处的任意数量的智能体来评估并验证任何期望的驾驶场景,该运载工具具有可以用来评估轨迹的任意数量的初始物理状态(例如,位置、速度、加速度、航向)或心理状态(例如,仿真驾驶攻击性、过度制动和加速等)。
图7是根据一个或多个实施例的基于规则的轨迹评估处理的流程图。如前所述,规则评估器503根据是否进行可选的裁剪步骤来进行两个或三个步骤。在一般用例中,在给定轨迹的情况下,规则评估器503以三个步骤来分析输入数据:裁剪、缩减和聚合。裁剪单元700将轨迹分割成多个时间间隔,其中最简单的时间间隔是在两个连续的时间戳之间。在一些实施例中,时间间隔可以是更长的,以覆盖多个时间戳。在实施例中,认为整个轨迹是单个时间间隔,在这种情况下不进行裁剪步骤。
缩减器单元701将各个时间间隔与用于评估轨迹的度量相关联。在实施例中,STL框架用于指定驾驶规则,AGM框架用于对轨迹的鲁棒性进行评分或测量。STL框架使用定性和定量语义来评定轨迹是否以及在多大程度上遵守规则手册中的规则。AGM框架使用算术和几何方法来考虑鲁棒性的程度,使得在更多的时间步长中满足规则的轨迹接收到更高的评分。在其它实施例中,可以使用其它方法来表达复杂时间需求下的系统行为,包括但不限于:LTL、MTL和TWTL。此外,其它实施例可以使用不同的评分方法,包括但不限于:启发式优化方法(例如,粒子群优化、模拟退火、RRT)和MILP。
聚合器单元702聚合时间间隔的所有度量,以概括整个轨迹的单个评分。在实施例中,缩减和聚合步骤被集成为单个步骤。如果裁剪单元700没有进行裁剪步骤,则缩减和聚合步骤被退化为单个步骤。
图8示出根据一个或多个实施例的使用规则手册的行为验证。用户(例如,人类用户、软件模块)所指定的场景配置801包括场景802和与场景相关联的规则803。轨迹804是针对规则803的违规806的已评估805,以及各违规的规则所违规的程度。例如,图6A所示的场景802具有避让停放的小汽车的规则803,并且违规度量包括纵向距离和横向距离。如果EGO运载工具没有维持住期望纵向和横向距离度量,则认为将违反规则803。
违规度量
诸如“EGO和行人之间的距离不应超过间隙阈值”等的规则语句可以用于确定特定轨迹是否满足诸如“维持与行人的间隙”的规则。这种规则的布尔视角允许在“好”和“坏”轨迹之间的区分,但不能区分两个或更多个违规轨迹。例如,布尔视角将对超过标示限速了5%或超过标示限速了150%之间没有偏袒。要对两个或多个违规轨迹进行排名,需要量化轨迹违反规则语句的程度。在实施例中,通过对各规则语句定义违规度量来量化违规的程度。
通常,违规度量是与违反规则语句的轨迹相关联的负效用的表达式。在一些实施例中,可以使用经验证据来确定违规的程度。经验证据的一些示例包括但不限于:关于人类评定者认为“合理”的众包数据,揭示人类驾驶者数据的偏好,专门设计用于测量来自人类驾驶者的参数的实验,以及与执法部门或其它当局的专家启发研究。
通常,期望违规度量具有如下公式化表示:1)在单个时间点与单个实例(例如,一个行人、一个停止标志)相关的违规的程度,在后文中被定义为“瞬时违规度量”;2)瞬时违规度量随时间的聚合(例如,一个给定的行人周围的间隙违规随时间之和),在后文中定义为“实例违规度量”;3)多个实例上的违规的聚合(例如,在行人间隙规则中,间隙违规随时间和随行人之和),在后文中被定义为“总违规度量”;以及4)总违规评分的单位。下面的章节讨论上述四个步骤中的各个步骤。最后的章节对侵犯距离的概念进行了形式化。
瞬时违规度量
轨迹上违反规则语句的各个点都与某种程度的违规相对应,这意味着一些负效用。在一些实施例中,违规程度取决于以下量中的一者或多者:距离(例如,间隙侵犯);速率(例如,超过阈值的速率、穿越停车区域时的速率);以及加速度(例如,超过舒适度阈值的加速度)。这些量越大,就发生越多违规。例如,如果EGO在间隙阈值上侵犯了10厘米,这明显表示比如果EGO侵犯5厘米的情况更多的违规。因此,违规可能是相关量的单调递增函数。在间隙侵犯的示例中,让我们假设行人的间隙阈值是1米。如图9所示,线性违规度量意味着在1米间隙内,无论我们距行人有多近,我们都附加相同的效用以距离行人10厘米。然而,在EGO靠近行人的情况下,规则语句的侵犯中的改变可能变得比在EGO仍远离行人的情况下更重要。对于构建非线性关系的不同间隙值,可能难以直接测量行人所经历的负效用。在实施例中,可以根据在真实交通情形下观察到的间隙距离的分布来构建非线性关系。
考虑图10中的情形,其假设为EGO位于不可避免违规的两个行人之间。如果违例是间隙侵犯的线性函数,我们将对通过点A或点B之间没有偏袒。例如,假设为任何行人的间隙阈值是1米,并且行人之间的距离是50厘米。如果A距离行人P1 5厘米,则关于P1的间隙侵犯是95厘米,关于P2的间隙侵犯是55厘米,所以总违规是1.5米。如果B在两个行人之间,则两个行人这二者的间隙侵犯都是75厘米,所以总违规也是1.5米。然而,合理的群体可能会发现B比A更优选。虽然这部分反映了公平的概念,但是当EGO选择A而不是B时,行人P2所经历的效用的提高并不是像P1的效用劣化一样值得。因此,在实施例中,瞬时违规度量是侵犯距离的非线性函数。
如果在许多可能非线性单调递增函数之间选择的数据不可用,则使用指导原则来解决最简单的形式(例如,Occam剃刀),其在实施例中是二次函数。在图10的示例中,当EGO选择选项B时发生最小的违规。注意,使用与上述相同数量的但使用间隙侵犯距离的平方,选项A导致总违规是1.205,而选项B导致总违规是1.125。为了仍然对总违规度量使用直观的单位,在聚合时间和/或实例之后计算平方根,这有效地使聚合成L2范数(见下文)。在实施例中,基于数据为单个规则确定二次或其它非线性单调递增函数的参数。
实例违规度量(随时间聚合)
EGO轨迹不是由单个点组成,而是由跨越场景持续的随时间的位置序列组成。因此,为了能够对轨迹排名,瞬时违规度量随时间而被聚合。在一些实施例中,等级取决于规则是由长时间内的轨迹轻微违反还是由短时间内的轨迹严重违反。在一些实施例中,等级取决于随时间的平均违规或随时间的最大违规。来自前面章节的二次函数保证不会不成比例地惩罚潜在量的大违规(例如,大侵犯、大的超过速度或大的超过加速度)。在实施例中,可以施加附加的功能形式,以在缺乏支持一个或另一个的具体证据的情况下优选较长的轻微违规或较短的违规。
在一些实施例中,如果规则处理EGO和道路特征(例如,道路用户、交通标志、交通标记、道路基础设施等)之间的暂态交互,则最大瞬时违规评分用于交互。如果规则处理对EGO行为的连续约束,则瞬时违规评分在整个交互时间上的积分用于交互。
暂态交互包括经过用户、导航十字路口、经过停放的小汽车。不使用时间积分的一个原因在于,它将激励EGO尽可能快地完成交互以最小化聚合违规,这是这种规则的公式化表示的不期望的产物。
连续约束包括速率和加速度限制、停留在可驾驶区域或跟随的小汽车。不使用最大瞬时违规评分的原因在于,一旦轨迹到达其最高违规评分,EGO将不具有遵守规则的激励。例如,在针对乘客舒适度规则的加速度阈值的示例中,使用最大值将意味着,例如即使第二个轨迹比第一个轨迹多一个硬制动,EGO也对两个轨迹之间没有偏袒。
总违规度量
在轨迹遇到调用规则的多个实例(例如,多个行人、停止标志或右转)的情况下,使用最大预期效用的第二指导原则通过取平均值(例如,实例违规评分之和除以实例数量)来聚合实例。该指导原则假设为实例违规度量已经足够接近负效用。
在一些实施例中,可以使用可选的指导原则,其用于最小化所有实例中的最大违规评分。在多个道路用户的情况下,这意味着对许多人来说,适度的负效用比对单个人的更大负效用更优选。
单位和标准化
在实施例中,所有违规评分被转化为负效用(例如,货币损失)的国际测量。全体规则评分的一些示例是违规评分的自然单位和标准化违规评分。第一个选项要求违规随时间聚合的平方根以及将单位返回到自然量(诸如,距离、速率和加速度等)的实例。第二个选项确定各规则的最大可能非标准化总违规评分,并除以该最大值以返回0(不违规)和1(最大违规)之间的违规评分,在后文中也将被该最大值所除的值称为“标准化”系数。为了便于比较规则的公式化表示之间的违规评分,选择一些全局常数,诸如EGO在任何场景中都可以得到的最大速率、或不可驾驶区域中的最大可能侵犯。选项的选择取决于应用。为了仔细检查单个规则违规评分和预排序框架中的排名或轨迹,自然单位是信息量最大的。对于跨规则的违规评分的比较,标准化的评分更直观。
侵犯距离
许多规则的公式化表达包含侵犯距离的概念。在规则中,所调用的距离通常是两个不同形状(例如,矩形的EGO足迹、可驾驶区域一侧的直线段、行人周围的间隙区域的圆)的实心物体之间的距离。直观地说,侵犯距离是EGO运载工具超越边界的距离。
参考图11,豪斯道夫(Hausdorff)距离的概念与侵犯距离的概念非常契合。EGO足迹是二维欧氏空间的非空子集。其它“区域”(例如,间隔区域、不可驾驶区域)也是二维欧氏空间的非空子集。豪斯道夫距离被定义为从一个集合中的点到另一集合中最接近的点的所有距离中最大的距离。在图11所示的场景中,规则是“停留在可驾驶区域”,并且豪斯道夫距离与EGO的足迹1101以及可驾驶区域中最近的点之间的距离相对应,足迹1101是可驾驶区域1100最外面的。在行人间隙的情况下,豪斯道夫距离减小到间隙阈值和最短距离之间的差,该最短距离是EGO和行人的任意两点之间的距离。
示例规则的公式化表达(维持与非活动运载工具的间隔)
图12示出根据一个或多个实施例的包含非活动运载工具的示例规则是EGO要维持与非活动运载工具的间隙的驾驶场景。非活动运载工具被定义为不积极参与交通的运载工具。例如,非活动运载工具可以是停放的/并排停放的、装运/卸载、靠边停车或紧急停车,但其可能不在红绿灯或交通中等待的其它情况下停下来。
可以使用如下词语来描述用于该驾驶场景的规则:“EGO不应当与道路表面的非活动运载工具相距在某距离内”。该距离取决于EGO的速率。违规度量基于EGO最接近非活动运载工具的方法,并不成比例地惩罚大的违规。示例规则被设计为在非活动运载工具附近满足乘客对安全和礼貌行为的预期。规则使得预期形式化为不要距停放的小汽车或其它非活动运载工具过近。规则被设计为导致EGO的乘客和非活动运载工具的乘客所能接收的EGO行为。在沿EGO的轨迹的一些位置存在非活动运载工具的情况下,可以应用规则。仅在EGO速率是非零的情况下应用规则。该示例规则假设为EGO正在平坦区域中运行,所以规则在2D空间中公式化表示。
基于图12的规则语句可以数学方式表示如下:
针对所有时间t和所有i=1,…,niv
Figure BDA0003082155960000261
给定非活动运载工具i的示例瞬时违规度量为:
Figure BDA0003082155960000262
给定非活动运载工具i的实例违规度量的示例为:
ρT,i=maxt∈[0,T]ρi [6]
分别给出等式[7]和[8]的示例总违规度量和示例标准化系数:
Figure BDA0003082155960000263
Figure BDA0003082155960000264
在等式[4]至[8]中,ego=EGO运载工具,iv_i=非活动运载工具i,ct_{min}^{iv_i}=ego和iv_i之间的最小间隔,ct_{tot}^{iv_i}=ego和iv_i之间的总间隔,t_{ct}^{iv}=ego速率的每单位增加总间隔的增加,v_ego=ego绝对速率,v_{ego}^{max}=ego在任何方向上的最大可能速率,n_{iv}=非活动运载工具的数量并且n_f=标准化系数。
等式[4]至[8]假设,如图12所示,EGO和非活动运载工具由矩形边界盒表示。在该示例中,规则实现计算EGO和非活动运载工具的边界盒的最近点的线性或欧氏距离。在缺少与在标记或无标记位置点合法停放的小汽车以及在预期没有停放小汽车的情况下停放的或非活动运载工具的间隔有关的良好信息的情况下,上述等式对这些情况不做区分。在一些实施例中,规则可以利用相同的数学公式但潜在不同的规则参数和/或优先权来定义针对各个情况的不同子规则。安全距离的参数选择可以取决于天气、当日时间、道路类型。在实施例中,安全距离的参数选择是具有斜率的EGO速率的函数。在该示例中由于如果在非活动运载工具附近花费更多的时间,则这不是问题,所以考虑最接近非活动运载工具的方法,并且对于示出EGO与小汽车的距离有多近,只有最大侵犯是重要的。然而,在其它实施例中,可以使用随时间的累积。由于如上所述,非活动运载工具的间隙是暂态交互,所以使用最大值而不是积分。
其它规则也将影响非活动运载工具周围的行为。其它规则的一些示例包括但不限于:“达到目标应移除EGO卡在非活动运载工具后面的可能性”,“满足最高速率限制应移除EGO在停放有小汽车或其它非活动运载工具的区域内移动过快的可能性”,以及“EGO的行为与以较慢速率超越小汽车不同,后者分别考虑EGO前方、左侧和右侧的间隙,即,维持与活动运载工具的间隙。
图13A和13B分别示出根据一个或多个实施例的示例场景配置和轨迹数据结构。示例场景配置使用.json文件以定义新加坡的可驾驶区域和规则手册。各场景的期望行为的形式化将包括一系列的独立规则评估和相应检查。通过恰当的参数改变,许多检查可以在不同场景中被重复使用。检查的示例包括但不限于:
·可达性-确定EGO运载工具是否已经到达目的地。
·碰撞-确定EGO运载工具的足迹是否曾与场景中任意其它对象的足迹相交。
·邻近规则检查-确定EGO运载工具是否曾以过高的速率与对象距离过近。存在各种关于邻近的规则,该规则取决于对象类型及其地点和速率以及上下文的组合。
·过度加速度/减速度-确定EGO运载工具是否应用被认为在给定场景下不合理的加速度/减速度。
·不适当停止-包含检查EGO运载工具是否在交通阻碍(例如,避让期间相反交通流的车道)区域中完全停止的确定。
·转向信号使用-确定转弯、避让、车道改变以及在环状交叉路口行驶是否需要正确使用转弯信号。
·曲率轮廓-包括测量路径和拐点的最大曲率(例如,曲率符号的变化表示EGO运载工具的迂回行进)。
·路径管道-在适当的情况下,可以指定用于定义EGO运载工具路径的边界的可接受的管道。有用的检查将确定路径与管道的最大偏差。
在图13A所示的示例中,检查参数包括可驾性、曲率界限、拐点、间隙、速率界限和速率极值。这些检查参数各自都包括一个或多个值。例如,可驾性检查包括到不可驾驶性的距离(例如,到路缘或障碍物的距离,以米为单位),曲率界限检查包括最大曲率(例如,在发生侧滑之前,EGO运载工具路径的最大曲率,以弧度为单位),拐点检查包括最大拐点(例如,路径曲率改变符号以指示“迂回行进”的最大次数)和曲率ε(例如,转弯的锐度,以弧度为单位),间隙检查包括最小间隙(例如,EGO运载工具与另一智能体或对象之间的最小允许距离,单位为米),速率界限包括最小速率、最大速率(例如,EGO运载工具的最小速率和最大速率,单位为米/秒),而速率极值包括速率变化ε(例如,速率具有局部最小值或最大值的次数,用于测量加速度/减速度)。注意,这些规则中的一些与安全相关,其它规则与舒适度相关。参考图13B,示例轨迹包括场景中各个智能体的时间戳、足迹和初始姿势(例如,初始位置)、速率和加速度。足迹的八个值是定义EGO足迹的矩形四角的二维(2D)坐标。在实施例中,2D坐标是局部东北上(ENU)坐标,其中x轴是东,y轴是北。
图14A-14C示出根据一个或多个实施例的对EGO运载工具的示例轨迹的基于规则的评估。图14A示出驾驶场景的道路段的计算机图形和检查结果。图14B是曲率随时间变化的绘图。图14C是EGO运载工具的速率随时间变化的绘图。绘图共同示出,在示例轨迹中,评估的轨迹在多个情况下(分别为5次和7次)违反拐点和速率极值的规则。具体地,图14A示出在场景中地理上的哪里发生了违规,图14B和14C示出轨迹违反各个规则的可接受值的程度。过滤后的绘图与道路日志特别相关,由于运载工具传感器是有噪音的,因此可能会登记不能反映AV轨迹的实际曲率的大尖峰。滤波移除了一些噪声,以仅评估实际的AV轨迹,而不评估传感器噪声。注意,道路段xxx违反规则,而道路段xxx没有违反规则。
图15A和15B示出根据一个或多个实施例的对EGO运载工具的其它示例轨迹的基于规则的评估。图15A示出驾驶场景的道路段的计算机图形和检查结果。图15B是EGO运载工具的速率随时间变化的绘图。基于图15B,用户将观察到各种危险偏差(例如,EGO运载工具和停放的小汽车之间的横向距离过小)。例如,太靠近其它运载工具或对象的轨迹是危险的。因此,安全规则是确保EGO运载工具在诸如车道改变等的任何机动期间与所有智能体和对象保持最小距离。
图16A和16B示出根据一个或多个实施例的对经过左侧停放的小汽车的EGO运载工具的它示例轨迹的基于规则的评估。图16A示出驾驶场景的道路段的计算机图形和检查结果。图16B是EGO运载工具的速率随时间变化的绘图,该绘图示出速率界限。基于此示例结果,用户将观察到,当经过左侧停放的小汽车时,EGO运载工具大幅减速。例如,当经过左侧停放的小汽车时EGO运载工具大幅减速的轨迹,可能满足安全规则,但违反目的地目标规则。即,期望的行为规范可能是在经过左侧停放的小汽车时减速,这刚好足以确保乘客和运载工具的安全,但不比最优速度慢。
图17示出根据一个或多个实施例的由基于规则的轨迹评估系统500对轨迹的示例评估。在该示例中,轨迹1701由规则评估器1702处理。如前面参考图7所述,裁剪单元1703将轨迹分割为时间间隔以关注具有拐点的路段。缩减器1708将度量1707与各个时间间隔相关联,诸如最大曲率和最大拐点。聚合器1706聚合度量1707以概括轨迹1701的单个评分1705。
在实施例中,评分是表示轨迹在给定场景中违反规则的真实值。裁剪器、缩减器和聚合器存在不同的评分选项。示例评分是超过速率限制的违规驾驶。在各时间点,计算EGO速率(vego)和速率限制
Figure BDA0003082155960000301
之间的差。这些值随时间被平方和积分。最后,取平方根来确定评分。等式[1]-[3]分别示出超速驾驶的违规的瞬时违规度量(ρφ))、实例违规度量(ρT,φ)和总违规度量(ρtotal)的示例。
Figure BDA0003082155960000302
Figure BDA0003082155960000303
ρtotal=ρT,φ. [3]
图18示出根据一个或多个实施例的使用基于规则的轨迹评估系统来比较两个候选轨迹,并基于多个规则手册违规来选择该轨迹中的一者。特定场景配置1801所生成的轨迹1804a、1804b是针对是否违反(一个或多个)规则手册1803中的规则的已评估1805。在实施例中,评估的结果(例如,最重要的所违反的规则的违规评分,或违规的加权和)是评分,可以比较该评分以确定哪个轨迹对规则手册1803的违规最少,并且违规最少的轨迹被选择为用于场景1803的EGO运载工具的最佳轨迹。
图19示出根据一个或多个实施例的使用基于规则的轨迹评估系统来评估与参考轨迹相比较时特定轨迹的运载工具的行为。轨迹1904a和参考轨迹1904b是针对是否违反(一个或多个)规则手册1903的已评估1905。使用规则手册1903对轨迹1904a、1904b进行评估1905,以确定轨迹1904a如何与场景1902的参考轨迹1904b相比较(例如,通过比较评分)。例如,参考轨迹1904b可以是迫使EGO运载工具在道路中间行驶的目录。将用户所选择的轨迹1904a与参考轨迹1904b进行比较,允许用户与场景1902的参考轨迹1904b的行为相比较来评估EGO运载工具在场景1902中的行为。
图20示出根据一个或多个实施例的规则手册的使用。图20中的规则手册包括以相对重要性的层次布置的预排序规则集合。使用规则手册评估轨迹2001、2002,以确定轨迹是违反还是满足规则手册中的规则A和B。在该示例中,规则A可能比规则B重要,因此规则A处于规则手册层次中的较高水平。由于在任何方面都不冲突,规则A和规则B可能是不可比较的。规则A和规则B在规则手册中可能具有相同的等级,即,规则手册层次中的相同水平。通过规则手册2004评估各个轨迹2001、2002,并且比较2005的结果(例如,违反规则和/或满足规则的数量)以确定两个轨迹2001、2002的性能之差2006。在实施例中,比较允许基于违反规则的数量来选择一个轨迹而不是另一个轨迹。在实施例中,使用(一个或多个)规则手册来评估轨迹,导致轨迹2001、2002的评分,这便于轨迹的比较,即,评分是基于违反规则或满足规则的数量的。例如,如果轨迹2001具有比轨迹2002高的评分,则轨迹2001具有比轨迹2002更少的规则违反(或更多的规则满足)。在实施例中,评分越低,违反规则或满足规则的就越少。在其它实施例中,轨迹违反的优先级结构中规则越高,该轨迹的违规越多。
图21是根据一个或多个实施例的用于规则评估的图形用户界面(GUI)2100的示例画面截图。GUI 2100是图5所示的规则评估UI 501的示例。GUI 2100显示被评估的道路段的鸟瞰(BEV)图像2102。GUI可供性2105允许用户选择要覆盖在BEV图像2102上的一个或多个层,在该示例中,用户选中了可驾驶区域2102a、足迹路径2102b、参考路径2102c、运载工具2102d和检查菜单2106的复选框。检查菜单2106允许用户选择用于轨迹评估的“检查”。在所示示例中,用于检查的选项包括无碰撞、可驾驶性、间隙和曲率界限。用户选择了“无碰撞”检查,这将使得评估轨迹是否与其它运载工具碰撞。GUI可供性2107提供用于所选择的检查的参数列表,在该示例中,该参数列表包括到不可驾驶性的距离、最大曲率、最大拐点、曲率ε和最小间隙。用户已选择用于曲率ε和最小间隙的值。因此,在该示例中,用户正在测试车道改变机动,以避让停放的小汽车,并且已为机动路径指定了特定的最大曲率和到停放的小汽车的特定的最小横向距离。
响应于用户在菜单2101中选择“规则手册”选项,也在GUI 2100中显示规则层次2104。规则层次2104示出应用于轨迹的规则的相对重要性。在该示例中,规则按重要性从上到下进行组织,最重要的规则是无碰撞,其次是可驾驶性,然后是跟踪间隔,最后是最不重要的曲率界限规则。轨迹可能违反曲率界限、跟踪间隔和可驾驶性的规则,以确保强制进行无碰撞规则。这是有道理的在于,更希望运载工具驶离道路并牺牲乘客的舒适度(例如,通过快速避让机动或危险地行驶靠近停放的小汽车)以避免可能导致重伤或死亡的碰撞。
示例处理
图22是根据一个或多个实施例的用于基于规则的轨迹评估的处理的流程图。可以使用例如参考图3所述的计算机系统300来实现处理2200。
处理2200可以通过获得一个或多个轨迹、地图和感知输出来开始(2201)。例如,可以通过软件模块或使用API的其它系统来提供轨迹、地图和感知输出。
处理2200继续可选地将轨迹分割为时间间隔(2202)。例如,可以基于时间戳将轨迹分割为多个间隔,并且将各时间区间与规则的一个或多个度量相关联(2203)。
处理2200继续使用规则手册基于对间隔的轨迹评估来生成各时间间隔的评分(2204)。例如,STL框架可用于指定驾驶规则,并且AGM框架可用于对轨迹的鲁棒性进行评分或测量。在其它实施例中,可以使用其它方法来表达在复杂时间要求下的系统行为,并对轨迹评分。
处理2200继续生成被考虑为单个间隔或者通过聚合所有时间间隔的度量来生成整个轨迹的评分(2205)。然后,如上所述,可以将评分提供给人类用户或软件模块。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是根据本申请所授权的权利要求书的以授权权利要求书的具体形式的字面和等同范围,包括对授权权利要求书的任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当支配在权利要求书中所使用的此类术语的意义。另外,当在之前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或者先前所述的步骤或实体的子步骤/子实体。

Claims (12)

1.一种轨迹评估方法,包括:
使用至少一个处理器,获得与自主运载工具系统的驾驶场景相关联的至少一个轨迹;
使用所述至少一个处理器和至少一个规则手册,评估所述至少一个轨迹以确定所述至少一个轨迹是否违反所述至少一个规则手册中的至少一个规则,其中,所述规则手册中的各规则与至少一个违规度量相关联,所述至少一个违规度量用于确定满足或违反该规则的程度;
使用所述至少一个处理器和所述至少一个违规度量,确定所述至少一个轨迹的评分;以及
使用所述至少一个处理器,将所述评分发送到所述自主运载工具系统的软件栈中的软件模块、所述自主运载工具系统的仿真、以及通过基于云的平台的用户界面呈现的视觉资料或报告中至少之一。
2.根据权利要求1所述的方法,还包括:
使用所述至少一个处理器,将所述至少一个轨迹分割为多个时间间隔;
使用所述至少一个处理器和所述至少一个规则手册,评估所述至少一个轨迹的针对所述时间间隔的部分,以确定所述部分是否或在多大程度上违反所述至少一个规则手册中的至少一个规则;以及
使用所述至少一个处理器,基于确定为所述部分违反所述至少一个规则手册中的至少一个规则,聚合所述至少一个违规度量中针对各时间间隔的至少一个值,以生成聚合违规度量值,
其中,确定所述至少一个轨迹的评分包括:
基于所述聚合违规度量值来确定所述至少一个轨迹的评分。
3.根据权利要求1或2所述的方法,其中,所述至少一个规则手册是实现预排序规则集合的数据结构,该预排序规则集合中的规则基于所述规则的相对重要性按层次布置。
4.根据权利要求1至3中任一项所述的方法,其中,至少一个规则与安全相关,并且至少一个规则与乘客舒适度相关。
5.根据权利要求1至4中任一项所述的方法,其中,存在至少两个轨迹,以及
其中,评估所述至少一个轨迹包括:
使用所述至少一个规则手册来评估所述至少一个轨迹中的各轨迹。
6.根据权利要求5所述的方法,其中,所述两个轨迹中的至少一个轨迹是与另一轨迹进行比较的参考轨迹。
7.一种基于规则的轨迹评估系统,包括:
用户界面,其被配置为接收至少选择驾驶场景的用户输入;
至少一个处理器;以及
存储有指令的存储器,所述指令在由所述至少一个处理器执行时,使得所述至少一个处理器:
使用至少一个规则手册,评估至少一个驾驶场景中的至少一个轨迹,以确定所述至少一个轨迹是否违反所述至少一个规则手册中的至少一个规则,其中所述规则手册中的各规则与至少一个违规度量相关联,所述至少一个违规度量用于确定满足或违反该规则的程度;
使用所述至少一个违规度量,确定所述至少一个轨迹的评分;
生成与所述评分相关的报告或视觉资料;以及
提供与所述报告相关联的数据,与所述报告相关联的所述数据被配置为使得所述用户界面经由所述用户界面来呈现所述报告。
8.根据权利要求7所述的系统,其中,所述指令还使得所述至少一个处理器:
将所述至少一个轨迹分割为多个时间间隔;以及
其中使得所述至少一个处理器评估所述至少一个轨迹的所述指令还使得所述至少一个处理器:
使用所述至少一个规则手册,评估所述至少一个轨迹的针对所述时间间隔的部分,以确定所述部分违反所述至少一个规则手册中的至少一个规则的程度;
聚合所述至少一个违规度量中针对各时间间隔的至少一个值;以及
使用聚合的度量来确定所述至少一个轨迹的评分。
9.根据权利要求7或8所述的系统,还包括用于将所述至少一个规则手册存储为实现规则的结构化表达的数据结构的数据库,所述规则基于所述规则的相对重要性按层次布置。
10.根据权利要求7至9中任一项所述的系统,其中,存在至少两个轨迹,
其中,使得所述至少一个处理器评估所述至少一个轨迹的指令还使得所述至少一个处理器:
使用所述至少一个规则手册,评估所述至少两个轨迹中的各轨迹。
11.根据权利要求10所述的系统,其中,所述两个轨迹中的至少一个轨迹是与另一轨迹进行比较的参考轨迹。
12.一种非暂时性计算机可读存储介质,其上存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行根据权利要求1至6中任一项所述的方法。
CN202110569599.0A 2020-12-11 2021-05-25 轨迹评估方法、系统和计算机可读介质 Pending CN114626285A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/120,064 2020-12-11
US17/120,064 US11681296B2 (en) 2020-12-11 2020-12-11 Scenario-based behavior specification and validation

Publications (1)

Publication Number Publication Date
CN114626285A true CN114626285A (zh) 2022-06-14

Family

ID=74679018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110569599.0A Pending CN114626285A (zh) 2020-12-11 2021-05-25 轨迹评估方法、系统和计算机可读介质

Country Status (5)

Country Link
US (1) US11681296B2 (zh)
KR (1) KR102580095B1 (zh)
CN (1) CN114626285A (zh)
DE (1) DE102021131834A1 (zh)
GB (1) GB2601841B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190185012A1 (en) 2017-12-18 2019-06-20 PlusAI Corp Method and system for personalized motion planning in autonomous driving vehicles
US11273836B2 (en) 2017-12-18 2022-03-15 Plusai, Inc. Method and system for human-like driving lane planning in autonomous driving vehicles
US11130497B2 (en) 2017-12-18 2021-09-28 Plusai Limited Method and system for ensemble vehicle control prediction in autonomous driving vehicles
US11568688B2 (en) * 2020-08-25 2023-01-31 Motional Ad Llc Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle
US20230130814A1 (en) * 2021-10-27 2023-04-27 Nvidia Corporation Yield scenario encoding for autonomous systems
US20240042993A1 (en) * 2022-08-04 2024-02-08 Motional Ad Llc Trajectory generation utilizing diverse trajectories
WO2024040099A1 (en) * 2022-08-18 2024-02-22 Motional Ad Llc Control system testing utilizing rulebook scenario generation
US11727671B1 (en) * 2022-08-26 2023-08-15 Motional Ad Llc Efficient and optimal feature extraction from observations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109313445A (zh) * 2016-03-23 2019-02-05 优特诺股份有限公司 车辆驾驶和自动驾驶的促进
CN110389584A (zh) * 2018-04-17 2019-10-29 百度(美国)有限责任公司 用于评估自动驾驶车辆的轨迹候选项的方法
CN111915917A (zh) * 2019-05-07 2020-11-10 现代安波福Ad有限责任公司 用于规划和更新运载工具的轨迹的系统和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170285585A1 (en) * 2016-04-02 2017-10-05 John C. Weast Technologies for resolving moral conflicts during autonomous operation of a machine
CN107543725B (zh) * 2016-07-27 2018-08-03 北京百度网讯科技有限公司 一种无人车操控测试方法及装置
JP6428838B2 (ja) 2017-04-20 2018-11-28 マツダ株式会社 車両の運転支援装置
US10883844B2 (en) * 2017-07-27 2021-01-05 Waymo Llc Neural networks for vehicle trajectory planning
KR102012230B1 (ko) 2018-02-26 2019-08-21 (주)에스더블유엠 자율주행 차량의 테스트 구간별 제어명령 검증 방법 및 장치
US20190286151A1 (en) * 2018-03-14 2019-09-19 GM Global Technology Operations LLC Automated driving systems and control logic for cloud-based scenario planning of autonomous vehicles
US11231717B2 (en) * 2018-11-08 2022-01-25 Baidu Usa Llc Auto-tuning motion planning system for autonomous vehicles
KR102158497B1 (ko) 2019-04-08 2020-09-22 도로교통공단 자율주행 평가시스템
US20220063666A1 (en) * 2020-09-01 2022-03-03 Motional Ad Llc Scoring autonomous vehicle trajectories using reasonable crowd data
US11827240B2 (en) * 2020-12-09 2023-11-28 Uatc, Llc Systems and methods for costing autonomous vehicle maneuvers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109313445A (zh) * 2016-03-23 2019-02-05 优特诺股份有限公司 车辆驾驶和自动驾驶的促进
CN110389584A (zh) * 2018-04-17 2019-10-29 百度(美国)有限责任公司 用于评估自动驾驶车辆的轨迹候选项的方法
CN111915917A (zh) * 2019-05-07 2020-11-10 现代安波福Ad有限责任公司 用于规划和更新运载工具的轨迹的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王勇鑫;钱徽;金卓军;朱淼良;: "基于轨迹分析的自主导航性能评估方法", 计算机工程, no. 06, 20 March 2011 (2011-03-20), pages 147 - 150 *

Also Published As

Publication number Publication date
DE102021131834A1 (de) 2022-06-15
GB2601841B (en) 2023-05-10
US11681296B2 (en) 2023-06-20
GB2601841A (en) 2022-06-15
KR102580095B1 (ko) 2023-09-19
KR20220083962A (ko) 2022-06-21
US20220187837A1 (en) 2022-06-16
GB202100690D0 (en) 2021-03-03

Similar Documents

Publication Publication Date Title
US11714413B2 (en) Planning autonomous motion
US11681296B2 (en) Scenario-based behavior specification and validation
CN113165668A (zh) 利用机器学习使用运动规划来操作运载工具
JP2017535873A (ja) 路上シーン認識のための連続オクルージョンモデル
CN114510018B (zh) 用于子系统性能评价的度量反向传播
DE102020128156A1 (de) Bewerten von trajektorien autonomer fahrzeuge unter verwendung angemessener mengendaten
KR102657847B1 (ko) 거동 규칙 모델을 사용하는 차량 운행
CN114812589A (zh) 用于运载工具的方法、自主运载工具和存储介质
KR102626145B1 (ko) 거동 규칙 검사를 사용한 차량 작동
CN114812588A (zh) 用于运载工具的方法、运载工具和存储介质
KR102580085B1 (ko) 자율 주행 차량의 성능을 평가하기 위한 테스트 시나리오의 선택
CN115565149A (zh) 用于对象检测的方法、运载工具和存储介质
CN113034970A (zh) 安全性系统、自动化驾驶系统及其方法
DE112022003364T5 (de) Komplementäres steuersystem für ein autonomes fahrzeug
CN116466697A (zh) 用于运载工具的方法、系统以及存储介质
CN115729228A (zh) 利用可驾驶区域检测来导航的方法和系统以及存储介质
EP3454269A1 (en) Planning autonomous motion
DE102022103059A1 (de) Automatische annotation befahrbarer strassensegmente
US20240028035A1 (en) Planning autonomous motion
CN117148828A (zh) 操作自主运载工具的方法、系统和介质

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