一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

避障动作的制作方法

2022-06-22 20:43:16 来源:中国专利 TAG:

避障动作
1.相关申请的交叉引用
2.本专利申请要求于2019年10月31日提交的序列号为16/670992的标题为“obstacle avoidance action”的美国实用专利申请以及于2019年10月31日提交的序列号为16/671012的标题为“state machine for obstacle avoidance”的美国实用专利申请的优先权。申请序列号16/670992和16/671012的全部内容通过引用并入本技术。


背景技术:

3.自主车辆可以使用各种方法、设备和系统来引导自主车辆通过环境。例如,自主车辆可以使用规划方法、设备和系统确定行驶路径并引导自主车辆通过包含动态对象(例如,车辆、行人、动物等)和静态对象(例如,建筑物、标牌、停转的车辆等)的环境。在某些情况下,动态和/或静态对象可以充当障碍物,在自主车辆穿越环境时阻碍或减慢它的速度。
附图说明
4.参考附图来描述详细描述。在图中,参考编号的最左侧数字标识参考编号首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的部件或特征。
5.图1示出了用于确定通过第一可行驶区域和第二可行驶区域的目标轨迹以及与目标轨迹相关联的成本的示例过程的图示流程图。
6.图2示出了确定要穿过环境的多个动作的示例。
7.图3示出了示例状态机,包括接近状态、准备停止状态、停止状态、谨慎进行状态和行进状态。
8.图4a和4b示出了确定通过路口的更新区域的示例。
9.图5示出了说明用于确定通过第一可行驶区域和第二可行驶区域的目标轨迹的示例计算系统的框图。
10.图6示出了用于确定通过第一可行驶区域和第二可行驶区域的目标轨迹的示例过程。
具体实施方式
11.本公开描述了用于确定通过环境的第一可行驶区域和第二可行驶区域的目标轨迹以供自主车辆穿越的系统、方法和设备。例如,自主车辆可以在占据第一可行驶区域的同时穿越环境。第一可行驶区域可以与第一行驶方向相关联。当自主车辆在第一可行驶区域中穿越环境时,自主车辆可以检测到第一可行驶区域中的障碍物。障碍物可以包括动态对象(例如,行人、动物、骑自行车的人、卡车、摩托车、其他车辆等)、静态对象(例如,建筑物、标牌、路缘石、碎片等)、静态障碍物(例如,道路标记、物理车道边界、道路缺陷、施工区域等)和/或其他已知或未知的对象,和/或障碍物的预测动作(例如,估计轨迹)。
12.第一可行驶区域可以与第二可行驶区域相邻,该第二可行驶区域与不同于第一行驶方向的第二行驶方向相关联。作为示例而非限制,第二可行驶区域可以是迎面而来的交
通车道。自主车辆可以确定一个或多个动作(例如,车道内动作或迎面而来的车道动作)。基于该动作,自主车辆可以确定与该动作相关联的更新的可行驶区域。例如,车道内动作可以与包括第一可行驶区域的更新的可行驶区域相关联。迎面而来的车道动作可以与包括第一可行驶区域和第二可行驶区域的更新的可行驶区域相关联。
13.在一些情况下,自主车辆可以确定穿过与每个动作相关联的更新的可行驶区域的候选轨迹。例如,自主车辆可以确定与迎面而来的车道动作相关联的更新的可行驶区域和穿过更新的可行驶区域的候选轨迹,该候选轨迹可以从第一可行驶区域穿越到第二可行驶区域中。候选轨迹可以允许自主车辆安全经过第一可行驶区域内的障碍物,并在经过障碍物后返回第一可行驶区域。
14.自主车辆可以比较与该一个或多个动作相关联的成本,并基于候选轨迹和成本确定自主车辆要遵循的目标轨迹。在一些情况下,当例如车道变换动作不切实际或不可用时,穿越到第二可行驶区域中的目标轨迹可以允许自主车辆例如以更低的成本(或更有效地)绕过障碍物。
15.本文描述的技术旨在利用传感器和感知数据使车辆(例如自主车辆)能够在环境中导航,同时使用更新的可行驶区域绕过环境中的障碍物。本文描述的技术可以确定车辆动作和与该动作相关联的更新的可行驶区域,在该更新的可行驶区域中,车辆可以以有效方式相对于那些障碍物沿着目标轨迹行进。在一些示例中,确定更新的可行驶区域内的目标轨迹可以避免不必要的停止和/或延迟,这可以导致更平稳的行驶,并可以通过例如更准确地确定车辆可以运行以到达预期目的地的安全区域并以与其他车辆操作员的期望一致的方式运行来改善安全结果。例如,可以确定诸如参考轨迹之类的计划路径以执行任务。例如,任务可以是到目的地的高级导航,例如,用于导航到目的地的一系列道路。一旦确定了任务,就可以确定执行该高级导航的一个或多个动作。在一些情况下,障碍物可以中断该一个或多个动作,并且确定允许车辆穿过迎面而来的车道的目标轨迹可以更有效地允许车辆绕过障碍物并朝着任务前进。
16.图1是示出用于确定目标轨迹和与目标轨迹相关联的成本的示例过程100的图示流程图。
17.在操作102,车辆104可以至少部分地基于地图数据确定第一可行驶区域106和第二可行驶区域108。在一些情况下,车辆104经由地图数据库访问与环境相关联的地图数据。车辆可以被配置为使用地图数据确定第一可行驶区域106和第二可行驶区域108。例如,地图数据可以指示第一可行驶区域与第一行驶车道110相关联并且第二可行驶区域与第二行驶车道112相关联。此外,地图数据可以指示第一可行驶区域106与第一行驶方向相关联并且第二可行驶区域108与不同于第一行驶方向的第二行驶方向相关联。在一些情况下,地图数据可以包括道路标记数据(例如,单黄色标记、双黄色标记、单白色标记、双白色标记、实心标记、破损标记等)。道路标记数据可以指示是否允许使用迎面而来的车道进行超车,其中车辆104可以至少部分地基于道路制造者数据确定是否使用迎面而来的车道。
18.在操作114,车辆104可以至少部分地基于传感器数据确定与第一可行驶区域相关联的障碍物。例如,车辆104可以捕获环境的传感器数据,该环境可以包括诸如对象116之类的障碍物。举例来说,但不限于,对象116可以表示在第一行驶车道上熄火或以其他方式停止的车辆。在一些示例中,对象116可以非物理地位于第一行驶车道110内,尽管可以定义对
象116周围的区域以限制第一可行驶区域106的宽度。图1示出了对象116作为占据第一可行驶区域106的一部分,这可以减小第一可行驶区域106的大小和车辆104穿越环境的可用空间量。
19.尽管对象116被示为停转的车辆,但也可以想到其他类型的障碍物,例如双停车辆、突入第一可行驶区域106的停放车辆、碎片、标牌、施工区域、行人、道路缺陷等。
20.车辆104可以使用传感器数据确定对象116处于车辆104前面的位置。另外,车辆104可以使用传感器数据和/或地图数据确定对象116处于与车辆104占用的车道相对应的位置。作为示例而非限制,车辆104可以使用感知引擎和/或定位算法确定对象116的位置,并将对象116的位置与地图数据的一部分相关联,该地图数据可以包括与环境相关联的道路/车道数据,以确定对象116占据的区域。
21.在操作118,车辆104可以确定与第一动作相关联的目标轨迹。例如,车辆104可以确定第一动作,该第一动作可以包括对面车道动作,该对面车道动作可以是导致车辆104从第一可行驶区域106穿越到第二可行驶区域108中的动作,如候选轨迹120所示。迎面而来的车道动作可以允许车辆104通过使用可用的第二可行驶区域108安全地经过对象116。
22.当确定动作(例如,迎面而来的车道动作)和候选轨迹120时,车辆104可以使用代表障碍物的传感器数据确定更新的可行驶区域的轮廓或边界。例如,更新的可行驶区域可以是环境的虚拟表示,其可以定义车辆104可以相对于环境中的障碍物(例如,对象116)安全行驶以有效到达预期目的地的约束和/或边界。在一些示例中,更新的可行驶区域由车辆和/或远程计算系统上的计算装置确定,并且可以被车辆用来穿越环境。也就是说,车辆可以基于更新的可行驶区域的轮廓确定轨迹(例如,候选轨迹120)和/或行驶路径。例如,可以在2018年5月17日提交的题为“drive envelope determination”的美国专利申请第15/982694号中找到用于确定驱动包络线的技术示例(部分描述确定用于穿越环境的可行驶区域(也称为驾驶包络线)),其全部内容通过引用并入本文。
23.如上所述,车辆104可以确定迎面而来的车道动作和候选轨迹120,用于在第二可行驶区域108中穿越时行进通过环境以经过对象116。候选轨迹120可以包括车辆将根据其行驶的更新的可行驶区域内的离散段。因此,候选轨迹120可以在更新的可行驶区域内包括旨在由车辆执行以穿过环境的离散的、较短的段。用于确定可行驶区域内的轨迹的技术示例可以在例如标题为“adaptive scaling in trajectory generation”并于2018年11月2日提交的美国专利申请第16/179679号中找到,该专利申请的全部内容通过引用并入本文。
24.在一些实例中,代表车辆104要遵循的初始路径或轨迹的参考轨迹可以由车辆104生成或接收。在一些示例中,参考轨迹可以对应于路段的中心线,尽管参考轨迹可以表示环境中的任何路径。
25.在操作122,车辆可以至少部分地基于候选轨迹确定与候选轨迹相关联的一个或多个成本。在一些情况下,该一个或多个成本可以与参考轨迹上的点相关联。一般来说,该一个或多个成本可以包括但不限于参考成本、障碍物成本、横向成本、纵向成本、区域成本、宽度成本、指示器成本、动作切换成本、动作成本、使用成本等。成本类型和用于确定成本的技术的示例可以在例如美国专利申请第16/147492号中找到,其标题为“trajectory generation and optimization using closed-form numerical integration in route-relative coordinates”并于2018年9月28日提交,其全部内容通过引用并入本文。
26.例如,随着更新的可行驶区域的边界被修改(例如,使用本文所讨论的技术),这样的成本会发生变化,这最终会改变车辆在环境中的位置。在确定更新的可行驶区域的示例中,该更新的可行驶区域在环境中的障碍物周围提供更新的可行驶区域,车辆可以基于部分地在更新的可行驶区域上确定的成本来规划轨迹(例如,候选轨迹120)。
27.在一些情况下,参考成本可以包括与参考轨迹上的点和候选轨迹上的对应点之间的差异相关联的成本,其中该差异表示偏航、横向偏移、速度、加速度、曲度、曲率等。
28.在一些情况下,障碍物成本可以包括与参考轨迹或候选轨迹上的点与和环境中的障碍物相关联的点之间的距离相关联的成本。例如,与障碍物相关联的点可以对应于更新的可行驶区域的边界上的点,或者可以对应于与环境中的障碍物相关联的点。如上所述,环境中的障碍物可以包括但不限于静态对象(例如,建筑物、路边、人行道、车道标记、路标、交通灯、树木等)或动态对象(例如,车辆、骑自行车的人、行人、动物等)。在某些情况下,动态对象也可以称为主体(agent)。在一些示例中,静态对象或动态对象通常可以被称为对象或障碍物。
29.在一些情况下,横向成本可以指与车辆104的转向输入相关的成本,例如相对于车辆104的速度的最大转向输入。在一些情况下,纵向成本可以指与车辆104的速度和/或加速度(例如,最大制动和/或加速度)相关的成本。
30.在某些情况下,区域成本可以指与可行驶区域相关联的成本。例如,第一区域成本可以与第一可行驶区域106相关联并且第二区域成本可以与第二可行驶区域108相关联。作为示例而非限制,基于车辆的行驶方向和与第一可行驶区域106和/或第二可行驶区域108相关联的行驶方向,第一区域成本可以低于第二区域成本。可以理解,当车辆104的行驶方向与第一可行驶区域106的行驶方向相同而与第二可行驶区域108的行驶方向不同时,第一区域成本可以低于第二区域成本。
31.宽度成本可以指与可行驶区域的宽度相关联的成本。例如,第一宽度成本可以与第一可行驶区域106相关联并且第二宽度成本可以与第二可行驶区域108相关联。作为示例而非限制,第一可行驶区域106可以具有3米的宽度,并且第二可行驶区域108可以具有4米的宽度。基于第一可行驶区域106具有比第二可行驶区域108更窄的宽度,第一宽度成本可以高于较低宽度成本,其中第二可行驶区域108可以允许车辆104穿越第二可行驶区域108,该第二可行驶区域可以提供比第一可行驶区域106更大的横向空间。
32.指示器成本可以指与车辆104已启用指示器(例如,转向灯)的时间量相关联的成本。例如,车辆104可以启用诸如转向灯之类的指示器,该指示器周期性地启用和禁用可以从车辆104的外部看到的灯。指示器可以向环境中的个体提供意图执行车辆104的动作(例如,转弯动作或车道变换动作)的指示器。随着启用指示器的时间增加,指示器成本会降低。
33.如上所述,该一个或多个成本(例如,参考成本、障碍物成本、横向成本、纵向成本、区域成本、宽度成本、指示器成本、动作切换成本、动作成本、使用成本等)可以与候选轨迹相关联。在一些情况下,车辆104可以将成本与成本阈值进行比较。基于该比较,车辆104可以确定车辆104要遵循的目标轨迹124,例如但不限于,该目标轨迹可以是候选轨迹120。
34.在至少一些示例中,可以与候选轨迹同时确定这样的成本。例如,通过一区域的候选轨迹可以被确定为最小化总成本(例如,如上所述的所有组件成本的总和)的优化。因此,在本文中,在讨论基于轨迹的成本的情况下,这种讨论可以包括与这样的轨迹同时(基本上
同时)确定成本的那些情况。图2描绘了确定要穿过环境的多个动作以及与多个动作相关联的更新的可行驶区域和轨迹的示例。
35.例如,车辆104可以穿过环境202。另外,如上所述,车辆104可以确定在第一动作204、第二动作206和第三动作208中表示的一个或多个动作。
36.在第一动作204中,车辆104可以确定车道内动作和更新的可行驶区域210。更新的可行驶区域210可以表示与车道内动作相关联的可行驶区域。例如,车道内动作可以是使车辆104保持在第一行驶车道110中的动作,并且更新的可行驶区域210可以表示与保持在第一行驶车道110中相关联的可行驶区域。
37.至少部分地基于更新的可行驶区域210,车辆104可以确定与车道内动作相关联的候选轨迹212。候选轨迹212可以使车辆104保持在第一可行驶区域106中并降低车辆104的速度和/或在车辆104接近对象116时停在某个位置。
38.在第二动作206中,车辆104可以确定部分车道扩展动作和与部分车道扩展动作相关联的更新的可行驶区域214。例如,部分车道扩展动作可以是使车辆104使用第二行驶车道112的一部分来经过对象116的动作,并且更新的可行驶区域214可以表示包含第二行驶车道112的一部分的可行驶区域。
39.至少部分地基于更新的可行驶区域214,车辆104可以确定与部分车道扩展动作相关联的候选轨迹216。候选轨迹216可以使车辆104部分地穿越到第二行驶车道112中,这可以允许车辆104安全地经过对象116。使用车道扩展确定轨迹的技术的示例可以在例如于2019年6月28日提交的标题为“dynamic lane expansion”的美国专利申请第16/457197号中找到,其全部内容通过引用并入本文。
40.在第三动作208中,车辆104可以确定迎面而来的车道动作和与迎面而来的车道动作相关联的更新的可行驶区域218。例如,迎面而来的车道动作可以是导致车辆104穿越到第二行驶车道112(例如,迎面而来的车道)中以经过对象116的动作,并且更新的可行驶区域218可以表示包含第二行驶车道112的可行驶区域。
41.至少部分地基于更新的可行驶区域218,车辆104可以确定与迎面而来的车道动作相关联的候选轨迹220以安全地经过对象116。
42.在一些情况下,车辆可以基于环境中的条件将候选轨迹212、216或220确定为目标轨迹。例如,车道分隔线(或车道标记)可以指示不允许车辆在迎面而来的车道上经过的禁止通行区。因此,基于车道分隔线,车辆104可以确定车道内动作并降低车辆104的速度和/或在车辆104接近对象116时停在某个位置。
43.在一些情况下,车辆104可以将部分车道扩展动作和候选轨迹212确定为目标轨迹。例如,车辆104可以基于地图数据和/或传感器数据确定车辆104经过对象116所需的宽度。车辆104可以确定该宽度小于与部分车道扩展动作相关联的宽度阈值(例如,最大扩展宽度)。然后,车辆104可以将候选轨迹212确定为目标轨迹,并通过跟随目标轨迹继续穿越环境,以通过部分穿越到第二可行驶区域108中来经过对象116,如第二动作206中所描绘的。
44.在一些情况下,车辆104可以将迎面而来的车道动作和候选轨迹220确定为目标轨迹。例如,如上所述,车辆104可以确定车辆104所需的宽度满足或超过与部分车道扩展动作相关联的宽度阈值。此外,车辆104可以确定可用宽度满足或超过可用宽度阈值。例如,可用
宽度可以与更新的可行驶区域的宽度相关联(例如,可行驶区域包括迎面而来的行驶车道并考虑环境中的障碍物),并且可用宽度阈值可以与车辆104的宽度相关联,由此满足或超过可用宽度阈值可以指示车辆104可以在没有遇到完全障碍物的情况下穿过环境。此外,车辆104可以基于地图数据和/或传感器数据确定车道分隔线指示允许车辆在迎面而来的车道中经过的通行区。另外,车辆104可以确定指示与车辆104的相同行驶方向相关联的额外行驶车道不可用的额外行驶车道数据(例如,额外行驶车道不存在或也被阻塞)。因此,车辆104基于宽度、车道分隔线指示和/或额外行驶车道数据,可以将迎面而来的车道动作和候选轨迹220确定为目标轨迹,其中跟随目标轨迹可以允许车辆104通过穿越到第二可行驶区域108中来经过对象116。
45.在一些情况下,车辆104可以基于对象116的速度确定迎面而来的车道动作和候选轨迹220作为目标轨迹。例如,车辆104可以确定与对象116相关联的速度并将对象116的速度与速度阈值进行比较。在一些情况下,速度阈值可以是每秒0米,这可以指示对象116必须是静止的,以便车辆将迎面而来的车道动作和候选轨迹220确定为目标轨迹。在一些情况下,速度阈值可以大于0(例如,每秒0.5米、每秒1米或任何合适的速度阈值),这可以指示例如缓慢移动的车辆,例如农用设备、建筑设备、卡车牵引拖车等。迎面而来的车道动作可以允许车辆104安全地经过缓慢移动的车辆。
46.在一些情况下,车辆104可以确定与对象116相关联的属性以确定迎面而来的车道动作。作为示例而非限制,车辆104可以确定对象116的排气管发出的诸如危险灯和/或过多烟雾的属性。这些属性可以指示对象116需要维护或注意并确定迎面而来的车道动作以安全地经过对象116。
47.图3示出了示例状态机(也称为有限状态机),包括接近状态、准备停止状态(也称为准备状态)、谨慎进行状态(也称为谨慎状态)、停止状态和行进状态。当然,这样的状态和它们之间的连接仅出于说明性目的而被描绘,并且可以设想包括更多或更少的状态和/或它们之间的不同连接的其他状态机。在至少一些示例中,不同的状态机可以用于不同的场景和/或机动。用于使用状态机确定如何穿越环境的示例技术可以在例如标题为“state machine for traversing junctions”并于2019年3月7日提交的美国专利申请第16/295935号中找到,其全文通过引用并入本文。
48.迎面而来的动作状态机302可以包括接近状态304。在一些示例中,接近状态304可以包括针对可能触发车辆采取特定动作的各种对象(例如对象116)评估环境306(例如,通过分析由一个或多个传感器收集的数据)。例如,环境306示出了包括车辆104在与接近对象116的第一行驶车道110相关联的可行驶区域上穿越的环境。
49.该示例中的对象116可以是停转的车辆。接近状态304用“1”表示,其中车辆104可以处于接近状态。在一些情况下,车辆104可在接近状态304期间捕获传感器数据,该传感器数据可用于确定关于对象116的信息,包括但不限于对象的类型(例如,指示对象类型的语义信息,例如车辆、行人、自行车、动物等)。在一些情况下,迎面而来的动作状态机302的操作可以包括确定对象116的类型、与对象116相关联的边界框、与对象116相关联的分割信息和/或与对象相关联的移动信息,以及与此相关的任何不确定性,如本文所述。车辆104可以经由与车辆104相关联的传感器确定对象116是停转的车辆。虽然没有明确描绘,但可以理解的是,车辆104也可以检测到对象116是其他类型的对象,例如双停车辆或其他类型的障
碍物,例如道路缺陷、施工区域等。接近状态304还可以包括访问表示环境的地图数据。
50.在一些情况下,当车辆104处于接近状态304时,车辆104可以检测到额外的对象。例如,不同的车辆可以在迎面而来的车道(例如,第二行驶车道112)中,或者不同的车辆可以在车辆104的后面,估计的对象轨迹在车辆104的左侧经过车辆104。车辆104可以确定车辆104是否必须向不同车辆让行和/或不同车辆是否将向车辆104让行。例如,可以在于2019年8月23日提交的标题为“yield behavior modeling and prediction”的美国专利申请第16/549704号中找到用于确定诸如不同车辆之类的对象是否将屈服的技术示例,其全文通过引用并入本文。
51.响应于确定车辆104将不得不让行,车辆104可以确定让行轨迹以执行从接近状态304到准备停止状态310的过渡308。准备停止状态310可以包括确定车辆104应该停止的停止位置。在一些示例中并且如上所述,一个或多个其他车辆或对象可能在第二行驶车道112中接近车辆104的车辆104前面,该一个或多个其他车辆或对象可以由车辆104的传感器识别。车辆104可以确定到达或超过距车辆104前方环境中的对象116和/或其他对象的阈值距离的停止位置。
52.一旦确定了停止位置,车辆104可以穿过环境以在停止位置停止,并且这样做可以执行从准备停止状态310到当车辆104完全停止时的停止状态314的过渡312。停止状态314用“3”表示。
53.当处于停止状态314时,车辆104可以确定车辆104是否在机动位置的阈值距离内,对应于与迎面而来的车道动作相关联的车道变换机动。车辆104可以将车辆104在停止状态314中的当前位置与适合进行车道变换的位置(“机动位置”)进行比较。例如,如果车辆104太靠近对象116,由于可用空间量有限,执行变道到第二行驶车道112可能很困难,而机动位置可以允许车辆104执行变道进入第二行驶车道112。
54.如果车辆104确定车辆104不再需要让行(例如,不同的车辆已经通过允许车辆104向前行进),则车辆104可以执行从停止状态314到谨慎进行状态318的过渡316,用“4”表示。在继续谨慎进行状态318中,车辆104开始蠕行进入由“4”指示的“谨慎区域”。谨慎区域可以为车辆104提供在车辆104的车身和与第二行驶车道112的可行驶区域相关联的边界之间的足够距离,使得如果车辆104要停止在谨慎区域中,则其他车辆将是能够在第二行驶车道112中穿越时安全地避免与车辆104碰撞。当接近谨慎区域时,车辆104可以从停止状态314的停止以取决于能见度的量(例如,阻挡区域和/或阻挡网格可以降低可见度的量,其中阻挡区域可以是从车辆104具有有限能见度的环境区域)和到谨慎区域的距离的过渡速度前进。例如,距警谨慎区域越远,能见度越大,接近谨慎区域的过渡速度越快,而离谨慎区域的距离越短,能见度越小,接近谨慎区域的过渡速度越慢。
55.为了确定谨慎区域的大小和/或尺寸,除了执行机动的其他因素之外,车辆104还可以考虑车辆104已经停止的区域的几何形状。例如,车辆104可以确定从开始变道到第二行驶车道112并在经过对象116之后回到第一行驶车道110的期望弧长。因此,期望的弧长对应于车辆104从停止位置到并入第一行驶车道110的预计行驶路径。期望的弧长至少定义了车辆104在进行变道机动时的谨慎区域的第一部分。
56.考虑到从停止(或车辆接近谨慎区域的过渡速度)加速到达到期望速度(例如,第一行驶车道110和/或第二行驶车道112的速度限制),车辆104还可以使用弧长确定执行机
动的时间。然后可以使用确定的执行机动的时间确定车辆104在执行机动之前可以感测到的期望可见距离的量。车辆104可以通过评估来自车辆104传感器的传感器数据检测第二行驶车道112的能见度,并确定是否有足够的能见度来执行变道机动。
57.车辆104可以使用在谨慎进行状态318中生成的信息然后确定过渡速度以穿越谨慎区域。几个因素可以有助于确定过渡速度,例如确定的能见度的量(例如,更高的能见度有利于更高的过渡速度,而更低的能见度有利于更低的过渡速度),执行车道变换机动的估计时间(例如,较长的执行时间有利于较低的过渡速度,而较短的执行时间有利于较高的过渡速度)等等。车辆104可以使用确定的过渡速度来控制车辆104在继续谨慎进行状态318中通过谨慎区域,继续评估整个谨慎区域的周围环境的传感器数据。
58.如果在车辆104处于谨慎区域时检测到迎面而来的车辆,则车辆104可以通过执行从谨慎进行状态318回到准备停止状态310的过渡320来让行迎面而来的车辆。一旦车辆104已经向迎面而来的车辆让行并且迎面而来的车辆已经通过,通过执行从准备停止状态310到谨慎进行状态318的过渡322,车辆104可以以过渡速度(该过渡速度在整个机动过程中可能不是恒定的)继续通过谨慎区域。然而,如果车辆104通过谨慎区域内的阈值点,则车辆104可以执行从谨慎进行状态318到行进状态326的过渡324。行进状态326用“5”表示,其中表示车辆104已完成车道变换到第二行驶车道112已进入迎面而来的车道。
59.在一些情况下,如果车辆104在接近状态304中确定车辆104不必让行(例如,该区域中没有其他车辆和/或对象允许车辆104向前前进),车辆104可以执行从接近状态304到用“4”表示的谨慎进行状态318的过渡328。如上所述,在谨慎进行状态318中,车辆104开始蠕行进入由“4”表示的“谨慎区域”。例如,车辆104的蠕行可以是车辆104以或低于速度阈值向前行进,同时监测环境状况。作为示例而非限制,速度阈值可以是每秒3米,其中车辆104的速度可以小于或等于速度阈值,以允许车辆104监控环境中的对象、行人、车辆等,同时允许车辆104在短时间内停止。谨慎区域可以为车辆104提供在车辆104的车身和与第二行驶车道112的可行驶区域相关联的边界之间的足够距离,使得如果车辆104要停止在谨慎区域中,则其他车辆将能够安全地避免与车辆104在第二行驶车道112中穿越时发生碰撞。当接近谨慎区域时,车辆104可以以取决于能见度的量和到谨慎区域的距离的过渡速度前进。例如,谨慎区域的距离越远,能见度越高,则接近谨慎区域的过渡速度越快,而距谨慎区域的距离越短,能见度越低,则接近谨慎区域的过渡速度越慢。
60.在一些情况下,如上所述的车辆104可以确定车辆104在接近状态304时不必让行(例如,该区域中没有其他车辆和/或对象允许车辆104向前行进)。基于确定车辆104不必让行,车辆104可以执行从接近状态304到行进状态326的过渡。这可以允许车辆104基于确定其将能够安全地经过对象116而绕过谨慎进行状态318。
61.图4a和4b描绘了通过路口确定更新区域的示例。
62.在图4a中,环境402示出了车辆104穿过环境402并检测可以是例如停转的车辆的对象116。如上所述,车辆104可以确定迎面而来的车道动作并确定包括第二行驶车道112(例如迎面而来的车道)的更新的可行驶区域404。基于更新的可行驶区域404,车辆104可以确定穿过更新的可行驶区域404的目标轨迹406。在穿过交叉路口时,车辆104可以继续监控和/或检测具有朝向更新的可行驶区域404的估计轨迹的其他车辆和/或对象,并且车辆104可以使用图3中描述的迎面而来的动作状态机(也称为有限状态机)以安全地通过路口。
63.类似地,在图4b中,环境408描绘了车辆104穿过环境408并检测到对象116。如上所述,车辆104可以确定迎面而来的车道动作并确定包括第二行驶车道112的更新的可行驶区域410(例如,迎面而来的车道)。然而,与环境402相比,车辆104的目标车道是第三行驶车道412,作为示例而非限制,该第三行驶车道垂直于当前行驶方向并与当前行驶车道(例如,第一行驶车道110)相交。车辆104可以确定更新的可行驶区域410,该更新的可行驶区域可以首先包括第二行驶车道112的一部分以及第四行驶车道414的一部分以便经过对象116。在一些情况下,更新的可行驶区域410可以省略包括第四行驶车道414的部分。在一些情况下,更新的可行驶区域410的轮廓可以取决于车辆104的能力,例如转弯半径。基于更新的可行驶区域410,车辆104可以确定穿过更新的可行驶区域410的目标轨迹416。
64.图5是示出用于确定更新的可行驶区域并确定目标轨迹以经过障碍物的示例系统500的框图。在至少一个示例中,系统500可以包括车辆502,该车辆可以与以上参照图1-4b描述的车辆104相同或相似。
65.作为示例而非限制,车辆502可以是被配置为根据美国国家公路交通安全管理局发布的5级分类操作的自主车辆,该5级分类描述了能够在整个行程中执行所有安全关键功能的车辆,驾驶员(或乘员)在任何时候都不希望控制车辆。在这样的示例中,由于车辆104可以被配置为控制从启动到停止的所有功能,包括所有停车功能,所以它可以是未占据的。这仅是一个示例,本文描述的系统和方法可以结合到任何陆上、空中或水上交通工具中,包括从需要始终由驾驶员手动控制的车辆到部分或完全自主控制的车辆。与车辆502相关的额外细节在本公开全文中进行了描述。
66.车辆502可以是任何配置的车辆,例如货车、运动型多功能车、跨界车、卡车、公共汽车、农用车辆和/或工程车辆。车辆502可以由一台或多台内燃机、一台或多台电动机、氢动力、它们的任何组合和/或任何其他合适的动力源提供动力。尽管车辆502具有四个车轮,但本文所述的系统和方法可以结合到具有更少或更多车轮和/或轮胎的车辆中。车辆502可以具有四轮转向并且通常可以在所有方向上以相同或相似的性能特征运行,例如,使得车辆502的第一端在沿第一方向行驶时是车辆502的前端,并且当沿相反方向行驶时,第一端成为车辆502的后端。类似地,车辆502的第二端在沿第二方向行驶时是车辆的前端,并且当沿相反方向行驶时第二端成为车辆502的后端。这些示例特征可以促进更大的机动性,例如,在狭小空间或拥挤环境中,例如停车场和/或市区。
67.车辆502可以包括计算装置504、传感器系统506、发射器508、通信连接510、直接连接512和驱动系统514。
68.车辆计算装置504可以包括处理器516和与处理器516通信耦合的存储器518。在所示示例中,车辆502可以是自主车辆。然而,车辆502可以是任何其他类型的车辆。在所示示例中,车辆计算装置504的存储器518可以存储定位系统520、感知系统522、预测系统524、规划系统526、系统控制器528、地图系统530、可行驶区域系统532、动作系统534、成本系统536和比较系统538。虽然这些系统和组件在下文中被图示和描述为单独的组件以便于理解,但是各种系统的功能和控制器的归属与讨论的不同。作为示例而非限制,归属于感知系统522的功能可以由定位系统520和/或预测系统524执行。此外,可以使用更少或更多的系统和组件来执行这里描述的各种功能。此外,尽管出于说明性目的在图5中将其描绘为驻留在存储器518中,但是可以设想定位系统520、感知系统522、预测系统524、规划系统526、系统控制
器系统528、地图系统530、可行驶区域系统532、动作系统534、成本系统536和/或比较系统538可以附加地或替代地可由车辆502访问(例如,存储在远离车辆502的存储器上,或以其他方式由其访问)。
69.在至少一个示例中,定位系统520可以包括从传感器系统506接收数据以确定车辆502的位置和/或方向(例如,x-、y-、z-位置、滚动、俯仰或偏航)。例如,定位系统520可以包括和/或请求/接收环境地图(例如,来自地图系统530),并且可以连续地确定地图内自主车辆的位置和/或方向。在一些情况下,定位系统520可以利用slam(同时定位和映射)、clams(同时校准、定位和映射)、相对slam、束调整、非线性最小二乘优化等来接收图像数据、激光雷达数据、雷达数据、imu数据、gps数据、轮式编码器数据等,以准确确定自主车辆的位置。在一些情况下,定位系统520可以向车辆502的各个组件提供数据以确定自主车辆的初始位置,以用于生成用于在环境中行驶的轨迹。
70.在一些情况下,感知系统522可以包括执行对象检测、分割和/或分类的功能。在一些示例中,感知系统522可以提供经处理的传感器数据,该数据指示存在靠近车辆502的对象,例如对象116。感知系统还可以包括将实体分类为实体类型(例如,汽车、行人、骑自行车者、动物、建筑物、树木、路面、路边、人行道、未知等)。例如,感知系统522可以将传感器数据与比较系统538中的对象信息进行比较以确定类型。在附加和/或替代示例中,感知系统522可以提供经处理的传感器数据,其指示与检测到的对象和/或对象所在的环境相关联的一个或多个特征。在一些示例中,与对象相关联的特征可以包括但不限于x位置(全局和/或局部位置)、y位置(全局和/或局部位置)、z位置(全局和/或局部位置)、方向(例如,滚动、俯仰、偏航)、对象类型(例如,分类)、对象的速度、对象的加速度、对象的范围(大小)、与对象相关联的边界框等。与环境相关联的特征可以包括但不限于环境中另一个对象的存在、环境中另一个对象的状态、一天中的某个时间、一周中的一天、一个季节、天气状况、黑暗/光明的指示等。
71.预测系统524可以访问来自传感器系统506的传感器数据、来自地图系统530的地图数据,以及在一些示例中,来自感知系统522的感知数据输出(例如,处理的传感器数据)。在至少一个示例中,预测系统524可以至少部分地基于传感器数据、地图数据和/或感知数据确定与对象相关联的特征。如上所述,特征可以包括对象的范围(例如,高度、重量、长度等)、对象的姿势(例如,x-坐标、y-坐标、z-坐标、俯仰、滚动、偏航)、对象的速度、对象的加速度和对象的行驶方向(例如,航向)。此外,预测系统524可以被配置为确定对象与附近行驶车道之间的距离、当前行驶车道的宽度、与人行横道的接近度、语义特征、交互特征等。
72.预测系统524可以分析对象的特征以预测对象的未来动作(例如,对象的估计轨迹)。例如,预测系统524可以预测车道改变、减速、加速、转弯、方向改变等。例如,可以在于2018年5月17日提交的题为“vehicle lighting state determination”的美国专利申请第15/982658号中找到用于确定对象特征的技术示例(部分描述了确定对象的状态,例如作为停放的车辆、双停车辆、停转的车辆和/或慢速行驶的车辆),其全部内容通过引用并入本文。预测系统524可以将预测数据发送到可行驶区域系统532,使得可行驶区域系统532可以使用预测数据确定可行驶区域的边界(例如,基于位置、速度、加速度中的一个或多个不确定性,以及对象的语义分类,或替代地,基于对象的语义分类)。例如,如果预测数据指示沿着肩部行走的行人行为不正常,则可行驶区域系统532可以确定靠近行人的可行驶区域的
增加的偏移。在车辆502不是自主的一些示例中,预测系统524可以向驾驶员提供可能影响行驶的预测事件的指示(例如,音频和/或视觉警报)。
73.在一些示例中,预测系统524可以包括确定代表环境中对象的预测位置的预测点的功能。在一些实施方式中,预测系统524可以至少部分地基于与最高概率相关联的单元和/或至少部分地基于与生成预测轨迹相关联的成本确定与预测点相关联的预测轨迹(也称为估计轨迹)。
74.例如,预测系统524可以至少部分地基于评估与风险因素、安全性和车辆动力学相关联的一个或多个成本函数来选择热图的点、单元或区域作为预测点,仅命名为几个示例。此类成本可以包括但不限于基于位置的成本(例如,限制预测点之间允许的距离)、速度成本(例如,通过预测轨迹执行恒定速度的恒定速度成本)、加速度成本(例如,在整个预测轨迹中强制执行加速度边界)、对象可以遵循道路规则的期望等。在至少一些示例中,与单元相关联的概率可以乘以成本(在至少一些示例中,可以对该成本进行归一化),使得与成本时间概率的最大值相关联的点(例如,候选点)被选为在特定时间与对象相关联的预测点。
75.通常,规划系统526可以确定车辆502要遵循的路径以穿过环境。例如,规划系统526可以确定各种路线和轨迹以及各种详细程度。例如,规划系统526可以确定从第一位置(例如,当前位置)到第二位置(例如,目标位置)行进的路线。出于本讨论的目的,路线可以是用于在两个位置之间行驶的航路点序列。作为非限制性示例,航路点包括街道、十字路口、全球定位系统(gps)坐标等。此外,规划系统526可以生成用于引导自主车辆沿着从第一位置到第二位置的路线的至少一部分的指令。在至少一个示例中,规划系统526可以确定如何将自主车辆从航路点序列中的第一航路点引导到航路点序列中的第二航路点。在一些示例中,指令可以是轨迹或轨迹的一部分。在一些示例中,可以根据后退水平技术基本上同时生成多个轨迹(例如,在技术公差内),其中选择多个轨迹之一用于车辆502导航。因此,在本文描述的示例实施方式中,规划系统526可以生成车辆可以沿着其导航的轨迹,其中轨迹包含在可行驶区域内。
76.系统控制器528可以被配置为控制车辆502的转向、推进、制动、安全、发射器、通信和其他系统。这些系统控制器528可以与驱动系统514的相应系统和/或车辆502的其他组件通信和/或控制相应的系统。例如,系统控制器528可以使车辆沿着由规划系统526确定的行驶路径穿越,例如在由可行驶区域系统532确定的可行驶区域中。
77.地图系统530可以被配置为将一张或多张地图存储为地图数据。地图可以是在二维或三维中建模的任意数量的数据结构,可以提供有关环境的信息,例如但不限于拓扑(例如交叉口)、街道、山脉、道路、地形和整体环境。在某些情况下,地图数据可以指示环境中可行驶区域的轮廓以及识别可行驶区域的类型。例如,地图数据可以指示与行驶车道、公共汽车车道、双向左转车道、自行车道、人行道等相关联的环境部分以及与环境部分相关的行驶方向(如果适用)。
78.可行驶区域系统532可以被配置为确定可行驶区域,例如可行驶区域106、108、210、214、218、404和410。例如,可行驶区域可以表示环境中没有障碍物并且对应于车辆502可以穿越的区域。在一些情况下,在确定可行驶区域之后,可行驶区域系统532可以进一步确定如上所述的更新的可行驶区域。尽管被示为存储器518中的单独块,但在一些示例和实现中,可行驶区域系统532可以是规划系统526的一部分。可行驶区域系统532可以访问来自
传感器系统506的传感器数据,来自地图系统530的地图数据、来自比较系统538的对象信息、来自定位系统520、感知系统522和/或预测系统524中的一个或多个的输出(例如,处理的数据)。
79.作为非限制性示例,可行驶区域系统532可以访问(例如,检索或接收)一个或多个计划路径。计划的路径可以代表导航环境的潜在路径,并且可以基于例如地图数据、对象信息和/或感知数据确定。在一些示例中,可以将计划路径确定为用于执行任务的候选路径。例如,计算装置504可以将任务定义或确定为到目的地的最高级别的导航,例如用于导航到目的地的一系列道路。一旦确定了任务,就可以确定执行该高级导航的一个或多个动作。
80.动作系统534可用于确定如何执行任务的动作。例如,动作可以包括诸如“跟随车辆”、“在右侧经过”、“减速”、“停车”、“留在车道上”、“迎面而来的车道”、“车道变换”等任务。在一些示例中,可以为每个动作确定本文所述的投影路径。例如,停留在车道动作可用于停留在车辆502的当前行驶车道中,而迎面而来的车道动作可用于使用迎面而来的车道的至少一部分作为可行驶区域以绕过障碍物穿越。尽管被示为存储器518中的单独块,但在一些示例和实现中,动作系统534可以是规划系统526的一部分。动作系统534可以访问来自传感器系统506的传感器数据和/或地图系统530的地图数据。在一些情况下,动作系统534可以使用传感器数据和/或地图数据确定车辆502的动作。
81.对于规划路径,可行驶区域系统532可以在沿规划路径的离散点处确定从路径到环境中的对象的横向距离。例如,距离可以作为由感知系统522生成的感知数据来接收,和/或可以使用数学和/或计算机视觉模型,例如射线投射技术确定。然后可以调整各种横向距离以考虑其他因素。例如,可能希望保持车辆502与环境中的对象之间的最小距离。在一些实施方式中,关于对象的信息,包括语义类型,可用于确定那些距离调整。
82.此外,预测系统524还可以提供关于对象的预测运动的预测数据,并且可以基于这些预测进一步调整距离。例如,预测数据可以包括置信度分数,并且可以基于置信度分数来调整横向距离,例如,通过对不太置信的预测进行更大的调整,对更有信心的预测进行更轻微的调整或不进行调整。使用调整后的距离,可行驶区域系统532可以定义可行驶区域的边界。在至少一些示例中,边界可以被离散化(例如,每10cm、50cm、1m等)并且关于边界的信息可以被编码(例如,到最近对象的横向距离、最近对象的语义类型、置信度和/或与边界相关的概率分数等)。如本文所述,由规划系统526确定的轨迹可以由可行驶区域限制并且根据可行驶区域。虽然可行驶区域系统532被示为与规划系统526分离,但可行驶区域系统532的一个或多个功能可以由规划系统526执行。在一些实施例中,可行驶区域系统532可以是规划系统526的一部分。
83.成本系统536可以被配置为确定与动作相关联的一个或多个成本。例如,一个或多个成本可以与通过与动作相关联的可行驶区域的计划路径(例如,候选轨迹)相关联。该一个或多个成本可以包括但不限于参考成本、障碍物成本、横向成本、纵向成本、区域成本、宽度成本、指示器成本、动作切换成本、动作成本、使用成本等。
84.比较系统538可以被配置为比较与第一候选轨迹和第二候选轨迹相关联的成本。例如,第一候选轨迹可以与停留在车道动作相关联,其中第一候选轨迹将使车辆502在环境中的障碍物之前停止。第二候选轨迹可以与进入车道动作相关联,其中第二候选轨迹将允许车辆502使用迎面而来的车道经过障碍物。成本系统536可以确定与第一候选轨迹和第二
候选轨迹相关联的成本。作为示例而非限制,比较系统538可以确定第二候选轨迹与低于与第一候选轨迹相关联成本的成本相关联,并且规划系统526可以使用第二候选轨迹作为穿过环境的目标轨迹。在一些情况下,比较系统538可以将与候选轨迹相关联的成本与成本阈值进行比较。例如,如果与候选轨迹相关联的成本不低于成本阈值,则成本阈值可用于维持当前动作。
85.在至少一个示例中,定位系统520、感知系统522、预测系统524、规划系统526、可行驶区域系统532、动作系统534和/或成本系统536可以处理传感器数据和/或地图数据,如上所述,并且可以通过网络540将它们各自的输出发送到计算装置542。在至少一个示例中,定位系统520、感知系统522、预测系统524、规划系统526、可行驶区域系统532、动作系统534和/或成本系统536可以在预定时间段过去之后、近实时等以特定频率将它们各自的输出发送到计算装置542。
86.在至少一个示例中,传感器系统506可以包括飞行时间传感器、激光雷达传感器、雷达传感器、超声换能器、声纳传感器、位置传感器(例如,gps、罗盘等)、惯性传感器(例如,惯性测量单元、加速度计、磁力计、陀螺仪等)、相机(例如,rgb、uv、ir、强度、深度等)、麦克风、轮式编码器、环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等)。传感器系统506可以包括这些或其他类型的传感器中的每一个的多个实例。例如,激光雷达传感器可以包括位于车辆502的拐角、前部、后部、侧面和/或顶部的单独的激光雷达传感器。作为另一个示例,相机传感器可以包括设置在车辆502外部和/或内部周围不同位置的多个相机。传感器系统506可以向计算装置504提供输入。另外和/或替代地,传感器系统506可以经由网络540以特定频率、在预定时间段过去之后、近实时地等发送传感器数据到计算装置542。
87.车辆502还可以包括用于发射光和/或声音的发射器508。该示例中的发射器508包括与车辆502的乘客通信的内部音频和视觉发射器。作为示例而非限制,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带张紧器、座椅定位器、头枕定位器等)等。该示例中的发射器508还包括外部发射器。作为示例而非限制,该示例中的外部发射器包括用于与行人、其他驾驶员、其他附近车辆等进行视觉通信的光发射器(例如,指示灯、标志、光阵列等)、用于与行人、其他驾驶员、其他附近车辆进行听觉通信的一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等)等。
88.车辆502还可以包括能够实现车辆502和其他本地或远程计算装置之间通信的通信连接510。例如,通信连接510可以促进与车辆502和/或驱动系统514上的其他本地计算装置的通信。而且,通信连接510可以允许车辆与附近的其他计算装置通信(例如,附近的其他车辆、交通信号灯等)。通信连接510还使车辆502能够与远程操作计算装置或其他远程服务进行通信。
89.通信连接510可以包括用于将车辆计算装置504连接到另一个计算装置或网络,例如网络540的物理和/或逻辑接口。例如,通信连接510可以启用基于wi-fi的通信,例如经由ieee 802.11标准定义的频率、诸如蓝牙的短程无线频率,或使相应的计算装置能够与其他计算装置交互的任何合适的有线或无线通信协议。
90.在至少一个示例中,车辆502可以包括驱动系统514。在一些示例中,车辆502可以
具有单个驱动系统514。在至少一个示例中,如果车辆502具有多个驱动系统514,则单独的驱动系统514可以定位在车辆502的相对端(例如,前部和后部等)。在至少一个示例中,驱动系统514可以包括传感器系统以检测驱动系统514和/或车辆502的周围环境的状况。作为示例而非限制,传感器系统506可以包括轮式编码器(例如,旋转编码器)以感测驱动模块的车轮的旋转,惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)以测量驱动模块、相机或其他图像传感器的位置和加速度、用于对驱动模块周围的对象进行声学检测的超声波传感器、激光雷达传感器、雷达传感器、飞行时间传感器等。一些传感器,例如轮式编码器可以是驱动系统514独有的。在一些情况下,驱动系统514上的传感器系统506可以重叠或补充车辆502的相应系统(例如,传感器系统506)。
91.驱动系统514可以包括许多车辆系统,包括高压电池、驱动车辆502的电动机、将来自电池的直流电转换成交流电以供其他车辆系统使用的逆变器、包括转向马达和转向齿条(该马达和转向齿条可以是电动的)的转向系统、包括液压或电动执行器的制动系统、包括液压和/或气动元件的悬架系统、用于分配制动力以减轻牵引力损失并保持控制的稳定性控制系统、hvac系统、照明(例如,用于照亮车辆外部环境的头灯/尾灯等照明),以及一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气组件,例如dc/dc转换器、高压接头、高压电缆、充电系统、充电端口等)。此外,驱动系统514可以包括驱动模块控制器,该驱动模块控制器可以接收和预处理来自传感器系统的数据并控制各种车辆系统的操作。在一些示例中,驱动模块控制器可以包括处理器和与处理器通信耦合的存储器。存储器可以存储一个或多个模块以执行驱动系统514的各种功能。此外,驱动系统514还包括能够通过相应驱动模块与其他本地或远程计算装置进行通信的通信连接。
92.如上所述,车辆502可以经由网络540向计算装置542发送传感器数据。在一些示例中,车辆502可以向计算装置542发送原始传感器数据。在其他示例中,车辆502可以将处理后的传感器数据和/或传感器数据的表示发送到计算装置542(例如,从定位系统520、感知系统522、预测系统524和/或规划系统526输出的数据)。在一些示例中,车辆502可以在预定时间段过去之后以特定频率、近实时等发送传感器数据到计算装置542。
93.计算装置542可以从车辆502和/或一个或多个其他车辆和/或数据收集装置接收传感器数据(原始的或处理的),并且可以基于传感器数据和其他信息确定扩展的可行驶区域。在至少一个示例中,计算装置542可以包括处理器544和与处理器544通信耦合的存储器546。在所示示例中,计算装置542的存储器546存储例如,地图系统548、可行驶区域系统550、动作系统552、成本系统554和比较系统556。在至少一个示例中,地图系统548可以对应于地图系统530,可行驶区域系统550可以对应于可行驶区域系统532,动作系统552可以对应于动作系统534,成本系统554可以对应成本系统536,比较系统556可以对应比较系统538。
94.车辆502的处理器516和计算装置542的处理器544可以是能够执行指令以处理数据并执行如本文所述的操作的任何合适的处理器。作为示例而非限制,处理器516和544可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、或处理电子数据以将该电子数据转换为可存储在寄存器和/或存储器中的其他电子数据的任何其他装置或装置的一部分。在一些示例中,集成电路(例如,asic等)、门阵列(例如,fpga等)和其他硬件装置也可以被认为是处理器,只要它们被配置为实现编码指令。
95.存储器518和546是非暂时性计算机可读介质的示例。存储器518和546可以存储操作系统和一个或多个软件应用程序、指令、程序和/或数据以实现本文描述的方法和归属于各种系统的功能。在各种实现中,存储器可以使用任何合适的存储器技术来实现,例如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存型存储器或能够存储信息的任何其他类型的存储器。这里描述的架构、系统和单独的元素可以包括许多其他逻辑、程序和物理组件,其中附图中所示的那些仅仅是与这里的讨论相关的示例。
96.应当注意,虽然图5被示为分布式系统,但在替代示例中,车辆502的组件可以与计算装置542相关联和/或计算装置542的组件可以与车辆502相关联。也就是说,车辆502可以执行与计算装置542相关联的一个或多个功能,反之亦然。此外,虽然各种系统和组件被示为分立系统,但这些说明仅是示例,更多或更少的分立系统可以执行本文所述的各种功能。
97.在一些情况下,本文讨论的一些或所有组件的方面可以包括任何模型、算法和/或机器学习算法。例如,在某些情况下,存储器518和546中的组件可以实现为神经网络。
98.图6描绘了用于至少部分地基于目标轨迹确定目标轨迹和控制自主车辆的示例过程600。
99.在操作602,计算装置可以确定与第一行驶方向相关联的第一可行驶区域和与第二行驶方向相关联的第二可行驶区域。例如,可行驶区域可以表示环境中的区域,该区域可以定义车辆可以安全行驶以有效到达预期目的地的约束和/或边界。在某些情况下,可行驶区域可以表示环境中的区域,该区域可以定义车辆可以相对于环境中的对象安全行驶的约束和/或边界。
100.在操作604,计算装置可以确定自主车辆穿越的参考轨迹。在某些情况下,参考轨迹可以与执行任务的计划路径相关联。
101.在操作606,计算装置可以接收传感器数据。传感器数据可以是由诸如飞行时间传感器、激光雷达传感器、雷达传感器、超声波换能器、声纳传感器、相机(例如rgb、uv、ir、强度、深度等)、麦克风、环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等)等生成的数据。
102.在操作608,计算装置可以至少部分地基于传感器数据确定与第一可行驶区域相关联的障碍物。障碍物可以是动态对象(例如,行人、动物、骑自行车者、卡车、摩托车、其他车辆等)、静态对象(例如,建筑物、标牌、路缘石、碎片等)、静态障碍物(例如,道路标记、物理车道边界、道路缺陷、施工区域等)和/或其他可能已知或未知的对象。此外,障碍物可以与第一可行驶区域相关联,该第一可行驶区域可以是车辆502用来穿越环境的车辆502的当前车道。在一些情况下,障碍物可以中断与执行任务(例如,高级导航)相关联的一个或多个动作,其中在障碍物周围导航可以允许车辆502朝着任务前进。
103.在操作610,计算装置可以确定与第一成本相关联的第一动作和与第二成本相关联的第二动作。作为示例而非限制,第一动作可以是停留在车道动作并且第二动作可以是迎面而来的车道动作。第一动作可以与第一成本相关联并且第二动作可以与第二成本相关联,其中第一成本和第二成本可以包括诸如参考成本、障碍物成本、横向成本、纵向成本,区域成本、宽度成本、指标符成本、动作切换成本、动作成本、使用成本等的成本。
104.在操作612,计算装置可以至少部分地基于第一成本和第二成本之间的差异确定目标轨迹。目标轨迹可以是允许自主车辆通过使用迎面而来的行驶车道经过障碍物的轨
迹。
105.在操作614,自主车辆的计算装置可以至少部分地基于目标轨迹来控制自主车辆。如上所述,自主车辆可以使用迎面而来的行驶车道来避开可能干扰自主车辆轨迹的对象。
106.本文描述的各种技术可以在计算机可执行指令或软件的上下文中实现,例如程序模块,这些指令或软件存储在计算机可读存储器中并由一台或多台计算机或其他装置的处理器执行,例如图中所示的那些。通常,程序模块包括例程、程序、对象、组件、数据结构等,并定义了用于执行特定任务或实现特定抽象数据类型的操作逻辑。
107.其他架构可用于实现所描述的功能并且旨在落入本公开的范围内。此外,尽管出于讨论的目的在上面定义了具体的职责分配,但可以根据情况以不同的方式分配和划分各种功能和职责。
108.类似地,可以以各种方式和使用不同的手段来存储和分发软件,并且上述特定的软件存储和执行配置可以以许多不同的方式变化。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,不限于具体描述的存储器形式。
109.示例条款
110.a:一种系统,包括:一个或多个处理器;以及存储计算机可执行指令的一个或多个计算机可读介质,当执行这些指令时,使系统执行包括以下操作的操作:接收与环境相关联的地图数据;至少部分地基于地图数据确定环境的第一可行驶区域,第一可行驶区域与第一行驶方向相关联;至少部分地基于地图数据确定与第一可行驶区域相邻的第二可行驶区域,第二可行驶区域与不同于第一行驶方向的第二行驶方向相关联;接收自主车辆穿越环境的参考轨迹;从自主车辆的传感器接收代表环境的传感器数据;至少部分地基于传感器数据确定与第一可行驶区域相关联的障碍物;至少部分地基于障碍物确定与第一成本相关联的第一动作和与第二成本相关联的第二动作;至少部分地基于第一成本和第二成本之间的差异,确定穿过第二可行驶区域的至少一部分的目标轨迹;以及至少部分地基于目标轨迹控制自主车辆。
111.b:根据段落a所述的系统,操作还包括:至少部分地基于传感器数据确定与第一可行驶区域相关联的初始可行驶区域;以及至少部分地基于传感器数据确定包括初始可行驶区域和第二可行驶区域的一部分的更新的可行驶区域;其中,确定目标轨迹进一步至少部分地基于更新的可行驶区域。
112.c:根据段落a所述的系统,操作还包括:至少部分地基于目标轨迹和传感器数据确定阻挡区域;以及至少部分地基于阻挡区域确定与目标轨迹相关联的速度。
113.d:根据段落a所述的系统,操作还包括:确定与障碍物相关的速度;确定速度小于或等于速度阈值;其中,障碍物与以下至少之一相关联:车辆;行人;道路缺陷;或施工区。
114.e:一种方法,包括:从与车辆相关的传感器接收传感器数据;确定环境的第一区域,第一区域与第一行驶方向相关联;确定与第一区域相邻的第二区域,第二区域与不同于第一行驶方向的第二行驶方向相关联;至少部分地基于传感器数据确定与第一区域相关联的障碍物;确定穿过第二区域并经过第二区域中的障碍物的目标轨迹,该目标轨迹与成本相关联;以及至少部分地基于成本和目标轨迹控制车辆。
115.f:根据段落e所述的方法,还包括:至少部分地基于传感器数据确定与第一区域相关联的初始可行驶区域;以及至少部分地基于传感器数据确定包括初始可行驶区域和第二
区域的一部分的更新的可行驶区域;其中,确定目标轨迹进一步至少部分地基于更新的可行驶区域。
116.g:根据段落e所述的方法,其中,成本是第一成本,该方法还包括:确定与经过第一区域的第一替代轨迹相关联的第二成本和与第二替代轨迹相关联的第三成本,该第二替代轨迹第二区域相关联;其中,第三成本大于第二成本。
117.h:根据段落e所述的方法,还包括:至少部分地基于目标轨迹和传感器数据确定阻挡区域;以及至少部分地基于阻挡区域确定与目标轨迹相关联的速度。
118.i:根据段落h所述的方法,其中,阻挡区域是第一阻挡区域,该方法还包括:确定与第一阻挡区域相关联的车辆的第一速度;以及确定第二阻挡区域和与第二阻挡区域相关联的第二速度。
119.j:根据段落e所述的方法,其中,成本包括以下至少一项:与车辆占据第二区域相关联的区域成本,该区域成本至少部分地基于不同于第一行驶方向的第二行驶方向;与第二区域的宽度相关的宽度成本;与车辆的指示灯已被启用的第一时间量相关联的指示器成本;与开始与穿越到第二区域中相关联的动作或终止该动作中的一者相关联的动作切换成本;与开始动作相关的动作成本;或者与车辆已经占据第一区域的第二时间量相关联的使用成本,该使用成本至少部分地基于确定目标轨迹。
120.k:根据段落e所述的方法,还包括:至少部分地基于传感器数据确定环境中的对象;至少部分地基于传感器数据确定与对象相关联的估计轨迹;以及至少部分地基于估计轨迹确定目标轨迹。
121.l:根据段落k所述的方法,还包括:确定与第二区域相关联的区域宽度;以及确定与对象相关联的对象属性,对象属性包括对象宽度或对象类型中的至少一项;其中,确定目标轨迹进一步至少部分地基于区域宽度和对象属性。
122.m:一种存储可由处理器执行的指令的非暂时性计算机可读介质,其中所述指令在被执行时使所述处理器执行包括以下操作的操作:从与车辆相关的传感器接收传感器数据;至少部分地基于传感器数据确定与环境中的第一区域相关联的障碍物,第一区域与第一行驶方向相关联;确定穿过与第一区域相邻的第二区域的目标轨迹,第二区域与第一方向相反的第二行驶方向相关联;确定与目标轨迹相关联的成本,目标轨迹与通过在第二区域中穿越而经过障碍物相关联;以及至少部分地基于成本和目标轨迹控制车辆。
123.n:根据段落m所述的非暂时性计算机可读介质,该操作还包括:至少部分地基于传感器数据确定与第一区域相关联的初始可行驶区域;以及至少部分地基于传感器数据确定包括初始可行驶区域和第二区域的一部分的更新的可行驶区域;其中,确定目标轨迹进一步至少部分地基于更新的可行驶区域。
124.o:根据段落m所述的非暂时性计算机可读介质,其中,成本是第一成本,该操作还包括:确定与经过第一区域中的障碍物的替代轨迹相关联的第二成本;其中,第二成本大于第一成本。
125.p:根据段落m所述的非暂时性计算机可读介质,该操作还包括:至少部分地基于目标轨迹和传感器数据确定阻挡区域;以及至少部分地基于阻挡区域确定与目标轨迹相关联的速度。
126.q:根据段落p所述的非暂时性计算机可读介质,其中,阻挡区域是第一阻挡区域,
操作进一步包括:确定与第一阻挡区域相关联的车辆的第一速度;以及确定第二阻挡区域和与第二阻挡区域相关联的第二速度。
127.r:根据段落m所述的非暂时性计算机可读介质,其中,成本包括以下至少一项:与车辆占据第二区域相关联的区域成本,该区域成本至少部分地基于不同于第一行驶方向的第二行驶方向;与第二区域的宽度相关的宽度成本;与车辆的指示灯已被启用的第一时间量相关联的指示器成本;与开始与穿越到第二区域中相关联的动作或终止该动作中的一者相关联的动作切换成本;或者与车辆已经占据第一区域的第二时间量相关联的使用成本,该使用成本至少部分地基于确定目标轨迹。
128.s:根据段落m所述的非暂时性计算机可读介质,该操作还包括:至少部分地基于传感器数据确定环境中的对象;至少部分地基于传感器数据确定与对象相关联的估计轨迹;以及至少部分地基于估计轨迹确定目标轨迹。
129.t:根据段落s所述的非暂时性计算机可读介质,该操作还包括:确定与第二区域相关联的区域宽度;确定与对象相关联的对象属性,该对象属性包括对象宽度或对象类型中的至少一项;其中,确定目标轨迹进一步至少部分地基于区域宽度和对象属性。
130.u:一种系统,包括:一个或多个处理器;以及存储计算机可执行指令的一个或多个计算机可读介质,当执行这些指令时,使系统执行包括以下操作的操作:确定自主车辆正在运行的状态,该状态包括以下一项或多项:第一状态,其包括自主车辆的标称操作状态,其中自主车辆根据轨迹被命令,第二状态,其中自主车辆准备在停止在位置停止,第三状态,其中自主车辆在距停止位置的阈值距离内,或者已经在停止位置停止,在达到或超过阈值时间量的时间段内,第四状态,其中自主车辆在阈值速度以下并且在轨迹的阈值横向距离内行驶,以及第五状态,其中根据替代轨迹命令自主车辆穿过与替代轨迹相反的交通方向相关联的环境区域;以及至少部分地基于状态控制自主车辆。
131.v:根据段落u所述的系统,其中,确定状态包括评估有限状态机。
132.w:根据段落u所述的系统,其中,状态包括第一状态,并且其中,该操作还包括:从与所述自主车辆相关联的传感器接收传感器数据;至少部分地基于传感器数据确定以下至少一项:环境中阻碍自主车辆轨迹的障碍物;或与障碍物和轨迹相关联的成本,其中成本达到或超过阈值成本;以及至少部分地基于障碍物、自主车辆的速度或传感器数据中的一个或多个,使得自主车辆从第一状态过渡到第二状态或第四状态中的一个或多个。
133.x:根据段落u所述的系统,其中,状态包括第三状态,该操作还包括:确定自主车辆的位置与停止位置之间的距离;确定与自主车辆停止相关的时间段;以及至少部分地基于距离小于或等于阈值距离或时间段大于或等于阈值时间量中的一个或多个,导致自主车辆从第三状态过渡到第四状态。
134.y:根据段落u所述的系统,其中,状态包括第四状态,该操作还包括:从与自主车辆相关联的传感器接收传感器数据;至少部分地基于传感器数据和传感器确定能见度水平;以及至少部分地基于能见度水平使自主车辆从第四状态过渡到第五状态。
135.z:一种方法,包括:确定车辆正在操作的状态,该状态包括以下各项中的一个或多个:第一状态,包括车辆的标称操作状态,其中根据轨迹命令车辆,第二状态,其中车辆准备在停止在位置停止,第三状态,其中车辆在距停止位置的阈值距离内,或者已经在停止位置停止,在达到或超过阈值时间量的时间段内,第四状态,其中车辆在阈值速度以下并且在轨
迹的阈值横向距离内行驶,以及第五状态,其中根据替代轨迹命令车辆穿过与替代轨迹相反的交通方向相关联的环境区域;以及至少部分地基于车辆状态控制车辆。
136.aa:根据段落z所述的方法,其中,确定状态包括评估有限状态机。
137.ab:根据段落z所述的方法,其中,该状态包括第一状态,并且其中,该方法还包括:从与车辆相关联的传感器接收传感器数据;至少部分地基于传感器数据确定以下至少一项:环境中阻碍车辆轨迹的障碍物;或与障碍物和轨迹相关联的成本,其中,成本达到或超过阈值成本;以及至少部分地基于障碍物、车辆的速度或传感器数据中的一个或多个,使得车辆从第一状态过渡到第二状态或第四状态中的一个或多个。
138.ac:根据段落z所述的方法,其中,该状态包括第三状态,该方法还包括:确定车辆的位置与停止位置之间的距离;确定与车辆停止相关的时间段;以及至少部分地基于距离小于或等于阈值距离或时间段大于或等于阈值时间量中的一个或多个,导致车辆从第三状态过渡为第四状态。
139.ad:根据段落z所述的方法,其中,状态包括第四状态,该方法还包括:从与车辆相关联的传感器接收传感器数据;至少部分地基于传感器数据和传感器确定能见度水平;以及至少部分地基于能见度水平使车辆从第四状态过渡到第五状态。
140.ae:根据段落z所述的方法,其中,该状态包括第四状态,该方法还包括:从与车辆相关联的传感器接收传感器数据;至少部分地基于传感器数据确定环境中阻碍车辆轨迹的障碍物;以及至少部分地基于障碍物导致车辆从第四状态过渡到第二状态。
141.af:根据段落z所述的方法,其中,该状态包括第二状态,该方法还包括:至少部分地基于环境中阻碍车辆轨迹的障碍物确定停止位置;从与车辆相关的传感器接收传感器数据;以及至少部分地基于传感器数据使车辆从第二状态过渡到第三状态或第四状态中的一个或多个。
142.ag:一种存储可由一个或多个处理器执行的指令的非暂时性计算机可读介质,其中,该指令在被执行时使该一个或多个处理器执行以下操作包括:确定车辆正在运行的状态,该状态包括以下中的一个或多个:第一状态,包括车辆的标称操作状态,其中根据轨迹命令车辆,第二状态,其中车辆准备在停止在位置停止,第三状态,其中车辆在距停止位置的阈值距离内,或者已经在停止位置停止,在达到或超过阈值时间量的时间段内,第四状态,其中车辆在阈值速度以下并且在轨迹的阈值横向距离内行驶,以及第五状态,其中根据替代轨迹命令车辆穿过与替代轨迹相反的交通方向相关联的环境区域;以及至少部分地基于车辆状态控制车辆。
143.ah:根据段落ag所述的非暂时性计算机可读介质,其中,确定状态包括评估有限状态机。
144.ai:根据段落ag所述的非暂时性计算机可读介质,其中,该状态包括第一状态,该操作还包括:从与车辆相关联的传感器接收传感器数据;至少部分地基于传感器数据确定以下至少一项:环境中阻碍车辆轨迹的障碍物;或与障碍物和轨迹相关联的成本,其中,成本达到或超过阈值成本;以及至少部分地基于障碍物、车辆的速度或传感器数据中的一个或多个,使得车辆从第一状态过渡到第二状态或第四状态中的一个或多个。
145.aj:根据段落ag所述的非暂时性计算机可读介质,其中,该状态包括第三状态,该操作还包括:确定车辆位置与停止位置之间的距离;确定与车辆停止相关的时间段;以及至
少部分地基于距离小于或等于阈值距离或时间段大于或等于阈值时间量中的一个或多个,导致车辆从第三状态过渡为第四状态。
146.ak:根据段落ah所述的非暂时性计算机可读介质,其中,该状态包括第四状态,该操作还包括:从与车辆相关的传感器接收传感器数据;至少部分地基于传感器数据和传感器确定能见度水平;以及至少部分地基于能见度水平使车辆从第四状态过渡到第五状态。
147.al:根据段落ag所述的非暂时性计算机可读介质,其中,该状态包括第四状态,该操作还包括:从与车辆相关的传感器接收传感器数据;至少部分地基于传感器数据确定环境中阻碍车辆轨迹的障碍物;以及至少部分地基于障碍物导致车辆从第四状态过渡到第二状态。
148.am:根据段落ag所述的非暂时性计算机可读介质,其中,该状态包括第二状态,该操作还包括:至少部分地基于环境中阻碍车辆轨迹的障碍物确定停止位置;以及至少部分地基于停止位置使车辆从第二状态过渡到第三状态。
149.an:根据段落ag所述的非暂时性计算机可读介质,其中,该状态包括第二状态,该操作还包括:至少部分地基于环境中阻碍车辆轨迹的障碍物确定停止位置;从与车辆相关的传感器接收传感器数据;至少部分地基于传感器数据确定对象与车辆之间的距离达到或超过距离阈值;以及使车辆从第二状态过渡到第四状态。
150.虽然上述示例条款是针对一种特定实现方式进行描述的,但应理解,在本文的上下文中,示例条款的内容还可以通过方法、装置、系统、计算机可读介质和/或其他方式来实现。此外,任何示例a-an可以单独实施或与任何其他一个或多个示例a-an组合实施。
151.结论
152.尽管已经描述了本文描述的技术的一个或多个示例,但其各种改变、添加、排列和等价物都包括在本文描述的技术的范围内。
153.在示例的描述中,参考了构成其一部分的附图,这些附图通过图解的方式示出了要求保护的主题的具体示例。应当理解,可以使用其他示例并且可以进行改变或改变,例如结构改变。这样的示例、改变或变更不一定脱离关于预期要求保护的主题的范围。虽然本文中的步骤可以以特定顺序呈现,但在某些情况下,可以改变顺序以便在不同时间或以不同顺序提供某些输入,而不改变所描述的系统和方法的功能。公开的程序也可以以不同的顺序执行。此外,此处描述的各种计算不需要按照所公开的顺序执行,并且可以容易地实现使用计算的替代排序的其他示例。除了重新排序之外,在某些情况下,计算还可以分解为具有相同结果的子计算。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献