CN112313663B - 遮挡感知规划 - Google Patents

遮挡感知规划 Download PDF

Info

Publication number
CN112313663B
CN112313663B CN201980040681.5A CN201980040681A CN112313663B CN 112313663 B CN112313663 B CN 112313663B CN 201980040681 A CN201980040681 A CN 201980040681A CN 112313663 B CN112313663 B CN 112313663B
Authority
CN
China
Prior art keywords
occlusion
determining
data
environment
field
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.)
Active
Application number
CN201980040681.5A
Other languages
English (en)
Other versions
CN112313663A (zh
Inventor
W·A·希尔瓦
D·D·安格洛夫
B·I·兹维贝尔
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.)
Zoox Inc
Original Assignee
Zoox Inc
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
Priority claimed from US16/011,436 external-priority patent/US11048265B2/en
Priority claimed from US16/011,468 external-priority patent/US10642275B2/en
Application filed by Zoox Inc filed Critical Zoox Inc
Publication of CN112313663A publication Critical patent/CN112313663A/zh
Application granted granted Critical
Publication of CN112313663B publication Critical patent/CN112313663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

讨论了用于基于环境中的被遮挡区域来控制诸如自动驾驶车辆的车辆的技术。被遮挡区域可以表示车辆的传感器由于另一对象的阻挡而无法感测环境部分的区域。表示被遮挡区域的遮挡网格可以存储为地图数据,或可以被动态生成。遮挡网格可以包括多个遮挡场,这些遮挡场表示可行驶环境的离散二维或三维区域。一遮挡场可以指示使用由车辆捕获的LIDAR数据和/或图像数据确定的遮挡状态和占用状态。可以通过射线投射LIDAR数据或通过将遮挡场投影到分割的图像数据中来确定遮挡场的占用状态。当遮挡网格的足够多的部分是可见且未被占用时,可以控制车辆穿越环境。

Description

遮挡感知规划
相关申请的交叉引用
本专利申请要求于2018年6月18日提交的,序号为16/011,436,名称为“遮挡感知规划”的美国发明专利申请的优先权,以及要求于2018年6月18日提交的,序号为16/011,468,名称为“遮挡感知规划及控制”的美国发明专利申请的优先权,申请序列号为16/011,436和16/011,468的美国发明专利申请的全部内容通过引用并入本文。
背景技术
自动驾驶车辆使用各种方法,装置和***来引导这种自动驾驶车辆通过包括任何数量的障碍物的环境。例如,自动驾驶车辆利用路线规划方法,装置和***来引导自动驾驶车辆通过可能包括其他车辆,建筑物,行人或其他对象的拥挤区域。在一些示例中,环境中的车辆,建筑物和/或对象可能阻挡环境区域对自动驾驶车辆的传感器可见,这可能在规划通过这些区域的路线时提出挑战。
发明内容
根据本发明的第一方面,提供了一种遮挡感知规划***,包括:一个或多个处理器;以及一个或多个计算机可读介质,其存储可由所述一个或多个处理器执行的指令,其中,所述指令在被执行时使所述***执行操作,所述操作包括:从车辆上的传感器接收传感器数据;接收表示所述车辆附近的环境的地图数据,所述地图数据包括遮挡网格,所述遮挡网格包括多个遮挡场,其中所述多个遮挡场中的遮挡场与指示与所述遮挡场相关联的所述环境的一部分是否对于所述传感器可见或不可见的遮挡状态和指示所述环境的所述部分是否被对象占用、未被对象占用或不确定的占用状态相关联;至少部分地基于所述传感器数据的一部分,确定所述遮挡场的所述占用状态和所述遮挡状态;至少部分地基于所述遮挡场,至少基于以下各项中的一或多项,确定与所述遮挡网格相关联的信息的充分性:未被占用的遮挡场的数量达到或超过第一阈值数量,可见遮挡场的数量达到或超过第二阈值数量,在阈值时间段内观察不确定的遮挡场,或确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围;至少部分地基于所述信息的充分性,确定所述车辆穿越所述环境的安全轨迹;以及控制所述车辆以根据所述安全轨迹穿越所述环境。
根据本发明的第二方面,提供了一种遮挡感知规划方法,包括:接收使用机器人平台上的传感器捕获的传感器数据;至少部分地基于所述传感器数据来确定所述机器人平台的位置;接收表示在所述位置处的所述机器人平台附近的环境的地图数据,所述地图数据包括遮挡网格;确定所述遮挡网格的遮挡场的占用状态;至少部分地基于所述遮挡场,至少基于以下各项中的一或多项来确定信息的充分性:未被占用的遮挡场的数量达到或超过第一阈值数量,可见遮挡场的数量达到或超过第二阈值数量,在阈值时间段内观察不确定的遮挡场,或确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围;至少部分地基于所述信息的充分性,确定穿越所述遮挡网格附近的所述环境的区域的轨迹;以及控制所述机器人平台以根据所述轨迹穿越所述环境的所述区域。
根据本发明的第三方面,提供了一种存储有指令的非暂时性计算机可读介质,该指令在计算机上运行时实现上述的遮挡感知规划方法。
根据本发明的第四方面,提供了一种遮挡感知规划***,包括:一个或多个处理器;以及一个或多个计算机可读介质,其存储可由所述一个或多个处理器执行的指令,其中所述指令在被执行时使所述***执行操作,所述操作包括:控制自动驾驶车辆行进到环境中的第一位置;使用所述自动驾驶车辆的传感器来捕获所述环境的至少LIDAR数据或图像数据作为传感器数据;至少部分地基于访问地图数据或基于识别所述环境中的障碍物来确定包括多个遮挡场的遮挡网格,所述遮挡网格的遮挡场指示所述环境的对应区域的遮挡状态和占用状态;至少部分地基于所述传感器数据,确定所述遮挡网格的至少第一部分在第一时间被遮挡,作为被遮挡区域;至少部分地基于所述传感器数据,确定所述遮挡网格的至少第二部分在所述第一时间处未被遮挡,作为未被遮挡区域;至少部分地基于所述第二部分的范围和占用来确定与安全地穿越所述环境的轨迹相关联的置信度水平;至少部分地基于所述置信度水平低于阈值水平来控制所述自动驾驶车辆停留在所述第一位置处或行进到第二位置;至少部分地基于所述传感器数据来确定所述遮挡网格的第三部分在第二时间是可见的且未被占用的;以及至少部分地基于所述遮挡网格的所述第三部分在所述第二时间是可见且未被占用的来控制所述自动驾驶车辆。
根据本发明的第五方面,提供了一种遮挡感知规划方法,包括:控制自动驾驶车辆行进到环境中的第一位置;至少部分地基于访问地图数据或基于识别所述环境中的障碍物来确定遮挡网格;确定所述遮挡网格的至少第一部分在第一时间被遮挡作为被遮挡区域;确定所述遮挡网格的至少第二部分在所述第一时间可见作为未被遮挡区域;确定所述未被遮挡区域的占用状态;至少部分地基于所述未被遮挡区域的范围和所述未被遮挡区域的占用状态,控制所述自动驾驶车辆停留在所述第一位置或行进到第二位置;确定所述遮挡网格的第三部分在第二时间未被遮挡且未被占用;以及至少部分地基于所述遮挡网格的所述第三部分在所述第二时间未被遮挡且未被占用来控制所述自动驾驶车辆。
根据本发明的第六方面,提供了一种存储指令的非暂时性计算机可读介质,所述指令在被执行时使一个或多个处理器执行操作,所述操作包括:控制机器人平台以行进到环境中的第一位置;确定所述机器人平台相对于地图的位置,所述地图包括地图数据;至少部分地基于访问与所述位置相关联的所述地图数据或基于识别所述环境中的接近所述机器人平台的障碍物来确定遮挡网格;确定所述遮挡网格的至少第一部分在第一时间被遮挡作为被遮挡区域;确定所述遮挡网格的至少第二部分在所述第一时间可见作为未被遮挡区域;确定所述未被遮挡区域的占用状态;至少部分地基于所述未被遮挡区域的范围和所述未被遮挡区域的占用状态来控制所述机器人平台停留在所述第一位置或行进到第二位置;确定所述遮挡网格的第三部分在第二时间未被遮挡且未被占用;以及至少部分地基于所述第三部分在所述第二时间未被遮挡且未被占用来控制所述机器人平台。
根据本发明的第七方面,提供了一种遮挡感知规划***,包括:一个或多个处理器;以及一个或多个非暂时性计算机可读介质,其存储可由所述一个或多个处理器执行的指令,其中所述指令在被执行时使所述***执行操作,所述操作包括:使用自动驾驶车辆上的LIDAR传感器来捕获LIDAR数据;访问表示接近所述自动驾驶车辆的环境的地图数据,所述地图数据包括遮挡网格,所述遮挡网格包括多个遮挡场,其中,所述多个遮挡场中的一遮挡场与所述环境的一部分的遮挡状态和占用状态相关联;射线投射所述LIDAR数据的一部分以确定所述遮挡场的所述占用状态和所述遮挡状态;至少部分地基于所述遮挡场,至少基于以下各项中的一或多项来确定与所述遮挡网格相关联的信息的充分性:未被占用的遮挡场的数量达到或超过第一阈值数量,可见遮挡场的数量达到或超过第二阈值数量,在阈值时间段内观察不确定的遮挡场,或确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围;至少部分地基于所述信息的充分性,确定所述自动驾驶车辆穿越所述环境的安全轨迹;以及控制所述自动驾驶车辆以根据所述安全轨迹穿越所述环境。
根据本发明的第八方面,提供了一种遮挡感知规划方法,包括:使用机器人平台上的传感器捕获传感器数据;至少部分地基于所述传感器数据来确定所述机器人平台的位置;访问表示在所述位置处的所述机器人平台附近的环境的地图数据,所述地图数据包括遮挡网格;确定所述遮挡网格的遮挡场的占用状态,其中,所述占用状态包括被占用状态、未被占用状态或不确定状态中的一个;至少部分地基于所述遮挡场,至少基于以下各项中的一或多项来确定与所述遮挡网格相关联的信息的充分性:未被占用的遮挡场的数量达到或超过第一阈值数量,可见遮挡场的数量达到或超过第二阈值数量,在阈值时间段内观察不确定的遮挡场,或确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围;以及至少部分地基于所述遮挡网格的占用状态和所述信息的充分性来控制所述机器人平台。
根据本发明的第九方面,提供了一种或多种存储指令的非暂时性计算机可读介质,所述指令在被执行时使一个或多个处理器执行操作,所述操作包括:接收使用机器人平台上的传感器捕获的传感器数据;至少部分地基于所述传感器数据来确定所述机器人平台的位置;访问表示在所述位置处的所述机器人平台附近的环境的地图数据,所述地图数据包括遮挡网格;确定所述遮挡网格的遮挡场的占用状态;至少部分地基于所述遮挡场,至少基于以下各项中的一或多项来确定与所述遮挡网格相关联的信息的充分性:未被占用的遮挡场的数量达到或超过第一阈值数量,可见遮挡场的数量达到或超过第二阈值数量,在一时间段内观察不确定的遮挡场;以及至少部分地基于所述遮挡网格的占用状态和所述信息的充分性来控制所述机器人平台。
根据本发明的第十方面,提供了一种遮挡感知规划方法,包括:至少部分地基于地图数据或传感器数据来确定与环境相关联的遮挡数据;确定与所述遮挡数据相关联的所述环境的至少第一部分在第一时间被遮挡作为第一区域;确定与所述遮挡数据相关联的所述环境的至少第二部分在所述第一时间可见作为第二区域;确定所述第二区域的占用数据;以及至少部分地基于所述第二区域和所述占用数据来控制自动驾驶车辆停留在第一位置或行进到第二位置。
根据本发明的第十一方面,提供了一种或多种存储指令的非暂时性计算机可读介质,所述指令在被执行时使一个或多个处理器执行操作,所述操作包括:至少部分地基于地图数据或传感器数据来确定与环境相关联的遮挡数据;确定与所述遮挡数据相关联的所述环境的至少第一部分在第一时间被遮挡作为第一区域;确定与所述遮挡数据相关联的所述环境的至少第二部分在所述第一时间可见作为第二区域;确定所述第二区域的占用数据;以及至少部分地基于所述第二区域和所述占用数据来控制机器人平台停留在第一位置或行进到第二位置。
根据本发明的第十二方面,提供了一种遮挡感知规划***,包括:一个或多个处理器,所述一个或多个处理器使所述***执行操作,所述操作包括:至少部分地基于地图数据或传感器数据来确定与环境相关联的遮挡数据;确定与所述遮挡数据相关联的所述环境的至少第一部分在第一时间被遮挡作为第一区域;确定与所述遮挡数据相关联的所述环境的至少第二部分在所述第一时间可见作为第二区域;确定所述第二区域的占用数据;以及至少部分地基于所述第二区域和所述占用数据来控制自动驾驶车辆停留在第一位置或行进到第二位置。
附图说明
参照附图进行详细描述。在附图中,附图标记的最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的组件或特征。
图1是示出根据本公开实施例的示例遮挡网格的透视图的示例环境,该示例遮挡网格包括环境中的多个遮挡场(field),并且示出了车辆,该车辆包括遮挡监视组件,该遮挡监视组件确定遮挡网格的由障碍物引起的被遮挡区域和未被遮挡区域。
图2是根据本公开的实施例的用于基于射线投射LIDAR数据来确定遮挡网格中的遮挡场的占用的示例过程的图形流程图。
图3是根据本公开的实施例的用于基于将遮挡场投影到图像数据中来确定遮挡网格中遮挡场的占用的示例过程的图形流程图。
图4描绘了用于实现本文描述的技术的示例***的框图。
图5是根据本公开的实施例的用于基于区域特征来生成遮挡网格的示例过程的图形流程图。
图6是根据本公开的实施例的示例过程的图形流程图,该示例过程用于评估交叉路口处的遮挡网格并控制车辆穿过交叉路口。
图7是根据本公开的实施例的用于评估交叉路口处的遮挡网格并控制车辆穿过交叉路口的另一示例过程的图形流程图。
图8是根据本公开的实施例的用于确定与对象相关联的遮挡区域并且用于为遮挡区域中的一个或多个动态对象生成预测轨迹的示例过程的图形流程图。
图9是根据本公开的实施例的用于评估地形遮挡网格并用于控制车辆穿越地形障碍物的示例过程的图形流程图。
图10描绘了根据本公开的实施例的示例过程,该过程用于基于射线投射LIDAR数据和/或基于将遮挡场投影到图像数据中,并且控制车辆穿越环境。
图11描绘了根据本公开的实施例的示例性过程,该示例性过程用于基于指示遮挡网格的地图数据或基于识别环境中的障碍物来确定遮挡网格,并控制车辆穿越环境。
具体实施方式
本公开涉及用于基于环境中的被遮挡区域来控制车辆,诸如自动驾驶车辆的技术。例如,被遮挡区域可以由遮挡网格表示,该遮挡网格可以与地图数据结合存储或者可以基于环境中的障碍物而动态地生成。遮挡网格可以包括多个遮挡场,这些遮挡场可以表示环境的离散区域,例如可行驶表面。在一些示例中,遮挡场可以指示遮挡状态(例如,指示该位置对于自动驾驶车辆的一个或多个传感器是否可见)和占用状态(例如,指示该位置是否被诸如车辆,行人,动物等对象占用)。在至少一些示例中,占用状态可以进一步包括“不确定”状态,也就是说,基于可用数据,当前可能不知道遮挡场是否被占用。在一些情况下,可以使用LIDAR数据和/或由自动驾驶车辆上的传感器捕获的图像数据来确定遮挡状态和/或占用状态。例如,可以对LIDAR数据进行射线投射以确定LIDAR射线是否已经穿越通过由遮挡场表示的空间区域。在一些情况下,遮挡场被占用或未被占用的置信度水平可以至少部分地基于与遮挡场相关联的预期LIDAR返回(return)的第一数量和/或与遮挡场相关联的实际LIDAR返回的第二数量。在一些情况下,遮挡场是否被占用的置信度水平可以至少部分基于相对于遮挡场高度的LIDAR返回列中的LIDAR观测结果的数量。在一些情况下,遮挡场的占用可以基于图像数据。例如,可以在环境中捕获图像数据,并且可以对图像数据进行分割以生成指示可驾驶区域(例如,未被对象占用的路面)的分割的图像数据。可以将表示遮挡场的位置数据投影到分割的图像数据中,以确定遮挡场是否与可行驶表面相关联。可以为遮挡网格的所有遮挡场确定遮挡状态和占用状态。在一些示例中,当遮挡场全部可见并且未被占用时,遮挡网格可以被认为是清晰的(clear),并且可以控制自动驾驶车辆穿越环境。
在一些示例中,LIDAR数据和图像数据可以用于确定遮挡场的遮挡状态和占用状态。例如,对于相对接近自动驾驶车辆的遮挡场,LIDAR传感器的分辨率可能足以确定具有达到或超过阈值的置信度水平(也称为置信度值)的遮挡场的遮挡状态和占用状态。在一些情况下,如果置信度水平不达到或超过阈值(例如,对于离自动驾驶车辆相对较远的遮挡场,或者与遮挡场相关联的LIDAR射线的数量低于阈值),则图像数据可用于代替或补充使用LIDAR数据的关于遮挡状态和/或占用状态的确定。
本文讨论的技术可以在许多情况下使用。在第一种情况下,当自动驾驶车辆在交叉路口处导航时,可以使用基于遮挡的规划,在交叉路口处,自动驾驶车辆正在执行复杂的操纵,例如无保护的左转弯,自由的右转弯或越过复杂的交叉路口。可以理解,在这样的示例中,迎面而来的交通可能不会在交叉路口处停止,这在确定交叉路口何时可以安全穿过时会带来挑战。在一个示例中,自动驾驶车辆可以接近交叉路口并且在停止线处停止(例如,已经在地图数据中指示)。可以从地图数据访问遮挡网格,并且自动驾驶车辆可以捕获传感器数据以确定遮挡场的状态。在一些情况下,自动驾驶车辆可以确定遮挡网格的一部分被遮挡(例如,由于诸如停放的汽车之类的障碍物)和/或缺乏足够的信息来进行确定。在一些示例中,自动驾驶车辆可以缓慢地驶入交叉路口以改变其传感器在环境中的位置。自动驾驶车辆可以继续捕获传感器数据以确定在遮挡区域中的一些或所有遮挡场的遮挡状态和占用状态。如果其他车辆正在横穿交叉路口,则将确定遮挡场已被占用,并且自动驾驶车辆可继续等待适当的时间来穿过交叉路口。如果没有其他车辆穿过交叉路口,并且传感器能够确定这些场的占用状态,则将不占用遮挡场,遮挡网格将是清晰的,并且自动驾驶车辆可以穿过交叉路口。可以理解,基于遮挡的规划可以用于穿过可能不同的交叉路口,并且不限于任何特定的交叉路口或机动动作。
在第二种情况下,自动驾驶车辆可以捕获环境的传感器数据,并且可以确定环境中的对象正在“阻挡”传感器以使其无法感测环境的一部分。在一些情况下,遮挡网格可以与对象动态相关联。在一些示例中,尽管自动驾驶车辆在初始时间可能几乎不了解关于遮挡网格的信息(例如,尤其是被障碍物遮挡的遮挡场的占用),但是在一些示例中,自动驾驶车辆可以通过在进入遮挡网格之前监视对象经过的区域来推断遮挡场的上下文(context)。例如,当自动驾驶车辆监视遮挡网格的被遮挡区域时,自动驾驶车辆可以监视进入遮挡网格的任何对象(例如,车辆,行人等)。在一段时间之后,如果没有对象进入遮挡网格,并且如果没有对象离开遮挡网格,则自动驾驶车辆可以推断出遮挡网格未被占用,并且可以适当地执行车辆轨迹。
在第三种情况下,自动驾驶车辆可以捕获环境的传感器数据以识别该环境中的对象。如本文所讨论的,自动驾驶车辆可以将遮挡网格与对象相关联。在一些情况下,自动驾驶车辆还可以在穿越遮挡区域中的环境中识别一个或多个动态对象,例如行人。自动驾驶车辆可以在对象穿越遮挡区域中之前监视动态对象的轨迹,并且可以生成与该对象相关联的一个或多个预测轨迹。在一些情况下,一个或多个预测轨迹可以基于动态对象的测量轨迹和/或基于合理的路径(例如,穿过人行横道或人行道,最新轨迹的延续等)和/或环境中的目的地。因此,即使在没有观察到动态对象的情况下,由于对象处于被遮挡区域中,自动驾驶车辆也可以将动态对象的预测轨迹合并到关于自动驾驶车辆的控制的确定中。这样的预测轨迹可以稍后通过基于保留在被遮挡区域中的动态对象或基于离开被遮挡区域的动态对象的后续观察来确认。
第四种情况是针对地形障碍物(例如山峰)引起的遮挡区域。例如,当车辆接近山峰(例如,顶部)时,车辆可能无法看到山峰的另一侧的地面。在一些示例中,地形遮挡网格可以与表示山丘区域的地图数据相关联,以便于穿越山丘。例如,地形遮挡网格(和本文讨论的其他遮挡网格)可以包括表示环境中空间的三维区域的遮挡场。可以理解,遮挡场的垂直部分对于接近山峰的车辆可能是可见的,而车辆却不能看到遮挡场的地面部分。车辆可以捕获环境的传感器数据,例如LIDAR数据,并且可以通过遮挡网格的遮挡场来射线投影LIDAR数据,以确定至少一部分遮挡场的占用。因此,通过确定遮挡场的一部分是清晰的(例如,遮挡场距离地面以上1-2米的区域),自动驾驶车辆可以确定遮挡场的占用状态(例如,被占用,未被占用或不确定)。因此,使用本文讨论的技术,自动驾驶车辆可以“俯瞰”山峰,以获取有关环境的信息,而无需捕获环境中所有区域的传感器数据。
在一些情况下,要与地图数据结合存储的遮挡网格的尺寸可以至少部分地基于多个区域特征。在交叉路口的情况下,区域特征可以包括但不限于自动驾驶车辆必须穿过交叉路口的距离(例如,为了避开迎面而来的交通);交叉路口中的车辆速度限制(例如迎面驶来的交通);与速度限制相关的安全系数(例如,有效提高预期的交通速度);穿过交叉路口距离的自动驾驶车辆的加速度水平和/或平均速度等等。这样的特定示例在下面详细讨论。因此,遮挡网格的尺寸可以设置成使得当遮挡网格没有障碍物时,自动驾驶车辆可以安全地穿越区域。
在一些情况下,并且如上所述,遮挡网格可以包括多个遮挡场。在一些情况下,遮挡场可以表示时间逻辑符号,该时间逻辑符号可以在时间逻辑公式中用于评估或验证自动驾驶车辆的轨迹。例如,可以防止自动驾驶车辆发起轨迹,直到遮挡场的占用状态和/或遮挡状态分别为“未被占用”和“未被遮挡”为止。在一些情况下,用于自动驾驶车辆的规划器***可以使用时间逻辑,例如线性时间逻辑或信号时间逻辑,来评估用于自动驾驶车辆的轨迹。
本文讨论的技术可以以多种方式改善计算设备的功能。例如,在评估遮挡网格的情况下,网格的面积可以被确定尺寸以确保自动驾驶车辆安全地穿越区域,而没有过多的资源专用于关于环境的不必要的确定。在一些情况下,使用多种传感器模态(例如,LIDAR传感器,图像传感器,RADAR传感器等)可以改善与遮挡场的遮挡状态或占用状态相关联的整体置信度水平。改进的轨迹生成可以改善安全结果并可以改善骑行者的体验(例如,通过确保在发起轨迹之前交叉路口是畅通的,通过减少紧急制动,转弯等的发生)。本文讨论了对计算机功能和/或用户体验的这些和其他改进。
本文描述的技术可以以多种方式来实现。下面参考以下附图提供示例实施方式。尽管在自动驾驶车辆的上下文中进行了讨论,但是本文描述的方法,装置和***可以应用于各种***(例如,机器人平台),并且不限于自动驾驶车辆。在另一个示例中,可以在航空或航海环境中,或在使用机器视觉的任何***中利用这些技术。另外,本文描述的技术可以与真实数据(例如,使用一个或多个传感器捕获),模拟数据(例如,由模拟器生成的)或两者的任意组合一起使用。
图1是环境100,其示出了示例遮挡网格的透视图,该示例遮挡网格包括环境中的多个遮挡场。图1还示出了根据本公开的实施例的包括遮挡监视组件的车辆,以确定由障碍物引起的遮挡网格的被遮挡区域和未被遮挡区域。
如图所示,环境100可以包括车辆102,车辆102包括捕获表示环境100的数据的一个或多个传感器***104。
为了说明的目的,车辆102可以自动驾驶车辆,其被配置为根据美国国家公路交通安全管理局发布的5级分类进行操作,该5级分类描述了一种能够执行整个行程中的所有安全关键功能的车辆,其中不希望驾驶员(或乘员)在任何时候控制车辆。在这样的示例中,由于车辆102可以被配置为控制从开始到停止的所有功能,包括所有泊车功能,所以它可以是未被占用的。这仅是示例,并且本文描述的***和方法可以被结合到任何地面,空中或水上车辆中,包括从始终需要驾驶员手动控制的车辆到部分或完全自主控制的车辆。下面描述与车辆102相关联的附加细节。
在至少一个示例中,并且如上所述,车辆102可以与可以设置在车辆102上的传感器***104相关联。传感器***104可以包括光检测和测距(LIDAR)传感器,无线电检测和测距(RADAR)传感器,超声换能器,声音导航和测距(SONAR)传感器,位置传感器(例如,全球定位***(GPS),指南针等),惯性传感器(例如,惯性测量单元,加速计,磁力计,陀螺仪等),相机(例如RGB,IR,强度,深度,飞行时间等),车轮编码器,麦克风,环境传感器(例如,温度传感器,湿度传感器,光线传感器,压力传感器等)等。传感器***104可以生成传感器数据,该传感器数据可以被与车辆102相关联的车辆计算设备106利用。
在至少一个示例中,车辆计算设备106可以在遮挡监视组件108中利用传感器数据。例如,遮挡监视组件108可以访问遮挡数据和/或地图数据以确定遮挡网格中遮挡场的遮挡状态和占用状态。
作为示例而非限制,环境100中的车辆102正在接近交叉路口110。在一些示例中,车辆102可以访问地图数据并且可以确定遮挡网格112与交叉路口110相关联。在一些示例中,交叉路口110可以表示需要车辆102为进入交叉路口110的单向交通让路的交叉路口。
遮挡网格112可包括将环境100的一部分划分为离散区域的多个遮挡场。在一些示例中,遮挡场114可以表示遮挡状态(例如,遮挡场114是否在与车辆102的一个或多个传感器相关联的感测区域116内的指示)。可以理解,环境100可以包括一个或多个障碍物118、120和122,这些障碍物导致遮挡网格112的一部分落在车辆102的感测区域116的外部。因此,遮挡网格112的未被遮挡区域124可以表示遮挡网格112的可由车辆102“看见”的区域,也就是说,车辆102可以捕获表示未被遮挡区域124的传感器数据。类似地,被遮挡区域126可以表示车辆102不能“看到”的遮挡网格112的区域。如图1所示,被遮挡区域126中的遮挡场用灰色阴影表示以表示缺少与该区域相对应的传感器数据,而未被遮挡区域124未被涂上阴影。
在一些实例中,当遮挡场被对象占用时,遮挡场可以存储指示对象的身份的附加元数据以及指示对象通过遮挡网格的路径的数据。
下面分别结合图2和图3讨论涉及使用LIDAR数据和图像数据评估遮挡场的其他细节。
图2是根据本公开的实施例的用于基于射线投射LIDAR数据来确定遮挡网格中的遮挡场的占用的示例过程200的图示流程图。尽管在LIDAR数据的上下文中进行了讨论,但是示例过程200可以在RADAR数据,SONAR数据,飞行时间图像数据等的上下文中使用。
在操作202,该过程可以包括接收包括遮挡网格的地图数据。示例204示出了可以在操作202中接收的地图数据206。在一些实例中,地图数据206可以表示如图1所示的交叉路口110。如示例204中进一步示出的,车辆102捕获环境的LIDAR数据,如由LIDAR射线208所示出的。尽管被示为单线,但是LIDAR射线208可包括扫描环境的多条光线。
在一些实例中,地图数据206包括遮挡网格210,该遮挡网格210包括多个遮挡场216。如贯穿本公开内容所讨论的,遮挡网格210可以表示环境的任何尺寸或形状。在一些示例中,遮挡网格210可以包括多个遮挡场216,由此单个遮挡场表示环境的离散区域。在一些实例中,遮挡场可以表示1米宽,3米长和2米高的区域,尽管任何尺寸的遮挡场都可以被使用。在一些实例中,遮挡场可以被认为是表示体素化空间的多个体素的“元体素”。
在操作212,该过程可以包括至少部分基于射线投射LIDAR数据来确定一个或多个遮挡场的占用。在环境的细节214中,示出了遮挡场216,其中LIDAR射线穿过遮挡场216。如细节214所示,示出了穿过遮挡场216的LIDAR射线218和220。如在示例204中进一步示出的,LIDAR射线218可以表示没有返回的LIDAR射线,这意味着LIDAR射线218由LIDAR传感器发射,并且预期会穿过遮挡场216,但是车辆102没有收到LIDAR射线218的返回。由于LIDAR射线218可能尚未撞击要返回的表面,或者可能已沿远离LIDAR传感器的方向反射离开反射表面,因此这种缺乏返回可能无法确定占用状态。此外,LIDAR射线220表示具有返回的LIDAR射线,这意味着LIDAR射线220由LIDAR传感器发射并且在随后的时间被车辆102接收(例如,通过环境中对象的反射)。
在一些实例中,LIDAR射线208可以指示遮挡场(例如,遮挡场216)被对象占用,在这种情况下,操作212可以包括确定遮挡场216被占用。在至少一些示例中,可以基于在特定遮挡场216上方的垂直列中的LIDAR返回的数量来确定占用(例如,如细节226所示)。作为非限制性示例,LIDAR返回可以指示区域被占用,或者LIDAR射线在被LIDAR传感器接收为反射之前穿越区域(例如,返回可以指示该区域未被占用)。在一些示例中,如下所述,LIDAR射线可以穿过区域而未被LIDAR传感器接收。
作为非限制性示例,如果与遮挡场216相关联的垂直列包括5个体素(例如,如细节226中的体素216(1),216(2),216(3),216(4)和216(5)所示),并且它们中的大多数指示对象位于体素中,占用状态已经达到阈值占用以确定遮挡场216被占用。换句话说,在一些实例中,遮挡场216的占用可以至少部分地基于和与遮挡场216相关联的体素相关的占用分数。当然,遮挡场可以与任意数量的垂直和/或水平体素相关联。
在一些实例中,LIDAR射线208可以指示遮挡场216未被对象占用。例如,如果与遮挡场216相关联的大多数体素指示没有返回(和/或基于穿过体素并与返回相关联的LIDAR射线的数量与预期返回的数量相比),则与所有射线在远离LIDAR传感器的方向上发射离开表面相反,很可能没有对象占用遮挡场216。在一些实例中,与遮挡场216的占用有关的确定可以与置信度水平相关联。在一些实例中,遮挡场的占用的置信度水平可以至少部分地基于与遮挡场相关联的预期LIDAR返回的第一数量和与遮挡场相关联的实际LIDAR返回的第二数量(例如,指示有对象或没有对象)。举例来说,但不作为限制,置信度水平可以至少部分地基于第二数量与第一数量的比率。当然,可以使用任何技术或试探法来确定与遮挡场的占用相关联的置信度水平。在一些示例中,在未超过置信度水平,没有返回传感器数据或无法通过其他方式确定占用的情况下,与遮挡场216相关联的占用状态可以确定为不确定的(例如,没有足够的信息来确定占用状态)。
在操作222,该过程可以包括至少部分基于占用来命令自动驾驶车辆。例如,当车辆102确定遮挡场216未被占用(并且遮挡网格210的所有遮挡场或者遮挡网格210的阈值数量的遮挡场未被占用)时,车辆102可以被控制为沿着轨迹224穿过交叉路口110。在一些示例中,当遮挡场216被占用和/或当遮挡网格210的阈值数量的遮挡场被对象占用时,操作222可以包括控制自动驾驶车辆(例如,车辆102)等待而不穿过交叉路口110。在一些示例中,可以例如基于预期的最大速度限制,要穿过的车道宽度等来设置阈值。例如,可以假设车辆在被遮挡区域中以最大速度限制向交叉路口行进(再加上一些缓冲),例如,基于车辆102安全穿过交叉路口所花费的时间量来做出这种确定。结合图5讨论附加细节。
在一些示例中,操作222可以包括选择车辆102的加速度水平和/或速度。例如,遮挡场可以指示有效地减小遮挡网格210的清晰部分的尺寸的被占用遮挡场。在一些实例中,操作222可以包括基于遮挡网格210的清晰部分减小的尺寸(例如,表示为车辆102与被占用遮挡场之间的距离),选择较高的加速水平(例如,“升压模式”),以使车辆102更快地加速。在一些实例中,操作222可以包括确定遮挡网格的一部分是不可见的(例如,类似于被遮挡区域126)或者以其他方式包括不确定的占用状态,并且操作222可以包括控制车辆102缓慢移动到交叉路口(例如,“向前爬行”)以增加遮挡网格210的可见区域。在整个本公开中讨论了其他示例。
图3是根据本公开的实施例的用于基于将遮挡场投影到图像数据中来确定遮挡网格中的遮挡场的占用的示例过程300的图形流程图。
在操作302,该过程可以包括接收图像数据和地图数据。例如,图像数据304可以由车辆102的一个或多个图像传感器捕获。在一些示例中,可以在确定车辆102正在接近与地图数据306相关联的交叉路口110时,可从存储器(例如,从车辆计算设备106)访问地图数据306。
通常,图像数据304可以包括由车辆的一个或多个图像传感器捕获的任何图像数据。在一些情况下,图像数据304可以包括障碍物308、310和312的表示。如图所示,障碍物308、310和312可以表示停在道路一侧的车辆。
通常,地图数据306可包括遮挡网格314,遮挡网格314包括多个遮挡场,例如遮挡场316。在一些情况下,地图数据306可包括障碍物308、310和312,尽管在一些情况下,障碍物308、310和312的数据可能不被视为地图数据。即,在一些情况下,地图数据306可以仅包括静态对象,在这种情况下,障碍物308、310和312(例如,动态对象或潜在的动态对象)可以不被包括为地图数据306。此外,车辆102可以被认为是或者可以不被认为是地图数据306的一部分,尽管在地图数据306中显示了车辆102来提供上下文并示出车辆102相对于交叉路口110的位置。
如图所示,障碍物312被表示为在朝交叉路口110的道路上行驶。在一些示例中,障碍物312可以占用遮挡场326。
在操作318,该过程可以包括对图像数据执行语义分割。在一些示例中,图像数据304可以被输入到分割算法中以识别图像数据304中的区域和/或对象,包括但不限于:可行驶表面(例如,没有被对象或障碍物占用的路面),地面,车辆,行人,建筑物,人行道,植被,灯柱,邮箱等。在一些实例中,操作318可以包括使用机器学习算法对图像数据304进行分割,该机器学习算法被训练为对图像数据304中的对象进行分割和/或分类。
在操作320,该过程可以包括至少部分地基于将一个或多个遮挡场投影到分割的图像数据中来确定一个或多个遮挡场的占用。例如,具有投影的地图数据的分割的图像数据322示出了投影到图像数据304中的遮挡网格314以及遮挡场316和326。如进一步示出的,具有投影的地图数据的分割的图像数据322(也称为数据322)包括分割的障碍物308',310'和312',其分别对应于障碍物308、310和312。由于遮挡场326投影到障碍物312’上,该障碍物可以被确定为是车辆(例如,经由语义分割),操作320可以确定至少遮挡场326被障碍物312’占用。
操作320可以使用任何算法来将三维遮挡网格314和/或遮挡场316投影到图像数据304中。在一个示例中,如果遮挡场316投影到标记为可行驶表面的区域中,则该操作320可以确定遮挡场316表示未被占用的场。在一些示例中,当遮挡场326投影到对象312’中时,操作320可以确定遮挡场326被占用。在至少一些示例中,附加遮挡场可以对应于不确定的遮挡状态。换句话说,因为对象的图像有效地遮挡了一些遮挡场,所以可能无法说明遮挡场是否被占用。无论如何,在本文描述的任何示例中,出于安全目的,不确定状态可以被视为被遮挡状态。
在操作324,该过程可以包括至少部分地基于占用来命令自动驾驶车辆(例如,车辆102)。例如,当车辆102确定遮挡场316未被占用(并且遮挡网格314的所有遮挡场未被占用)时,可以控制车辆102以遵循轨迹穿过交叉路口110。在一些示例中,当遮挡场326被占用,不确定和/或当遮挡网格314的阈值数量的遮挡场被对象占用时,操作324可以包括控制自动驾驶车辆(例如,车辆102)等待而不穿过交叉路口110。在一些示例中,在信息充分性低于阈值的地方(例如,被占用或不确定的遮挡场的数量达到或超过阈值和/或被遮挡的和不可见的遮挡场的数量达到或超过某个阈值,从而使规划器无法确定导航该区域的安全轨迹),操作324可以包括命令车辆102向前爬行或以其他方式更改车辆102的位置以收集其他信息。
在一些示例中,信息的充分性可以对应于确定未被占用的遮挡场的数量达到或超过阈值数量和/或可见遮挡场的数量达到或超过特定数量(例如,足以超过某个阈值,以安全地规划穿过该区域的轨迹)。在一些情况下,信息的充分性可以包括在一段时间内观察不确定的遮挡场,以增加遮挡场未被占用的置信度水平。在一些情况下,信息的充分性可以包括确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未被遮挡和未被占用区域的范围。
在一些情况下,过程200和300可以并行地(例如,基本上同时地)执行,并且可以比较每个过程的输出以增加关于一个或多个遮挡场的状态和/或关于遮挡网格的状态的总体置信度水平。在一些情况下,LIDAR数据可用于确定距车辆102的阈值距离内的遮挡场的状态,而图像数据可用于确定达到或超过距车辆102的阈值距离的遮挡场的状态。当然,本文描述的示例并非旨在进行限制,并且其他实施方式也应视为在本公开的范围内。
图4描绘了用于实现本文描述的技术的示例***400的框图。在至少一个示例中,***400可以包括车辆402,其可以对应于图1中的车辆102。
车辆402可包括车辆计算设备404,一个或多个传感器***406,一个或多个发射器408,一个或多个通信连接410,至少一个直接连接412和一个或多个驱动模块414。
车辆计算设备404可以包括一个或多个处理器416和与一个或多个处理器416通信地耦合的存储器418。在所示的示例中,车辆402是自动驾驶车辆;然而,车辆402可以是任何其他类型的车辆,或者至少具有图像捕获设备(例如,具有照相机功能的智能手机)的任何其他***。在示出的示例中,车辆计算设备404的存储器418存储定位组件420,感知组件422,规划组件424,一个或多个***控制器426,一个或多个地图428,预测组件430,遮挡监视组件432,遮挡区域组件434,射线投射组件436,分割组件438,投影组件440,遮挡上下文(context)组件442和速度组件444。尽管出于说明性目的在图4中被描绘为驻留在存储器418中,但是可以预期的是,定位组件420,感知组件422,规划组件424,一个或多个***控制器426,一个或多个地图428,预测组件430,遮挡监视组件432,遮挡区域组件434,射线投射组件436,分割组件438,投影组件440,遮挡上下文组件442和速度组件444可以附加地或替代地是车辆402可访问的(例如,存储在远离车辆402的存储器上,或以其他方式可由其访问)。在一些情况下,车辆计算设备404可以对应于图1的车辆计算设备106。
在至少一个示例中,定位组件420可以包括从传感器***406接收数据以确定车辆402的位置和/或定向(例如,x,y,z位置,滚动,俯仰或偏航中的一个或多个)。例如,定位组件420可以包括和/或请求/接收环境的地图,并且可以连续地确定该地图内的自动驾驶车辆的位置和/或定向。在一些情况下,定位组件420可以利用SLAM(同步定位和映射)或CLAMS(同步校准,定位和映射),相对SLAM,束调整,非线性最小二乘法优化等来接收图像数据,LIDAR数据,雷达数据,IMU数据,GPS数据,车轮编码器数据等以准确确定自动驾驶车辆的位置。在一些情况下,定位组件420可以将数据提供给车辆402的各个组件,以确定自动驾驶车辆的初始位置,以用于生成轨迹和/或确定从存储器中检索包括遮挡网格的地图数据,如本文所述。
在一些情况下,感知组件422可以包括执行对象检测,分割和/或分类的功能。在一些示例中,感知组件422可以提供处理后的传感器数据,该传感器数据指示存在于车辆402附近的实体和/或该实体作为实体类型的分类(例如,汽车,行人,骑自行车的人,动物,建筑物,树木,路面,路缘,人行道,未知等)。在另外的和/或替代的示例中,感知组件422可以提供处理后的传感器数据,其指示与检测到的实体(例如,被跟踪的对象)和/或该实体所处的环境相关联的一个或多个特征。在一些示例中,与实体相关联的特征可以包括但不限于x位置(全局和/或局部位置),y位置(全局和/或局部位置),z位置(全局和/或局部位置),定向(例如,滚动,俯仰,偏航),实体类型(例如,分类),实体的速度,实体的加速度,实体的范围(尺寸)等。与环境相关的特征可以包括但不限于环境中另一个实体的存在,环境中另一个实体的状态,一天中的时间,一周中的一天,季节,天气状况,黑暗/光明的指示等。在一些情况下,感知组件422可以与分割组件438一起操作以分割图像数据,如本文所讨论的。
通常,规划组件424可以确定车辆402要遵循的穿越环境的路径。例如,规划组件424可以确定各种路线和轨迹以及各种细节水平。例如,规划组件424可以确定从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线。为了便于讨论,路线可以是在两个位置之间行驶的一系列航路点。作为非限制性示例,航路点包括街道,交叉路口,全球定位***(GPS)坐标等。此外,规划组件424可以生成用于沿着从第一位置到第二位置的路线的至少一部分引导自动驾驶车辆的指令。在至少一个示例中,规划组件424可以确定如何将自动驾驶车辆从航路点序列中的第一航路点引导至航路点序列中的第二航路点。在一些示例中,指令可以是轨迹或轨迹的一部分。在一些示例中,可以根据滚动时域方法基本上同时(例如,在技术公差内)生成多个轨迹,其中选择多个轨迹之一用于车辆402导航。
在一些情况下,如本文所讨论的,规划组件424可以至少部分地基于遮挡场和/或遮挡网格的状态来为车辆402生成一个或多个轨迹。在一些示例中,规划组件424可以使用时间逻辑,例如线性时间逻辑和/或信号时间逻辑,来评估车辆402的一个或多个轨迹。在美国申请序列号15/632,147中讨论了在规划组件424中利用时间逻辑的细节,其全部内容通过引用合并于此。
在至少一个示例中,车辆计算设备404可以包括一个或多个***控制器426,其可以被配置为控制车辆402的转向,推进,制动,安全,发射,通信和其他***。这些***控制器426可以与驱动模块414的对应***和/或车辆402的其他组件通信和/或控制它们。
存储器418可以进一步包括一个或多个地图428,可以被车辆402用来在环境内导航。出于讨论的目的,地图可以是以二维,三维或N维建模的任意数量的数据结构,这些数据结构能够提供有关环境的信息,例如但不限于拓扑结构(例如交叉路口),街道,山脉,道路,地形和一般环境。在一些情况下,地图可以包括但不限于:纹理信息(例如颜色信息(例如RGB颜色信息,Lab颜色信息,HSV/HSL颜色信息)等),强度信息(例如LIDAR信息,RADAR)信息等);空间信息(例如,投影到网格上的图像数据,单独的“面元”(例如,与单独的颜色和/或强度相关联的多边形)),反射率信息(例如,镜面反射率信息,回射信息,BRDF信息,BSSRDF信息等)。在一个示例中,地图可以包括环境的三维网格。在一些情况下,可以以平铺格式存储地图,以使地图的各个图块表示环境的离散部分,并可以根据需要加载到工作存储器中。在至少一个示例中,一个或多个地图428可以包括至少一个地图(例如,图像和/或网格)。在一些示例中,可以至少部分地基于地图428来控制车辆402。也就是说,地图428可以与定位组件420,感知组件422和/或规划组件424结合使用,以用于确定车辆402的位置,识别环境中的对象和/或生成在环境中导航的路线和/或轨迹。
在一些示例中,一个或多个地图428可以存储在可经由网络446访问的远程计算设备(例如,计算设备448)上。在一些示例中,可以基于例如特征(例如,实体的类型,一天中的时间,一周中的一天,一年中的季节等)来存储多个地图428。存储多个地图428可以具有相似的存储器要求,但是增加了可以访问地图中的数据的速度。
在一些示例中,一个或多个地图428可以存储与环境中的各个位置相关联的遮挡网格。例如,当车辆402穿越环境并且将表示车辆402附近的区域的地图加载到存储器中时,也可以将与位置相关联的一个或多个遮挡网格加载到存储器中。
在一些示例中,预测组件430可以包括用于生成环境中的对象的预测轨迹的功能。例如,预测组件430可以生成在距车辆402的阈值距离内的车辆,行人,动物等的一个或多个预测轨迹。在一些情况下,并且如结合图8所讨论的,当对象进入环境中的遮挡区域时,预测组件430可以测量对象的轨迹并生成对象的轨迹。因此,即使在对象对于车辆402的一个或多个传感器不可见的情况下,预测组件430也可以在存储器中扩展对象的轨迹,以便即使在传感器数据中没有捕获到对象,也保持关于对象的数据。
通常,遮挡监视组件432可以包括用于生成和/或访问遮挡网格数据,确定遮挡网格的被遮挡区域和未被遮挡区域以及确定遮挡网格的遮挡场的遮挡状态和/或占用状态的功能。在一些情况下,遮挡监视组件432可以对应于图1的遮挡监视组件108。如本文所讨论的,遮挡监视组件432可以接收LIDAR数据、图像数据、地图数据等来确定环境中的与遮挡有关的信息。在一些情况下,遮挡监视组件432可以将遮挡信息提供给规划组件424,以确定何时控制车辆402穿越环境。遮挡监视组件432可以将遮挡信息提供给预测组件430以生成环境中遮挡区域中一个或多个对象的预测轨迹。结合存储在存储器418中的其余组件来讨论遮挡监视组件432的其他细节。
遮挡区域组件434可以包括确定遮挡网格的被遮挡的部分(例如,类似于图1的被遮挡区域126)以及确定未被遮挡的遮挡网格的部分(例如,类似于图1的未被遮挡区域124)。例如,遮挡区域组件434可以接收LIDAR数据、图像数据、RADAR数据等,以确定区域对于车辆402的一个或多个传感器是否“可见”。在一些情况下,遮挡区域组件434可以包括将传感器数据投影到地图数据中以确定地图上没有数据的区域。在一些情况下,地图数据可用于确定在可观察区域“外部”存在区域,以确定作为被遮挡区域的区域。在一些情况下,遮挡区域组件434可以基于环境中的对象动态地生成被遮挡区域。
射线投射组件436可以包括接收LIDAR数据并且射线投射LIDAR数据通过遮挡场以确定特定遮挡场的遮挡状态和/或占用状态的功能。在一些示例中,射线投射组件436可以确定与特定遮挡场相关联的LIDAR返回的预期数量,并且可以确定与特定场相关联的实际LIDAR返回的数量。在一些情况下,射线投射组件436可以确定与遮挡场的遮挡状态和/或占用状态相关联的置信度水平,如本文所讨论的。可以理解,本文讨论的功能不限于LIDAR数据,并且可以用于使用多种传感器技术(例如,RADAR,SONAR,飞行时间成像器,深度相机等)来确定遮挡状态和/或占用状态。
分割组件438可以包括接收图像数据和分割图像数据以识别图像数据中表示的各种对象和/或区域的功能。例如,分割组件438可以包括一种或多种机器学习算法,其被训练以将图像数据识别和分割成语义类别,包括但不限于可行驶表面,自由空间(例如,可行驶表面)和/或非自由空间,车辆,行人,建筑物,植被等。在一些情况下,例如,分割组件438可以与感知组件422结合操作以对图像数据和/或对LIDAR数据执行语义分割。
投影组件440可以包括接收分割的图像数据和包括遮挡网格和遮挡场的地图数据,以及将遮挡场投影到分割的图像数据中的功能。在一些情况下,投影组件440可以通过确定遮挡场是否投影到可行驶表面(例如,畅通的道路),是否投影到将占用该区域的对象(例如,车辆)中或者以其他方式不确定来确定一个或多个遮挡场的占用。
遮挡上下文组件442可以包括基于环境的上下文确定遮挡网格,尤其是被遮挡区域的占用的功能。可以理解,遮挡网格的一部分可以被对象遮挡,使得车辆402可能无法捕获被遮挡区域的传感器数据。在一些示例中,遮挡上下文组件442可以监视物理上在被遮挡区域之前的区域(例如,就交通流的方向而言),以确定对象是否进入被遮挡区域。基于被遮挡区域的尺寸,并且在经过一段时间之后,如果没有对象进入被遮挡区域,则遮挡上下文组件442可以确定被遮挡区域未被占用。作为非限制性示例,这样的上下文组件442可以确定正在接近双车道道路的交叉路口的车辆的存在,并且基于确定没有检测到对象经过被遮挡区域的后面,上下文组件442可以确定被遮挡区域未被占用。在一些情况下,与占用状态的确定相关联的置信度水平可以随着时间而增加(例如,通过累积额外的观察)。在一些情况下,对于动态生成的遮挡网格,遮挡网格的寿命可以对应于自遮挡网格被实例化以来的时间量。在一些情况下,遮挡网格的占用状态的置信度水平可以至少部分地基于遮挡网格的寿命。在一些情况下,遮挡上下文组件442可以接收LIDAR数据、图像数据、RADAR数据等来确定被遮挡区域的上下文。
速度组件444可以包括确定穿越环境时车辆402的速度和/或加速度水平的功能。在一些情况下,速度和/或加速度水平可以包括但不限于低速度(例如,“蠕变模式”),正常速度(例如,正常速度)和高速度(例如,“升压模式”)。例如,可以为车辆402选择低速度水平以进入交叉路口或区域而没有穿过整个交叉路口或区域。例如,并且如结合图6所讨论的,在根据标称控制进行之前,可以控制车辆402沿着轨迹缓慢移动以“看到”更多区域,以减小被遮挡区域的尺寸。对于这样的轨迹,速度组件444可以选择低速度。作为另一个示例,当遮挡网格清晰时,可以为车辆402选择正常速度以穿越环境。在一些情况下,由于障碍物和/或基于环境中有限的视线而减小了遮挡网格的尺寸,可以选择高速度以减少车辆402暴露于迎面而来的交通的时间量。在一些情况下,速度组件444可以与规划组件424和/或***控制器426结合操作以控制车辆402的加速。
可以理解,为了说明的目的,将本文讨论的组件(例如,定位组件420,感知组件422,规划组件424,一个或多个***控制器426,一个或多个地图428,预测组件430,遮挡监视组件432,遮挡区域组件434,射线投射组件436,分割组件438,投影组件440,遮挡上下文组件442和速度组件444)描述为分开的。然而,由各种组件执行的操作可以被组合或在任何其他组件中执行。举例来说,可以由感知组件422(例如,而不是分割组件438)来执行分割功能,以减少***所传送的数据量。
在一些情况下,本文讨论的一些或所有组件的各个方面可以包括任何模型,算法和/或机器学习算法。例如,在一些情况下,存储器418(以及下面讨论的存储器452)中的组件可以被实现为神经网络。
如本文所述,一种示例性的神经网络是一种生物启发算法,该算法使输入数据通过一系列连接的层以产生输出。神经网络中的每一层还可以包含另一个神经网络,或者可以包含任意数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指的是广泛的这类算法,其中基于学习的参数生成输出。
尽管在神经网络的上下文中进行了讨论,但是可以根据本公开使用任何类型的机器学***滑(LOESS)),基于实例的算法(例如,岭回归,最小绝对收缩和选择算子(LASSO),弹性网,最小角度回归(LARS)),决策树算法(例如,分类和回归树(CART),迭代二分法3(ID3),卡方自动交互检测(CHAID),决策树桩,条件决策树),贝叶斯算法(例如朴素贝叶斯,高斯型贝叶斯,多项式朴素贝叶斯,平均一相关估计器(AODE),贝叶斯置信网络(BNN),贝叶斯网络),聚类算法(例如k均值,k中值,期望最大化(EM),分层聚类),关联规则学习算法(例如感知器,反向传播,霍普菲尔德网络,径向基函数网络(RBFN)),深度学习算法(例如深玻尔兹曼机(DBM),深度置信网络(DBN),卷积神经网络(CNN),堆叠式自动编码器),降维算法(例如,主成分分析(PCA),主成分回归(PCR),偏最小二乘回归(PLSR),萨蒙映射,多维比例缩放(MDS),投影追踪,线性判别分析(LDA),混合判别分析(MDA),二次判别分析(QDA),灵活判别分析(FDA)),集成算法(例如提升,引导聚合(Bagging)堆叠泛化(混合),梯度提升机(GBM),梯度提升树(GBRT),随机森林),SVM(支持向量机),监督学习,无监督学习,半监督学习等。
体系结构的其他示例包括神经网络,例如ResNet50,ResNet101,VGG,DenseNet,PointNet等。
在至少一个示例中,传感器***406可以包括LIDAR传感器,雷达传感器,超声换能器,声纳传感器,位置传感器(例如,GPS,指南针等),惯性传感器(例如,惯性测量单元(IMU),加速度计,磁力计,陀螺仪等),相机(例如RGB,IR,强度,深度,飞行时间等),麦克风,车轮编码器,环境传感器(例如温度传感器,湿度传感器,光传感器,压力传感器等)等。传感器***406可以包括这些或其他类型的传感器中的每一个的多个实例。例如,LIDAR传感器可以包括位于车辆402的角部,前,后,侧面和/或顶部的单独的LIDAR传感器。作为另一个示例,相机传感器可以包括多个相机,这些相机布置在车辆402的外部和/或内部周围的各个位置。传感器***406可向车辆计算设备404提供输入。另外或可替代地,一个或多个传感器***406可以经由一个或多个网络446以特定频率、在预定时间段流逝之后、以接近实时等向一个或多个计算设备发送传感器数据。在一些情况下,传感器***406可以对应于图1的传感器***104。
如上所述,车辆402还可包括一个或多个用于发射光和/或声音的发射器408。在此示例中,发射器408包括内部音频和视觉发射器,以与车辆402的乘客进行通信。作为示例而非限制,内部发射器可以包括扬声器,灯,标志,显示屏,触摸屏,触觉发射器(例如,振动和/或力反馈),机械致动器(例如,安全带拉紧器,座椅***,头枕***等)等。在该示例中,发射器408还包括外部发射器。作为示例而非限制,该示例中的外部发射器包括用于发信号通知行进方向的灯或车辆动作的其他指示器(例如,指示灯,标志,灯阵列等),以及一个或多个音频发射器(例如扬声器,扬声器阵列,喇叭等),以与行人或其他附近的车辆进行声音通信,其中一个或多个包含声束转向技术。
车辆402还可以包括一个或多个通信连接410,其使得能够在车辆402和一个或多个其他本地或远程计算设备之间进行通信。例如,一个或多个通信连接410可以实现与车辆402上的其他本地计算设备和/或驱动模块414的通信。而且,一个或多个通信连接410可以允许车辆与其他附近的计算设备(例如,其他附近的车辆,交通信号灯等)进行通信。一个或多个通信连接410还使得车辆402能够与远程遥操作计算设备或其他远程服务通信。
通信连接410可以包括用于将车辆计算设备404连接到另一计算设备或诸如网络446的网络的物理和/或逻辑接口。例如,通信连接410可以使能基于Wi-Fi的通信(例如经由IEEE 802.11标准定义的频率),短距离无线频率(例如),蜂窝通信(例如2G,4G,4G,4G LTE,5G等)或任何合适的有线或无线通信协议,使相应的计算设备能够与其他计算设备对接。
在至少一个示例中,车辆402可以包括一个或多个驱动模块414。在一些示例中,车辆402可具有单个驱动模块414。在至少一个示例中,如果车辆402具有多个驱动模块414,则各个驱动模块414可以定位在车辆402的相对端(例如,前部和后部等)上。在至少一个示例中,一个或多个驱动模块414可以包括一个或多个传感器***,以检测驱动模块414和/或车辆402的周围环境的状况。作为示例而非限制,传感器***可以包括一个或多个车轮编码器(例如,旋转编码器)以感测驱动模块的车轮的旋转,惯性传感器(例如,惯性测量单元,加速计,陀螺仪,磁力计等)以测量驱动模块的定向和加速度,相机或其他图像传感器,超声波传感器以声学方式检测驱动模块周围的对象,LIDAR传感器,雷达传感器等。某些传感器(例如车轮编码器)可能是驱动模块414所独有的。在一些情况下,驱动模块414上的一个或多个传感器***可以重叠或补充车辆402的对应***(例如,传感器***406)。
驱动模块414可包括许多车辆***,包括高压电池,用于推动车辆的电动机,将来自电池的直流电转换成交流电以供其他车辆***使用的逆变器,包括转向电机和转向齿条(可以是电动的)的转向***,包括液压或电动致动器的制动***,包括液压和/或气动组件的悬架***,用于分配制动力以减轻牵引力损失并保持控制的稳定性控制***,HVAC***,照明设备(例如,用于照亮车辆外部环境的前/尾灯之类的照明)以及一个或多个其他***(例如,冷却***,安全***,车载充电***),其他电气组件(例如DC/DC转换器,高压结,高压电缆,充电***,充电端口等)。另外,一个或多个驱动模块414可包括驱动模块控制器,该驱动模块控制器可接收和预处理来自传感器***的数据并控制各种车辆***的操作。在一些示例中,驱动模块控制器可以包括一个或多个处理器以及与该一个或多个处理器通信耦合的存储器。存储器可以存储一个或多个模块以执行驱动模块414的各种功能。此外,一个或多个驱动模块414还包括一个或多个通信连接,该一个或多个通信连接使得各个驱动模块能够与一个或多个其他本地或远程计算设备通信。
在至少一个示例中,直接连接412可以提供物理接口以将一个或多个驱动模块414与车辆402的车身耦合。例如,方向连接412可以允许在驱动模块414和车辆之间传递能量,流体,空气,数据等。在某些情况下,直接连接412可以进一步将驱动模块414可释放地固定到车辆402的主体。
在至少一个示例中,定位组件420,感知组件422,规划组件424,一个或多个***控制器426,一个或多个地图428,预测组件430,遮挡监视组件432,遮挡区域组件434,射线投射组件436,分割组件438,投影组件440,遮挡上下文组件442和速度组件444可以如上所述处理传感器数据,并可以通过一个或多个网络446发送它们各自的输出到一个或多个计算设备448。在至少一个示例中,定位组件420,感知组件422,规划组件424,一个或多个***控制器426,一个或多个地图428,预测组件430,遮挡监视组件432,遮挡区域组件434,射线投射组件436,分割组件438,投影组件440,遮挡上下文组件442和速度组件444可以以特定频率、在预定时间段流逝之后、以接近实时的方式等将其相应输出发送到一个或多个计算设备448。
在一些示例中,车辆402可以经由网络446将传感器数据发送到一个或多个计算设备448。在一些示例中,车辆402可以将原始传感器数据发送到计算设备448。在其他示例中,车辆402可以将处理后的传感器数据和/或传感器数据的表示发送到计算设备448。在一些示例中,车辆402可以以特定的频率、在预定时间段过去之后、以接近实时等方式将传感器数据发送到计算设备448。在一些情况下,车辆402可以将传感器数据(原始或已处理)作为一个或多个日志文件发送到计算设备448。
计算设备448可以包括处理器450和存储地图组件454的存储器452。
在一些情况下,地图组件454可以包括将遮挡网格与地图位置相关联的功能。在一些情况下,地图组件454可以识别例如接近交叉路口的车辆没有通行权的交叉路口,并且可以针对该位置生成遮挡网格。在一些情况下,地图组件454可以识别例如由山峰引起的地形遮挡区域,这可能会降低车辆402的可见性。在一些情况下,并且如结合图5所讨论的,例如,遮挡网格的尺寸可以至少部分基于区域特征,例如交叉路口的距离,速度限制,速度限制安全系数,等等。
车辆402的处理器416和计算设备448的处理器450可以是能够执行指令以处理数据并执行本文所述的操作的任何合适的处理器。作为示例而非限制,处理器416和450可以包括一个或多个中央处理单元(CPU),图形处理单元(GPU)或处理电子数据以将该电子数据转换为可以存储在寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,只要将集成电路(例如,ASIC等),门阵列(例如,FPGA等)和其他硬件设备配置为实现编码指令,就可以将它们视为处理器。
存储器418和452是非暂时性计算机可读介质的示例。存储器418和452可以存储操作***和一个或多个软件应用,指令,程序和/或数据,以实现本文描述的方法以及归因于各种***的功能。在各种实施方式中,可以使用任何适当的存储技术来实现该存储器,例如静态随机存取存储器(SRAM),同步动态RAM(SDRAM),非易失性/闪存类型的存储器,或能够存储信息的任何其他类型的存储器。本文描述的体系结构,***和单个元件可以包括许多其他逻辑,编程和物理组件,附图中示出的那些组件仅仅是与本文的讨论有关的示例。
应当注意,尽管图4被示为分布式***,但是在替代示例中,车辆402的组件可以与计算设备448相关联和/或计算设备448的组件可以与车辆402相关联。也就是说,车辆402可以执行与计算设备448相关联的一个或多个功能,反之亦然。此外,遮挡监视组件432和/或预测组件430的方面可以在本文讨论的任何设备上执行。
图2、3和5-11示出了根据本公开的实施例的示例过程。这些过程被示为逻辑流程图,其每个操作代表可以以硬件,软件或其组合实现的一系列操作。在软件的上下文中,所述操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行该指令时,执行所叙述的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程,程序,对象,组件,数据结构等。描述操作的顺序不旨在被理解为限制,并且可以以任何顺序和/或并行地组合任意数量的所描述的操作以实现这些过程。
图5是根据本公开的实施例的用于基于区域特征来生成遮挡网格的示例过程500的图示流程图。举例来说,如本文中所描述,过程500的一些或全部可由图4中的一个或多个组件执行。
在操作502,该过程可以包括评估区域特征。在一些示例中,区域特征可以包括但不限于交叉路口(或区域)距离(例如,要穿过的交叉路口的宽度),速度限制,车辆速度,安全系数等。示例504示出了交叉路口110的区域特征。例如,交叉路口110与交叉路口距离506相关联,交叉路口距离506表示交叉路口110的停止线508和与离开交叉路口110相关联的位置之间的距离。在一些示例中,当试图穿过交叉路口时,车辆102在交叉路口110中可以不保持静止,因此,可以控制车辆102以导航至检查线510。在一些示例中,检查线510可以表示车辆102可以导航而不中断交通流的进入十字路口110的最远处。也就是说,在检查线510之外,车辆102可能妨碍迎面而来的交通。在车辆102移动到检查线510的情况下,可以更新交叉路口距离506以反映车辆102要穿过的交叉路口110的减小的距离。在一些情况下,停止线508和/或检查线510可以被存储为地图数据或基于在环境中捕获的传感器数据而动态地生成。
交叉路口110还可以与速度限制512相关联。可以理解,安全系数可以与速度限制512相关联,该安全系数有效地提高了穿过交叉路口110的车辆预期到达的速度。例如,在速度限制512为每小时25英里的交叉路口,安全系数可以是额外的每小时15英里。也就是说,假定至少有一些穿过交叉路口110的车辆在超速行驶。这样的安全系数考虑到了这一假设。
示例504还示出了与平均速度,“蠕变模式”和“升压模式”相关联的车辆102。可以理解,平均速度可以是车辆102穿过交叉路口距离506的预期平均速度。另外,车辆102可以与各种加速度水平相关联以缓慢或快速穿过交叉路口110的至少一部分。
在操作514,该过程可以包括至少部分地基于区域特征来生成遮挡网格。在示例504中,生成遮挡网格并将其与交叉路口110相关联。在一些示例中,遮挡网格516可以与遮挡网格长度518(或更一般地,遮挡网格516的范围(例如,长度,宽度,高度))相关联。作为示例而非限制,如果当车辆102发起其轨迹时遮挡网格516是清晰的,则遮挡网格长度518的尺寸可以设置为使得以车辆102的平均速度穿过与交叉路口距离506关联的交叉路口110的车辆102不能与以速度限制512(加上安全系数)行驶的车辆相交。即,遮挡网格长度518的尺寸被设置成当遮挡网格516清晰时允许车辆102安全地穿过交叉路口110。可以理解,至少部分地基于区域特征来生成遮挡网格516可以提高安全性结果,而不需要向操作分配比确保安全行驶所需的额外资源。
在一些情况下,由于交叉路口的地理位置,可能会局限或限制与交叉路口关联的可见区域的长度。例如,在交叉路口之前的道路可以包括发夹弯或其他障碍物,其减小了可由车辆102感测的区域的尺寸。在一些情况下,关于交叉路口的地理和/或地形信息(例如,最大可见距离)可用于设置遮挡网格516的尺寸,以避免车辆102期望超出物理上可能的范围的畅通区域的场景。因此,可以设置车辆的速度和/或加速度,以确保车辆可以安全地穿过这种交叉路口。类似地,如本文所讨论的,可以基于要感测的区域的尺寸来调节与未被遮挡区域的尺寸相关联的阈值或与不确定的占用状态相关联的阈值。
图6是根据本公开的实施例的用于评估交叉路口处的遮挡网格并控制车辆穿过交叉路口的示例过程600的图形流程图。举例来说,如本文中所描述,过程600的一些或全部可由图4中的一个或多个组件组件执行。
在操作602,该过程可以包括评估交叉路口处的遮挡网格。在示例604中,在交叉路口110中的停止线606处示出了车辆102。至少部分基于与交叉路口110相关联的地图数据,车辆102可以将遮挡网格608加载到存储器中。另外,车辆102可以基于地图数据确定停止线606,或者可以基于识别环境中的停止线606来生成停止线606。另外,可以从存储器访问检查线610,或者可以基于识别交叉路口110的路肩或受保护区域来确定检查线610。
在一些情况下,由于车辆102相对于一个或多个障碍物612(这里是一排停放的汽车)和建筑物632的位置,车辆102可以将未被遮挡区域614与遮挡网格608的一部分相关联,并且可以将被遮挡区域616与遮挡网格608的一部分相关联。如图所示,与被遮挡区域616相对应的遮挡网格的各个遮挡场被阴影化为灰色,而未被遮挡区域614未被阴影化。可以理解,对象618可以占用被遮挡区域616,但是因为车辆102可能没有接收到与被遮挡区域616相关联的传感器数据,所以车辆102将不知道对象618的存在(例如,相应的占用状态可能不确定)。
在一些情况下,操作602可以包括确定未被遮挡区域614中的遮挡场是可见且未被占用的,而被遮挡区域616中的遮挡场是不可见的并且占用状态是未知的(例如,不确定的)。在一些情况下,被遮挡区域616中的遮挡场的默认状态可以是被占用状态(或不确定状态被视为被占用状态)。
在操作620,该过程可以包括至少部分地基于遮挡网格的第一评估(例如,确定没有足够的信息来安全地穿过交叉路口)来控制车辆改变位置。在示例622中,可以控制车辆102从停止线606移动到检查线610,以增加遮挡网格608的未被遮挡区域614的尺寸(例如,通过增加可从车辆102的传感器获得的数据量),并因此减小遮挡网格608的被遮挡区域616的尺寸。如示例622中所示,尽管车辆102现在可以识别遮挡网格608中的对象618,但是大部分遮挡网格608对于车辆102是未被遮挡的。因此,对应于对象618的遮挡网格608的遮挡场被识别为被占用区域624(并且出于说明的目的,以黑色阴影示出)。类似地,对象618可以相对于车辆102的感测区域生成“阴影”,如被遮挡区域634所示(并且在示例622中为阴影化成灰色)。因此,可以控制车辆102在不进一步进入交叉路口110的情况下在检查线610处等待。在一些示例中,可以控制车辆102使其缓慢地(例如在阈值速度以下)前进到检查线610(例如,“蠕变模式”),但可以使用任何加速度和/或速度。
在操作626,该过程可以包括至少部分地基于遮挡网格的第二评估来控制车辆穿过交叉路口。在示例628中,对象618已经退出了遮挡网格608,该遮挡网格608现在是可见的并且未被占用。因此,车辆102被示为至少部分地基于轨迹630穿过交叉路口110。在一些示例中,可以控制车辆102以使用正常或高加速度(例如,“升压模式”)来加速通过交叉路口110,尽管可以使用任何加速度。
在一些情况下,操作602、620和/或626可以由车辆102连续地执行以随时间监视环境状态。在一些情况下,过程600可以包括以10赫兹(Hz)(或任何频率)的频率评估遮挡网格以连续地评估环境。
图7是根据本公开的实施例的另一示例过程700的图形流程图,该过程700用于评估交叉路口处的遮挡网格并控制车辆穿过交叉路口。举例来说,如本文中所描述,过程700的一些或全部可由图4中的一个或多个组件执行。
在操作702,该过程可以包括评估交叉路口处的遮挡网格。在一些示例中,操作702可以包括响应于识别环境中的障碍物而生成遮挡网格。在示例704中,车辆102在交叉路口110处试图遵循轨迹706,例如执行未保护的左转弯(例如,车辆102没有绿色箭头并且必须为迎面而来的交通让路)。在一些情况下,车辆102可以识别环境中的对象708(例如,车辆),并且可以将遮挡网格710与对象708相关联。如本文中所讨论的,车辆可以接收LIDAR数据和/或图像数据以评估遮挡网格710中的遮挡场的遮挡状态和/或占用状态。
在操作712,该过程可以包括控制车辆102在交叉路口等待。可以理解,至少部分地基于遮挡网格710的一部分被遮挡,遮挡网格710提供的信息量不足以安全地穿过交叉路口110,和/或至少部分地基于穿过交叉路口110的对象708,车辆102可以被控制为在交叉路口110处等待。
在操作714,该过程可以包括将遮挡网格评估为清晰(或以其他方式提供足够的信息以根据轨迹706安全穿过交叉路口110)。在示例716中,对象708被示为已经导航穿过交叉路口110离开遮挡网格710。在一些示例中,操作714可以包括捕获LIDAR数据和/或图像数据以确定遮挡场是可见的并且未被占用(或者是不确定的),并且因此遮挡网格710是清晰的(或者提供足够的信息)。
在操作718,该过程可以包括至少部分地基于遮挡网格是清晰的来控制车辆102穿过交叉路口。在一些情况下,操作718可以包括在指示车辆102穿越环境之前,等待预定时间量(例如1秒,2秒等)以使遮挡网格710清晰(或提供足够量的信息以确定安全穿越的轨迹706)。如示例716所示,车辆102正在经由轨迹706穿过交叉路口110。此外,遮挡网格710被示为可见并且没有障碍物。
图8是根据本公开的实施例的用于确定与对象相关联的遮挡区域并且用于为遮挡区域中的动态对象生成预测轨迹的示例过程800的图形流程图。举例来说,如本文中所描述,过程800的一些或全部可由图4中的一个或多个组件执行。例如,过程800中的一些或全部可以由车辆计算设备404执行。
在操作802,该过程可以包括确定与对象相关联的遮挡区域。在示例804中,交叉路口110处的车辆102捕获环境的LIDAR数据和/或图像数据。在一些示例中,操作802可以包括识别环境中的对象806以及与该对象806相关联的遮挡区域808。在示例804中,对象806可以表示停在交叉路口110附近的汽车。在一些情况下,操作802可以包括生成与对象806相关联的遮挡网格(未示出)。在一些情况下,遮挡区域808表示遮挡网格的被遮挡部分。在一些情况下,操作802可以包括访问包括遮挡网格的地图数据,如本文所讨论的。
在操作810,该过程可以包括识别遮挡区域808附近的动态对象(例如,行人)。在一些情况下,操作810可以包括确定动态对象(例如,行人)812在遮挡区域808的阈值距离内。在一些情况下,操作810可以包括接收LIDAR数据,图像数据和/或其他传感器数据,以测量环境中动态对象812的轨迹(例如,位置,定向和速度)作为测量轨迹814。
在操作816,该过程可以包括生成动态对象的一个或多个预测轨迹。在示例804中,将一个或多个预测轨迹818示出为行人812在遮挡区域808中时可能遵循的路径(尽管预测轨迹不限于遮挡区域808)。在一些示例中,预测轨迹818可以至少部分地基于环境中的测量轨迹814和/或符号或区域。例如,预测轨迹可以包括当行人进入遮挡区域808时行人812的速度和方向的连续性。在另一个示例中,预测轨迹可以基于环境的目的地,例如在交叉路口的相对侧上的人行道。可以使用多种方法来生成预测的轨迹。生成预测轨迹的细节在美国申请序列号15/833,715中进行了讨论,该申请的全部内容通过引用结合在此。
在一些示例中,操作816可以包括至少部分地基于一个或多个预测轨迹818来控制车辆102。在一些情况下,如果车辆102的轨迹在至少一个预测轨迹的阈值距离内,可以控制车辆102等待直到可以确定关于动态对象的附加信息。在一些情况下,随着时间的流逝,车辆102可以增加或减小与单独的预测轨迹相关联的概率,该概率指示行人812的路径遵循一个或多个预测轨迹818的可能性。例如,随着时间的流逝以及与动态对象812相关联的观察是否进行,可以从可能的预测轨迹列表中拒绝(例如修剪)轨迹。在一些情况下,当在环境中观察到动态对象812时,如果一个或多个预测轨迹没有描述或不与动态对象812在遮挡区域808内的移动相关联,则可以拒绝它们。
图9是根据本公开的实施例的用于评估地形遮挡网格并用于控制车辆穿越地形障碍物的示例过程900的图形流程图。举例来说,如本文中所描述,过程900的一些或全部可由图4中的一个或多个组件执行。例如,过程900中的一些或全部可以由车辆计算设备404执行。
在操作902,该过程可以包括评估遮挡网格。在一些示例中,遮挡网格可以是响应于环境中的地形(例如,地理)特征而生成的地形遮挡网格。在示例904中,示出了与山峰相关的遮挡网格906。可以理解,随着车辆102接近山丘,山峰自然产生由于高度差和地面角度而对于车辆102不可见的区域。在一个示例中,遮挡网格906与未被遮挡区域908和被遮挡区域910相关联。如图所示,车辆102发射穿过遮挡网格906以识别未被遮挡区域908和被遮挡区域910的LIDAR射线912。
可以理解,随着车辆102接近山峰,车辆102可能无法捕获山顶处的地面的传感器数据。在一些实施例中,这减小了车辆102的可见性,并且因此,车辆102可以减小车辆102的速度以进行环境导航。
然而,在操作914,该过程可以包括确定至少一个遮挡场的占用。例如,遮挡网格906包括至少一个遮挡场916。如示例904中所示,遮挡场916位于山丘的顶部,使得LIDAR射线912不能捕获与遮挡场916相关联的地面的传感器数据。在一些情况下,可以经由包括区域的地形信息(例如,高度信息)的地图数据来访问遮挡网格906,以指示将被遮挡或将不被遮挡的特定区域。此外,例如,这种地图信息可以指示基于车辆102的位置可以预期在表面上方有多少个数据点(例如,LIDAR返回)。然而,由于遮挡场916包括三维空间或与三维空间相关联,因此LIDAR射线912可以穿过遮挡场916的一部分。在一些示例中,如本文所述,至少部分地基于投射LIDAR射线912的射线,操作914可以包括确定遮挡场916的占用。在该示例中,遮挡场916对于车辆102是可见的(出于确定遮挡状态的目的)并且未被障碍物占用。
在操作918,该过程可以包括至少部分地基于占用来控制车辆(例如,车辆102)。例如,通过评估表示环境中的山丘的遮挡网格906,尽管传感器没有直接捕获山峰之外的地面数据,但是车辆102可以“俯瞰”山峰。因此,车辆102可以基于山峰之外的遮挡网格906的占用来规划轨迹和/或确定速度。作为非限制性示例,车辆102可以调节速度,定向或位置中的一个或多个,以使得由遮挡网格906提供的信息足以安全地穿越山丘。
图10描绘了根据本公开的实施例的示例过程,该过程用于基于射线投射LIDAR数据和/或基于将遮挡场投影到图像数据中来确定遮挡场的占用,并且控制车辆穿越环境。例如,如本文所述,过程1000的一些或全部可以由图4中的一个或多个组件执行。例如,过程1000中的一些或全部可以由车辆计算设备404执行。
在操作1002,该过程可以包括访问表示自动驾驶车辆附近的环境的地图数据,该地图数据包括具有遮挡场的遮挡网格。在一些情况下,操作1002可以包括确定车辆在环境中的位置,并访问在车辆的阈值距离(例如,后退地平线)内的地图数据。如本文中所讨论的,在一些情况下,遮挡网格可以包括多个遮挡场,每个遮挡场表示环境的离散部分(例如,可行驶表面的一部分)。在一些情况下,遮挡场可以表示遮挡状态(例如,遮挡场对于车辆是否可见)和占用状态(例如,遮挡场是否被环境中的对象占用,或者不确定)。
在操作1004,该过程可以包括使用自动驾驶车辆上的传感器捕获传感器数据。在一些情况下,操作1004可以包括捕获环境的LIDAR数据和/或图像数据。
在操作1006,该过程可以包括确定遮挡场的占用。在一些示例中,操作1006还可以包括确定遮挡场的可见性。在一些示例中,操作1006可以包括至少部分地基于LIDAR数据(例如,操作1008)和/或图像数据(例如,操作1010)来确定遮挡场的占用。
在操作1008,该过程可以包括射线投射LIDAR数据以确定遮挡场的占用。如结合图2所讨论的,并且贯穿本公开,射线投射LIDAR数据可包括确定通过遮挡场的LIDAR返回的预期数量(例如,可能会穿过遮挡场上方一列体素空间中的体素),以及相对于在这样一遮挡区域上方通过的体素的总数,确定通过遮挡场的LIDAR返回的实际数量,如上面详细讨论的。当然,操作1008可以包括确定LIDAR数据表示遮挡场中的对象,在这种情况下遮挡场将被占用。如果返回的阈值数量(或百分比)指示没有返回,则占用状态可能是未被占用。否则,占用状态可能不确定。
在操作1010,该过程可以包括将遮挡场投影到分割的图像数据中以确定遮挡场的占用。如结合图3所讨论的,并且贯穿本公开,由图像传感器捕获的图像数据可以被分割以确定可行驶区域,车辆,行人等的位置。遮挡场的位置可以被投影到分割的图像数据中,以确定遮挡场的位置是否对应于可行驶表面。如果是,则遮挡场未被占用,但是例如,如果遮挡场投影到车辆中,则遮挡场可以被确定为被占用,或者不确定。可以在操作1012中确定遮挡场是否被占用。
在操作1012,如果阈值数量的遮挡场被占用(“是”)或不确定,则过程继续进行到操作1014。在操作1014,该过程可以包括至少部分地基于占用来确定遮挡网格不是清晰的。例如,如果没有足够数量的未被占用遮挡场来确定车辆可以安全地穿越环境,则过程可以返回。在一些情况下,操作1014可以包括确定阈值数量的遮挡场被占用或不确定。在一些情况下,操作1014可以包括控制车辆导航到位以观察遮挡网格的更大部分。该过程可以返回到操作1004以捕获附加数据以确定遮挡场的状态,并因此确定遮挡网格的状态。
如果遮挡场未被占用(在操作1012中为“否”),则过程继续进行到操作1016。在操作1016,该过程可以包括至少部分地基于占用来确定遮挡网格是清晰的,或者否则,将提供足够的信息来安全地穿越环境。
在操作1018,该过程可以包括至少部分地基于遮挡网格是清晰的来控制自动驾驶车辆穿越环境。
图11描绘了根据本公开的实施例的示例性过程1100,该过程100用于基于指示遮挡网格的地图数据或基于识别环境中的障碍物来确定遮挡网格,并控制车辆穿越环境。举例来说,如本文中所描述,过程1100的一些或全部可由图4中的一个或多个组件执行。例如,过程1100的一些或全部可以由车辆计算设备404执行。
在操作1102,该过程可以包括控制自动驾驶车辆行驶到环境中的第一位置。在一些情况下,在某些情况下,第一位置可以表示环境中某个交叉路口的停止线。
在操作1104,该过程可以包括使用自动驾驶车辆上的传感器捕获环境的传感器数据。在一些示例中,操作1104可以包括捕获环境中的LIDAR数据,图像数据,RADAR数据等。
在操作1106,该过程可以包括确定1)地图数据是否指示遮挡网格或2)是否识别出环境中的障碍物。如果“否”(例如,地图数据未指示存在与该位置相关联的遮挡网格并且在环境中没有识别出对象),则过程可以返回到操作1102,从而自动驾驶车辆可以移动到新的位置(操作1102)和/或使得自动驾驶车辆可以根据名义驾驶行为(例如,基于传感器数据的轨迹生成)捕获环境中的传感器数据(操作1104)。如果在操作1106中为“是”(例如,地图数据指示存在与该位置相关联的遮挡网格或识别出环境中的对象),则过程继续至操作1108。
在操作1108,该过程可以包括确定包括多个遮挡场的遮挡网格,遮挡场指示环境中对应区域的可见性和占用。在一些示例中,可以从地图数据访问遮挡网格,并且在一些示例中,可以至少部分地基于识别出对象来动态地生成遮挡网格。
在操作1110,该过程可以包括至少部分地基于传感器数据将遮挡网格的至少一部分在第一时间被遮挡确定为被遮挡区域。如本文所讨论的,被遮挡区域可能在第一时间对于自动驾驶车辆的一个或多个传感器不可见。
在操作1112,该过程可以包括至少部分地基于被遮挡区域,控制自动驾驶车辆停留在第一位置或行进到第二位置的操作。结合图7讨论了停留在第一位置的示例,并且结合图6讨论了控制车辆行进到第二位置的示例。例如,第二位置可以是检查线,允许自动驾驶车辆导航到第二位置以查看遮挡网格的更多部分。
在操作1114,该过程可以包括至少部分地基于传感器数据来确定被遮挡区域(或与被遮挡区域相对应的环境部分)在第二时间可见。关于图6,自动驾驶车辆可以导航到第二位置,使得环境中的障碍物不会阻止传感器捕获整个遮挡网格的数据。关于图7,自动驾驶车辆可以等待障碍物移动,从而允许传感器捕获表示遮挡网格的数据。
在操作1116,该过程可以包括至少部分地基于被遮挡区域在第二时间可见来控制自动驾驶车辆。在一些示例中,操作1116还可以包括确定遮挡网格未被占用,指示自动驾驶车辆可以安全地穿越环境。
示例条款
A:一种***,包括:一个或多个处理器;以及存储能够由一个或多个处理器执行的指令的一个或多个计算机可读介质,其中,指令在被执行时使***执行以下操作:使用自动驾驶车辆上的LIDAR传感器捕获LIDAR数据;访问表示自动驾驶车辆附近的环境的地图数据,该地图数据包括包含多个遮挡场的遮挡网格,其中,多个遮挡场中的一遮挡场与环境的一部分的遮挡状态和占用状态相关联;射线投射LIDAR数据的一部分以确定遮挡场的占用状态和遮挡状态;至少部分地基于遮挡场,确定与遮挡网格相关联的信息的充分性,以确定控制自动驾驶车辆穿越环境的安全轨迹;以及控制自动驾驶车辆按照安全轨迹穿越环境。
B:根据段落A的***,这些操作还包括:使用自动驾驶车辆上的图像传感器捕获图像数据;在图像数据的至少一部分上执行语义分割,以生成识别环境中至少一可行驶表面的分割的图像数据;将遮挡场投影到分割的图像数据中;确定遮挡场投影到可行驶表面中;以及至少部分地基于投影到可行驶表面中的遮挡场来控制自动驾驶车辆穿越环境。
C:根据段落A或B的***,其中多个遮挡场使环境中的可行驶表面的一部分离散,其中遮挡场的遮挡状态指示LIDAR传感器对遮挡场的可见性。
D:根据段落A至C中任一个的***,这些操作还包括:至少部分地基于以下来各项来确定与遮挡场的占用状态相关联的置信度值:与遮挡场相关联的LIDAR返回的第一数量;以及与遮挡场相关联的离散区域的第二数量。
E:根据段落D的***,其中第一数量相对于第二数量的第一比率低于阈值表示遮挡场的未被占用状态的高置信度,第一数量相对于第二数量的第二比率高于阈值表示遮挡场的被占用状态的高置信度。
F:一种方法包括:使用机器人平台上的传感器捕获传感器数据;至少部分地基于传感器数据确定机器人平台的位置;访问表示在该位置处的机器人平台附近的环境的地图数据,该地图数据包括遮挡网格;确定遮挡网格的遮挡场的占用状态;至少部分地基于遮挡场来确定信息的充分性,以确定穿越遮挡网格附近的环境的区域的轨迹;以及至少部分地基于遮挡网格的占用状态来控制机器人平台。
G:根据段落F的方法,还包括:捕获使用机器人平台上的LIDAR传感器捕获LIDAR数据作为传感器数据;射线投射LIDAR数据的一部分以确定遮挡场的占用状态,该占用状态包括被占用状态,未被占用状态或不确定状态之一;射线投射LIDAR数据的一部分以确定遮挡场的遮挡状态,该遮挡状态包括可见或遮挡的其中之一;以及至少部分地基于遮挡网格是清晰的来控制机器人平台穿越环境,其中至少部分地基于相对于遮挡网格的大小或与遮挡网格相关联的速度限制中的至少一个的、对LIDAR传感器可见的遮挡网格的遮挡场的数量来确定信息的充分性速度限制。
H:根据段落G的方法,其中,射线投射包括:确定与遮挡场上方的区域相关联的预期LIDAR返回的第一数量;确定与遮挡场上方的区域相关联的实际LIDAR返回的第二数量;至少部分地基于预期LIDAR返回的第一数量和实际LIDAR返回的第二数量,确定与遮挡区域的占用相关联的置信度值;以及确定置信度值达到或超过阈值置信度值。
I:根据段落F至H中任一个的方法,还包括:捕获使用机器人平台上的图像传感器捕获的图像数据作为传感器数据;对图像数据的至少一部分执行分割以生成识别环境中的可行驶表面的分割的图像数据;将遮挡场投影到分割的图像数据中;确定遮挡场投影到可行驶表面中;以及至少部分地基于投影到可行驶表面中的遮挡场来控制机器人平台穿越环境。
J:根据段落F至I中任一个的方法,其中,机器人平台包括自动驾驶车辆,并且自动驾驶车辆附近的环境包括交叉路口,该方法还包括:确定自动驾驶车辆要穿过的交叉路口的距离;确定与交叉路口相关联的速度限制;以及至少部分基于以下各项来确定遮挡网格的范围:交叉路口的距离;速度限制;以及安全系数。
K:根据段落J的方法,还包括至少部分地基于自动驾驶车辆穿过交叉路口的距离的预期时间量来确定遮挡网格的范围。
L:根据段落F至K中任一个的方法,其中,遮挡场包括时间逻辑符号,该方法还包括:至少部分地基于评估包括时间逻辑符号的时间逻辑公式来验证轨迹;以及控制机器人平台至少部分地基于轨迹来穿越环境。
M:根据段落F至L中任一个的方法,其中,遮挡网格包括多个遮挡场,该方法还包括:在控制机器人平台穿越环境之前,确定阈值数量的多个遮挡场对于传感器而言是可见的并且未被占用。
N:根据段落F至M中任一个的方法,还包括:确定遮挡网格的一部分对传感器不可见;以及控制机器人平台移动到某个位置以增加遮挡网格对传感器可见的部分。
O:一种存储指令的非暂时性计算机可读介质,该指令在被执行时使一个或多个处理器执行以下操作:接收使用机器人平台上的传感器捕获的传感器数据;至少部分地基于传感器数据确定机器人平台的位置;访问表示在该位置处的机器人平台附近的环境的地图数据,该地图数据包括遮挡网格;确定遮挡网格的遮挡场的占用状态;至少部分地基于遮挡场来确定信息的充分性,以确定用于穿越遮挡网格附近的环境的区域的轨迹;以及至少部分地基于遮挡网格的状态来控制机器人平台。
P:根据段落O的非暂时性计算机可读介质,其中传感器数据是LIDAR数据,并且其中传感器是LIDAR传感器,这些操作还包括:射线投射LIDAR数据的一部分以确定遮挡场的占用状态和遮挡状态;至少部分地基于占用状态和遮挡状态来确定与遮挡网格相关联的信息的充分性;以及至少部分地基于信息的充分性来控制机器人平台穿越环境。
Q:根据段落P的非暂时性计算机可读介质,其中射线投射包括:确定与遮挡场上方的区域相关联的预期LIDAR返回的第一数量;确定与遮挡场上方的区域相关联的实际LIDAR返回的第二数量;至少部分地基于预期LIDAR返回的第一数量和实际LIDAR返回的第二数量,确定与遮挡场的占用状态相关联的置信度值;以及确定置信度值达到或超过阈值置信度值,其中,置信度水平达到或超过阈值置信度值指示遮挡场未被占用。
R:根据段落O至Q中任一个的非暂时性计算机可读介质,使用机器人平台上的图像传感器捕获图像数据作为传感器数据;对图像数据的至少一部分执行分割,以生成识别环境中可行驶表面的分割的图像数据;将遮挡场投影到分割的图像数据中;以及确定遮挡场投影到可行驶表面。
S:根据段落O至R中任一个的非暂时性计算机可读介质,这些操作还包括:确定遮挡网格的一部分对于传感器不可见;以及控制机器人平台移动到整个遮挡网格对传感器可见的位置,其中机器人平台的速度低于速度阈值。
T:根据段落O至S中任一个的非暂时性计算机可读介质,其中传感器数据为第一传感器数据,这些操作还包括:接收由机器人平台上的图像传感器捕获的图像数据作为所述第一传感器数据;接收由机器人平台上的LIDAR传感器捕获的LIDAR数据作为第二传感器数据;以及至少部分地基于第一传感器数据和第二传感器数据,确定与遮挡场的占用状态相关联的置信度值。
U:一种***,包括:一个或多个处理器;以及存储可由一个或多个处理器执行的指令的一个或多个计算机可读介质,其中,指令在被执行时使***执行以下操作:控制自动驾驶车辆行进到环境中的第一位置;使用自动驾驶车辆的传感器捕获环境的至少LIDAR数据或图像数据作为传感器数据;至少部分地基于访问地图数据或基于识别环境中的障碍物来确定包括多个遮挡场的遮挡网格,该遮挡网格的一遮挡场指示环境中对应区域的遮挡状态和占用状态;至少部分地基于传感器数据,确定遮挡网格的至少第一部分在第一时间被遮挡作为被遮挡区域;至少部分地基于传感器数据,确定遮挡网格的至少第二部分在第一时间未被遮挡作为未被遮挡区域;至少部分地基于第二部分的范围和占用,确定与安全地穿越环境的轨迹相关联的置信度水平;至少部分地基于置信度水平低于阈值水平,控制自动驾驶车辆停留在第一位置或行进到第二位置;至少部分地基于传感器数据,确定遮挡网格的第三部分在第二时间可见并且未被占用;以及至少部分地基于遮挡网格的第三部分在第二时间可见且未被占用来控制自动驾驶车辆。
V:根据段落U的***,这些操作还包括以下各项中的一项或多项:确定自动驾驶车辆正在接近要求自动驾驶车辆为其他交通让路的交叉路口;确定障碍物与动态遮挡网格相关联;确定在遮挡网格内穿越的动态障碍物的预测轨迹;或基于地形遮挡区域确定遮挡网格。
W:根据段落U或V的***,其中,传感器数据包括LIDAR数据,并且传感器是LIDAR传感器,这些操作还包括:射线投射LIDAR数据的一部分,以确定遮挡场的遮挡状态和占用状态。
X:根据段落U至W中任一个的***,其中,传感器数据是图像数据,并且传感器是图像传感器,这些操作还包括:对图像数据的至少一部分执行分割以生成识别所述环境中的可行驶表面的分割的图像数据;将遮挡场投影到分割的图像数据中;确定遮挡场投影到可行驶表面中;以及至少部分地基于投影到可行驶表面中的遮挡场来控制自动驾驶车辆穿越环境。
Y:根据段落U至X中任一个的***,这些操作还包括:确定多个遮挡场中的未被遮挡和未被占用的遮挡场的第一数量;确定第一数量未达到或超过与环境的安全穿越相关联的遮挡场的阈值数量;以及至少部分地基于未达到或超过阈值数量的第一数量,控制自动驾驶车辆停留在第一位置或行进到第二位置。
Z:一种方法包括:控制自动驾驶车辆行进到环境中的第一位置;至少部分地基于访问地图数据或基于识别环境中的障碍物来确定遮挡网格;确定遮挡网格的至少第一部分在第一时间被遮挡作为被遮挡区域;确定遮挡网格的至少第二部分在第一时间是可见的作为未被遮挡区域;确定未被遮挡区域的占用状态;至少部分地基于未被遮挡区域的范围和未被遮挡区域的占用状态,控制自动驾驶车辆停留在第一位置或行进到第二位置;确定遮挡网格的第三部分在第二时间未被遮挡并且未被占用;以及至少部分地基于遮挡网格的第三部分在第二时间未被遮挡和未被占用来控制自动驾驶车辆。
AA:根据段落Z的方法,还包括:确定自动驾驶车辆正在接近环境中的交叉路口,其中,自动驾驶车辆在交叉路口处缺少通行权;其中:第一位置是与交叉路口相关联的停车线;第二位置是检查线,该检查线至少部分地经过停止线并在交叉路口内。
AB:根据段落AA的方法,还包括:控制自动驾驶车辆以低于阈值速度的第一速度从第一位置行进到第二位置;确定在第二位置处捕获传感器数据;至少部分地基于传感器数据,确定第三部分在第二时间未被遮挡和未被占用;确定第三部分的范围达到或超过阈值;以及控制自动驾驶车辆以高于阈值速度的第二速度从第二位置穿过交叉路口。
AC:根据段落Z至AB中任一个的方法,其中障碍物是动态障碍物,该方法还包括:识别环境中的动态障碍物;将遮挡网格与动态障碍物相关联;至少部分地基于未被遮挡区域的范围和未被遮挡区域在第一时间的占用状态,来控制自动驾驶车辆停留在第一位置;以及至少部分地基于所述遮挡网格的第三部分在第二时间未被遮挡和未被占用来控制自动驾驶车辆。
AD:根据段落Z至AC中任一个的方法,还包括:识别环境中的障碍物;将遮挡网格与障碍物相关联;识别环境中的动态对象;捕获环境中动态对象的运动数据;确定动态对象行进到被遮挡区域中;确定被遮挡区域内的动态对象的预测轨迹;以及至少部分地基于动态对象的预测轨迹来控制自动驾驶车辆。
AE:根据段落Z至AD中任一个的方法,还包括:确定自动驾驶车辆在距地形遮挡区域的阈值距离内;以及至少部分地基于与地形遮挡区域相关联的地图数据,将遮挡网格确定为地形遮挡网格。
AF:根据段落Z至AE中任一个的方法,还包括:使用自动驾驶车辆上的LIDAR传感器捕获LIDAR数据;以及射线投射LIDAR数据的一部分,以确定遮挡场的遮挡状态和占用状态,该遮挡场表示遮挡网格的一部分。
AG:根据段落Z至AF中任一个的方法,还包括:使用自动驾驶车辆上的图像传感器捕获图像数据;对图像数据的至少一部分执行分割,以生成识别环境中可行驶表面的分割的图像数据;将遮挡场投影到分割的图像数据中,该遮挡场表示遮挡网格的一部分;确定遮挡场投影到可行驶表面中;以及至少部分地基于投影到可行驶表面中的遮挡场来控制自动驾驶车辆穿越环境。
AH:根据段落Z至AG中任一个的方法,还包括:基于至少部分地基于要在环境中穿越的部分的第一范围和遮挡网格的第三部分的未被遮挡且未被占用的第二范围而选择的速度来控制自动驾驶车辆穿越环境的一部分。
AI:根据段落Z至AH中任一个的方法,还包括:确定与被遮挡区域相关的时间段;确定在该时间段内没有对象进入被遮挡区域;以及至少部分地基于与该被遮挡区域相关联的速度限制,至少部分地基于该时间段来确定与该被遮挡区域的占用相关联的置信度水平。
AJ:一种存储指令的非暂时性计算机可读介质,该指令在被执行时使一个或多个处理器执行以下操作:控制机器人平台行进到环境中的第一位置;确定机器人平台相对于地图的位置,该地图包括地图数据;至少部分地基于访问与该位置相关联的地图数据或基于识别接近机器人平台的环境中的障碍物来确定遮挡网格;确定遮挡网格的至少第一部分在第一时间被遮挡作为被遮挡区域;确定遮挡网格的至少第二部分在第一时间是可见的作为未被遮挡区域;确定未被遮挡区域的占用状态;至少部分地基于未被遮挡区域的范围和未被遮挡区域的占用状态,控制机器人平台停留在第一位置或行进到第二位置;确定遮挡网格的第三部分在第二时间未被遮挡并且未被占用;以及至少部分地基于第三部分在第二时间未被遮挡和未被占用来控制机器人平台。
AK:根据段落AJ的非暂时性计算机可读介质,这些操作进一步包括:确定机器人平台正在接近环境中的交叉路口,其中机器人平台需要为其他车辆让路;其中:所述第一位置是与交叉路口相关联的停止线;以及第二位置是检查线,该检查线至少部分地经过停止线并在交叉路口内。
AL:根据段落AJ或AK的非暂时性计算机可读介质,这些操作进一步包括:使用机器人平台上的LIDAR传感器捕获LIDAR数据;射线投射LIDAR数据的一部分以确定遮挡场的占用,该遮挡场表示遮挡网格的一部分;以及至少部分地基于占用来确定遮挡网格是可见的且未被占用的。
AM:根据段落AJ至AL中任一个的非暂时性计算机可读介质,这些操作进一步包括:使用机器人平台上的图像传感器捕获图像数据;对图像数据的至少一部分执行分割,以生成识别环境中可行驶表面的分割的图像数据;将遮挡场投影到分割的图像数据中,该遮挡场表示遮挡网格的一部分;确定遮挡场投影到可行驶表面中;以及至少部分地基于投影到可行驶表面中的遮挡场来控制机器人平台穿越环境。
AN:根据段落AJ至AM中任一个的非暂时性计算机可读介质,这些操作进一步包括:确定与被遮挡区域相关的时间段;确定在该时间段内没有对象进入被遮挡区域;以及确定与安全轨迹相关联的置信度水平。
尽管针对一个特定实施方式描述了上述示例性条款,但是应当理解,在本文档的上下文中,示例性条款的内容也可以通过方法,设备,***,计算机可读介质和/或另一实施方式来实现。
结论
尽管已经描述了本文描述的技术的一个或多个示例,但是其各种改变,添加,置换和等同物也包括在本文描述的技术的范围内。
在示例的描述中,参考形成其一部分的附图,其通过说明的方式示出了所要求保护的主题的特定示例。应该理解,可以使用其他示例,并且可以进行诸如结构改变的改变或替换。这样的示例,改变或变更不一定相对于预期的所要求保护的主题偏离范围。尽管本文中的步骤可以按特定顺序显示,但在某些情况下,可以更改顺序,以便在不更改所述***和方法功能的情况下,可以在不同时间或以不同顺序提供特定输入。所公开的过程也可以以不同的顺序执行。另外,这里不需要以所公开的顺序执行各种计算,并且可以容易地实现使用计算的替代顺序的其他示例。除了重新排序外,这些计算还可以分解为具有相同结果的子计算。

Claims (75)

1.一种遮挡感知规划***,包括:
一个或多个处理器;以及
一个或多个计算机可读介质,其存储可由所述一个或多个处理器执行的指令,其中,所述指令在被执行时使所述***执行操作,所述操作包括:
从车辆上的传感器接收传感器数据;
接收表示所述车辆附近的环境的地图数据,所述地图数据包括遮挡网格,所述遮挡网格包括多个遮挡场,其中所述多个遮挡场中的遮挡场与指示与所述遮挡场相关联的所述环境的一部分是否对于所述传感器可见或不可见的遮挡状态和指示所述环境的所述部分是否被对象占用、未被对象占用或不确定的占用状态相关联;
至少部分地基于所述传感器数据的一部分,确定所述遮挡场的所述占用状态和所述遮挡状态;
至少部分地基于所述遮挡场,至少基于以下各项中的一或多项,确定与所述遮挡网格相关联的信息的充分性:
未被占用的遮挡场的数量达到或超过第一阈值数量,
可见遮挡场的数量达到或超过第二阈值数量,
在阈值时间段内观察不确定的遮挡场,或
确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围;
至少部分地基于所述信息的充分性,确定所述车辆穿越所述环境的安全轨迹;以及
控制所述车辆以根据所述安全轨迹穿越所述环境。
2.根据权利要求1所述的***,其中,所述传感器是LIDAR传感器,且所述传感器数据包括LIDAR数据,所述操作还包括:
从所述车辆上的图像传感器接收图像数据;
对所述图像数据的至少一部分执行语义分割,以生成识别所述环境中的至少一可行驶表面的分割的图像数据;
将所述遮挡场关联到所述分割的图像数据中;
确定所述遮挡场与所述可行驶表面相关联;以及
至少部分地基于与所述可行驶表面相关联的所述遮挡场来控制所述车辆穿越所述环境。
3.根据权利要求1或2所述的***,其中,所述多个遮挡场使所述环境中的可行驶表面的一部分离散,其中所述遮挡场的所述遮挡状态指示所述传感器对所述遮挡场的可见性。
4.根据权利要求1或2所述的***,所述操作还包括:
至少部分基于以下各项来确定与所述遮挡场的所述占用状态相关联的置信度值:
与所述遮挡场相关联的传感器返回的第一数量;以及
与所述遮挡场相关联的离散化区域的第二数量。
5.根据权利要求4所述的***,其中,所述第一数量相对于所述第二数量的第一比率低于阈值指示所述遮挡场的未被占用状态的高置信度,以及所述第一数量相对于所述第二数量的第二比率高于所述阈值指示所述遮挡场的被占用状态的高置信度。
6.一种遮挡感知规划方法,包括:
接收使用机器人平台上的传感器捕获的传感器数据;
至少部分地基于所述传感器数据来确定所述机器人平台的位置;
接收表示在所述位置处的所述机器人平台附近的环境的地图数据,所述地图数据包括遮挡网格;
确定所述遮挡网格的遮挡场的占用状态;
至少部分地基于所述遮挡场,至少基于以下各项中的一或多项来确定信息的充分性:
未被占用的遮挡场的数量达到或超过第一阈值数量,
可见遮挡场的数量达到或超过第二阈值数量,
在阈值时间段内观察不确定的遮挡场,或
确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围;
至少部分地基于所述信息的充分性,确定穿越所述遮挡网格附近的所述环境的区域的轨迹;以及
控制所述机器人平台以根据所述轨迹穿越所述环境的所述区域。
7.根据权利要求6所述的方法,还包括:
接收使用所述机器人平台上的LIDAR传感器捕获的LIDAR数据作为所述传感器数据;
至少部分地基于将所述LIDAR数据的一部分与所述遮挡场相关联,确定所述遮挡场的所述占用状态,所述占用状态包括被占用状态,未被占用状态或不确定状态中的一种;
至少部分地基于所述LIDAR数据的所述部分,确定所述遮挡场的遮挡状态,所述遮挡状态包括可见或被遮挡的其中之一;以及
至少部分地基于所述遮挡状态和所述占用状态,控制所述机器人平台穿越所述环境,
其中所述信息的充分性至少部分地基于所述遮挡网格的遮挡场的数量来确定的,所述遮挡场相对于所述遮挡网格的尺寸或与所述遮挡网格相关联的速度限制中的至少一个而对所述LIDAR传感器是可见的。
8.根据权利要求7所述的方法,其中,确定所述遮挡场的占用状态包括射线投射,其中,所述射线投射包括:
确定与所述遮挡场上方的区域相关联的预期LIDAR返回的第一数量;
确定与所述遮挡场上方的所述区域相关联的实际LIDAR返回的第二数量;
至少部分地基于预期LIDAR返回的所述第一数量和实际LIDAR返回的所述第二数量,确定与所述遮挡场的占用相关联的置信度值;以及
确定所述置信度值达到或超过阈值置信度值。
9.根据权利要求6所述的方法,还包括:
接收使用所述机器人平台上的图像传感器捕获的图像数据作为所述传感器数据;
分割所述图像数据的至少一部分以生成识别所述环境中的可行驶表面的分割的图像数据;
将所述遮挡场与所述分割的图像数据相关联;
确定所述遮挡场与所述可行驶表面相关联;以及
至少部分地基于所述遮挡场与所述可行驶表面相关联,控制所述机器人平台穿越所述环境。
10.根据权利要求6所述的方法,其中,所述机器人平台包括自动驾驶车辆,并且所述自动驾驶车辆附近的环境包括交叉路口,所述方法还包括:
确定与所述自动驾驶车辆要穿过的所述交叉路口相关联的距离;
确定与所述交叉路口相关联的速度限制;以及
至少部分基于以下各项来确定所述遮挡网格的范围:
与所述交叉路口相关联的所述距离;
所述速度限制;以及
安全系数。
11.根据权利要求10所述的方法,还包括至少部分地基于所述自动驾驶车辆穿过与所述交叉路口相关联的所述距离的预期时间量来确定所述遮挡网格的所述范围。
12.根据权利要求6所述的方法,其中,所述遮挡场包括时间逻辑符号,所述方法还包括:
至少部分地基于评估包括所述时间逻辑符号的时间逻辑公式来验证轨迹;以及
至少部分地基于所述轨迹来控制所述机器人平台穿越所述环境。
13.根据权利要求6所述的方法,其中,所述遮挡网格包括多个遮挡场,所述方法还包括:
在控制所述机器人平台穿越所述环境之前,确定阈值数量的所述多个遮挡场对于所述传感器是可见的并且未被占用。
14.根据权利要求6所述的方法,还包括:
确定所述遮挡网格的一部分对所述传感器不可见;以及
控制所述机器人平台移动到某个位置以增加所述遮挡网格对所述传感器可见的部分。
15.一种存储有指令的非暂时性计算机可读介质,该指令在计算机上运行时实现根据权利要求6至14中任一项所述的遮挡感知规划方法。
16.一种遮挡感知规划***,包括:
一个或多个处理器;以及
一个或多个计算机可读介质,其存储可由所述一个或多个处理器执行的指令,其中所述指令在被执行时使所述***执行操作,所述操作包括:
控制自动驾驶车辆行进到环境中的第一位置;
使用所述自动驾驶车辆的传感器来捕获所述环境的至少LIDAR数据或图像数据作为传感器数据;
至少部分地基于访问地图数据或基于识别所述环境中的障碍物来确定包括多个遮挡场的遮挡网格,所述遮挡网格的遮挡场指示所述环境的对应区域的遮挡状态和占用状态;
至少部分地基于所述传感器数据,确定所述遮挡网格的至少第一部分在第一时间被遮挡,作为被遮挡区域;
至少部分地基于所述传感器数据,确定所述遮挡网格的至少第二部分在所述第一时间处未被遮挡,作为未被遮挡区域;
至少部分地基于所述第二部分的范围和占用来确定与安全地穿越所述环境的轨迹相关联的置信度水平;
至少部分地基于所述置信度水平低于阈值水平来控制所述自动驾驶车辆停留在所述第一位置处或行进到第二位置;
至少部分地基于所述传感器数据来确定所述遮挡网格的第三部分在第二时间是可见的且未被占用的;以及
至少部分地基于所述遮挡网格的所述第三部分在所述第二时间是可见且未被占用的来控制所述自动驾驶车辆。
17.根据权利要求16所述的***,所述操作还包括以下中的一个或多个:
确定所述自动驾驶车辆正在接近所述自动驾驶车辆需要为其他车辆让路的交叉路口;
确定所述障碍物与动态遮挡网格相关联;
确定在所述遮挡网格内穿越的动态障碍物的预测轨迹;或
基于地形遮挡区域确定所述遮挡网格。
18.根据权利要求16所述的***,其中所述传感器数据包括所述LIDAR数据,并且所述传感器是LIDAR传感器,所述操作还包括:
射线投射所述LIDAR数据的一部分以确定所述遮挡场的所述遮挡状态和所述占用状态。
19.根据权利要求16所述的***,其中所述传感器数据是图像数据,并且所述传感器是图像传感器,所述操作还包括:
对所述图像数据的至少一部分执行分割以生成识别所述环境中的可行驶表面的分割的图像数据;
将所述遮挡场投影到所述分割的图像数据中;
确定所述遮挡场投影到所述可行驶表面中;以及
至少部分地基于投影到所述可行驶表面中的所述遮挡场来控制所述自动驾驶车辆穿越所述环境。
20.根据权利要求16所述的***,所述操作还包括:
确定所述多个遮挡场中的未遮挡和未被占用遮挡场的第一数量;
确定所述第一数量未达到或超过与所述环境的安全穿越相关联的遮挡场的阈值数量;以及
至少部分地基于所述第一数量未达到或超过所述阈值数量来控制所述自动驾驶车辆停留在所述第一位置或行进到所述第二位置。
21.一种遮挡感知规划方法,包括:
控制自动驾驶车辆行进到环境中的第一位置;
至少部分地基于访问地图数据或基于识别所述环境中的障碍物来确定遮挡网格;
确定所述遮挡网格的至少第一部分在第一时间被遮挡作为被遮挡区域;
确定所述遮挡网格的至少第二部分在所述第一时间可见作为未被遮挡区域;
确定所述未被遮挡区域的占用状态;
至少部分地基于所述未被遮挡区域的范围和所述未被遮挡区域的占用状态,控制所述自动驾驶车辆停留在所述第一位置或行进到第二位置;
确定所述遮挡网格的第三部分在第二时间未被遮挡且未被占用;以及
至少部分地基于所述遮挡网格的所述第三部分在所述第二时间未被遮挡且未被占用来控制所述自动驾驶车辆。
22.根据权利要求21所述的方法,还包括:
确定所述自动驾驶车辆正在接近所述环境中的交叉路口,其中,所述自动驾驶车辆在所述交叉路口缺少通行权;
其中:
所述第一位置是与所述交叉路口相关联的停止线;以及
所述第二位置是至少部分地经过所述停止线并且在所述交叉路口内的检查线。
23.根据权利要求22所述的方法,还包括:
控制所述自动驾驶车辆以低于阈值速度的第一速度从所述第一位置行进到所述第二位置;
接收与所述第二位置相关联的传感器数据;
至少部分地基于所述传感器数据来确定所述第三部分在所述第二时间未被遮挡且未被占用;
确定所述第三部分的范围达到或超过阈值;以及
控制所述自动驾驶车辆以高于所述阈值速度的第二速度从所述第二位置穿过所述交叉路口。
24.根据权利要求21所述的方法,其中所述障碍物是动态障碍物,所述方法还包括;
识别环境中的动态障碍物;
将所述遮挡网格与所述动态障碍物相关联;
至少部分地基于所述未被遮挡区域的所述范围和所述未被遮挡区域在所述第一时间的所述占用状态,控制所述自动驾驶车辆停留在所述第一位置;以及
至少部分地基于所述遮挡网格的所述第三部分在所述第二时间未被遮挡且未被占用来控制所述自动驾驶车辆。
25.根据权利要求21所述的方法,还包括:
识别所述环境中的所述障碍物;
将所述遮挡网格与所述障碍物相关联;
识别所述环境中的动态对象;
捕获环境中的所述动态对象的运动数据;
确定所述动态对象行进到所述被遮挡区域中;
确定所述遮挡区域内的所述动态对象的预测轨迹;以及
至少部分地基于所述动态对象的所述预测轨迹来控制所述自动驾驶车辆。
26.根据权利要求21所述的方法,还包括:
确定所述自动驾驶车辆在距地形遮挡区域的阈值距离内;以及
至少部分地基于与所述地形遮挡区域相关联的所述地图数据来确定所述遮挡网格作为地形遮挡网格。
27.根据权利要求21所述的方法,还包括:
使用所述自动驾驶车辆上的LIDAR传感器来捕获LIDAR数据;以及
射线投射所述LIDAR数据的一部分以确定遮挡场的遮挡状态和占用性状态,所述遮挡场表示所述遮挡网格的一部分。
28.根据权利要求21所述的方法,还包括:
使用所述自动驾驶车辆上的图像传感器捕获图像数据;
对所述图像数据的至少一部分执行分割以生成识别所述环境中的可行驶表面的分割的图像数据;
将遮挡场投影到分割的图像数据中,所述遮挡场表示遮挡网格的一部分;
确定所述遮挡场投影到所述可行驶表面中;以及
至少部分地基于投影到所述可行驶表面中的所述遮挡场来控制所述自动驾驶车辆穿越所述环境。
29.根据权利要求21所述的方法,还包括:
基于至少部分地基于所述环境中要穿越的部分的第一范围和所述遮挡网格的所述第三部分的未被遮挡且未被占用的第二范围而选择的速度,控制所述自动驾驶车辆穿越所述环境的所述部分。
30.根据权利要求21所述的方法,还包括:
确定与所述被遮挡区域相关联的时间段;
确定在所述时间段期间没有对象进入所述被遮挡区域;以及
至少部分地基于与所述遮挡区域相关联的速度限制,至少部分地基于所述时间段来确定与所述被遮挡区域的占用相关联的置信度水平。
31.一种存储指令的非暂时性计算机可读介质,所述指令在被执行时使一个或多个处理器执行操作,所述操作包括:
控制机器人平台以行进到环境中的第一位置;
确定所述机器人平台相对于地图的位置,所述地图包括地图数据;
至少部分地基于访问与所述位置相关联的所述地图数据或基于识别所述环境中的接近所述机器人平台的障碍物来确定遮挡网格;
确定所述遮挡网格的至少第一部分在第一时间被遮挡作为被遮挡区域;
确定所述遮挡网格的至少第二部分在所述第一时间可见作为未被遮挡区域;
确定所述未被遮挡区域的占用状态;
至少部分地基于所述未被遮挡区域的范围和所述未被遮挡区域的占用状态来控制所述机器人平台停留在所述第一位置或行进到第二位置;
确定所述遮挡网格的第三部分在第二时间未被遮挡且未被占用;以及
至少部分地基于所述第三部分在所述第二时间未被遮挡且未被占用来控制所述机器人平台。
32.根据权利要求31所述的非暂时性计算机可读介质,所述操作还包括:
确定所述机器人平台正在接近所述环境中的交叉路口,其中所述机器人平台需要为其他车辆让路;
其中:
所述第一位置是与所述交叉路口相关联的停止线;以及
所述第二位置是至少部分地经过所述停止线并且在所述交叉路口内的检查线。
33.根据权利要求31所述的非暂时性计算机可读介质,所述操作还包括:
使用所述机器人平台上的LIDAR传感器来捕获LIDAR数据;
射线投射所述LIDAR数据的一部分以确定遮挡场的占用,所述遮挡场表示所述遮挡网格的一部分;以及
至少部分地基于所述占用来确定所述遮挡网格是可见的和未被占用的。
34.根据权利要求31所述的非暂时性计算机可读介质,所述操作还包括:
使用所述机器人平台上的图像传感器捕获图像数据;
对所述图像数据的至少一部分执行分割以生成识别所述环境中的可行驶表面的分割的图像数据;
将遮挡场投影到所述分割的图像数据中,所述遮挡场表示遮挡网格的一部分;
确定所述遮挡场投影到所述可行驶表面中;以及
至少部分地基于投影到所述可行驶表面中的所述遮挡场来控制所述机器人平台以穿越所述环境。
35.根据权利要求31所述的非暂时性计算机可读介质,所述操作还包括:
确定与所述被遮挡区域相关联的时间段;
确定在所述时间段期间没有对象进入所述被遮挡区域;以及
确定与安全轨迹相关联的置信度水平。
36.一种遮挡感知规划***,包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,其存储可由所述一个或多个处理器执行的指令,其中所述指令在被执行时使所述***执行操作,所述操作包括:
使用自动驾驶车辆上的LIDAR传感器来捕获LIDAR数据;
访问表示接近所述自动驾驶车辆的环境的地图数据,所述地图数据包括遮挡网格,所述遮挡网格包括多个遮挡场,其中,所述多个遮挡场中的一遮挡场与所述环境的一部分的遮挡状态和占用状态相关联;
射线投射所述LIDAR数据的一部分以确定所述遮挡场的所述占用状态和所述遮挡状态;
至少部分地基于所述遮挡场,至少基于以下各项中的一或多项来确定与所述遮挡网格相关联的信息的充分性:
未被占用的遮挡场的数量达到或超过第一阈值数量,
可见遮挡场的数量达到或超过第二阈值数量,
在阈值时间段内观察不确定的遮挡场,或
确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围;
至少部分地基于所述信息的充分性,确定所述自动驾驶车辆穿越所述环境的安全轨迹;以及
控制所述自动驾驶车辆以根据所述安全轨迹穿越所述环境。
37.根据权利要求36所述的***,所述操作还包括:
使用所述自动驾驶车辆上的图像传感器捕获图像数据;
对所述图像数据的至少一部分执行语义分割以生成识别所述环境中的至少可行驶表面的分割的图像数据;
将所述遮挡场投影到所述分割的图像数据中;
确定所述遮挡场投影到所述可行驶表面中;以及
至少部分地基于投影到所述可行驶表面中的所述遮挡场来控制所述自动驾驶车辆穿越所述环境。
38.根据权利要求36所述的***,其中,所述多个遮挡场使所述环境中的可行驶的表面的一部分离散,其中,所述遮挡场的所述遮挡状态指示所述LIDAR传感器对所述遮挡场的可见性。
39.根据权利要求36所述的***,所述操作还包括:
至少部分地基于以下各项来确定与所述遮挡场的所述占用状态相关联的置信度值:
与所述遮挡场相关联的第一数量的LIDAR返回;以及
与所述遮挡场相关联的第二数量的离散区域。
40.根据权利要求39所述的***,其中,所述第一数量与所述第二数量的第一比率低于阈值,指示所述遮挡场的未被占用状态的高置信度,并且所述第一数量与所述第二数量的第二比率高于所述阈值,指示所述遮挡场的被占用状态的高置信度。
41.一种遮挡感知规划方法,包括:
使用机器人平台上的传感器捕获传感器数据;
至少部分地基于所述传感器数据来确定所述机器人平台的位置;
访问表示在所述位置处的所述机器人平台附近的环境的地图数据,所述地图数据包括遮挡网格;
确定所述遮挡网格的遮挡场的占用状态,其中,所述占用状态包括被占用状态、未被占用状态或不确定状态中的一个;
至少部分地基于所述遮挡场,至少基于以下各项中的一或多项来确定与所述遮挡网格相关联的信息的充分性:
未被占用的遮挡场的数量达到或超过第一阈值数量,
可见遮挡场的数量达到或超过第二阈值数量,
在阈值时间段内观察不确定的遮挡场,或
确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围;
以及
至少部分地基于所述遮挡网格的占用状态和所述信息的充分性来控制所述机器人平台。
42.根据权利要求41所述的方法,还包括:
使用所述机器人平台上的LIDAR传感器来捕获LIDAR数据作为所述传感器数据;
射线投射所述LIDAR数据的一部分以确定所述遮挡场的占用状态;
射线投射所述LIDAR数据的一部分以确定所述遮挡场的遮挡状态,所述遮挡状态包括可见或被遮挡中的一者;以及
至少部分地基于所述遮挡网格是清晰的来控制所述机器人平台穿越所述环境,
其中,至少部分基于相对于所述遮挡网格的大小或与所述遮挡网格相关联的速度限制中的至少一个的,对所述LIDAR传感器是可见的所述遮挡网格的第三数量的遮挡场,确定所述信息的充分性。
43.根据权利要求42所述的方法,其中所述射线投射包括:
确定与所述遮挡场上方的区域相关联的预期LIDAR返回的第一数量;
确定与所述遮挡场上方的所述区域相关联的实际LIDAR返回的第二数量;
至少部分地基于所述第一数量的预期LIDAR返回和所述第二数量的实际LIDAR返回来确定与所述遮挡场的占用状态相关联的置信度值;以及
确定所述置信度值达到或超过阈值置信度值。
44.根据权利要求41所述的方法,还包括:
使用所述机器人平台上的图像传感器捕获图像数据作为所述传感器数据;
对所述图像数据的至少一部分执行分割以生成识别所述环境中的可行驶表面的分割的图像数据;
将所述遮挡场投影到所述分割的图像数据中;
确定所述遮挡场投影到所述可行驶表面中;以及
至少部分地基于投影到所述可行驶表面中的所述遮挡场来控制所述机器人平台以穿越所述环境。
45.根据权利要求41所述的方法,其中所述机器人平台包括自动驾驶车辆,并且自动驾驶车辆附近的环境包括交叉路口,所述方法还包括:
确定所述自动驾驶车辆要穿越的所述交叉路口的距离;
确定与所述交叉路口相关联的速度限制;以及
至少部分地基于以下各项来确定所述遮挡网格的范围:
所述交叉路口的距离;
速度限制;以及
安全系数。
46.根据权利要求45的方法,还包括至少部分地基于自动驾驶车辆穿越所述交叉路口的所述距离的预期时间量来确定所述遮挡网格的所述范围。
47.根据权利要求41所述的方法,其中所述遮挡场包括时间逻辑符号,所述方法还包括:
至少部分地基于评估包括所述时间逻辑符号的时间逻辑公式来验证轨迹;以及
至少部分地基于所述轨迹来控制所述机器人平台以穿越所述环境。
48.根据权利要求41所述的方法,其中所述遮挡网格包括多个遮挡场,所述方法进一步包括:
在控制所述机器人平台穿越所述环境之前,确定阈值数量的所述多个遮挡场对于所述传感器是可见的并且未被占用。
49.根据权利要求41所述的方法,还包括:
确定所述遮挡网格的一部分对于所述传感器不可见;以及
控制所述机器人平台移动到某个位置以增加所述遮挡网格的所述部分对所述传感器可见。
50.一种或多种存储指令的非暂时性计算机可读介质,所述指令在被执行时使一个或多个处理器执行操作,所述操作包括:
接收使用机器人平台上的传感器捕获的传感器数据;
至少部分地基于所述传感器数据来确定所述机器人平台的位置;
访问表示在所述位置处的所述机器人平台附近的环境的地图数据,所述地图数据包括遮挡网格;
确定所述遮挡网格的遮挡场的占用状态;
至少部分地基于所述遮挡场,至少基于以下各项中的一或多项来确定与所述遮挡网格相关联的信息的充分性:
未被占用的遮挡场的数量达到或超过第一阈值数量,
可见遮挡场的数量达到或超过第二阈值数量,
在一时间段内观察不确定的遮挡场;以及
至少部分地基于所述遮挡网格的占用状态和所述信息的充分性来控制所述机器人平台。
51.根据权利要求50所述的一种或多种非暂时性计算机可读介质,其中,所述传感器数据是LIDAR数据,并且其中,所述传感器是LIDAR传感器,所述操作还包括:
射线投射所述LIDAR数据的一部分以确定所述遮挡场的所述占用状态和遮挡状态;以及
至少部分地基于确定相对于自动驾驶车辆行进到交叉路口的距离和/或相对于自动驾驶车辆穿过交叉路口的一部分的速度,加速度和/或时间的未遮挡区域和未占用区域的范围来确定与所述遮挡网格相关联的信息的充分性。
52.根据权利要求51所述的一种或多种非暂时性计算机可读介质,其中,所述射线投射包括:
确定与所述遮挡场上方的区域相关联的预期LIDAR返回的第一数量;
确定与所述遮挡场上方的所述区域相关联的实际LIDAR返回的第二数量;
至少部分地基于所述第一数量的预期LIDAR返回和所述第二数量的实际LIDAR返回来确定与所述遮挡场的占用状态相关联的置信度值;以及
确定所述置信度值达到或超过阈值置信度值。
53.根据权利要求50所述的一种或多种非暂时性计算机可读媒体,所述操作还包括:
使用所述机器人平台上的图像传感器捕获图像数据作为所述传感器数据;
对所述图像数据的至少一部分执行分割以生成识别所述环境中的可行驶表面的分割的图像数据;
将所述遮挡场投影到所述分割的图像数据中;以及
确定所述遮挡场投影到所述可行驶表面中。
54.根据权利要求50所述的一种或多种非暂时性计算机可读介质,所述操作还包括:
确定所述遮挡网格的一部分对于所述传感器不可见;以及
控制所述机器人平台移动到其中所述遮挡网格的整体对所述传感器可见的位置,其中所述机器人平台的速度低于速度阈值。
55.根据权利要求50所述的一种或多种非暂时性计算机可读介质,其中,所述传感器数据是第一传感器数据,所述操作还包括:
接收由所述机器人平台上的图像传感器捕获的图像数据作为所述第一传感器数据;
接收由所述机器人平台上的LIDAR传感器捕获的LIDAR数据作为第二传感器数据;以及
至少部分地基于所述第一传感器数据和所述第二传感器数据来确定与所述遮挡场的所述占用状态相关联的置信度值。
56.一种遮挡感知规划方法,包括:
至少部分地基于地图数据或传感器数据来确定与环境相关联的遮挡数据;
确定与所述遮挡数据相关联的所述环境的至少第一部分在第一时间被遮挡作为第一区域;
确定与所述遮挡数据相关联的所述环境的至少第二部分在所述第一时间可见作为第二区域;
确定所述第二区域的占用数据;以及
至少部分地基于所述第二区域和所述占用数据来控制自动驾驶车辆停留在第一位置或行进到第二位置。
57.根据权利要求56所述的方法,还包括:
确定所述自动驾驶车辆正在接近所述环境中的交叉路口,其中:
所述自动驾驶车辆在所述交叉路口缺少通行权;
所述第一位置是与所述交叉路口相关联的停止线;以及
所述第二位置是至少部分地经过所述停止线并且在所述交叉路口内的检查线。
58.根据权利要求57所述的方法,其中所述传感器数据是第一传感器数据,所述方法进一步包括:
控制所述自动驾驶车辆以低于阈值速度的第一速度从所述第一位置行进到所述第二位置;
接收与所述第二位置相关联的第二传感器数据;
至少部分地基于所述第二传感器数据来确定所述环境的第三部分未被遮挡且未被占用;
确定所述第三部分的大小达到或超过阈值;以及
控制所述自动驾驶车辆以高于所述阈值速度的第二速度从所述第二位置穿越所述交叉路口。
59.根据权利要求56所述的方法,还包括:
确定所述传感器数据表示所述环境中的对象;以及
将所述对象与所述遮挡数据相关联。
60.根据权利要求59所述的方法,还包括:
确定与所述对象相关联的运动数据;
确定与所述对象相关联的预测轨迹;以及
至少部分地基于所述预测轨迹来控制所述自动驾驶车辆。
61.根据权利要求56所述的方法,其中所述地图数据是第一地图数据,所述方法进一步包括:
确定所述自动驾驶车辆在距地形遮挡区域的阈值距离内;以及
至少部分地基于与所述地形遮挡区域相关联的第二地图数据来确定所述遮挡数据作为地形遮挡数据。
62.根据权利要求56所述的方法,还包括:
从与所述自动驾驶车辆相关联的传感器接收LIDAR数据;以及
射线投射所述LIDAR数据的一部分以确定所述遮挡数据。
63.根据权利要求56所述的方法,还包括:
从与所述自动驾驶车辆相关联的传感器接收图像数据;
分割所述图像数据的至少一部分以生成识别所述环境中的可行驶表面的分割的图像数据;
将遮挡场与所述分割的图像数据相关联;以及
确定所述遮挡场与所述可行驶表面相关联。
64.根据权利要求56所述的方法,还包括:
基于至少部分地基于所述环境的穿越到所述第二位置的第一范围和所述第二区域的未被遮挡且未被占用的第二范围而选择的速度来控制所述自动驾驶车辆行进到所述第二位置。
65.根据权利要求56所述的方法,还包括:
确定与所述第一区域相关联的时间段;
确定在所述时间段期间没有对象进入所述第一区域;以及
至少部分地基于与所述第一区域相关联的速度限制和所述时间段来确定与所述第一区域的占用相关联的置信度水平。
66.根据权利要求56所述的方法,其中所述遮挡数据包括可见性数据和占用数据。
67.一种或多种存储指令的非暂时性计算机可读介质,所述指令在被执行时使一个或多个处理器执行操作,所述操作包括:
至少部分地基于地图数据或传感器数据来确定与环境相关联的遮挡数据;
确定与所述遮挡数据相关联的所述环境的至少第一部分在第一时间被遮挡作为第一区域;
确定与所述遮挡数据相关联的所述环境的至少第二部分在所述第一时间可见作为第二区域;
确定所述第二区域的占用数据;以及
至少部分地基于所述第二区域和所述占用数据来控制机器人平台停留在第一位置或行进到第二位置。
68.根据权利要求67所述的一种或多种非暂时性计算机可读介质,所述操作还包括:
确定所述机器人平台正在接近所述环境中的交叉路口,其中:
所述机器人平台与给其他车辆让路的指令相关联;
所述第一位置是与所述交叉路口相关联的停止线;以及
第二位置是至少部分地经过停止线并且在所述交叉路口内的检查线。
69.根据权利要求67所述的一种或多种非暂时性计算机可读介质,所述操作还包括:
从与所述机器人平台相关联的传感器接收LIDAR数据;以及
射线投射所述LIDAR数据的一部分以确定所述遮挡数据。
70.根据权利要求67所述的一种或多种非暂时性计算机可读介质,所述操作还包括:
从与所述机器人平台相关联的传感器接收图像数据;
分割所述图像数据的至少一部分以生成识别所述环境中的可行驶表面的分割的图像数据;
将所述遮挡场与所述分割的图像数据相关联;以及
确定所述遮挡场与所述可行驶表面相关联。
71.根据权利要求67所述的一种或多种非暂时性计算机可读介质,所述操作还包括:
确定与所述第一区域相关联的时间段;
确定在所述时间段期间没有对象进入所述第一区域;以及
确定与安全轨迹相关联的置信度水平。
72.一种遮挡感知规划***,包括:
一个或多个处理器,所述一个或多个处理器使所述***执行操作,所述操作包括:
至少部分地基于地图数据或传感器数据来确定与环境相关联的遮挡数据;
确定与所述遮挡数据相关联的所述环境的至少第一部分在第一时间被遮挡作为第一区域;
确定与所述遮挡数据相关联的所述环境的至少第二部分在所述第一时间可见作为第二区域;
确定所述第二区域的占用数据;以及
至少部分地基于所述第二区域和所述占用数据来控制自动驾驶车辆停留在第一位置或行进到第二位置。
73.根据权利要求72所述的***,所述操作还包括:
确定所述传感器数据表示所述环境中的对象;以及
将所述对象与所述遮挡数据相关联。
74.根据权利要求72所述的***,还包括:
基于至少部分地基于所述环境的穿越到所述第二位置的第一范围和所述第二区域的未被遮挡且未被占用的第二范围而选择的速度来控制所述自动驾驶车辆行进到所述第二位置。
75.根据权利要求72所述的***,所述操作还包括:
确定与所述第一区域相关联的时间段;
确定在所述时间段期间没有对象进入所述第一区域;以及
至少部分地基于与所述第一区域相关联的速度限制,至少部分地基于所述时间段,来确定与所述第一区域的占用相关联的置信度水平。
CN201980040681.5A 2018-06-18 2019-06-17 遮挡感知规划 Active CN112313663B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/011,436 US11048265B2 (en) 2018-06-18 2018-06-18 Occlusion aware planning
US16/011,436 2018-06-18
US16/011,468 2018-06-18
US16/011,468 US10642275B2 (en) 2018-06-18 2018-06-18 Occulsion aware planning and control
PCT/US2019/037514 WO2019245982A1 (en) 2018-06-18 2019-06-17 Occlusion aware planning

Publications (2)

Publication Number Publication Date
CN112313663A CN112313663A (zh) 2021-02-02
CN112313663B true CN112313663B (zh) 2024-05-31

Family

ID=67138131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980040681.5A Active CN112313663B (zh) 2018-06-18 2019-06-17 遮挡感知规划

Country Status (4)

Country Link
EP (1) EP3807807A1 (zh)
JP (1) JP7422687B2 (zh)
CN (1) CN112313663B (zh)
WO (1) WO2019245982A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
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
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
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
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
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
EP3864573A1 (en) 2018-10-11 2021-08-18 Tesla, Inc. Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
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
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
EP3693244B1 (en) * 2019-02-06 2022-08-17 Continental Autonomous Mobility Germany GmbH Vehicle and method for autonomously operating a vehicle
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
CN114435392A (zh) * 2020-11-06 2022-05-06 伟摩有限责任公司 使用路面和周围区域照明的存在来检测被遮挡对象
CN113479191B (zh) * 2021-06-30 2023-04-07 重庆长安汽车股份有限公司 用于泊车的无车道线的车道边界检测***、方法及车辆
CN113607239B (zh) * 2021-07-12 2024-01-12 中控技术股份有限公司 实现混合接触式雷达物位计的人机交互方法和***
CN114596541B (zh) * 2022-02-08 2022-11-08 星河智联汽车科技有限公司 一种获取前车视野的方法、装置、设备及存储介质
DE102022212993A1 (de) 2022-12-01 2024-06-06 Continental Autonomous Mobility Germany GmbH Computerimplementiertes Verfahren zum Planen einer Agenten-Navigationsaufgabe zum Navigieren eines Agenten aus einem aktuellen Agentenzustand in einen Ziel-Agentenzustand
CN117689907B (zh) * 2024-02-04 2024-04-30 福瑞泰克智能***有限公司 车辆跟踪方法、装置、计算机设备和存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428361A (zh) * 2012-04-30 2013-12-04 苹果公司 操作地理定位***
CN103646254A (zh) * 2013-12-19 2014-03-19 北方工业大学 一种高密度行人检测方法
CN104044587A (zh) * 2013-03-14 2014-09-17 通用汽车环球科技运作有限责任公司 用于提高处于自主驾驶模式下的车辆的传感器可视性的***和方法
CN104271419A (zh) * 2012-03-16 2015-01-07 谷歌公司 鉴于约束主动修改自主车辆的视野
CN105009175A (zh) * 2013-01-25 2015-10-28 谷歌公司 基于传感器盲点和局限性来修改自主车辆的行为
US9315192B1 (en) * 2013-09-30 2016-04-19 Google Inc. Methods and systems for pedestrian avoidance using LIDAR
CN105751984A (zh) * 2015-01-02 2016-07-13 现代自动车株式会社 一种车辆用显示设备以及一种车辆
CN105874396A (zh) * 2013-10-31 2016-08-17 克朗设备公司 用于确定特征可见性的***、方法以及工业车辆
CN105894854A (zh) * 2015-02-13 2016-08-24 丰田自动车株式会社 车辆驾驶辅助***
CN106364526A (zh) * 2016-09-22 2017-02-01 深圳市虹鹏能源科技有限责任公司 一种隧道建设新能源轨道电机车实时高精度自动定位***
CN106740584A (zh) * 2017-01-20 2017-05-31 驭势科技(北京)有限公司 悬浮探测***、智能驾驶***以及安装该***的交通工具
CN106828264A (zh) * 2017-01-17 2017-06-13 斑马信息科技有限公司 无人机车辆***及其管理方法
CN106843279A (zh) * 2017-01-17 2017-06-13 斑马信息科技有限公司 无人机车辆***及其管理方法
CN107037810A (zh) * 2015-12-15 2017-08-11 株式会社理光 自动行驶装置,自动行驶方法以及服务器
CN206551980U (zh) * 2017-01-20 2017-10-13 驭势科技(北京)有限公司 悬浮探测***,智能驾驶***以及安装该***的交通工具
CN108139756A (zh) * 2016-08-29 2018-06-08 百度(美国)有限责任公司 为自动驾驶车辆构建周围环境以制定驾驶决策的方法和***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612123B1 (en) * 2015-11-04 2017-04-04 Zoox, Inc. Adaptive mapping to navigate autonomous vehicles responsive to physical environment changes
US10145951B2 (en) * 2016-03-30 2018-12-04 Aptiv Technologies Limited Object detection using radar and vision defined image detection zone
US11132611B2 (en) * 2016-05-27 2021-09-28 Kabushiki Kaisha Toshiba Information processing apparatus and information processing method for determining presence probability of object

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104271419A (zh) * 2012-03-16 2015-01-07 谷歌公司 鉴于约束主动修改自主车辆的视野
CN103428361A (zh) * 2012-04-30 2013-12-04 苹果公司 操作地理定位***
CN105009175A (zh) * 2013-01-25 2015-10-28 谷歌公司 基于传感器盲点和局限性来修改自主车辆的行为
CN104044587A (zh) * 2013-03-14 2014-09-17 通用汽车环球科技运作有限责任公司 用于提高处于自主驾驶模式下的车辆的传感器可视性的***和方法
US9315192B1 (en) * 2013-09-30 2016-04-19 Google Inc. Methods and systems for pedestrian avoidance using LIDAR
CN105874396A (zh) * 2013-10-31 2016-08-17 克朗设备公司 用于确定特征可见性的***、方法以及工业车辆
CN103646254A (zh) * 2013-12-19 2014-03-19 北方工业大学 一种高密度行人检测方法
CN105751984A (zh) * 2015-01-02 2016-07-13 现代自动车株式会社 一种车辆用显示设备以及一种车辆
CN105894854A (zh) * 2015-02-13 2016-08-24 丰田自动车株式会社 车辆驾驶辅助***
CN107037810A (zh) * 2015-12-15 2017-08-11 株式会社理光 自动行驶装置,自动行驶方法以及服务器
CN108139756A (zh) * 2016-08-29 2018-06-08 百度(美国)有限责任公司 为自动驾驶车辆构建周围环境以制定驾驶决策的方法和***
CN106364526A (zh) * 2016-09-22 2017-02-01 深圳市虹鹏能源科技有限责任公司 一种隧道建设新能源轨道电机车实时高精度自动定位***
CN106828264A (zh) * 2017-01-17 2017-06-13 斑马信息科技有限公司 无人机车辆***及其管理方法
CN106843279A (zh) * 2017-01-17 2017-06-13 斑马信息科技有限公司 无人机车辆***及其管理方法
CN106740584A (zh) * 2017-01-20 2017-05-31 驭势科技(北京)有限公司 悬浮探测***、智能驾驶***以及安装该***的交通工具
CN206551980U (zh) * 2017-01-20 2017-10-13 驭势科技(北京)有限公司 悬浮探测***,智能驾驶***以及安装该***的交通工具

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于OpenLayers的2.5D地图的路径规划实现;王强;雷中英;张瑞;;测绘与空间地理信息(05);第106-109页 *
室内定位技术发展与应用研究;周源;刘禹鑫;林富明;;测绘与空间地理信息(06);第63-66页 *

Also Published As

Publication number Publication date
WO2019245982A1 (en) 2019-12-26
CN112313663A (zh) 2021-02-02
JP2021527591A (ja) 2021-10-14
JP7422687B2 (ja) 2024-01-26
EP3807807A1 (en) 2021-04-21

Similar Documents

Publication Publication Date Title
CN112313663B (zh) 遮挡感知规划
US11802969B2 (en) Occlusion aware planning and control
US11048265B2 (en) Occlusion aware planning
CN112752988B (zh) 雷达空间估计
US11740633B2 (en) Determining occupancy of occluded regions
EP3908493B1 (en) Occlusion prediction and trajectory evaluation
CN112204634B (zh) 驱动包络确定
US11215997B2 (en) Probabilistic risk assessment for trajectory evaluation
US11126180B1 (en) Predicting an occupancy associated with occluded region
WO2021007106A1 (en) Prediction on top-down scenes based on action data
CN114600053A (zh) 基于碰撞区域的行驶路线修改
US11513519B1 (en) Sharing occlusion data
US20200409363A1 (en) Techniques for Contacting a Teleoperator
US20230056589A1 (en) Systems and methods for generating multilevel occupancy and occlusion grids for controlling navigation of vehicles
EP3990328A1 (en) Techniques for contacting a teleoperator
CN117651880A (zh) 雷达数据分析和隐藏对象检测
US20230131721A1 (en) Radar and doppler analysis and concealed object detection

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
GR01 Patent grant
GR01 Patent grant