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

针对协作车辆引导的遥操作的制作方法

2022-12-07 02:21:07 来源:中国专利 TAG:

针对协作车辆引导的遥操作
1.相关申请的交叉引用
2.本技术要求享有于2020年4月17日提交的标题为“teleoperations for collaborative vehicle guidance”的美国专利申请第16/852,116号以及于2020年4月17日提交的标题为“collaborative vehicle guidance”的美国专利申请第16/852,057号的优先权,这两个美国专利申请全部内容通过引用并入本文。


背景技术:

3.自主和半自主车辆中的规划系统确定车辆在操作环境中采取的动作。可以部分地基于避开环境中存在的对象来确定车辆的动作。例如,可以生成动作以绕过并排停放的车辆、改变车道以避开道路上的另一车辆等。规划系统可以执行任意数量的操作(例如,模拟等)以确定每个检测到的对象对车辆的潜在动作的影响。然而,在某些情况下,车辆可能无法导航经过阻碍车辆前进的环境部分。
附图说明
4.参考附图来描述具体实施方式。在图中,附图标记的最左侧数字标识附图标记首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的组件或特征。
5.图1是用于实现本文描述的车辆引导技术的示例过程的图示流程图。
6.图2示出了用于提供针对穿越示例环境的示例自主车辆的引导的引导组件的示例用户界面。
7.图3示出了用于提供针对穿越示例环境的示例自主车辆的引导的引导组件的另一示例用户界面。
8.图4示出了用于提供针对穿越示例环境的示例自主车辆的引导的引导组件的又一示例用户界面。
9.图5描绘了用于实现本文描述的技术的示例系统的框图。
10.图6是描绘用于向车辆发送参考轨迹以引导车辆的示例过程的流程图。
11.图7是描绘用于基于参考轨迹确定用于车辆的候选轨迹的示例过程的流程图。
具体实施方式
12.车辆可以请求远程实体的帮助以在阻碍车辆前进的环境中导航通过障碍物。远程实体延迟提供车辆帮助可能会导致车辆在提供帮助之前保持在原地,这可能会延迟车辆的前进,减损车辆乘客的体验,并可能潜在地影响乘客的安全。
13.本公开针对用于由远离车辆的计算设备向车辆提供引导的技术。在一些示例中,遥操作(teleoperation)中心的计算设备可以从穿越环境的车辆接收针对帮助的请求,并且确定用于在环境中引导车辆的指令。在各种示例中,计算设备可以将指令的指示发送到车辆。车辆的车辆计算设备可以至少部分地基于从计算设备接收到的指令为车辆规划新的轨迹。使用如本文所述的用于提供引导的技术,车辆可以从车辆可用的计算设备接收引导
指令以快速和/或抢先地避免被卡住,由此改进车辆的安全性。
14.在一些示例中,车辆可以包括具有车辆计算设备的自主或半自主车辆,该车辆计算设备被配置为基于遇到难以导航的场景(例如,其中规划器无法根据一组驾驶政策规划路线,或其他场景)从计算设备请求帮助。通过示例而非限制的方式,自主车辆可能接近阻塞道路中的车道的车辆。在某些情况下,可能无法从环境中明确车辆是故障、并排停车还是让乘客下车。在这种情况下,自主车辆可以请求帮助以移动经过阻挡车辆并且可以基于该请求接收车辆用于在未来时间导航环境(例如,穿越到目的地)的指令的指示(例如,指示速度和方向的参考轨迹)。
15.如上面所指出的,计算设备可以确定在用于环境中引导车辆的指令。在各种示例中,作为非限制性示例,该指令可以表示转向、制动和/或加速度信息,但是也设想了车辆的其他控件(内部和/或外部组件)。在一些示例中,指令可以表示车辆可用于穿越环境的参考轨迹(例如,方向、速度、加速度等)。例如,车辆的规划组件可以至少部分地基于参考轨迹来确定用于导航车辆的轨迹。
16.在一些示例中,计算设备可以至少部分地基于由用户界面接收到的、输出到显示设备上的输入来确定用于引导车辆的指令。例如,计算设备的用户界面可以输出环境中车辆的表示(模型、模拟、估计的状态等)。在一些示例中,针对帮助的请求可以包括从车辆发送的数据(例如,与车辆的传感器相关联的传感器数据和/或由此的衍生物(例如,边界框、分类信息等)、与车辆计算设备相关联的车辆状态数据等)。与针对帮助的请求相关联的数据可以表示环境的特性(例如,建筑物、道路、对象、可驾驶区域、天气条件等)。另外地或可替代地,发送到计算设备的数据可以指示相对于环境的车辆能力(例如,加速度、速度、转向、制动等)。计算设备可以使用该数据来配置用户界面以提供能够基于车辆导航环境的能力来操纵用户界面中的车辆表示的控件。
17.遥操作员(teleoperator)(例如,受过训练以远程引导机器人的战术家或机器学习的计算设备)可以与用户界面的控件交互以生成在用户界面中操纵车辆的表示的输入。在各种示例中,至少部分地基于从车辆接收的数据,控件中的一个或多个(例如,转向控件、制动控件和/或加速度控件)可以与车辆在环境中的转向、制动和/或加速度能力相关联。通过输出与环境中车辆的能力相似地表现的控件,用户界面可以比典型技术更准确地捕获输入(例如,位置、方向和/或加速度的改变),该典型技术利用以在现实世界环境中不可能的方式(因此无助于引导车辆)操纵车辆表示的控件来引导车辆。
18.在一些示例中,在用户界面中导航车辆表示的控件至少部分地基于车辆在环境中导航的能力(例如,转向能力、加速度能力、乘客舒适能力、运动学约束和/或动态约束等)。在一些示例中,计算设备可以至少部分地基于车辆在环境中导航的能力来确定与限制车辆表示的移动相关联的移动阈值。例如,计算设备可以接收指示车辆在环境中的转向速率(steering rate)和/或加速度速率(acceleration rate)的数据(例如,与车辆相关联的传感器数据和/或车辆控制数据),并将这些速率应用于可用于接收输入的一个或多个控件,该输入可用于引导车辆。以这种方式,输入可以被认为与速率控件(例如,具有加速度速率、转向速率、制动速率等的控件)相关联。在一些示例中,计算设备可以向车辆发送至少部分地基于速率控件和/或运动阈值的命令,从而为考虑到车辆相对于环境的实际能力(转向能力、加速度能力、乘客舒适能力等)的车辆提供建议的引导。
19.在一些示例中,计算设备可以接收由车辆的传感器(和/或其表示)捕获的环境的传感器数据,并且至少部分地基于传感器数据来确定以下各项中的至少一个:用于车辆表示在用户界面中导航的加速度阈值、速度阈值、或定时阈值。例如,计算设备可以基于对象、可行驶区域和与从车辆接收到的传感器数据相关联的其他信息来确定车辆的最大和最小加速度、最大和最小速度、和/或最大和最小制动。在一些示例中,定时阈值可以表示接收输入和导致车辆的表示从用户界面中的第一位置到用户界面中的第二位置的视觉改变之间的时间段。通过如本文所述将阈值与车辆的表示进行关联,控件可以比可以简单地提供航路点或其他方向输入的方法更复杂且灵敏地导航车辆表示。在一些示例中,指令可以由计算设备基于一个或多个阈值(例如,运动阈值、加速度阈值、速度阈值、制动阈值、定时阈值等)生成并且传送到车辆的规划组件,从而通过使规划组件能够至少部分地基于一个或多个阈值来确定车辆的轨迹,来改进车辆安全性。
20.在一些示例中,接收确认指令的用户输入可以导致指令的指示(例如,轨迹、转向、制动和/或加速度信息)被发送到车辆,而计算设备的操作员不需要进行任何动作。以这种方式,计算设备可以将指令的指示发送到车辆而无需进一步的用户输入。在各种示例中,接收确认选择指令的用户输入可以使指令的指示被发送到自主车辆的车队中的另一车辆。在一些示例中,该指令可以存储在地图中,该地图可供自动驾驶车辆的车队使用。在这种实例中,车辆的车队中的附加车辆可以利用先前提供的引导,以便在遇到相同(或类似)场景时不必向遥操作员发送请求。
21.在一些示例中,计算设备可以接收来自车辆的针对帮助的请求并且至少部分地基于来自车辆的针对帮助的请求来确定用于引导车辆的指令。然而,在其他示例中,可以独立于接收来自车辆的针对帮助的请求来确定指令。例如,计算设备可以确定指令和/或主动地将指令的指示发送到一个或多个车辆,以改进在与指令相关联的环境的一部分附近操作的一个或多个车辆的安全性。在一些示例中,指令的指示可以由车辆计算设备的规划组件使用以改进车辆如何在环境中导航(避开和/或与对象交互)。在一些示例中,计算设备可以向车辆发送参考轨迹(例如,以及与参考轨迹相关联的相关联的速率控件、阈值等)。在这样的示例中,车辆计算设备可以至少部分地基于参考轨迹来确定用于车辆的候选轨迹。通常,参考轨迹被配置为使车辆计算设备的规划组件确定在环境中导航车辆的轨迹(例如,候选轨迹)。
22.在一些示例中,车辆计算设备可以至少部分地基于与车辆轨迹相关联的成本(例如,速度成本、方向成本等)来确定是否发送针对帮助的请求。例如,车辆计算设备的规划组件可以确定与车辆轨迹相关联的成本,确定该成本满足或超过阈值成本,并至少部分地基于该成本满足或超过阈值成本发送针对引导的请求。在整个本公开中讨论了用于确定和/或发送针对帮助的请求的附加细节。
23.在一些示例中,车辆计算设备可以至少部分地基于与车辆在环境中导航到目的地的能力相关联的置信水平来确定是否发送针对帮助的请求。例如,置信水平可以与车辆避开可能影响车辆操作的检测到的对象的能力相关联。当前车辆轨迹的置信水平的指示可以由车辆发送到计算设备以用于确定引导指令。以这种方式,引导指令至少部分地基于与车辆在环境中导航到目的地的能力相关联的置信水平。在于2017年7月7日提交的题为“interactions between vehicle and teleoperations system”的美国专利申请序列号
15/644,267中描述了在车辆引导中使用置信水平的附加细节,该美国专利申请以其整体通过引用并入本文。
24.在各种示例中,计算设备的用户界面提供控件以在用户界面中显示的模拟环境中操纵车辆的表示。在一些示例中,控件可以包括转向控件、制动控件和/或加速度控件,并且这些控件中的一个或多个可以被配置为响应在车辆的环境中的实时改变。例如,遥操作员可以经由一个或多个控件(例如,转向盘、制动踏板、加速度踏板、手持控制器等)向用户界面提供输入。通过提供更逼真的控件,用户界面可以接收更好地捕获与用户界面交互的人的意图的输入,并在发送到车辆的指令中表示该意图。在一些示例中,车辆的车辆计算设备可以基于使用上述控件捕获的输入来执行规划考虑。
25.在一些示例中,由用户界面提供的控件中的一个或多个控件可以被配置为以车辆能够在环境中进行的转向速率、加速度速率和/或减速速率做出响应。以这种方式,计算设备的用户界面可以被认为是为实时调整以向遥操作员提供逼真的驾驶体验的控件提供速率。通过输出提供模拟实际驾驶条件的控件的用户界面,可以生成比使用现有引导技术可能的更详细的指令,该指令用于引导车辆并且随后与车辆共享。此外,本文所述的技术可以可选地由车辆在车辆规划操作期间使用(例如,以确定用于穿越环境的轨迹)。这通过减少车辆可能等待帮助的时间量(例如,绕过阻塞区域或以其他方式接收对环境的人类解释)来改进车辆安全性。
26.本文讨论的技术可以通过输出一个或多个指令的指示来改进车辆计算设备的功能。在一些示例中,计算设备可以通过在车辆仍在环境中移动时与车辆共享速率控制的建议的轨迹来改进安全性。因此,与车辆相关联的车辆计算设备可以通过利用识别建议的轨迹的规划考虑来控制车辆的操作。为了减轻车辆发送针对帮助的请求与车辆接收和/或执行指令之间的延迟,在一些示例中,这些技术允许车辆在远程计算设备生成引导指令时调整其在环境中的路径。通过实施本文所述的引导技术,车辆可以在比典型方法更短的时间内接收到更复杂的帮助,从而使车辆导航绕过障碍物或阻塞区域。
27.本文描述的技术可以以多种方式实现。下面参考以下附图提供示例实施方式。尽管在自主车辆的上下文中进行了讨论,但本文描述的方法、装置和系统可以应用于各种系统(例如,手动驾驶车辆、传感器系统或机器人平台),并且不限于自主车辆。在另一个示例中,这些技术可以在航空或航海上下文中利用,或在使用机器视觉的任何系统中(例如,在使用图像数据的系统中)利用。在一个示例中,类似的技术可以在驾驶员控制的车辆中利用,其中这种系统可以提供执行各种操纵是否安全的指示。在另一个示例中,这些技术可以在制造装配线上下文中或在航空测量上下文中利用。此外,本文描述的技术可以与真实数据(例如,使用传感器捕获的)、模拟数据(例如,由模拟器生成的)或两者的任何组合一起使用。计算设备可以包括用户界面,一个或多个输入通过该用户界面导致确定引导指令以供车辆在环境中遵循。
28.图1是用于接收来自车辆的针对帮助的请求、确定用于车辆的指令、向车辆发送指令以及基于该指令控制车辆的示例过程100的图示流程图。
29.在操作102处,该过程可以包括确定影响车辆操作的事件。示例104示出了环境中的车辆106、事件108和对象110(例如,另一车辆)。在各种示例中,车辆106的车辆计算设备可以通过捕获环境的传感器数据来检测事件108(例如,潜在的碰撞、障碍物、阻塞区域、道
路封闭、来自交通信号或人类交通协调者的信号等)。在一些示例中,传感器数据可以由车辆(自主车辆或其他车辆)上的一个或多个传感器捕获。例如,传感器数据可以包括由激光雷达传感器、图像传感器、雷达传感器、飞行时间传感器、声纳传感器等捕获的数据。
30.在一些示例中,操作102可以包括确定对象的分类(例如,确定对象是环境中的行人)。操作102可以包括确定对象110的属性以确定对象110的定位、速度、航向等。
31.在操作112处,该过程可以包括向计算设备114发送针对帮助的请求。例如,车辆106可以向计算设备114发送针对帮助的请求以导航经过事件108。计算设备114可以远离车辆106定位,例如,在支持自主车辆的车队的遥操作中心。然而,在一些示例中,车辆106可以执行过程100中讨论的操作。在一些示例中,车辆106可以基于检测到事件108和/或基于对象分类来确定发送针对帮助的请求(例如,以验证分类)。在于2017年7月7日提交的题为“predictive teleoperator situational awareness”的美国专利申请序列号15/644,349中描述了向遥操作员发送针对帮助的请求的附加细节,该美国专利申请通过引用以其整体并入本文。
32.在操作116处,该过程可以包括确定用于车辆106在未来时间遵循的指令。如示例118中所示,车辆表示120可以至少部分地基于接收到针对帮助的请求而在用户界面中被输出,并且可选地被控制以生成指令122。指令122可以代表基于到用户界面的一个或多个输入而生成的轨迹。结合图2-图4以及贯穿本公开内容讨论了确定引导的附加细节。
33.在操作124处,该过程可以包括计算设备114向车辆106发送指令。指令122可以包括加速度数据、速度数据、位置数据等。结合图5以及贯穿本公开内容讨论了经由网络发送通信的附加细节。
34.在操作126处,该过程可以包括至少部分地基于指令来控制车辆。如示例128中所示,操作126可以包括生成用于车辆106遵循的轨迹130(例如,以避免事件108和/或对象110)。在于2019年1月18日提交的题为“vehicle control”的美国专利申请序列号16/251,788中描述了控制车辆的转向、加速度、制动和其他系统的附加细节,该美国专利申请通过引用以其整体并入本文。
35.图2示出了用于提供针对穿越示例环境的示例自主车辆202的引导的引导组件的示例用户界面200。一般而言,用户界面200提供车辆周围环境的概览,其可以由计算设备引导(例如,发送参考轨迹)以在导航环境期间帮助车辆。
36.如图2所描绘的,一个或多个计算设备204包括用户界面206和引导组件208。如图2的示例中所示,用户界面206包括控件210(1)、210(2)、210(3)等(统称为“控件210”),以基于接收到用户输入来调用不同的功能。在一些实例中,自主车辆202可以经由网络212向计算设备204发送针对帮助的请求,并且用户界面200将提供针对帮助的请求的指示(例如,通过改变注释或指示符的外观)。以此方式,在一些示例中,遥操作员可以通过选择控件210中的一个以向车辆提供引导以使计算设备204启动帮助(例如,输出车辆的详细信息、接收来自车辆的传感器数据等)。
37.计算设备204可以被包括在遥操作中心中,该遥操作中心可以向车队中的一个或多个自主车辆提供远程帮助。在一些示例中,遥操作中心可以响应于来自车辆的针对帮助的请求向车辆提供引导。在于2019年6月28日提交的标题为“techniques for contacting a teleoperator”的美国专利申请第16/457,289号中进一步描述了确定何时联系遥操作员
的附加详细信息以及用于使用从遥操作员接收到的指令导航自主车辆的技术,该美国专利申请以其整体通过引用并入本文。在于2019年6月28日提交的题为“techniques for navigating vehicles using teleoperations instructions”的美国专利申请第16/457,341号中进一步描述了使用从遥操作员接收到的指令导航自主车辆的附加细节,该美国专利申请以其整体通过引用并入本文。
38.在各种示例中,引导组件208可以接收与环境中的车辆中的一个或多个车辆相关联的传感器数据和/或车辆状态数据。一般而言,引导组件208可以被配置为通过在用户界面中操纵车辆的表示来确定用于自主车辆202在未来时间遵循的指令(例如,参考轨迹、加速度范围、速度范围、位置范围等)。在一些示例中,用户界面206可以被包括作为引导组件208的一部分以提供关于针对请求的帮助的引导。
39.如上面所指出的,用户界面206可以包括控件210中的一个,以基于用户输入调用不同的功能。在一些示例中,控件210中的一个可以与环境中的自主车辆202的能力相关联(和/或受其限制)。在一些示例中,控件210可以被配置为向用户界面206提供一个或多个速率控制的输入(例如,配置为以车辆能够在环境中进行的转向速率、加速度速率和/或减速速率做出响应的输入)。在一些示例中,速率控制输入可以包括至少部分地基于自主车辆202的运动学约束和/或动态约束来限制由用户界面206接收的输入速率的控件。例如,用户界面206的加速度控件可以基于识别关于自主车辆202的信息和/或关于环境的信息的车辆状态数据而在可用的加速度量方面受限。关于用户界面206的控件210的配置的附加细节在下面包括图3的其他地方讨论。
40.在各种示例中,车辆计算设备214可以被配置为例如经由感知组件220来检测环境中的一个或多个对象216(例如,对象216(1)、216(2)、216(3))和/或事件218。在一些示例中,车辆计算设备214可以基于从一个或多个传感器222接收到的传感器数据来检测一个或多个对象216。在一些示例中,传感器222可以包括安装在自主车辆202上的传感器,并且包括但不限于超声波传感器、雷达传感器、光检测和测距(激光雷达)传感器、相机、麦克风、惯性传感器(例如,惯性测量单元、加速度计、陀螺仪等)、全球定位卫星(gps)传感器等。在一些示例中,传感器222可以包括一个或多个远程传感器,例如,安装在另一自主车辆上的传感器和/或安装在环境中的传感器。
41.在各种示例中,自主车辆202可以被配置为从其他自主车辆和/或传感器222发送和/或接收数据。数据可以包括传感器数据,例如,关于在环境中检测到的一个或多个对象216的数据。在各种示例中,环境可以包括用于交通监控、碰撞避免等的传感器222。在一些示例中,传感器222可以安装在环境中以在可见度降低的区域(例如,在盲或半盲交叉路口中)中提供附加的可见度。
42.在各种示例中,车辆计算设备214可以接收传感器数据并且可以确定对象216的类型(例如,对对象的类型进行分类),例如,对象216是否是车辆(例如,对象216(1)和216(2))、车辆、卡车、摩托车、轻便摩托车、行人(例如,对象216(3))等。
43.在各种示例中,车辆计算设备214可以包括规划组件224。通常,规划组件224可以确定用于自主车辆202遵循以穿越环境的轨迹226。例如,规划组件224可以确定各种路线和轨迹以及各种细节水平。在一些示例中,规划组件224可以确定从第一定位(例如,当前定位)行进到第二定位(例如,目标定位)的路线。规划组件224可以(例如,经由机器学习模型)
确定用于车辆216(1)的轨迹228(1),该轨迹228(1)是车辆216(1)未来可能采取的最可能的轨迹。同样如图2中所示,规划组件224可以确定用于行人216(3)的轨迹228(2)。
44.图2还描绘了与阻塞区域230相关联的车辆216(2)。阻塞区域230可以表示环境中阻塞的车道或自主车辆202和/或另一车辆(例如,车辆(216))无法通过的其他区域。在图2的图示示例中,车辆216(2)没有移动,从而造成了阻塞区域230。在该示例中,另一车辆216(1)与轨迹228(1)相关联,以通过进入由自主车辆202占据的路段232来绕过阻塞区域230。自主车辆202检测到事件218(例如,与车辆216(1)的潜在碰撞),并响应于检测而经由网络212向计算设备204发送针对帮助的请求。
45.在一些示例中,针对帮助的请求可以包括描述自主车辆相对于周围环境的位置、速度、加速度和其他方面的传感器数据和/或车辆状态数据。例如,自主车辆202的车辆状态数据可以指示当前轨迹(例如,轨迹226)、加速度、速度的速率或范围和/或制动能力。在一些示例中,计算设备204接收到针对帮助的请求并使用引导组件208生成引导(例如,用于自主车辆202的指令)。来自遥操作员的指令经由用户界面206被接收并在计算设备204的显示设备上输出。在一些示例中,用户界面206可以被配置为接收来自控件210的输入。在一些不同的示例中,控件210(1)、210(2)和210(3)中的一个或多个(例如,转向控件、制动控件和/或加速度控件)可以至少部分地基于从自主车辆202接收到的车辆状态数据与环境中的车辆的转向、制动和/或加速度能力相关联。
46.在一些示例中,路段232可以与描述路段的属性(例如,起点、终点、道路状况、路段标识、车道号、等等)的地图特征数据相关联。路段232的一些或所有属性可以作为从计算设备204发送到自主车辆202的指令的一部分而被发送到自主车辆202。
47.图3示出了用于提供针对穿越示例环境的示例自主车辆202的引导的引导组件的另一示例用户界面300。一般而言,用户界面300可以响应于接收到输入以经由一个或多个控件来操纵自主车辆而呈现在计算设备204的显示设备上,如关于图2和其他地方所讨论的。
48.如图3所示,用户界面206可以包括示例用户界面300和/或302。在一些示例中,用户界面302可以包括至少部分地基于与自主车辆202的传感器相关联的传感器数据的一个或多个图像或表示。另外地或可替代地,用户界面302可以包括至少部分地基于与自主车辆202的传感器相关联的传感器数据的环境模型。在一些示例中,用户界面302还可以提供关于自主车辆202的信息(例如,速度、行驶方向、转向角、照明、音频等)。用户界面302进一步被图示为包括路段232,路段232表示自主车辆202可以在其中行驶到目的地的环境的一部分。
49.如图3中所描绘的,多个图像可以传达自主车辆202周围的不同场景(前、后、右侧和左侧),包括检测到的对象,例如,车辆、行人、骑行者和建筑物,仅举几例。
50.在一些实例中,与计算设备204相关联的遥操作员(例如,远程人类操作员和/或被训练以远程引导机器人的战术家)可以使用环境的模型中的一个或多个(表示、模拟等)以确定用于自主车辆202的参考轨迹306。通过示例而非限制的方式,遥操作员可以向控件210提供输入以使车辆表示304a和304b(统称为“车辆表示304”)在用户界面300中进行操纵。例如,用户界面300可用于提供路径、路线、轨迹(例如,参考轨迹306)等以引导自主车辆202。在一些示例中,遥操作员可使用控件210以使车辆表示304到达环境的区域,该区域使车辆
216(1)能够绕过阻塞区域230。
51.如上面所指出的,在一些示例中,计算设备204可以接收指示自主车辆202的能力的数据并且配置一个或多个控件(例如,控件210)以导航在用户界面中的车辆的表示。在一些示例中,一个或多个控件可以表示至少部分地基于自主车辆202的运动学约束和/或动态约束来限制与一个或多个控件相关联的输入的速率的速率控件。
52.在一些示例中,运动学约束可以与指示自主车辆202的运动或潜在运动的运动学数据相关联,而与引起运动或潜在运动的因素无关。在一些示例中,运动学数据可以指示自主车辆202的一个或多个运动学约束,例如,电池电量、最大转向角、最大加速度等。通常,运动学约束可以基于指示与自主车辆202相关联的各种系统的状态(例如,水平、能力和/或限制)的车辆状态数据。
53.在一些示例中,动态约束可以与指示自主车辆202的运动或潜在运动的动态数据相关联,其中考虑了引起运动或潜在运动的因素。通常,动态约束可以基于车辆状态数据、传感器数据和/或感知数据,这些数据指示与自主车辆202相关联的各种系统相对于环境的状态(例如,水平、能力和/或限制)。在一些示例中,动态数据可以指示自主车辆202的一个或多个动态约束,例如,可行驶区域、检测到的对象、相对于环境中的力的最大转向角、相对于环境中的力的最大加速度等等。
54.在一些示例中,控件可以被配置为至少部分地基于与自主车辆202相关联的车辆状态数据、运动学数据或动态数据来调整输入的加速度速率、转向速率或制动速率。在各种示例中,计算设备204可以使用与输入相关联的加速度速率或转向速率来确定引导(例如,参考轨迹)和/或作为参考轨迹的一部分被发送到自主车辆202。
55.在各种示例中,响应于接收到输入,可以在显示设备上输出车辆表示304a以反映根据输入的建议的轨迹。在一些示例中,计算设备204可以至少部分地基于建议的轨迹来确定参考轨迹。例如,遥操作员可以提供输入以选择建议的轨迹作为参考轨迹,可以修改建议的轨迹,或者向建议的轨迹添加附加部分。
56.在一些示例中,计算设备204可以接收和/或确定与参考轨迹相关联的速度成本和/或与参考轨迹相关联的方向成本,并与自主车辆202传送相关联的成本的指示,该指示可以在规划操作中使用关联成本(例如,以确定用于车辆的轨迹)。例如,自主车辆202可以确定速度成本是否满足或超过速度阈值成本,确定方向成本是否满足或超过方向阈值成本,并且至少部分地基于速度成本满足或超过速度阈值成本和方向成本满足或超过方向阈值成本来确定轨迹。
57.在一些示例中,计算设备204可以确定参考轨迹306和/或路段232的安全裕度,并将安全裕度作为参考轨迹306的一部分传送给自主车辆202。
58.在一些示例中,用于导航车辆的表示的输入使得在用户界面中对车辆的表示进行模拟,其中该模拟至少部分地基于与穿越环境的车辆相关联的一个或多个移动限制。例如,参考轨迹可以在模拟中实现,根据可能限制车辆在环境中移动的限制来限制车辆表示的移动。
59.在一些示例中,车辆保持完全自主(例如,继续执行规划操作),而引导技术由计算设备204执行。在一些示例中,用户界面300显示自主车辆202在当前时间的位置和/或定向(例如,以黑色示出),而车辆表示304在图3中示出(例如,以灰色示出以区别于车辆的实际
定位)。因此,自主车辆202可以基于使自主车辆202导航环境(包括从第一目的地移动到第二目的地和/或保持静止)的规划操作来改变在用户界面300中的定位。
60.车辆表示304a与当前时间t之后的未来时间(例如,时间t1)相关联,并且车辆表示304b与时间t2相关联。在一些示例中,参考轨迹306指示用于车辆用于在未来时间(例如,时间t1、t2、t3、
……
、tn,其中n可以是等于或大于1的任何整数)导航环境的加速度速率、转向速率、速度和方向中的一项或多项。时间t1、t2、t3、
……
、tn可以表示可变长度的时间段,例如,每毫秒、5毫秒、100毫秒、200毫秒、1秒等。在一些示例中,时间可以是任何规则或不规则的间隔。在一些示例中,车辆表示304a和车辆表示304b可以在图3中被示为单个车辆表示。
61.在一些示例中,由计算设备204生成的参考轨迹306指示用于自主车辆202在未来时间在环境中导航的速度和方向。即,与在传统方法中仅提供行进的一般方向(例如,进入用于车辆遵循的航路点)相反,参考轨迹306还至少部分地基于指示自主车辆202的能力的传感器数据和/或车辆状态数据表示要遵循的速度和方向。在各种示例中,计算设备204可以至少部分地基于车辆在环境中移动的能力来确定与限制车辆的表示(例如,车辆表示304)的移动相关联的移动阈值。例如,用于导航车辆表示304的输入可以至少部分地基于用于在环境中导航的自主车辆202的转向能力、速度能力、制动能力、定时能力或加速度能力中的至少一个。以这种方式,车辆表示304可以以自主车辆202的转向、速度、制动、定时和/或加速度能力来响应遥操作员的输入,如根据自主车辆202的传感器数据和/或车辆状态数据所确定的。
62.在一些示例中,计算设备204可以接收车辆状态数据并且至少部分地基于车辆状态数据来更新用户界面中车辆的表示的定位。例如,用户界面206可以呈现和更新两个或更多个车辆表示,车辆表示中的至少一个与车辆在环境中的方向或位置的改变相关联地更新。在一些示例中,用户界面可以呈现可由与用户界面相关联的输入控制的车辆的第一表示,以及指示动作(例如,车辆在环境中的移动或方向)的车辆的第二表示。
63.图4示出了用于提供针对穿越示例环境的示例自主车辆202的引导的引导组件的又一示例用户界面400。一般而言,用户界面400可以响应于接收到输入以经由一个或多个控件来操纵自主车辆而呈现在计算设备204的显示设备上,如关于图2和图3和其他地方所讨论的。
64.如图4所示,自主车辆202当前位于路段402中。继续来自图3的示例,自主车辆202可以至少部分地基于接收到参考轨迹306而到达当前位置。即,自主车辆202的规划组件可以使用由计算设备204确定的参考轨迹来确定用于自主车辆202的轨迹。
65.在一些示例中,遥操作员可以向控件210提供输入以使计算设备204生成参考轨迹406。如图4所示,参考轨迹406可以将自主车辆202引导到路段232以继续行驶到目的地。例如,车辆表示404a与当前时间t之后的未来时间(例如,时间t1)相关联,并且车辆表示404b与时间t2相关联。在一些示例中,参考轨迹406指示用于车辆用于在未来时间(例如,时间t1、t2、t3、
……
、tn,其中n可以是等于或大于1的任何整数)导航环境的速度和方向。在一些示例中,车辆表示404a和车辆表示404b可以在图4中被示为单个车辆表示。
66.图5描绘了用于实现本文描述的技术的示例系统500的框图。在至少一个示例中,系统500可以包括车辆502,其可以对应于图2的自主车辆202。
67.示例车辆502可以是无人驾驶车辆,例如被配置为根据美国国家公路交通安全管
理局发布的5级分类操作的自主车辆,该5级分类描述了能够在整个行程中执行所有安全关键功能的车辆,其中不期望驾驶员(或乘员)在任何时候控制车辆。在这样的示例中,因为车辆502可以被配置为控制从行程的开始到停止的所有功能(包括所有停车功能),所以它可以不包括驾驶员和/或用于驱动车辆502的控件,例如,转向盘、加速度踏板和/或制动踏板。这仅是示例,并且本文所描述的系统和方法可以并入任何地面、空中或水上交通工具中,包括从需要一直由驾驶员手动控制的交通工具到部分或完全自主控制的交通工具。
68.车辆502可以包括车辆计算设备504、一个或多个传感器系统506、一个或多个发射机508、一个或多个通信连接510、至少一个直接连接512和一个或多个驱动系统514。
69.车辆计算设备504可以包括一个或多个处理器516和与一个或多个处理器516通信耦合的存储器518。在所示示例中,车辆502是自主车辆;然而,车辆502可以是任何其他类型的车辆或机器人平台。在所示示例中,车辆计算设备504的存储器518存储定位组件520、感知组件522、一个或多个地图524、一个或多个系统控制器526、预测组件528、数据处理组件530、以及规划组件532。虽然出于说明的目的,定位组件520、感知组件522、一个或多个地图524、一个或多个系统控制器526、预测组件528、数据处理组件530、规划组件532在图5中被描绘为驻留在存储器518中,但是可以设想这些组件可以另外地或可替代地可由车辆502访问(例如,存储在远离车辆502的存储器上,或以其他方式可由其访问)。
70.在至少一个示例中,定位组件520可以包括以下功能:从传感器系统506接收数据以确定车辆502的位置和/或定向(例如,x位置、y位置、z位置、侧倾、俯仰或偏摆中的一个或多个)。例如,定位组件520可以包括和/或请求/接收环境的地图,并且可以连续地确定自主车辆在地图内的定位和/或定向。在一些实例中,定位组件520可以利用slam(同时定位和映射)、clams(同时校准、定位和映射)、相对slam、束调整、非线性最小二乘优化等以接收图像数据、激光雷达数据、雷达数据、飞行时间数据、imu数据、gps数据、车轮编码器数据等,以准确地确定自主车辆的定位。在一些实例中,定位组件520可以向车辆502的各种组件提供数据,以确定自主车辆的初始位置,以用于生成轨迹和/或用于确定对象靠近一个或多个人行横道区域和/或用于识别候选参考线,如本文所讨论的。
71.通常,在一些实例中,感知组件522可以包括用于执行对象检测、分割和/或分类的功能。在一些示例中,感知组件522可以提供处理后的传感器数据,该数据指示接近车辆502的实体的存在和/或将该实体分类为实体类型(例如,汽车、行人、骑行者、动物、建筑物、树木、路面、路缘、人行道、停止灯、停止标志、未知物等)。在附加和/或替代性示例中,感知组件522可以提供处理后的传感器数据,该数据指示与检测到的实体(例如,被跟踪的对象)和/或该实体所位于的环境相关联的一个或多个特性。在一些示例中,与实体相关联的特性可以包括但不限于x位置(全局和/或局部位置)、y位置(全局和/或局部位置)、z位置(全局和/或局部位置)、定向(例如,侧倾、俯仰、偏摆)、实体类型(例如,分类)、实体的速度、实体的加速度、实体的范围(大小)等。与环境相关联的特性可以包括但不限于环境中另一实体的存在、环境中另一实体的状态、一天中的时间、一周中的一天、季节、天气条件、黑暗/光的指示等。
72.存储器218还可以包括一个或多个地图524,其可以由车辆502使用以在环境内导航。出于本讨论的目的,地图可以是以二维、三维或n维建模的任何数量的数据结构,这些数据结构能够提供关于环境的信息,例如但不限于拓扑(例如,十字路口)、街道、山脉、道路、
地形和一般环境。在一些实例中,地图可以包括但不限于纹理信息(例如,颜色信息(例如,rgb颜色信息、lab颜色信息、hsv/hsl颜色信息)等)、强度信息(例如,激光雷达信息、雷达信息等);空间信息(例如,投射到网格上的图像数据、独立的“面元(surfel)”(例如,与单个颜色和/或强度相关联的多边形))、反射率信息(例如,镜面反射率信息、回射率信息、brdf信息、bssrdf信息等)。在一个示例中,地图可以包括环境的三维网格。在一些实例中,可以以图块格式存储地图,使得地图的单个图块表示环境的离散部分,并可以根据需要加载到工作存储器中。在至少一个示例中,一个或多个地图524可以包括至少一个地图(例如,图像和/或网格)。
73.在一些示例中,可以至少部分地基于地图524来控制车辆502。即,地图524可以与定位组件520、感知组件522、预测组件528和/或规划组件532结合使用以确定车辆502的定位、标识环境中的对象和/或生成路线和/或轨迹以在环境内导航。
74.在一些示例中,一个或多个地图524可以被存储在经由网络534可访问的远程计算设备(例如,计算设备536)上。在一些示例中,多个地图524可以基于例如特性(例如,实体的类型、一天中的时间、一周中的一天、一年中的季节等)被存储。存储多个地图524可以具有类似的存储器要求,但是可以增加可以访问地图中的数据的速度。
75.在至少一个示例中,车辆计算设备504可以包括一个或多个系统控制器526,其可以被配置为控制车辆502的转向、推进、制动、安全、发射机、通信和其他系统。这些系统控制器526可以与驱动系统514和/或车辆502的其他组件的对应系统通信和/或控制这些系统。
76.通常,预测组件528可以包括用于生成与环境中的对象相关联的预测信息的功能。在一些示例中,预测组件528可以被实现为在行人穿过或准备穿过人行横道区域时预测环境中接近人行横道区域的行人的定位(或与横穿马路的行人相关联的区域或定位)。在一些示例中,本文讨论的技术可以被实施以在车辆穿过环境时预测对象(例如,车辆、行人等)的定位。在一些示例中,预测组件528可以基于目标对象和/或接近该目标对象的其他对象的属性,为这种目标对象生成一个或多个预测轨迹。
77.数据处理组件530可以包括用于确定与来自规划组件532的轨迹相关联的成本、确定成本是否满足或超过阈值成本以及至少部分地基于成本满足或超过与环境中的对象相关联的阈值成本来确定是否发送针对帮助的请求的功能。在一些示例中,数据处理组件530可以从定位组件520、感知组件522和/或规划组件532接收数据以确定阈值(例如,加速度阈值、速度阈值和/或定时阈值)和/或与车辆502相关联的能力。数据处理组件530可以包括用于从计算设备536接收指示成本、阈值或其他数据的信息并在规划操作期间使用该信息的功能。
78.通常,规划组件532可以确定车辆502要遵循以穿越环境的路径。例如,规划组件532可以确定各种路线和轨迹以及各种细节水平。例如,规划组件532可以确定从第一定位(例如,当前定位)到第二定位(例如,目标定位)行进的路线。出于本讨论的目的,路线可以是用于在两个定位之间行进的航路点序列。作为非限制性示例,航路点包括街道、十字路口、全球定位系统(gps)坐标等。此外,规划组件532可以生成用于沿着从第一定位到第二定位的路线的至少一部分引导自主车辆的指令。在至少一个示例中,规划组件532可以确定如何将自主车辆从航路点序列中的第一航路点引导到航路点序列中的第二航路点。在一些示例中,指令可以是轨迹或轨迹的一部分。在一些示例中,可以根据滚动时域技术实质上同时
(例如,在技术公差内)生成多个轨迹,其中针对车辆502选择多个轨迹中的一个以进行导航。
79.在一些情况下,规划组件532可以至少部分地基于与环境中的对象相关联的预测位置来生成用于车辆502的一个或多个轨迹。在一些示例中,规划组件532可以使用诸如线性时间逻辑和/或信号时间逻辑之类的时间逻辑来评估车辆502的一个或多个轨迹。
80.如可以理解的,出于说明性目的,本文讨论的组件(例如、定位组件520、感知组件522、一个或多个地图524、一个或多个系统控制器526、预测组件528、数据处理组件530和规划组件532)被描述为分开的。然而,由各种组件执行的操作可以在任何其他组件中组合或执行。此外,所讨论的以软件实现的组件中的任何组件都可以以硬件实现,反之亦然。此外,在车辆502中实现的任何功能可以在计算设备536或另一个组件中实现(反之亦然)。
81.在至少一个示例中,传感器系统506可以包括飞行时间传感器、激光雷达传感器、雷达传感器、超声换能器、声呐传感器、定位传感器(例如,gps、罗盘等)、惯性传感器(例如,惯性测量单元(imu)、加速度计、磁力计、陀螺仪等)、相机(例如,rgb、ir、强度、深度等)、麦克风、车轮编码器、环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等)等。传感器系统506可以包括这些或其他类型的传感器中的每一个的多个实例。例如,飞行时间传感器可以包括位于车辆502的拐角、前面、后面、侧面和/或顶部的单独的飞行时间传感器。作为另一示例,相机传感器可以包括设置在车辆502外部和/或内部周围的各种位置处的多个相机。传感器系统506可以向车辆计算设备504提供输入。另外地或可替代地,传感器系统506可以以特定频率、在经过预定时间段之后、接近实时等经由一个或多个网络534将传感器数据发送到一个或多个计算设备536。
82.如上面所描述的,车辆502还可以包括用于发射光和/或声音的一个或多个发射机508。在该示例中,发射机508包括内部音频和视觉发射机以与车辆502的乘客进行通信。通过示例而非限制的方式,内部发射机可以包括:扬声器、灯、标志、显示屏、触摸屏、触觉发射机(例如,振动和/或力反馈)、机械致动器(例如,安全带拉紧器、座椅定位器、头枕定位器等)等。在该示例中,发射机508还包括外部发射机。通过示例而非限制的方式,该示例中的外部发射机包括用于以信号通知行驶方向的灯或车辆动作的其他指示器(例如,指示灯、标志、灯阵列等),以及用于与行人或其他附近的车辆可听地通信的一个或多个音频发射机(例如,扬声器、扬声器阵列、喇叭等),这些发射机中的一个或多个包括声束转向技术。
83.车辆502还可以包括一个或多个通信连接510,该通信连接510实现在车辆502与一个或多个其他本地或远程计算设备之间的通信。例如,通信连接510可以促进与车辆502上的其他本地计算设备和/或驱动系统514的通信。而且,通信连接510可以允许车辆与其他附近的计算设备(例如,其他附近的车辆、交通信号等)进行通信。通信连接510还使车辆502能够与远程遥操作计算设备或其他远程服务通信。
84.通信连接510可以包括用于将车辆计算设备504连接到另一计算设备或网络(例如,网络534)的物理和/或逻辑接口。例如,通信连接510可以实现基于wi-fi的通信,例如,经由ieee 802.11标准定义的频率、短距离无线频率(例如,)、蜂窝通信(例如,2g、3g、4g、4g lte、5g等)或者使相应的计算设备能够与其他计算设备接合的任何合适的有线或无线通信协议。
85.在至少一个示例中,车辆502可以包括一个或多个驱动系统514。在一些示例中,车
辆502可以具有单个驱动系统514。在至少一个示例中,如果车辆502具有多个驱动系统514,则单个驱动系统514可以定位在车辆502的相对两端(例如,前方和后方等)。在至少一个示例中,驱动系统514可以包括一个或多个传感器系统,以检测驱动系统514和/或车辆502的周围环境的状况。通过示例而非限制的方式,传感器系统可以包括:一个或多个车轮编码器(例如,旋转编码器)以感测驱动模块的车轮的旋转;惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)以测量驱动模块的定向以及加速度;相机或其他图像传感器、超声波传感器以声学地检测驱动系统周围环境中的对象;激光雷达传感器;雷达传感器等。对于驱动系统514而言,诸如车轮编码器之类的一些传感器可以是唯一的。在某些情况下,驱动系统514上的传感器系统可以重叠或补充车辆502的对应系统(例如,传感器系统506)。
86.驱动系统514可以包括车辆系统中的许多车辆系统,包括:高压电池、推进车辆的电动机、将来自电池的直流电转换成交流电以供其他车辆系统使用的逆变器、包括转向电动机和转向机架(其可以是电动的)的转向系统、包括液压或电动致动器的制动系统、包括液压和/或气动组件的悬架系统、用于分配制动力以减轻牵引力损失并维持控制的稳定性控制系统、hvac系统、照明(例如,诸如用于照亮车辆的外部环境的前灯/尾灯之类的照明)以及一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、诸如dc/dc转换器、高压结、高压电缆、充电系统、充电端口等之类的其他电气组件)。另外地,驱动系统514可以包括驱动系统控制器,该驱动系统控制器可以接收和预处理来自传感器系统的数据并控制各种车辆系统的操作。在一些示例中,驱动系统控制器可以包括一个或多个处理器以及与该一个或多个处理器通信地耦合的存储器。存储器可以存储一个或多个组件以执行驱动系统514的各种功能。此外,驱动系统514还包括一个或多个通信连接,该通信连接使得相应的驱动系统能够与一个或多个其他本地或远程计算设备进行通信。
87.在至少一个示例中,直接连接512可以提供物理接口以将一个或多个驱动系统514与车辆502的主体耦合。例如,直接连接512可以允许能量、流体、空气、数据等在驱动系统514与车辆之间进行传送。在一些实例中,直接连接512可以进一步将驱动系统514可释放地固定到车辆502的主体。
88.在至少一个示例中,定位组件520、感知组件522、一个或多个地图524、一个或多个系统控制器526、预测组件528、数据处理组件530和规划组件532可以处理传感器数据,如上所述,并且可以通过一个或多个网络534将它们相应的输出发送到一个或多个计算设备536。在至少一个示例中,定位组件520,一个或多个地图524、一个或多个系统控制器526、预测组件528、数据处理组件530和规划组件532可以以特定频率、在经过预定时间段之后、接近实时等将它们相应的输出发送到一个或多个计算设备536。
89.在一些示例中,车辆502可以经由网络534将传感器数据发送到一个或多个计算设备536。在一些示例中,车辆502可以将原始传感器数据发送到计算设备536。在其他示例中,车辆502可以将处理后的传感器数据和/或传感器数据的表示发送到计算设备536。在一些示例中,车辆502可以以特定频率、在经过预定时间段之后、接近实时等将传感器数据发送到计算设备536。在某些情况下,车辆502可以将传感器数据(原始的或处理后的)发送到计算设备536作为一个或多个日志文件。
90.计算设备536可以包括处理器538、用户界面540和存储引导组件544和通信连接510的存储器542。在一些示例中,用户界面540可以包括用于生成各种分辨率的地图和/或
输出在环境中导航的车辆的表示的功能。用户界面540可以进一步包括用于提供一个或多个控件的功能,该控件接收输入以引导车辆502(例如,通过确定参考轨迹的方式)。在一些示例中,对用户界面540的输入可以指示用于车辆502在未来时间遵循的速度和方向。
91.在一些示例中,对用户界面540的输入可以经由与用户界面540通信的转向控制器或加速度控制器来接收。例如,转向控制器可以包括转向盘或被配置为控制转向作为输入的一部分的其他接口。在一些示例中,加速度控制器可以包括加速度踏板、制动踏板或被配置为控制加速度作为输入的一部分的其他接口。在一些示例中,单个控制器可以向用户界面提供转向、加速度和制动控制输入。
92.引导组件544可以包括用于确定指令并经由网络534将指令发送到车辆502的功能。例如,引导组件544可以被配置为至少部分地基于从用户界面540接收到的一个或多个输入生成和/或确定用于车辆502的潜在轨迹(例如,图3中的参考轨迹306)。在各种示例中,指令可以包括速度和方向的指示,该速度和方向可由规划组件532使用以生成用于车辆502的一个或多个预测轨迹(例如,行进的方向、速度等)。在一些示例中,引导组件544可以被配置为确定用于车辆502遵循的一个或多个可用轨迹,以避免可能阻止自主车辆202导航到环境中的目的地的事件。另外地或可替代地,引导组件544可以被配置为将一个或多个可用轨迹发送到车辆502以供车辆在规划考虑中考虑。在一些示例中,引导组件544可以被配置为例如基于车辆特性、环境特性、天气特性等来确定适用于环境的轨迹。
93.引导组件544还可以包括用于至少部分地基于车辆502在环境中移动的能力来确定与在用户界面540中限制车辆的表示的移动相关联的移动阈值的功能。例如,如本文所讨论的,用于导航车辆的表示(例如,图3的车辆表示304a)的输入可以至少部分地基于车辆在环境中导航的速率控制、转向能力或加速度能力中的至少一个。
94.在一些示例中,引导组件544可以包括用于从感知组件522接收传感器数据,并且至少部分地基于传感器数据,确定加速度阈值、速度阈值或定时阈值中的至少一个,以用于车辆的表示在显示设备上的用户界面中导航。在这样的示例中,由引导组件544确定的一个或多个参考轨迹可以至少部分地基于加速度阈值、速度阈值或定时阈值。
95.在一些实例中,本文讨论的组件中的一些或所有组件的方面可以包括任何模型、技术和/或机器学习技术。例如,在一些实例中,存储器518(和存储器542)中的组件可以被实现为神经网络。
96.如本文所描述的,示例性神经网络是生物学启发算法,其使输入数据通过连接层的序列以产生输出。神经网络中的每一层还可以包括另一神经网络,或者可以包括任何数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指代基于学习得出的参数来生成输出的一大类这种算法。
97.尽管在神经网络的上下文中进行了讨论,但是可以与本公开一致地使用任何类型的机器学习。例如,机器学习算法可以包括但不限于回归算法(例如,普通最小二乘回归(olsr)、线性回归、逻辑回归、逐步回归、多元自适应回归样条(mars)、本地估计散点平滑(loess))、基于实例的算法(例如,岭回归、最小绝对收缩和选择算子(lasso)、弹性网、最小角度回归(lars))、决策树算法(例如,分类和回归树(cart)、迭代二分法器3(id3)、卡方自动交互检测(chaid)、决策树桩、条件决策树)、贝叶斯算法(例如,朴素贝叶斯、高斯朴素贝叶斯、多项式朴素贝叶斯、平均一依赖估计器(aode)、贝叶斯信念网络(bnn)、贝叶斯网络)、
聚类算法(例如,k均值、k中位数、期望最大化(em)、分层聚类)、关联规则学习算法(例如,感知机、反向传播、hopfield网络、径向基函数网络(rbfn))、深度学习算法(例如,深玻尔兹曼机(dbm)、深度信念网络(dbn)、卷积神经网络(cnn)、堆叠式自动编码器)、降维算法(例如,主成分分析(pca)、主成分回归(pcr)、偏最小二乘回归(plsr)、sammon映射、多维标度(mds)、投影寻踪、线性判别分析(lda)、混合物判别分析(mda)、二次判别分析(qda)、灵活判别分析(fda))、集成算法(例如,提升、自举聚合(袋装)、adaboost、堆叠泛化(混合)、梯度提升机(gbm)、梯度提升回归树(gbrt)、随机森林)、svm(支持向量机)、有监督学习、无监督学习、半监督学习等。
98.架构的附加示例包括神经网络,例如,resnet50、resnet101、vgg、densenet、pointnet等。
99.车辆502的处理器516和计算设备536的处理器538可以是能够执行指令以处理数据并执行如本文所描述的操作的任何合适的处理器。通过示例而非限制的方式,处理器516和538可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)或处理电子数据以将该电子数据转换为可以存储在寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,只要将集成电路(例如,asic等)、门阵列(例如,fpga等)和其他硬件设备配置为实现编码指令,就可以将它们视为处理器。
100.存储器518和存储器542是非暂时性计算机可读介质的示例。存储器518和存储器542可以存储操作系统和一个或多个软件应用、指令、程序和/或数据,以实现本文所描述的方法以及从属于各种系统的功能。在各种实现方式中,可以使用任何合适的存储器技术(例如,静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存类型的存储器或能够存储信息的任何其他类型的存储器)来实现该存储器。本文描述的架构、系统和各个元件可以包括许多其他逻辑组件、程序化组件和物理组件,其中附图中示出的那些仅仅是与本文的讨论相关的示例。
101.应当注意,虽然图5被示为分布式系统,但在替代示例中,车辆502的组件可以与计算设备536相关联和/或计算设备536的组件可以与车辆502相关联。即,车辆502可以执行与计算设备536相关联的一个或多个功能,反之亦然。此外,可以在本文讨论的设备中的任一设备上执行预测组件528(和子组件)的方面。
102.图6是描绘用于向车辆发送参考轨迹以引导车辆的示例过程600的流程图。如本文所述,过程600的一些或全部可以由图5中的一个或多个组件执行。例如,过程600的一些或全部可以由计算设备536执行。此外,示例过程600中描述的任何操作可以与过程600中描绘的操作并行执行、以不同的次序执行、省略所描绘的过程600的操作中的任何操作和/或与本文讨论的操作中的任何操作组合。
103.在操作602处,该过程可以包括从环境中的车辆接收针对帮助的请求。在一些示例中,操作602可以包括接收诸如车辆状态数据和/或传感器数据(例如,环境的飞行时间数据、激光雷达数据、图像数据、雷达数据等)之类的数据。在一些示例中,操作602可以由车辆(例如,自主车辆)在车辆穿越环境时执行。
104.在操作604处,该过程可以包括至少部分地基于针对帮助的请求来接收用于车辆在环境中遵循的参考轨迹。例如,操作604可以包括在显示设备上的用户界面中呈现车辆在环境中导航的表示(操作606),以及经由用户界面接收指示速率控制的输入以导航车辆的
表示(操作608)。在一些示例中,与输入相关联的速率控制对与加速度控件相关联的加速度的速率和与转向控件相关联的转向的速率进行控制。在这样的示例中,加速度控件和/或转向控件可以表示被配置为通过遥操作员向用户界面提供加速度和/或转向输入的控件。在一些示例中,用于导航车辆的表示的输入可以至少部分地基于在环境中导航的车辆的转向能力或加速度能力中的至少一个。
105.如果接收到附加输入(例如,操作610中的“是”),则过程可以返回到操作608。然而,在一些示例中,过程可以继续到操作612,其中可以至少部分地基于到用户界面的一个或多个输入来确定参考轨迹。
106.如果没有接收到附加输入(例如,操作610中的“否”),则过程继续到操作612。在操作612处,可以基于包括导航车辆的表示的速率控制的输入来生成参考轨迹。在一些示例中,参考轨迹可以指示位置、方向、加速度、速度和/或制动信息。在一些示例中,由参考轨迹指示信息。在各种示例中,参考轨迹可以基于车辆在环境中的移动和/或能力。在一些示例中,操作612可以包括确定与参考轨迹相关联的参考成本、转向成本、加速度成本和/或障碍物成本(例如,与对象碰撞的可能性)。
107.在操作614处,该过程可以包括将参考轨迹发送到车辆。在各种示例中,操作614可以包括发送与参考轨迹相关联的参考成本、转向成本、加速度成本或障碍物成本。在各种示例中,与速率控制相关联的信息(例如,用于生成参考轨迹的加速度速率、转向速率、制动速率)可以被包括作为要发送到车辆的参考轨迹的一部分。在一些示例中,可以将参考轨迹发送到附加车辆,例如,自主车辆车队中的不同自主车辆。在一些示例中,参考轨迹可以被存储和/或与车辆和/或附加车辆可访问的数据存储相关联。在这样的示例中,数据存储可以包括可访问和可更新以识别影响一个或多个车辆的事件的地图。在各种示例中,计算设备(例如,计算设备204)可以至少部分地基于附加车辆相对于地图的位置来将参考轨迹发送到附加车辆。
108.在操作616处,该过程可以包括至少部分地基于参考轨迹来使车辆的规划组件确定用于在环境中导航车辆的轨迹。例如,车辆的规划组件可以至少部分地基于与参考轨迹相关联的参考成本、转向成本、加速度成本或障碍物成本来确定候选轨迹。在一些示例中,候选轨迹可以由规划组件在考虑用于确定参考轨迹的速率控制的情况下确定。在各种示例中,规划组件可以至少部分地基于加速度信息和/或转向信息(例如,加速度速率、加速度控件、转向速率、转向控件等)来确定候选轨迹。
109.在操作618处,该过程可以包括至少部分地基于轨迹来控制车辆穿越环境。在一些示例中,轨迹可以在提供附加输入以生成第二参考轨迹的同时引导车辆。在这样的示例中,第二参考轨迹可以被发送到车辆,并且可由车辆使用以生成基于第一参考轨迹和第二参考轨迹两者的附加轨迹。在一些示例中,第一参考轨迹和第二参考轨迹可以与环境中的相同事件相关联,而在其他示例中,第一参考轨迹和第二参考轨迹可以与环境中的不同事件相关联。在一些示例中,第一事件可以与第一车辆相关联,而第二事件可以与第一车辆和/或不同于第一车辆的第二车辆相关联。该连续操作由从操作618继续到操作604的操作来说明。
110.图7是描绘用于向车辆发送参考轨迹以引导车辆的示例过程700的流程图。如本文所述,过程700的一些或全部可以由图5中的一个或多个组件执行。例如,过程700的一些或
全部可以由车辆计算设备504执行。此外,示例过程700中描述的任何操作可以与过程700中描绘的操作并行执行、以不同的次序执行、省略所描绘的过程700的操作中的任何操作和/或与本文讨论的操作中的任何操作组合。
111.在操作702处,该过程可以包括确定与在环境中导航的车辆相关联的事件。在一些示例中,操作702可以包括通过自主车辆的规划组件和/或感知组件来确定事件(例如,阻塞区域等)将在导航期间影响车辆的操作。
112.在操作704处,该过程可以包括确定是否发送针对帮助的请求。在一些示例中,操作704可以包括由自主车辆的规划组件确定用于车辆遵循的参考轨迹。这里,由车辆确定的参考轨迹表示由车辆自主确定的引导。在一些示例中,操作704可以包括确定与参考轨迹相关联的成本并且确定该成本满足或超过阈值成本。在一些示例中,操作704可以由车辆(例如,自主车辆)在车辆根据由车辆的规划组件确定的参考轨迹穿越环境时执行。
113.在一些示例中,操作704可以包括检测环境中的对象并确定该对象影响车辆导航到目的地的能力。该操作还可以或替代地包括确定与车辆导航到目的地的能力相关联的置信水平。例如,车辆可以检测事件(障碍物、指挥交通的人等)并确定与参考轨迹鉴于该事件来导航车辆相关联的置信水平。在一些示例中,置信水平可用于确定是否发送针对帮助的请求。
114.在操作706处,该过程可以包括至少部分地基于该确定来发送针对引导的请求。例如,操作706可以包括将与车辆相关联的数据、阈值、能力和/或置信水平发送到远程计算设备。
115.在操作708处,该过程可以包括至少部分地基于请求来接收参考轨迹。例如,远程计算设备可以确定参考轨迹并将其发送到车辆。在一些示例中,至少部分地基于从车辆发送的数据、阈值、能力和/或置信水平来确定参考轨迹。在各种示例中,参考轨迹可以至少部分地基于速率控制的加速度输入或速率控制的转向输入中的至少一个。注意,由远程计算设备确定的参考轨迹(操作708)不同于由车辆当前用于在环境中导航的车辆计算设备确定的参考轨迹(操作704)。
116.在操作710处,该过程可以包括至少部分地基于由远程计算设备确定的参考轨迹来确定候选轨迹。例如,车辆计算设备可以鉴于事件来确定用于车辆导航的候选轨迹。例如,车辆的规划组件可以至少部分地基于与参考轨迹相关联的一个或多个成本来确定候选轨迹。在一些示例中,候选轨迹可以由规划组件在考虑用于确定参考轨迹的速率控制的情况下确定。在各种示例中,规划组件可以至少部分地基于与参考轨迹相关联的加速度信息和/或转向信息来确定候选轨迹。
117.在操作712处,该过程可以包括至少部分地基于候选轨迹来控制自主车辆。例如,车辆计算设备可以实施候选轨迹来代替当前参考轨迹以导航车辆经过事件。该连续操作由从操作712继续到操作708的操作来说明。
118.示例条款
119.a:一种系统,包括:一个或多个处理器;以及一种或多种非暂时性计算机可读介质,其存储可由一个或多个处理器执行的指令,其中,指令当被执行时,使系统执行包括以下各项的操作:从在环境中导航的自主车辆接收针对帮助的请求,针对帮助的请求包括与自主车辆相关联的车辆状态数据和与自主车辆相关联的传感器数据;接收指示速率控制的
输入;至少部分地基于速率控制来确定用于自主车辆在环境中遵循的参考轨迹,其中,参考轨迹指示用于自主车辆在未来时间在环境中导航的速度和方向;以及将参考轨迹发送到自主车辆,其中,参考轨迹被配置为使自主车辆的规划组件确定用于在环境中导航自主车辆的轨迹。
120.b:段落a所述的系统,该操作还包括:经由显示设备上的用户界面呈现在环境中导航的自主车辆的表示;经由用户界面接收包括速率控制的输入以导航自主车辆的表示;以及至少部分地基于输入来确定参考轨迹。
121.c:段落a或b所述的系统,其中,用于导航自主车辆的表示的输入至少部分地基于自主车辆的运动学约束或动态约束中的至少一个。
122.d:段落a至c中任一项所述的系统,其中,速率控制被配置为至少部分地基于车辆状态数据来调整输入的加速度速率或转向速率,并且操作还包括:至少部分地基于车辆状态数据来使显示器在用户界面中在第一位置处呈现自主车辆的表示,第一位置与自主车辆在环境中的当前位置相关联,当前位置与第一时间相关联;至少部分地基于接收到输入来确定参考轨迹,以根据加速度速率或转向速率控制自主车辆的表示,输入指示用于自主车辆在第一时间之后的第二时间在环境中导航的速度和方向;以及向自主车辆发送与参考轨迹相关联的加速度速率或转向速率的指示。
123.e:段落a至d中任一项所述的系统,操作还包括:至少部分地基于传感器数据,确定在环境中在自主车辆附近的对象或事件中的一个或多个;以及至少部分地基于对象或事件,确定加速度阈值、速度阈值或定时阈值中的至少一个,以用于自主车辆的表示在显示设备上的用户界面中导航;其中,参考轨迹至少部分地基于加速度阈值、速度阈值或定时阈值中的至少一个。
124.f:一种方法,包括:从在环境中的车辆接收针对帮助的请求;接收指示速率控制的输入;至少部分地基于速率控制来确定用于车辆在环境中遵循的参考轨迹,其中,参考轨迹指示用于车辆在未来时间在环境中导航的车辆的速度和方向;以及将参考轨迹发送到车辆;其中,参考轨迹被配置为使车辆的规划组件确定用于在环境中导航车辆的轨迹。
125.g:段落f所述的方法,还包括:经由显示设备上的用户界面呈现在环境中导航的车辆的表示;经由用户界面接收输入以导航车辆的表示;以及至少部分地基于输入来确定参考轨迹。
126.h:段落f或g所述的方法,其中,用于导航车辆的表示的输入至少部分地基于车辆在环境中导航的能力。
127.i:段落f至h中任一项所述的方法,其中,用于导航车辆的表示的输入使得在用户界面中对车辆的表示进行模拟,其中,模拟至少部分地基于与穿越环境的车辆相关联的一个或多个移动限制。
128.j:段落f至i中任一项所述的方法,还包括:使显示设备在用户界面中呈现车辆的当前位置和车辆的表示;接收表示用于车辆表示的建议的轨迹的第一输入;以及使显示设备在用户界面中相对于车辆的当前位置呈现车辆的建议的轨迹;其中,还至少部分地基于建议的轨迹来确定参考轨迹或车辆。
129.k:段落f至j中任一项所述的方法,还包括:至少部分地基于从车辆接收到的传感器数据,确定在环境中在车辆附近的对象或事件中的一个或多个;以及至少部分地基于对
象或事件,确定加速度阈值、速度阈值或定时阈值中的至少一个,以用于车辆的表示在用户界面中导航;其中,参考轨迹至少部分地基于加速度阈值、速度阈值或定时阈值中的至少一个。
130.l:段落f至k中任一项所述的方法,还包括:将参考轨迹与可由附加车辆访问的数据存储进行关联。
131.m:段落f至l中任一项所述的方法,其中,数据存储包括地图,该方法还包括至少部分地基于附加车辆相对于地图的位置将参考轨迹发送到附加车辆。
132.n:段落f至m中任一项所述的方法,其中,速率控制被配置为至少部分地基于从车辆接收到的车辆状态数据来调整输入的加速度速率或转向速率,并且还包括:至少部分地基于加速度速率或转向速率来确定参考轨迹,以控制在显示设备上的用户界面中的车辆的表示;以及向车辆发送与参考轨迹相关联的加速度速率或转向速率的指示;其中,指示加速度速率或转向速率的参考轨迹被配置为使车辆的规划组件确定用于在环境中导航车辆的轨迹。
133.o:段落f至n中任一项所述的方法,还包括:经由显示设备上的用户界面呈现车辆的第一表示和车辆的第二表示,其中,车辆的第一表示可由来自远程设备的输入控制,车辆的第二表示指示车辆在环境中的动作或方向。
134.p:段落f至o中任一项所述的方法,还包括:接收与车辆相关的车辆状态数据;以及至少部分地基于车辆状态数据来更新用户界面中的车辆的第一表示的位置。
135.q:一种或多种非暂时性计算机可读介质,其存储指令,该指令被当被执行时,使一个或多个处理器执行包括以下各项的操作:从在环境中的车辆接收针对帮助的请求;接收指示速率控制的输入;至少部分地基于速率控制来确定用于车辆在环境中遵循的参考轨迹,其中,参考轨迹指示用于车辆在未来时间在环境中导航的车辆的速度和方向;以及将参考轨迹发送到车辆;以及至少部分地基于参考轨迹,使车辆的规划组件确定用于在环境中导航车辆的轨迹。
136.r:段落q所述的一种或多种非暂时性计算机可读介质,该操作还包括:经由显示设备上的用户界面呈现在环境中导航的自主车辆的表示;经由用户界面接收包括速率控制的输入以导航车辆的表示;以及至少部分地基于输入来确定参考轨迹。
137.s:段落q或r所述的一种或多种非暂时性计算机可读介质,其中,用于导航车辆的表示的输入至少部分地基于车辆在环境中导航的转向能力或加速度能力。
138.t:段落q至s中任一项所述的一种或多种非暂时性计算机可读介质,该操作还包括:至少部分地基于传感器数据,确定在环境中在车辆附近的对象或事件中的一个或多个;以及至少部分地基于对象或事件,确定加速度阈值、速度阈值或定时阈值中的至少一个,以用于车辆的表示在显示设备上的用户界面中导航;其中,参考轨迹至少部分地基于加速度阈值、速度阈值或定时阈值中的至少一个。
139.u:一种系统,包括:一个或多个处理器;以及一种或多种非暂时性计算机可读介质,其存储可由一个或多个处理器执行的指令,其中,指令当被执行时,使系统执行包括以下各项的操作:通过自主车辆的规划组件确定第一参考轨迹;确定与第一参考轨迹相关联的事件;至少部分地基于事件来向远程计算设备发送针对引导的请求;至少部分地基于该请求并且从远程计算设备接收第二参考轨迹,其中,该第二参考轨迹包括转向数据或加速
度数据中的至少一个;至少部分地基于该第二参考轨迹来确定候选轨迹;以及至少部分地基于该候选轨迹来控制自主车辆。
140.v:段落u所述的系统,该操作还包括:接收由自主车辆的传感器捕获的环境的传感器数据,该传感器数据与第一时间相关联;以及将传感器数据发送至远程计算设备;其中,该第二参考轨迹至少部分地基于传感器数据并且指示自主车辆的加速度和自主车辆的转向,以在第一时间之后的第二时间在环境中导航。
141.w:段落u或v所述的系统,其中,该第二参考轨迹至少部分地基于自主车辆在环境中导航的能力,其中,自主车辆的能力至少部分地基于与自主车辆相关联的运动学信息或动态信息。
142.x:段落u至w中任一项所述的系统,其中,第二参考轨迹至少部分地基于速率控制的加速度输入或速率控制的转向输入中的至少一个。
143.y:段落u至x中任一项所述的系统,该操作还包括:从自主车辆接收传感器数据,该传感器数据指示在自主车辆的环境中的对象;以及至少部分地基于传感器数据和对象来确定与自主车辆相关联的加速度阈值、速度阈值或定时阈值中的至少一个以在用户界面中导航;其中,针对引导的请求包括加速度阈值、速度阈值和定时阈值;并且其中,至少部分地基于加速度阈值、速度阈值或定时阈值中的至少一个来确定第二参考轨迹。
144.z:一种方法,包括:从在环境中导航的车辆发送针对引导的请求;从远程计算设备并且至少部分地基于针对引导的请求,接收用于车辆在环境中遵循的参考轨迹,其中,该参考轨迹指示用于车辆在未来时间在环境中导航的车辆的加速度和转向;以及通过车辆的规划组件并且至少部分地基于参考轨迹来确定用于在环境中导航车辆的轨迹。
145.aa:段落z所述的方法,其中,参考轨迹至少部分地基于速率控制的加速度输入或速率控制的转向输入中的至少一个。
146.ab:段落z或aa所述的方法,其中:速率控制的加速度输入至少部分地基于与在环境中导航车辆相关联的加速度能力;并且速率控制的转向输入至少部分地基于与在环境中导航车辆相关联的转向能力。
147.ac:段落z至ab中任一项所述的方法,其中,参考轨迹是第二参考轨迹,该方法还包括:由车辆的规划组件在发送请求之前确定第一参考轨迹;确定与第一参考轨迹相关联的成本;以及确定成本满足或超过阈值成本;其中,发送针对引导的请求至少部分地基于成本满足或超过成本阈值。
148.ad:段落z至ac中任一项所述的方法,其中,确定轨迹还至少部分地基于与参考轨迹相关联的参考成本、转向成本、加速度成本或障碍物成本中的至少一个。
149.ae:段落z至ad中任一项所述的方法,还包括:至少部分地基于与车辆相关联的传感器数据来确定由远程计算设备使用的速率控制的阈值;以及向远程计算设备发送速率控制的阈值,以使参考轨迹至少部分地基于速率控制的阈值而被确定。
150.af:段落z至ae中任一项所述的方法,其中,参考轨迹包括加速度速率和转向速率,该方法还包括:至少部分地基于与参考轨迹相关联的加速度速率,确定用于导航车辆的轨迹的加速度成本;至少部分地基于与参考轨迹相关联的转向速率来确定用于导航车辆的轨迹的转向成本;以及至少部分地基于加速度成本和转向成本在环境中导航车辆。
151.ag:段落z至af中任一项所述的方法,其中,所述事件包括潜在碰撞、障碍物或道路
封闭中的至少一种。
152.ah:段落z至ag中任一项所述的方法,还包括:接收由车辆的传感器捕获的环境的传感器数据;以及将传感器数据发送到远程计算设备,其中,参考轨迹至少部分地基于传感器数据。
153.ai:段落z至ah中任一项所述的方法,还包括:至少部分地基于从车辆的传感器捕获的传感器数据来检测环境中的事件;以及确定该事件影响车辆导航到目的地的能力,其中:发送针对引导的请求包括发送与车辆导航到目的地的能力相关联的置信水平,并且参考轨迹至少部分地基于该置信水平。
154.aj:段落z至ai中任一项所述的方法,其中,参考轨迹至少部分地基于车辆在环境中导航的运动学约束或动态约束中的一项或多项。
155.ak:一种或多种非暂时性计算机可读介质,其存储指令,该指令当被执行时,使一个或多个处理器执行包括以下各项的操作:从在环境中导航的车辆发送针对引导的请求;从远程计算设备并且至少部分地基于针对引导的请求,接收用于车辆在环境中遵循的参考轨迹,其中,该参考轨迹指示用于车辆在未来时间在环境中导航的车辆的加速度和转向;以及通过车辆的规划组件并且至少部分地基于参考轨迹来确定用于在环境中导航车辆的轨迹。
156.al:段落ak所述的一种或多种非暂时性计算机可读介质,其中,参考轨迹至少部分地基于速率控制的加速度输入或速率控制的转向输入中的至少一个。
157.am:段落ak或al所述的一种或多种非暂时性计算机可读介质,其中,参考轨迹至少部分地基于车辆在环境中导航的运动学约束或动态约束。
158.an:段落ak至am中任一项所述的一种或多种非暂时性计算机可读介质,其中,确定轨迹还至少部分地基于与参考轨迹相关联的参考成本、转向成本、加速成本或障碍物成本中的至少一个。
159.尽管关于一个特定实现描述了上述示例条款,但是应当理解,在本文档的上下文中,示例条款的内容也可以经由方法、设备、系统、计算机可读介质和/或另一种实现方式来实现。此外,示例a-an中的任一个可以单独实现或者与示例a-an中的任何其他一个或多个组合。
160.结论
161.尽管已经描述了本文描述的技术的一个或多个示例,但是各种变更、添加、置换和其等同物也被包括在本文描述的技术的范围内。
162.在示例的描述中,参考构成其一部分的附图,其通过说明的方式示出了要求保护的主题的具体示例。应当理解,可以使用其他示例,并且可以进行诸如结构改变之类的改变或变更。这样的示例、改变或变更不一定相对于旨在要求保护的主题偏离范围。尽管本文的步骤可以按一定次序呈现,但在一些情况下,可以改变次序,使得在不改变所描述的系统和方法的功能的情况下,在不同时间或以不同次序提供某些输入。所公开的过程也可以以不同的次序执行。另外地,不需要以所公开的次序执行本文的各种计算,并且可以容易地实现使用计算的替代次序的其他示例。除了被重新排序外,这些计算还可以被分解为具有相同结果的子计算。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献