CN110352153A - 自主车辆中用于障碍物躲避的安全程序分析 - Google Patents

自主车辆中用于障碍物躲避的安全程序分析 Download PDF

Info

Publication number
CN110352153A
CN110352153A CN201980001151.XA CN201980001151A CN110352153A CN 110352153 A CN110352153 A CN 110352153A CN 201980001151 A CN201980001151 A CN 201980001151A CN 110352153 A CN110352153 A CN 110352153A
Authority
CN
China
Prior art keywords
vehicle
track
security procedure
security
participant
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
CN201980001151.XA
Other languages
English (en)
Inventor
D·尼斯特
李汉良
J·额
王一舟
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN110352153A publication Critical patent/CN110352153A/zh
Pending legal-status Critical Current

Links

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/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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
    • 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
    • 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/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the 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
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • 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
    • 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • 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/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
    • 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/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0891Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for land vehicles
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/245Arrangements for determining position or orientation using dead reckoning
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • G05D1/248Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons generated by satellites, e.g. GPS
    • 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/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • 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/60Intended control result
    • G05D1/65Following a desired speed profile
    • 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/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/693Coordinated control of the position or course of two or more vehicles for avoiding collisions between vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/06Direction of travel
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/14Yaw
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/16Pitch
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/18Roll
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

在各种示例中,可以确定表示在一时间处由车辆占用的环境中的体积的点的当前索取集。在该时间处可以生成车辆占用轨迹和至少一个对象占用轨迹。可以至少部分地基于将车辆占用轨迹与对象占用轨迹进行比较,来确定车辆占用轨迹和对象占用轨迹之间的交叉点。基于该交叉点,车辆然后可以执行第一安全程序或替代程序,其中在对象实现第二安全程序时由车辆实现所述替代程序时,所述替代程序被确定为比第一安全程序具有引起车辆与对象之间的碰撞的较小可能性。

Description

自主车辆中用于障碍物躲避的安全程序分析
技术领域
背景技术
对于实现自主驾驶级别3-5(例如,由汽车工程师协会标准J3016定义的条件自动化(级别3)、高自动化(级别4)和全自动化(级别5))的自主车辆,自主车辆必须能够在所有环境中安全运行,并且在潜在的不安全情况出现时无需人为干预。为了满足该标准,需要在自主车辆中实现障碍物和碰撞躲避系统,其不会导致或增加碰撞的可能性或紧迫性(例如,与自主车辆的控制之外的、另一个人工操控的车辆)。此外,障碍物和碰撞躲避系统应按照自主车辆的乘坐者感觉自然的方式实现,使得自主车辆不执行苛刻、突然或不稳定的安全程序,除非需要这样以确保乘坐者的安全。
然而,传统系统尚未满足这些标准。例如,传统系统(例如,实现自动紧急制动(AEB)的系统)在确定是否激活刹车时,分析与什么在车辆前面或后面(例如,沿着车辆的纵轴)对应的传感器信息。其他传统系统(例如,实现盲点监控(BSM)的系统)在确定车道改变是否安全时,分析与什么在车辆侧面(例如,沿着车辆的横轴)对应的传感器信息。结果,这些传统系统分开分析车辆的纵轴和横轴。这可能对控制车辆施加不必要的限制,并且当由自主车辆使用时,可能限制自主车辆执行自然的和/或所需的车辆调遣(maneuvers)(例如,当另一车辆到达该自主车辆侧面时,在慢速交通中调遣到相邻车道)。另外,当分析当前车道中的车辆的当前路径时,这些传统系统可能仅依赖于关于当前车道中的对象的信息,并且因此可能在处置当前车道外部(例如,在相邻车道中、在道路一侧、和/或类似物,例如倒下的树木、被遮挡的对象等)的不可预见的情况方面受到更多限制。
此外,传统系统还可能要求即使在其不利或者存在比使用安全程序更有利的选择(例如,当执行例如制动的安全程序时,增加碰撞的可能性或紧迫性)情况下,也使用安全程序(例如,紧急制动)。在这些传统系统中的一些系统中,可能存在解释该问题的例外情况,其可以由规则指定并由输入信息调节,例如车道结构、基于地图信息的路径结构等。即使在解释实现安全程序的例外情况的这些传统系统中,仍然可能存在对用于导航特定场景的预定例外情况的依赖,以便自主车辆实现除了安全程序之外的车辆调遣。但是,可能不会针对每种情况构建例外情况,并且因此,当例外情况不可用时,即使安全程序呈现较小安全结果,也可以实现安全程序。为此目的,这些传统系统可能无法确定是安全程序还是这些例外情况之一实际上是要采取的最安全的动作。结果,这些传统系统可以标识情形,确定是否存在该情形的例外情况,并且如果存在例外情况则执行与例外情况相关联的程序-从而在导航环境时不能考虑不同选项的相对总体安全性。
发明内容
本公开的实施例涉及分析用于障碍物躲避的车辆和环境中的对象的安全程序。公开了用于障碍物躲避的系统和方法,其使用表示时间上向前投射(projected)的安全程序的轨迹,以确保自主车辆能够始终实现安全程序以避免与环境中的对象碰撞。
与诸如上述那些的传统系统形成对照,本公开的系统可以计算安全程序的安全隐患(例如,发生碰撞的可能性或紧迫性的测量值),将安全隐患用作基线,然后确定是否能实现另一个动作或一组动作,来调整安全隐患以降低发生碰撞的可能性。因此,并非每种情形都不需要例外情况和规则,因为系统正在评估每种情形,确定安全程序的安全隐患,然后确定是否实现表示安全程序的一组控制措施、或实现超越(surpasses)与安全程序关联的安全隐患的另一动作。
为了实现这一点,该系统可以确定车辆的状态(例如,位置、速度、朝向、偏航率等)以及与车辆关联的安全程序。系统还可以在执行安全程序时生成车辆将占用的时空(例如,空间的两个维度、以及时间的一个维度)中的点的虚拟表示(例如,车辆占用轨迹)。然后,系统可以确定环境中的每个对象的状态和安全程序(感知和未感知、静态和移动),并且在执行它们各自的安全程序时,生成对象将占用的时空中的点的虚拟表示(例如,对于每个对象,对象占用轨迹)。然后,系统可以考虑到对象占用轨迹来监控车辆占用轨迹,以确定是否发生交叉或重叠。一旦确定发生交叉或重叠,则系统可以通过实现降低车辆与对象之间实际碰撞的整体可能性或紧迫性的动作,实现先发制人对象躲避过程,其作用类似于“安全力场”,其通过从投射的对象的交叉路口主动“抵制”车辆来操作。
在安全程序或其他动作的实现期间,当确定车辆占用轨迹与对象占用轨迹之间不再存在重叠时(例如,碰撞的紧迫性和/或可能性降低),系统可以停止实现安全程序或另一动作,并将控制权交还给与根据正常驾驶协议(例如,遵守道路规则、遵循当前方向等)控制汽车相关联的系统的更高层(例如,自主驾驶软件栈的计划和/或控制层)。
附图说明
下面参考附图详细描述自主车辆中用于障碍物躲避的安全程序分析的现有系统和方法,其中:
图1是根据本公开的一些实施例的示例性自主车辆系统的框图;
图2A是根据本公开的一些实施例的用于车辆的安全程序的二维投影的示例;
图2B是根据本公开的一些实施例的用于车辆的安全程序的二维投影的另一示例;
图2C是根据本公开的一些实施例的用于车辆的安全程序的二维投影的另一示例;
图3A是根据本公开的一些实施例的车辆的时空图的图示;
图3B是根据本公开的一些实施例的车辆的另一时空图的示例图示;
图3C是根据本公开的一些实施例的车辆的另一时空图的示例图示;
图3D是根据本公开的一些实施例的车辆的另一时空图的示例图示;
图3E是根据本公开的一些实施例的车辆的另一时空图的示例图示;
图3F是根据本公开的一些实施例的多个车辆的安全程序的三维图示的示例;
图4A是根据本公开的一些实施例的用于多个车辆的安全程序的二维投影的示例;
图4B是根据本公开的一些实施例的用于多个车辆的安全程序的二维投影的另一示例;
图4C是根据本公开的一些实施例的用于多个车辆的安全程序的二维投影的另一示例;
图4D是根据本公开的一些实施例的用于多个车辆的安全程序的二维投影的另一示例;
图4E是根据本公开的一些实施例的用于多个对象的安全程序的二维投影的示例;
图4F是根据本公开的一些实施例的用于多个感知和未感知对象的安全程序的二维投影的示例;
图5A是根据本公开的一些实施例的用于多个车辆的安全程序和对应动作的二维投影的交叉路口的示例;
图5B是根据本公开的一些实施例的用于多个车辆的安全程序和对应动作的二维投影的交叉路口的另一示例;
图5C是根据本公开的一些实施例的用于多个车辆的安全程序和对应动作的二维投影的交叉路口的另一示例;
图6A是根据本公开的一些实施例的用于车辆的扰动分析的示例图示;
图6B是根据本公开的一些实施例的用于车辆的扰动分析的另一示例图示;
图7A是根据本公开的一些实施例的对应于车辆的扰动分析的控制图的示例图示;
图7B是根据本公开的一些实施例的使用安全隐患用于障碍物躲避的示例图示;
图8是示出根据本公开的一些实施例的用于障碍物躲避的方法的流程图;
图9A是根据本公开的一些实施例的安全程序的示例可视化;
图9B是根据本公开的一些实施例的相对于第二车辆的第一车辆的安全程序的另一示例可视化;
图9C是根据本公开的一些实施例的相对于第二车辆的第一车辆的安全程序的投影的另一示例可视化;
图9D是根据本公开的一些实施例的相对于第二车辆的第一车辆的安全程序的投影的另一示例可视化;
图9E是根据本公开的一些实施例的相对于第二车辆的第一车辆的安全程序的投影的另一示例可视化;
图10是示出根据本公开的一些实施例的用于轨迹可视化技术的方法的流程图;
图11A是根据本公开的一些实施例的示例性自主车辆的图示;
图11B是根据本公开的一些实施例的图11A的示例性自主车辆的相机位置和视野的示例;
图11C是根据本公开的一些实施例的图11A的示例性自主车辆的示例系统架构的框图;
图11D是根据本公开的一些实施例的基于云的服务器与图11A的示例性自主车辆之间的通信的系统图;和
图12是适于用于实施本公开的一些实施例的示例计算装置的框图。
具体实施方式
公开了涉及分析用于障碍物躲避的车辆和环境中的对象的安全程序的系统和方法。可以针对示例性自主车辆102(在本文中可选地称为“车辆102”或“自主车辆102”)来描述本公开,其示例在本文中参考图11A-11D更详细地描述。另外,尽管可以针对自主车辆系统100描述本公开,但是这不意欲是限制性的,并且本文描述的方法和处理可以在包括附加或替代结构、组件和/或架构的系统上实现,而不脱离本公开的范围。
安全力场
本公开涉及用于安全地控制自主车辆的系统的至少一部分,而不需要人工监督。更具体地,本公开涉及用于自主驾驶软件栈的障碍物躲避级别的方法和处理(例如,在一些实现中,在致动层之前的自主驾驶软件栈的最后或最低级别),其用于帮助保证不会发生车辆与环境中的对象之间的碰撞。在一些示例中,执行本文描述的障碍物躲避机制,即使它们的执行涉及违反通常由更高级别的自动驾驶软件栈(例如,计划层或控制层)遵守的交通法规或其他道路规则。
如这里描述的,传统系统通常与分析与什么在车辆侧面(例如,沿着车辆的横轴)对应的传感器信息分开地和有区别地分析与什么在车辆前面或后面(例如,沿着车辆的纵轴)对应的传感器信息。作为沿纵轴和横轴分开分析车辆的环境的结果,可创建控制车辆的不必要的约束,并且特别是当由自主车辆使用时,可能限制自主车辆执行自然的和/或所需的车辆调遣(例如,当另一车辆在该自主车辆侧面时,在慢速交通中调遣到相邻车道)。另外,当分析当前车道中的车辆的当前路径时,传统系统可能仅依赖于关于当前车道中的对象的信息,并且因此可能在处置当前车道外部(例如,在相邻车道中、在道路一侧、和/或类似物,例如倒下的树木、被遮挡的对象等)的不可预见的情况方面受到更多限制。
此外,在一些传统系统中,当感知到某些场景时,可以执行安全程序,而不管是否存在除了安全程序之外的更安全的选项。在其他传统系统中,可存在执行安全程序的例外情况,其可以由规则指定并由输入信息调节,例如车道结构、基于地图信息的路径结构等。然而,即使在解释例外情况的这些传统系统中,仍然可能存在对车辆感知的场景可用的例外情况的依赖,以便车辆中止安全程序并执行其他动作。这说明存在对于每一场景构建的例外情况是非常不可能的,并且结果,当例外情况不可用时,可实现安全程序,即使其呈现更不安全的结果。由此,通过不分开分析环境中的每一场景的安全性以找到已知安全动作(例如,其中碰撞不可能),这些传统系统可实现安全程序或其例外情况之一,即使其他更安全的动作是可用的。
与传统系统形成对照,本公开包括这样的系统,其可以计算安全程序的安全隐患(例如,发生碰撞的可能性或紧迫性的测量值),将安全隐患用作基线,然后确定是否能实现另一个动作或一组动作,来调整安全隐患以降低发生碰撞的可能性和/或紧迫性(并且结果,可能性,在一些场景中)。因此,不需要诸如传统系统中使用的那些例外情况和规则,因为系统正在评估每种情形,确定安全程序的安全隐患,然后确定是否实现安全程序、或实现超越与安全程序关联的安全隐患的一个或多个动作。
为了实现这一点,该系统可以确定车辆的状态(例如,位置、速度、朝向、偏航率等)以及车辆信息(例如,宽度、长度等),并使用该状态和车辆信息来确定车辆占用的时空中的点。系统还可以基于场景(例如,诸如高速路或地面街道的道路类型、车辆的速度、环境中的其他对象等)来确定车辆的安全程序(例如,高速、与当前车道对齐并且刹车直到完全停止、低速、转到路边然后刹车等),并且可以生成在执行安全程序时车辆将占用的时空中(例如,在三维中,包括空间的两个维度、以及时间的一个维度)的点的虚拟表示(例如,一个或多个车辆占用轨迹)。在一些示例中,一个或多个车辆占用轨迹可包括安全程序的可能实现的范围(例如,当实现最急刹车并避免碰撞时的轨迹、当实现最慢刹车同时仍然避免碰撞时的轨迹、以及当不是最急和最慢刹车时的任何中间轨迹)。这样,这里提到的轨迹可包括多于一个轨迹(例如,多个轨迹),其可包括与安全程序的不同实现(例如,分布图)关联的每一轨迹。在一些实例中,可例如通过使用每一时间片段的对象或车辆的图像的凸包,来确定两个或更多车辆占用轨迹的联合(union)(例如,基于安全程序的两个或更多实现)。一个或多个车辆占用轨迹中的每一点可被称为要求保护的点集。
当前系统可以确定环境中的每个对象(感知和未感知、静态和移动)的状态和安全程序。该系统然后可以在执行它们各自的安全程序时,生成对象将占用的时空中的点的虚拟表示(例如,对象占用轨迹)。为了确定环境中的未感知对象,系统可使用基于合理例外情况的规则。例如,当交叉路口沿某一路线堵塞时,系统可生成未感知对象,作为从堵塞方向接近交叉路口的、按照合理速度行进的汽车。作为另一示例,如果两辆汽车停放在街道一侧,则系统可生成未感知对象,作为两辆汽车之间的人。除了感知对象(例如,基于来自车辆的传感器的传感器数据所标识的对象)之外,未感知对象可被系统包括在分析中。
然后,系统可以考虑到对象占用轨迹来监控车辆占用的轨迹,以确定是否发生交叉或重叠(在一些示例中,具有内建的安全容限)。一旦确定发生交叉,则系统可以通过实现安全程序或者通过实现另一控制集合,来实现“安全力场”并试图从一个或多个对象“抵制”车辆,所述另一控制集合已被确定为具有促使车辆和任一对象之间的实际碰撞的相同或较小关联的可能性和/或紧迫性。
当确定实现安全程序还是另一控制集合时,系统可计算与安全程序关联的安全隐患(在一些示例中,安全隐患表示一个或多个车辆占用轨迹与一个或多个对象占用轨迹之间的重叠程度–例如,两者之间重叠的面积或体积),并且可使用安全隐患作为基线(例如,与安全程序相比,不采取动作应增加碰撞的可能性或紧迫性)。在一些示例中,可使用函数来确定安全隐患,其中当没有检测到重叠时,函数为零,并且在首次碰撞时,函数为高或者最大。在这样的示例中,除了测量碰撞的可能性之外,或者作为选择,安全隐患可被称为测量碰撞的紧迫性。该系统然后可对车辆的原始状态执行扰动分析(例如,使用链规则),以确定另一控制集合(例如,另一动作,诸如代替刹车加速、代替转向右而转向左等)是否导致安全隐患,该安全隐患指示与当实现安全程序时的安全隐患相比、车辆和任一对象之间的碰撞的相同或较低可能性。
在实现安全程序或其他一个或多个动作期间,当确定不再存在一个或多个车辆占用的轨迹和对象占用轨迹之间的重叠或交叉(例如,降低碰撞的紧迫性和/或可能性)时,系统可中止实现安全程序或其他一个或多个动作,并且将控制权交还给与根据正常驾驶协议(例如,遵守道路规则、遵循当前方向等)控制车辆相关联的自主驾驶软件栈的更高层(例如,计划层和/或控制层)。在一些示例中,选择的一个或多个动作可取决于该栈的较高层原始计划实现什么(例如,表示计划的轨迹的提出的控制),并且系统可(例如使用一个或更多个度量)选择与一个或多个原始计划的动作最接近的安全控制和/或安全轨迹。
现在参考图1,图1是根据本公开的一些实施例的示例性自主车辆系统100的框图。应理解的是,这里描述和阐明的该布置和其他布置仅作为示例。除了示出的那些之外,或者取代示出的那些,能使用其他布置和元素(例如,机器、接口、功能、顺序、功能分组等),并且可以一起省略一些元素。此外,这里描述的许多元素是这样的功能实体,其可实现为分立或分布组件、或与其他组件结合、并且按照任何适当组合和地点。实体执行的这里描述的各种功能可通过硬件、固件和/或软件执行。例如,各种功能可通过运行存储器中存储的指令的处理器执行。
自主车辆系统100可包括示例自主车辆102、一个或多个服务器104、和/或一个或多个对象106。在一些示例中,自主车辆102、一个或多个服务器104、和/或一个或多个对象106中的一个或多个可包括与图12的计算装置1200类似的组件、特征和/或功能,这里进行更详细描述。可使用针对图11A-11D在这里更详细描述的组件、特征和/或功能,来实现针对图1描述的自主车辆102的组件、特征和/或功能。另外,可使用针对图11D在这里更详细描述的特征、组件和/或功能,来实现针对图1描述的一个或多个服务器104的组件、特征和/或功能。
自主车辆102可包括传感器管理器108。传感器管理器108可管理和/或提取(abstract)来自车辆102的传感器的传感器数据。例如,并且参考图11C,可通过一个或多个全球卫星导航系统(GNSS)传感器1158、一个或多个雷达传感器1160、一个或多个超声波传感器1162、一个或多个激光雷达传感器1164、一个或多个内部测量单元(IMU)传感器1166、一个或多个麦克风1196、一个或多个立体相机1168、一个或多个宽视场相机1170、一个或多个红外相机1172、一个或多个环绕相机1174、一个或多个远程和/或中程相机1198、和/或其他传感器类型,来生成传感器数据(例如,永久地、间隔地、基于某些条件)。
传感器管理器108可接收不同格式的来自传感器的传感器数据(例如,相同类型传感器,诸如激光雷达传感器,可输出不同格式的传感器数据),并且可被配置为将不同格式变换为统一格式(例如,用于相同类型的每一传感器)。结果,自主车辆102的其他组件、特征和/或组建可使用统一格式,由此简化传感器数据的处理。在一些示例中,传感器管理器108可使用统一格式以向车辆102的传感器向回施加控制,以便设置帧频或执行增益控制。传感器管理器108还可以利用时间戳更新与传感器数据对应的传感器分组,以帮助通过自主车辆系统100的各个组件、特征和功能来通知传感器数据的处理。
世界模型管理器122可用来生成、更新和/或定义世界模型。世界模型管理器122可使用由障碍物感知器110、路径感知器112、等待感知器114和/或地图感知器116生成并从其接收的信息。例如,世界信号可以至少部分基于能由障碍物感知器110、路径感知器112、等待感知器114和/或地图感知器116实时或接近实时地感知的障碍物的提供、路径、和等待条件来定义。世界模型管理器122可基于来自障碍物感知器110、路径感知器112、等待感知器114、地图感知器116、和/或自主车辆系统100的其他组件的新生成的和/或接收的输入(例如数据),而连续更新宇宙模型。
可使用宇宙模型以帮助通知一个或多个计划组件124(例如,与自主驾驶软件栈或架构的计划层关联)、一个或多个控制组件126(例如,与自主驾驶软件栈或架构的控制层关联)、一个或多个障碍物躲避组件128(例如,与自主驾驶软件栈或架构的障碍物或碰撞躲避层关联)、和/或一个或多个致动组件130(例如,与自主驾驶软件栈的致动层关联)。
障碍物感知器110可执行障碍物感知,其可基于允许在哪里驾驶车辆102或能够在哪里驾驶车辆102、以及车辆102能驾驶多快而不与车辆102的传感器感测的障碍物(例如,对象106,诸如结构、实体、车辆等)碰撞。在一些示例中,一个或多个对象106可包括可能能够与车辆102直接和/或间接通信的其他车辆(例如,汽车、卡车、摩托车、公共汽车等)。例如,对象106可经由车辆到车辆通信,诸如通过一个或更多个网络类型(例如,局域无线网)与车辆102直接通信。在其他示例中,一个或更多个对象106可例如经由一个或多个服务器104以及一个或更多个网络(例如,通过蜂窝网),与车辆102间接通信。在这样的示例中,一个或多个对象106可与一个或多个服务器104通信,并且一个或多个服务器104可与车辆102通信,并且反之亦然。从一个或多个对象106接收的和/或关于对象106的信息也可以由路径感知器112、地图感知器116、和/或车辆102的其他组件、特征和/或功能使用。
路径感知器112可例如通过感知特定情形下可用的额定路径,来执行路径感知。在一些示例中,路径感知器112进一步考虑车道改变用于路径感知。车道图可表示车辆102可用的路径或多条路径,并且可与高速公路坡道上的单一路径一样简单。在一些示例中,车道图可包括到期望车道的路径和/或可指示沿高速公路(或其他道路类型)的可用改变,或者可包括临近车道、车道改变、岔路、转向、立体道路交叉路口互换、合并和/或其他信息。
等待感知器114可负责确定作为规则、惯例和/或实际考虑的结果的对车辆102的约束。例如,规则、惯例和/或实际考虑可以与交通信号灯、多路车站、屈服(yields)、合并(merges)、收费站、大门、警察或其他紧急救援人员、道路工人、停止的公共汽车或车辆、单向桥梁仲裁、渡口等相关。在一些示例中,等待感知器114可负责确定需要车辆等待或减慢的对于车辆102的纵向约束,直到某一条件为真。在一些示例中,等待条件由潜在障碍物引起,诸如交叉路口的横越交通,这可能不能通过障碍物感知器110的直接感测而感知,例如(举例来说,通过使用来自传感器的传感器数据,因为可从传感器的视野中堵塞障碍物)。结果,等待感知器可通过解析不总是通过规则和惯例立即感知的障碍物的危险,而提供能够感知和/或学习的情境意识(situational awareness)。由此,等待感知器114可通过杠杆作用(leveraged)标识潜在障碍物,并实现仅依赖障碍物感知器110也许不可能的一个或更多个控制(例如,减慢、来到车站等)。
地图感知器116可包括通过其洞悉行为的机制,并且在一些示例中,确定在特定场所应用哪些惯例的特定示例。例如,地图感知器116可根据表示先前驾驶或旅程的数据,来确定在某一交叉路口存在某些小时之间禁止掉头、示出车道的方向性的电子符号取决于一天中的时间改变、紧挨着的两个交通信号灯(例如,彼此几乎没有偏移)与不同道路关联、在罗得岛、在交通信号灯处等待左转的第一辆车在灯变绿时在对面车流之前转弯而违法、和/或其他信息。地图感知器116向车辆102通知静态或固定下部构造对象和障碍物。地图感知器116还可以例如生成用于等待感知器114和/或路径感知器112的信息,以便确定交叉路口处的哪个灯不得不变绿,使得车辆102通过特定路径。
在一些示例中,来自地图感知器116的信息可被发送、传送和/或提供到一个或多个服务器104(例如,到一个或多个服务器104的地图管理器118),并且来自一个或多个服务器104的信息可被发送、传送和/或提供到车辆102的地图感知器116和/或定位管理器120。地图管理器118可包括与车辆102远程定位并且可由车辆102通过一个或多个网络(例如,图11D的一个或多个网络1190)访问的云地图绘制应用。例如,车辆102的地图感知器116和/或定位管理器120可与一个或多个服务器104的地图管理器118和/或一个或更多个其他组件或特征通信,以向地图感知器116和/或定位管理器120通知车辆102的过去和当前驾驶或旅程、以及其他车辆的过去和当前驾驶或旅程。地图管理器118可提供可由定位管理器120基于车辆102的特定位置定位的地图绘制输出(例如,地图数据),并且定位的地图绘制输出可由世界模型管理器122使用以生成和/或更新世界模型。
可以作为自主驾驶软件栈或架构的计划层的一部分的一个或多个计划组件124可包括路线计划器、车道计划器、行为计划器、和行为选择器、其他组件、特征和/或功能。路线计划器可使用来自地图感知器116、地图管理器118和/或定位管理器120的信息、其他信息,以生成可包括GNSS路点(例如,GPS路点)的计划路径。路点可表示车辆102将来的特定距离,例如,城市街区的数目、公里数、英尺数、英里数等,其可用作车道计划器的目标。
车道计划器可使用车道图表(例如,来自路径感知器112的车道图表)、车道图表中的对象姿势(例如,根据定位管理器120)和/或来自路线计划器的将来的距离外的目标点和方向作为输入。目标点和方向可被映射到车道图表中的最佳匹配的可驾驶点和方向(例如,基于GNSS和/或罗盘方向)。然后可从车道图表的当前边缘起在车道图表上运行图表搜索算法,以找到与目标点的最短路径。
行为计划器可确定车辆102的基本行为的可行性,诸如停留在车道中或向左或向右改变车道,使得可行行为可与从车道计划器输出的最期望的行为匹配。例如,如果确定期望的行为不是安全的和/或可用的,则可改为选择缺省行为(例如,当期望行为或改变车道不安全时,缺省行为可以是停留在车道中)。
在一些示例中,除了这里描述的一个或多个计划组件124的其他输入之外,行为计划器可通过考虑动态占用网格(例如,由车辆102的传感器和/或地图信息确定的、指示在车辆102附近固定和移动的对象的网格)来考虑更多自由形式的轨迹。在这样的示例中,行为计划器可生成多个不同路径(例如,对于讨论的行为,从额定或期望路径扇出),诸如利用变化的转弯数量沿横轴轻微偏移的路径。这些路径然后可与动态占用网格比较,以检查安全性和期望性,包括检查(例如,一个或多个乘客的)舒适性以及与额定路径的一致性。
行为选择器可基于行为计划器的输出和来自车道计划器的请求来执行逻辑,以确定要执行哪个行为。例如,如果车道计划器请求车辆102停留在车道中,则行为选择器可将车辆102保持在当前车道中。如果车道计划器请求车道改变,则可针对车道图表检查车道改变,并且如果行为计划器确定车道改变安全并不需要急刹车(例如,可引起一个或多个乘客的不舒服),则执行车道改变。当行为选择器已确认车道改变合适时,通过车道改变的路径可以是行为计划器所产生的路径。
一个或多个控制组件126可尽可能靠近并且在车辆102的能力之内,跟随已从一个或多个计划组件124的行为选择器接收的轨迹或路径(横轴和纵轴)。一个或多个控制组件126可使用紧密反馈,以处置还没有建模的未计划的事件或行为和/或引起与理想的差异的任何事(例如,未预期的延迟)。在一些示例中,一个或多个控制组件126可使用前向预测模型,其采取控制作为输入变量,并产生可与期望状态相比的预测(例如,与一个或多个计划组件124请求的期望横轴和纵轴路径相比)。可确定使得差异最小化的一个或多个控制。在一些示例中,可使用时间滤波以降低从未建模的延迟经历的震荡(例如,当不使用时间元素时)。一些示例可使用模型预测控制,例如对车辆102的运动进行建模的微分方程的欧拉前向积分(或另一形式前向积分)。在这样的示例中,差异可在将来的多个点处测量,并由目标函数平衡。在一些示例中,对于纵轴控制,可利用基于车辆102的相对距离、相对速度、和速度的查找表,来使用比例积分微分(PID)控制器。舒适度限值可放置在加速度(例如,5m/s2)和急动度(jerk)上,和/或取决于速度的限值可放置在转向角和转向角速率上。
尽管分开图示了一个或多个计划组件124和一个或多个控制组件126,但是这不意欲成为限制。例如,在一些实施例中,一个或多个)计划组件124和一个或多个控制组件126之间的描绘(delineation)可以不精确定义。这样,归因于一个或多个计划组件124的组件、特征和/或功能中的至少一些可与一个或多个控制组件126关联,并且反之亦然。
一个或多个障碍物躲避组件128可帮助自主车辆102躲避与对象(例如,移动和固定对象)的碰撞。一个或多个障碍物躲避组件128可包括在障碍物躲避的“最初级别”的计算机制,并且可充当车辆102的“生存脑”或“爬虫脑”。在一些示例中,可独立于车辆102的组件、特征和/或功能,而使用一个或多个障碍物躲避组件128,这是遵守交通规则和礼貌驾驶所需要的。在这样的示例中,一个或多个障碍物躲避组件可忽视交通法、道路规则、以及文明驾驶规范,以便确保在车辆102和任何对象之间不发生碰撞。这样,障碍物躲避层可以是与道路层的规则分开的层,并且障碍物躲避层可确保从障碍物躲避观点出发、车辆102仅正在执行安全动作。另一方面,道路层的规则可确保车辆遵守交通法和惯例,并且保留(observes)合法的传统通行权(如这里描述的)。
障碍物躲避层和道路层的规则可包括一个或多个感知组件和一个或多个计划和控制组件。核心障碍物躲避感知可靠性可通过多向冗余来确保,诸如相机、雷达传感器、激光雷达传感器等。如一些示例中所做的,通过分离出障碍物躲避层,可允许对高级别可靠性进行独立验证,为安全提供基础。道路层的规则可以类似地验证,具有用于感知和通行权确定的地面真值(truth)测量、以及产量计划的数学正确性验证。
关于自主车辆系统100,为了障碍物躲避,车辆102可以包括至少一个安全程序,并且每个对象106可以包括至少一个安全程序。然后,一个或多个障碍物躲避组件128可以在假设车辆102和环境中的对象106的每一个包括相应的安全程序的情况下操作。车辆102和/或对象106的安全程序可以包括用于矫直或固定方向盘并且达到完全停止、拉到道路一侧然后达到完全停止的程序、和/或另一个安全程序。根据本公开的障碍物躲避可以基于以下假设:所有参与者(例如,车辆102和对象106)应该在由其安全程序导致的一个或多个轨迹与另一个参与者的轨迹相交之前,执行其安全程序。使用这种方案,除非其中一个参与者没有按照要求行事,否则不应发生碰撞。当发生碰撞时,可以清楚地确定故障,因为至少一个参与者可能不遵循他们的安全程序。例如,在安全程序交叉之前或期间未执行其安全程序的参与者可能有过错,除非执行其安全程序的参与者之一在其执行时没有以合理的速度行驶(例如,作为限速的函数),在这种情况下,故障可能归因于没有以合理速度行驶的参与者。
如本文所述,由安全程序产生的一个或多个轨迹可以被称为安全力场,并且当两个或更多个参与者的轨迹(或安全力场)相交时,安全力场可以彼此排斥,并且可能要求每个参与者实现其各自的安全程序、或实现被确定为具有比安全程序更低的碰撞的可能性或紧迫性的另一(替代)程序。例如,当安全程序可能无助于最小化碰撞风险时,参与者不应参与其安全程序,例如在被尾随时不制动。在这样的示例中,自主车辆系统100可以确定安全程序是否有用(例如,最小化风险),并且如果不是(至少和另一程序一样有助于使风险最小化),则可进行所述另一(替代)程序。例如,如果车辆102的安全程序是固定转向并且达到完全停止,但是车辆102正在被尾随,则车辆102可以改为转向道路的一侧并且达到完全停止,从而避开尾随参与者。
在一些示例中,诸如图1中的示例,在自主驾驶软件栈中,一个或多个障碍物躲避组件128可位于一个或多个控制组件126之后(例如,以便从一个或多个控制组件126接收期望控制,并测试这些控制用于障碍物躲避)。然而,即使一个或多个障碍物躲避组件128被示出为堆叠在一个或多个计划组件124和一个或多个控制组件126上面(例如,针对自主驾驶软件栈),这也不意欲成为限制。例如,取决于实施例,一个或多个障碍物躲避组件128可附加地或替代地实现在一个或多个计划组件124或一个或多个控制组件126之前、一个或多个控制组件126之前但在一个或多个计划组件124之后、作为一个或多个计划组件124和/或一个或多个控制组件126的部分或整体、作为障碍物感知器110的部分、和/或在自主驾驶软件栈或架构的不同部分。这样,一个或多个障碍物躲避组件128可在自主驾驶软件栈或架构内的一个或多个地点实现,而不脱离本公开的范围。
在一些示例中,如这里描述的,一个或多个障碍物躲避组件128可实现为车辆102的单独分立的特征。例如,一个或多个障碍物躲避组件128可单独(例如,并行、在其前面、和/或在其后面)操作自主驾驶软件栈的计划层、控制层、致动层和/或其他层。
一个或多个障碍物躲避组件128可包括状态确定器132、安全程序确定器134、索取集确定器136、轨迹生成器138、安全隐患计算器140、控制分析器142和/或一个或更多个附加或替换组件。状态确定器132可确定环境中参与者的状态(例如,车辆102和对象106、静态或动态)。每一参与者的状态一般可包括位置、速度、方向(例如,行驶方向)、速度、一个或多个加速度(例如,标量、旋转等)和/或关于参与者的状态的其他信息。该状态可编码或表示一时间点处参与者在二维空间(例如,(x,y)坐标)中的位置、参与者的单位方向、和/或参与者的标量速度。在一些示例中,状态可以编码或表示附加或替代信息,诸如在任何方向上的旋转速度(例如,偏航)和/或标量加速度。例如,可以在等式(1)中将每个参与者的状态xA参数化为m维状态向量,如下所示:
作为示例,例如其中状态xA是五维向量(例如,m=5),状态向量可以在等式(2)中表示如下:
xA=[yT dT v]T (2)
其中y是二维空间中参与者的位置,d是单位方向向量,以及v是标量速度。
对于每个参与者,当参与者的状态被视为时间的函数时,向量可以表示参与者的状态轨迹XA(例如,状态轨迹XA可以表示或编码在时间段中的每一时间处的参与者的每个状态xA)。可以由状态确定器132为每个参与者确定状态轨迹,并且一组状态(例如,在任何一个时间)和/或一组状态轨迹(例如,作为时间的函数)可以包括环境中所有参与者的状态空间或状态轨迹的集合。
状态确定器132可以使用传感器的任何组合来确定车辆102的状态,例如GNSS传感器1158、一个或多个IMU传感器1166、一个或多个速度传感器1144、一个或多个转向传感器1140等。状态确定器132可以使用一个或多个立体相机1168、一个或多个宽视场相机1170、一个或多个红外相机1172、一个或多个环绕相机1174、一个或多个远程和/或中程相机1198、一个或多个激光雷达传感器1164、一个或多个雷达传感器1160、麦克风1196、一个或多个超声波传感器1162和/或车辆102的其他传感器的任何组合,来确定和/或推断环境中的对象106的状态。在一些示例中,对象106的状态(例如,当一个或更多个对象106是另一车辆、或者使用能够进行无线通信的客户端装置的人时)可以通过一个或更多个网络(例如,但是不限于此处描述的一个或多个网络)使用无线通信(例如,车辆到车辆通信或装置到车辆通信)来确定。
在一些示例中,诸如神经网络(例如,卷积神经网络)的机器学习模型可用于确定参与者的状态。例如,来自车辆102的传感器的传感器数据可以应用于一个或更多个机器学习模型,以便帮助车辆102确定环境中的对象106的状态。例如,自主车辆102可以被配置为针对各种功能在处理和/或未处理的数据上快速且有效地执行神经网络。例如,但不限制,卷积神经网络可以用于对象检测和标识(例如,使用来自车辆102的一个或多个相机的传感器数据),卷积神经网络可以用于距离估计(例如,使用来自车辆102的一个或多个相机的传感器数据),卷积神经网络可以用于紧急车辆检测和标识(例如,使用来自车辆102的一个或多个麦克风的传感器数据),卷积神经网络可以用于面部识别和车主标识(例如,使用来自车辆102的一个或多个相机的传感器数据),卷积神经网络可以用于标识和处理安全和/或安全相关事件,和/或可以使用其他机器学习模型。在使用卷积神经网络的示例中,可以使用任何类型的卷积神经网络,包括基于区域的卷积神经网络(R-CNN)、快速R-CNN和/或其他类型。
一旦确定了参与者的状态,就可以为参与者确定控制模型(例如,通过安全程序确定器134)。例如,控制模型可以如下表示,在等式(3)中:
这样,参与者的控制模型可以表示参与者的状态xA相对于时间t和一个或多个控制参数c的导数。控制模型可以局部地表达为具有一个或多个控制参数c的显式微分方程,其可以对用户输入进行建模,例如转向、制动和加速。例如,在一些示例中,可以根据下面的等式(4)来表达参与者的控制模型:
其中v是标量速度,d是单位方向向量,a是标量加速测量值,b是标量转向参数,并且d是d的垂线,d通过翻转d的坐标和对第一坐标求反而生成。在等式(4)的示例中,控制参数可以是a标量加速测量值、以及b标量转向参数。
一旦确定了控制模型,就可以确定控制策略(例如,通过安全程序确定器134)。例如,控制参数可以是世界状态xw(或基于由车辆102的传感器生成的传感器数据的世界状态的感知)和时间t的函数。这样,控制策略可以是世界的联合状态空间和进入的时间(其中m是参与者的状态空间的维度)的平滑和有界的函数。例如,控制策略可以表示如下,在等式(5)中:
一旦确定了控制策略,就可以为每个参与者确定安全程序(例如,通过安全程序确定器)。例如,如本文所述,可以假设每个参与者具有安全程序SA。安全程序可以具有从参与者的任何起始状态xA导出的一个或多个关联轨迹。当参与者从状态xA转换到参与者状态目标(例如,参与者可能到达停止的最终地点)时,安全程序可以表示参与者的一个或多个轨迹。在一些示例中,可以通过分析从一个或更多个传感器(例如,车辆102的传感器)接收的传感器数据,来确定参与者状态目标,以确定环境中的对象106(或其他参与者)的地点、朝向和速度。如本文所示,然后可以为参与者(例如,车辆102和/或对象106)确定控制参数(例如,用于转向、制动、加速等),以及可以确定用于将参与者引导到参与者状态目标的函数的集合。
安全程序可以导致一个或多个轨迹在其起始状态下平稳地改变(例如,因为安全程序可以是连续减速到停止)。在一些示例中,安全程序SA可以在等式(6)中表示如下:
其中W代表世界(或环境)的属性。取决于实施例,参与者的安全程序可能或可能不依赖于世界的固定属性。例如,安全程序可能不依赖于世界的固定属性,例如道路形状或地图。在这样的示例中,安全程序可以包括冻结方向向量(例如,通过将标量转向参数b设置为零),并且通过减慢加速度值[amin,a′]的范围到完全停止来达到完全停止(其中amin是最小加速测量值或最大制动量的负值,并且a′是大于amin的负值)。这种类型的安全程序SA可以由下面的等式(7)表示:
在任何示例中,安全程序可以包括制动直到达到完全停止。在高速时,但不限于此,安全程序可包括与当前车道(或与道路的方向,例如当车辆102处于车道改变的中间时)对齐,然后达到完全停止(因此可能取决于世界的固定属性,例如车道标记)。例如但不限于,在低速时,安全程序可以包括车辆102在其减速到停止时自己转向到道路的一侧(因此可以取决于世界的固定属性)。例如,一个或更多个神经网络(例如,卷积神经网络)可用于标识道路的一侧和/或帮助将车辆102调遣到道路的一侧。作为另一示例,可以使用HD地图1122(例如,使用地图感知器116、地图管理器118和/或定位管理器120)。在这样的示例中,HD地图1122可以通过一个或多个网络1190接收和/或可以嵌入在车辆102中。
在又一个示例中,可以修改安全程序以为车辆乘客提供某一级别的舒适度(例如,最大舒适度)(例如,最小减速或方向变化),同时仍然保证避免碰撞。在这样的示例中,可以为车辆102确定使得舒适度最大化和/或使得施加在乘客上的力最小化的过程、轨迹和/或控制序列作为安全程序,同时仍确保避免与其他对象106(例如,车辆、实体、结构等)的碰撞。在一些示例中,例如其中碰撞不可避免或碰撞的可能性高于阈值风险级别,可以修改安全程序,以使得在发生碰撞时、对车辆和其他实体中的乘客造成伤害的风险最小化。
针对图2A-2C示出了安全程序的示例。例如,针对图2A,安全程序202可包括参与者204(或表示参与者204的形状)达到完全停止、同时保持低或零横向变化率。例如,在非结构化环境中,或者当忽略世界的固定属性时,安全程序202可以包括直线前进驾驶和/或沿当前转向圈继续(其可以包括或可以不包括横向变化率),直到参与者204达到完全停止。例如,如果参与者当前正以转向角向右转向,则安全程序202可包括继续该转向角直到达到完全停止。如果参与者当前正在直线转向,则安全程序202可以包括继续直线直到达到完全停止(例如,如图2A所示)。
在任何示例中,任何参与者的安全程序可以包括安全裕度(例如,除此以外,或作为替代,本文所述的关于参与者的尺寸的安全裕度)。例如,关于安全程序202,随着时间从与参与者的当前状态相关联的时间开始的时空增加,安全程序的安全裕度可能增加。例如,关于安全程序202,安全程序202的索取集的宽度W1可以小于安全程序202的索取集的宽度W2。在这样的示例中,因为宽度W1可以对应于较早的时间,与宽度W2相关联的时间相比,可能存在较小的误差裕度。因此,安全裕度可能会随着时空的推移而增加,以解决此错误。
作为另一示例,安全程序206可包括在从第一车道208A到第二车道208B的车道改变期间的参与者204(或表示参与者204的形状)自己与道路对齐(例如,中止车道改变并且与道路方向对齐,例如与车道标记210A、210B和/或210C平行),并且达到完全停止。在这样的示例中,安全程序可以考虑世界的固定属性(例如,车道标记、道路方向等)。可以确定安全程序206,以便最小化横向变化率(例如,相对于道路形状),同时仍然中止车道改变并使参与者204与道路重新对齐。
作为另一示例,安全程序212可以包括参与者204(或代表参与者204的形状)遵循道路形状以适应道路中的曲线并且达到完全停止。例如,如果参与者204已经遵循道路形状并且因此考虑到世界的固定属性,则安全程序212可以包括继续遵循道路形状(例如,如由车道标记210D和210E所定义的)。类似于安全程序206,可以确定安全程序212,以便在继续遵循道路形状的同时使横向变化率最小化。
一旦确定了安全程序,索取集确定器136可以确定车辆102和环境中的对象106的索取集。当参与者从状态xA开始应用其安全程序SA时,参与者的索取集可以包括参与者的占用轨迹(例如,参与者在跟踪轨迹时占用的空间中的每个点)。
为了确定索取集,索取集确定器136可以确定在给定其状态的情况下由参与者占用的空间中的面积和/或体积。例如,自主车辆系统100可以假设参与者在n维真实空间中到处移动并且占用n维真实空间。在一些示例中,为简单起见,自主车辆系统100可以使用二维空间建模真实世界的俯视图。在其他示例中,自主车辆系统100可以使用三维空间。在任何示例中,为了确定索取集,自主车辆系统100可以首先确定每个参与者的被占用集合,这表示作为其状态的函数由参与者占用的空间中的点的集合。参与者的被占用集合oA可以在下面的等式(8)中如下确定:
如果空间中的一个点位于参与者的被占用集合中,则可以确定参与者占用了该点。
为了确定被占用集合中的每个点,可以确定参与者的尺寸(例如,参与者的实际尺寸)或代表尺寸(例如,参与者周围和/或包括参与者的形状)。在一些示例中,尺寸或代表尺寸可包括可选的安全裕度。关于车辆102,车辆102的尺寸可以是已知的(例如,基于校准信息、车辆信息、车辆品牌和型号、和/或其他参数)。关于环境中的对象106,可以使用传感器和来自其(例如,来自传感器管理器108)的传感器数据和/或一个或更多个机器学习模型(例如,卷积神经网络)来确定对象106的尺寸。在一些示例中,为了确定参与者(例如,车辆102和对象106)的尺寸,形状(例如,预定形状,例如正方形、多边形、边界框、立方体、圆形、蛋形、椭圆形等)可以适合围绕参与者(例如,至少包括参与者),并且参与者的尺寸可以被确定为预定义形状的尺寸(例如,包括安全裕度,在一些示例中,如本文所描述)。例如,形状可以是二维形状(例如,矩形或圆形),其用作至少部分地环绕(encircles)参与者的边界框。在其他示例中,形状可以是三维形状(例如,立方体),其用作至少部分地环绕参与者的边界立方体。在任何示例中,索取集确定器136可以使用车辆的尺寸,来确定参与者占用的空间中的点(例如,(x,y)坐标)作为被占用集合oA的一部分。
在一些示例中,可以确定参与者的尺寸,并且因此可以确定与参与者的尺寸相对应的代表性形状,使得尺寸和/或形状完全包括参与者,至少在二维中(例如,横向和纵向)。通过完全包括参与者(在示例中,具有额外的安全裕度),更有可能的是,占用的集合、占用的轨迹以及因此索取集更准确地表示参与者在执行安全程序时将占用的空间中的实际点。
一旦确定了占用集合,则索取集确定器136可以确定每个参与者的一个或多个占用轨迹OA。被占用的一个或多个轨迹可以包括作为其轨迹的函数的参与者随时间占用的时空中点的集合。例如,占用轨迹OA可以在下面的等式(9)中如下确定:
当应用参与者的安全程序SA时,占用的一个或多个轨迹可以包括索取集CA。确定为在索取集中的任何点是参与者可能需要维持其安全程序完整性的时空中的点。因此,当观察环境中的多个参与者时,车辆102可以分析参与者的每个索取集以确定他们之间是否发生任何交叉。当发生交叉时,可以采取一个或更多个动作,来考虑交叉点(例如,可以实现安全程序,可以实现另一动作等,如本文所述)。索取集CA可以在下面的等式(10)中如下确定:
其中,等式(10)可以表示如果参与者从状态xA开始应用其安全程序而导致的参与者的一个或多个占用轨迹。在一些示例中,如本文所述,索取集可以表示通过利用不同参数应用参与者的安全程序、而产生的每个占用轨迹的组合或聚合。例如,可以利用最大制动分布图、最小制动分布图、最大和最小之间的制动分布图、最大转向分布图、最小转向分布图、最大和最小之间的转向分布图和/或以其他方式,来应用安全程序。在这样的示例中,索取集可以包括组合或聚合的、用于安全程序的任何数量的不同应用(例如,针对每个不同应用)的被占用轨迹。
作为第一示例,索取集可以表示具有第一制动分布图的安全程序,用于比第二制动分布图更快地达到完成停止,并且可以表示具有第二制动分布图的安全程序,用于(例如,比第一制动分布图)更慢地达到完全停止,同时仍然避免碰撞。在这样的示例中,可以设置和/或确定阈值或界限,以定义第一制动分布图(例如,定义的最大或上限制动分布图)和第二制动分布图(例如,定义的最小或下限制动分布图)。在这样的示例中,索取集可以表示通过利用第一制动分布图、第二制动分布图以及落在第一和第二制动分布图之间的(例如,如关于图3C-3E所示和描述的)参与者所占用的时空中的点应用的安全程序、由参与者所占用的时空中的每个点。取决于特定实施例,用于生成索取集的阈值或界限可以是不同的。
阈值或界限可以在没有限制的情况下基于百分比(例如,制动强度百分比)和/或时间(例如,达到完全停止的时间,例如基于当前速率或速度)来定义。例如,第一制动分布图可包括95%制动强度,以及第二制动分布图可包括85%制动强度。作为另一示例,如果车辆102正每小时行驶60英里(mph),则第一制动分布图可包括在三秒内达到停止(例如,平均每秒减速20mph),而第二制动分布图可包括在四秒内达到停止(例如,平均每秒减速15mph)。为了确定时间,可以在一些示例中使用速率因子。在这样的示例中,第一制动分布图可以包括基于车辆102的当前状态xA、车辆102正行驶的每10mph的一秒,并且第二制动分布图可以包括基于车辆102的当前状态xA、车辆102正行驶的每15mph的一秒。继续以60mph行驶的车辆102的以上示例,第一制动分布图可包括在三秒内达到停止,并且第二制动分布图可包括在四秒内达到停止。
作为另一示例,索取集可以表示具有比第二转向分布图更快到达横向地点(例如,道路的一侧、与道路对齐等)的第一转向分布图(例如,限定的最大转向分布图)的安全程序,并且可以表示具有比第一转向分布图更慢地到达横向地点的第二转向分布图的安全程序。在这样的示例中,可以设置和/或确定阈值或界限,以定义第一转向分布图(例如,定义的最大或上限转向分布图)和第二制动分布图(例如,定义的最小或下限转向分布图)。在这样的示例中,索取集可以表示通过利用第一转向分布图、第二转向分布图以及落在第一和第二转向分布图之间的参与者所占用的时空中的点应用的安全程序、由参与者所占用的时空中的每个点。取决于特定实施例,用于生成索取集的阈值或界限可以是不同的。
类似于制动分布图的阈值或界限,转向分布图也可以基于百分比(例如,转向角强度的百分比)和/或时间(例如,到达横向位置的时间量)。
作为索取集的简化示例,车辆102可以朝向静态对象302驾驶(其中行驶方向在图3A的时空图中以一维表示)。当不执行安全程序时,车辆102可具有占用轨迹304,其导致车辆102与静态对象302碰撞(例如,车辆102不实现安全程序,而是继续沿着相同路径行驶以相同的速度直到与对象碰撞)。静态对象302沿时空图中的空间维度固定,因为静态对象302不移动。在该示例中,可以使用边界多边形来表示车辆102的尺寸(例如,在边界线316A和316B之间的、从车辆102的前部到后部延伸的边界多边形)。
为了解决图3A的情况,可以实现安全程序,使得制动直到车辆102在与静态对象302碰撞之前达到完全停止为止。例如,并且针对图3B,轨迹生成器138可以生成对应于安全程序的、由索取集确定器136确定的对应索取集表示的轨迹306,并且车辆102可以在时间T1实现安全程序,使得车辆102恰好在与静态对象302碰撞之前停止。轨迹发生器138可以持久地将轨迹306(例如,表示安全程序的轨迹的索取集)投射到空间中,直到轨迹306被确定为几乎与静态对象302相交(例如,在时间T1),然后车辆102可以通过以对应于安全程序的强度致动制动器,来实现安全程序(例如,在与静态对象302碰撞之前将使车辆102停止的强度,具有一些误差裕度,取决于实施例)。在一些示例中,轨迹306可以对应于第二制动分布图(例如,定义的最小或下限制动分布图)。
作为另一个示例,并且关于3C,轨迹生成器138可以生成轨迹306和308,轨迹306和308由索取集确定器136确定的对应索取集表示,其对应于使用两个不同的制动分布图实现的安全程序(例如,如果车辆102要实现第一轨迹306,第二轨迹308和/或其间的任何轨迹,则索取集可以包括车辆102占用的时空中的每一点)。例如,轨迹306可包括第一制动分布图(例如,限定的最小或下限制动分布图),并且轨迹308可包括第二制动分布图(例如,限定的最大或上限制动分布图)。在该示例中,车辆102可以恰好在轨迹306与静态对象302碰撞之前(例如,在时间T1)实现安全程序。因此,轨迹生成器138可以持久地将轨迹306和/或308(由对应索取集表示)投射到空间-时间,直到确定轨迹306(或者在一些示例中为308)几乎与静态对象302相交,并且然后车辆102可以通过以与安全程序的所选制动分布图对应的强度致动制动器,来实现安全程序。
索取集的属性可以是索取集在应用安全程序时不随时间增长。这样,对于安全程序,可以定义最小(或安全)制动分布图和最大制动分布图,使得索取集不增加(尽管索取集可以减小)。这样,在实现安全程序的每个时间步骤或阶段,索取集可能不会增加。结果,当首先实现安全程序时,并且在安全程序的结束时(例如,当完全停止时),索取集应该不变。
参考两个或更多个参与者,并且针对图3D,轨迹生成器138可以生成用于车辆102的轨迹306和308,并且可以生成对象106(在该示例中可以是另一车辆)的轨迹312和314。对象106的轨迹312和314可以基于边界多边形,类似于车辆102的边界多边形,其尺寸在边界线318A和318B之间延伸。轨迹312可包括对应于为对象106(例如,基于状态、控制模型、控制策略、类型、尺寸、和/或由车辆102感知和/或确定的对象106的其他信息)确定的安全程序的制动分布图(例如,类似于车辆102的轨迹306)。轨迹314可包括对应于安全程序的更激进的(aggressive)制动分布图的最大制动分布图,类似于车辆102的轨迹308的分布图。在任何示例中,轨迹306和308的投影所占用的时空点可包括车辆102的索取集,并且轨迹312和314的投影所占用的时空点可包括对象106的索取集。
作为对象106朝向车辆102移动的结果,在图3D的示例中,当车辆102跟随轨迹304(例如,轨迹306和312的交叉或接近交叉之前的驾驶轨迹)并且对象106跟随轨迹310(例如,在轨迹306和312的交叉或接近交叉之前的驾驶轨迹)时,车辆102和对象106彼此接近。结果,一旦轨迹306和312(和/或308和314)被确定为相交,或被确定为在与交叉的阈值距离内(例如,使用如本文所述的撞击(bump)函数),则车辆102可以实现对应于轨迹306、轨迹308和/或两者之间的另一轨迹的安全程序。在这样的示例中,目标可以是对象106还根据轨迹312、轨迹314和/或两者之间的另一轨迹、同时或在允许对象106在与车辆102碰撞之前停止的时间量内、实现其安全程序。如在此更详细地描述的,如果在该示例中发生碰撞,并且车辆102已经实现了安全程序,则可以将故障归因于对象106,因为车辆102至少对碰撞的可能性或紧迫性没有贡献。
作为另一示例,并且关于图3E,当车辆102遵循轨迹304(例如,在轨迹306和314和/或312交叉或接近交叉之前的驾驶轨迹)并且对象106跟随轨迹310(例如,在轨迹306和314和/或312交叉或接近交叉之前的驾驶轨迹)在)时,车辆102和对象106可以在类似的方向上移动。结果,一旦确定轨迹306和314(和/或306和312)相交,或者确定轨迹306和314(和/或306和312)在与交叉的阈值距离内,则车辆102可以实现对应于轨迹306、轨迹308和/或两者之间的另一轨迹的安全程序。在这样的示例中,目标可以是对象106还根据轨迹312、轨迹314和/或两者之间的另一轨迹、同时或在允许对象106在与车辆102碰撞之前停止的时间量内、实现其安全程序。
又一个示例,并且关于图3F,在环境326中包括车辆102、第一对象106A(例如,车辆,在该示例中)和第二对象106B(例如,车辆,在该示例中)。在该示例中,轨迹可占用在环境326内的时空中的三维空间(例如,体积)。这样,轨迹可包括纵向距离(例如,制动或停止距离)、横向变化(例如,转向变化)、和/或由如果参与者要实现他们各自的安全程序由参与者(例如,车辆102、第一对象106A和/或第二对象106B)占用的垂直空间(例如,从地平面到边界多边形的顶部或代表参与者的被占用的集合的其他形状)。这样,可以将轨迹分析为具有随速度增加的长度的实体体积(例如,参与者移动得越快,一个或多个轨迹和占用的集合中包括的时空中的对应点越长),以及参与者可以被表征为利用附着到他们的这些体积(例如,从他们突出)到处驾驶,同时对体积(例如,轨迹)执行碰撞分析,而不是对他们的实际形状执行碰撞分析。结果,通过保证在时空体积中没有碰撞,可以引起在实际空间中没有碰撞的保证。这可以提供益处,因为避免实际空间中的实际物理对象之间的碰撞需要预见性,因为参与者具有惯性,并且一旦发生物理重叠,则可能已经太晚了。然而,在时空中,一旦在时空中的体积之间确定交叉、重叠或接近交叉或重叠,则可以认为体积或轨迹被冻结,并且因为存在横向和纵向维度两者、并且可以不允许车辆102和一个或多个对象106之间的共享几何形状,所以车辆102可以没有碰撞(或者至少可能不会导致碰撞的可能性,因为其他参与者动作不在车辆102的控制下)。
在这样的示例中,车辆102的轨迹生成器138可以生成表示车辆102的安全程序的一个或多个车辆占用轨迹320(在一些示例中,应用于分布图的范围上),表示第一对象106A的安全程序的一个或多个对象占用轨迹322,以及表示第二对象106B的安全程序的一个或多个对象占用轨迹324。在图3F的图示中,在任何轨迹320、322和324之间不存在重叠或交叉、或接近重叠或交叉。这样,在图3F所示的时间点,车辆102、第一对象106A和第二对象106B都不能实现其安全程序。然而,如果轨迹320、322或324中的一个与轨迹320、322或324中的另一个重叠或几乎重叠,则将预期重叠或接近重叠中涉及的参与者将实现其安全程序(例如,如果涉及,车辆102将实现安全程序,并且将期望其他参与者实现其各自的安全程序,以便避免碰撞)。
关于图3F,一个或多个轨迹320的投影所占用的时空点可以包括在实现安全程序时车辆102的索取集。类似于本文关于图2C-2E描述的,一个或多个车辆占用轨迹320可包括第一制动分布图、第二制动分布图、另一阈值的制动分布图、和/或其组合。类似地,由一个或多个对象占用轨迹322的投影占用的时空点可以包括第一对象106A的索取集,并且由对象占用轨迹324的投影占用的时空点可以包括第二对象106B的索取集。
关于图4A-4F,图4A-4F示出了可由各种参与者实现的各种不同的安全程序、以及与那些安全程序相关联的参与者占用的轨迹(例如,如果参与者要实现其安全程序,则代表参与者的索取集的轨迹)。在任何示例中,一个或多个参与者占用的轨迹的末端(例如,车辆占用轨迹和/或对象占用轨迹)可以指示其中参与者达到完全停止的时空点(例如,如图4C中的车辆占用轨迹402的部分420所指示的)。
关于图4A,如果车辆102跟随对象106,则车辆102可以确定其在不安全距离处跟随(例如,因为车辆102的一个或多个车辆占用轨迹402与对象106的一个或多个对象占用轨迹404重叠)。在这种场景下,车辆102可以实现其安全程序,并开始减速以避免与对象106的碰撞。在一些示例中,当车辆102减速时,一个或多个车辆占用轨迹402的长度可以减小(例如,因为速率较小,停止时间-并因此执行安全程序-也会更少),并且因为车辆102将通过减速而进一步远离对象106移动,所以一个或多个车辆占用轨迹402终不会与一个或多个对象占用轨迹404重叠或交叉。如果车辆102在不再存在交叉点时尚未完全停止,则车辆102可以例如,中止安全程序,并将控制权移交还给自动驾驶软件栈的计划层或控制层。因此,车辆102可以仅在存在危险时和只要危险存在时、实现安全程序,然后可以中止安全程序。
关于图4B,如果车辆102正在将车道改变为包括对象106的车道,则车辆102可以确定车道变化是不安全的(例如,因为车辆102的一个或多个车辆占用轨迹402与对象106的一个或多个对象占用轨迹404重叠)。在这种场景下,车辆102可以实现其安全程序,并开始减速和/或与道路对齐(例如,中止车道变化,类似于图2B的示例),以避免与对象106的碰撞。
关于图4C,如果车辆102处于更复杂的场景中,例如第一对象106A朝向车辆102来临并且第二对象106B从侧面朝向车辆来临,则车辆102可以确定(例如,在图4C中所示的时间,其中交叉接近,或在稍晚时间,当交叉更接近时)当前路径是不安全的。在这种场景下,车辆102可以实现其安全程序,并开始减速以避免与对象106A和/或106B的碰撞。在一些示例中,可能无法完全避免碰撞,并且车辆102可以替代实现安全程序、或可以对车辆102和对象106A和106B的乘客造成最小量的伤害(例如,降低安全隐患)的另一动作,如本文所述。
关于图4D,以及本公开的另一个益处,如果车辆102试图将车道改变为第一对象106A和第二对象106B之间的慢速交通(例如,其中车辆102实际上不能适合在对象106A和106B之间),则可以允许车辆这样做。例如,因为车辆102能够以慢速(例如,如短轨迹402、404A和404B所示)移动到车道中,而一个或多个车辆占用轨迹402不与对象106的任何轨迹404A和404B重叠,所以只要没有确定重叠,车辆102就可以进行车道改变。在这样的示例中,第一对象106A可以减速以允许车辆102进入车道,第二对象106B可以加速,和/或其组合。然而,如果在车道改变期间的任何时间,对象106A加速,则对象106B减速,和/或其组合,从而导致一个或多个车辆占用轨迹402和一个或多个对象占用轨迹404A和/或404B之间的重叠,车辆102可以实现安全程序并中止车道改变。
与横向与纵向分离地分析车辆的路径的传统系统相比(例如,不允许这种类型的车道改变,因为第一对象106A可以被确定为横向地在车辆102的路径中),当前系统100可以允许这些类型的调遣(例如,其中车辆102的完整空间(例如第一对象106A和第二对象106B之间的)始终不存在的调遣)。这样,因为自主车辆系统100通过监控轨迹402、404A和404B可能已经确定最坏的情况,所以车辆102和对象106A和106B能够在碰撞之前实现其安全程序,自主车辆系统100可以允许车辆102执行车道改变,如图4D所示。
关于图4E,图4E示出了其中对象106可以是行人、儿童、动物、摩托车、骑自行车者、车辆和/或其他类型的对象106的示例。对于不同的对象类型,可以存在不同的安全程序。例如,儿童(例如,对象106E)、成人(例如,对象106G、106F、106C、106D)、跑步的成年人(例如,对象106G)、步行的成年人(例如,对象106F)、动物(例如,对象106B)、摩托车(例如,对象106H)、骑自行车者(例如,对象106A)和/或其他类型的对象可以具有不同的对应安全程序。这样,安全程序确定器134可以为感知和/或确定为在环境406中的每个对象106确定适当的安全程序。例如,因为人和动物的移动可能无确定路线(例如,他们可以移动任何方向和/或快速改变方向),所以安全程序可以沿着人或动物的运动方向延伸更长,但也延伸到人或动物的每一侧和后面(例如,如在对象占用轨迹408B、408F和408G中所示)。结果,行人和/或动物的安全程序可以说明行人和/或动物在任何方向上尽可能快地奔跑(例如,非警惕的行人)。即使采用这种方案,车辆102也可以保守地行动,具有源于对行人和/或动物能够移动多快的合理限制的安全性。
在图4E的示例中,车辆102的一个或多个车辆占用轨迹402可以与行人的对象占用轨迹408F和408G重叠。在这样的示例中,车辆102可以执行其安全程序,并且可以期望行人(例如,对象106G和106F)执行其安全程序(例如,减速或停止)。这样,车辆102可以开始减速(并且可能转向右侧,作为对安全程序的修改,以躲避行人,如本文将更详细描述的)。最终,当车辆102减速、并且对象106G和106F减速时,一个或多个车辆占用轨迹402和对象占用轨迹408G和/或408F可能不再重叠或交叉,此时车辆102可以中止安全程序,并且在实现安全程序之前沿着车辆102行驶的路径继续。
关于图4F,图4F示出了其中环境410的某些部分可能从车辆102的传感器的视野中被遮挡的示例。结果,车辆102可能无法准确地感知所有对象(例如,一些对象可能被遮挡),并且因此可能无法确定被遮挡对象的相应安全程序。例如,车辆102可能仅能够感知传感器的视野内的环境410,如图4F中的视线414A和414B之间的区域所示。在这样的示例中,车辆102可以确定不可见参与者418A和418B(在本文中可选地称为未被感知的参与者)。
可以基于环境410中的某些情况和/或变量的规则或逻辑,来确定不可见参与者418A和418B。例如,在一些示例中,车辆102可以通过假设最坏情况来处理可见性限制。然而,这对于车辆102来说可能是不切实际的,例如通过使车辆102过于保守地行动(例如,恒定制动或以过低的速度驾驶)以供实际使用。结果,在一些示例中,使用合理性标准。例如,可以设置(put into place)速度上限,例如限速的两倍,使得车辆102可以确定可以存在超过限速的两倍的参与者,他们是不合理的,因此可以在确定是否实现安全程序时忽视(discount)他们,但在评估故障时确认他们。确定这些合理的不可见参与者可以是控制策略的一部分,如本文更详细描述的。
例如,对于可能存在于建筑物416后面的不可见参与者418A,车辆102可以确定不可见参与者418A可能在那里是合理的,因为可能存在具有停车标志或者具有停车灯的三向交叉,并且对于车辆102的灯可以是黄色的(例如,指示另一车辆(不可见参与者418A)可能从建筑物416后面进入交叉路口)。然而,在相同的情况下,如果对于车辆102的灯是绿色的,则假设不可见参与者418A(或者至少是具有到目前为止延伸的一个或多个轨迹412A的不可见参与者)可能是不合理的,因为任何来自建筑物416后面的参与者会有红灯并且会停下来(或者会违反交通法)。
作为另一示例,关于可能存在于对象106D(例如,停放的车辆)后面和在对象106C(例如,另一个停放的车辆)的前面的不可见参与者418B,车辆102可以确定不可见参与者418B可能在那里是合理的,因为不可见参与者418B(例如,基于可能在两辆停放的汽车之间的合理对象类型的人)可能试图穿过街道,或者进入其中一个车辆(例如,对象106C或106D)。结果,并且因为不可见参与者418B的一个或多个对象占用轨迹412A与车辆102的一个或多个车辆占用轨迹402相交或重叠,所以车辆102可以通过减速开始执行其安全程序,至少直到对象106C和106D之间的空间不再被遮挡,并且已经确认或否定了实际对象106的存在。
在一些示例中,等待时间(latency)、离散化和/或反应时间可以是自主车辆系统100和可以建模的参与者的实际限制中的至少一些。自主车辆系统100可以处理感知的限制,或者更确切地说是感知和动作,在某种意义上,当参与者采取行动时,它不可避免地基于不完全是当前的感知(例如,具有时间延迟)。结果,当参与者采取行动时,它可能基于在某个较早时间点的世界的感知。例如,参与者(例如,人类参与者,诸如手动驾驶的车辆、或行人)可能在注意到可能发生潜在碰撞之前,具有一些反应时间(例如,基于由于看电话而缺乏注意力、或者伸手拿东西等)。在这样的示例中,自主车辆系统100可以考虑该反应时间。在其他示例中,诸如车辆之类的参与者可以包括在接收命令的时间和在实际发生致动的时间之间的等待时间或滞后。等待时间或滞后可以是已知的(例如,在标识车辆类型之后),或者可以被感知(例如,使用一个或多个神经网络)。在这样的示例中,自主车辆系统100可以考虑该等待时间或滞后。在任何示例中,可以调整(例如,延长,扩大等)用于参与者(例如,车辆102和/或对象106)的索取集的一个或多个轨迹的形状(例如,长度、宽度、高度等),以考虑延迟、滞后或反应时间。
在一些示例中,可以假设等待时间量是Δt。为了说明Δt,在一些示例中,可以使用最坏情况前向预测的形式,使得按照时间间隔Δt的参与者A的转发集合ΦA(xA,Δt)是参与者A在处于状态xA之后的时间间隔Δt可能达到的所有状态的集合。按照时间间隔Δt的一组参与者Θ的转发集合可以是Θ中的所有参与者的转发集合的并集,如下面等式(11)所示:
Φ(Θ,Δt)=∪A∈GΦA(xA,Δt) (11)
参与者通常可以具有比其他参与者更好地预测自己的状态的能力。特别地,在车辆102的控制系统(例如,一个或多个控制组件126)中,先前发送的实际命令序列可能是已知的,这提供了当实际发布了现在有准备的(delibrated)致动命令(例如,递送到一个或多个致动组件130)时、预测参与者自己将在何处的能力。出于实际目的,这可以允许转发集合仅包括一个点,有效地导致确定性转发,并且进一步导致单个参与者状态。通常,转发机制可以是非确定性转发,并且可以导致状态的集合。虽然在一些示例中可使用参与者自己的非确定性转发,并且可要求控制策略对于参与者的所有可能状态是安全的,在其他示例中,为了降低复杂性,可以假设参与者自己的确定性转发。
结果可以是转发的参与者的控制策略,隐含地假设利用基于队列中的所有致动命令直到当前有准备的致动命令的预测,来更新状态参数化。利用这些假设,控制命令可以应用于所考虑的参与者状态,并且唯一的延迟可以是关于其他参与者(例如,除了车辆102之外的对象106)的信息。
尽管感知和动作之间存在等待时间限制,但转发的控制策略在当前时间可能是安全的,无论所感知的一组参与者在哪儿移动。这也可能是最坏情况假设和安全控制策略的定义的直接后果。由于假设存在可能存在的所有约束(例如,在执行车辆102的控制时其他参与者可能达到的环境中的任何地方),因此自主车辆系统100可以遵守所有相关约束。
另外,本发明的自主车辆系统100可以将等待时间意识(awareness)与能见度意识相结合,并且可以使用该信息来避免进入不合理的状态。例如,考虑集合Φ(V,Δt)∪(Φ(Λ,Δt)∩Ψ),其中V,Λ,Ψ分别是可见、不可见、合理的参与者的集合。首先,可以考虑可见性以提供表示世界上可能需要在一个时间点考虑的所有参与者(如本文所述的可见和不可见)的完整组。然后,通过转发所述一组参与者,可以在这个完整的世界表示中考虑等待时间。最后,不合理的参与者可被排除在转发的一组不可见参与者之外。在一些示例中,可以在转发之前排除不合理的参与者;但是,这不允许考虑在转发期间使其成为合理状态的不合理的参与者。此外,虽然可以排除不合理的不可见参与者,但在某些示例中可能不会排除不合理的可见参与者,因为移除实际感知的参与者可能不会导致准确的世界状态。
安全隐患计算器140可以确定环境中的两个或更多个参与者之间的安全隐患。例如,对于两个参与者,参与者A和参与者B,可以比较组合的状态空间ΩA×ΩB(例如,参与者A的状态空间和参与者B的状态空间),并且可以确定不安全的集合(例如,在相交的两个参与者的组合状态空间中的点的集合)。这样,不安全集合可以是与来自参与者B的索取集CB的点相交的、来自参与者A的索取集CA的点。在一些示例中,不安全集合UAB可以根据下面的等式(12)来确定:
然后,安全隐患计算器可以确定参与者(例如参与者A和参与者B)的组合状态空间上的安全隐患函数。例如,安全隐患可以是组合状态空间上的实值可微函数,其可以在不安全集合上严格为正,而在其他地方非负。当所有参与者在其安全程序中应用任何成员时,安全隐患可能不会增加。在一些示例中,安全隐患ρAB可以根据下面的等式(13)确定:
在与不安全集合离开某个小的(例如,阈值)距离处(例如,正好在表示参与者的索取集的轨迹合并之前),安全隐患可以精确为零。在一些示例中,可以使用链规则,来表达每个参与者对安全隐患变化的贡献。例如,基于两个参与者的贡献,安全隐患ρAB针对时间的变化可以根据下面的等式(14)确定:
在一些示例中,自主车辆系统100可以施加更严格的要求,例如每个单独的安全程序对安全隐患变化的贡献将小于或等于零。在这样的示例中,以下等式(15)可表示用于安全隐患ρAB的实值无限可微函数:
在这样的示例中,组合状态空间上的安全隐患在不安全集合上可以严格为正,而在其他地方可以非负,并且由等式(16)和(17)表示的以下关系适用于:
在一些示例中,在任何地方都可微分可能不是安全隐患的必要假设。在这样的示例中,在不脱离本公开的范围的情况下,安全隐患几乎可以在任何地方都可微分。
来自每个参与者的安全隐患的局部改变可以是控制策略与安全隐患的梯度之间的点积(例如,关于参与者的状态)。控制策略可以是经受限制的安全隐患的负梯度。安全力场可以是关于状态的安全隐患的梯度(例如,关于状态变化的安全隐患的导数)。例如,对于参与者A和参与者B,安全隐患ρAB的负梯度FAB,如下面的等式(18)所示,可以被称为来自参与者B的参与者A上的安全力场。
如本文所述,车辆102应该以与针对每个参与者的安全程序至少保持相同安全级别的方式运转。针对环境中的参与者集合的每个参与者B的参与者A(例如,车辆102)的安全控制策略是由下面的等式(19)的关系表示的控制策略:
我们可以对安全程序集合作出一些合理的假设,以便始终得到公式(19)中的最小值,假定该集合是紧凑的。用语言表达,等式(19)的关系表明当映射到完全状态导数时,车辆102的安全控制策略可以具有针对来自每个其他参与者的安全力场的点积,该点积至少与车辆102的安全控制策略的某成员的点积一样大。在一些示例中,控制策略可以是相对于安全程序是加性的,并且该添加可以具有针对来自每个其他参与者的安全力场至少为零的点积。
具有针对彼此的安全控制策略的两个参与者,参与者A和参与者B,不应相互冲突。例如,当两个参与者沿着他们的轨迹相对于时间移动时,安全隐患的局部变化可以分成来自两个参与者的两个贡献。当两个参与者都具有安全控制政策时,这两个贡献应该不大于以下情况:如果两个参与者的安全程序的最佳或期望成员(在代数中,假设是达到最小值:的轨迹)应用于点(例如,他们的贡献不应大于零),如下面的等式(20)所表示的:
在等式(20)中,第一个等式依赖于链规则,第一个不等式依赖于安全控制策略的定义,最终的不等式依赖于安全隐患的定义。因为安全隐患可能是非负的,并且安全隐患的变化可能沿着参与者A和参与者B的组合轨迹的各处小于或等于零,安全隐患可能永远不会离开零,这意味着两个轨迹决不应该形成不安全的集合,并因此参与者A和参与者B不应该碰撞。
在某些实例下,不同参与者的安全程序之间可能存在重叠。例如,参考图5A-5C,不同参与者的安全程序(例如,表示在执行安全程序时参与者的索取集的参与者占用轨迹)之间的重叠可以以各种不同的方式发生。当发生重叠时,这可能表明多于一个参与者正索取时空的相同部分,并因此,即使所有参与者都执行他们的安全程序,仍可能存在问题。安全力场可以被认为是不同参与者之间发生的争用,如果他们试图索取时空的相同部分的话。一旦发生重叠或交叉,就可以对参与者施加约束。该约束可能是所有参与者都应该有助于将重叠(以及由此的安全隐患)减少至少与其安全程序应减少的一样多。这样,安全程序可能始终是一种选择,并且与安全程序相比,行动者采取的任何其他动作应仅有助于安全隐患的净减少。在一些示例中,参考图5A-5C,约束506可以被看作表示车辆102和对象106彼此排斥的安全力场。
在一些示例中,并且参考图5A,参与者占用轨迹(例如,表示参与者的索取集的轨迹)-例如车辆102的一个或多个车辆占用轨迹502和对象106的一个或多个对象占用轨迹504-之间的交叉点可以引起对象106上的约束506A和车辆102上的约束506B。例如,约束506可以表示当车辆102和对象106彼此排斥时的安全力场。如图5A所示,约束506可以回溯到对车辆102和/或对象106的控制的约束。例如,箭头508A可以指示作为约束506A的结果的对象106的控制。这些控制可以是制动和/或不右转,并且左转是可以接受的。类似地,箭头508B可以指示作为约束506B的结果的车辆102的控制。控制可能是不转向左,并且右转是可以接受的。
作为另一示例,并且参考图5B,参与者占用轨迹(例如,表示参与者的索取集的轨迹)、例如车辆102的一个或多个车辆占用轨迹502、对象106A的一个或多个对象占用轨迹504A、对象106B的一个或多个对象占用轨迹504B之间的交叉点可以引起对象106B和对象106A之间的约束506C、对象106A和对象106B之间的约束506D、对象106A和车辆102之间的约束506E、和/或车辆102和对象106A之间的约束506F。如图5B所示,约束506可以回溯到对车辆102和/或对象106的控制的约束。例如,箭头508C可以指示作为约束506C的结果的对象106B的控制。控制可能不右转,并且左转和/或制动可能是可接受的。类似地,箭头508E可以指示作为约束506D的结果的对象106A的控制,并且箭头508D可以指示作为约束506E的结果的对象106A的控制。作为车辆102和对象106B两者的结果,对象106A的控制可以是制动、和遵循道路的路径(例如,来自箭头506D和506E的转向控制可以偏移,使得其余部分没有转向控制,只是制动)。作为约束506F的结果,箭头508F可以指示车辆102的控制。控制可以是不左转,并且右转可能是可接受的。
作为另一示例,并且参考图5C,参与者占用轨迹(例如,表示参与者的索取集的轨迹)、例如车辆102的一个或多个车辆占用轨迹502、对象106C的一个或多个对象占用轨迹504C、对象106D的一个或多个对象占用轨迹504D、对象106E的一个或多个对象占用轨迹504E之间的交叉点可以引起对象106D与车辆102之间的约束506H、车辆102和对象106D之间的约束506I、对象106E和车辆102之间的约束406J、车辆102和对象106E之间的约束506K、对象106C和车辆102之间的约束506L、车辆与对象106C和对象106B之间的约束506M、和/或对象106A和车辆102之间的约束506E。如图5C所示,约束506可以回溯到对车辆102和/或对象106的控制的约束。例如,箭头508G可以指示作为约束506L的结果的对象106C的控制。这些控制可能是不向右或向左转,以及可能是制动。类似地,箭头508H可以指示作为约束506H的结果的对象106D的控制。控制可能是不向右或向左转,以及可能是制动。作为约束506J的结果,箭头508I可以指示对象106E的控制。对象106E的控制可以是不向左转或向右转,以及可能是制动。作为约束506M、506K和506I的结果,箭头508J、508K和508L可以指示车辆102的控制。车辆102的控制可以是制动而不是向右转,尽管向左转动也是可以接受的。
当确定约束506时,可以确定(例如,参与者A的)一个或多个车辆占用轨迹和(例如,对象B的)一个或多个对象占用轨迹之间的最早交叉点。在一些示例中,这可以通过在时空(例如)中搜索最早的交叉点p(例如,在圆、边界框或用于一个或多个轨迹的一个或多个其他形状之间(例如,表示将安全程序的索取集投影到时空中))来确定,并然后对交叉点p执行差分分析。在这样的示例中,安全隐患ρAB可以根据以下等式(21)表示:
其中pt是交叉点p的时间坐标,并且分别是参与者A和B在他们应用安全程序时的停止时间,假设他们的安全程序集是单元素集合(singletons)。请注意,这个安全隐患定义中的k范数可以用任何范数代替,其中k≥1,包括最大范数(max-norm)。另外,还可以计算导数(例如,p相对于车辆状态的导数)。
被视为参与者状态的一个或多个轨迹的安全程序可以由参与者的被占用的集合定义上的、世界中参与者的点y(t)、以及从参与者到世界的旋转R(t)来表示。例如,假设参与者坐标系中的点z移动到世界点w(t)(例如,世界空间中的点),作为安全程序播放的时间的函数,如下面的等式(22):
关于参与者状态xA的变化的、世界点w的差分分析可以使人们理解一个或多个轨迹的表面如何在时空中由于状态的变化而移动。首先,时空中表面的形状不会改变,因为表面的形状可能取决于二阶导数。结果,如果已知参与者的一个或多个轨迹的时空表面的局部形状(例如,表示安全程序)(例如,表面法线或顶点曲线切线),并且世界点w关于参与者状态xA变化的导数,这是对表面如何运转进行差分分析可能需要的所有信息。结果,该信息可用于确定交叉点的变化。例如,可以根据下面的等式(23)和(24)来表示相对于参与者的状态xA的变化的、世界点的变化w(t),其中等式(24)可以表示等式(23)的具体化版本,如果y(t)和R(t)使用等式(25)-(29)定义:
y(t)=y+s(t)d (28)
R(t)=[d d] (29)
最早的交叉点可以是两个平滑表面之间、在参与者A的一个或多个轨迹的顶点和参与者B的一个或多个轨迹的平滑表面之间、或者在参与者B的一个或多个轨迹的顶点和参与者A的一个或多个轨迹的平滑表面之间的交叉点。在最早的交叉点p发生在两个平滑表面之间的示例中(例如,表面由两个随时间移动的圆圈扫过),该交叉点处的局部表面在可以通过平面近似为第一阶(例如,在时空中)。可以通过计算在交叉点p处相对于时间点t的世界点w的变化的导数,且将具有方向向量的交叉乘积用于同一点的平滑或者多边形形状的切线向量,来得到该平面(通过将其终点转换y(t)、R(t)并减去它们,可以得到多边形)。假设存在这样的到两个表面的局部平面的向量,与两个参与者有关。此外,假设向量已被归一化为单位幅度,使得结果是A、B。然后可以观察到,A表面的局部运动是通过相对于参与者的状态xA的变化的、世界点w的变化的导数来测量的。然后,A表面以返回到B表面的校正可以是的某个倍数q。两者的总和可以得到下面的等式(30)中的向量:
使用等式(31)的以下约束,如下:
可允许对于q求解,如等式(32),如下:
其然后可以得出:
在最早的交叉点p发生在由A表面的顶点扫过的曲线和B表面的平滑部分之间的示例中,能假设曲线的切线向量A(在下面的等式(34)中表示)和时空B表面的法向向量。
还可以假设向量被归一化为单位幅度。可以执行与这里描述的平滑到平滑情况相似的计算。A曲线的局部运动可以通过世界点w的变化相对于行动者状态xA的变化的导数来测量。沿着A曲线返回到B表面的校正可以是A的某一倍数q。两者之和可以是向量,如下面的等式(35)所示:
使用等式(36)的以下约束,如下:
可允许对于q求解,如等式(37),如下:
其然后可以得出:
在其中最早的交叉点p发生在A表面的平滑部分和由B表面的顶点扫过的曲线之间的示例中,可假设时空A表面的法向向量和曲线的切线向量B(在下面的等式(39)中表示)。
还可以假设向量被归一化为单位幅度。A表面的局部运动可以通过世界点w的变化相对于参与者状态xA的变化的导数来测量。沿B曲线的交叉点p的移动可由下面的等式(40)表示,如下:
其可以是B的某一倍数q。两者的减法可以在A表面的平面中,并由此与A正交,这可得到等式(41)和(42),如下:
然后可得到:
在一些示例中,为了确定采取哪个不同的控制选项(例如,有助于降低安全隐患的控制选项),控制分析器142可以分析控制选项(或控制动作)以确定要实现的控制选项。例如,一个或多个控制组件126可以将控制输出到一个或多个障碍物躲避组件128,并且安全隐患计算器140可以确定所述一个或多个控制不落入控制策略中(例如,通过降低针对安全程序的安全隐患,一个或多个控制对安全隐患没有贡献)。在这样的示例中,控制分析器142可以分析来自一个或多个控制组件126的一个或多个控制,并确定在允许的一个或多个控制内的不同控制(例如,降低针对安全程序的安全隐患、或至少不是安全隐患的净增加的控制)。在一些示例中,控制分析器142可以选择与来自一个或多个控制组件126的控制最接近的一个或多个控制(例如,期望的控制),其也满足一个或多个控制有助于降低或平衡安全隐患的需求。
为了实现这一点,控制分析器142可以执行扰动分析。扰动分析可以使用参与者的当前状态,并考虑鉴于当前状态的不同控制、以及不同控制可以如何有助于改变安全隐患。例如,鉴于约束506,如图5A-5C所示,控制分析器可以确定适合于车辆102(和/或对象106)的控制,其降低车辆102(和/或对象106)的安全隐患。例如,并参考图6A,当确定一个或多个对象占用轨迹604A与一个或多个车辆占用轨迹602B相交或重叠(例如,对应于安全程序)时,车辆102可以执行扰动分析。车辆102可以分析可能与安全程序的控制不同的任何数量的可能控制。例如,尽管这里仅描述和/或示出了有限数量的控制和由此产生的车辆占用轨迹,但是这不意欲是限制性的。例如,当确定期望和/或可接受的控制时,扰动分析可以考虑任何数量的可能控制和产生的车辆占用轨迹。
作为示例,车辆102可以分析与一个或多个车辆占用轨迹602A相关联的控制。可以允许一个或多个车辆占用轨迹602A,因为其包括向左转(例如,远离对象106)并且包括减速(例如,由相对于一个或多个车辆占用轨迹602B的一个或多个车辆占用轨迹602A的较短长度指示)。车辆102可以进一步分析与一个或多个车辆占用轨迹602C相关联的控制。可能不允许一个或多个车辆占用轨迹602C,因为其包括向右转(例如,朝向对象106),这可以增加对于安全程序的安全隐患。
作为另一个示例,并且参考图6B,当确定一个或多个对象占用轨迹604B与一个或多个车辆占用轨迹602E相交或重叠(例如,对应于安全程序)时,车辆102可以执行扰动分析。车辆102可以分析可能与安全程序的控制不同的任何数量的可能控制。例如,车辆102可以分析与一个或多个车辆占用轨迹602D相关联的控制。可以允许一个或多个车辆占用轨迹602D,因为其包括向左转(例如,远离对象106)并且包括减速(例如,由相对于一个或多个车辆占用轨迹602E的一个或多个车辆占用轨迹602D的较短长度指示)。车辆102可以进一步分析与一个或多个车辆占用轨迹602F相关联的控制。可以不允许一个或多个车辆占用轨迹602F,因为其包括向右转(例如,朝向对象106),这可以增加对于安全程序的安全隐患。
在一些示例中,为了构建安全隐患,可以依赖两个参与者(例如,参与者A和参与者B)的安全程序之间的交叉点的非负测量的变体。由于两个安全程序都得到应用,所以两个参与者的轨迹可能会结束(play out),这意味着当参与者通过索取集行进时,交叉点测量值对相同的索取集或其余任何内容起作用。由于索取集的剩裕度减少,所以典型的交叉点测量值可能不会增加。因此,如果自主车辆系统100能够获得交叉点的平滑测量值,则自主车辆系统100可以计算安全隐患。
在一些示例中,自主车辆系统100可以覆盖具有平滑函数的集合,并且可以平滑不可无限微分的函数。例如,可以利用根据各种技术中的任何技术的紧凑支撑可无限微分的冲击函数(bump functions)来生成覆盖函数。在这样的示例中,可以通过根据各种技术中的任何技术将其与这种冲击函数卷积来平滑函数,然后可以将该函数称为软化器(mollifier)。
在示例中,以下关系可以成立,对于任何∈>0和任何N的中的任何球,可能存在可无限微分的标量函数,其在球内是严格正的,在球的边界上为零,并且在球的外部为零。例如,下面的等式(44)可以表示以p为中心的球的函数h(x):
其中等式(44)可以是等式(45)的函数h(x)的移位和缩放,以下:
这是一个众所周知的冲击函数。该函数可以被移位和缩放以居中于空间中的任何点,并且具有任何半径。
在一些示例中,以下关系也可以成立,对于任何∈>0和任何N的中的任何集合,可以存在覆盖该集合(例如,索取集)的可无限微分的标量函数,并且对于比集合中的所有点更远离∈的任何点评估为零。对于有界集合,通过使用小于∈的直径的冲击函数来构造这样的函数可能是容易的。例如,首先可以为该集合确定边界球,然后可以通过小于∈的固定直径的冲击函数来确定该边界球的有限覆盖。然后,可以进行每个冲击函数的添加,其包括集合中的至少一个点。该函数可以清楚地覆盖该集合,并且还可以是无限可微的,因为该函数是无限可微函数的有限和。该函数也可以是零,否则球函数将包括集合中的点或更远离该集合的点∈两者,这将是矛盾的。对于无界集合,函数的定义可以通过球体的扩展序列来扩展,其中可以添加新的冲击函数以覆盖一个边界球体与下一个边界球体之间的附加集合。这可以带有一系列冲击函数,并且该函数可以被定义为冲击函数的(现在是无限序列)和。该函数在任何点上仍然可以很好地定义和无限可微,因为对于点的∈邻域,可能只有来自影响它的序列的冲击函数的有限集合。此外,该函数还可以覆盖集合中的任何点,并且作为对回落到有限情况的任何点的分析的结果,评估为零-远离(zero∈)该集合。
在一些示例中,可以使用在仅略微扩张的被占用集合之间存在交叉点的第一时间(例如,在索取集的时间片段中)与两个参与者完全停止的第一时间之间的时间间隔,当没有交叉点时,其可以是零。此函数可能是有界的、非负的,并且在不安全的集合上是严格为正。当没有交叉点时,该函数也可以保持恒定为零,当有一个交叉点时可以保持恒定直到交叉点为止,并且当有一个交叉点时可以在交叉点之后减少。因此,函数的平滑性可能是唯一需要确保的东西,当存在交叉点时和没有交叉点时可能已经是这种情况。在交叉点出现时的转换中,可以通过使用时间间隔的单调函数来处理它,该时间间隔使零附近的空间变平,就像冲击函数在其边界处那样。
在其他示例中,可以使用覆盖参与者的索取集的两个平滑函数(例如,可以根据如本文所述的冲击函数和/或软化器计算的)之间的点积。例如,当初始覆盖函数在索取集上接近恒定时,这可能导致覆盖函数之间的重叠体积的平滑版本。然后可以确定每个索取集的平滑覆盖方案(例如hA(CA(xA)),hB(CB(xB)))。然后可以根据下面的等式(41)表达输出(例如,关于两个参与者的安全隐患):
其中可以假定从当前时间到两个参与者完全停止的第一时间进行积分。因此,所得到的函数可以是平滑的、有界的、非负的,并且在不安全集合上严格为正。
例如,并参考图7A,可以使安全隐患平稳,以确保在交叉发生之前,安全隐患拒绝交叉。这可以通过使用平滑但紧密的冲击函数(例如,使用本文所述的技术)来完成,其可以在两个轨迹之间发生重叠之前上升(如冲击所示)。例如,车辆102可以具有一个或多个车辆占用轨迹732,其表示在时空中的车辆102的索取集(例如,安全力场)的投影。对象106可以具有一个或多个对象占用轨迹734,其表示对象106在时空中的索取集(例如,安全力场)的投影。车辆102和对象106可以彼此接近(例如,类似于图3D的,在此描述)。一个或多个冲击函数可以用于车辆102和/或用于对象106以生成用于车辆102的一个或多个车辆占用轨迹的凸起区域736(或冲击)和用于对象106的一个或多个对象占用轨迹的凸起区域738(或冲击)。因此,凸起区域736和738可以用于在交叉发生之前拒绝交叉(例如,因为凸起区域736和738可以用作分别用于轨迹732和734的缓冲器)。图7A中的重叠区域740可以表示图7的场景中的安全隐患(例如,其中车辆102和对象106彼此接近并且它们的轨迹732和734即将重叠的情况)。在这种情况下,一旦凸起区域736和738开始重叠,这可能在轨迹732和734重叠之前,安全程序和/或另一个或多个控制选项,如本文更详细描述的,可以被执行。结果,在一些示例中,即使在交叉发生之前,也可以使用冲击函数来拒绝(例如,排斥)轨迹732和734的交叉。
当查看不同控制如何影响安全隐患的变化时(例如,通过参与者的状态),可以确定每个不同控制选项的安全隐患。如本文所述,链规则说明安全隐患如何不能增加,只要车辆102和其他一个或多个参与者在降低安全隐患方面总是与其各自的安全程序一样好。对于控制包括横向变化(例如,左转或右转)或纵向变化(例如,加速或减速)的车辆,可以使用控制图像来使得作为安全驾驶策略的结果的可接受控制选项可视化(例如,针对安全程序的安全隐患决不增加安全隐患的那个)。
例如,并参考图7B,控制图像706(或控制约束图像706)可以表示与安全程序相关联的可接受的控制选项708、不可接受的控制选项710和/或安全程序控制选项712(可以包括在可接受的控制选项708内,如本文所述)。控制图像706可以是二进制图像,使得与可接受的控制选项708相关联的像素由第一颜色表示,与不可接受的控制选项710相关联的像素由第二颜色表示,并且在一些示例中,与第二安全程序控制选项712相关联的像素可以表示为第三颜色(尽管在其他示例中,安全程序控制选项712可以表示为第一颜色中的可接受控制选项708)。控制图像706的x轴可以对应于车辆的横向控制(例如,向左转、直线驾驶或向右转),并且可以由转向角表示。控制图像706的y轴可以对应于纵向控制(例如,制动、减速、或加速)。
在一些示例中,例如在单个分布图(例如,如本文所述的制动分布图、转向分布图等)定义安全程序并因此定义索取集的情况下,安全程序控制选项712可由任一时间点的单个像素表示。然而,在其他示例中,诸如图7B中所示的示例,其中多个分布图(例如,如本文所述的制动分布图、转向分布图等)定义安全程序并因此定义索取集,安全程序控制选项712可由任何时间点的任何数量的像素表示。
图7B中的车辆102和对象106可以类似于图6B中的车辆102和对象106(例如,对象106可以合并到车辆102中,使得它们各自的轨迹的至少一部分重叠)。图7B的控制图像706可以表示作为对象106变成或合并到车辆102中的结果的、车辆102的控制选项,使得车辆102的车辆占用轨迹702中的至少一个与对象106的对象占用轨迹704中的至少一个交叉(例如,如图6B所示)。车辆占用轨迹702A、702B和702C可以是由扰动分析确定的不同控制的结果,并且控制图像706的可接受控制选项708、不可接受控制选项710和安全程序控制选项712可以基于扰动分析来更新。对象占用轨迹704A、704B和704C可以是由对象106的扰动分析确定的不同控制的结果,并且在一些示例中,对象106可以生成和/或使用其自己的控制图像。
在任何示例中,可接受的控制选项708可以是与安全程序控制选项712具有相同或更小的安全隐患的控制选项。例如,车辆102可以实现安全程序控制选项712和/或可以实现具有与安全程序控制选项712相同或更小的安全隐患的控制选项(例如,可接受的控制选项708)。例如,如果与安全程序相关联的安全隐患为零(例如,指示将不发生碰撞),则每个可接受的控制选项708和/或安全程序控制选项712可以具有零的关联安全隐患。作为另一示例,如果与安全程序相关联的安全隐患大于零(例如,指示可能发生碰撞),则每个可接受的控制选项708和/或安全程序控制选项712可具有等于或小于与安全程序关联的安全隐患的关联安全隐患(例如,可接受的控制选项708可包括安全隐患大于零的控制选项,例如在不可避免的情况下)。
然而,如图7B所示,即使在安全隐患大于零的情况下(例如,指示可能发生碰撞),车辆102也可以使用扰动分析(例如,使用链规则),来确定可接受的控制选项708。如这里使用的,链规则可以将车辆102的控制与车辆102的状态随时间的变化链接,并且反过来,车辆102的状态的变化可以与安全隐患的变化链接。
在一些示例中,例如在车辆102的期望控制(例如,来自车辆102的一个或多个控制组件126)可能导致大于零的安全隐患的情况下,可以执行扰动分析以更新控制图像706,以确定可接受的控制选项718(例如,安全隐患为零的控制选项),其尽可能接近期望的控制选项(例如,在合理的限值内,例如纳入安全裕度)。例如,关于图7B,假设期望的控制选项是向右转并减速(例如,如在控制图像706的点或像素714处的不可接受的控制选项710所表示的),用于得到与期望控制选项的阈值关系(例如,控制图像706上的接近度)内的可接受控制选项708的、基于扰动分析和/或基于一个或更多个规则确定的控制选项可以是保持直线和减速(例如,如在控制图像706的点或像素716处的可接受控制选项708所表示的)。
在一些示例中,阈值关系可以是与期望控制选项实际最接近的可接受控制选项708(例如,其中点或像素716将在可接受控制选项708与不可接受控制选项710之间的边界718上或几乎在其上,例如点或像素720)。在其他示例中,例如图7B所示,阈值关系可以是纳入一个或更多个附加标准中的与期望控制选项最接近的可接受控制选项708。例如,可以使用安全裕度,使得表示与期望控制选项最接近的可接受控制选项708的点或像素包括控制图像706内的至少一些附加距离(例如,关于图7B,这可以包括附加向左转或附加制动)。作为另一示例,可以纳入安全程序控制选项712,使得所选择的可接受控制选项708可以朝向安全程序控制选项712加权(例如,如图7B的点或像素722所示)。
在任何示例中,并且如本文所述,当安全隐患大于零时(例如,指示碰撞可能和/或紧迫),可以预期每个参与者(例如,图7B的车辆102和对象106)有助于降低安全隐患。在这个原则中存在这样的想法,即,每个参与者应该至少与他们各自的安全程序一样好。图7B的成本函数724示出了车辆102和对象106对降低安全隐患726的贡献(例如,针对成本函数724,如箭头728所示使安全隐患下降)。除了当对象106实现对于可接受控制选项也是优选的相应控制(现在示出)时、对象106对降低安全隐患726的贡献之外(尽管其他参与者在车辆102的控制之外并且因此可能是不可预测的),箭头728可表示在车辆102实现控制时(例如,可接受的控制选项708)车辆102对降低安全隐患726的贡献。
如本文所述,可以确定每个参与者是否对相对于彼此提高或降低安全隐患有贡献以及贡献多少的量化(例如,确定故障)。结果,当发生碰撞时,故障可能归因于一个或更多个参与者。作为一般规则,当一个参与者相对于另一个参与者有助于提高安全隐患时,可以确定该参与者相对于所述另一个参与者表现得很差。这样,对于两个参与者发生碰撞,至少一个参与者必须有助于将安全隐患提高到零以上。这可以清楚地可视化,因为参与者的轨迹(例如,代表参与者的索取集)可以至少部分地交叉,从而产生不安全的集合。如本文所使用的,故障间隔可以是在参与者A和参与者B之间的碰撞之前的不间断时间间隔,其中安全隐患ρAB严格为正。使用故障间隔,当参与者A在故障间隔中的任何时间处于不合理状态(例如)时,故障可以归因于例如参与者A。当参与者B处于合理状态时,当参与者A在故障间隔中的任何时间相对于参与者B表现不佳时,参与者A也可能有错。如本文所述,运行安全控制策略的参与者可能不对碰撞有责任,因为具有安全控制策略的参与者可能不处于不合理状态,只要它们在安全控制策略内操作即可。
本系统100的另一个考虑因素是屈服和通行权。屈服和通行权可以由与障碍物躲避层分开(例如,在其上方)的另一层来处理。自主车辆系统100可以在相信不给予通行权的情况下操作。如果安全力场(例如,代表两个或更多个参与者的索取集的轨迹)指示由于基本障碍物躲避而存在约束,则每个参与者必须对其采取行动,而没有例外或警告(caveats)。如果另一个参与者未能让路,则车辆102不能尝试并采取通行权。
这源于常识和在安全层中分离的期望。例如,就常识来说,如果你即将撞到已经明显无法屈服的人身上,你宁可紧急制动以最大限度地减少伤害而不是坚持你的优先权。作为另一示例,关于安全层的分离,可能优选的是,在关键情况下不具有原始障碍物躲避安全性,使得基于相关事物的复杂判断的原始障碍物躲避安全性面临被无效的风险,相关事物的复杂判断诸如优先级、交通规则、存在分界实线及其在不同司法管辖区的含义、交通标志“星期四下午4-6点之间禁止掉头”、和/或甚至是交通信号灯的状态。碰撞风险就是碰撞风险,无论谁是正确的,并因此可能期望具有单独验证的系统来处理基本的障碍物躲避。这种思路可能类似于不具有取决于交通标志、信号灯感知和/或地图的紧急制动系统的期望。
示例性场景可以是当交叉路口如此拥挤以至于当信号灯为绿色时进入交叉路口的车辆或其他对象可能最终卡在交叉路口中,使得它们处于现在具有绿灯的交叉交通的路径中。虽然这可能是他们应该预料到的,但在实践中避免这种场景可能并不总是容易或遵循。在这样的示例中,车辆或其他对象可能不会直线朝向卡在交叉路口中的车辆行进。这种情况也可能由于许多其他原因而出现,例如,故障车辆、先前碰撞、道路工程或醉酒驾驶员。
仅安全力场可能不会迫使参与者恰当地屈服。例如,可能遵守安全力场,并且仍然不能根据道路的规则和惯例正确地屈服。在这样的示例中,车辆可以进入交叉路口并且停止,之后车辆可以遵守安全力场的约束(例如,因为总是允许静坐)。然而,这可能无法防止车辆延误或以其他方式打扰交叉交通和/或违反交通规则。这个示例是想要将核心障碍物躲避与交通规则的长尾分开的必要结果。例如,如果核心障碍物躲避层要求遵守所有交通规则,则规则将被全部拉入障碍物躲避层,这可能是非常不希望的,如本文所述。
在由于道路规则车辆不应该屈服的情况下,未能屈服的车辆可能不会引起交叉交通所经历的安全力场约束。这导致了屈服的示例定义。从某种意义上说,屈服可能会让位,因为其他参与者不能采取通行权。屈服于另一个参与者可能会以这样一种方式行事,即不对该参与者施加约束,并通过给予足够的裕度使该参与者明白车辆不会引起约束。
例如,如果车辆已经清除(例如,利用大的裕度)引起对另一个参与者的安全力场约束,则车辆可以横穿具有交叉交通的交叉路口或执行未受保护的左转弯。然而,如果车辆在首先行驶时没有足够大的裕度,则车辆可能必须留下并等待,直到形成足够清楚的裕度,使得车辆不会使得穿越或迎面而来的交通担心车辆可能不会屈服。
通行权可能决定谁应该屈服。在一些示例中,通行权的确定可能需要等待感知的全部范围(交通信号灯、交通标志、停车线、屈服线),例如通过等待感知器114。通行权可包括分析谁首先停止在多路车站、谁正在从右侧靠近、理解因国家和地区而变化的规则、和/或检测规则适用的情况。在一些示例中,除了可以提供这样的规则并且允许车辆像本地人一样敏锐地理解本地规则和惯例的训练数据之外,或者替代地,也可以使用地图信息。
屈服可能更难以像障碍物躲避一样精确地导航。例如,当左转进入具有交叉交通的T型交叉口时,如果车辆要屈服,则车辆不应对交叉路口施加约束。然而,在转弯之后,车辆可能面对停止的车辆,并因此导致追逐交通最终经历来自那里的车辆的约束。在这个过程中的某个时刻,车辆屈服的责任变成了常识,即如果车辆在前方,则其他交通的责任是放慢速度。安全力场可以明显地约束车辆102执行危险调遣(例如,当存在另一车辆或对象时,切断(cutting into)交通),但是在本公开的范围内的屈服可以超越该范围,并且甚至避免引起对其他交通的约束。
在一些情况下,自主车辆系统100可能包括一些不确定性和错误。为了处理不确定性,可以为计算安全力场的约束(例如,表示索取集的一个或多个轨迹)所需的所有度量提供置信区间,例如形状、位置(包括距离)、速度、和/或加速度。这些计算可以在置信区间的边缘处执行(例如在形状和与最近点的距离、以及朝向车辆102的最高速度的扩张之后)。另一方面,错误(例如,错误检测、检测失败、置信区间之外的情况、或者参与者类型的错误分类)可以由冗余感知系统处理。例如,最新的融合形式可以是计算两个或更多个冗余感知系统(例如,三个冗余感知系统)中的每一个的安全力场约束,并且允许运行大多数感知系统所接受的控制选项。
现在参考图8,这里描述的方法800的每个块包括可以使用硬件、固件和/或软件的任何组合来执行的计算处理。例如,各种功能可以由运行存储在存储器中的指令的处理器执行。该方法还可以体现为存储在计算机存储介质上的计算机可用指令。这些方法可以由单机应用、服务或托管服务(单机或与另一托管服务组合)、或另一产品的插件提供,仅举几个示例。另外,作为示例,关于图1的自主车辆系统100描述了方法800。然而,这些方法可以附加地或替代地由任何一个系统或系统的任何组合运行,包括但不限于这里描述的那些。
图8是示出根据本公开的一些实施例的用于障碍物躲避的方法800的流程图。在块B802,方法800包括确定点的当前索取集。例如,索取集确定器136可以确定由车辆102占用的点的当前索取集。为了确定点的当前索取集,可以由状态确定器132确定车辆102的状态。
方法800在块B804包括产生一个或更多个车辆占用轨迹。例如,轨迹生成器138可以生成一个或多个车辆占用轨迹。为了生成一个或多个车辆占用轨迹,安全程序可以由安全程序确定器134确定(例如,考虑到当前环境、速度、对象106等)。
方法800在块B806处包括检测一个或多个车辆占用轨迹和一个或多个对象占用轨迹之间的交叉点。例如,安全隐患计算器140可以确定一个或多个车辆占用轨迹与环境中的对象106的一个或多个对象占用轨迹之间的交叉点。
方法800在块B808包括计算安全隐患。例如,安全隐患计算器140可以计算表示交叉点的安全隐患。
方法800在块B810包括运行安全程序或替代程序之一。例如,车辆102可以实现安全程序或替代程序。如本文所述,在一些示例中,安全程序可以始终是允许的选项(例如,在可接受的控制选项内)。然而,在一些示例中(例如,基于扰动分析),和与安全程序不同的程序相关联的安全隐患可以代表车辆与对象之间较低的计算的碰撞可能性。在这样的示例中,控制分析器142可以分析与备选程序相关联的控制选项,并确定允许运行与一个或多个备选程序相关联的控制。
可视化
为了使车辆占用轨迹和对象占用轨迹可视化,可以在显示器上相对于彼此渲染轨迹。然而,以这种方式在2D屏幕上观看轨迹、而没有任何调整或变换、可能使得难以理解对象占用轨迹与车辆轨迹的可能交叉点(例如,即使在不存在指示碰撞的3D时空中的实际重叠时,轨迹可能开始看起来合并和重叠)。
为了解决这个问题,本公开包括可视化技术,其产生可以更容易理解的图形表示,并且相对于车辆占用轨迹使得对象占用轨迹可视化(例如,对象在时空中的移动)。为了做到这一点,系统可以对于每个时间片段(例如,对于系统使用的每个时间片段、或每个离散时间步长)确定相对于第一时间片段(例如,当前时间)的车辆的地点和取向的变化。然后,系统可以根据地点和取向的变化将变换(例如,仿射变换)应用于第一时间片段之后的每个时间片段的车辆占用轨迹,以便在视觉上抵消(至少沿着一个或多个移动轴)随着时间的推移的车辆占用轨迹的变化。系统还可以基于车辆的地点和取向的变化将相同的变换应用于第一时间片段之后的每个时间片段的对象占用轨迹,以便渲染与现在(基本上)静态的车辆占用轨迹相关的对象占用轨迹。
结果,车辆可能看起来是静止的,而对象可能看起来相对于车辆移动。在一个示例中,当车辆接近其前方的较慢对象时,对象可能看起来在可视化中朝向车辆移动。结果,对象看起来向后移动(即使它实际上向前移动),因为对象的速度比车辆的速度慢。作为另一示例,当车辆向左转朝向直线行驶(例如,不转弯)的对象时,对象可能看起来在可视化中朝向车辆移动(即使车辆实际上朝向对象移动)。使用这些处理,可以更清楚地可视化车辆占用轨迹和对象占用轨迹之间的交叉点(例如,可以更清楚地可视化车辆周围的未来空间),从而生成更有用的可视化用于准确性检查、系统评估等。在一些示例中,可视化可以被投影到由车辆的一个或更多个相机捕获的图像或视频中(例如,投影在一个或多个图像内)。
现在参考图9A,图9A示出了车辆102(例如,作为多边形或一组线段)和两个对象-对象106A和对象106B(例如,作为多边形或一组线段)的表示,因为车辆102和对象106A和106B在多个时间片段902中的每一个上实现它们各自的安全程序。这样,当参与者实现其各自的安全程序(例如,车辆占用轨迹和对象占用轨迹的可视化)时,所述表示可以是车辆102、对象106A和对象106B的索取集。例如,时间片段902A可以对应于当前时间,时间片段902B可以对应于沿着安全程序的某处的时间,并且时间片段902C可以对应于与车辆102、对象10BA或对象106B对应的至少一个安全程序的结束时间(例如,其中车辆102、对象102A和/或对象102B达到完全停止、完成它们各自的安全程序、和/或达到其参与者状态目标,如本文所描述的)。在其他示例中,时间片段902C可以不表示结束时间,而是可以表示将在可视化中渲染的定义的或预定数量的时间片段902中的最后时间片段902。
尽管图9A的图示仅包括三个参与者,但是这不意欲是限制性的并且仅为了清楚起见。然而,在真实世界的环境中,例如在高速公路上,可能存在任何数量的参与者。随着越来越多的参与者被添加到环境中,图9A的可视化可能变得过度拥挤,并且如果不是不现实的话,相对于对象占用轨迹清楚地可视化车辆占用轨迹可能变得日益困难。例如,即使当车辆占用轨迹和对象占用轨迹之间不会发生交叉或重叠时,也可能看上去似乎存在交叉或重叠。然而,可视化的目标可以是通过确定他们索取集是否重叠来确定参与者可能的未来碰撞,因此当他们不存在时,感知的重叠可能不是理想的。图9A中的可视化可以被称为轨迹的绝对视图,并且尽管可以在一些示例中使用,但是在某些环境中可能不如相对视图(在此更详细地描述)那样优选。
参考图9B,图9B示出了车辆102(例如,作为多边形或一组线段)和两个对象-对象106A和对象106B(例如,作为多边形或一组线段)的表示,因为车辆102和对象106A和106B在多个时间片段902中的每一个上实现它们各自的安全程序。然而,在每个时间片段902处,车辆102可以具有应用于将车辆102移回其原始位置和/或取向的变换(例如,回到其在时间片段902A处的原始位置)。这样,对于每个时间片段902,可以应用不同的变换,因为车辆102在时间片段902内的每个时间片段902处可能已经移动到新地点和/或处于新的取向。结果,在时间片段902B中,可以应用变换,使得在时间片段902B处的车辆102的地点和/或取向与在时间片段902A处的车辆102的地点和/或取向相同。然而,可以应用不同的变换,使得车辆在时间片段902C处的地点和/或取向与在时间片段902A处的车辆102的地点和/或取向相同(例如,与使车辆从其在时间片段902B处的地点和/或方向返回时相比,使车辆102从其在时间片段902C处的地点和/或取向返回(到时间片段902A处的地点和/或取向),地点和/或取向的不同值可能是必需的)。
一旦在每个时间片段902处确定了车辆102的变换,就可以将相同的变换应用于环境中的每个对象106(例如,图9B中的对象106A和对象106B),以便创建每个对象106如何在环境中相对于车辆102移动的可视化(例如,因为车辆102可能作为变换的结果而静止)。例如,针对车辆102的时间片段902B所确定的变换可以在时间片段902B处应用于对象106A和对象106B。对于每个时间片段902并且对于环境中的每个参与者,该处理可以继续。通过将为车辆102确定的变换应用于其他参与者,可视化可以提供车辆占用轨迹与环境中的对象占用轨迹之间的重叠的更清楚的描绘。
在一些示例中,该变换可以是仿射变换。在这样的示例中,可以应用仿射变换作为时间的函数(例如,在整个场景或环境上)以使车辆102返回到其起始地点和/或取向(例如,在时间片段902A处),并且基于对车辆102的变换来变换、调整或扭曲(warp)其他参与者。在一些示例中,仿射变换可以由下面的等式(42)表示:
作为将变换应用于车辆102、对象106A和对象106B的结果,对象106A和106B可以看起来相对于车辆102移动。由此,图9B的可视化可以被称为相对视图。作为示例,对象106B可以朝向和/或在与车辆102相同的方向上移动。结果,在图9A的绝对视图中,对象106B可以表示为在相同方向上和/或朝向车辆102移动。然而,在图9B的相对视图中,对象106B看起来好像正在远离车辆102移动。这可能是因为尽管对象106B在与车辆102相同或相似的方向上移动,但对象106B比车辆102行驶得慢,并且因此,对象106B朝向车辆102移动,但速度比车辆102慢,从而增加了车辆102与对象106B之间的空间。作为另一示例,对象106A可以按照与车辆102类似的方向和类似的速度移动,并且因此在图9B的相对视图中,可以看起来相对于车辆102是静止的。因此,图9B的相对图提供了车辆占用轨迹和对象占用轨迹的更清晰的可视化,并且使得在视觉上标识它们之间的交叉或重叠更容易。
图9B的可视化包括每个参与者的时间片段902的三维可视化(例如,时间作为单独的轴)。然而,这不意欲是限制性的。例如,代替将每个时间片段902包括为单独的形状,轨迹可以是一个单一形状(例如,延伸通过所有时间片段902而没有任何中断或描绘(delineation)的多边形),或者可以被多个时间片段902分解,和/或基于其他标准。另外,可视化可以替代地是二维而不是三维。在一些示例中,不同的轨迹可以是不同的颜色,或者可以由不同的形状表示,或者每个时间片段902或各个轨迹的其他片段可以是不同的颜色或不同的阴影或分辨率(例如,轨迹和/或轨迹的不同片段可能会在未来进一步淡出,反之亦然)。
在一些示例中,例如关于图9C和9D的可视化,轨迹和/或时间片段902可以被投射回到由车辆102生成的图像的图像平面中。在这样的示例中,可以不在一个或多个图像中渲染车辆102的车辆占用轨迹,因为车辆102是静止的,因此车辆102的边界可能不会移动或阻碍任何东西。这些轨迹可以以二维或三维投影。
例如,在图9C中,可以在车辆102前面(并且在图9A和9B的可视化中未示出)的对象106C和对象106D可以具有在图9C的图像内渲染的它们各自的对象占用轨迹。由于它们可能由上述变换产生,因此对象占用轨迹相对于车辆102移动,因此允许相对于车辆的对象占用轨迹的更容易的可视化。例如,对象106C的对象占用轨迹可以指示对象106C以与车辆102基本相同的速度移动,并且对象106D的对象占用轨迹可以指示对象106C正按照比车辆快的速度移动。图像可能已经被车辆102上的面朝前面的传感器捕获。
作为另一示例,在图9D中,对象106C和对象106D可以在车辆102的前方,类似于上述图9C,但是对象106D可相对于车辆102减速(或者车辆102可相对于对象106D加速)。结果,即使对象106D可以正在与车辆102相同的方向上行驶,对象106D也可以包括朝向车辆102延伸的对象占用轨迹。
作为另一示例,在图9E中,可以在车辆102后面的对象106A和对象106B可以具有在图9E的图像内渲染的它们各自的对象占用轨迹。由于它们可能由上述变换产生,因此对象占用轨迹相对于车辆102移动,因此允许相对于车辆的对象占用轨迹的更容易的可视化。图像可能已经被车辆102的面朝后方的传感器捕获。
尽管图9C、9D和9E中分别示出了前视图和后视图,但是这不意欲是限制性的。例如,可以为车辆102的任何传感器(例如,面朝前面、面朝后面、面朝侧面等的相机)生成类似的图像。在一些示例中,图9A-9E的可视化可以伴随有控制图像,例如图7B的控制图像706。在这样的示例中,控制图像可以示出可接受的控制选项,其可以通过图9A-9E的可视化作为参考而更好地理解。
在一些示例中,例如在生成车辆占用轨迹和/或对象占用轨迹(例如,如本文所述)时考虑等待时间、安全裕度、反应时间和/或其他因素的情况下,可以考虑多个潜在的未来轨迹。例如,由于感知中的噪声或延迟,在车辆102预测碰撞和实际实现命令之间可能存在时间间隙。此外,在高速时,参与者之间可能期望一些附加空间。此外,一个或多个对象106可以被分配反应时间以实现它们各自的程序(例如,安全程序)。结果,并且因为任何参与者可以具有他们可以采用的多于一个的单一路径或轨迹,所以系统可以分析多于一个可能的轨迹(例如,它们中的所有),并且将其包括在可视化中。在这样的示例中,来自一个或更多个可能轨迹中的每一个的所有索取集可以被包括在跨越所有它们的近似值中(例如,可以随时间扩展的周围边界的凸包或方向计算,例如由于安全裕度)。在计算凸包的示例中,可以近似凸包,例如通过计算并在用于安全程序的控制选项的极端选择之间内插(例如,与最大和最小转向和/或制动相关联的控制)。这样,可以计算控制选项的极端选择,并且可以使用极端选择来内插剩余的控制选项。
作为另一示例,在一些场景中感知的运动可能不足以预测未来的碰撞。在高速时或交叉点处,参与者可能遵循特定路径(例如,U形转弯、转弯路径、遵循高速公路车道的方向等)。可以随时间学习该信息(例如,使用一个或更多个机器学习模型,例如神经网络)。为了解释这一点,在一些示例中,可以假设参与者自身对齐,然后平行于车道结构移动(例如,基于地图信息和/或车道边界或已知轨迹集合的感知)。如果没有这些假设、在高速时、或者具有加入到当前车道的附加车道,小的感知错误可能会传播到许多错误的碰撞检测中。通过使用车道结构作为汽车沿着道路结构的方向行驶的隐含协议,这可以允许安全力场在这些各种场景中使能车辆102的合理操作。例如,即使在诸如迎面而来的车辆正在合并车道、并且因此他们的安全力场在合并期间投射到车辆102的安全力场中的情况下,车道结构(例如,指示迎面而来的车辆可能会与另一车道合并,并根据车道结构前进)可以允许车辆102继续畅通(例如,不实现安全程序以考虑迎面而来的车辆)。
现在参考图10,这里描述的方法1000的每个块包括可以使用硬件、固件和/或软件的任何组合来执行的计算处理。例如,各种功能可以由运行存储在存储器中的指令的处理器执行。该方法还可以实施为存储在计算机存储介质上的计算机可用指令。这些方法可以由单机应用、服务或托管服务(单机或与另一托管服务组合)、或另一产品的插件提供,仅举几个示例。另外,作为示例,关于图1的自主车辆系统100描述了方法1000。然而,这些方法可以附加地或替代地由任何一个系统或系统的任何组合运行,包括但不限于这里描述的那些。
图10是示出根据本公开的一些实施例的用于轨迹可视化技术的方法1000的流程图。方法1000,在块B1002,包括确定在多个时间片段的每一个中用于车辆的点的第一索取集。例如,索取集确定器136可以为每个时间片段(例如,时间片段902)确定车辆102的点的第一索取集(例如,代表车辆的安全程序的执行)。第一索取集的确定可以基于当前时间的车辆的地点、速率、取向和/或其他状态信息。在一些示例中,如本文所述,第一索取集可以包括安全程序的多种可能的实现方式(例如,不同的制动分布图、转向分布图等)。
方法1000,在块B1004,包括确定在多个时间片段的每一个中用于对象的点的第二索取集。例如,索取集确定器136可以为每个时间片段(例如,时间片段902)确定对象106的点的第二索取集(例如,代表对象的安全程序的执行)。第二索取集的确定可以基于当前时间的对象的地点、速率、取向和/或其他状态信息。在一些示例中,如本文所述,第二索取集可以包括安全程序的多种可能的实现方式(例如,不同的制动分布图、转向分布图等)。
方法1000,在块B1006,包括计算在多个时间片段中的每一个中的、车辆的地点和取向的变化。例如,可以在每个时间片段处将变换应用于车辆102的地点和/或取向。可以应用变换(例如,仿射变换)以获得与回到原始或当前时间片段的地点和/或取向的每个未来时间片段相关联的地点和/或取向。
方法1000,在块B1008,包括根据车辆的地点和取向的变化将仿射变换应用于第二索取集中的每一个。例如,在块B1008中应用于车辆102的相同变换可以应用于对象的点的索取集。结果,可以在每个时间片段处,将每个时间片段处的车辆102的地点和/或取向的改变的确定应用于对象106。
方法1000在块B1010处包括生成可视化。例如,可以生成可视化,其可以包括考虑到车辆占用轨迹的对象占用轨迹的表示。在一些示例中,诸如图9A-9B的可视化,车辆占用轨迹也可以包括在可视化中。在其他示例中,例如在图9C-9D的可视化中,车辆占用轨迹可以不包括在可视化中。
尽管这里关于车辆102和环境中的对象106(或更一般地,关于驾驶描述)描述了可视化技术,但是这不意欲是限制性的。例如,这些技术可以用于存在移动和/或静态对象的任何场面或场景,并且至少一个对象将与至少一个其他对象区分开。例如,这些可视化技术可以用在计算机游戏、机器人、虚拟现实、物理仿真和/或其他技术领域中。
示例自主车辆
图11A是根据本公开的一些实施例的示例性自主车辆102的图示。自主车辆102(在本文中可选地称为“车辆102”)可包括乘客车辆,例如汽车、卡车、公共汽车和/或容纳一个或多个乘客的其他类型的车辆。自主车辆通常根据自动化级别进行描述,由国家公路交通安全管理局(NHTSA),美国交通部的部门,和汽车工程师协会(SAE)定义,“Taxonomy andDefinitions for Terms Related to Driving Automation Systems for On-Road MotorVehicles”(标准号J3016-201806,发布于2018年6月15日,标准号J3016-201609,发布于2016年9月30日,以及该标准的先前和将来版本)。车辆102可以具有根据自主驾驶级别的级别3至级别5中的一个或多个的功能。例如,车辆102可以具有条件自动化(级别3)、高自动化(级别4)和/或完全自动化(级别5),这取决于实施例。
车辆102可包括诸如底盘、车身、车轮(例如,2、4、6、8、18等)、轮胎、车轴和车辆的其他组件的组件。车辆102可包括推进系统1150,例如内燃发动机、混合动力发电装置、全电动发动机和/或其他推进系统类型。推进系统1150可以连接到车辆102的传动系,其可以包括变速器,以实现车辆102的推进。推进系统1150可以响应于接收来自节流阀/加速器1152的信号而被控制。
当推进系统1150运行时(例如,当车辆运动时),可以使用可以包括方向盘的转向系统1154来使车辆102转向(例如,沿着期望的路径或路线)。转向系统1154可以从转向致动器1156接收信号。方向盘可以是可选的,用于完全自动化(等级5)功能。
制动传感器系统1146可用于响应于从制动致动器1148和/或制动传感器接收信号,而操作车辆制动器。
一个或多个控制器1136(其可包括一个或更多个片上系统(SoC)1104(图11C)和/或一个或多个GPU)可向车辆102的一个或多个组件和/或系统提供信号(例如,代表命令)。例如,一个或多个控制器可以发送信号以通过一个或多个制动致动器1148操作车辆制动器,通过一个或多个转向致动器1156操作转向系统1154,经由一个或多个节流阀/加速器1152操作推进系统1150。一个或多个控制器1136可包括处理传感器信号的一个或多个机载(例如,集成)计算装置(例如,超级计算机),并输出操作命令(例如,表示命令的信号)以使能自主驾驶和/或帮助人工驾驶员驾驶车辆102。一个或多个控制器1136可包括用于自主驾驶功能的第一控制器1136、用于功能性安全功能的第二控制器1136、用于人工智能功能(例如,计算机视觉)的第三控制器1136、用于娱乐信息节目功能的第四控制器1136、用于在紧急情况下冗余的第五控制器1136、和/或其他控制器。在一些示例中,单个控制器1136可以处理两个或更多上述功能,两个或更多个控制器1136可以处理单个功能,和/或其任何组合。
一个或多个控制器1136可以响应于从一个或多个传感器(例如,传感器输入)接收的传感器数据,提供用于控制车辆102的一个或多个组件和/或系统的信号。传感器数据可以从以下接收,例如但不限于一个或多个全球导航卫星系统传感器1158(例如,全球定位系统传感器)、一个或多个雷达传感器1160、一个或多个超声波传感器1162、一个或多个激光雷达传感器1164、一个或多个惯性测量单元(IMU)传感器1166(例如,一个或多个加速计、一个或多个陀螺仪、一个或多个磁罗盘、一个或多个磁力计等)、一个或多个麦克风1196、一个或多个立体相机1168、宽视场相机1170(例如,鱼眼相机)、一个或多个红外相机1172、一个或多个环绕相机1174(例如,360度相机)、一个或多个远程和/或中程相机1198、一个或多个速度传感器1144(例如,用于测量车辆102的速度)、一个或多个振动传感器1142、一个或多个转向传感器1140、一个或多个制动传感器(例如,作为制动传感器系统1146的一部分)、和/或其他传感器类型。
一个或更多个控制器1136可以从车辆102的仪表组1132接收输入(例如,由输入数据表示)并且经由人机界面(HMI)显示器1134、听觉信号器、扬声器和/或经由车辆102的其他组件提供输出(例如,由输出数据,显示数据等表示)。输出可包括信息,诸如车辆速度、速率、时间、地图数据(例如,图11C的HD地图1122)、地点数据(例如,车辆102的地点,例如在地图上)、方向、其他车辆的地点(例如,占用网格)、关于对象的信息和一个或多个控制器1136感知的对象的状态等。例如,HMI显示器1134可以显示关于一个或多个对象的存在的信息(例如,路牌、警告标志、交通信号灯改变等)和/或关于车辆已经进行、正进行、或将要进行的驾驶调遣的信息(例如,现在改变车道、进入两英里后的出口34B等)。
车辆102还包括网络接口1124,其可以使用一个或更多个无线天线1126和/或一个或多个调制解调器,以通过一个或更多个网络进行通信。例如,网络接口1124可以能够通过LTE、WCDMA、UMTS、GSM、CDMA2000等进行通信。一个或多个无线天线1126还可以使能使用局域网(如蓝牙、蓝牙LE、Z-Wave、ZigBee等)和/或一个或多个低功率广域网(LPWAN)(如LoRaWAN、SigFox等)、在环境中的对象之间的通信(例如,车辆,移动装置等)。
图11B是根据本公开的一些实施例的图11 A的示例性自主车辆102的相机地点和视野的示例。相机和相应的视野是一个示例实施例,并不意欲是限制性的。例如,可以包括附加和/或替代相机和/或相机可以位于车辆102上的不同地点。
用于相机的相机类型可以包括但不限于可以适用于车辆102的组件和/或系统的数字相机。一个或多个相机可以在汽车安全完整性等级(ASIL)B和/或另一个ASIL下操作。取决于实施例,相机类型可以具有任何图像捕获率,诸如60帧/秒(fps)、1120fps、240fps等。相机可能能够使用卷帘快门、全局快门、其他类型的快门或其组合。在一些示例中,滤色片阵列可以包括红色清晰清晰清晰(RCCC)滤色片阵列、红色清晰清晰蓝色(RCCB)滤色片阵列、红色蓝色绿色清晰(RBGC)滤色片阵列、Foveon X3滤色片阵列、拜耳传感器(RGGB)滤色片阵列、单色传感器滤色片阵列、和/或其他类型的滤色片阵列。在一些实施例中,可以使用清晰像素相机,例如具有RCCC、RCCB和/或RBGC滤色片阵列的相机,以努力增加光灵敏度。
在一些示例中,一个或更多个相机可用于执行高级驾驶员辅助系统(ADAS)功能(例如,作为冗余或故障安全设计的一部分)。例如,可以安装多功能单声道相机以提供包括车道偏离警告、交通标志辅助和智能前照灯控制的功能。一个或更多个相机(例如,所有相机)可以同时记录和提供图像数据(例如,视频)。
一个或更多个相机可以安装在安装部件中,例如定制设计(3-D打印)部件,以便去除车内的杂散光和反射(例如,挡风玻璃中反射的来自仪表板的反射),其可能会干扰相机的图像数据捕捉能力。参考翼镜安装部件,翼镜部件可以被定制3D打印,使得相机安装板与翼镜的形状相匹配。在一些示例中,一个或多个相机可以集成到翼镜中。对于侧视相机,一个或多个相机也可以集成在舱内每个角落的四个支柱内。
具有包括车辆102前方的环境部分(例如,前置相机)的视野的相机可以用于环绕视图,以帮助标识面向前方的路径和障碍物,以及在一个或更多个控制器1136和/或控制SoC的帮助下,帮助提供关于生成占用网格和/或确定优选车辆路径的关键信息。前置相机可用于执行与激光雷达相同的许多ADAS功能,包括紧急制动、行人检测和障碍物躲避。前置相机还可以用于ADAS功能和系统,包括车道偏离警告(“LDW”)、自主巡航控制(“ACC”)和/或例如交通标志识别的其他功能。
各种相机可以以前向配置使用,包括例如包括CMOS(互补金属氧化物半导体)彩色成像器的单目相机平台。另一示例可以是一个或多个宽视场相机1170,其可以用于感知从周边进入视野的对象(例如,行人、交叉交通或自行车)。尽管图11B中仅示出了一个宽视场相机,但是车辆102上可以有任意数量的宽视场相机1170。另外,一个或多个远程相机1198(例如,长视角立体相机对)可以用于基于深度的对象检测,尤其是用于尚未训练其神经网络的对象。一个或多个远程相机1198还可以用于对象检测和分类、以及基本对象跟踪。
一个或更多个立体相机1168也可以包括在前向配置中。一个或多个立体相机1168可以包括集成控制单元,其包括可缩放处理单元,其可以在单个芯片上提供可编程逻辑(FPGA)和具有集成CAN或以太网接口的多核微处理器。这样的单元可以用于生成车辆环境的3-D地图,包括对于图像中所有点的距离估计。替代的一个或多个立体相机1168可以包括紧凑的一个或多个立体视觉传感器,其可以包括两个相机镜头(左右各一个)、和可以测量从车辆到目标对象的距离并使用生成的信息(例如,元数据)来激活自主紧急制动和车道偏离警告功能的图像处理芯片。除了本文描述的那些之外或者作为另外一种选择,可以使用其他类型的一个或多个立体相机1168。
具有包括车辆102的一侧的环境部分的视野的相机(例如,侧视相机)可用于环绕视图,提供用于创建和更新占用网格的信息,以及生成侧撞碰撞警告。例如,环绕相机1174(例如,如图11B所示的四个环绕相机1174)可以定位在车辆102上。一个或多个环绕相机1174可以包括一个或多个宽视场相机1170、一个或多个鱼眼相机、一个或多个360度相机等。例如,四个鱼眼相机可以定位在车辆的前部、后部和侧面。在替代布置中,车辆可以使用三个环绕相机1174(例如,左、右和后),并且可以利用一个或更多个其他相机(例如,前向相机)作为第四环绕视图相机。
具有包括车辆102后部的环境部分的视野的相机(例如,后视相机)可以用于停车辅助、环绕视图、后碰撞警告、以及创建和更新占用网格。可以使用各种各样的相机,包括但不限于也适合作为前向相机(例如,一个或多个远程和/或中程相机1198、一个或多个立体相机1168)、一个或多个红外相机1172等的相机,如本文所述。
图11C是根据本公开的一些实施例的图11A的示例性自主车辆102的示例系统架构的框图。应该理解的是,这里描述的这个和其他布置仅作为示例阐述。除了所示的那些之外或代替所示的那些,可以使用其他布置和元件(例如,机器、接口、功能、顺序、功能分组等),并且可以一起省略一些元件。此外,本文描述的许多元件是功能实体,其可以实现为分立或分布式组件或者与其他组件一起实现,并且可以以任何合适的组合和地点实现。这里描述的由实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由运行存储在存储器中的指令的处理器执行。
图11C中的车辆102的每个组件、特征和系统都被示出为经由总线1102连接。总线1102可以包括控制器区域网络(CAN)数据接口(在本文中可选地称为“CAN总线”)。CAN可以是车辆102内部的网络,用于辅助控制车辆102的各种特征和功能,例如制动器的致动、加速、制动、转向、挡风玻璃刮水器等。CAN总线可以被配置为具有数十个甚至数百个节点,每个节点都有自己唯一的标识符(例如,CAN ID)。可以读取CAN总线以找到方向盘角度、地面速率、发动机每分钟转数(RPM)、按钮位置和/或其他车辆状态指示器。CAN总线可能符合ASIL B。
尽管这里将总线1102描述为CAN总线,但是这不意欲是限制性的。例如,除CAN总线之外或作为其替代,可以使用FlexRay和/或以太网。另外,尽管使用单条线来表示总线1102,但这不意欲是限制性的。例如,可以存在任何数量的总线1102,其可以包括一个或多个CAN总线、一个或多个FlexRay总线、一个或多个以太网总线、和/或使用不同协议的一个或多个其他类型的总线。在一些示例中,两个或更多个总线1102可以用于执行不同的功能,和/或可以用于冗余。例如,第一总线1102可以用于障碍物躲避功能,并且第二总线1102可以用于致动控制。在任何示例中,每一总线1102可以与车辆102的任何组件通信,并且两个或更多总线1102可以与相同的组件通信。在一些示例中,每个SoC 1104、每个控制器1136和/或车辆内的每个计算机可以访问相同的输入数据(例如,来自车辆102的传感器的输入),并且可以连接到公共总线,例如CAN总线。
车辆102可以包括一个或更多个控制器1136,例如本文关于图11A描述的那些控制器。一个或多个控制器1136可以用于各种功能。一个或多个控制器1136可以耦合到车辆102的各种其他组件和系统中的任何一个,并且可以用于车辆102的控制、车辆102的人工智能、车辆102的娱乐信息节目等。
车辆102可以包括一个或多个片上系统(SoC)1104。SoC 1104可以包括一个或多个CPU 1106、一个或多个GPU 1108、一个或多个处理器1110、一个或多个高速缓存1112、一个或多个加速器1114、一个或多个数据存储器1116、和/或未示出的其他组件和特征。一个或多个SoC 1104可用于在各种平台和系统中控制车辆102。例如,一个或多个SoC 1104可以在系统(例如,车辆102的系统)中与HD地图1122组合,HD地图1122可以经由网络接口1124从一个或多个服务器(例如,图11D的一个或多个服务器104)获得地图刷新和/或更新。
一个或多个CPU 1106可以包括CPU集群或CPU复合体(在本文中可选地称为“CCPLEX”)。一个或多个CPU 1106可以包括多个内核和/或L2高速缓存。例如,在一些实施例中,一个或多个CPU 1106可以包括一致多处理器配置中的八个内核。在一些实施例中,一个或多个CPU 1106可以包括四个双核集群,其中每个集群具有专用L2高速缓存(例如,2MB L2高速缓存)。一个或多个CPU 1106(例如,CCPLEX)可以被配置为支持同时集群操作,使得一个或多个CPU 1106的集群的任何组合在任何给定时间都是活动的。
一个或多个CPU 1106可以实现包括以下特征中的一个或多个的功率管理能力:在空闲时可以对各个硬件块进行自动时钟选通以节省动态功率;当内核由于WFI/WFE指令的执行而没有主动执行指令时,每个内核时钟可以被选通;每个内核可以被独立功率选通;当所有内核都被时钟选通或功率选通时,每个内核集群可以被独立地时钟选通;和/或当所有内核都被功率选通时,每个内核集群可以被独立地功率选通。一个或多个CPU 1106还可以实现用于管理功率状态的增强算法,其中指定允许的功率状态和预期的唤醒时间,并且硬件/微代码确定为内核、集群和CCPLEX键入的最佳功率状态。处理内核可以在软件中支持简化的功率状态键入序列,其中工作被卸载到微代码。
一个或多个GPU 1108可以包括集成GPU(在本文中可选地称为“iGPU”)。一个或多个GPU 1108可以是可编程的,并且对于并行工作负载可以是有效的。在一些示例中,一个或多个GPU 1108可以使用增强张量指令集。GPU 1108可以包括一个或更多个流式微处理器,其中每个流式微处理器可以包括L1高速缓存(例如,具有至少96KB存储容量的L1高速缓存),并且两个或更多个流式微处理器可以共享L2高速缓存(例如,具有512 KB存储容量的L2缓存)。在一些实施例中,一个或多个GPU 1108可以包括至少八个流式微处理器。一个或多个GPU 1108可以使用计算应用编程接口(API)。另外,一个或多个GPU 1108可以使用一个或多个并行计算平台和/或编程模型(例如,NVIDIA的CUDA)。
一个或多个GPU 1108可以进行功率优化以在汽车和嵌入式使用情况下获得最佳性能。例如,一个或多个GPU 1108可以在Fin场效应晶体管(FinFET)上制造。然而,这不意欲是限制性的,并且一个或多个GPU 1108可以使用其他半导体制造工艺来制造。每个流式微处理器可以合并被分区为多个块的多个混合精度处理内核。例如但不限于,可以将64个PF32内核和32个PF64内核分区为四个处理块。在这样的示例中,每个处理块可以被分配16个FP32内核、8个FP64内核、16个INT32核、用于深度学习矩阵算术的两个混合精度NVIDIATENSOR CORE、L0指令高速缓存、扭曲调度器、派发单元、和/或64 KB的寄存器文件。此外,流式微处理器可以包括独立的并行整数和浮点数据路径,以通过混合计算和寻址计算来提供工作负载的有效执行。流式微处理器可以包括独立的线程调度能力,以实现并行线程之间的更细粒度的同步和协作。流式微处理器可以包括组合的L1数据高速缓存和共享存储单元,以便在简化编程的同时改进性能。
一个或多个GPU 1108可以包括高带宽存储器(HBM)和/或16GB HBM2存储器子系统,以在一些示例中提供大约900GB/秒的峰值存储器带宽。在一些示例中,除了HBM存储器之外或作为其替代,可以使用同步图形随机存取存储器(SGRAM),例如图形双倍数据速率类型五同步随机存取存储器(GDDR5)。
一个或多个GPU 1108可以包括统一存储器技术,其包括访问计数器,以允许将存储器页面更准确地迁移到最频繁访问它们的处理器,从而改进处理器之间共享的存储器范围的效率。在一些示例中,地址转换服务(ATS)支持可以用于允许一个或多个GPU 1108直接访问一个或多个CPU 1106页表。在这样的示例中,当一个或多个GPU 1108存储器管理单元(MMU)经历未命中时,可以将地址转换请求传送到一个或多个CPU 1106。作为响应,一个或多个CPU 1106可以在其页表中查找用于地址的虚拟到物理映射,并将转换传送回一个或多个GPU 1108。这样,统一存储器技术可以允许单个统一的虚拟地址空间用于一个或多个CPU1106和一个或多个GPU 1108两者的存储器,从而简化一个或多个GPU 1108编程和将应用运输(porting)到一个或多个GPU 1108。
另外,一个或多个GPU 1108可以包括访问计数器,其可以跟踪一个或多个GPU1108对其他处理器的存储器的访问频率。访问计数器可以帮助确保将存储器页面移动到最频繁访问页面的处理器的物理存储器。
一个或多个SoC 1104可以包括任何数量的高速缓存1112,包括本文描述的那些高速缓存。例如,高速缓存1112可以包括可用于一个或多个CPU 1106和一个或多个GPU 1108两者的L3高速缓存(例如,连接一个或多个CPU 1106和一个或多个GPU 1108两者)。一个或多个高速缓存1112可以包括回写高速缓存,其可以跟踪行的状态,例如通过使用高速缓存一致性协议(例如,MEI、MESI、MSI等)。取决于实施例,L3高速缓存可以包括4MB或更多,尽管可以使用更小的高速缓存尺寸。
一个或多个SoC 1104可以包括一个或多个加速器1114(例如,硬件加速器、软件加速器、或其组合)。例如,一个或多个SoC 1104可以包括硬件加速集群,其可以包括优化的硬件加速器和/或大的片上存储器。大的片上存储器(例如,4MB的SRAM)可以使硬件加速集群能够加速神经网络和其他计算。硬件加速集群可用于补充一个或多个GPU 1108并卸载一个或多个GPU 1108的一些任务(例如,释放一个或多个GPU 1108的更多周期用于执行其他任务)。作为示例,加速器1114可以用于目标工作负载(例如,感知、卷积神经网络(CNN)等),其足够稳定以适于加速。这里使用的术语“CNN”可以包括所有类型的CNN,包括基于区域的或区域的卷积神经网络(RCNN)和快速RCNN(例如,用于对象检测)。
一个或多个加速器1114(例如,硬件加速集群)可以包括一个或多个深度学习加速器(DLA)。一个或多个DLA可以包括一个或更多个Tensor处理单元(TPU),其可以被配置为为深度学习应用和推断提供额外的每秒10万亿次操作。TPU可以是被配置为并且被优化用于执行图像处理功能的加速器(例如,用于CNN、RCNN等)。一个或多个DLA可以被进一步优化用于特定集合的神经网络类型和浮点运算以及推断。DLA的设计可以提供比通用目的GPU更高的每毫米性能,并且远远超过CPU的性能。一个或多个TPU可以执行若干功能,包括单实例卷积功能(例如,支持用于特征和权重两者的INT8、INT16和FP16数据类型)、以及后处理器功能。
对于各种功能中的任一种,一个或多个DLA可以快速有效地对处理或未处理的数据执行神经网络,尤其是CNN,包括例如但不限于:用于使用来自相机传感器的数据进行对象标识和检测的CNN;用于使用来自相机传感器的数据进行距离估计的CNN;用于使用来自麦克风的数据进行紧急车辆检测和标识和检测的CNN;用于使用来自相机传感器的数据进行面部识别和车主识别的CNN和/或用于安全性和/或安全相关事件的CNN。
一个或多个DLA可以执行一个或多个GPU 1108的任何功能,并且通过使用推断加速器,例如,设计者可以针对任何功能将一个或多个DLA或一个或多个GPU 1108作为目标。例如,设计者可以将对CNN的处理和浮点运算集中在一个或多个DLA上,并将其他功能留给一个或多个GPU 1108和/或一个或多个其他加速器1114。
一个或多个加速器1114(例如,硬件加速集群)可以包括一个或多个可编程视觉加速器(PVA),其可替代地在本文中称为计算机视觉加速器。一个或多个PVA可以被设计和配置为加速用于高级驾驶员辅助系统(ADAS)、自主驾驶、和/或增强现实(AR)和/或虚拟现实(VR)应用的计算机视觉算法。PVA可以在性能和灵活性之间提供平衡。例如,每个PVA可以包括,例如但不限于,任意数量的精简指令集计算机(RISC)内核、直接存储器访问(DMA)、和/或任何数量的向量处理器。
RISC内核可以与图像传感器(例如,本文描述的任何相机的图像传感器)、一个或多个图像信号处理器等交互。每个RISC内核可以包括任何数量的存储器。取决于实施例,RISC内核可以使用许多协议中的任何协议。在一些示例中,RISC内核可以执行实时操作系统(RTOS)。可以使用一个或多个集成电路装置、特定用途集成电路(ASIC)和/或存储器装置,来实现RISC内核。例如,RISC内核可以包括指令高速缓存和/或紧密耦合的RAM。
DMA可以使一个或多个PVA的组件能够独立于一个或多个CPU 1106访问系统存储器。DMA可以支持用于向PVA提供优化的任何数量的特征,包括但不限于支持多维寻址和/或循环寻址。在一些示例中,DMA可以支持多达六个或更多维度寻址,其可以包括块宽度、块高度、块深度、水平块步进、垂直块步进和/或深度步进。
向量处理器可以是可编程处理器,其可以被设计为有效且灵活地执行用于计算机视觉算法的编程,并提供信号处理能力。在一些示例中,PVA可以包括PVA内核和两个向量处理子系统分区。PVA内核可以包括处理器子系统、一个或多个DMA引擎(例如,两个DMA引擎)和/或其他外围装置。向量处理子系统可以作为PVA的主处理引擎操作,并且可以包括向量处理单元(VPU)、指令高速缓存、和/或向量存储器(例如,VMEM)。VPU内核可以包括数字信号处理器,例如单指令、多数据(SIMD)、超长指令字(VLIW)数字信号处理器。SIMD和VLIW的组合可以提高吞吐量和速度。
每个向量处理器可以包括指令高速缓存,并且可以耦合到专用存储器。结果,在一些示例中,每个向量处理器可以被配置为独立于其他向量处理器执行。在其他示例中,包括在特定PVA中的向量处理器可以被配置为采用数据并行性。例如,在一些实施例中,包括在单个PVA中的多个向量处理器可以执行相同的计算机视觉算法,但是在图像的不同区域上执行。在其他示例中,包括在特定PVA中的向量处理器可以在同一图像上同时执行不同的计算机视觉算法,或者甚至在顺序图像或图像的部分上执行不同的算法。其中,任何数量的PVA可以包括在硬件加速集群中,并且任何数量的向量处理器可以包括在每个PVA中。此外,一个或多个PVA可以包括附加的纠错码(ECC)存储器,以增强整体系统安全性。
一个或多个加速器1114(例如,硬件加速集群)可以包括片上计算机视觉网络和SRAM,用于为一个或多个加速器1114提供高带宽、低等待时间的SRAM。在一些示例中,片上存储器可以包括至少4MB的SRAM,其包括例如但不限于八个现场可配置的存储器块,PVA和DLA两者都可以访问这些存储器块。每对存储器块可以包括高级外围总线(APB)接口、配置电路、控制器和多路复用器。可以使用任何类型的存储器。PVA和DLA可以经由骨干网访问存储器,该骨干网为PVA和DLA提供对存储器的高速访问。骨干网可以包括片上计算机视觉网络,其将PVA和DLA互连到存储器(例如,使用APB)。
片上计算机视觉网络可以包括在传输任何控制信号/地址/数据之前、确定PVA和DLA两者都提供就绪和有效信号的接口。这种接口可以提供用于传送控制信号/地址/数据的单独相位和单独信道、以及用于连续数据传递的突发类型通信。尽管可以使用其他标准和协议,但是这种类型的接口可以符合ISO 26262或IEC 61508标准。
在一些示例中,一个或多个SoC 1104可以包括实时光线跟踪硬件加速器,诸如在2018年8月10日提交的美国专利申请第16/101,232号中描述的。实时光线跟踪硬件加速器可用于快速有效地确定对象的位置和范围(例如,在世界模型内),生成实时可视化仿真,用于雷达信号解释,用于声音传播合成和/或分析,用于SONAR系统的仿真,用于一般波传播仿真,用于为了定位和/或其他功能的目的与激光雷达数据进行比较,和/或用于其他用途。
一个或多个加速器1114(例如,硬件加速器集群)具有用于自主驾驶的广泛用途。PVA可以是可编程视觉加速器,可用于ADAS和自主驾驶车辆中的关键处理阶段。PVA的能力非常匹配低功耗和低等待时间的、需要可预测处理的算法域。换句话说,PVA在半密集或密集的常规计算上表现良好,即使在小数据集上也是如此,这需要具有低等待时间和低功率的可预测运行时间。因此,在用于自主驾驶车辆的平台的背景下,PVA被设计为运行经典的计算机视觉算法,因为它们在对象检测和整数数学运算方面是有效的。
例如,根据本技术的一个实施例,PVA用于执行计算机立体视觉。在一些示例中可以使用基于半全局匹配的算法,但是这不意欲是限制性的。用于3-5级自主驾驶的许多应用需要动态估计/即时立体匹配(例如,来自运动的结构、行人识别、车道检测等)。PVA可以对来自两个单眼相机的输入执行计算机立体视觉功能。
在一些示例中,PVA可用于执行密集光流动。根据处理原始雷达数据(例如,使用4D快速傅里叶变换)来提供处理的雷达。在其他示例中,例如,通过处理原始飞行时间数据以提供处理的飞行时间数据,PVA用于飞行时间深度处理。
DLA可用于运行任何类型的网络以增强控制和驾驶安全性,包括例如输出每个对象检测的置信测量值的神经网络。这样的置信度值可以被解释为概率、或者与其他检测相比提供每个检测的相对“权重”。该置信度值使系统能够做出关于哪些检测应被视为真阳性检测而不是假阳性检测的进一步判断。例如,系统可以设置置信度的阈值,并且仅将超过阈值的检测看作真阳性检测。在自主紧急制动(AEB)系统中,假阳性检测将导致车辆自动执行紧急制动,这显然是不希望的。因此,只有最置信的检测应被视为AEB的触发因素。DLA可以运行神经网络来回归置信度值。神经网络可以将至少一些参数子集作为其输入,例如边界框维度、获得的地平面估计(例如,来自另一子系统)、与车辆102取向相关的惯性测量单元(IMU)传感器1166输出、距离、从神经网络和/或其他传感器(例如,一个或多个激光雷达传感器1164或一个或多个雷达传感器1160)获得的对象的3D地点估计等。
一个或多个SoC 1104可以包括一个或多个数据存储器1116(例如,存储器)。一个或多个数据存储器1116可以是一个或多个SoC 1104的片上存储器,其可以存储要在GPU和/或DLA上执行的神经网络。在一些示例中,一个或多个数据存储器1116可以容量足够大,以存储神经网络的多个实例用于冗余和安全。一个或多个数据存储器1112可以包括一个或多个L2或L3高速缓存1112。对一个或多个数据存储器1116的引用可以包括对与PVA、DLA和/或其他一个或多个加速器1114相关联的存储器的引用,如本文所述。
一个或多个SoC 1104可以包括一个或更多个处理器1110(例如,嵌入式处理器)。一个或多个处理器1110可以包括引导和功率管理处理器,其可以是专用处理器和子系统,以处理引导功率和管理功能以及相关的安全实施。引导和功率管理处理器可以是一个或多个SoC 1104引导序列的一部分,并且可以提供运行时间功率管理服务。引导功率和管理处理器可以提供时钟和电压编程,协助系统低功率状态转换,一个或多个SoC 1104热和温度传感器的管理,和/或一个或多个SoC 1104功率状态的管理。每个温度传感器可以实现为其输出频率与温度成比例的环形振荡器,并且一个或多个SoC 1104可以使用环形振荡器来检测一个或多个CPU 1106、一个或多个GPU 1108和/或一个或多个加速器1114的温度。如果确定温度超过阈值,则引导和功率管理处理器可以进入温度故障例程,并将一个或多个SoC1104置于较低功率状态和/或将车辆102置于司机安全停止模式(例如,使车辆102安全停止)。
一个或多个处理器1110还可以包括可以用作音频处理引擎的嵌入式处理器的集合。音频处理引擎可以是音频子系统,其通过多个接口以及广泛且灵活的音频I/O接口范围,实现对多声道音频的全硬件支持。在一些示例中,音频处理引擎是专用处理器内核,其具有带有专用RAM的数字信号处理器。
一个或多个处理器1110还可以包括始终在线处理器引擎,其可以提供必要的硬件特征以支持低功率传感器管理和唤醒用例。始终在线处理器引擎可以包括处理器内核、紧密耦合的RAM、支持外围装置(例如,定时器和中断控制器)、各种I/O控制器外围装置、和路由逻辑。
一个或多个处理器1110还可以包括安全集群引擎,其包括专用处理器子系统以处理汽车应用的安全管理。安全集群引擎可以包括两个或更多个处理器内核、紧密耦合的RAM、支持外围装置(例如,定时器、中断控制器等)和/或路由逻辑。在安全模式中,两个或更多内核可以以锁步模式操作,并且用作具有比较逻辑的单内核以检测它们的操作之间的任何差异。
一个或多个处理器1110还可以包括实时相机引擎,其可以包括用于处理实时相机管理的专用处理器子系统。
一个或多个处理器1110还可以包括高动态范围信号处理器,其可以包括图像信号处理器,该图像信号处理器是作为相机处理流水线的一部分的硬件引擎。
一个或多个处理器1110可以包括视频图像合成器,其可以是处理块(例如,在微处理器上实现),其实现视频回放应用产生用于播放器窗口的最终图像所需的视频后处理功能。视频图像合成器可以对一个或多个宽视场相机1170、一个或多个环绕相机1174和/或舱内监视相机传感器执行镜头失真校正。舱内监控相机传感器优选地由在高级SoC的另一个实例上运行的神经网络监控,所述神经网络被配置为舱内标识事件并相应地响应。舱内系统可执行唇读以激活蜂窝服务并拨打电话,口述电子邮件,改变车辆的目的地,激活或改变车辆的娱乐信息节目系统和设置,或提供语音激活的网上冲浪。仅当车辆在自主模式下操作时,某些功能才对驾驶员可用,否则将被禁用。
视频图像合成器可以包括用于空间和时间噪声降低两者的增强的时间噪声降低。例如,在视频中发生运动的情况下,降噪适当地对空间信息进行加权,从而减小由相邻帧提供的信息的权重。在图像或图像的一部分不包括运动的情况下,由视频图像合成器执行的时间噪声降低可以使用来自先前图像的信息,来减少当前图像中的噪声。
视频图像合成器还可以被配置为对输入立体镜头帧执行立体校正。当操作系统桌面正在使用时,视频图像合成器还可以用于用户界面组合,并且一个或多个GPU 1108不需要连续地渲染新表面。即使当一个或多个GPU 1108通电并且活动进行3D渲染时,视频图像合成器也可用于卸载一个或多个GPU 1108,以改善性能和响应性。
一个或多个SoC 1104还可以包括用于接收来自相机的视频和输入的移动工业处理器接口(MIPI)相机串行接口、高速接口、和/或可以用于相机和相关像素输入功能的视频输入块。一个或多个SoC 1104还可以包括一个或多个输入/输出控制器,其可以由软件控制并且可以用于接收未提交给特定角色的I/O信号。
一个或多个SoC 1104还可以包括宽范围的外围接口,以使能与外围装置、音频编解码器、功率管理和/或其他装置的通信。SoC 1104可以用于处理来自相机(例如,通过千兆位多媒体串行链路和以太网连接)、传感器(例如,可以通过以太网连接的一个或多个激光雷达传感器1164、一个或多个雷达传感器1160等)的数据、来自总线1102的数据(例如,车辆102的速率、方向盘位置等)、来自一个或多个GNSS传感器1158的数据(例如,通过以太网或CAN总线连接)。一个或多个SoC 1104还可以包括专用高性能大容量存储控制器,其可以包括它们自己的DMA引擎,并且可以用于将一个或多个CPU 1106从日常数据管理任务中释放出来。
一个或多个SoC 1104可以是具有跨越自动化级别3-5的灵活架构的端到端平台,从而提供全面的功能安全架构,其加杠杆并有效利用计算机视觉和ADAS技术用于分集和冗余,连同深度学习工具一起,提供用于灵活、可靠的驾驶软件栈的平台。一个或多个SoC1104可以比传统系统更快、更可靠、甚至更节能和节省空间。例如,一个或多个加速器1114当与一个或多个CPU 1106、一个或多个GPU 1108和一个或多个数据存储器1116组合时,可以为3-5级自主车辆提供快速、有效的平台。
因此,该技术提供了传统系统无法实现的能力和功能。例如,计算机视觉算法可以在CPU上执行,CPU可以使用高级编程语言(例如C编程语言)来配置,以在各种可视数据上执行各种处理算法。然而,CPU通常不能满足许多计算机视觉应用的性能要求,例如与执行时间和功耗相关的应用。特别是,许多CPU无法实时执行复杂的对象检测算法,这是车载ADAS应用的要求,也是实际3-5级自主汽车的要求。
与传统系统相比,通过提供CPU复合体、GPU复合体和硬件加速集群,本文描述的技术允许同时和/或顺序地执行多个神经网络,并且允许将结果组合在一起以启用3-5级自主驾驶功能。例如,在DLA或dGPU(例如,一个或多个GPU 1120)上执行的CNN可以包括文本和单词识别,允许超级计算机读取和理解交通标志,包括神经网络尚未具体训练的标志。DLA还可以包括神经网络,其能够标识、解释和提供对符号的语义理解,并且将该语义理解传递给在CPU复合体上运行的路径计划模块。
作为另一示例,多个神经网络可以同时运行,如3级、4级或5级驾驶所需。例如,由“警告:闪光指示结冰状况”以及电灯组成的警告标志可以由若干神经网络独立地或共同地解释。标志本身可以通过第一部署的神经网络(例如,已经训练的神经网络)标识为交通标志,文本“闪光指示结冰状况”可以由第二部署的神经网络解释,其通知车辆的路径计划软件(最好在CPU Complex上执行),当检测到闪光时,存在结冰的情况。可以通过在多个帧上操作第三部署的神经网络来标识闪光,从而向车辆的路径计划软件通知闪光的存在(或不存在)。所有三个神经网络可以同时运行,例如在DLA内和/或一个或多个GPU 1108上。
在一些示例中,用于面部识别和车主标识的CNN可以使用来自相机传感器的数据来标识车辆102的授权驾驶员和/或所有者的存在。始终开启传感器处理引擎可以用于在车主接近驾驶员车门时解锁车辆,并打开车灯,并且在安全模式下,当车主离开车辆时禁用车辆。以这种方式,一个或多个SoC 1104提供防盗和/或劫车的安全性。
在另一示例中,用于紧急车辆检测和标识的CNN可以使用来自麦克风1196的数据来检测和标识紧急车辆警报器。与使用一般分类器来检测警报器并手动提取特征的传统系统相比,一个或多个SoC 1104使用CNN来分类环境和城市声音、以及分类视觉数据。在优选实施例中,训练在DLA上运行的CNN以标识紧急车辆的相对关断速度(例如,通过使用多普勒效应)。CNN还可以被训练以标识特定于其中车辆正在操作的局部区域的紧急车辆,如一个或多个GNSS传感器1158所标识的。因此,例如,当在欧洲操作时,CNN将寻求检测欧洲警报器,而当在美国时,CNN将寻求仅标识北美警报器。一旦检测到紧急车辆,就可以使用控制程序来执行紧急车辆安全例程,使车辆减速,拉到道路一侧,停放车辆和/或在超声波传感器1162的辅助下使车辆空转,直到一个或多个紧急车辆通过。
车辆可以包括一个或多个CPU 1118(例如,一个或多个离散CPU、或一个或多个dCPU),其可以经由高速互连(例如,PCIe)耦合到SoC 1104。例如,一个或多个CPU 1118可以包括X86处理器。一个或多个CPU 1118可以用于执行各种功能中的任何功能,包括仲裁ADAS传感器和一个或多个SoC 1104之间潜在不一致的结果、和/或一个或多个监控控制器1136和/或娱乐信息节目SoC 1130的状态和健康。
车辆102可以包括一个或多个GPU1120(例如,一个或多个离散GPU、或一个或多个dGPU),其可以经由高速互连(例如,NVIDIA的NVLINK)耦合到一个或多个SoC 1104。一个或多个GPU 1120可以提供额外的人工智能功能,例如通过执行冗余和/或不同的神经网络,并且可以用于基于来自车辆102的传感器的输入(例如,传感器数据)来训练和/或更新神经网络。
车辆102还可以包括网络接口1124,网络接口1124可以包括一个或多个无线天线1126(例如,用于不同通信协议的一个或多个无线天线,例如蜂窝天线、蓝牙天线等)。网络接口1124可以用于使能通过因特网与云(例如,与服务器104和/或其他网络装置)、与其他车辆、和/或与计算装置(例如,乘客的客户端装置)实现无线连接。为了与其他车辆通信,可以在两个车辆之间建立直接链路和/或可以建立间接链路(例如,跨网络和通过因特网)。可以使用车辆到车辆通信链路来提供直接链接。车辆间通信链路可以向车辆102提供关于车辆102附近的车辆的信息(例如,车辆102前方、侧面和/或后方的车辆)。该功能可以是车辆102的协作自适应巡航控制功能的一部分。
网络接口1124可以包括提供调制和解调功能的SoC,并使一个或多个控制器1136能够通过无线网络进行通信。网络接口1124可以包括射频前端,用于从基带到射频的上转变频、以及从射频到基带的下变频。频率转换可以通过众所周知的处理来执行,和/或可以使用超外差处理来执行。在一些示例中,射频前端功能可以由单独的芯片提供。网络接口可以包括用于通过LTE、WCDMA、UMTS、GSM、CDMA2000、蓝牙、蓝牙LE、Wi-Fi、Z-Wave、ZigBee、LoRaWAN和/或其他无线协议进行通信的无线功能。
车辆102还可以包括一个或多个数据存储器1128,其可以包括片外(例如,一个或多个SoC 1104外)存储器。一个或多个数据存储器1128可以包括一个或多个存储元件,包括RAM、SRAM、DRAM、VRAM、闪存、硬盘和/或可以存储至少一位数据的其他组件和/或装置。
车辆102还可以包括一个或多个GNSS传感器1158。一个或多个GNSS传感器1158(例如,GPS和/或辅助GPS传感器),以辅助映射、感知、占用网格生成和/或路径计划功能。可以使用任何数量的GNSS传感器1158,包括,例如但不限于,使用具有以太网到串行(RS-232)桥的USB连接器的GPS。
车辆102还可以包括一个或多个雷达传感器1160。即使在黑暗和/或恶劣天气条件下,车辆102也可以使用一个或多个雷达传感器1160进行远程车辆检测。雷达功能安全级别可以是ASIL B。一个或多个雷达传感器1160可以使用CAN和/或总线1102(例如,传送由一个或多个雷达传感器1160生成的数据)来进行控制和访问对象跟踪数据,在某些示例中,可以访问以太网来访问原始数据。可以使用各种雷达传感器类型。例如但不限于,雷达传感器1160可适用于前、后和侧雷达使用。在一些示例中,使用一个或多个脉冲多普勒雷达传感器。
一个或多个雷达传感器1160可以包括不同的配置,例如具有窄视场的长距离、具有宽视场的短距离、短距离侧覆盖等。在一些示例中,远程雷达可以用于自适应巡航控制功能。远程雷达系统可以提供通过两个或更多个独立扫描实现的宽视野,例如在250米范围内。一个或多个雷达传感器1160可以帮助区分静止和移动对象,并且可以由ADAS系统用于紧急制动辅助和前向碰撞警告。远程雷达传感器可以包括具有多个(例如,六个或更多)固定雷达天线和高速CAN和FlexRay接口的单向多模雷达。在具有六个天线的示例中,中央四个天线可以创建聚焦波束图案,其被设计为以更高的速度记录车辆102的周围环境,并且具有来自相邻车道中的交通的最小干扰。另外两个天线可以扩展视野,使得可能快速检测进入或离开车辆102车道的车辆。
中程雷达系统可以包括例如上至1160米(前方)或80米(后方)的范围,以及上至42度(前方)或1150度(后方)的视野。短程雷达系统可以包括但不限于设计成安装在后保险杠两端的雷达传感器。当安装在后保险杠的两端时,这种雷达传感器系统可以创建两个波束,其恒定监控车辆后部和旁边的盲点。
短程雷达系统可以在ADAS系统中用于盲点检测和/或车道改变辅助。
车辆102还可以包括一个或多个超声波传感器1162。可以位于车辆102的前部、后部和/或侧部的一个或多个超声波传感器1162可以用于停车辅助和/或创建和更新占用网格。可以使用各种各样的一个或多个超声波传感器1162,并且不同的一个或多个超声波传感器1162可以用于不同的检测范围(例如,2.5m、4m)。一个或多个超声波传感器1162可以在ASIL B的功能性安全级别处操作。
车辆102可以包括一个或多个激光雷达传感器1164。一个或多个激光雷达传感器1164可以用于对象和行人检测、紧急制动、碰撞避免和/或其他功能。一个或多个激光雷达传感器1164可以是功能性安全级别ASIL B。在一些示例中,车辆102可以包括可以使用以太网的多个激光雷达传感器1164(例如,两个、四个、六个等)(例如,用于向千兆比特以太网交换机提供数据)。
在一些示例中,一个或多个激光雷达传感器1164可以能够提供对象列表及其360度视野的距离。一个或多个商用激光雷达传感器1164可以具有大约102m的广告范围,精度为2cm-3cm,并且例如支持102Mbps以太网连接。在一些示例中,可以使用一个或更多个非突出的激光雷达传感器1164。在这样的示例中,激光雷达传感器1164可以被实现为可以嵌入到车辆102的前部、后部、侧面和/或角落中的小型装置。在这样的示例中,一个或多个激光雷达传感器1164可提供上至120度的水平和35度垂直视野,即使对于低反射率对象,也具有200米的范围。前部安装的一个或多个激光雷达传感器1164可以被配置用于45度和135度之间的水平视场。
在一些示例中,还可以使用激光雷达技术,例如3D闪光激光雷达。3D闪光激光雷达使用激光闪光灯作为发射源,照亮车辆周围约200米。闪光激光雷达单元包括接收器,其记录每个像素上的激光脉冲通行时间和反射光,其反过来对应于从车辆到对象的范围。闪光激光雷达可以允许每次激光闪光生成高度精确和无失真的周围环境图像。在一些示例中,可以部署四个闪光激光雷达传感器,在车辆102的每一侧一个。可用的3D闪光激光雷达系统包括固态3D凝视阵列激光雷达相机,除了风扇之外没有移动部分(例如,非扫描激光雷达装置)。闪光激光雷达装置可以每帧使用5纳秒级别I(人眼安全)激光脉冲,并且可以以3D范围点云和共同登记的强度数据的形式,来捕获反射的激光。通过使用闪光激光雷达,并且因为闪光激光雷达是没有移动部分的固态装置,所以一个或多个激光雷达传感器1164可能不太容易受到运动模糊、振动和/或震动的影响。
车辆还可以包括一个或多个IMU传感器1166。在一些示例中,一个或多个IMU传感器1166可以位于车辆102的后轴的中心。一个或多个IMU传感器1166可以包括,例如但不限于,一个或多个加速计、一个或多个磁力计、一个或多个陀螺仪、一个或多个磁罗盘和/或其他传感器类型。在一些示例中,例如在六轴应用中,一个或多个IMU传感器1166可以包括加速计和陀螺仪,而在九轴应用中,一个或多个IMU传感器1166可以包括加速计、陀螺仪和磁力计。
在一些实施例中,一个或多个IMU传感器1166可以实现为微型高性能GPS辅助惯性导航系统(GPS/INS),其结合了微机电系统(MEMS)惯性传感器、高灵敏度GPS接收器、和先进的卡尔曼滤波算法,以提供位置、速度和姿态的估计。这样,在一些示例中,一个或多个IMU传感器1166可以通过直接观察从GPS到一个或多个IMU传感器1166的速度变化并使其相关,来使车辆102能够估计航向(heading),而不需要来自磁传感器的输入。在一些示例中,一个或多个IMU传感器1166和一个或多个GNSS传感器1158可以组合在单个集成单元中。
车辆可以包括放置在车辆102中和/或周围的一个或多个麦克风1196。一个或多个麦克风1196可以用于紧急车辆检测和标识等。
车辆还可包括任何数量的相机类型,包括一个或多个立体相机1168、一个或多个宽视场相机1170、一个或多个红外相机1172、一个或多个环绕相机1174、一个或多个远程和/或中程相机1198和/或其他相机类型。相机可用于捕获车辆102的整个周边周围的图像数据。所使用的相机类型取决于车辆102的实施例和要求,并且相机类型的任何组合可用于提供围绕该车辆102的必要覆盖。另外,取决于实施例,相机的数量可以不同。例如,车辆可包括六个相机、七个相机、十个相机、十二个相机和/或另一数量的相机。作为示例而非限制,相机可以支持千兆比特多媒体串行链路(GMSL)和/或千兆比特以太网。在此关于图11A和11B更详细地描述了每个相机。
车辆102还可以包括一个或多个振动传感器1142。一个或多个振动传感器1142可以测量车辆的组件(例如一个或多个轴)的振动。例如,振动的变化可以指示路面的变化。在另一示例中,当使用两个或更多个振动传感器1142时,振动之间的差异可用于确定路面的摩擦或滑动(例如,当振动的差异在电力驱动轴和自由旋转轴之间时)。
车辆102可以包括ADAS系统1138。在一些示例中,ADAS系统1138可以包括SoC。ADAS系统1138可包括自主/自适应/自动巡航控制(ACC)、协同自适应巡航控制(CACC)、前方碰撞警告(FCW)、自动紧急制动(AEB)、车道偏离警告(LDW)、车道保持辅助(LKA)、盲点警告(BSW)、后部交叉交通警告(RCTW)、碰撞警告系统(CWS)、车道居中(LC)和/或其他特征和功能。
ACC系统可以使用一个或多个雷达传感器1160、一个或多个激光雷达传感器1164和/或一个或多个相机。ACC系统可包括纵向ACC和/或横向ACC。纵向ACC监控并控制与紧邻车辆102前方的车辆的距离,并自动调节车速以保持与前方车辆的安全距离。横向ACC执行距离保持,并且建议车辆102在必要时改变车道。横向ACC与其他ADAS应用相关,例如LCA和CWS。
CACC使用来自其他车辆的信息,其可以经由网络接口1124和/或一个或多个无线天线1126经由无线链路从其他车辆接收,或者间接地通过网络连接(例如,通过因特网)接收。直接链路可以由车辆到车辆(V2V)通信链路提供,而间接链路可以是基础设施到车辆(I2V)通信链路。通常,V2V通信概念提供关于紧靠在前的车辆的信息(例如,紧靠在车辆102之前并且在与车辆102相同的车道中的车辆),而I2V通信概念提供关于更远的前方的交通的信息。CACC系统可以包括I2V和V2V信息源中的任一个或两者。给定车辆102前方的车辆的信息,CACC可以更可靠并且有可能改善交通流量畅通并减少道路上的拥堵。
FCW系统被设计为提醒驾驶员注意危险,以便驾驶员采取校正措施。FCW系统使用前置相机和/或一个或多个雷达传感器1160,耦合到专用处理器、DSP、FPGA和/或ASIC,专用处理器、DSP、FPGA和/或ASIC电耦合到驾驶员反馈,例如显示器、扬声器和/或振动组件。FCW系统可以提供警告,例如以声音、视觉警告、振动和/或快速制动脉冲的形式。
AEB系统检测与其他车辆或其他对象即将发生的前方碰撞,并且如果驾驶员未在指定时间或距离参数内采取校正措施,则可自动应用制动器。AEB系统可以使用一个或多个前置相机和/或一个或多个雷达传感器1160,耦合到专用处理器、DSP、FPGA和/或ASIC。当AEB系统检测到危险时,它通常首先警告驾驶员采取校正措施以避免碰撞,并且如果驾驶员没有采取校正措施,则AEB系统可以努力自动应用制动器,以防止、或至少缓解预测碰撞的影响。AEB系统可包括诸如动态制动器支撑和/或撞击即将发生的制动等技术。
LDW系统提供视觉、听觉和/或触觉警告,例如方向盘或座椅振动,以在车辆102穿过车道标记时警告驾驶员。当驾驶员通过激活转向信号指示故意车道偏离时,LDW系统不会激活。LDW系统可以使用朝向前方的相机,其耦合到专用处理器、DSP、FPGA和/或ASIC,专用处理器、DSP、FPGA和/或ASIC电耦合到驾驶员反馈,例如显示器、扬声器和/或振动组件。
LKA系统是LDW系统的变体。如果车辆102开始离开车道,则LKA系统提供转向输入或制动以校正车辆102。
BSW系统检测并警告汽车盲点中的车辆的驾驶员。BSW系统可以提供视觉、听觉和/或触觉警报,以指示合并或改变车道是不安全的。当驾驶员使用转向信号时,系统可以提供附加警告。BSW系统可以使用一个或多个朝向后方的相机和/或一个或多个雷达传感器1160,其耦合到专用处理器、DSP、FPGA和/或ASIC,专用处理器、DSP、FPGA和/或ASIC电耦合到驾驶员反馈,例如显示器、扬声器和/或振动组件。
当车辆102正在倒车时,当在后相机范围之外检测到对象时,RCTW系统可以提供视觉、听觉和/或触觉通知。一些RCTW系统包括AEB,以确保应用车辆制动器以避免撞击。RCTW系统可以使用一个或多个面朝后方的一个或多个雷达传感器1160,其耦合到专用处理器、DSP、FPGA和/或ASIC,专用处理器、DSP、FPGA和/或ASIC电耦合到驾驶员反馈,例如显示器、扬声器和/或振动组件。
传统的ADAS系统可能易于产生假阳性结果,这可能令驾驶员烦恼并分散注意力,但通常不是灾难性的,因为ADAS系统警告驾驶员并允许驾驶员确定安全条件是否真正存在并相应地采取行动。然而,在自主车辆102中,在结果冲突的情况下,车辆102本身必须决定是否注意来自主计算机或辅助计算机(例如,第一控制器1136或第二控制器1136)的结果。例如,在一些实施例中,ADAS系统1138可以是备份和/或辅助计算机,用于向备份计算机合理性模块提供感知信息。备份计算机合理性监视器可以在硬件组件上运行冗余的各种软件,以检测感知和动态驱动任务中的故障。可以将来自ADAS系统1138的输出提供给监督MCU。如果来自主计算机和辅助计算机的输出冲突,则监督MCU必须确定如何协调冲突以确保安全操作。
在一些示例中,主计算机可以被配置为向监督MCU提供置信度分数,指示主计算机对所选结果的置信度。如果置信度得分超过阈值,则监督MCU可以遵循主计算机的指示,而不管辅助计算机是否提供冲突或不一致的结果。在置信度分数不满足阈值、并且主和辅助计算机指示不同结果(例如,冲突)的情况下,监督MCU可以在计算机之间进行仲裁以确定适当的结果。
监督MCU可以被配置为运行一个或多个神经网络,该神经网络被训练和配置成基于来自主计算机和辅助计算机的输出来确定辅助计算机提供错误警报的条件。因此,监督MCU中的一个或多个神经网络可以了解何时可以信任辅助计算机的输出,以及何时不能信任辅助计算机的输出。例如,当辅助计算机是基于雷达的FCW系统时,监督MCU中的一个或多个神经网络可以了解FCW系统何时标识实际上不存在危险的金属对象,例如引发警报的排水栅或井盖。类似地,当辅助计算机是基于相机的LDW系统时,监督MCU中的神经网络可以学习在存在骑自行车者或行人时忽视LDW,并且车道偏离实际上是最安全的调遣。在包括在监督MCU上运行的一个或多个神经网络的实施例中,监督MCU可以包括适合于运行具有关联存储器的一个或多个神经网络的DLA或GPU中的至少一个。在优选实施例中,监督MCU可以包括和/或被包括作为一个或多个SoC 1104的组件。
在其他示例中,ADAS系统1138可以包括使用传统的计算机视觉规则执行ADAS功能的辅助计算机。这样,辅助计算机可以使用经典计算机视觉规则(假定的(if-then)),并且监督MCU中一个或多个神经网络的存在可以改进可靠性、安全性和性能。例如,多样化的实现和有意的非身份使整个系统更具容错性,尤其是由软件(或软件-硬件接口)功能引起的故障。例如,如果主计算机上运行的软件中存在软件缺陷或错误,并且在辅助计算机上运行的不相同的软件代码提供相同的总体结果,则监督MCU可能对于总体结果是正确的具有更大置信度,主计算机上的软件或硬件中的缺陷不会导致重大错误。
在一些示例中,ADAS系统1138的输出可以被馈送到主计算机的感知块和/或主计算机的动态驾驶任务块。例如,如果ADAS系统1138由于紧靠在前面的对象而指示前向撞击警告,则感知块可在标识对象时使用该信息。在其他示例中,如本文所述,辅助计算机可以具有其自己的训练的神经网络,并由此降低假阳性的风险。
车辆102还可以包括娱乐信息节目SoC 1130(例如,车载娱乐信息节目系统(IVI))。尽管图示和描述为SoC,但娱乐信息节目系统可以不是SoC,并且可以包括两个或更多个分立组件。娱乐信息节目SoC 1130可以包括硬件和软件的组合,该组合可以用于向车辆102提供音频(例如,音乐、个人数字助理、导航指令、新闻、无线电广播等)、视频(例如,电视、电影、流媒体等)、电话(例如,免提呼叫)、网络连接(例如,LTE、WiFi等)、和/或信息服务(例如,导航系统、后停车辅助、无线电数据系统、车辆相关信息,诸如燃油液面、所覆盖的总距离、刹车油液面、机油液面、门打开/关闭、空气滤清器信息等)。例如,娱乐信息节目SoC1130可以是无线电、盘播放器、导航系统、视频播放器、USB和蓝牙连接、车载电脑、车载娱乐、WiFi、方向盘音频控制、免提语音控制、抬头显示器(HUD)、HMI显示器1134、远程信息处理装置、控制面板(例如,用于控制和/或与各种组件、特征和/或系统交互)、和/或其他组件。娱乐信息节目SoC 1130还可用于向车辆的一个或多个用户提供信息(例如,视觉和/或听觉),例如来自ADAS系统1138的信息、自主驾驶信息、和/或其他信息,所述自主驾驶信息是诸如计划的车辆调遣、轨迹、周围环境信息(例如,交叉路口信息、车辆信息、道路信息等)。
娱乐信息节目SoC 1130可以包括GPU功能。娱乐信息节目SoC 1130可以通过总线1102(例如,CAN总线、以太网等)与车辆102的其他装置、系统和/或组件通信。在一些示例中,娱乐信息节目SoC 1130可以耦合到监督MCU,使得在一个或多个主控制器1136(例如,车辆102的主和/或备用计算机)发生故障的情况下,娱乐信息节目系统的GPU可以执行一些自驾驶功能。在这样的示例中,娱乐信息节目SoC 1130可以将车辆102置于司机安全停止模式,如本文所述。
车辆102还可以包括仪表组1132(例如,数字仪表盘、电子仪表组、数字仪表板等)。仪表组1132可以包括控制器和/或超级计算机(例如,离散控制器或超级计算机)。仪表组1132可包括一组仪表,例如速度表、燃油压面、油压、转速计、里程表、转向指示器、换档位置指示器、一个或多个安全带警告灯、一个或多个停车制动警告灯、一个或多个引擎故障灯、安全气囊(SRS)系统信息、照明控制、安全系统控制、导航信息等。在一些示例中,可以在娱乐信息节目SoC 1130和仪表组1132之间显示和/或共享信息。换句话说,仪表组1132可以被包括作为娱乐信息节目SoC 1130的一部分,反之亦然。
图11D是根据本公开的一些实施例的用于基于一个或多个云的服务器和图11A的示例性自主车辆102之间的通信的系统图。自主车辆系统100可以包括一个或多个服务器104、一个或多个网络1190和包括车辆102的车辆。一个或多个服务器104可以包括多个GPU1184(A)-1184(H)(这里统称为GPU 1184)、PCIe开关1182(A)-1182(H)(在此统称为PCIe开关1182)、和/或CPU 1180(A)-1180(B)(在此统称为CPU 1180)。GPU 1184、CPU 1180和PCIe开关可以与高速互连互连,例如但不限于由NVIDIA开发的NVLink接口1188和/或PCIe连接1186。在一些示例中,GPU 1184经由NVLink和/或NVSwitch SoC连接,并且GPU 1184和PCIe开关1182经由PCIe互连连接。尽管示出了八个GPU 1184、两个CPU 1180和两个PCIe开关,但是这不意欲是限制性的。取决于实施例,每个服务器104可以包括任何数量的GPU 1184、CPU1180和/或PCIe开关。例如,一个或多个服务器104的每一个可以包括八个、十六个、三十二个、和/或更多GPU 1184。
一个或多个服务器104可以通过一个或多个网络1190并且从车辆接收表示意外或改变的道路状况的图像的图像数据,例如最近开始的道路工程。一个或多个服务器104可以通过网络1190并且向车辆传送神经网络1192、更新的神经网络1192和/或地图信息1194,包括关于交通和道路状况的信息。对地图信息1194的更新可以包括HD地图1122的更新,例如关于建筑工地、坑洼、弯路、洪水和/或其他障碍物的信息。在一些示例中,神经网络1192、更新的神经网络1192和/或地图信息1194可以起因于从环境中的任何数量的车辆接收的数据中表示的新训练和/或体验、和/或基于在数据中心执行的训练(例如,使用服务器104和/或其他服务器)。
一个或多个服务器104可用于基于训练数据来训练机器学习模型(例如,神经网络)。训练数据可以由车辆生成,和/或可以在仿真中生成(例如,使用游戏引擎)。在一些示例中,训练数据被标记(例如,其中神经网络受益于监督学习)和/或经历其他预处理,而在其他示例中,训练数据未被标记和/或预处理(例如,其中神经网络不需要监督学习)。一旦训练了机器学习模型,机器学习模型就可以由车辆使用(例如,通过一个或多个网络1190传送到车辆),和/或机器学习模型可以由一个或多个服务器104使用以远程监控车辆。
在一些示例中,一个或多个服务器104可以从车辆接收数据,并将数据应用于最新的实时神经网络以用于实时智能推断。一个或多个服务器104可以包括由一个或多个GPU1184供电的深度学习超级计算机和/或专用AI计算机,例如由NVIDIA开发的DGX和DGX站机器。然而,在一些示例中,一个或多个服务器104可以包括仅使用CPU供电的数据中心的深度学习基础设施。
一个或多个服务器104的深度学习基础设施可以能够进行快速、实时的推断,并且可以使用该能力来评估和验证车辆102中的处理器、软件和/或关联硬件的健康状况。例如,深度学习基础设施可以从车辆102接收周期性更新,诸如图像序列和/或车辆102已经位于该图像序列中的对象(例如,经由计算机视觉和/或其他机器学习对象分类技术)。深度学习基础设施可以运行其自己的神经网络,来标识对象,并将它们与车辆102标识的对象进行比较,并且如果结果不匹配、并且基础设施断定车辆102中的AI发生故障,则一个或多个服务器104可以向车辆102传送信号,命令车辆102的自动防故障计算机采取控制,通知乘客,并完成安全停车调遣。
关于推断,一个或多个服务器104可以包括GPU 1184和一个或多个可编程推断加速器(例如,NVIDIA的TensorRT 3)。GPU供电的服务器和推断加速的组合可以使实时响应成为可能。在其他示例中,例如在性能不太重要的情况下,由CPU供电的服务器、FPGA和其他处理器可以用于推断。
示例计算装置
图12是适于用于实现本公开的一些实施例的示例计算装置1200的框图。计算装置1200可以包括直接或间接耦合以下装置的总线1202:存储器1204、一个或多个中央处理单元(CPU)1206、一个或多个图形处理单元(GPU)1208、通信接口1210、输入/输出(I/O)端口1212、输入/输出组件1214、电源1216、以及一个或多个呈现组件1218(例如,一个或多个显示器)。
尽管图12的各个块被示出为经由总线1202与线路连接,这不意欲是限制性的并且仅为了清楚起见。例如,在一些实施例中,诸如显示装置的呈现组件1218可以被认为是I/O组件1214(例如,如果显示器是触摸屏)。作为另一示例,CPU 1206和/或GPU 1208可以包括存储器(例如,除了GPU 1208、CPU 1206和/或其他组件的存储器之外,存储器1204可以代表储存装置)。换句话说,图12的计算装置仅仅是说明性的。在诸如“工作站”、“服务器”、“笔记本电脑”、“桌面电脑”、“平板电脑”、“客户端装置”、“移动装置”、“手持装置”、“游戏机”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他装置或系统类型的类别之间没有区别,因为预期所有这些在图12的计算装置的范围内。
总线1202可以表示一个或多个总线,例如地址总线、数据总线、控制总线、或其组合。总线1202可以包括一种或多种总线类型,例如工业标准架构(ISA)总线、扩展工业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线和/或其他类型的总线。
存储器1204可以包括各种计算机可读介质中的任一种。计算机可读介质可以是可由计算装置1200访问的任何可用介质。计算机可读介质可包括易失性和非易失性介质、以及可移除和不可移除介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质可以包括以任何方法或技术实现的易失性和非易失性介质和/或可移除和不可移除介质,用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息。例如,存储器1204可以存储计算机可读指令(例如,表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁存储装置、或者可用于存储期望信息并且可由计算装置1200访问任何其他介质。如本文所用,计算机存储介质不包括信号本身。
通信介质可以在诸如载波或其他传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块、和/或其他数据类型,并且包括任何信息传递介质。术语“已调制数据信号”可以指的是以按照编码信号中的信息的方式设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质可以包括有线介质,诸如有线网络或直接有线连接,以及无线介质,诸如声学、RF、红外和其他无线介质。上述任何组合也应包括在计算机可读介质的范围内。
一个或多个CPU 1206可以被配置为执行计算机可读指令,以控制计算装置1200的一个或多个组件以执行本文描述的方法和/或处理中的一个或多个。一个或多个CPU 1206中的每一个可以包括能够同时处置多个软件线程的一个或多个内核(例如,一个、两个、四个、八个、二十八个、七十二个等)。一个或多个CPU 1206可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于所实现的计算装置1200的类型(例如,用于移动装置的具有较少内核的处理器、和用于服务器的具有较多内核的处理器)。例如,取决于计算装置1200的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器、或使用复杂指令集计算(CISC)实现的x86处理器。除了一个或多个微处理器或辅助协处理器(例如数学协处理器)之外,计算装置1200可以包括一个或多个CPU 1206。
一个或多个GPU 1208可以由计算装置1200使用来渲染图形(例如,3D图形)。一个或多个GPU 1208可以包括数百或数千个内核,其能够同时处置数百或数千个软件线程。一个或多个GPU 1208可以响应于渲染命令(例如,经由主机接口接收的来自一个或多个CPU1206的渲染命令),而生成用于输出图像的像素数据。一个或多个GPU 1208可以包括用于存储像素数据的图形存储器,例如显示存储器。显示存储器可以被包括作为存储器1204的一部分。一个或多个GPU1208可以包括(例如,经由链路)并行操作的两个或更多个GPU。当组合在一起时,每个GPU 1208可以生成用于输出图像的不同部分或用于不同输出图像的像素数据(例如,用于第一图像的第一GPU和用于第二图像的第二GPU)。每个GPU可以包含自己的存储器,或者可以与其他GPU共享存储器。
在计算装置1200不包括一个或多个GPU 1208的示例中,CPU 1206可以用于渲染图形。
通信接口1210可以包括一个或多个接收器、发射器和/或收发器,它们使得计算装置1200能够经由电子通信网络与其他计算装置通信,包括有线和/或无线通信。通信接口1210可以包括使能通过多个不同网络中的任何网络进行通信的组件和功能,例如无线网络(例如,Wi-Fi、Z-Wave、蓝牙、蓝牙LE,ZigBee等)、有线网络(例如,通过以太网通信)、低功率广域网(例如,LoRaWAN、SigFox等)和/或因特网。
I/O端口1212可以使计算装置1200能够逻辑地耦合到包括I/O组件1214、呈现组件1218和/或其他组件的其他装置,其中一些组件可以内置于(或集成于)计算装置1200中。说明性I/O组件1214包括麦克风、鼠标、键盘、操纵杆、游戏手柄、游戏控制器、卫星天线、扫描仪、打印机、无线装置等。I/O组件1214可以提供自然用户界面(NUI),其处理隔空手势、语音、或由用户生成的或其他生理输入。在某些情况下,可以将输入传送到适当的网络元件用于进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物识别、屏幕上和屏幕附近的手势识别、隔空手势、头部和眼睛跟踪、以及与计算装置1200的显示器关联的触摸识别(如下面更详细描述的)的任何组合。计算装置1200可以包括深度相机,诸如立体相机系统、红外相机系统、RGB相机系统、触摸屏技术、以及这些的组合,用于手势检测和识别。另外,计算装置1200可以包括能够检测运动的加速计或陀螺仪(例如,作为惯性测量单元(IMU)的一部分)。在一些示例中,加速计或陀螺仪的输出可以由计算装置1200使用,以渲染沉浸式增强现实或虚拟现实。
电源1216可以包括硬连线电源、电池电源或其组合。电源1216可以向计算装置1200提供电力,以使计算装置1200的组件能够操作。
一个或多个呈现组件1218可以包括显示器(例如,监视器、触摸屏、电视屏幕、抬头显示器(HUD)、其他显示器类型、或其组合)、扬声器和/或其他呈现组件。呈现组件1218可以从其他组件(例如,一个或多个GPU 1208、一个或多个CPU 1206等)接收数据,并输出数据(例如,作为图像、视频、声音等)。
可以在计算机代码或机器可用指令的一般上下文中描述本公开,包括由计算机或其他机器(诸如个人数据助理或其他手持装置)执行的诸如程序模块的计算机可执行指令。通常,包括例程、程序、对象、组件、数据结构等的程序模块指代执行特定任务或实现特定抽象数据类型的代码。本公开可以在各种系统配置中实践,包括手持装置、消费性电子产品、通用目的计算机、更多专业计算装置等。本公开还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理装置执行。
如本文所用,关于两个或更多个元素的“和/或”的阐述应该被解释为意味着仅一个元素、或元素的组合。例如,“元素A、元素B和/或元素C”可以包括仅元素A、仅元素B、仅元素C、元素A和元素B、元素A和元素C、元素B和元素C、或元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A的至少一个、元素B的至少一个、或元素A的至少一个和元素B的至少一个。此外,“元素A和元素B中的至少一个”可以包括元素A的至少一个、元素B的至少一个、或元素A的至少一个和元素B的至少一个。
本文中具体描述了本公开的主题以满足法定要求。然而,描述本身并不意欲限制本公开的范围。相反,发明人已经预期所要求保护的主题还可以结合其他现有或未来技术以其他方式实施,以包括不同步骤或与本文档中描述的步骤类似的步骤的组合。此外,尽管这里可以使用术语“步骤”和/或“块”来表示所采用的方法的不同元素,但是这些术语不应被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非并且除了当明确描述了个别步骤的顺序时。

Claims (20)

1.一种方法,包括:至少部分地基于车辆的尺寸、地点和取向,确定表示在一时间处所述车辆占用的环境中的体积的点的当前索取集;至少部分地基于在该时间处所述车辆的一个或更多个速度和用于所述车辆的第一安全程序,生成一个或更多个车辆占用轨迹,所述一个或多个车辆占用轨迹代表如果所述车辆要在该时间处实现所述第一安全程序时、所述环境中的所述车辆的点的第一将来索取集;至少部分地基于将所述一个或更多个车辆占用轨迹与一个或更多个对象占用轨迹进行比较,来检测所述一个或更多个车辆占用轨迹与所述一个或更多个对象占用轨迹之间的交叉点,所述一个或更多个对象占用轨迹代表如果对象要在该时间处实现与对象关联的第二安全程序时、环境中的所述对象的第二将来索取集;计算与实现所述第一安全程序的所述车辆和实现所述第二安全程序的所述对象关联的第一安全隐患,所述第一安全隐患代表所述交叉点;并且至少部分地基于所述交叉点,执行所述第一安全程序或替代程序中之一,当在所述对象实现所述第二安全程序时由所述车辆实现所述替代程序时,所述替代程序被确定为具有第二安全隐患,所述第二安全隐患被计算为与所述第一安全隐患相比、具有所述车辆和所述对象之间发生碰撞的较小可能性。
2.根据权利要求1所述的方法,还包括:至少部分地基于从所述车辆的一个或更多个传感器接收的传感器数据来确定所述车辆的速度、取向和地点,所述一个或更多个传感器包括以下中的一个或更多个:全球导航卫星系统(GNSS)传感器;相机;加速计;惯性传感器;陀螺传感器;罗盘;轮胎振动传感器;麦克风;转向传感器;或速度传感器。
3.根据权利要求1所述的方法,还包括通过以下方式确定与代表所述车辆的所述第一安全程序的控制策略对应的功能集合:确定用于所述车辆的转向、制动和加速的控制参数;标识所述第一安全程序的车辆状态目标;分析从所述车辆的一个或更多个传感器接收的传感器数据,以确定环境中对象的地点、取向和速度;并且至少部分地基于所述控制参数以及所述对象的地点、取向和速度,确定所述功能集合,以将所述车辆引导到所述车辆状态目标。
4.根据权利要求1所述的方法,还包括通过以下方式确定所述车辆的尺寸:标识所述车辆的车辆尺寸;以及至少部分地基于所述车辆尺寸或车辆类型中的至少一个,适配所述车辆周围的预定义形状,其中所述尺寸具有所述预定义形状。
5.根据权利要求4所述的方法,其中,确定所述车辆的所述尺寸还包括标识安全裕度,并且其中所述预定义形状包括所述安全裕度。
6.根据权利要求1所述的方法,还包括:通过至少部分地基于从所述车辆的一个或更多个传感器接收的传感器数据,确定环境中的所述对象的对象速度,对象取向,以及对象地点、对象尺寸或对象形状中的至少一个,来确定所述对象的所述对象占用轨迹,所述一个或更多个传感器包括以下中的一个或更多个:全球导航卫星系统(GNSS)传感器;远程相机;立体相机;红外相机;环绕相机;宽视场相机;中程相机;激光雷达传感器;超声波传感器;红外传感器;雷达传感器;或无线天线。
7.根据权利要求1所述的方法,其中,所述第一将来索取集中的每个第一将来索取集表示在相应的将来时间、所述车辆将占用的环境中的相应体积。
8.一种方法,包括:至少部分地基于车辆的状态,确定表示在一时间处所述车辆占用的环境中的区域的点的当前索取集,所述状态包括所述车辆的地点和速度、以及所述车辆的尺寸、形状或类型中的至少一个;至少部分地基于所述车辆的所述状态和安全程序,生成车辆占用轨迹,所述车辆占用轨迹代表如果车辆要在该时间处实现所述安全程序时、环境中的所述车辆的将来索取集;比较所述车辆占用轨迹和与环境中的对象关联的对象占用轨迹,以检测在所述车辆占用轨迹与所述对象占用轨迹的一个或更多个之间是否出现任何虚拟交叉点;并且一旦检测到虚拟交叉点,就实现通过所述安全程序定义的第一控制集合或者通过替代程序定义的第二控制集合,该替代程序被确定为与该安全程序相比、具有在该车辆和与该虚拟交叉点关联的对象中的对象之间出现真实世界交叉点的较小可能性。
9.根据权利要求8所述的方法,其中,实现所述第一控制集合或所述第二控制集合包括:至少部分地基于代表该安全程序的所述第一控制集合,来计算代表所述真实世界交叉点的第一可能性的第一安全隐患;至少部分地基于代表该替代程序的所述第二控制集合,来计算代表所述真实世界交叉点的第二可能性的第二安全隐患;将所述第一安全隐患与所述第二安全隐患进行比较;并且至少部分地基于该比较:在确定所述第二可能性大于所述第一可能性时,实现所述第一控制集合;或者在确定所述第二可能性等于或小于所述第一可能性时,实现所述第一控制集合或所述第二控制集合。
10.根据权利要求8所述的方法,其中,所述时间是当前时间加上估计的等待时间,所述估计的等待时间至少部分地基于与所述车辆相关联的历史数据来预定义或确定。
11.根据权利要求8所述的方法,还包括:通过以下方式生成所述对象占用轨迹:至少部分地基于从所述车辆的一个或更多个传感器接收的传感器数据,确定在所述时间处所述环境中的每一所述对象的对象状态,每一对象状态代表相应对象的相应地点、取向和速度;标识用于每一所述对象的对象安全程序;并且至少部分地基于所述对象状态和所述对象安全程序,生成所述对象占用轨迹。
12.根据权利要求8所述的方法,还包括通过以下方式确定环境中的所述对象:至少部分地基于由所述车辆的一个或更多个传感器生成的传感器数据,来分析所述传感器数据以标识感知对象;分析所述传感器数据和地图数据中的至少一个,以确定环境中的变量,所述变量包括交叉点、被遮挡对象、或交通信号中的至少一个;以及至少部分地基于所述变量标识未感知对象,其中所述感知对象和所述未感知对象是所述对象。
13.根据权利要求8所述的方法,还包括:在实现所述第一控制集合或所述第二控制集合期间,确定更新的车辆占用轨迹不再与更新的对象占用轨迹交叉;并停止所述第一控制集合或所述第二控制集合的所述实现。
14.根据权利要求8所述的方法,其中,所述车辆占用轨迹代表如果车辆要在所述安全程序的制动分布图的范围上在所述时间处实现所述安全程序时、所述环境中的所述车辆的所述将来索取集,所述制动分布图的范围包括第一制动分布图和与所述第一制动分布图不同的第二制动分布图。
15.根据权利要求8所述的方法,其中,比较所述车辆占用轨迹和与环境中的所述对象关联的所述对象占用轨迹包括:确定与所述车辆占用轨迹对应的任何第一边缘是否和与所述对象占用轨迹对应的任何第二边缘交叉。
16.根据权利要求8所述的方法,其中,比较所述车辆占用轨迹和与环境中的所述对象关联的所述对象占用轨迹包括:确定所述车辆占用轨迹的顶点是否与任一所述对象占用轨迹的边缘交叉。
17.根据权利要求8所述的方法,其中,比较所述车辆占用轨迹和与环境中的所述对象关联的所述对象占用轨迹包括:确定任一所述对象占用轨迹的顶点是否与所述车辆占用轨迹的边缘交叉。
18.一种方法,包括:至少部分地基于一时间处的车辆的车辆状态和用于所述车辆的第一安全程序,生成车辆占用轨迹,所述车辆占用轨迹代表如果车辆要在所述时间处实现所述第一安全程序时、所述车辆占用的环境中的第一点;至少部分地基于所述时间处的对象的对象状态和用于所述对象的第二安全程序,生成对象占用轨迹,所述对象占用轨迹代表如果所述对象要在所述时间处实现所述第二安全程序时、所述对象占用的环境中的第二点;确定所述第一点中的至少一个被包括在所述第二点中;计算与实现所述第一安全程序的所述车辆和实现所述第二安全程序的所述对象关联的第一安全隐患;计算与在所述时间处实现除了所述第一安全程序之外的替代程序的所述车辆和实现所述第二安全程序的所述对象关联的第二安全隐患;以及至少部分地基于确定所述第二安全隐患与比所述第一安全隐患导致所述车辆和所述对象之间的碰撞的较小可能性关联,而执行所述替代程序。
19.根据权利要求18所述的方法,其中,计算所述第二安全隐患包括:执行扰动分析,以确定与包括所述替代程序的所述车辆的多个程序相关联的安全隐患。
20.根据权利要求18所述的方法,还包括:至少部分地基于在所述时间处所述车辆的车辆状态和用于所述车辆的所述替代程序,生成替代车辆占用轨迹,所述替代车辆占用轨迹代表如果车辆要在所述时间处实现所述替代程序时、所述车辆占用的环境中的第三点,其中所述计算第二安全隐患包括确定所述第三点中的至少一个是否包括在所述第二点中。
CN201980001151.XA 2018-02-02 2019-02-01 自主车辆中用于障碍物躲避的安全程序分析 Pending CN110352153A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862625351P 2018-02-02 2018-02-02
US62/625,351 2018-02-02
US201862760916P 2018-11-13 2018-11-13
US62/760,916 2018-11-13
US201862768064P 2018-11-15 2018-11-15
US62/768,064 2018-11-15
PCT/US2019/016418 WO2019152888A1 (en) 2018-02-02 2019-02-01 Safety procedure analysis for obstacle avoidance in autonomous vehicle

Publications (1)

Publication Number Publication Date
CN110352153A true CN110352153A (zh) 2019-10-18

Family

ID=67475511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980001151.XA Pending CN110352153A (zh) 2018-02-02 2019-02-01 自主车辆中用于障碍物躲避的安全程序分析

Country Status (4)

Country Link
US (4) US11079764B2 (zh)
CN (1) CN110352153A (zh)
DE (1) DE112019000065T5 (zh)
WO (1) WO2019152888A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110775056A (zh) * 2019-11-25 2020-02-11 苏州智加科技有限公司 基于雷达探测的车辆行驶方法、装置、终端及介质
CN110796242A (zh) * 2019-11-01 2020-02-14 广东三维家信息科技有限公司 神经网络模型推理方法、装置、电子设备及可读介质
CN111178286A (zh) * 2019-12-31 2020-05-19 智车优行科技(上海)有限公司 姿态轨迹预测方法、装置及电子设备
CN111186437A (zh) * 2019-12-25 2020-05-22 北京三快在线科技有限公司 一种车辆轨迹的风险确定方法及装置
CN111857905A (zh) * 2019-04-25 2020-10-30 安波福技术有限公司 自主运载工具行为的显示所用的图形用户界面
CN111966092A (zh) * 2020-07-21 2020-11-20 北京三快在线科技有限公司 无人车的控制方法、装置、存储介质、电子设备和无人车
CN112977472A (zh) * 2019-12-12 2021-06-18 百度(美国)有限责任公司 预测车辆的移动轨迹的方法及系统
WO2021171112A1 (en) * 2020-02-28 2021-09-02 International Business Machines Corporation Autonomous driving evaluation using data analysis
CN113442917A (zh) * 2020-03-27 2021-09-28 Aptiv技术有限公司 用于宿主机动车辆的警告系统
CN113762473A (zh) * 2021-08-25 2021-12-07 江苏大学 一种基于多时空图的复杂场景行车风险预测方法
CN113799794A (zh) * 2020-06-16 2021-12-17 华为技术有限公司 车辆纵向运动参数的规划方法和装置
CN113903184A (zh) * 2020-06-22 2022-01-07 奥迪股份公司 车辆状态显示方法、装置、车载电子设备及车辆
CN114384819A (zh) * 2020-10-02 2022-04-22 丰田自动车株式会社 服务管理装置
CN114379574A (zh) * 2020-10-20 2022-04-22 沃尔沃汽车公司 用于车辆的对象提醒设备、系统和方法
CN114523963A (zh) * 2020-11-23 2022-05-24 Aptiv技术有限公司 预测与宿主车辆的道路碰撞的系统和方法
US11644331B2 (en) 2020-02-28 2023-05-09 International Business Machines Corporation Probe data generating system for simulator
US11702101B2 (en) 2020-02-28 2023-07-18 International Business Machines Corporation Automatic scenario generator using a computer for autonomous driving
US11884155B2 (en) 2019-04-25 2024-01-30 Motional Ad Llc Graphical user interface for display of autonomous vehicle behaviors
US11938953B2 (en) 2018-10-29 2024-03-26 Motional Ad Llc Systems and methods for controlling actuators based on load characteristics and passenger comfort

Families Citing this family (179)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016093725A1 (ru) * 2014-12-08 2016-06-16 Инвенсенс Интернешнл, Инк. Способ позиционирования мобильного терминала в момент происхождения триггерного события
US20210373575A1 (en) * 2016-08-02 2021-12-02 Transportation Ip Holdings, Llc Vehicle control system and method
US10252717B2 (en) * 2017-01-10 2019-04-09 Toyota Jidosha Kabushiki Kaisha Vehicular mitigation system based on wireless vehicle data
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US20210166568A1 (en) * 2017-06-16 2021-06-03 FLIR Belgium BVBA Collision avoidance systems and methods
US11155274B2 (en) * 2017-07-20 2021-10-26 Nissan Motor Co., Ltd. Vehicle travel control method and vehicle travel control device
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US20190079526A1 (en) * 2017-09-08 2019-03-14 Uber Technologies, Inc. Orientation Determination in Object Detection and Tracking for Autonomous Vehicles
KR102026697B1 (ko) * 2017-09-21 2019-09-30 엘지전자 주식회사 주행 시스템 및 차량
CN109840448A (zh) * 2017-11-24 2019-06-04 百度在线网络技术(北京)有限公司 用于无人驾驶车辆的信息输出方法和装置
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
CN110352153A (zh) * 2018-02-02 2019-10-18 辉达公司 自主车辆中用于障碍物躲避的安全程序分析
WO2019157193A1 (en) 2018-02-09 2019-08-15 Nvidia Corporation Controlling autonomous vehicles using safe arrival times
US11995551B2 (en) 2018-02-14 2024-05-28 Nvidia Corporation Pruning convolutional neural networks
WO2019168869A1 (en) 2018-02-27 2019-09-06 Nvidia Corporation Real-time detection of lanes and boundaries by autonomous vehicles
CN110494863B (zh) 2018-03-15 2024-02-09 辉达公司 确定自主车辆的可驾驶自由空间
EP3805063B1 (en) 2018-03-20 2024-02-28 Mobileye Vision Technologies Ltd. Automated driving system and machine readable storage medium
US11080590B2 (en) 2018-03-21 2021-08-03 Nvidia Corporation Stereo depth estimation using deep neural networks
US10877152B2 (en) 2018-03-27 2020-12-29 The Mathworks, Inc. Systems and methods for generating synthetic sensor data
CN112041908A (zh) * 2018-04-27 2020-12-04 上海趋视信息科技有限公司 监控交通标志违规的系统和方法
DE102018207102A1 (de) * 2018-05-08 2019-11-14 Robert Bosch Gmbh Verfahren zur Ermittlung der Trajektorienfolgegenauigkeit
US11966838B2 (en) 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
JP6939723B2 (ja) * 2018-07-02 2021-09-22 株式会社デンソー 衝突判定装置
DE102018211240A1 (de) * 2018-07-07 2020-01-09 Robert Bosch Gmbh Verfahren zum Klassifizieren einer Relevanz eines Objekts
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11287814B2 (en) 2018-08-07 2022-03-29 GM Global Technology Operations LLC Lane change detection system and method for an autonomous vehicle
EP3854646B1 (en) 2018-08-14 2024-05-29 Mobileye Vision Technologies Ltd. Systems and methods for navigating with safe distances
US10479356B1 (en) 2018-08-17 2019-11-19 Lyft, Inc. Road segment similarity determination
US10942030B2 (en) 2018-08-17 2021-03-09 Lyft, Inc. Road segment similarity determination
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US20200074230A1 (en) 2018-09-04 2020-03-05 Luminar Technologies, Inc. Automatically generating training data for a lidar using simulated vehicles in virtual space
US11155259B2 (en) * 2018-09-13 2021-10-26 Honda Motor Co., Ltd. System and method for egocentric-vision based future vehicle localization
JP2022504713A (ja) 2018-10-11 2022-01-13 テスラ,インコーポレイテッド 拡張データによって機械モデルを訓練するためのシステムおよび方法
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11827241B2 (en) * 2018-10-29 2023-11-28 Motional Ad Llc Adjusting lateral clearance for a vehicle using a multi-dimensional envelope
US11260876B2 (en) * 2018-11-05 2022-03-01 Robert Bosch Gmbh Inter-vehicle sensor validation using senso-fusion network
DE112019005750T5 (de) 2018-11-16 2021-08-05 Nvidia Corporation Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
US10843694B2 (en) * 2018-11-19 2020-11-24 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicle height detection and environmental warning system
US10936902B1 (en) 2018-11-27 2021-03-02 Zoox, Inc. Training bounding box selection
US11010907B1 (en) * 2018-11-27 2021-05-18 Zoox, Inc. Bounding box selection
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
KR102569134B1 (ko) * 2018-12-18 2023-08-22 모셔널 에이디 엘엘씨 머신 러닝을 이용한 모션 계획을 사용한 차량의 동작
EP3692339B1 (en) * 2018-12-26 2022-02-09 Baidu.com Times Technology (Beijing) Co., Ltd. Polynomial-fit based reference line smoothing method for high speed planning of autonomous driving vehicles
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
WO2020140049A1 (en) 2018-12-28 2020-07-02 Nvidia Corporation Distance to obstacle detection in autonomous machine applications
US11170299B2 (en) 2018-12-28 2021-11-09 Nvidia Corporation Distance estimation to objects and free-space boundaries in autonomous machine applications
US11214268B2 (en) * 2018-12-28 2022-01-04 Intel Corporation Methods and apparatus for unsupervised multimodal anomaly detection for autonomous vehicles
JP7256982B2 (ja) 2018-12-28 2023-04-13 スズキ株式会社 車両の走行制御装置
DE112019006484T5 (de) 2018-12-28 2021-10-21 Nvidia Corporation Detektion von abständen zu hindernissen in autonomen maschinenanwendungen
US11656620B2 (en) * 2018-12-31 2023-05-23 Luminar, Llc Generating environmental parameters based on sensor data using machine learning
US11127292B2 (en) * 2019-01-18 2021-09-21 GM Global Technology Operations LLC Methods and apparatus for detetermining lane-level static and dynamic information
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
WO2020163390A1 (en) 2019-02-05 2020-08-13 Nvidia Corporation Driving lane perception diversity and redundancy in autonomous driving applications
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
DE102019202026A1 (de) * 2019-02-15 2020-08-20 Zf Friedrichshafen Ag Verfahren und Steuereinrichtung zur Fahrzeugkollisionsvermeidung
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
JP7205768B2 (ja) * 2019-03-08 2023-01-17 スズキ株式会社 車両の走行制御装置
CN113811886B (zh) 2019-03-11 2024-03-19 辉达公司 自主机器应用中的路口检测和分类
JP7147651B2 (ja) * 2019-03-22 2022-10-05 トヨタ自動車株式会社 物体認識装置及び車両制御システム
US11155258B2 (en) * 2019-03-25 2021-10-26 GM Global Technology Operations LLC System and method for radar cross traffic tracking and maneuver risk estimation
JP7248478B2 (ja) * 2019-03-28 2023-03-29 本田技研工業株式会社 車両制御装置、端末装置、サーバ装置、車両、車両制御システム及び車両制御方法
US10953873B2 (en) * 2019-03-29 2021-03-23 Intel Corporation Extension to safety protocols for autonomous vehicle operation
US11226624B2 (en) * 2019-04-11 2022-01-18 Motorola Solutions, Inc. System and method for enabling a 360-degree threat detection sensor system to monitor an area of interest surrounding a vehicle
JP7421569B2 (ja) * 2019-04-12 2024-01-24 ボルボトラックコーポレーション 連結車両の許容可能な車両の状態空間を決定する方法
KR20200133920A (ko) * 2019-05-21 2020-12-01 현대자동차주식회사 인공신경망 기반의 투사정보 인식 장치 및 그 방법
JP7227072B2 (ja) * 2019-05-22 2023-02-21 日立Astemo株式会社 車両制御装置
US11214253B2 (en) * 2019-05-24 2022-01-04 Toyota Jidosha Kabushiki Kaisha Longitudinal motion control of connected and automated vehicles
US10713950B1 (en) * 2019-06-13 2020-07-14 Autonomous Roadway Intelligence, Llc Rapid wireless communication for vehicle collision mitigation
US11928557B2 (en) 2019-06-13 2024-03-12 Lyft, Inc. Systems and methods for routing vehicles to capture and evaluate targeted scenarios
US10625748B1 (en) * 2019-06-28 2020-04-21 Lyft, Inc. Approaches for encoding environmental information
US11449475B2 (en) 2019-06-28 2022-09-20 Lyft, Inc. Approaches for encoding environmental information
US11157007B2 (en) 2019-06-28 2021-10-26 Lyft, Inc. Approaches for encoding environmental information
US10838061B1 (en) 2019-07-16 2020-11-17 Blackmore Sensors & Analytics, LLC. Method and system for enhanced velocity resolution and signal to noise ratio in optical phase-encoded range detection
JP7201550B2 (ja) * 2019-07-29 2023-01-10 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
US10956776B2 (en) 2019-08-06 2021-03-23 Alibaba Group Holding Limited 2D convolutional accelerator that generates 3D results
US11161502B2 (en) * 2019-08-13 2021-11-02 Zoox, Inc. Cost-based path determination
US11194939B2 (en) * 2019-08-16 2021-12-07 Uatc, Llc Hardware in loop testing and generation of latency profiles for use in simulation
WO2021034802A1 (en) 2019-08-22 2021-02-25 Argo AI, LLC Systems and methods for trajectory based safekeeping of vehicles
US11713978B2 (en) 2019-08-31 2023-08-01 Nvidia Corporation Map creation and localization for autonomous driving applications
US11541882B2 (en) 2019-09-24 2023-01-03 Volvo Car Corporation Low-impact collision detection
US20200019177A1 (en) * 2019-09-24 2020-01-16 Intel Corporation Cognitive robotic systems and methods with fear based action/reaction
JP7393730B2 (ja) 2019-09-26 2023-12-07 スズキ株式会社 車両の走行制御装置
WO2021066794A1 (en) * 2019-09-30 2021-04-08 Siemens Aktiengesellschaft Machine learning enabled visual servoing with dedicated hardware acceleration
US11788846B2 (en) 2019-09-30 2023-10-17 Lyft, Inc. Mapping and determining scenarios for geographic regions
US11994866B2 (en) 2019-10-02 2024-05-28 Zoox, Inc. Collision avoidance perception system
US11726492B2 (en) * 2019-10-02 2023-08-15 Zoox, Inc. Collision avoidance perception system
US11315431B2 (en) * 2019-10-09 2022-04-26 Uatc, Llc Systems and methods for autonomous vehicle controls
US11754408B2 (en) * 2019-10-09 2023-09-12 Argo AI, LLC Methods and systems for topological planning in autonomous driving
US11273806B2 (en) * 2019-10-17 2022-03-15 Ford Global Technologies, Llc Enhanced collision mitigation
US20210114625A1 (en) * 2019-10-18 2021-04-22 WeRide Corp. System and method for autonomous collision avoidance
US11816900B2 (en) 2019-10-23 2023-11-14 Lyft, Inc. Approaches for encoding environmental information
US11420630B2 (en) * 2019-10-24 2022-08-23 Zoox, Inc. Trajectory modifications based on a collision zone
US11643073B2 (en) 2019-10-24 2023-05-09 Zoox, Inc. Trajectory modifications based on a collision zone
JP7469022B2 (ja) * 2019-10-29 2024-04-16 ファナック株式会社 ロボットシステム
US11693415B2 (en) * 2019-11-06 2023-07-04 Waymo Llc Predicting cut-in probabilities of surrounding agents
CN110794839B (zh) * 2019-11-07 2022-04-29 中国第一汽车股份有限公司 一种异形路口的自动驾驶控制方法及车辆
CN110687797B (zh) * 2019-11-11 2022-04-19 湖南大学 一种基于位置和姿态的自适应mpc泊车横向控制方法
JP2021086552A (ja) * 2019-11-29 2021-06-03 三菱電機株式会社 情報処理装置、表示方法、及び表示プログラム
BR112022010315A2 (pt) * 2019-12-02 2022-08-16 Nissan Motor Método de controle de veículo e dispositivo de controle de veículo
US11609576B2 (en) * 2019-12-05 2023-03-21 Baidu Usa Llc Emergency vehicle audio detection
KR102304018B1 (ko) * 2019-12-10 2021-09-23 주식회사 라이드플럭스 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램
WO2021118809A1 (en) * 2019-12-11 2021-06-17 Nvidia Corporation Surface profile estimation and bump detection for autonomous machine applications
RU2757234C2 (ru) * 2019-12-25 2021-10-12 Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" Способ и система для вычисления данных для управления работой беспилотного автомобиля
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
CN113160547B (zh) * 2020-01-22 2023-02-03 华为技术有限公司 一种自动驾驶方法及相关设备
DE102020200911B3 (de) * 2020-01-27 2020-10-29 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erkennen von Objekten in einer Umgebung eines Fahrzeugs
US11605298B2 (en) * 2020-01-29 2023-03-14 Toyota Motor Engineering & Manufacturing North America, Inc. Pedestrian navigation based on vehicular collaborative computing
CN111175733B (zh) * 2020-02-05 2022-04-29 北京小马慧行科技有限公司 车身的角度的识别方法及装置、存储介质、处理器
DE102020001083A1 (de) * 2020-02-20 2021-08-26 Man Truck & Bus Se Sensorvorrichtung zur Umfelderfassung für ein Kraftfahrzeug
JP7345043B2 (ja) * 2020-02-24 2023-09-14 日産自動車株式会社 車両制御方法及び車両制御装置
CN111753623B (zh) * 2020-03-12 2024-03-05 北京京东乾石科技有限公司 一种运动物体的检测方法、装置、设备及存储介质
JP7383532B2 (ja) * 2020-03-12 2023-11-20 本田技研工業株式会社 制御装置及び車両
US11364883B2 (en) * 2020-03-27 2022-06-21 Nvidia Corporation Leveraging rear-view sensors for automatic emergency braking in autonomous machine applications
JP7036857B2 (ja) * 2020-03-27 2022-03-15 本田技研工業株式会社 車両及びその制御装置
US11995989B2 (en) * 2020-03-31 2024-05-28 Gm Cruise Holdings Llc Visualization of planned autonomous vehicle behavior
DE102020109875A1 (de) 2020-04-08 2021-10-14 Technische Universität Darmstadt Vorrichtung zur Abschätzung einer Fahrzeit bis zu Zusammentreffen
CN111645682B (zh) * 2020-04-20 2021-12-28 长城汽车股份有限公司 一种巡航控制方法、系统及车辆
US20210341926A1 (en) * 2020-04-29 2021-11-04 Gm Cruise Holdings Llc Dynamic tire rotation during collision
KR20210135389A (ko) * 2020-05-04 2021-11-15 현대자동차주식회사 장애물 인식 장치, 그를 포함하는 차량 시스템 및 그 방법
WO2021226921A1 (en) * 2020-05-14 2021-11-18 Harman International Industries, Incorporated Method and system of data processing for autonomous driving
US11465619B2 (en) * 2020-05-27 2022-10-11 Zoox, Inc. Vehicle collision avoidance based on perturbed object trajectories
EP4154029A1 (en) * 2020-06-24 2023-03-29 Airmar Technology Corporation Underwater camera with sonar fusion
CN111857135A (zh) * 2020-06-30 2020-10-30 北京百度网讯科技有限公司 用于车辆的避障方法、装置、电子设备和计算机存储介质
DE102020210376A1 (de) * 2020-08-14 2022-02-17 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Hardware-Agenten in einer Steuersituation mit mehreren Hardware-Agenten
CN112172806B (zh) * 2020-08-31 2022-03-22 恒大新能源汽车投资控股集团有限公司 车辆状态的调整装置、方法和电子设备
US20220063666A1 (en) * 2020-09-01 2022-03-03 Motional Ad Llc Scoring autonomous vehicle trajectories using reasonable crowd data
DE102020125095B4 (de) * 2020-09-25 2024-02-29 Volocopter Gmbh Verfahren zum Betreiben eines Fluggeräts, Flugsteuerungsvorrichtung für ein Fluggerät und Fluggerät mit mehreren Antriebseinheiten
US11731661B2 (en) 2020-10-01 2023-08-22 Argo AI, LLC Systems and methods for imminent collision avoidance
US11618444B2 (en) 2020-10-01 2023-04-04 Argo AI, LLC Methods and systems for autonomous vehicle inference of routes for actors exhibiting unrecognized behavior
US11521394B2 (en) * 2020-10-09 2022-12-06 Motional Ad Llc Ground plane estimation using LiDAR semantic network
US20220122363A1 (en) * 2020-10-21 2022-04-21 Motional Ad Llc IDENTIFYING OBJECTS USING LiDAR
US11978266B2 (en) 2020-10-21 2024-05-07 Nvidia Corporation Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications
US11603095B2 (en) 2020-10-30 2023-03-14 Zoox, Inc. Collision avoidance planning system
US20220135075A1 (en) * 2020-11-02 2022-05-05 Nvidia Corporation Safety decomposition architecture for autonomous machine applications
US11794732B2 (en) * 2020-11-05 2023-10-24 Zoox, Inc. Allocation of safety system resources based on probability of intersection
DE102020214033A1 (de) * 2020-11-09 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Steuern einer Sicherheitseinrichtung eines Fahrzeugs und Sicherheitssystem für ein Fahrzeug
DE102020214031A1 (de) * 2020-11-09 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Steuern einer Sicherheitseinrichtung eines Fahrzeugs und Sicherheitssystem für ein Fahrzeug
US20220171397A1 (en) * 2020-12-02 2022-06-02 The Boeing Company Computing device and method for tracking movement of objects
US11738777B2 (en) 2020-12-21 2023-08-29 Zoox, Inc. Dynamic autonomous control engagement
US11912302B2 (en) * 2020-12-21 2024-02-27 Zoox, Inc. Autonomous control engagement
WO2022140063A1 (en) * 2020-12-21 2022-06-30 Zoox, Inc. Autonomous control engagement
KR20220095317A (ko) * 2020-12-29 2022-07-07 현대자동차주식회사 차량
CN116264831A (zh) * 2020-12-30 2023-06-16 祖克斯有限公司 使用对象轮廓避免碰撞
US11960009B2 (en) 2020-12-30 2024-04-16 Zoox, Inc. Object contour determination
US20220204029A1 (en) * 2020-12-30 2022-06-30 Zoox, Inc. Collision avoidance using an object contour
US20220212694A1 (en) * 2021-01-07 2022-07-07 Argo AI, LLC Methods and systems for generating a longitudinal plan for an autonomous vehicle based on behavior of uncertain road users
US11724641B2 (en) 2021-01-26 2023-08-15 Ford Global Technologies, Llc Hazard condition warning for package delivery operation
US20220234618A1 (en) * 2021-01-28 2022-07-28 Motional Ad Llc Homotopic-based planner for autonomous vehicles
EP4309019A2 (en) * 2021-03-15 2024-01-24 Motional AD LLC Trajectory checker
EP4068241A1 (en) * 2021-03-30 2022-10-05 Siemens Industry Software NV Driving assistance system and method of controlling autonomous vehicles
US20220315047A1 (en) * 2021-03-30 2022-10-06 Honda Research Institute Europe Gmbh Method, system and vehicle with an uncertainty-based lane positioning control
US11783708B2 (en) 2021-05-10 2023-10-10 Ford Global Technologies, Llc User-tailored roadway complexity awareness
US11851054B2 (en) * 2021-06-18 2023-12-26 Zoox, Inc. Active prediction based on object trajectories
KR20230005556A (ko) * 2021-07-01 2023-01-10 현대모비스 주식회사 충돌 경고 장치 및 그것을 포함하는 차량
US20230142674A1 (en) * 2021-07-23 2023-05-11 Zoox, Inc. Radar data analysis and concealed object detection
US20230031130A1 (en) * 2021-07-30 2023-02-02 Waymo Llc Open door reconstruction for sensor simulation
CN113682321A (zh) * 2021-08-24 2021-11-23 蔚来汽车科技(安徽)有限公司 用于在汽车电子系统中转移车辆控制权的方法和装置
EP4140842B1 (en) * 2021-08-26 2024-06-05 Aptiv Technologies AG Methods and systems for controlling a vehicle
CN114170789B (zh) * 2021-10-20 2023-06-20 南京理工大学 基于时空图神经网络的智能网联车换道决策建模方法
CN116151496A (zh) * 2021-11-16 2023-05-23 南宁富联富桂精密工业有限公司 自动导引车调度方法、电子装置及存储介质
US20230166759A1 (en) * 2021-12-01 2023-06-01 Toyota Research Institute, Inc. Systems and methods for improving localization accuracy by sharing dynamic object localization information
CN113978457B (zh) * 2021-12-24 2022-05-03 深圳佑驾创新科技有限公司 一种碰撞风险预测方法及装置
FR3132482A1 (fr) * 2022-02-04 2023-08-11 Renault S.A.S Procédé de détection de danger dans l’environnement d’un véhicule automobile
CN114187764B (zh) * 2022-02-16 2022-05-13 深圳佑驾创新科技有限公司 一种针对vru穿行场景的碰撞危险度快速检测方法
US20230347880A1 (en) * 2022-04-29 2023-11-02 Zoox, Inc. Systems and methods for determining buffer regions
US20230419830A1 (en) * 2022-06-27 2023-12-28 Zoox, Inc. Determining right of way
CN114859374B (zh) * 2022-07-11 2022-09-09 中国铁路设计集团有限公司 基于无人机激光点云和影像融合的新建铁路交叉测量方法
CN115092136B (zh) * 2022-07-27 2023-09-12 广州小鹏自动驾驶科技有限公司 车速规划方法、装置、车辆及存储介质
WO2024035738A1 (en) * 2022-08-09 2024-02-15 Motional Ad Llc Methods and systems for obstacle representation
DE102022128153A1 (de) * 2022-10-25 2024-04-25 Bayerische Motoren Werke Aktiengesellschaft Verfahren und System zum Koordinieren von autonomen Fahrzeugen in wenigstens einem Verkehrsbereich
FR3142426A1 (fr) * 2022-11-25 2024-05-31 Renault S.A.S Procédé de freinage d’urgence d’un véhicule automobile.
CN116129392B (zh) * 2023-04-17 2023-07-14 北京集度科技有限公司 车道线横向完整性的识别方法、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125177A1 (en) * 2007-11-13 2009-05-14 Denso Corporation Driving assistance apparatus
US20130054106A1 (en) * 2011-08-22 2013-02-28 Honda Research Institute Europe Gmbh Method and system for predicting movement behavior of a target traffic object
US20160001775A1 (en) * 2014-07-03 2016-01-07 Robert Bosch Gmbh Method for ascertaining an emergency trajectory and method for partially automated or automated driving of an ego-vehicle
CN106428009A (zh) * 2015-07-31 2017-02-22 福特全球技术公司 车辆轨迹确定
CN106608263A (zh) * 2015-10-27 2017-05-03 通用汽车环球科技运作有限责任公司 用于避免在左转或右转交叉口汽车碰撞的算法
DE102015221920A1 (de) * 2015-11-09 2017-05-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Computerprogrammprodukt, Vorrichtung, und Fahrzeug umfassend die Vorrichtung zum Steuern einer Trajektorienplanung eines Egofahrzeugs
DE102015226762A1 (de) * 2015-12-28 2017-06-29 Robert Bosch Gmbh Verfahren zur Korrektur mindestens eines Kollisionsparameters und korrespondierendes integriertes Sicherheitssystem für ein Fahrzeug

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393362B1 (en) 2000-03-07 2002-05-21 Modular Mining Systems, Inc. Dynamic safety envelope for autonomous-vehicle collision avoidance system
US7852462B2 (en) 2000-05-08 2010-12-14 Automotive Technologies International, Inc. Vehicular component control methods based on blind spot monitoring
JP4159794B2 (ja) 2001-05-02 2008-10-01 本田技研工業株式会社 画像処理装置及び方法
MXPA05001880A (es) 2002-08-21 2005-06-03 Gentex Corp Metodos de adquisicion y procesamiento de imagen para control automatico de iluminacion exterior vehicular.
US7068815B2 (en) 2003-06-13 2006-06-27 Sarnoff Corporation Method and apparatus for ground detection and removal in vision systems
US7409295B2 (en) * 2004-08-09 2008-08-05 M/A-Com, Inc. Imminent-collision detection system and process
JP2006189325A (ja) 2005-01-06 2006-07-20 Aisin Aw Co Ltd 車両の現在地情報管理装置
US8164628B2 (en) 2006-01-04 2012-04-24 Mobileye Technologies Ltd. Estimating distance to an object using a sequence of images recorded by a monocular camera
ATE519193T1 (de) 2006-12-06 2011-08-15 Mobileye Technologies Ltd Detektion und erkennung von verkehrszeichen
CA2721375C (en) 2008-04-14 2016-11-29 Google Inc. Panning using virtual surfaces
US8352112B2 (en) 2009-04-06 2013-01-08 GM Global Technology Operations LLC Autonomous vehicle management
KR101717787B1 (ko) 2010-04-29 2017-03-17 엘지전자 주식회사 디스플레이장치 및 그의 음성신호 출력 방법
KR101225626B1 (ko) 2010-07-19 2013-01-24 포항공과대학교 산학협력단 차선 인식 시스템 및 방법
US9489635B1 (en) 2012-11-01 2016-11-08 Google Inc. Methods and systems for vehicle perception feedback to classify data representative of types of objects and to request feedback regarding such classifications
CN104424466B (zh) 2013-08-21 2018-05-15 佳能株式会社 对象检测方法、对象检测设备及图像拾取设备
US9373057B1 (en) 2013-11-01 2016-06-21 Google Inc. Training a neural network to detect objects in images
EP2950175B1 (de) 2014-05-27 2021-03-31 dSPACE digital signal processing and control engineering GmbH Verfahren und Vorrichtung zum Testen eines Steuergerätes
EP3734504A1 (en) * 2015-02-10 2020-11-04 Mobileye Vision Technologies Ltd. Sparse map for autonomous vehicle navigation
US9811756B2 (en) 2015-02-23 2017-11-07 Mitsubishi Electric Research Laboratories, Inc. Method for labeling images of street scenes
US11630800B2 (en) 2015-05-01 2023-04-18 Nvidia Corporation Programmable vision accelerator
WO2016183074A1 (en) 2015-05-10 2016-11-17 Mobileye Vision Technologies Ltd. Road profile along a predicted path
US10002471B2 (en) 2015-09-30 2018-06-19 Ants Technology (Hk) Limited Systems and methods for autonomous vehicle navigation
US9983591B2 (en) 2015-11-05 2018-05-29 Ford Global Technologies, Llc Autonomous driving at intersections based on perception data
DE102016220945A1 (de) 2015-11-06 2017-05-11 Ford Global Technologies, Llc Verfahren und Vorrichtung zum Unterstützen eines Manövriervorganges eines Kraftfahrzeuges
US10800455B2 (en) 2015-12-17 2020-10-13 Ford Global Technologies, Llc Vehicle turn signal detection
US10134278B1 (en) 2016-01-22 2018-11-20 State Farm Mutual Automobile Insurance Company Autonomous vehicle application
US9996771B2 (en) 2016-02-15 2018-06-12 Nvidia Corporation System and method for procedurally synthesizing datasets of objects of interest for training machine-learning models
US9802599B2 (en) 2016-03-08 2017-10-31 Ford Global Technologies, Llc Vehicle lane placement
JP6575818B2 (ja) 2016-03-25 2019-09-18 パナソニックIpマネジメント株式会社 運転支援方法およびそれを利用した運転支援装置、自動運転制御装置、車両、運転支援システム、プログラム
US9701307B1 (en) * 2016-04-11 2017-07-11 David E. Newman Systems and methods for hazard mitigation
US10032067B2 (en) 2016-05-28 2018-07-24 Samsung Electronics Co., Ltd. System and method for a unified architecture multi-task deep learning machine for object recognition
CN106114507B (zh) 2016-06-21 2018-04-03 百度在线网络技术(北京)有限公司 用于智能车辆的局部轨迹规划方法和装置
CN109416257B (zh) 2016-06-27 2020-07-07 御眼视觉技术有限公司 检测主车辆行驶道路的系统和方法、导航主车辆的系统及计算机可读介质
EP3475778A4 (en) 2016-06-28 2019-12-18 Cognata Ltd. CREATION AND SIMULATION OF A REALISTIC 3D VIRTUAL WORLD FOR DRIVING SELF-CONDUCTIVE SYSTEMS
WO2018021046A1 (ja) 2016-07-26 2018-02-01 株式会社カネカ 3hh単位含有共重合phaを生産する形質転換体、及び当該phaの製造方法
GB2553782B (en) 2016-09-12 2021-10-20 Niantic Inc Predicting depth from image data using a statistical model
US10127670B2 (en) 2016-09-27 2018-11-13 Xactware Solutions, Inc. Computer vision systems and methods for detecting and modeling features of structures in images
US10053091B2 (en) 2016-10-25 2018-08-21 Baidu Usa Llc Spring system-based change lane approach for autonomous vehicles
US10289469B2 (en) 2016-10-28 2019-05-14 Nvidia Corporation Reliability enhancement utilizing speculative execution systems and methods
US20180136332A1 (en) 2016-11-15 2018-05-17 Wheego Electric Cars, Inc. Method and system to annotate objects and determine distances to objects in an image
EP3549102B1 (en) 2016-12-02 2021-05-26 Google LLC Determining structure and motion in images using neural networks
US20180158244A1 (en) 2016-12-02 2018-06-07 Ayotle Virtual sensor configuration
CN106740457A (zh) 2016-12-07 2017-05-31 镇江市高等专科学校 基于bp神经网络模型的车辆换道决策方法
US10268200B2 (en) 2016-12-21 2019-04-23 Baidu Usa Llc Method and system to predict one or more trajectories of a vehicle based on context surrounding the vehicle
CN111542860A (zh) 2016-12-30 2020-08-14 迪普迈普有限公司 用于自主车辆的高清地图的标志和车道创建
US10137896B2 (en) 2016-12-30 2018-11-27 Baidu Usa Llc Method and system for operating autonomous driving vehicles using graph-based lane change guide
US10691847B2 (en) 2017-01-13 2020-06-23 Sap Se Real-time damage determination of an asset
US20210129868A1 (en) 2017-02-06 2021-05-06 Vayavision Sensing Ltd. Computer aided driving
EP3580084B1 (en) 2017-02-10 2022-07-06 Nissan North America, Inc. Autonomous vehicle operational management including operating a partially observable markov decision process model instance
US11288595B2 (en) 2017-02-14 2022-03-29 Groq, Inc. Minimizing memory and processor consumption in creating machine learning models
US10906583B2 (en) 2017-03-03 2021-02-02 Continental Automotive Systems, Inc. Autonomous trailer hitching using neural network
US10209718B2 (en) 2017-03-14 2019-02-19 Starsky Robotics, Inc. Vehicle sensor system and method of use
US10139831B2 (en) 2017-03-17 2018-11-27 Denso International America, Inc. Vehicle system and vehicle controller for controlling vehicle
US11899669B2 (en) 2017-03-20 2024-02-13 Carnegie Mellon University Searching of data structures in pre-processing data for a machine learning classifier
KR102406507B1 (ko) 2017-03-27 2022-06-10 현대자동차주식회사 딥러닝 기반 자율주행 차량 제어 장치, 그를 포함한 시스템 및 그 방법
US10460180B2 (en) 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10108867B1 (en) 2017-04-25 2018-10-23 Uber Technologies, Inc. Image-based pedestrian detection
US10528059B2 (en) 2017-05-24 2020-01-07 Uatc, Llc Systems and methods for controlling autonomous vehicles that provide a vehicle service to users
US11436539B2 (en) 2017-05-26 2022-09-06 Google Llc Vehicle map service system
US20180349746A1 (en) 2017-05-31 2018-12-06 Uber Technologies, Inc. Top-View Lidar-Based Object Detection
US10310087B2 (en) 2017-05-31 2019-06-04 Uber Technologies, Inc. Range-view LIDAR-based object detection
US10346888B2 (en) 2017-06-16 2019-07-09 Uber Technologies, Inc. Systems and methods to obtain passenger feedback in response to autonomous vehicle driving events
US10007269B1 (en) 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle
US11214273B2 (en) 2017-06-23 2022-01-04 Nvidia Corporation Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system
US20180373980A1 (en) 2017-06-27 2018-12-27 drive.ai Inc. Method for training and refining an artificial intelligence
US10579063B2 (en) 2017-07-21 2020-03-03 Uatc, Llc Machine learning for predicting locations of objects perceived by autonomous vehicles
WO2019028725A1 (en) 2017-08-10 2019-02-14 Intel Corporation CONVOLUTIVE NEURAL NETWORK STRUCTURE USING INVERTED CONNECTIONS AND OBJECTIVITY ANTERIORITIES TO DETECT AN OBJECT
US10339669B2 (en) 2017-08-22 2019-07-02 Here Global B.V. Method, apparatus, and system for a vertex-based evaluation of polygon similarity
US11487988B2 (en) 2017-08-31 2022-11-01 Ford Global Technologies, Llc Augmenting real sensor recordings with simulated sensor data
KR102026697B1 (ko) * 2017-09-21 2019-09-30 엘지전자 주식회사 주행 시스템 및 차량
US10579897B2 (en) 2017-10-02 2020-03-03 Xnor.ai Inc. Image based object detection
US10997491B2 (en) 2017-10-04 2021-05-04 Huawei Technologies Co., Ltd. Method of prediction of a state of an object in the environment using an action model of a neural network
US10599546B1 (en) 2017-10-25 2020-03-24 Uatc, Llc Autonomous vehicle testing systems and methods
US20190129831A1 (en) 2017-10-27 2019-05-02 Uber Technologies, Inc. Autonomous Vehicle Simulation Testing Systems and Methods
US10580158B1 (en) 2017-11-03 2020-03-03 Zoox, Inc. Dense depth estimation of image data
US11644834B2 (en) * 2017-11-10 2023-05-09 Nvidia Corporation Systems and methods for safe and reliable autonomous vehicles
US11017550B2 (en) 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
US11062461B2 (en) 2017-11-16 2021-07-13 Zoox, Inc. Pose determination from contact points
US10762396B2 (en) 2017-12-05 2020-09-01 Utac, Llc Multiple stage image based object detection and recognition
CN110574371B (zh) 2017-12-08 2021-12-21 百度时代网络技术(北京)有限公司 使用硬件加速器的立体摄像机深度确定
US20190179979A1 (en) 2017-12-13 2019-06-13 Uber Technologies, Inc. Simulated Sensor Testing
DE112019000070T5 (de) * 2018-01-07 2020-03-12 Nvidia Corporation Führen von fahrzeugen durch fahrzeugmanöver unter verwendung von modellen für maschinelles lernen
US11150663B2 (en) 2018-01-26 2021-10-19 Nvidia Corporation Detection of hazardous driving using machine learning
CN110352153A (zh) * 2018-02-02 2019-10-18 辉达公司 自主车辆中用于障碍物躲避的安全程序分析
WO2019157193A1 (en) * 2018-02-09 2019-08-15 Nvidia Corporation Controlling autonomous vehicles using safe arrival times
US11995551B2 (en) 2018-02-14 2024-05-28 Nvidia Corporation Pruning convolutional neural networks
DE112019000049T5 (de) 2018-02-18 2020-01-23 Nvidia Corporation Für autonomes fahren geeignete objekterfassung und erfassungssicherheit
US10816978B1 (en) 2018-02-22 2020-10-27 Msc.Software Corporation Automated vehicle artificial intelligence training based on simulations
WO2019168869A1 (en) 2018-02-27 2019-09-06 Nvidia Corporation Real-time detection of lanes and boundaries by autonomous vehicles
US10157331B1 (en) 2018-03-08 2018-12-18 Capital One Services, Llc Systems and methods for image preprocessing to improve accuracy of object recognition
US11189172B2 (en) 2018-03-15 2021-11-30 Modular Mining Systems, Inc. Projected zone overlap
CN110494863B (zh) 2018-03-15 2024-02-09 辉达公司 确定自主车辆的可驾驶自由空间
WO2019182906A1 (en) 2018-03-17 2019-09-26 Nvidia Corporation Shadow denoising in ray-tracing applications
EP3805063B1 (en) 2018-03-20 2024-02-28 Mobileye Vision Technologies Ltd. Automated driving system and machine readable storage medium
US11080590B2 (en) 2018-03-21 2021-08-03 Nvidia Corporation Stereo depth estimation using deep neural networks
WO2019191313A1 (en) 2018-03-27 2019-10-03 Nvidia Corporation Remote operation of vehicles using immersive virtual reality environments
US11467590B2 (en) 2018-04-09 2022-10-11 SafeAI, Inc. Techniques for considering uncertainty in use of artificial intelligence models
US11040729B2 (en) 2018-05-31 2021-06-22 Nissan North America, Inc. Probabilistic object tracking and prediction framework
US11370423B2 (en) 2018-06-15 2022-06-28 Uatc, Llc Multi-task machine-learned models for object intention determination in autonomous driving
US10885698B2 (en) 2018-08-10 2021-01-05 Nvidia Corporation Method for programmable timeouts of tree traversal mechanisms in hardware
US10942030B2 (en) * 2018-08-17 2021-03-09 Lyft, Inc. Road segment similarity determination
US10625748B1 (en) * 2019-06-28 2020-04-21 Lyft, Inc. Approaches for encoding environmental information
JP2021024423A (ja) 2019-08-05 2021-02-22 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
US11966673B2 (en) 2020-03-13 2024-04-23 Nvidia Corporation Sensor simulation and learning sensor models with generative machine learning methods

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125177A1 (en) * 2007-11-13 2009-05-14 Denso Corporation Driving assistance apparatus
US20130054106A1 (en) * 2011-08-22 2013-02-28 Honda Research Institute Europe Gmbh Method and system for predicting movement behavior of a target traffic object
US20160001775A1 (en) * 2014-07-03 2016-01-07 Robert Bosch Gmbh Method for ascertaining an emergency trajectory and method for partially automated or automated driving of an ego-vehicle
CN106428009A (zh) * 2015-07-31 2017-02-22 福特全球技术公司 车辆轨迹确定
CN106608263A (zh) * 2015-10-27 2017-05-03 通用汽车环球科技运作有限责任公司 用于避免在左转或右转交叉口汽车碰撞的算法
DE102015221920A1 (de) * 2015-11-09 2017-05-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Computerprogrammprodukt, Vorrichtung, und Fahrzeug umfassend die Vorrichtung zum Steuern einer Trajektorienplanung eines Egofahrzeugs
DE102015226762A1 (de) * 2015-12-28 2017-06-29 Robert Bosch Gmbh Verfahren zur Korrektur mindestens eines Kollisionsparameters und korrespondierendes integriertes Sicherheitssystem für ein Fahrzeug

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11938953B2 (en) 2018-10-29 2024-03-26 Motional Ad Llc Systems and methods for controlling actuators based on load characteristics and passenger comfort
CN111857905A (zh) * 2019-04-25 2020-10-30 安波福技术有限公司 自主运载工具行为的显示所用的图形用户界面
US11884155B2 (en) 2019-04-25 2024-01-30 Motional Ad Llc Graphical user interface for display of autonomous vehicle behaviors
CN110796242A (zh) * 2019-11-01 2020-02-14 广东三维家信息科技有限公司 神经网络模型推理方法、装置、电子设备及可读介质
CN110775056B (zh) * 2019-11-25 2021-10-15 苏州智加科技有限公司 基于雷达探测的车辆行驶方法、装置、终端及介质
CN110775056A (zh) * 2019-11-25 2020-02-11 苏州智加科技有限公司 基于雷达探测的车辆行驶方法、装置、终端及介质
CN112977472A (zh) * 2019-12-12 2021-06-18 百度(美国)有限责任公司 预测车辆的移动轨迹的方法及系统
CN111186437A (zh) * 2019-12-25 2020-05-22 北京三快在线科技有限公司 一种车辆轨迹的风险确定方法及装置
CN111186437B (zh) * 2019-12-25 2021-07-30 北京三快在线科技有限公司 一种车辆轨迹的风险确定方法及装置
CN111178286B (zh) * 2019-12-31 2023-09-12 智车优行科技(上海)有限公司 姿态轨迹预测方法、装置及电子设备
CN111178286A (zh) * 2019-12-31 2020-05-19 智车优行科技(上海)有限公司 姿态轨迹预测方法、装置及电子设备
US11644331B2 (en) 2020-02-28 2023-05-09 International Business Machines Corporation Probe data generating system for simulator
WO2021171112A1 (en) * 2020-02-28 2021-09-02 International Business Machines Corporation Autonomous driving evaluation using data analysis
US11702101B2 (en) 2020-02-28 2023-07-18 International Business Machines Corporation Automatic scenario generator using a computer for autonomous driving
US11814080B2 (en) 2020-02-28 2023-11-14 International Business Machines Corporation Autonomous driving evaluation using data analysis
GB2611632A (en) * 2020-02-28 2023-04-12 Ibm Autonomous driving evaluation using data analysis
CN113442917B (zh) * 2020-03-27 2023-11-10 Aptiv技术有限公司 用于宿主机动车辆的警告系统
CN113442917A (zh) * 2020-03-27 2021-09-28 Aptiv技术有限公司 用于宿主机动车辆的警告系统
CN113799794B (zh) * 2020-06-16 2023-05-09 华为技术有限公司 车辆纵向运动参数的规划方法和装置
CN113799794A (zh) * 2020-06-16 2021-12-17 华为技术有限公司 车辆纵向运动参数的规划方法和装置
CN113903184A (zh) * 2020-06-22 2022-01-07 奥迪股份公司 车辆状态显示方法、装置、车载电子设备及车辆
CN111966092A (zh) * 2020-07-21 2020-11-20 北京三快在线科技有限公司 无人车的控制方法、装置、存储介质、电子设备和无人车
CN114384819A (zh) * 2020-10-02 2022-04-22 丰田自动车株式会社 服务管理装置
CN114384819B (zh) * 2020-10-02 2024-06-11 丰田自动车株式会社 服务管理装置
CN114379574A (zh) * 2020-10-20 2022-04-22 沃尔沃汽车公司 用于车辆的对象提醒设备、系统和方法
CN114379574B (zh) * 2020-10-20 2023-10-31 沃尔沃汽车公司 用于车辆的对象提醒设备、系统和方法
CN114523963B (zh) * 2020-11-23 2024-01-30 Aptiv技术有限公司 预测与宿主车辆的道路碰撞的系统和方法
CN114523963A (zh) * 2020-11-23 2022-05-24 Aptiv技术有限公司 预测与宿主车辆的道路碰撞的系统和方法
CN113762473B (zh) * 2021-08-25 2024-04-12 江苏大学 一种基于多时空图的复杂场景行车风险预测方法
CN113762473A (zh) * 2021-08-25 2021-12-07 江苏大学 一种基于多时空图的复杂场景行车风险预测方法

Also Published As

Publication number Publication date
DE112019000065T5 (de) 2020-03-05
US20210325892A1 (en) 2021-10-21
WO2019152888A1 (en) 2019-08-08
US11604470B2 (en) 2023-03-14
US20190243371A1 (en) 2019-08-08
US20240174219A1 (en) 2024-05-30
US11966228B2 (en) 2024-04-23
US11079764B2 (en) 2021-08-03
US20230124848A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
CN110352153A (zh) 自主车辆中用于障碍物躲避的安全程序分析
US11774963B2 (en) Remote operation of a vehicle using virtual representations of a vehicle state
US20240061075A1 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
EP3832341A1 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
CN115175841A (zh) 自主车辆的行为规划
CN110494863A (zh) 确定自主车辆的可驾驶自由空间
CN111133448A (zh) 使用安全到达时间控制自动驾驶车辆
CN114450724A (zh) 用于自主机器应用的多活动者环境中的未来轨迹预测
CN114845914A (zh) 自主机器应用中的车道变换规划和控制
JP2023548721A (ja) 自律システム及びアプリケーションにおけるビヘイビア予測のためのモデルベースの強化学習
DE102022112748A1 (de) Verwendung von ankunftszeitpunkten und sicherheitsprozedurenin bewegungsplanungstrajektorien für autonome fahrzeuge
US11724690B2 (en) Advanced passenger safety for an autonomous vehicle
US20230049567A1 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
CN116030652A (zh) 用于自主系统的让行场景编码
CN115705060A (zh) 让行场景中自主车辆的行为规划
CN116767182A (zh) 用于自主机器系统和应用的基于感知的停车辅助
US20230288223A1 (en) Keyframe-based compression for world model representation in autonomous systems and applications
CN117584956A (zh) 用于自主系统的使用未来轨迹预测的自适应巡航控制
CN117516565A (zh) 用于在自主系统和应用中导航的车道偏置
CN116901948A (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