CN114815799A - 运载工具、用于运载工具的方法和存储介质 - Google Patents

运载工具、用于运载工具的方法和存储介质 Download PDF

Info

Publication number
CN114815799A
CN114815799A CN202111589510.3A CN202111589510A CN114815799A CN 114815799 A CN114815799 A CN 114815799A CN 202111589510 A CN202111589510 A CN 202111589510A CN 114815799 A CN114815799 A CN 114815799A
Authority
CN
China
Prior art keywords
vehicle
constraints
road segment
maneuver
trajectory
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
CN202111589510.3A
Other languages
English (en)
Inventor
J·卡布赞
E·弗拉佐利
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 CN114815799A publication Critical patent/CN114815799A/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
    • 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
    • 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
    • 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/085Taking automatic action to adjust vehicle attitude in preparation for collision, e.g. braking for nose dropping
    • 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/09Taking automatic action to avoid collision, e.g. braking and steering
    • 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
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental 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
    • 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/02Estimation 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
    • 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/02Estimation 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
    • B60W40/04Traffic conditions
    • 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/02Estimation 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
    • B60W40/06Road conditions
    • 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
    • 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
    • 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/0016Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
    • 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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • 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/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/005Sampling
    • 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/0062Adapting control system settings
    • B60W2050/007Switching between manual and automatic parameter input, and vice versa
    • B60W2050/0073Driver overrides controller
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • 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
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk
    • 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
    • B60W2554/00Input parameters relating to objects
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/30Railway vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Game Theory and Decision Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明涉及一种运载工具、用于运载工具的方法和存储介质。基于道路路段来生成运载工具的多个轨迹。从至少一个传感器接收传感器数据。运载工具根据多个轨迹中的第一轨迹正在道路路段上行驶。基于传感器数据和第一轨迹来预测运载工具和对象之间的潜在碰撞。确定约束集合以避免潜在碰撞。约束集合是基于传感器数据确定的。通过将约束集合中的各约束叠加在该约束集合中的各其它约束上来确定运载工具的机动动作。该机动动作包括独立于多个轨迹的第二轨迹。向运载工具的控制电路传输指令以推翻第一轨迹并根据第二轨迹穿过道路路段以进行机动动作。

Description

运载工具、用于运载工具的方法和存储介质
技术领域
本说明书通常涉及运载工具的操作,并且具体涉及使用机动动作生成的运载工具操作。
背景技术
运载工具从初始地点到最终目的地的操作通常需要用户或者运载工具的决策制定***选择从初始地点到最终目的地的通过道路网络的路线。该路线可能涉及满足诸如不超过最大驾驶时间等的目标。复杂的路线可要求许多决策,从而使自主驾驶所用的传统算法不实用。
发明内容
公开了用于使用机动动作生成的运载工具操作的方法、设备和***。在实施例中,运载工具的至少一个处理器基于所述运载工具所行驶的道路路段来生成所述运载工具的多个轨迹。所述至少一个处理器从所述运载工具的至少一个传感器接收传感器数据。所述运载工具根据所述多个轨迹中的第一轨迹在所述道路路段上行驶。所述至少一个处理器基于所述传感器数据和所述第一轨迹来预测所述运载工具和在所述道路路段上移动的对象之间的潜在碰撞。所述至少一个处理器确定所述运载工具的用以避免所述潜在碰撞的约束集合。所述约束集合是基于所述传感器数据所确定的。所述至少一个处理器通过将所述约束集合中的各约束叠加在所述约束集合中的各其它约束上来确定所述运载工具的机动动作。所述机动动作包括独立于所述多个轨迹的第二轨迹。所述至少一个处理器向所述运载工具的控制电路传输指令以:推翻所述第一轨迹;以及根据所述第二轨迹穿过所述道路路段以进行所述机动动作。
在实施例中,所述约束集合包括指示所述道路路段的可驾驶区域和所述道路路段的车道标记其中至少之一的环境约束。
在实施例中,所述约束集合包括为了避免所述潜在碰撞、所述运载工具必须遵守的硬逻辑约束。为了避免所述潜在碰撞、所述运载工具能够违反软逻辑约束。
在实施例中,所述约束集合包括由所述至少一个处理器使用所述传感器数据随时间参数化的基于站点的约束。基于空间的约束是由所述至少一个处理器使用所述传感器数据随站点和时间而参数化的。
在实施例中,确定所述机动动作包括:利用所述至少一个处理器,生成所述基于站点的约束和所述基于空间的约束的并集,以提供所述机动动作。
在实施例中,确定所述约束集合是以第一频率进行的,并且确定所述机动动作以生成所述第二轨迹是以比所述第一频率高的第二频率进行的。
在实施例中,进行所述机动动作包括:将所述运载工具操作到相对于所述对象的特定地点。
在实施例中,所述至少一个处理器确定多个同伦。所述多个同伦中的各同伦包括所述约束集合的不同相应组合。确定所述机动动作基于所述多个同伦中的至少一些同伦。
在实施例中,所述至少一个处理器根据精确度来预测所述运载工具在所述道路路段上的运动。所述至少一个处理器基于所预测的运动确定为所述运载工具能够根据所述多个同伦的子集穿过所述道路路段。确定所述机动动作还基于所述多个同伦的子集。
在实施例中,确定为所述运载工具能够根据所述多个同伦的子集穿过所述道路路段包括:利用所述至少一个处理器,基于所述多个同伦的子集来生成决策图。所述图包括多个节点。各节点与不同的机动动作相对应。
在实施例中,确定所述机动以生成所述第二轨迹包括:利用所述至少一个处理器,将相应的质量度量指派给所述多个同伦中的各同伦。所述至少一个处理器基于所述相应的质量度量来选择所述第二轨迹。
在实施例中,所述相应的质量度量是基于以下至少之一所确定的:根据各同伦穿过所述道路路段所用的预测时间;在根据各同伦穿过所述道路路段的同时所述运载工具的乘员的预测安全性;以及在根据各同伦穿过所述道路路段的同时所述乘员的预测舒适度。
在实施例中,进行所述机动动作包括:利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象前方。
在实施例中,进行所述机动动作包括:利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象后方。
在实施例中,进行所述机动动作包括:利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象之间。
在实施例中,将所述约束集合中的各约束叠加在所述约束集合中的各其它约束上包括:利用所述至少一个处理器,根据所述传感器数据的变化来相对于时间对所述约束集合中的各约束进行采样,以提供所述机动动作。
这些和其它方面、特征和实现可被表示为方法、设备、***、组件、程序产品、用于进行功能的方法或步骤、以及其它方式。
从以下的包括权利要求书的说明书,这些和其它方面、特征和实现将变得明显。
附图说明
图1是例示根据一个或多于一个实施例的具有自主能力的自主运载工具(AV)的示例的框图。
图2是例示根据一个或多于一个实施例的示例“云”计算环境的框图。
图3是例示根据一个或多于一个实施例的计算机***的框图。
图4A是例示根据一个或多于一个实施例的AV的示例架构的框图。
图4B是根据一个或多于一个实施例的规划模块的框图。
图5是例示根据一个或多于一个实施例的、感知模块可以使用的输入和输出的示例的框图。
图6是例示根据一个或多于一个实施例的LiDAR***的示例的框图。
图7是例示根据一个或多于一个实施例的操作中的LiDAR***的框图。
图8是例示根据一个或多于一个实施例的LiDAR***的操作的附加细节的框图。
图9是例示根据一个或多于一个实施例的规划模块的输入和输出之间的关系的框图。
图10例示根据一个或多于一个实施例的路径规划中所使用的有向图。
图11是例示根据一个或多于一个实施例的控制模块的输入和输出的框图。
图12是例示根据一个或多于一个实施例的控制器的输入、输出和组件的框图。
图13是例示根据一个或多于一个实施例的、用于确定机动动作的示例处理的流程图。
图14例示根据一个或多于一个实施例的示例决策图。
图15是例示根据一个或多于一个实施例的示例机动动作的框图。
图16是例示根据一个或多于一个实施例的用于运载工具的操作的处理的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在实施例中或不能在实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多于一个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.***概述
3.自主运载工具架构
4.自主运载工具输入
5.自主运载工具规划
6.自主运载工具控制
7.使用机动动作生成的自主运载工具操作
总体概述
本文介绍了用于使用机动动作生成来操作自主运载工具(AV)的方法、***和设备。AV的规划模块生成环境和AV的传感器信号测量(例如,速率和位置)的图形表示。图形表示的节点表示AV的决策空间的样本(例如,AV相对于其它运载工具和环境约束(诸如可驾驶区域或车道标记等)的一组机动动作)。图形表示的边(edge)表示AV可以跟随以进行不同机动动作的不同可能轨迹。
使用机动动作生成的AV操作的优点和益处包括确定AV的轨迹的计算复杂度降低。不需要规划模块通过生成大量候选轨迹并评价各个候选轨迹来以蛮力的方式确定轨迹。使用本文所公开的实施例,规划模块可以通过识别与可行同伦(例如,AV在穿过路线时能够安全地遵守的约束的组合)相对应的搜索空间的子集并且仅针对该子集生成候选轨迹,来减少搜索空间。
***概述
图1是例示根据一个或多于一个实施例的具有自主能力的自主运载工具100的示例的框图。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。
如本文所使用的,自主运载工具(AV)是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指将AV从第一时空地点操作到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多于一个路段(例如,道路的数段)组成,并且各路段由一个或多于一个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多于一个)传感器”包括一个或多于一个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,RAM和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的一个或多于一个传感器检测到的一个或多于一个分类或标记的对象,或由AV外部的源提供的一个或多于一个分类或标记的对象。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿越的部分,并且可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能容纳两个或两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木)来定义车道。
如本文所使用的,“同伦”是指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包括数据存储单元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)通信装置以及用于通过点对点或自组织(adhoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多于一个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。
在实施例中,通信装置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。耦接是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。
示例云计算环境
图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)、帧中继(FrameRelay)等)进行传输。此外,在网络表示多个子网络的组合的实施例中,在每个底层子网络上使用不同的网络层协议。在实施例中,网络表示一个或多于一个互连网际网络(诸如公共因特网等)。
计算***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运营的云数据中心或设备的连接。ISP326又通过现在通常称为“因特网”328的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中这些信号承载了进出计算机***300的数字数据。在实施例中,网络320包含上述云202或云202的一部分。
计算机***300通过(一个或多于一个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机***300接收用于处理的代码。接收到的代码在接收到时由处理器304执行,和/或存储在存储装置310中,或存储在其它非易失性存储装置中以便以后执行。
自主运载工具架构
图4A是例示根据一个或多于一个实施例的用于自主运载工具(例如,图1所示的AV100)的示例架构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的数据,并且确定表示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在进行转弯之前暂停并等待经过的行人或运载工具。
图4B是根据一个或多于一个实施例的规划模块404的框图。规划模块404包括路线规划器451、逻辑约束452、同伦提取器453、基于样本的机动动作实现器454、轨迹得分生成器455、跟踪控制器456和AV 457。
在实施例中,路线规划器451进行以下操作:接收初始和终末状态;2)利用车道路线选择器规划期望的路障/车道序列;3)基于车道改变将路线拆分成路段,使得路段不包含车道改变;4)基于投影在路障上的(来自动态世界模型458的)的AV的状态来选择AV所在的路段;5)提取所选择的路段的基线路径(在期望车道改变的情况下其可被标记为“期望的”基线路径);以及6)基于最大/最小长度来修剪基线路径。在不需要车道改变的情况下,提取相邻的基线路径并将其标记为软逻辑约束,这意味着AV可以在需要时使用该车道来避免碰撞。参考图13来更详细地例示和说明软逻辑约束。
在实施例中,路线规划器451生成AV的操作环境、基于传感器数据(例如,速率、位置)的AV的物理状态、以及可能结果的图形表示。在实施例中,图形表示是包括多个节点的有向图或决策图(以下所述),其中各节点表示特定驾驶情景的AV决策空间的样本,例如,与其它运载工具和对象以及环境约束(例如,可驾驶区域、车道标记1524)有关的多个机动动作等。参考图15来更详细地例示和说明车道标记1524。有向图的边表示针对特定驾驶情景可用于AV 100的不同轨迹(参见图15)。
在实施例中,逻辑约束452包括“硬”约束和“软”约束。硬约束是不可违反的逻辑约束,因为如果违反,则AV将与另一对象(诸如可能“违规(jaywalking)”穿越道路的行人等)碰撞。注意,硬约束并不意味着“不会碰撞”。相反,硬约束可以是例如可导致碰撞的空间和速率约束的组合。例如,硬约束可用文字表示为:“如果AV在车道A中以30mph前进或者在车道B中以2mph/s加速,则AV将与行人碰撞。”因此,正式表示的硬约束是“在车道A中不以30mph前进”和“在车道A中不超过25mph。”
软约束是AV应遵循但可以违反以例如完成到目的地的行程或避免碰撞的约束。“软”约束的一些示例包括但不限于:乘员舒适度约束;以及与横穿街道(违规)的行人的横向间隙的最小阈值,以向行人和AV乘员提供舒适度。在实施例中,软约束体现在一个或多于一个规则手册中。软约束可以包括随时间改变的空间约束。空间约束可以是可驾驶区域。
在实施例中,同伦提取器453生成AV的一组潜在机动动作。代替假设目标、然后选择表现最好的目标,同伦提取器453假设被称为(以下定义的)“同伦”的活动约束集合,然后选择导致更低代价的约束集合。同伦提取器453从路线规划器451接收包含基线路径(也称为“锚路径”)的路线规划。“锚路径”是AV所在的车道的最佳估计、以及AV在进行车道改变时可以使用的软逻辑约束(例如,潜在期望路径)。在实施例中,路线规划器451还包含沿着锚路径所计算出的(例如,利用绑定生成器计算出的)的速率平方和空间约束。
考虑到AV的初始状态、AV的终末状态、场景中的其它代理的地图表示和预测,同伦提取器453找到AV可以进行的所有“近似”可行的机动动作。注意,在该上下文中,如此得到的机动动作可能不是动态可行的,但同伦提取器453保证如此得到的描述机动动作的约束集合不是空集合(也考虑到AV占用空间)。通过同伦来描述AV机动动作。如上所述,同伦是AV在穿过特定路线时可以遵守的对AV的轨迹的约束集合的子集。当存在多个同伦时,可以选择包括约束的子集的多个同伦的子集。在一些实现中,同伦可以是唯一空间,其中在起始位置(AV状态)开始且在终末状态结束的任何路径均可以连续地变形。为了找到这些机动动作,同伦提取器453对AV针对其它代理可以做出的所有可能决策(例如,在左/右侧通过、在之前或之后通过或者仅停留在后方)进行迭代。简言之,同伦提取器453的输出描述AV相对于代理的时空地点。尽管这可能是计算上昂贵的搜索,但由于一组简单检查,所有不可行的组合都可被消除。在2021年12月7日提交的标题为“Homotopic-Based Planner forAutonomous Vehicles”的共同未决申请(代理人案号46154-0261001)(其通过引用而被全部包含于此)中进一步详细描述了同伦提取器452。
为了能够描述表示其它代理位于何处、以及AV与这些代理的碰撞意味着什么的约束,将每个代理均转换成基于站点和基于空间的障碍物。基于站点的约束随时间而被参数化,而基于空间的约束随站点和时间这两者的变化而被参数化。参考图13-16来说明与同伦提取器503有关的进一步细节。
在实施例中,实现搜索454a...454n由基于样本的机动动作实现器454进行,以针对所有提取的同伦生成一组轨迹1...N。在2021年12月7日提交的标题为“Sampling-BasedManeuver Realizer”的共同未决申请(代理人案号46154-0310001)(其通过引用而被全部包含于此)中进一步详细说明了基于样本的机动动作实现器454。
在实施例中,轨迹得分生成器455使用一个或多于一个规则手册、一个或多于一个机器学习模型459、以及/或者一个或多于一个安全机动动作模型460来对轨迹1...N评分,并且使用得分来选择最符合一个或多于一个规则手册中的规则的轨迹。在实施例中,使用预定义的代价函数来生成轨迹得分。
在使用代价函数的实施例中,全序或偏序层次代价函数可用于对轨迹评分。将代价函数应用于与基于优先级或相对重要性的一个或多于一个规则手册中的规则的层级的违反和/或满意度相关联的度量(例如,布尔值)。基于优先级的规则的示例层级如下(从上到下):碰撞避免(布尔型)、阻塞(布尔型)、期望车道中的终末状态(布尔型)、车道改变(布尔型)和舒适度(双浮点型)。在本示例中,将每个非零优先级规则定义为布尔型,以避免高优先级代价的过度优化。最重要或最高优先级的规则是避免碰撞,之后是避免阻塞,之后是避免期望车道中的终末状态,之后是车道改变,之后是舒适度规则(例如,最大加速度或减速度)。如下更全面地描述这些示例规则:
1.碰撞:如果沿着所评分的轨迹存在AV运载工具的占用空间与任何其它代理/对象的占用空间碰撞的状态(例如,如果这两者的多边形相交,则这两者被视为碰撞),则设置为真(TRUE)。
2.阻塞:如果终末同伦不包含期望目标状态并且轨迹的终末速度低于指定阈值(例如,2m/s),则认为轨迹被阻塞。
3.期望车道中的终末状态:如果在作为期望车道改变的车道中发现轨迹的终末状态,则设置为真,以及如果AV的占用空间在轨迹期间在任何时间越过分道线,则设置为真。
4.舒适度:可以考虑加速度/减速度、制动距离、横向间隙的最大值。
针对各轨迹,检查规则并确定度量。使用度量来用公式表示代价函数,然后使用例如最小二乘公式或任何其它合适的求解器来最小化代价函数。具有最低代价的轨迹是所选择的轨迹,即具有最少规则违反或最符合的轨迹。在实施例中,如以下进一步详细所述,最小化代价函数可用于对轨迹评分。注意,上述规则仅是示例。普通技术人员将认识到,任何合适的代价函数和规则手册(包括具有更多或更少规则的规则手册)都可用于轨迹评分。
对于机器学习实施例,轨迹得分生成器455可以实现一个或多于一个机器学习模型509和/或安全机动动作模型510以对轨迹评分。例如,可以使用神经网络来预测轨迹的得分。
跟踪控制器456用于提高规划模块404对计算需求中的意外尖峰的鲁棒性。跟踪控制器456是快速执行的跟踪控制器,其提供稳定且平滑的控制输入,并且使得规模模块404能够对干扰更快地反映。在实施例中,跟踪控制器506以40Hz运行。对跟踪控制器456的输入是由轨迹得分生成器455提供的已被时间参数化的所选轨迹,使得跟踪控制器506可以在给定时间查询AV的确切期望位置。
在实施例中,将跟踪控制器456用公式表示为具有对控制输入和状态的约束的一种模型预测控制(MPC)问题。然而,也可以使用任何合适的多变量控制算法。MPC型公式使用过程的内部动态模型、滚动时域内的代价函数J、以及用于使用控制输入u来最小化代价函数J的优化算法。优化所用的代价函数的示例是二次代价函数。
在实施例中,动态模型是笛卡尔坐标或任何其它合适的参考坐标系中的运动运载工具模型。例如,运动运载工具模型可以是自行车模型,该自行车模型使得能够在几何上定义侧偏角以用相对于AV的重心所表示的变量来表示偏航率。在实施例中,代价函数J遵循轮廓误差公式(与锚路径的正交偏差),其中目标是使横向和纵向误差最小化。
自主运载工具输入
图5是例示根据一个或多于一个实施例的、感知模块402(图4A-4B)所使用的输入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***502b产生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的其它***(例如,提供至如图4A-4B所示的规划模块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。在AV 100在地面802上行驶时,在没有东西阻挡道路的情况下,LiDAR***602将继续检测到由下一个有效地面点806反射的光。然而,如果对象808阻挡道路,则LiDAR***602所发射的光804e-804f将以与预期一致方式不一致的方式从点810a-810b反射。根据该信息,AV100可以确定存在对象808。
路径规划
图9是例示根据一个或多于一个实施例的(例如,如图4A-4B所示的)规划模块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的输入包括(例如,来自图4A-4B所示的数据库模块410的)数据库数据914、当前地点数据916(例如,图4A-4B所示的AV位置418)、(例如,用于图4A-4B所示的目的地412的)目的地数据918和对象数据920(例如,如图4A-4B所示的感知模块402所感知的经分类的对象416)。在实施例中,数据库数据914包括规划时所使用的规则。规则是使用形式语言(例如,使用布尔逻辑)指定的。在AV 100所遇到的任何给定情形中,这些规则中的至少一些规则将适用于该情形。如果规则具有基于AV 100可用的信息(例如,与周围环境有关的信息)所满足的条件,则该规则适用于给定情形。规则可以具有优先级。例如,“如果公路是高速公路,则移动到最左侧车道”这一规则与“如果出口在一英里内临近,则移动到最右侧车道”相比可以具有更低的优先级。
图10例示根据一个或多于一个实施例的在路径规划中(例如,由规划模块404(图4A-4B))使用的有向图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在节点之间行驶时,意味着AV 100在由相应节点表示的两个物理位置之间行驶。)边1010a-1010c通常是双向的,从某种意义上,AV 100从第一节点行驶到第二节点,或者从第二节点行驶到第一节点。在实施例中,边1010a-1010c是单向的,从某种意义上,AV 100可以从第一节点行驶到第二节点,然而AV100不能从第二节点行驶到第一节点。在边1010a-1010c表示例如单向街道,街道、道路或公路的单独车道,或者由于法律或物理约束因而仅能沿一个方向穿过的其它特征的情况下,边1010a-1010c是单向的。
在实施例中,规划模块404使用有向图1000来识别由起点1002和终点1004之间的节点和边组成的路径1012。
边1010a-1010c具有关联成本1014a-1014b。成本1014a-1014b是表示在AV 100选择该边的情况下将花费的资源的值。典型的资源是时间。例如,如果一个边1010a所表示的物理距离是另一边1010b所表示的物理距离的两倍,则第一边1010a的关联成本1014a可以是第二边1010b的关联成本1014b的两倍。影响时间的其它因素包括预期交通、十字路口的数量、限速等。另一典型的资源是燃料经济性。两个边1010a-1010b可以表示相同的物理距离,但例如由于道路条件、预期天气等,因此一个边1010a与另一边1010b相比需要更多的燃料。
在规划模块404识别起点1002和终点1004之间的路径1012时,规划模块404通常选择针对成本优化的路径,例如,在将边的个体成本相加到一起时具有最小总成本的路径。
自主运载工具控制
图11是例示根据一个或多于一个实施例的(例如,如图4A-4B所示的)控制模块406的输入和输出的框图1100。控制模块根据控制器1102而操作,该控制器1102例如包括:与处理器304类似的一个或多于一个处理器(例如,诸如微处理器或微控制器或这两者等的一个或多于一个计算机处理器);与主存储器306、ROM 308和存储装置310类似的短期和/或长期数据存储装置(例如,存储器,随机存取存储器或闪速存储器或这两者);以及存储器中所存储的指令,这些指令在(例如,由一个或多于一个处理器)执行时执行控制器1102的操作。
在实施例中,控制器1102接收表示期望输出1104的数据。期望输出1104通常包括速度,例如速率和航向。期望输出1104例如可以基于从(例如,如图4A-4B所示的)规划模块404接收到的数据。根据期望输出1104,控制器1102产生可用作油门输入1106和转向输入1108的数据。油门输入1106表示例如通过接合转向踏板或接合另一油门控件来接合AV 100的油门(例如,加速控制)以实现期望输出1104的大小。在一些示例中,油门输入1106还包括可用于接合AV 100的制动器(例如,减速控制)的数据。转向输入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的信息,例如从数据库、计算机网络等接收到的信息。
使用机动动作生成的自主运载工具操作
图13是例示根据一个或多于一个实施例的用于确定用于AV 100的机动动作的示例处理1300的流程图。参考图1来更详细地例示和说明AV 100。在一些实现中,处理1300可以至少部分地使用AV 100的规划模块404的同伦提取器453(例如,如针对图4A和图4B所述)来进行。
AV 100使用AV 100的至少一个处理器146来基于道路路段(例如,道路路段1500可以包括车道1512、1516)来生成AV 100的多个初始轨迹。参考图1来更详细地例示和说明处理器146。参考图15来更详细地例示和说明道路路段1500和车道1512、1516。参考图10来更详细地例示和说明用于轨迹生成的处理。AV 100从AV 100的至少一个传感器121接收传感器数据(例如,LiDAR输出数据504)。参考图10来更详细地例示和说明传感器121。参考图5来更详细地例示和说明LiDAR输出数据504a。还参考图4B来更详细地说明AV 100对传感器数据的使用。AV 100根据属于多个初始轨迹的轨迹198正在车道1516中在道路路段1500上行驶。参考图1来进一步例示和说明轨迹198。AV 100基于传感器数据504a和轨迹198来预测AV100与在车道1516上移动的对象(例如,对象416)之间的潜在碰撞。参考图4和图15来更详细地例示和说明对象416。
AV 100确定AV 100的用以避免潜在碰撞的约束集合1302。该约束集合是基于传感器数据504a确定的。例如,如图13所示,同伦提取器453可以生成与AV 100穿过道路路段1500相关联的约束集合1302。在一些实现中,该约束集合1302的各约束可以包括特定参数和相应的参数值。例如,一个约束表示特定参数C_1应等于特定参数值X_1。作为另一示例,另一约束表示同一参数C_1应等于不同的参数值X_2。作为另一示例,另一约束可以表示不同的参数C_2等于参数值Y_1。
在实施例中,约束集合包括硬逻辑约束和软逻辑约束。硬逻辑约束是AV 100必须遵守例如以避免潜在碰撞或到达目的地199的约束。参考图1来更详细地例示和说明目的地199。参考图4B来更详细地说明硬逻辑约束。因此,约束可以是必需的或“硬性的”(例如,AV100在穿越到目的地199时必须遵守硬约束)。例如,硬逻辑约束可以与AV 100的一个或多于一个乘员的预测安全性和/或AV 100的安全性有关。约束可以规定:AV 100不与某些对象(例如,其它运载工具193、行人192或障碍物)接触、保持在道路路段1500的边界1528、1532内、沿道路的交通方向行驶、不以将伤害其乘员的方式加速或减速、等等。参考图1来更详细地例示和说明运载工具193和行人192。参考图15来更详细地例示和说明边界1528、1532和道路路段1500。作为另一示例,约束可以规定:AV 100与对象416、运载工具193、行人192或其它对象碰撞的可能性小于阈值。参考图4A、图15来更详细地例示和说明对象416。在一些实现中,该可能性由同伦提取器453使用一个或多于一个计算机模拟或动态模型来计算。
软逻辑约束是AV 100应遵守但可违反例如以避免潜在碰撞的约束。参考图4B来更详细地说明软逻辑约束。例如,约束集合1302中的至少一部分可以是软逻辑约束(例如,AV100在穿越到目的地199时应尝试但不一定需要遵守软逻辑约束)。软逻辑约束可以与AV的一个或多于一个乘员的预测舒适度有关。例如,基于这些约束对运载工具的乘员的舒适度的影响,约束可以规定:AV 100遵守某些加速度限制、制动限制、速率限制、转弯率限制、等等。
约束集合1302可以表示可以限制、控制或以其它方式影响AV 100在其穿越到目的地时的操作的任何方面。作为示例,约束集合1302中的至少一部分可以与AV 100的性能能力相关。例如,约束可以规定:AV 100将基于AV的性能能力遵守某些地图约束,这些地图约束包括但不限于:加速度限制、制动限制、速率限制、转弯率限制、惯性限制、等等。作为另一示例,约束可以指定AV 100的运动的范围(例如,AV 100可以在保持直行或转弯的同时向前或向后行驶,但不能左右行驶)。
在实施例中,约束集合1302包括指示道路路段1500的可驾驶区域和道路路段1500的车道标记1524其中至少之一的环境约束。在图15中例示道路路段1500的可驱动区域和车道标记1524。例如,约束集合1302中的至少一部分可以是与AV 100可以使用以横穿到目的地的一个或多于一个道路的地图几何形状有关的地图约束。例如,约束可以规定:AV 100将被局限到道路的某些车道和/或局限在道路路段1500的某些边界1528、1532内(例如,在道路的可导航部分的左右边缘之间)。作为另一示例,约束可以规定AV 100不能通过的道路上的障碍物(例如,对象416)的存在和地点。
在实施例中,约束集合1302中的至少一部分可以与关于AV 100的操作的法律约束有关。例如,约束可以规定:AV 100将遵守道路的特定限速和/或道路的特定交通流(例如,行驶方向)。作为另一示例,约束可以规定:AV 100将遵守特定管辖区内的交通规则或法规。尽管这里说明了示例约束1302,但是这些仅仅是例示性示例。实际上,代替这里所述的约束或除这里所述的约束之外,约束集合1302可以包括附加约束。
在实施例中,AV 100确定多个同伦1304a-1304n。多个同伦1304a-1304n的各同伦包括约束集合1302的不同相应组合。同伦提取器453基于约束集合1302生成一个或多于一个同伦1304a-1304n。例如,各同伦可以包括约束集合1302中的不同约束、以及/或者约束集合1302中的两个或更多个的不同组合。确定AV 100的机动动作是基于多个同伦1304a-1304n中的至少一部分。
在一些实现中,各同伦包括软逻辑约束中的一个或多于一个。此外,各同伦可以包括各个硬逻辑约束。实际上,特定约束是软逻辑约束还是硬逻辑约束可以根据实现而变化。作为示例,在一些实现中,与AV 100的性能能力有关的约束、AV 100可以使用以横穿到目的地199的一个或多于一个道路的地图(环境)约束、与AV 100的操作有关的法律约束、以及/或者AV的一个或多于一个乘员的安全性可被视为“必需的”。作为另一示例,在一些实现中,与AV 100的一个或多于一个乘员的舒适度有关的约束和/或规定AV 100进行某些操作或任务的约束可被视为软逻辑约束。
在图13所示的示例中,第一同伦1304a(“同伦1”)包括:(i)参数C_1等于参数值X_1的软逻辑约束;(ii)参数C_2等于参数值Y_2的软逻辑约束;以及(iii)各个硬逻辑约束。此外,第二同伦1304b(“同伦2”)包括:(i)参数C_1等于参数值X_1的软逻辑约束(与同伦1一样);(ii)参数C_2等于参数值Y_2的软逻辑约束(与同伦1一样);(iii)参数C_N等于参数值Z_1的附加软逻辑约束;以及(iv)各个硬逻辑约束(与同伦1一样)。也就是说,尽管同伦2共用与同伦1相同的约束中的一部分,但同伦2包括不在同伦1中的附加约束。
此外,第三同伦1304n(“同伦N”)包括:(i)参数C_1等于参数值X_1的软逻辑约束(与同伦1和同伦2一样);(ii)参数C_2等于参数值Y_2的软逻辑约束(与同伦1和同伦2一样);(iii)参数C_N等于参数值Z_2的软逻辑约束;(iv)各个硬逻辑约束(与同伦1和同伦2一样)。也就是说,尽管同伦3共用与同伦1和同伦2一样的约束中的一部分,但同伦3针对其约束其中之一指定不同的参数值。
尽管在图13中示出三个示例同伦,但这仅仅是例示性示例。实际上,同伦提取器453可以生成任何数量的同伦,其中各同伦具有约束集合1302的不同相应子集。同伦提取器453确定各同伦1304a-1304n是否“可行”。作为示例,针对各同伦,同伦提取器453可以确定AV是否可以根据该同伦的约束穿越到目的地199,而不会与道路路段1500上的其它对象(例如,对象416)碰撞、不会对其乘员的安全性产生负面影响、不会违反管辖区的交通规则或法规、等等。
在实施例中,AV 100根据精确度来预测AV 100在道路路段1500上的运动。AV 100基于所预测的运动,确定为AV 100可以根据多个同伦的子集(约束的特定组合)穿过道路路段1500。确定机动动作是进一步基于多个同伦的子集。例如,同伦提取器453可以通过预测AV 100的运动来确定同伦1304a-1304n中的各同伦是否可行。对于各同伦,同伦提取器453使用计算机模拟或动态模型来进行AV运动的模拟,以预测AV 100在尝试遵守该同伦的各个约束的同时,在其穿过道路路段1500时将如何移动。如果同伦提取器453确定为AV 100不能在遵守该同伦的各个约束的同时穿过道路路段1500,则同伦提取器453确定为该同伦“不可行”。如果同伦提取器453确定为AV 100能够在遵守该同伦的各个约束的同时穿过道路路段1500,则同伦提取器453确定为该同伦(和关联的机动动作)“可行”。
在实施例中,AV 100基于所预测的运动确定为AV 100可以根据多个同伦的子集穿过道路路段1500。确定机动动作是进一步基于多个同伦的子集。作为示例,同伦可以包括约束的子集(多个同伦的子集),其规定:(i)AV 100在某些时间和地点进行某些操作和任务;(ii)AV 100遵守管辖区内的所有交通规则和法规;(iii)AV 100以不超过其性能能力的方式起作用;以及(iv)AV 100不与道路上的任何对象(例如,运载工具193)或障碍物(例如,对象416)碰撞。同伦提取器453可以根据这些约束来模拟AV 100的运动。
如果同伦提取器453确定为除非AV 100违反某些交通规则或法规、否则AV 100不能进行指定的操作和任务,则同伦提取器453确定为同伦“不可行”。类似地,如果同伦提取器453确定为AV 100不能在不会与另一对象碰撞的情况下进行指定的操作和任务,则同伦提取器453也确定为同伦“不可行”。类似地,如果同伦提取器453确定为进行指定的操作和任务将需要超过AV 100的性能能力,则同伦提取器453也确定为同伦“不可行”。然而,如果同伦提取器453确定为AV 100可以进行指定的操作和任务、并且不会违反其它约束中的任何约束,则同伦提取器453确定为同伦“可行”。例如,在图13所示的示例中,同伦提取器453确定为同伦1和同伦N“可行”,并且同伦2“不可行”(例如,由于违反由同伦2指定的约束集合1302中的一个或多于一个)。
在实施例中,AV 100根据第一精确度来预测AV 100在道路路段1500上的运动。同伦提取器453可以根据第一精确度来确定同伦1304a-1304n中的各同伦是否“可行”。例如,同伦提取器453针对被确定为“可行”的各个同伦生成一个或多于一个轨迹(以确定机动动作),并且避免针对被确定为“不可行”的各个同伦生成轨迹。例如,针对被确定为“可行”的各同伦,同伦提取器453使用计算机模拟和一个或多于一个动态模型、控制律、以及AV 100的运动方程以生成AV 100的轨迹(例如,轨迹1520),该轨迹使得AV 100能够在遵守该同伦的各个约束的同时使用车道1512横穿道路路段1500。在一些实现中,可以使用指定环境190中的一个或多于一个对象(例如,运载工具193或对象416)的运动的一个或多于一个方程和/或控制律来实现模拟和/或动态模型。本文(例如,针对图4A、图4B、图9和图10)说明了用于生成AV 100的一个或多于一个轨迹的示例技术。参考图1来更详细地例示和说明环境190。
例如,在图13所示的示例中,同伦提取器453生成与同伦1相对应的一个或多于一个轨迹1306a(以确定机动动作)和与同伦N相对应的一个或多于一个轨迹1306b(这两个同伦都被确定为“可行”)。然而,同伦提取器453避免生成与同伦2(其被确定为“不可行”)相对应的任何轨迹。
在一些实现中,同伦提取器453可以根据第二精确度来针对被确定为“可行”的各个同伦生成一个或多于一个轨迹。第二精确度可以高于第一精确度。例如,预测AV 100的运动和/或生成AV 100的轨迹1520的精确度可以指:(i)预测AV 100的运动和/或生成AV 100的轨迹1520的空间分辨率;或者(ii)预测AV 100的运动和/或生成AV 100的轨迹1520的时间分辨率。参考图15来更详细地例示和说明轨迹1520。
预测AV 100的运动和/或生成AV 100的轨迹1520的精确度可以指:(iii)用于预测AV 100的运动和/或生成AV 100的轨迹1520的计算机模拟或动态模型的复杂度;或(iv)被分配用于预测AV 100的运动和/或生成AV 100的轨迹1520的计算资源的量。在实施例中,预测AV 100的运动和/或生成AV 100的轨迹1520的精确度可以指:(v)与预测AV 100的运动和/或生成AV 100的轨迹1520相关联的容差或误差范围;以及/或者能够影响可以如何预测AV 100的运动和/或可以如何生成AV 100的轨迹1520的其它这样的特性。
在实施例中,同伦提取器453可以首先根据第一空间和/或时间分辨率针对各个同伦生成预测,并且随后根据更高的第二空间和/或时间分辨率针对被确定为“可行”的各个同伦生成一个或多于一个轨迹(以确定机动动作)。同伦提取器453可以首先根据更低的空间分辨率(例如,以10英尺为增量)针对各个同伦预测AV 100的运动,并且随后根据更高的空间分辨率(例如,以1英尺为增量)针对被确定为“可行”的各个同伦生成一个或多于一个轨迹。同伦提取器453可以首先根据更低的时间分辨率(例如,以10秒位增量)针对各个同伦预测AV 100的运动,并且随后根据更高的空间分辨率(例如,以1秒位增量)针对被确定为“可行”的各个同伦生成一个或多于一个轨迹。尽管以上说明了示例空间和/或时间分辨率,但这些仅仅是例示性示例。实际上,可以使用其它空间和/或时间分辨率来预测AV 100的运动和/或生成AV的一个或多于一个轨迹。
在实施例中,同伦提取器453可以首先根据第一计算机模拟或第一动态模型针对各个同伦生成预测,并且随后根据比第一计算机模拟或第一动态模型更复杂的第二计算机模拟或第二动态模型(例如,对更多变量和/或参数进行建模)来针对被确定为“可行”的各个同伦生成一个或多于一个轨迹。例如,第一计算机模拟或动态模型可以需要更少的计算资源来生成预测(但可以不那么精确),而第一计算机模拟或动态模型可能需要更多的计算资源来生成轨迹(但可以更精确)。作为另一示例,第一计算机模拟或动态模型可以需要更少的数据输入和/或不太全面的数据输入来生成预测(但可以不那么精确),而第一计算机模拟或动态模型可以需要更多的数据输入和/或更全面的数据输入来生成轨迹(但可以更精确)。示例数据输入可以包括例如传感器数据504a、交通数据、天气数据、和/或与AV 100的环境的特性有关的其它数据。
在实施例中,AV 100通过将约束集合1302中的各约束叠加在约束集合1302中的各其它约束上来确定机动动作。机动动作包括独立于多个初始轨迹(例如,轨迹198)的轨迹(例如,轨迹1520),这多个初始轨迹是使用参考图10更详细地例示和说明的用于轨迹生成的处理基于道路路段1500针对AV 100所生成的。同伦提取器453针对该机动动作选择所生成的轨迹1306a和1306b其中之一(如参考图13所例示和说明),并且指示AV 100的控制电路406执行所选择的轨迹(例如,轨迹1306a)。例如,在图13所示的示例中,同伦提取器453将轨迹1306a(“轨迹1”)优先于轨迹1306b(“轨迹N”)而选择。在一些实现中,代替同伦提取器453或与同伦提取器453结合,可以使用其它模块来选择轨迹1520。例如,可以使用同伦提取器453、基于实现样本的机动动作实现器454、和/或轨迹得分生成器455(例如,如参考图4B所述)来选择轨迹。
在实施例中,将约束集合1302中的各约束叠加在约束集合1302中的各其它约束上包括:利用至少一个处理器146,根据传感器数据504a的变化来相对于时间对约束集合1302中的各约束进行采样以提供机动动作。例如,确定约束集合1302可以以第一频率进行,并且确定机动动作以生成轨迹1520可以以比第一频率高的第二频率进行。因此,可以以不同的方式对不同的约束进行采样。例如,同伦提取器453可以以10Hz操作,并且实现搜索可以以20Hz以两倍快的速度进行。
在实施例中,确定机动动作以生成轨迹1520包括:利用至少一个处理器146,将相应的质量度量指派给多个同伦中的各同伦。基于相应的质量度量来选择轨迹1520。例如,可以通过(利用参考图13所例示和说明的方法)针对所生成的各个轨迹计算质量得分或其它度量、并且基于这些质量得分或度量选择轨迹1520,来选择轨迹1520。
在实施例中,基于以下至少之一来确定相应的质量度量:根据各同伦穿过道路路段1500所用的预测时间、在根据各同伦穿过道路路段1500期间的AV 100的乘员的预测安全性、以及在根据各同伦穿过道路路段1500期间的乘员的舒适度。针对(从同伦获得的)各轨迹,可以确定基于诸如以下等的各因素和/或其它因素的质量得分或度量:AV 100的乘员的预测安全性、AV 100的乘员的预测舒适度、AV 100将消耗的预测资源(例如,燃料、电池电量等)、AV 100穿越到目的地199将需要的预测时间量。
可以基于质量得分或度量来选择轨迹1520(例如,具有最高质量得分或度量的轨迹)。如上所述,该选择处理可以由AV 100的一个或多于一个模块(诸如同伦提取器453、基于实现样本的机动动作实现器454和/或轨迹得分生成器455等)来进行。
在实施例中,AV机100通过将约束集合1320中的各约束叠加在约束集合1320中的各其它约束上来确定机动动作。机动动作包括独立于多个轨迹(例如,轨迹198)的轨迹1520。AV 100向AV 100的控制电路406传输指令以推翻(override)轨迹198。这些指令进一步使得AV 100根据轨迹1520穿过道路路段1500以进行机动动作。例如,同伦提取器453基于同伦1304a-1304n确定可以推翻轨迹198的一个或多于一个动作1308。机动动作可以对应于躲避动作(例如,突然转弯、制动、加速、车道改变等)以避免不安全或否则不期望的结果(例如,与对象416碰撞、驶离道路等)。在一些实现中,同伦提取器453可以独立于轨迹198规划机动动作,并且基于一个或多于一个数据输入用机动动作选择性地推翻对轨迹198的执行。示例数据输入可以包括:例如,指示可以保证动作的传感器数据504a、来自AV 100的乘员的指示将要进行动作的命令、来自正在远程监视或控制AV 100的用户的指示将要进行动作的命令、来自远程计算机***的指示将要进行动作的自动命令、等等。
图14例示根据一个或多于一个实施例的AV 100的示例决策图1400。参考图1来更详细地例示和说明AV 100。在一些实现中,同伦提取器453基于决策图1400来确定某些同伦是“可行”还是“不可行”。参考图4B来更详细地例示和说明同伦提取器453。作为例示性示例,在图14中示出简化决策图1400。
在实施例中,确定为AV 100可以(例如,通过进行机动动作)根据多个同伦的子集穿过道路路段1500包括:利用至少一个处理器146,基于多个同伦的子集来生成决策图1400。参考图15来更详细地例示和说明道路路段1500。参考图1来更详细地例示和说明处理器146。参考图14来更详细地例示和说明决策图1400。参考图13来更详细地说明多个同伦的子集。决策图1400包括多个节点1402。各节点与不同的机动动作相对应。
在实施例中,决策图1400包括数个互连的节点1402,各节点1402与约束集合1302的不同相应子集相对应。节点可以分层次地(例如,根据不同层级)并且根据一个或多于一个分支来布置,其中“子”节点继承与其“父”节点相关联的约束,并且附加地包括一个或多于一个附加约束。在一些实现中,决策图1400可以类似于图10所示的有向图1000。同伦提取器453可以根据与各节点(从具有最高级别或层的节点开始,并且通过连续更低的级别或层的节点前进)相关联的约束来确定AV 100穿越到目的地199的可行性。参考图1来更详细地例示和说明目的地199。如果同伦提取器453确定为遵守与特定节点相关联的约束不可行,则同伦提取器453可以避免评估该节点的子节点的可行性。
例如,参考图14,同伦提取器453确定为根据与最高级别节点1402a相关联的约束穿越到目的地199是可行的。基于该确定,同伦提取器453随后评估各个子节点1402b和1402c的可行性,并且确定为根据与节点1402b相关联的约束穿越到目的地199是不可行的、但根据与节点1402c相关联的约束穿越到目的地199是可行的。基于该确定,同伦提取器453避免评估依赖于节点1402b的任何节点的可行性,并且继续评估依赖于节点1402c的节点的可行性。上述处理可以继续,直到决策图1400中的各个节点已被评估或者(由于“不可行的”父节点)被省略评估为止。
在一些实现中,同伦提取器453可以基于被确定为“可行”的节点生成一个或多于一个候选轨迹(以确定机动动作)。例如,参考图14,同伦提取器453可以针对各个节点1402a、1402d、1402e、1402f和/或1402g生成一个或多于一个候选轨迹。在一些实现中,同伦提取器453可以基于被确定为“可行”并且也没有任何子节点的节点生成一个或多于一个候选轨迹。例如,参考图14,同伦提取器453可以针对各个节点1402e和1402g生成一个或多于一个候选轨迹。如上所述,同伦提取器453可以根据第一精确度确定各个节点的可行性,并且根据更高的第二精确度生成候选轨迹。
图15是例示根据一个或多于一个实施例的AV 100的示例机动动作的框图。参考图1来更详细地例示和说明AV 100。在实施例中,约束集合1302中的至少一部分规定:AV 100进行某些操作或任务。参考图13来更详细地例示和说明约束集合1302。例如,约束可以规定:AV 100进行特定机动动作。在实施例中,进行机动动作包括:将该AV 100操作到相对于对象416的特定地点以避免潜在碰撞。例如,约束可以规定:AV 100在特定时间和地点改变道路上的车道。作为另一示例,约束可以规定:AV 100在特定时间和地点保持在其当前地点。
在实施例中,约束集合1302包括由至少一个处理器146使用传感器数据504来随着时间参数化的基于站点的约束。对象416和运载工具193、1504有时被称为“代理”。为了能够描述表示代理位于何处、以及AV 100与这些代理的碰撞表示什么的约束,将各代理转换成基于站点和基于空间的障碍物。基于站点的约束随时间而被参数化。参考图13-14来说明与同伦提取器503及其提取和约束分组有关的进一步细节。约束集合1302还包括由至少一个处理器146使用传感器数据504来随着站点和时间参数化的基于空间的约束。约束的参数化通过参考图13更详细地所述的采样来进行。
在实施例中,确定机动动作包括:利用至少一个处理器146,生成基于站点的约束和基于空间的约束的并集以提供机动动作。例如,基于站点的约束和基于空间的约束的并集是如下的运算,其中使用该运算,基于站点的约束和基于空间的约束组合且彼此相关。在实施例中,基于站点的约束和基于空间的约束中的各约束均被作为度量进行存储和操纵。两个这样的度量的并集是通过将该运算应用于各对元素的条目以获得相应的矩阵并集来获得的。通过对每个元素对的条目应用运算来获得两个这样的矩阵的并集,以获得相应的矩阵并集。
在实施例中,进行机动动作包括:利用控制电路406,将AV 100在穿过道路路段1500期间定位在两个移动运载工具193、1504前方。参考图4来更详细地例示和说明控制电路406。例如,约束可以规定:AV 100在特定时间和地点超过运载工具1504。在实施例中,进行机动动作包括:利用控制电路406,将AV 100在穿过道路路段1500期间定位在两个移动对象(例如,两个移动运载工具193、1504)后方。例如,约束可以规定:AV 100在特定时间和地点保持在运载工具193后方。作为另一示例,约束可以规定:AV 100在沿着轨迹1520进一步前进之前,等待运载工具193或行人192离开AV 100的路径。
在实施例中,进行机动动作包括:利用控制电路406,将AV 100在穿过道路路段1500期间定位在两个移动对象(两个移动运载工具193、1504)之间。例如,约束可以规定:在运载工具193或行人进入车道1512之前,AV 100沿着轨迹1520前进。
图16是例示根据一个或多于一个实施例的用于运载工具的操作的处理的流程图。参考图1来更详细地例示和说明AV 100。在实施例中,图16的处理由参考图4B更详细地例示和说明的AV 100的同伦提取器453或基于样本的机动实现器454来进行。在其它实施例中,其它实体(例如,服务器136)进行该处理的步骤中的一部分或全部。参考图1来更详细地例示和说明服务器136。同样,实施例可以包括不同的和/或附加的步骤,或者以不同的顺序进行步骤。
AV 100使用AV 100的至少一个处理器146,以基于AV 100所行驶的道路路段1500(包括车道1512、1516)来生成(1604)多个初始轨迹。参考图1来更详细地例示和说明处理器146。参考图15来更详细地例示和说明车道1512、1516。参考图10来更详细地例示和说明用于轨迹生成的处理。
AV 100使用处理器146,以从AV 100的至少一个传感器121接收(1608)传感器数据504a。参考图10来更详细地例示和说明传感器121。参考图5来更详细地例示和说明LiDAR输出数据504a。还参考图4B来更详细地说明AV 100对传感器数据的使用。AV 100根据多个轨迹中的轨迹198正在道路路段(车道1516)上行驶。参考图1俩更详细地例示和说明轨迹198。
AV 100使用处理器146,以基于传感器数据504a和轨迹198预测(1612)AV 100与在道路路段1500上移动的对象416之间的潜在碰撞。参考图4、图15来更详细地例示和说明对象416。
AV 100使用处理器146,以确定(1616)AV 100的用以避免潜在碰撞的约束集合1302。参考图13来更详细地例示和说明约束集合1302。约束集合1302是基于传感器数据504a确定的。在实施例中,该组约束包括硬逻辑约束和软逻辑约束。硬逻辑约束是AV 100必须遵守例如以避免潜在碰撞或到达目的地199的约束。参考图1来更详细地例示和说明目的地199。软逻辑约束是AV 100应遵守但可以违反例如以避免潜在碰撞的约束。参考图4B来更详细地说明软逻辑约束。例如,约束集合1302中的至少一部分可以是软逻辑约束(例如,AV100在穿越到目的地199时应尝试但不一定需要遵守软逻辑约束)。
AV 100使用处理器146,以通过将约束集合1302的各约束叠加在约束集合1302的各其它约束上来确定(1620)AV 100的机动动作。机动动作包括独立于多个初始轨迹的轨迹1520。参考图15来更详细地例示和说明轨迹1520。在实施例中,确定机动动作包括:利用至少一个处理器146,生成基于站点的约束和基于空间的约束的并集以提供机动动作。例如,基于站点的约束和基于空间的约束的并集是如下的运算,其中使用该运算,基于站点的约束和基于空间的约束组合且彼此相关。
AV 100使用处理器146,以向AV 100的控制电路406传输(1624)指令。参考图1来更详细地例示和说明控制电路406。这些指令指示控制电路406覆盖初始轨迹198。这些指令进一步指示控制电路406根据轨迹1520穿过道路路段1500以进行机动动作。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
附加示例
下面提供本文所述的特征的示例实现。
示例1:一种方法,包括:利用运载工具的至少一个处理器,基于所述运载工具所行驶的道路路段来生成所述运载工具的多个轨迹;利用所述至少一个处理器,从所述运载工具的至少一个传感器接收传感器数据,所述运载工具根据所述多个轨迹中的第一轨迹在所述道路路段上行驶;利用所述至少一个处理器,基于所述传感器数据和所述第一轨迹来预测所述运载工具和在所述道路路段上移动的对象之间的潜在碰撞;利用所述至少一个处理器,确定所述运载工具的用以避免所述潜在碰撞的约束集合,所述约束集合是基于所述传感器数据所确定的;利用所述至少一个处理器,通过将所述约束集合中的各约束叠加在所述约束集合中的各其它约束上来确定所述运载工具的机动动作,所述机动动作包括独立于所述多个轨迹的第二轨迹;以及利用所述至少一个处理器,向所述运载工具的控制电路传输指令以:推翻所述第一轨迹;以及根据所述第二轨迹穿过所述道路路段以进行所述机动动作。
示例2:根据示例1所述的方法,其中,所述约束集合包括指示所述道路路段的可驾驶区域和所述道路路段的车道标记其中至少之一的环境约束。
示例3:根据前述示例中任一项所述的方法,其中,所述约束集合包括:为了避免所述潜在碰撞、所述运载工具必须遵守的硬逻辑约束;以及为了避免所述潜在碰撞、所述运载工具能够违反的软逻辑约束。
示例4:根据前述示例中任一项所述的方法,其中,所述约束集合包括:由所述至少一个处理器使用所述传感器数据随时间参数化的基于站点的约束;以及由所述至少一个处理器使用所述传感器数据随站点和时间而参数化的基于空间的约束。
示例5:根据前述示例中任一项所述的方法,其中,确定所述机动动作包括:利用所述至少一个处理器,生成所述基于站点的约束和所述基于空间的约束的并集,以提供所述机动动作。
示例6:根据前述示例中任一项所述的方法,其中,确定所述约束集合是以第一频率进行的,并且确定所述机动动作以生成所述第二轨迹是以比所述第一频率高的第二频率进行的。
示例7:根据前述示例中任一项所述的方法,其中,进行所述机动动作包括:将所述运载工具操作到相对于所述对象的特定地点。
示例8:根据前述示例中任一项所述的方法,所述方法还包括用所述至少一个处理器确定多个同伦,其中所述多个同伦中的各同伦包括所述约束集合的不同的相应组合,其中确定所述机动动作基于所述多个同伦中的至少一些同伦。
示例9:根据前述示例中任一项所述的方法,所述方法还包括利用所述至少一个处理器,根据精确度来预测所述运载工具在所述道路路段上的运动;以及利用所述至少一个处理器,基于所预测的运动确定为所述运载工具能够根据所述多个同伦的子集穿过所述道路路段,其中确定所述机动动作还基于所述多个同伦的子集。
示例10:根据前述示例中任一项所述的方法,其中,确定为所述运载工具能够根据所述多个同伦的子集穿过所述道路路段包括:利用所述至少一个处理器,基于所述多个同伦的子集来生成决策图,所述决策图包括多个节点,各节点与不同的机动动作相对应。
示例11:根据前述示例中任一项所述的方法,其中,确定所述机动以生成所述第二轨迹包括:利用所述至少一个处理器,将相应的质量度量指派给所述多个同伦中的各同伦;以及利用所述至少一个处理器,基于所述相应的质量度量来选择所述第二轨迹。
示例12:根据前述示例中任一项所述的方法,其中,所述相应的质量度量是基于以下至少之一所确定的:根据所述各同伦穿过所述道路路段所用的预测时间;在根据所述各同伦穿过所述道路路段的同时所述运载工具的乘员的预测安全性;以及在根据所述各同伦穿过所述道路路段的同时所述乘员的预测舒适度。
示例13:根据前述示例中任一项所述的方法,其中,进行所述机动动作包括:利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象的前方。
示例14:根据前述示例中任一项所述的方法,其中,进行所述机动动作包括:利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象的后方。
示例15:根据前述示例中任一项所述的方法,其中,进行所述机动动作包括:利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象之间。
示例16:根据前述示例中任一项所述的方法,其中,将所述约束集合中的各约束叠加在所述约束集合中的各其它约束上包括:利用所述至少一个处理器,根据所述传感器数据的变化来相对于时间对所述约束集合中的各约束进行采样,以提供所述机动动作。
示例17:一种运载工具,包括:一个或多于一个计算机处理器;以及存储有指令的一个或多于一个非暂时性存储介质,所述指令在由所述一个或多于一个计算机处理器执行的情况下,使得所述一个或多于一个计算机处理器进行根据示例1至16中任一项所述的方法。
示例18:一个或多于一个存储有指令的非暂时性存储介质,所述指令在由一个或多于一个计算机处理器执行的情况下,使得所述一个或多于一个计算机处理器进行示例1至16中任一项所述的方法。
相关申请的交叉引用
本申请要求2021年1月28日提交的美国临时申请序列号63/142,882的优先权,其全部内容通过引用而被包含于此。

Claims (20)

1.一种用于运载工具的方法,包括:
利用所述运载工具的至少一个处理器,基于所述运载工具所行驶的道路路段来生成所述运载工具的多个轨迹;
利用所述至少一个处理器,从所述运载工具的至少一个传感器接收传感器数据,所述运载工具根据所述多个轨迹中的第一轨迹在所述道路路段上行驶;
利用所述至少一个处理器,基于所述传感器数据和所述第一轨迹来预测所述运载工具和在所述道路路段上移动的对象之间的潜在碰撞;
利用所述至少一个处理器,确定所述运载工具的用以避免所述潜在碰撞的约束集合,所述约束集合是基于所述传感器数据所确定的;
利用所述至少一个处理器,通过将所述约束集合中的各约束叠加在所述约束集合中的各其它约束上来确定所述运载工具的机动动作,所述机动动作包括独立于所述多个轨迹的第二轨迹;以及
利用所述至少一个处理器,向所述运载工具的控制电路传输指令以:
推翻所述第一轨迹;以及
根据所述第二轨迹穿过所述道路路段以进行所述机动动作。
2.根据权利要求1所述的方法,其中,所述约束集合包括指示所述道路路段的可驾驶区域和所述道路路段的车道标记其中至少之一的环境约束。
3.根据权利要求1所述的方法,其中,所述约束集合包括:
为了避免所述潜在碰撞、所述运载工具必须遵守的硬逻辑约束;以及
为了避免所述潜在碰撞、所述运载工具能够违反的软逻辑约束。
4.根据权利要求1所述的方法,其中,所述约束集合包括:
由所述至少一个处理器使用所述传感器数据随时间参数化的基于站点的约束;以及
由所述至少一个处理器使用所述传感器数据随站点和时间而参数化的基于空间的约束。
5.根据权利要求4所述的方法,其中,确定所述机动动作包括:
利用所述至少一个处理器,生成所述基于站点的约束和所述基于空间的约束的并集,以提供所述机动动作。
6.根据权利要求1所述的方法,其中,确定所述约束集合是以第一频率进行的,并且确定所述机动动作以生成所述第二轨迹是以比所述第一频率高的第二频率进行的。
7.根据权利要求1所述的方法,其中,进行所述机动动作包括:
将所述运载工具操作到相对于所述对象的特定地点。
8.根据权利要求1所述的方法,还包括:
利用所述至少一个处理器确定多个同伦,其中所述多个同伦中的各同伦包括所述约束集合的不同的相应组合,其中确定所述机动动作基于所述多个同伦中的至少一些同伦。
9.根据权利要求8所述的方法,还包括:
利用所述至少一个处理器,根据精确度来预测所述运载工具在所述道路路段上的运动;以及
利用所述至少一个处理器,基于所预测的运动确定为所述运载工具能够根据所述多个同伦的子集穿过所述道路路段,其中确定所述机动动作还基于所述多个同伦的子集。
10.根据权利要求9所述的方法,其中,确定为所述运载工具能够根据所述多个同伦的子集穿过所述道路路段包括:
利用所述至少一个处理器,基于所述多个同伦的子集来生成决策图,所述决策图包括多个节点,各节点与不同的机动动作相对应。
11.根据权利要求8所述的方法,其中,确定所述机动以生成所述第二轨迹包括:
利用所述至少一个处理器,将相应的质量度量指派给所述多个同伦中的各同伦;以及
利用所述至少一个处理器,基于所述相应的质量度量来选择所述第二轨迹。
12.根据权利要求11所述的方法,其中,所述相应的质量度量是基于以下至少之一所确定的:
根据所述各同伦穿过所述道路路段所用的预测时间;
在根据所述各同伦穿过所述道路路段的同时所述运载工具的乘员的预测安全性;以及
在根据所述各同伦穿过所述道路路段的同时所述乘员的预测舒适度。
13.根据权利要求1所述的方法,其中,进行所述机动动作包括:
利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象的前方。
14.根据权利要求1所述的方法,其中,进行所述机动动作包括:
利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象的后方。
15.根据权利要求1所述的方法,其中,进行所述机动动作包括:
利用所述控制电路,将所述运载工具在穿过所述道路路段时定位在两个移动对象之间。
16.根据权利要求1所述的方法,其中,将所述约束集合中的各约束叠加在所述约束集合中的各其它约束上包括:
利用所述至少一个处理器,根据所述传感器数据的变化来相对于时间对所述约束集合中的各约束进行采样,以提供所述机动动作。
17.一种运载工具,包括:
一个或多于一个计算机处理器;以及
存储有指令的一个或多于一个非暂时性存储介质,所述指令在由所述一个或多于一个计算机处理器执行的情况下,使得所述一个或多于一个计算机处理器进行以下操作:
基于所述运载工具所行驶的道路路段来生成所述运载工具的多个轨迹;
从所述运载工具的至少一个传感器接收传感器数据,所述运载工具根据所述多个轨迹中的第一轨迹在所述道路路段上行驶;
基于所述传感器数据和所述第一轨迹来预测所述运载工具和在所述道路路段上移动的对象之间的潜在碰撞;
确定所述运载工具的用以避免所述潜在碰撞的约束集合,所述约束集合是基于所述传感器数据所确定的;
通过将所述约束集合中的各约束叠加在所述约束集合中的各其它约束上来确定所述运载工具的机动动作,所述机动动作包括独立于所述多个轨迹的第二轨迹;以及
向所述运载工具的控制电路传输指令以:
推翻所述第一轨迹;以及
根据所述第二轨迹穿过所述道路路段以进行所述机动动作。
18.根据权利要17所述的运载工具,其中,所述约束集合包括指示所述道路路段的可驾驶区域和所述道路路段的车道标记其中至少之一的环境约束。
19.一个或多于一个存储有指令的非暂时性存储介质,所述指令在由一个或多于一个计算机处理器执行的情况下,使得所述一个或多于一个计算机处理器进行以下操作:
基于运载工具所行驶的道路路段来生成所述运载工具的多个轨迹;
从所述运载工具的至少一个传感器接收传感器数据,所述运载工具根据所述多个轨迹中的第一轨迹在所述道路路段上行驶;
基于所述传感器数据和所述第一轨迹来预测所述运载工具和在所述道路路段上移动的对象之间的潜在碰撞;
确定所述运载工具的用以避免所述潜在碰撞的约束集合,所述约束集合是基于所述传感器数据所确定的;
通过将所述约束集合中的各约束叠加在所述约束集合中的各其它约束上来确定所述运载工具的机动动作,所述机动动作包括独立于所述多个轨迹的第二轨迹;以及
向所述运载工具的控制电路传输指令以:
推翻所述第一轨迹;以及
根据所述第二轨迹穿过所述道路路段以进行所述机动动作。
20.根据权利要求19所述的非暂时性存储介质,其中,所述约束集合包括指示所述道路路段的可驾驶区域和所述道路路段的车道标记其中至少之一的环境约束。
CN202111589510.3A 2021-01-28 2021-12-23 运载工具、用于运载工具的方法和存储介质 Pending CN114815799A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163142882P 2021-01-28 2021-01-28
US63/142,882 2021-01-28
US17/544,526 US12030485B2 (en) 2021-01-28 2021-12-07 Vehicle operation using maneuver generation
US17/544,526 2021-12-07

Publications (1)

Publication Number Publication Date
CN114815799A true CN114815799A (zh) 2022-07-29

Family

ID=82321109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111589510.3A Pending CN114815799A (zh) 2021-01-28 2021-12-23 运载工具、用于运载工具的方法和存储介质

Country Status (5)

Country Link
US (1) US12030485B2 (zh)
KR (1) KR20220110068A (zh)
CN (1) CN114815799A (zh)
DE (1) DE102021132851A1 (zh)
GB (1) GB2604986B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230099772A1 (en) * 2021-09-29 2023-03-30 Waymo Llc Lane search for self-driving vehicles
WO2024035738A1 (en) * 2022-08-09 2024-02-15 Motional Ad Llc Methods and systems for obstacle representation
CN116679755B (zh) * 2023-06-30 2023-12-22 四川大学 基于分布式模型预测控制的多智能体协同突防打击方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3890996B2 (ja) 2002-02-07 2007-03-07 株式会社デンソー 運転支援装置
DE102010004625A1 (de) * 2010-01-14 2011-07-21 Ford Global Technologies, LLC, Mich. Verfahren und Vorrichtung zur Unterstützung eines Fahrers bei einem Überholvorgang
US9205776B2 (en) 2013-05-21 2015-12-08 Magna Electronics Inc. Vehicle vision system using kinematic model of vehicle motion
US9069080B2 (en) * 2013-05-24 2015-06-30 Advanced Scientific Concepts, Inc. Automotive auxiliary ladar sensor
KR101581286B1 (ko) 2014-01-17 2015-12-31 전남대학교산학협력단 무인운전차량의 자율 주행을 위한 경로 추종 시스템 및 방법
US20190016339A1 (en) 2016-02-16 2019-01-17 Honda Motor Co., Ltd. Vehicle control device, vehicle control method, and vehicle control program
US9857795B2 (en) 2016-03-24 2018-01-02 Honda Motor Co., Ltd. System and method for trajectory planning for unexpected pedestrians
US10946872B2 (en) 2016-10-18 2021-03-16 Honda Motor Co., Ltd. Vehicle control device
EP3566106B1 (en) 2017-03-20 2024-03-06 Mobileye Vision Technologies Ltd. Trajectory selection for an autonomous vehicle
US10994729B2 (en) 2017-03-29 2021-05-04 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling lateral motion of vehicle
US11262756B2 (en) 2018-01-15 2022-03-01 Uatc, Llc Discrete decision architecture for motion planning system of an autonomous vehicle
DE112019000065T5 (de) 2018-02-02 2020-03-05 Nvidia Corporation Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug
GB2570887B (en) 2018-02-07 2020-08-12 Jaguar Land Rover Ltd A system for a vehicle
US10860023B2 (en) 2018-06-25 2020-12-08 Mitsubishi Electric Research Laboratories, Inc. Systems and methods for safe decision making of autonomous vehicles
JP2021536599A (ja) 2018-08-14 2021-12-27 モービルアイ ビジョン テクノロジーズ リミテッド 安全な距離でナビゲートするためのシステム及び方法
US11999378B2 (en) 2018-09-20 2024-06-04 Jaguar Land Rover Limited Control system for a vehicle
CN111247495B (zh) 2018-09-28 2023-11-10 百度时代网络技术(北京)有限公司 用于自动驾驶车辆的低速场景的行人交互***
US11827241B2 (en) 2018-10-29 2023-11-28 Motional Ad Llc Adjusting lateral clearance for a vehicle using a multi-dimensional envelope
US11208096B2 (en) 2018-11-02 2021-12-28 Zoox, Inc. Cost scaling in trajectory generation
US20200241541A1 (en) 2019-01-28 2020-07-30 GM Global Technology Operations LLC System and method of an algorithmic solution to generate a smooth vehicle velocity trajectory for an autonomous vehicle with spatial speed constraints
US11875678B2 (en) 2019-07-19 2024-01-16 Zoox, Inc. Unstructured vehicle path planner
WO2021030508A1 (en) 2019-08-13 2021-02-18 Zoox, Inc. Modifying limits on vehicle dynamics for trajectories
US11608083B2 (en) 2019-09-18 2023-03-21 Honda Motor Co., Ltd. System and method for providing cooperation-aware lane change control in dense traffic
JP7149918B2 (ja) * 2019-10-16 2022-10-07 本田技研工業株式会社 車両用接触回避支援装置
US20210158227A1 (en) 2019-11-25 2021-05-27 Zestfinance, Inc. Systems and methods for generating model output explanation information
JP2021154858A (ja) 2020-03-26 2021-10-07 本田技研工業株式会社 車両の走行制御装置
US11827240B2 (en) 2020-12-09 2023-11-28 Uatc, Llc Systems and methods for costing autonomous vehicle maneuvers
US11851062B2 (en) 2020-12-09 2023-12-26 Waymo Llc Physics-informed optimization for autonomous driving systems
US20220234618A1 (en) 2021-01-28 2022-07-28 Motional Ad Llc Homotopic-based planner for autonomous vehicles
US20220234614A1 (en) 2021-01-28 2022-07-28 Motional Ad Llc Sampling-based maneuver realizer

Also Published As

Publication number Publication date
US12030485B2 (en) 2024-07-09
DE102021132851A1 (de) 2022-07-28
KR20220110068A (ko) 2022-08-05
GB2604986A (en) 2022-09-21
GB2604986B (en) 2023-05-10
US20220234575A1 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
US11320826B2 (en) Operation of a vehicle using motion planning with machine learning
CN111915917B (zh) 计算机实现的方法、存储介质和运载工具
CN112783151A (zh) 从预先计算的或动态生成的轨迹库的轨迹预测
CN113196011A (zh) 运动图构建和车道级路线规划
CN113196291A (zh) 自动选择用于注释的数据样本
CN113012187A (zh) 使用曲面拟合的前景提取
CN113654564A (zh) 用于运载工具的方法
US20220234618A1 (en) Homotopic-based planner for autonomous vehicles
CN112996703A (zh) 使用多个运动约束的运载工具的操作
CN115328110A (zh) 用于自主运载工具的***和方法以及存储介质
CN113195333A (zh) 使用线性时间逻辑的自主运载工具操作
US12030485B2 (en) Vehicle operation using maneuver generation
CN112634633A (zh) 利用自主运载工具对多路停车交叉口进行导航
CN115079687A (zh) 用于自主运载工具的***、方法和存储介质
CN114812588A (zh) 用于运载工具的方法、运载工具和存储介质
CN112394384A (zh) 基于环境的预定义特征的定位
CN114120687A (zh) 条件运动预测
CN114510020A (zh) 用于运载工具的方法、自主运载工具和存储介质
CN114252066A (zh) 运载工具、用于运载工具的方法以及存储介质
CN112014859A (zh) 估计速率分布
CN114812586A (zh) 用于运载工具的***、方法和存储介质
US20220357453A1 (en) Lidar point cloud segmentation using box prediction
CN115220439A (zh) 用于运载工具的***和方法以及存储介质
CN113056715B (zh) 用于操作运载工具的方法、运载工具和存储介质
CN115077543A (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