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

修改轨迹的车辆动力学限制的制作方法

2022-03-23 09:09:11 来源:中国专利 TAG:

修改轨迹的车辆动力学限制
1.相关申请的交叉引用
2.本技术要求以下各案的优先权并出于所有目的以引用方式并入以下各案的全部公开内容:2019年8月13日提交且标题为“modifying limits on vehicle dynamics for trajectories”的美国专利申请no.16/539,893;2019年8月13日提交且标题为“system and method for trajectory validation”的美国专利申请no.16/539,870;2019年8月13日提交且标题为“consistency validation for vehicle trajectory selection”的美国专利申请no.16/539,878;以及2019年8月13日提交且标题为“feasibility validation for vehicle trajectory selection”的美国专利申请no.16/539,873。


背景技术:

3.自主车辆在被编程时考虑了安全性以及其他目标,诸如乘客舒适度、可预测性和响应性。自主车辆的一些系统对于确保安全很重要,诸如导航系统。导航系统可能必须考虑大量可能难以解释的变量,这使得安全有效的导航变得相当复杂。例如,自主车辆可能有多个子系统,它们以复杂的方式相互作用。另外,环境变化也可能使安全导航的复杂性急剧增加。多个子系统的这些相互作用和环境可能会引入可变性和不可预测性,使得确保乘客、行人、财产等的安全变得更加困难。
附图说明
4.参考附图来描述详细说明。在图中,附图标记最左侧的数字标识所述附图标记首次出现的图。在不同图中使用相同附图标记来指示类似或相同的组件或特征。
5.图1是选择多个轨迹中的一者来用于导航的自主车辆的示例性图示。
6.图2是示出自主车辆管理和/或控制系统的一些元件(包括主计算系统和辅助计算系统)的示例的高级框图。
7.图3是示出图2的用于验证和/或确认接收到的轨迹的轨迹管理器进程(“tmp”)的元件的框图。
8.图4是示出与自主车辆的致动器系统介接的驱动管理器的元件的框图。
9.图5是示出系统监视器和轨迹管理器进程(“tmp”)的替代视图的框图。
10.图6是示出图2的轨迹规划器、轨迹管理器进程(tmp)和系统监视器之间的示例交互的图。
11.图7是可在处理轨迹和选择轨迹和/或修改轨迹的tmp中实施的状态图。
12.图8是在选择除了表示标称操作的标称轨迹之外的轨迹时可在tmp中实施的表示tmp的状态的状态图。
13.图9示出用于验证替代轨迹并基于所述验证来选择轨迹的示例过程。
14.图10示出用于验证替代轨迹并基于所述验证选择轨迹的另一个示例过程。
15.图11示出用于验证和选择轨迹的示例过程。
16.图12示出相对于轨迹处于多个状态的自主车辆的示例图。
17.图13示出用于验证轨迹的一致性的示例过程。
18.图14示出自主车辆的各种子系统之间的示例通信,诸如图2中的用于更新自主车辆的可行性约束的系统中所示。
19.图15示出用于验证潜在轨迹的可行性的示例过程。
20.图16示出根据自主车辆的架构可使用的元件的示例。
具体实施方式
21.本公开描述了用于验证和选择装置(诸如自主车辆)的将来轨迹的方法、设备和系统。在一些示例中,自主车辆的人工智能(“ai”)单元考虑输入,诸如来自车辆的各种子系统,并且将对可能轨迹的选择输出到轨迹管理器进程(“tmp”),所述轨迹管理器进程可操作为用于通过使用特定标准来选择和验证所提供的轨迹中的一者来执行避免碰撞的系统。在此示例中,tmp随后可将所选轨迹输出到驱动管理器,所述驱动管理器控制车辆的推进子系统以及其他系统。
22.在一些方面中,tmp独立于ai引擎输出的轨迹而对所提供的轨迹执行标准检查,使得即便ai系统输出不安全的轨迹,tmp仍不会将对应信号发送到驱动管理器进程或驱动致动器,以致使车辆导航无效的(例如,不安全的)轨迹。在一些情况下,如果所提供的轨迹中无一者满足tmp的标准,那么tmp可输出轨迹以使车辆停下来。
23.在一些方面中,tmp评估轨迹的有效性。有效性测试可包括许多不同的测试或评估,诸如通过检查准时性、一致性、陈旧性和/或可行性。例如,可评估给定轨迹的准时性,使得它是在先前轨迹的某个时间段内被接收到。在其他示例中,可评估给定轨迹以确定所测试轨迹与车辆的当前状态和/或先前轨迹的一致性(例如,新轨迹和/或参照物在先前轨迹的阈值距离内)。在一些方面中,可测试轨迹的陈旧性,诸如以验证轨迹生成的时间并没有多久。在一些情况下,可将陈旧性视为或称作一致性检查的一部分。在其他示例中,可评估轨迹以确定车辆导航所测试轨迹的可行性,诸如基于车辆的物理能力或限制。在一些方面中,可对潜在轨迹执行这些有效性测试中的两者或更多者,以确保轨迹是安全的,将不会对车辆的乘客造成不想要的身体劳损,等等。
24.有效性评估的结果可输出为至少指示轨迹是有效的(例如通过评估)还是无效的(使得其未能通过评估)的信号。有效性信号可以采用多种形式中的任一种,并且包括简单值,诸如二进制值,指示轨迹是否通过评估并且实际上是有效的。在一些情况下,还可以包括轨迹的标识符。在其他情况下,还可以包括轨迹的更多细节。有效性信号或所选择的轨迹本身可以被发送到驱动管理器进程或驱动致动器以使得车辆执行有效轨迹。在一些情况下,有效性信号,无论是通过还是未能通过,都可以传送到ai引擎,以便能够选择另一条轨迹或出于许多其他原因。
25.在一些方面中,tmp还可以对潜在轨迹执行碰撞测试。在这些情况下,可行轨迹是至少满足有效性测试和碰撞测试的轨迹。在其他情况下,可以单独或结合上述示例使用其他评估或验证测试。在一些方面中,一项或多项有效性检查可以包括准时性检查,准时性检查涉及自从接收到轨迹以来已经过去了多长时间。例如,辅系统可能预期以特定频率(例如,每四秒)接收轨迹。在此类示例中,例如超过四秒的随后接收到的轨迹之间的时间差可能被认为是未能通过准时性标准,因为这可能指示车辆的一个或多个子系统没有正确地或
如预期般操作(例如,由于延迟、传输问题、规划困难等)。在确定是否满足准时性要求时,tmp可以比较轨迹的接收时间和当前时间,以确定两者之间的差异是否大于预定的准时性限制。
26.在一些方面中,一项或多项有效性检查可以包括一致性评估,一致性评估涉及基于一些预定的一致性约束来排除车辆状态或命令从一个轨迹到下一个轨迹的大跳跃。例如,如果当前轨迹和下一轨迹的速度太不同,则下一轨迹可能被标记为缺乏一致性。一致性或运动学评估的结果可以是运动学有效性或运动学有效性值的形式,指示给定轨迹是否一致以及在一些情况下在多大程度上一致。
27.在一些示例中,一项或多项有效性检查可以包括陈旧性检查,其中系统确定所生成轨迹的年龄是否小于或等于阈值年龄。在此类示例中,轨迹可以包括它们生成时的时间戳。可以将当前时间和生成时间之间的差值与阈值进行比较以确定轨迹是否过时。作为非限制性示例,尽管是准时的(例如,如在前一个示例中那样,在前一个轨迹的4秒内接收到),但轨迹的时间戳可指示生成的时间超过100ms(超过50ms的阈值),在这种情况下,轨迹被标记为无效。
28.在一些方面中,一项或多项有效性检查可以包括可行性检查,可行性检查涉及验证被验证的轨迹是否在车辆的当前动态能力范围内(例如,可能未遵照命令180kph的速度或6m/s/s的横向加速度的新轨迹)。
29.在一些情况下,系统监视器可以基于车辆的操作特性来修改车辆的一组默认的能力限制。例如,tmp可能检测到一个或多个轮胎气压低、电池未满容量操作、马达以75%的功率操作等。tmp可将不同的操作状态(数值的或定性的)相关联以对置于车辆的一个或多个可行性限制进行更改。基于这些和其他操作特性,系统监视器可以更新强加于车辆的一个或多个可行性值或限制。tmp可以存取这些值并基于最新的值来验证潜在轨迹。在一些方面中,可行性评估的结果可以作为可行性值或信号或可行性有效性信号输出。
30.系统监视器可以监视车辆内子系统的状态,并且可以向tmp发送请求,所述请求可以超控tmp关于轨迹的决定,和/或发送可能通知和修改tmp对潜在轨迹的评估的操作状态更新。在一些情况下,tmp可以以各种时间间隔、定期地、在某些事件发生后从车辆或装置监视系统或系统监视器接收(例如,一个或多个操作特性的)更新。这些更新可能是关于影响车辆操作的一个或多个子系统。在一些情况下,tmp可以基于所述一个或多个更新来改变其用于选择/验证轨迹的标准。在一些情况下,系统监视器可以将轨迹请求和/或其他约束传送到tmp,所述轨迹请求和/或其他约束可能会影响或甚至超控tmp所实施的选择标准。
31.在一些方面中,可以确定在正常状态下或在正常操作条件下操作的车辆的一组车辆能力或可行性限制。系统监视器可以检测并提供关于车辆的各种子系统是否正常操作或具有降低的操作状态以使得车辆的操作以某种方式减弱的更新。系统监视器和/或tmp可以基于操作更新来更新该组车辆能力限制。随后,当确定轨迹是否有效时,tmp可以基于更新的该组车辆能力来修改其标准。在特定示例中,车辆能力限制可用于确定轨迹是否可行,诸如经由可行性检查。作为非限制性示例,降低的压力或制动能力可能与降低的最大加速度(横向和/或纵向)相关联。
32.在一些方面中,轨迹验证过程还可以包括碰撞检查。碰撞检查标准可以包括tmp拒绝它确定将含有即将与代理或对象发生的碰撞的轨迹。在一些情况下,轨迹具有单独的有
效性标准,所述有效性标准涵盖准时性、一致性、陈旧性和可行性并且具有无碰撞要求。在那些情况下,有两个测试,有效性和无碰撞性,但在那两个测试下面可能具有多个标准。
33.碰撞检查可以用于在确定车辆能够停下(超过制动距离或相关值)或避开对象之前防止表达含有与任何代理或障碍物的预计碰撞的轨迹。可能不会遵循包含任何无法避免的预期碰撞的轨迹;或者如果所有可用轨迹都包括预期碰撞,则最小化预期碰撞能量或其他度量的轨迹可以是所选轨迹。
34.碰撞检查可能涉及执行自由空间检查器、评估基于对象列表的轨迹预测器、使用带有热图的机器学习的处理器或其他方法。可能会在每一帧检查一些轨迹是否存在可能的碰撞,但其他轨迹可能不需要检查。例如,如果紧急停止(“急停”)轨迹是最不可能的轨迹,则可能不需要反复检查以确定它是否会导致碰撞,因为该轨迹可能是最后的手段并且具有减速的目标并且可能已表示通过锁定转向并应用最大减速(通过制动或其他方式)而停止的最后一个选择,并且可能仅在存在多个系统故障或状态有问题时使用。
35.tmp可用的轨迹可能具有层次结构,其中第一轨迹在层次结构中高于第二轨迹,并且第二轨迹在层次结构中高于第三轨迹,等等。第一轨迹可能是标称操作轨迹,并且层次结构中较低的轨迹可能对应于非理想或错误条件,诸如在较高的轨迹无效的情况下。例如,第一轨迹可能是使用的轨迹,除非发现第一轨迹存在一些错误,并且第二轨迹是在这种情况下将使用的偶然轨迹。
36.在至少一些示例中,可以存储所接收到的主和/或次要轨迹中的任一者或多者以在新获取的轨迹不是有效的和/或无碰撞时在后续帧中使用。此类轨迹可以被称为所存储轨迹。在任何一个或多个示例中,可以修改任何轨迹(新获取的或存储的),只要此类修改会导致防止影响(或将影响的严重程度降至最低等等)的场景。在一些情况下,此类修改可能限于纵向修改,诸如向轨迹添加额外制动,但在其他情况下,可以提供其他修改(例如,些微转向)。根据层次结构,系统可能偏好第一(或主)轨迹、次要(或替代/偶然的)轨迹、修改后的次要轨迹、修改后的所存储的次要轨迹,并且最后如果以上轨迹都没有减少碰撞,则是紧急停止轨迹(本文中也称为“急停”)。在此类示例中,急停可以是设法在自主车辆的机械能力和乘客安全限制内使自主车辆快速停下的轨迹。
37.应理解,本文中涉及这些特定组轨迹的示例和描述可以被修改以覆盖具有在层次结构中提供的其他组轨迹的示例。此外,虽然特定示例提供了严格排序的层次结构,但一些情况可能会提供一种层次结构,其中不止一种类型的轨迹具有相同的层级。在此类情况下,可能有第一、第二、第三和第四轨迹,其中第一轨迹被认为是最高的轨迹,第二和第三轨迹被认为是同样在倒数第二层级,并且第四轨迹是最低层级的轨迹。
38.在一般情况下,存在轨迹层次结构,并且当处于正常操作状态时,tmp会考虑第一轨迹并且如果它有效且无碰撞则使用第一轨迹。在该正常操作状态下,当提供新轨迹并使用最高的有效且无碰撞的轨迹时,可以在每一帧检查每个轨迹。在至少一些示例中,如果主或次要轨迹中的任一者是无碰撞且有效的,则即使在较低层级的轨迹无效或不是无碰撞的情况下,tmp也可以选择此类轨迹。然后,tmp可以存储表示所使用轨迹的状态变量。如果正常操作使得第一轨迹有效且无碰撞,则下降到较低的轨迹可能指示存在错误或异常情形。例如,第一轨迹在生成时可能是有效且无碰撞的,但随后一个快速移动的对象从自主车辆前面经过,因此当检查第一轨迹时,它是有效的,但不是无碰撞的。这将导致tmp使用较低的
轨迹并更新状态变量以指示使用了哪个轨迹。状态变量的存储值可能会在未来的帧中使用,以限制tmp使用的轨迹,至少在错误条件释放之前。
39.通常,轨迹可以由数据结构表示,所述数据结构定义从轨迹的开始状态到终点的将随着时间推移而执行和/或包括与此类位点相关联的一系列控制(例如,加速度、转向、偏航率等)的向量、路径、车辆状态(位置、取向、速度和/或加速度)、命令等。轨迹可能不一定会用完到达终点,并且可能会被超控。提供给tmp的轨迹可以是涉及车辆减速到停止的轨迹和涉及车辆根据轨迹、改变方向、改变速度等的一些细节移动的轨迹。轨迹可以包括表示一些信号的数据,这些信号将被发送到驱动致动器(诸如用于制动器、方向盘、加速器、悬架等的驱动致动器)。
40.如果沿路线到终点将必然会由于异常或安全条件而导致车辆停下的轨迹在本文中被称为停止轨迹,而其他则是标称轨迹。一些标称轨迹可以因为非异常条件(诸如开到停车标志处、停下等红绿灯、等行人穿过、停在路边接人等)而使自主车辆停下。停止轨迹具有出于安全相关原因或异常条件而作为终点的静止位置。
41.tmp还可能具有所存储的停止轨迹,所述停止轨迹在tmp不具有所提供的满足tmp的标准的其他轨迹时由tmp使用。如果用完到轨迹的末端,则所存储的停止轨迹和/或接收到的停止轨迹将以车辆静止而结束。换句话说,此类轨迹的终点是静止的车辆。并非所有轨迹都一定会用完到达其终点。例如,可以在执行先前接收到的轨迹到其终点之前接收新获取的轨迹。在至少一些示例中,停止轨迹可以包括如上所述的次要和/或偶然轨迹。在一些示例中,此类停止轨迹可能不涉及停止,而是可以提供替代路径和/或控制作为主轨迹出问题时的应急措施。
42.ai可能仅提供两条轨迹,主(标称)轨迹和次要(例如,停止)轨迹,但在一些情况下,ai可能提供两条以上。一个示例将是ai提供让车辆在车道上继续行驶的主轨迹、车辆停在路边~10秒的主轨迹、具有车辆制动的次要轨迹、具有车辆变道和制动的次要轨迹等。在另一个示例中,ai每隔100ms左右便创建并发出新的主轨迹和新的次要轨迹。修改后的次要轨迹可能是tmp通过对次要轨迹应用纵向声明而创建的轨迹。
43.在更一般的情况下,提供的是一组指令,该组指令可以是关于轨迹的指令,并且可以提供一组、两组或更多组指令。可以从所提供的多组指令生成其他多组指令,诸如从先前提供的被存储的一组指令得到的一组指令、是所接收到的一组指令的转换或修改版本的一组指令,以及固定的一组指令。在该组指令包括轨迹的情况下,该组指令可能包括与轨迹无关的指令,诸如用于消息、照明等的指令,和/或与轨迹有些相关的指令,诸如转弯信号或与轨迹有关的将要采取的其他动作。在这种情况下,可能会提供一个状态变量来表示具有多个层级的层次结构中的最高层级,其中层级高于该最高层级的一组指令将不一定被执行,并且当发现一组指令无效或异常时,最高层级被设定为低于该组无效或异常指令的层级的层级。在接收到释放信号之前,所述状态变量可能保持在该层级或更低层级,从而将状态变量重置为更高层级,可能是最高层级。例如,指示选择偶然轨迹而非标称轨迹的请求可以将状态变量设置为表示车辆轨迹状态,所述车辆轨迹状态是表示选择偶然轨迹而非标称轨迹的偶然状态,并且释放信号可能将车辆轨迹状态重置为指示选择标称轨迹而非偶然轨迹的标称请求状态。释放信号可以是从远程系统接收的信号,所述远程系统被配置为响应于接收到来自用户的输入而发送信号。
44.在示例系统中,系统监视器监测车辆内系统的状态,并且可以向tmp发送请求,所述请求可以超控tmp关于“向下”方向上的轨迹的决定(例如,主到次要到修改后的次要到所存储的次要到修改后的所存储的次要到“急停”等)。所述请求可以是对从主、次要或“急停”中选择的特定类型的轨迹的请求,系统监视器将使用所述请求来表示系统监视器将那些中的任一者视为可接受的选项。所述请求可以是请求偶然轨迹而非标称轨迹的超控请求。在一些逻辑表中,对于一个以上系统监视器轨迹类型请求,最终结果是相同的。作为示例,如果tmp将基于某种状态组合来决定调用次要轨迹请求,则无论系统监视器请求主轨迹类型还是次要轨迹类型,结果都很可能是次要轨迹。在本文中的某些地方,这可能被称为系统监视器指定主或次要轨迹类型,但应如上所述般理解。
45.在另一个示例中,如果ai向tmp提供轨迹并且tmp发现所有这些轨迹都是可接受的,则它可能会选择主轨迹,但是随后,如果系统监视器处理的输入指示四轮胎车辆上的所有四个轮胎的轮胎压力为15psi(即,漏气),则系统监视器将发出对“急停”轨迹的请求。
46.在操作中,当感测到异常情形(诸如检测到机械或电气错误)时,系统监视器可能会用信号表示请求次要轨迹。作为响应,tmp可能会为驱动管理器提供次要轨迹,并且当驱动器管理器致动次要轨迹以使自主车辆静止时,系统监视器可能会检测到问题的令人满意的解决方案,并用信号发出对标称(例如,主)轨迹的请求,而tmp原本将提供另一条轨迹。
47.在一些情况下,从一些情况中恢复被认为足够重要,需要人工干预。在此类情况下,系统监视器可能会发布对次要轨迹或“急停”轨迹的请求,直到它接收到来自人际交互系统(和/或具有用于人工智能决策的额外计算能力的远程系统)的故障清除信号为止,诸如系统监视器释放来自远程操作系统的信号。
48.所描述的系统和技术可以提供许多优点和好处,诸如经由冗余轨迹验证和碰撞检查实现自主车辆或其他移动启用装置的更安全操作,尤其在基于车辆的子系统的当前操作状态来更新可行性限制时。所描述的系统和技术还可以提供改进的资源经济性,诸如通过使用具有预定义标准的不同有效性检查来减少存储器和处理需求。在一些方面中,所描述的系统和技术可以通过使用特定的有效性标准使得能够使用较少带宽来传送信息以选择轨迹,以及贯穿本公开描述的其他好处和优点。
49.图1是选择和验证多个轨迹110、112中的一者来用于导航的自主车辆102的示例图示100。如图所示,自主车辆102可以包括规划系统116。规划子系统116可以包括主系统或ai引擎106,所述主系统或ai引擎可以生成供自主车辆102遵循或导航的轨迹,诸如当前轨迹104,以及未来可以由自主车辆102导航的轨迹110、112。为了提高自主车辆102的操作安全性、帮助进一步避免碰撞、增加冗余以及出于各种其他原因,可以实施辅助系统108以验证由主系统106生成的可能轨迹的许多不同属性,然后再指示自主车辆遵循那些轨迹中的一者。
50.辅助系统108可以包括轨迹管理器进程或系统(tmp)118,所述轨迹管理器进程或系统接收由主系统106生成的轨迹并且对所述轨迹执行许多验证检查120以确保轨迹是有效的和/或不会导致任何可避免的碰撞。tmp118可以从主系统106接收两个或更多个轨迹以进行验证或评估。例如,主系统106可以针对每一时间段生成至少一个第一或主轨迹110,所述第一或主轨迹可以包括自主车辆102继续向前移动至少某一距离。主系统106还可以生成至少一个次要轨迹112,所述次要轨迹可能会导致自主车辆102在某一点114停下,该点可能
是将来的任何时间。在其他示例中,tmp 118可以针对任何给定的时间段评估自主车辆102的许多轨迹中的任一者。
51.在接收到潜在轨迹时,tmp 118可以对主轨迹110和次要轨迹112执行多次验证检查120以确保所选的轨迹是安全的并且不会导致自主车辆102的突然移动或乘客的不适。如下文更详细地描述,这些验证检查可以包括准时性检查、一致性检查、陈旧性检查和/或可行性检查。在一些方面中,tmp 118还可以对轨迹执行碰撞检查以验证在所选轨迹上将发生不可避免的碰撞。
52.在一些情况下,辅助系统108或主系统106可以监测自主车辆102的多个子系统。当一个或多个子系统不工作时,如正常操作状态所指示的那样,主系统106或辅助系统108可以修改车辆的一组能力限制。在确定轨迹对于自主车辆是否可行时,tmp 118可以基于车辆的该组能力限制来确定自主车辆是否可以安全地导航到并遵循新的轨迹。以这种方式,可以基于车辆的当前操作条件来验证轨迹,以提高安全性。
53.自主车辆102可以包括许多硬件和软件组件,所述硬件和软件组件实施推进系统以及用于指导推进系统以使车辆移动通过各种地形和障碍物、运输乘客等的控制和规划系统。自主车辆102可以包括许多子系统,如下文参考图16更详细地描述。应理解,本公开主要集中于验证自主车辆的轨迹,本文描述的技术同样适用于多种不同类型的装置中的任一者,诸如包括某种类型的推进或移动系统的任何装置。
54.在一些方面中,规划系统116可以是下文参考图16描述的规划子系统1628的示例。规划系统116以及主系统106和辅助系统108可以包括一个或多个处理器以及包括用于生成并验证自主车辆的轨迹的指令的存储器,或更一般来说,多种不同种类的装置中的任一者。
55.图2是示出自主车辆管理和/或控制系统200的一些元件(包括主计算单元202和辅助计算单元204)的示例的高级框图。主计算单元202和辅助计算单元204可以是不同的处理器,它们之间具有通信通道,或某种其他结构。如图所示,主计算单元202执行系统监视器ai 210、轨迹规划器ai212,并存储传感器数据214,并且辅助计算单元204执行系统监视器220、轨迹管理器进程(“tmp”)222和安全/无感知过道(perception free corridor)检查器224。
56.系统监视器ai 210接收诸如可以包括在从系统监视器220传输的与自主车辆的监视器的各种组件的状态有关的消息中的数据。示例可以包括电力系统、轮胎系统、环境传感器系统、电池监视器等。系统监视器220还可以从致动器系统接收与这些致动器系统的状态和操作有关的消息。系统监视器ai 210也可以从其他来源接收数据消息。当操作时,系统监视器ai210可以处理那些输入以确定系统监视器ai输出,诸如发送到系统监视器220的轨迹类型请求消息。作为示例,系统监视器ai 210可以确定标称轨迹是要使用的轨迹类型或者自主车辆由于某种异常或非标称条件而停下的紧急停止类型或停止类型的轨迹。系统监视器220可以输出致动器诊断消息。
57.轨迹规划器ai 212考虑各种状态、条件和/或输入并生成一个或多个轨迹。轨迹可以由在轨迹数据消息中传递的轨迹数据记录表示。轨迹数据记录可能在被轨迹覆盖的帧上面包括指示轨迹何时创建的时间戳、方向的详细信息、速度、致动器的输入等。对于给定的帧,轨迹规划器ai 212可以将一个或多个轨迹输出到轨迹管理器进程(“tmp”)222,并且可以包括标称轨迹和偶然轨迹,所述偶然轨迹是在标称轨迹无效或包含碰撞时或当tmp 222确定不执行标称轨迹时使用。轨迹规划器ai 212可以从tmp 222接收警告消息,诸如指示
tmp 222不能处理某些轨迹的消息。
58.传感器数据214可以包括点云数据(诸如由点云表示的车辆周围环境)、图像数据、雷达数据和其他传感器数据并且包括在消息中。主计算单元202可以在消息中将此传感器数据214提供到安全/无感知过道检查器224,所述安全/无感知过道检查器可以使用该信息来将具有最大减速的变换(修改)轨迹提供给tmp 222。
59.除了从致动器系统接收与这些致动器系统的状态和操作有关的消息以及从系统监视器ai 210接收轨迹类型请求消息之外,系统监视器220还可以在从远程操作系统接收的消息中接收系统监视器释放信号。基于其输入,系统监视器220可以向tmp 222输出轨迹限制消息,限制tmp 222可以选择什么轨迹。轨迹限制消息可以是tmp 222不执行标称(例如,主)轨迹并且应该执行导致自主车辆到达静止位置的轨迹或其他情况的指示。轨迹限制消息可以是tmp 222将执行紧急停止轨迹的指示。
60.系统监视器220还可以输出清除消息,诸如“清除开始”消息,向tmp 222发信号通知它可以再次选择最高层级的轨迹。这可以在tmp 222由于系统监视器220的早先请求或因为较高层级的轨迹并非有效并且无碰撞而使用较低层级的轨迹并且tmp 222维持该层级直到由“清除开始”消息或系统监视器释放信号释放为止的情况下使用。在一些情况下,需要系统监视器释放信号才能进行释放。在一些情况下,系统监视器220在审查来自车辆的数据之后使用远程操作系统从人类操作者接收系统监视器释放信号。在一些情况下,系统监视器释放信号直接由tmp 222接收。
61.如本文中别处更详细地阐释,tmp 222根据它可用的轨迹确定轨迹在轨迹层次结构中的层级、tmp 222的最高层级以及轨迹的有效性和无碰撞条件。tmp 222可以评估轨迹的有效性以及它们是否将是无碰撞的并选择那些轨迹中的一个轨迹、或它存储的一个轨迹、或它通过修改另一个轨迹(例如避碰轨迹或急停轨迹)而生成的一个轨迹。验证过程可以包括准时性测试、包括陈旧性测试或与陈旧性测试分开的一致性测试以及可行性测试234,如下文将更详细地描述。在其他示例中,tmp 222可以包括验证和碰撞检查或其他检查的一些或不同组合。tmp 222随后将轨迹数据消息(也称为轨迹记录)输出到驱动管理器。对轨迹的一些处理可能由tmp 222执行,而一些可能由驱动管理器执行。
62.碰撞检查236可以包括执行自由空间检查器、评估基于对象列表的轨迹预测器、使用具有热图的机器学习的处理器、卡尔曼滤波器、传感器数据与由ai引擎206确定的对象跟踪的数据关联,或其他方法。可以在每个时段针对可能的碰撞来检查主、偶然和所存储的偶然轨迹和/或其修改形式。其他轨迹可能不需要进行检查。例如,不需要反复检查紧急停止(“急停”)轨迹以确定它是否会导致碰撞,因为该轨迹可能是最后的手段并且具有减速的目标并且可能已表示通过锁定转向并应用最大制动而停止的最后一个选择,并且可能仅在存在多个系统故障或状态有问题时使用。
63.在一些情况下,轨迹记录可以是有效性信号的示例,诸如对于有效的轨迹。在其他情况下,诸如当确定轨迹无效时,可以将指示这种情况的有效性信号作为反馈传送给主计算单元202或轨迹规划器ai 212。在其他情况下,有效性信号或值可以在tmp 222内部使用,使得在生成有效性值或信号后,tmp 222可以随后将有效轨迹作为轨迹记录输出到主计算单元202,或者如果所测试轨迹被确定为无效,则随后可以选择另一个轨迹进行评估。应理解,正如通篇所使用的,有效性值和有效性信号可以互换使用。
64.在一些方面中,系统监视器220可以接收关于自主车辆上的其他系统的状态的各种输入。所述输入可以包括来自预期为活动的并且对于自主车辆的正确操作很重要的组件的心跳信号、故障通知、降低能力通知等。在一些方面中,系统监视器220可以向系统监视器ai 210发送状态消息,使得系统监视器ai 210可以处理状态更新并且确定对自主车辆的潜在轨迹的任何限制。在一些情况下,这可以采取更新车辆的一个或多个能力限制的形式,诸如最大加速度、减速度、偏航和基于状态更新的对车辆移动的其他运动学约束。系统监视器ai 210随后可以确定是否应该限制或约束任何轨迹类型被选择,并且在轨迹类型请求消息中向系统监视器210指示这样的情况,系统监视器随后可以向tmp 222指示任何限制。在一些情况下,轨迹类型请求可以指示车辆可以安全采用的最宽松的轨迹,使得tmp 222随后可以验证所指示的轨迹或更严格的轨迹(例如,免碰撞轨迹或紧急停止轨迹)。在其他方面中,系统监视器ai 210可以基于输入来确定在多大程度上(例如,多少)限制车辆的一个或多个能力值,由此系统监视器220可以更新车辆的一组能力限制。在这种情形中,tmp 222可以在验证一个或多个轨迹的可行性时向系统监视器220请求能力或可行性限制,可行性的确定可以基于可行性限制。
65.图3是更详细地示出图2中的tmp 222的元件的框图300,所述元件包括碰撞检查器304、轨迹验证器302、轨迹状态管理器320和轨迹选择器330。在一些情况下,tmp 222可能包括用于避免碰撞的不同方法和系统。
66.轨迹验证器302可以包括一致性验证器310、准时性验证器312、可行性验证器314和陈旧性验证器316,以及可能还有可以对轨迹进行其他测试的其他验证器(未图示)。碰撞检查器304检查轨迹以确定它是否无碰撞。有效性检查和碰撞检查的结果可以提供给轨迹状态管理器320,所述轨迹状态管理器可以将轨迹连同那些结果一起存储在轨迹存储装置322中。
67.在一般情况下,tmp 222具有多个可用的轨迹,其中一些可以从主计算单元102的ai系统接收,其中一些是来自先前帧的存储的轨迹,其中一些是接收到的轨迹的修改版本,其中接收到的轨迹经过变换并且变换和/或变换的轨迹存储在轨迹变换存储装置326中,并且一些可能是相对固定的轨迹(诸如紧急停止类型轨迹)。ai提供的轨迹可能由ai系统基于传感器数据生成,其中传感器可以提供有关道路、天气、周围环境等的信息。提供的轨迹可能包括预期为标称轨迹的轨迹以及在标称轨迹不可用的情况下的一个或多个偶然轨迹。
68.存储在轨迹存储装置322中的轨迹可以包括标称轨迹和各种可能终止于或可能不终止于车辆静止的偶然轨迹。存储的偶然轨迹可以是tmp 222接收和存储的来自前一帧的偶然轨迹,可能是tmp 222接收到但选择不使用而是使用接收到的标称轨迹的偶然轨迹。另一个示例是变换的偶然类型的轨迹,所述轨迹是从接收到的偶然轨迹得到,但可能通过以下操作来进行修改以避免可能的碰撞(即,避碰轨迹):添加迭代增大的所施加制动,直到最高减速度;在纵向上调整一小段距离;和/或进行其他微小改变以避免碰撞但不完全弃用轨迹。又一个示例是变换的所存储的偶然类型的轨迹,所述轨迹是从所存储的偶然轨迹得到,但以类似方式进行修改。又一个示例是紧急停止类型的轨迹,其中在转向锁定的情况下即刻施加最大减速度,而非迭代地增大制动。
69.有效性值和碰撞值可以根据有效性约束和关于先前或当前播放轨迹的数据来确定。使用这些值,轨迹选择器330选择轨迹,所述轨迹可以提供二进制值和基于这些二进制
值选择哪个轨迹的指示符。
70.在一些示例中,系统监视器(诸如上文描述的系统监视器220和/或系统监视器ai 210)可以监测自主车辆的组件的健康状况并且根据该问题请求使用哪个可用轨迹。例如,系统监视器可能会注意到一定条件,该条件虽然与安全无关或可能需要紧急停止,但是将指示自主车辆将使用使自主车辆最终停下的偶然轨迹。此请求可能与组件/子组件健康有关。在至少一些示例中,系统监视器可使用额外信息(诸如但不限于天气、摩擦等)来确定请求哪个轨迹。
71.在一些方面中,系统监视器可以从车辆的各个子系统获得状态更新,并更新一组可行性限制,诸如主移动方向(纵向)和横向上的加速度和减速度限制。该组可行性限制首先可以被设置为默认值,例如由车辆的组件的组件制造商指定、凭经验确定等。随后可以基于一个或多个操作状态对车辆的可行性限制的所确定的影响来修改这些值。作为非限制性示例,如果检测到恶劣天气,最大加速度/减速度可以减少10%。
72.在一个示例中,如果tmp 222因为更高的轨迹未通过有效性测试或碰撞检查或者因为系统监视器指示应该使用偶然轨迹而使用偶然轨迹,则tmp 222将它使用的轨迹的层级记录到状态变量存储装置324中并且在用信号表示释放之前都不会使用较高层级的轨迹。释放可能具有不同层级的释放,并且那些释放层级可以取决于导致使用偶然轨迹的异常的严重程度。例如,如果异常是其中一个电池出现轻微的电量下降,但电量自行恢复正常,则可能属于一级异常,并且系统监视器ai系统可能被授权发布释放。
73.更一般地,系统监视器向tmp 222发送轨迹限制消息,指示它不应使用具有高于轨迹限制消息中指定的限制的层级的轨迹,直到发布释放为止。例如,轨迹限制消息可能指示不应执行高于第一偶然轨迹的轨迹。在该情况下,tmp 222将继续执行在轨迹层次结构中较高的标称轨迹。
74.一旦发布释放,tmp 222就可以使用通过其测试的最高层级的轨迹。对于一些异常,诸如发现所有轨迹在检查时都无效并且tmp 222必须使用紧急停止轨迹,可能需要更高层级的释放。如此较高的层级可能需要对条件的人工审查以及清除异常的人工响应。
75.轨迹存储装置322可以包含用于轨迹选择器330可以从中选择的各种轨迹的存储装置,并且对于每个轨迹可以包含类型指示符、描述轨迹的数据、指示tmp 222是否确定轨迹有效的验证值以及指示tmp 222是否确定轨迹是无碰撞的碰撞或无碰撞值。在一些情况下,可能没有针对所示的每个数据对象的显式存储。
76.轨迹选择器330基于轨迹是否有效、无碰撞以及可能基于其他条件来可能从轨迹存储装置322中选择轨迹,如本文更详细地阐释,并且随后将具有建议轨迹的消息发送到驱动管理器。轨迹选择器330考虑状态变量存储装置324中表示tmp 222的“当前层级”的状态变量。如本文别处所阐释,tmp 222评估轨迹并使用层次结构中最高的轨迹,除非其状态指示其不应高于指定层级。示例层次结构是从标称轨迹到紧急停止轨迹。指定层级可能是由于系统监视器220指示最高的容许层级或由于tmp 222处理轨迹并发现最高层级的轨迹无效或含有碰撞。在一些情况下,如果当前层级的轨迹有效且无碰撞并且没有接收到降低层级的外部信号,则tmp 222的当前层级从帧到帧保持相同,如果当前层级的轨迹无效或并非无碰撞的或者接收到降低层级的外部信号,则tmp 222的当前层级降低。在此类情况下,tmp 222查找系统监视器“清除开始”信号和/或系统监视器释放信号。
77.一旦轨迹选择器330选择了轨迹,它就向与所选轨迹一致的驱动管理器发送数据消息。在没有轨迹可用的情况下,或者出于其他原因,轨迹选择器330可以向驱动管理器发送故障消息和/或默认为“急停”。轨迹选择器330还可以将其输出作为反馈提供给安全/无感知过道检查器224。
78.在一些情形中,轨迹状态管理器320将考虑轨迹并确定其有效但不是无碰撞的,并且确定轨迹的变换将是无碰撞的。例如,可能存在一种层次结构,从高到低依次为标称轨迹、第一偶然轨迹、存储的偶然轨迹、有效的第一偶然轨迹从有碰撞变换为无碰撞轨迹的变换的偶然轨迹、有效的存储的偶然轨迹从有碰撞变换为无碰撞轨迹的变换的存储的偶然轨迹,以及紧急停止轨迹。变换的示例包括向轨迹添加额外制动以使其变为无碰撞的。在此类示例中,tmp 222可以继续执行此类轨迹,直到终点,或者根据本文所述的技术以其他方式释放。
79.如果在未来帧中需要,轨迹变换存储装置326可以存储此类变换的细节。变换的偶然轨迹可以存储为完整的轨迹并在未来的帧中使用。在该种情况下,如果第一偶然轨迹被变换成变换的偶然轨迹并且使用变换的偶然轨迹,则在未来的帧中该变换的偶然轨迹被重新使用,直到有允许tmp 222使用更高层级的轨迹的释放为止。如果变换的偶然轨迹不再有效且无碰撞,则将使用较低层级的轨迹。在一些情况下,不使用单独的轨迹变换存储装置,并且变换的轨迹只是存储在轨迹存储装置322中。
80.当轨迹选择器330接收到系统监视器“清除开始”信号和/或系统监视器释放信号时,它可以更新状态变量存储装置324以指示新的最高的容许轨迹层级。在典型的过程中,系统监视器清除tmp 222以使用可用的最高层级轨迹,但在一些过程中,系统监视器可能会部分清除tmp 222到其当前层级以上的层级,但不会清除到最高层级。
81.图4是示出与自主车辆的致动器或致动器系统404介接的驱动管理器402的元件的框图400。如图所示,驱动管理器402可以包括轨迹跟踪器406,所述轨迹跟踪器维护含有从轨迹选择器(诸如图3所示的轨迹选择器330)传递到驱动管理器402的轨迹的数据结构。驱动管理器402还可以包括控制管理器408。
82.致动器系统404中的致动器的示例可以包括转向系统410、摩擦制动系统412、逆变器414、牵引系统416、电动停车制动系统418和主动悬架控制器420。这些系统中的每一者都可能会对车辆的一个或多个可行性限制具有影响,使得降低的操作能力可能会减少车辆可以在主移动方向和/或横向上加速或减速的量。
83.在操作中,驱动管理器402可以向致动器系统404输出致动器命令消息并且可以从致动器系统404接收反馈消息。系统监视器可以使用此类反馈消息来确定所请求的轨迹,如下文将更详细地描述的。
84.图5是示出系统监视器220和tmp 222的替代视图500的框图。图5不一定示出可能存在的所有数据结构,并且那些数据结构中的所示出的一些数据结构可以是逻辑数据结构和/或远程或分布式数据结构。如图所示,系统监视器220可以具有通信系统504,所述通信系统与远程信息处理系统508介接,所述远程信息处理系统远离自主车辆并且可以在显示器510上呈现信息,所述信息由远程信息处理操作者512使用来考虑信息并将信号和输入提供到自主车辆。
85.关于哪种释放信号足以将tmp释放到较高层级轨迹使用的要求可能要求对于一些
层级,释放信号可以仅来自人际交互。人际交互可能来自远处的远程信息处理操作者,该操作者使用向人类提供远程信息处理数据的系统。在至少一些示例中,此类远程信息处理操作者可以包括能够运行更复杂的诊断以发布清除消息的更强大的机器。
86.作为一个示例,系统监视器220可能发现一些值或条件超出正常操作范围并向远程信息处理系统508发送询问,同时还向tmp 222发送轨迹类型请求消息502,请求最终导致在感测到自主车辆或环境中的异常条件之后停下并保持于静止位置的偶然轨迹。在一些情况下,异常条件可能很严重以至于自主车辆一旦被带到静止位置便不应开始移动,直到远程信息处理操作者512评估所述条件并确定异常条件已被充分清除为止。
87.例如,如果系统监视器220检测到出于安全原因将导致自主车辆停下的故障并向tmp 222发布轨迹类型请求,但随后远程信息处理操作者512确定所述故障不再存在或不是可起作用的故障,则远程信息处理操作者512可以指导远程信息处理系统508向系统监视器220发送系统监视器释放信号(例如,“释放开始”消息)。这种机制产生一种情形,其中一旦自主车辆停下,系统监视器220将告诉tmp 222保持停止,直到系统监视器220接收到“释放开始”消息为止。
88.图6是示出如上文关于图2和图3更详细地描述的主计算单元202的轨迹规划器ai 212、辅助计算单元204的tmp 222和系统监视器220之间的示例交互的图600。如上所述,系统监视器220可以与系统监视器ai 210结合来操作以更新一个或多个可行性限制并将更新的可行性限制通知给tmp 222以基于更新的可行性限制来实施轨迹的验证。在其他示例中,系统监视器220可以包括系统监视器ai 210的功能,并且驻留在主计算单元202或辅助计算单元204中的任一者中。在所示交互中,轨迹规划器ai 212可以确定一个或多个轨迹,并且tmp 222可以基于有效性检查、无碰撞检查和/或来自系统监视器220的请求一种或多种特定类型的轨迹的请求来选择那些轨迹中的一者。
89.在所示的示例过程流中,轨迹规划器ai 212可以在操作602处发布多个轨迹,所述多个轨迹可以包括一种或多种不同类型的轨迹,诸如主轨迹和次要轨迹。例如,轨迹规划器ai 212可以以一个时间间隔或在一个时间段内发布(a)使车辆继续执行其任务的主轨迹(和/或一组主轨迹,该组主轨迹在由车辆执行时将导致车辆行驶到其目的地),和(b)次要(或偶然)轨迹,所述次要轨迹使车辆由于异常条件而在某时间点停下。
90.在操作604处,tmp 222可以从轨迹规划器ai 212接收轨迹。在一些情况下,tmp 222可以存取其可用的其他轨迹,例如,不一定是在当前时间帧从轨迹规划器ai 212接收到的,诸如存储的次要轨迹或甚至至少部分由tmp 222确定。示例包括存储的次要类型的轨迹,所述轨迹是被接收和存储(例如,在验证之后)的来自前一时间戳的次要轨迹,可能是tmp 222接收到但选择不使用而是使用另一个轨迹的轨迹。另一个示例是避碰轨迹或基于另一个轨迹的修改或变换的偶然轨迹,诸如次要轨迹或存储的次要轨迹。变换的偶然轨迹可以是从接收到的次要轨迹得到,但例如通过以下操作来进行修改以避免可能的碰撞:添加迭代增大的所施加制动,直到最高减速度;在纵向上调整一小段距离;和/或通过其他微小改变以避免碰撞但不完全弃用轨迹。另一个示例是急停类型的轨迹,其中在转向锁定的情况下即刻施加最大减速度,而非迭代地增大制动。
91.在一些情况下,与tmp 222在操作604处或tmp 222的其他操作处接收轨迹同时,或在不同时间,系统监视器220可以在操作606处接收车辆的系统或子系统的一个或多个状态
更新,诸如来自上文参考图4描述的一个或多个系统或与所述一个或多个系统相关联的一个或多个状态更新。这些状态更新可以包括例如一个或多个子系统的定期更新或心跳操作,指示它们功能齐全。状态更新还可以指示系统是否以降低的能力运行、出现故障和/或与车辆操作相关的其他信息。
92.基于这些状态更新,系统监视器220可以在操作608处确定或更新车辆的现有的一组可行性或能力限制并将它们发送给tmp 222,随之,tmp 222可以在操作610处接收可行性限制并在操作616处使用它们来评估轨迹。这可以包括基于一个或多个子系统的状态来确定更新一个或多个可行性限制的量。在一些示例中,可以按程度(例如,经由百分数等)来确定车辆的各种子系统的操作状态。各种子系统的不同的操作百分数范围可能与车辆的能力限制相关。例如,高于35psi的四个轮胎的胎压可能与纵向加速度、减速度和横向加速度的100%相关。25至35psi的胎压可能与那些能力中的一者或多者的75%相关,等等。可以监测车辆的各种子系统,并且随后可以确定对一个或多个操作限制的后续影响。可以由操作限制的变化表示的影响可以凭经验确定、由组件或车辆制造商设置或经由其他手段来确定。
93.在一些方面中,系统监视器220可以在一些方面中在有必要时与远程信息处理系统商量,并且在操作612处确定要请求哪种类型的轨迹。这可以是确定系统监视器将允许车辆选择的最高层级轨迹的形式。系统监视器220随后可以在操作614处向tmp 222发布轨迹请求,所述轨迹请求可以是进程间消息的形式。应理解,在一些情况下,tmp 222可能未预期甚至不需要来自系统监视器220的输入就能进行轨迹选择。例如,tmp 222可以直接地或通过另一个实体或系统等来接收系统或状态更新。
94.在操作616处,tmp 222可以评估接收到的轨迹,诸如通过执行一项或多项有效性检查和/或碰撞检查。在一些方面中,操作606可以包括对在操作604处接收到的每个轨迹执行准时性测试、一致性测试、陈旧性测试、可行性测试和/或碰撞测试中的一项或多项,如下文将更详细地描述。在一些情况下,所述一项或多项测试可以由如上文参考图3描述的轨迹验证器302中的一者或多者(诸如一致性验证器310、准时性验证器314、可行性验证器314和/或陈旧性验证器316)来执行。
95.在一些情况下,tmp 222可以在操作616处进一步基于来自系统监视器220的轨迹请求(如果确定或发送了任何请求)来评估轨迹。在一些方面中,tmp 222可以在操作618处基于轨迹请求来选择轨迹,使得所述选择可能受限于在轨迹请求中指示的最高轨迹。在操作620处,tmp 222可以执行轨迹或指示车辆的其他子系统(诸如主计算单元202)执行轨迹。
96.在一些方面中,在操作618处,tmp 222可以等到它从系统监视器220接收到轨迹请求,才评估轨迹。在其他方面中,tmp 222可以不等待来自系统监视器220的轨迹请求就可以在操作620处选择轨迹。
97.在一些情况下,tmp 222可以评估接收到的轨迹的有效性以及轨迹是否是无碰撞的。在至少一些示例中,结果可以由二进制值(例如,真或假或1和0)表示,但本文中设想到可以使用任何一组值或键控系统来实现类似的效果,包括但不限于不确定性信息、误差条等。如本公开中所描述的,有效性信号或值可以表示任何数量的不同测试或操作的组合分数,诸如准时性检查、一致性检查、陈旧性检查、可行性检查或对于确保车辆或装置的安全操作可能有用的其他测试。在一些情况下,轨迹必须通过所有有效性测试才能被赋予真或正值。
98.在一些方面中,使用预定义的轨迹选择来选择和验证轨迹可以提供许多优点和/或好处。例如,在与基于规则的方法比较时,可以通过使用更全面的一组轨迹选择来实现轨迹选择的更大一致性。在又一些情况下,可以通过使用预定义的一组值(诸如表格或其他数据结构)而非基于规则的方法来减少验证轨迹为例如有效的和无碰撞的时间。
99.图7是可以在tmp(诸如上述的tmp 222)中实施的状态图,所述tmp处理轨迹并选择轨迹和/或修改轨迹,诸如上文在操作618处描述的。此类状态图可以示出系统(诸如自主车辆系统)可以如何从一种操作模式(例如,标称模式)移动到偶然模式或备用模式。tmp可以接收针对一个帧和/或来自系统监视器(诸如系统监视器220)的请求的一个或多个轨迹,所述请求指示所述帧的所请求轨迹。其中任何一个都可以被同步接收和/或异步接收。
100.操作模式可以具有与该模式相关联的轨迹。例如,标称模式可能具有使系统沿一条路径移动的轨迹,诸如使自主车辆沿一条路径从起始位置移动到目的地,同时观察与道路、自主车辆和/或乘客有关的限制,而偶然模式可能具有与其相关联的轨迹,所述轨迹使自主车辆沿一条路径移动,该条路径使自主车辆停下同时避免碰撞。
101.在图7的状态图中,状态对应于操作模式并且tmp可以存储指示状态的状态变量。替代地,tmp可以从其他信息中导出其状态。如本文所描述,tmp可以在任何给定帧处具有多个对其来说可用的轨迹。
102.当处于第一状态(图7中示出为“状态a”)时,tmp对照一项或多项验证测试(诸如图3所示的那些验证测试)来验证接收到的标称轨迹,所述标称轨迹可以被称为主轨迹。从状态a,如果轨迹有效且无碰撞并且系统监视器允许标称轨迹(诸如通过不发送轨迹限制消息或指示tmp被清除而能够使用任何轨迹),则tmp将处理该轨迹并且将其状态变量设置为指示该状态。tmp可以通过执行轨迹或将其传递到另一个子系统来执行而处理所述轨迹。在下一帧中,tmp可以获得该下一帧的轨迹并返回到状态a。
103.tmp可以接收一个以上标称轨迹和偶然轨迹并且可能还有tmp自身生成的一个或多个轨迹,诸如通过修改接收到的轨迹。在本文描述的示例中,tmp可以仅接收一个标称轨迹。tmp可以检查其他轨迹以确定它们是否每一帧都有效且无碰撞,或者在一些情况下,可以仅检查其他轨迹,如果tmp确定它可以使用此类轨迹的话,诸如在轨迹层次结构中的较高轨迹无效或不是无碰撞的情况下。标称轨迹可能涉及停车,诸如在标称条件下车辆在停车标志处停下,让乘客上下车等。
104.从状态a,如果那些条件中的任一者得不到满足,例如,tmp确定标称轨迹无效,或标称轨迹不是无碰撞的,或者系统监视器已指示tmp不应使用标称轨迹(图7中示出为系统监视器用信号表示“清除开始”以外的任何东西),则tmp转变到状态b,其中它检查接收到的第一偶然轨迹的有效性和碰撞。如果第一偶然轨迹是有效且无碰撞的,则tmp移动到状态g,执行该第一偶然轨迹(同样通过执行它或将它传递到另一个子系统来执行),并且在完成时,移动到状态h。在此示例中,状态h是自主车辆静止的状态。如图8所示,tmp维持该状态,直到它从系统监视器接收到“清除开始”信号和/或从人监视系统(诸如远程信息处理系统)接收到系统监视器释请求为止。
105.在状态b中,如果tmp确定第一偶然轨迹无效,则tmp转变到状态c并尝试第二偶然轨迹,所述第二偶然轨迹可能是来自先前帧的存储的偶然轨迹。在状态b中,如果tmp确定第一偶然轨迹有效但不是无碰撞的,则tmp转变到状态d并尝试通过将第一偶然轨迹变换为第
三偶然轨迹来修改第一偶然轨迹。
106.在状态c中,tmp检查第二偶然轨迹的有效性和碰撞。如果第二偶然轨迹是有效且无碰撞的,则tmp移动到状态j,执行该第二偶然轨迹(通过执行它或传递它来进行执行),并且在完成时,移动到状态k。在此示例中,状态k也是自主车辆静止的状态。tmp还维持指示其在层次结构中的容许层级的状态变量,因此一旦它到达状态c,则在未来的帧中,它将跳过状态a和状态b,直到接收到释放为止。
107.在状态c中,如果tmp确定第二偶然轨迹无效,则tmp转变到状态f并执行紧急停止轨迹,这应该很少见,因为这要求标称轨迹不是可执行的并且两个偶然轨迹是无效的。
108.在状态d中,tmp检查第三偶然轨迹的有效性和碰撞。如果第三偶然轨迹是有效且无碰撞的,则tmp移动到状态m,执行该第三偶然轨迹(通过执行它或传递它来进行执行),并且在完成时,移动到状态n。在此示例中,状态n也是自主车辆静止的状态。tmp还维持指示其在层次结构中的容许层级的状态变量,因此一旦它到达状态d,则在未来的帧中,它将跳过状态a、b和c,直到接收到释放为止。
109.在状态e中,tmp检查第四偶然轨迹的有效性和碰撞。如果第四偶然轨迹是有效且无碰撞的,则tmp移动到状态p,执行该第四偶然轨迹(通过执行它或传递它来进行执行),并且在完成时,移动到状态q。在此示例中,状态p也是自主车辆静止的状态。tmp还维持指示其在层次结构中的容许层级的状态变量,因此一旦它到达状态e,则在未来的帧中,它将跳过状态a至d,直到接收到释放为止。
110.在状态d或e中,如果tmp确定无法将偶然轨迹变换为无碰撞的变换轨迹(或发生了某些事情而使它不再有效或变换使它变为无效),则tmp移动到状态f。同样,如果系统监视器,可能是响应于检测到系统错误、机械错误、电气错误等,向tmp发送消息以执行紧急停止,则tmp移动到状态f。
111.因此,如参考图7所解释的,tmp可以识别所处的状态以及要执行的轨迹。由于每个偶然轨迹都很可能对错误或意料之外的状况作出响应,因此tmp在接收到释放信号之前都不会恢复标称操作。
112.图8是在选择除了标称轨迹之外的轨迹时可在tmp中实施的表示tmp的状态的状态图。tmp正在执行某种类型的偶然轨迹的状态的示例包括状态g(其中tmp执行从轨迹规划器ai接收到的第一偶然轨迹,所述第一偶然轨迹是有效的且无碰撞的轨迹)、状态j(其中tmp执行先前从轨迹规划器ai接收到的存储的偶然轨迹,所述轨迹是有效的且无碰撞的轨迹)、状态m(其中tmp执行第一偶然轨迹的变换版本以使它变为无碰撞的)、状态p(其中tmp执行存储的偶然轨迹的变换版本以使它变为无碰撞的)和状态f(其中tmp执行紧急停止轨迹)。
113.在状态p和状态f以外的状态中,可能的情况是,如果系统监视器请求标称类型轨迹,则tmp可以返回到状态a,一旦自主车辆静止(或者在一些情况下具有非零速度但该速度小于或等于阈值速度),则变换到状态a需要从远程信息处理系统接收到的释放信号。例如,在状态f中,由于tmp执行紧急停止,并且转变到静止状态,即,状态r,则tmp将保持为该状态,并且自主车辆将保持静止,直到在状态s中,tmp接收到人类操作者发布的释放请求。
114.如图8所示,在一些状态下,系统监视器对异常条件的清除可能会导致自主车辆再次移动,或从将导致自主车辆停下的状态退出,而在其他状态下,为了导致自主车辆再次移动则需要从远程信息处理系统接收到释放信号。
115.在特定情况下,标称轨迹被标记为主轨迹,第一偶然轨迹被标记为次要轨迹,第二偶然轨迹是存储的偶然轨迹,第三偶然轨迹是第一偶然轨迹的变换,而第四偶然轨迹是第二偶然轨迹的变换,但标称轨迹和偶然轨迹的其他可能性也是可能的。不要求标称轨迹使车辆继续移动,并且不要求所有偶然轨迹都使车辆停下。
116.在更一般的情况下,存在其中执行标称轨迹的标称模式,一定层次结构的偶然轨迹,其中执行有效且无碰撞的最高层级的轨迹,并且tmp将保持于该层级直到被释放。在一般情况下,层级可能是这样的,即,较高层级可以由自动化系统释放并且较低层级需要人工审查和介入以释放到比最终被执行的轨迹的层级高的层级。
117.在一些情况下,来自系统监视器的释放可能不是完整且无条件的释放(例如,允许tmp返回到最高层级和状态a)。相反,系统监视器释放可能是到比当前tmp层级高但低于最高层级的某一层级。
118.虽然图8示出了系统监视器可以从状态h、k和n清除,但是在一些情况下,tmp可以被编程以允许系统监视器从状态g、j和m(其中自主车辆正在移动但不只需要系统监视器从状态h、k和n释放的状态)释放。在审查图和本文中的描述之后,其他变化将是显而易见的。另外,虽然被示出为系统监视器清除到主轨迹,但是系统监视器可以清除到任何其他层级,如将在关于图7描述的状态图中反映的。
119.图9示出了用于验证替代轨迹并且基于所述验证来选择轨迹的示例过程900,所述过程可以由自主车辆或装置执行,如上文所述。在一些示例中,过程900可以由如下文参考图16描述的规划子系统1628和/或由上述的tmp 222和/或系统监视器220执行。
120.过程900可以开始于操作902,其中可以确定或接收用于装置的至少两个替代轨迹。在一些情况下,操作902可以由tmp 222执行。
121.接下来,在操作904处,可以例如由tmp 222对替代轨迹执行一项或多项验证测试或评估。验证测试可以包括一项或多项有效性测试(诸如准时性、一致性、陈旧性和/或可行性测试,如将在下文更详细地描述的)和/或碰撞测试中的一者或多者。
122.接下来,在操作906处,可以基于验证测试生成数据集。在一些情况下,tmp 222可以生成数据集。数据集可以包括对替代轨迹执行的验证测试的结果。
123.基于数据集,可以在操作908处选择轨迹。操作908可以包括至少部分基于有效性和/或碰撞检查来确定所选轨迹。在至少一些示例中,此类所选轨迹可以包括无碰撞且有效的最高层级的轨迹,诸如根据上文参考图7和图8描述的状态图700和800。在各种示例中,在没有轨迹是有效且无碰撞的情况下,可以选择紧急停止(急停)。
124.接下来,在操作910处,可以指示或致使装置根据所选轨迹来操作。操作910可以包括tmp 222将所选轨迹发送给主计算单元202、驱动管理器402和/或致动器404或装置或车辆的其他子系统,以致使装置遵循所选轨迹。
125.图10示出了用于验证替代轨迹并且基于所述验证来选择轨迹的另一个示例过程1000,所述过程可以由自主车辆或装置执行,如上文所述。在一些示例中,过程1000可以由如下文参考图16描述的规划子系统1628和/或由上述的tmp 222和/或系统监视器220执行。
126.过程1000可以开始于操作1002,其中可以获得用于装置的第一替代轨迹和第二替代轨迹。在一些情况下,在装置是自主车辆的情况下,可以从上述的轨迹规划器ai 212或其他轨迹生成计算装置或过程获得所述第一替代轨迹和第二替代轨迹。
127.接下来,在操作1004和1006处,可以确定第一替代轨迹和第二替代轨迹中的每一者的有效性值。在一些方面中,所确定的有效性值可以是二进制值,以减轻或降低分析和/或比较的复杂性并且提高计算效率。在其他方面中,有效性值可以包括两个以上值,以增加例如轨迹选择的准确性。操作1004和1006可以包括执行多个单独的或互连的测试或评估中的任一者。例如,可以通过执行以下检查来确定有效性:准时性检查,以确保在某一时间段内接收到轨迹;一致性检查,以确保未来的轨迹与当前轨迹的所定义的物理参数一致或相符或在其范围内,使得所述轨迹与装置所处的当前轨迹相符(例如,转向到所述轨迹);可行性,以确保车辆在物理上能够导航到轨迹上(例如,在速度加速度限制内);陈旧性,以确保在某一时间段内生成轨迹;和/或其他有效性测试。在一些方面中,操作1004和1006可以由上述tmp 222的一致性验证器310、准时性验证器312、可行性验证器314和/或陈旧性验证器316执行。
128.接下来,在操作1008和1010处,可以确定第一轨迹和第二轨迹中的每一者的碰撞值。在一些情况下,操作1008和1010可以由tmp 222和/或碰撞检查器304执行。在一些方面中,操作1008和1010可以包括tmp 222拒绝它确定将含有即将与代理或对象发生的碰撞的轨迹。操作1008和1010可以包括执行自由空间检查器、评估基于对象列表的轨迹预测器、使用带有热图的机器学习的处理器或其他方法。在一些情况下,操作1004和1008中的一者或多者可以与操作1006和1010一前一后地、同时地或甚至基本上同时地(例如,在技术公差内)执行。
129.接下来,在操作1012处,可以基于在先前操作中确定的有效性和碰撞值来选择轨迹,诸如通过根据上述状态图700和800来选择无碰撞且有效的最高优先级的轨迹。在一些方面中,操作1012可以包括比较数据集,所述数据集包括至少两个替代轨迹的有效性值和碰撞值。
130.接下来,在操作1014处,可以指示或致使装置根据所选轨迹来操作。操作1014可以包括tmp 222将所选轨迹发送给主计算单元202、驱动管理器402和/或致动器404或装置或车辆的其他子系统,以致使装置遵循所选轨迹。
131.图11示出了用于验证轨迹的示例过程1100,所述过程可以由自主车辆或装置执行,如上文所述。在一些示例中,过程1100可以由如下文参考图16描述的规划子系统1628和/或由上述的tmp 222和/或系统监视器220执行。
132.过程1100可以开始于操作1102,其中可以接收用于自主车辆的轨迹。操作1102可以由tmp 222执行,诸如从轨迹规划ai 212或自主车辆的其他组件或子系统执行。
133.在操作1104处,可以确定轨迹的可行性值。在一些方面中,操作1104可以由可行性验证器314执行。如将在下文参考图14和图15更详细地描述,可以基于车辆的多个操作特性来确定可行性值。在一些示例中,可行性值可以涉及车辆是否在物理上能够导航到潜在轨迹,诸如基于车辆的最大速度、在一个或多个方向上的最大减速度、在一个或多个方向上的最大加速度、最大的合成加速度或多个其他特性(转弯半径和/或其他运动学约束)。在一些情况下,用于评估潜在轨迹的可行性值可以基于车辆以及其子系统的当前操作条件来更新,或者可以经由外部或客观度量来定义。
134.在操作1106处,可以确定轨迹的准时性值。在一些方面中,操作1106可以由准时性验证器312执行。在一些情况下,准时性可以由自从前一个轨迹例如被tmp 222接收以来已
经过去了多长时间来定义。在一些情况下,操作806可以包括确定接收到轨迹的时间与接收到前一个轨迹的时间之间的第二时间差。
135.准时性可以用作车辆或装置的各种子系统是否正常工作以及在预期界限内的指示符。例如,如果通常在某个时间段内或以某个频率接收到新轨迹,则在该时间段之外接收到的轨迹或根本没有接收到轨迹可能指示自主车辆的一个或多个系统出现故障或问题。因此,使用准时性和其他类似检查作为车辆的操作状态的指示符在提高车辆操作的安全性方面可能特别有用。在一些情况下,可以定义一个或多个时间段或限制,所述时间段或限制指示接收到的轨迹是否准时。这些限制可能是所有轨迹通用的,或者可以根据轨迹是主轨迹还是偶然轨迹来设置。
136.在一些方面中,准时性可以根据错过的轨迹的数量来定义。错过的轨迹的数量可以根据通常接收轨迹的时间间隔的经过,诸如每十分之一秒或百分之一秒。在一些情况下,一个错过的轨迹可能指示故障或导致轨迹无效的其他条件。在其他情况下,两个或不同数量的错过的轨迹可能指示导致准时性测试未能通过的问题。在又一些情况下,可以为不同类型的轨迹(例如,主、偶然、急停等)设置不同的时间段或错过的轨迹的数量。例如,对于主轨迹,可能会错过两个或更少的轨迹,并且所述轨迹仍被确定为准时或通过准时性测试。偶然轨迹可能只有在错过一个或更少的轨迹时才是准时性有效的,等等。以这种方式,所描述的技术可以利用准时性测试来验证潜在轨迹,其中用于确定轨迹是通过还是未通过准时性测试的限制或度量可以多种不同方式配置。
137.可以执行准时性检查以确保最近接收到轨迹,并且准时性检查可以包括将例如tmp 222从轨迹规划器ai 212接收到轨迹的时间与如可能由tmp维护的当前时间进行比较。例如,也可能有x秒的无线电静默,然后是新创建的轨迹。在这种情况下,轨迹将无法通过准时性测试但会通过陈旧性测试,如将在下文更详细地描述。换句话说,如本文所述的准时性测试确保准时地接收新轨迹。
138.在操作1108处,可以确定轨迹的一致性有效性,例如,由诸如二进制值的值表示。在一些情况下,操作1108可以由一致性验证器310执行。一致性有效性或一致性有效性值通常可以指示潜在轨迹是否在与车辆正在行驶的当前轨迹的某种物理关系内。在一些情况下,特定物理关系可以由一个或多个不同值定义,那些值可能会被车辆的操作特性或限制(例如,可行性值)修改。所述值可以包括距离差、时间差、转向阈值、偏航阈值、速度偏差阈值或共线性阈值。这种有效性可能与可行性有效性不同,因为比较是基于轨迹而不是车辆状态。在此类比较中,预期在车辆的标称操作期间,后续轨迹不应与先前生成的轨迹(如果生成足够快,例如每100ms或更快)显著偏离。因此,在此类示例中,偏离可以被标记为指示规划器子系统中的错误。在一些方面中,小的偏离可能是可接受的,使得一个或多个阈值偏差值用于确定差异是否会导致轨迹与先前轨迹不一致
139.确定一致性有效性值可以包括获得车辆的当前状态,诸如车辆的当前位置、取向、偏航和/或速度。还可以确定车辆的潜在状态,所述潜在状态将会将车辆置于潜在轨迹上,优选地在潜在轨迹上最接近或至少接近车辆当前状态的位置。基于当前状态和潜在状态,随后可以确定车辆是否可以安全地且有效地导航到潜在轨迹。下文将参考图12至图13来更详细地描述确定一致性有效性。
140.在操作1110处,可以确定轨迹的陈旧性值(也被称为陈旧性有效性值)。在一些方
面中,操作1110可以由陈旧性验证器316执行。在其他情况下,陈旧性可以被认为是一致性有效性的一部分并且由一致性验证器310执行。在一些情况下,陈旧性可以通过相对于当前时间或评估轨迹的时间创建轨迹的时间来定义,作为装置是否能够移动到并执行轨迹的指示符。例如,可以确定创建轨迹的时间(例如,可以在与轨迹相关联的时间戳中指示)与当前时间之间的第一时间差。在一些情况下,可以将该值与可行轨迹的时间限制(诸如预定义的时间限制)进行比较。满足或超过时间限制的时间差可能会将陈旧性有效性值设置为假。
141.在操作1112处,可以基于可行性值、准时性值、一致性值和/或陈旧性值来生成有效性信号。在一些情况下,当所有四个值都是正的或指示车辆可以安全导航到轨迹等时,可能会生成真或正值。在一个或多个值为负的情况下,在操作1112处可能会生成否定结果。应理解,在一些情况下,可以仅实施有效性测试的子集(例如,操作1104/1106、1108、1110中的一者或多者)以达到类似效果,并且其他测试或评估可以与上述测试和评估类似地组合。
142.在一些方面中,过程1100可以包括操作1114,其中可以确定是否接收到更多轨迹和/或是否有更多轨迹可供评估。如本文所使用的,虚线在用于指示操作时是任选的,使得可以在没有所指示的操作的情况下执行该过程。如果判断是肯定的,则过程1100可以循环执行操作1102-1112,直到没有更多的可用轨迹和/或时间阈值期满(例如,在必须选择和实施实际轨迹之前的某个时间)。在一些情况下,可以根据上述的状态图700和800来选择用于评估的轨迹。
143.接下来,在操作1116处,可以任选地基于上面确定的有效性值来选择轨迹。在一些方面中,选择轨迹可以利用上述的状态图700和/或800。在操作1118处,可以根据至少部分基于有效性信号选择的轨迹来控制自主车辆。在一些示例中,操作1118可以包括tmp 222将所选轨迹或其指示发送到主计算单元202、驱动管理器402和/或致动器404或装置或车辆的其他子系统,以致使装置遵循所选轨迹。
144.图12示出在与潜在轨迹1204成某种物理关系的当前轨迹1214上的自主车辆的示例图,作为示例示出如本文所述的一致性和可行性有效性测试的各种特征。在所示示例中,轨迹1204可以定义右转并且可以由所述轨迹上的车辆的多个不同状态表示,如由处于状态1202、1206、1208、1210和1212的车辆表示。当前轨迹1214可以由处于状态1216的车辆表示。
145.车辆的每个状态,诸如当前状态1216和潜在状态1208,可以由一个或多个性质或参数定义或与一个或多个性质或参数相关联。例如,车辆的状态可以由车辆在给定时间点和空间的位置、取向、偏航率、速度、加速度、加速度变化率和/或其他物理和运动学特性中的一者或多者来定义。
146.为了确定潜在轨迹是否与车辆的当前轨迹或状态一致,可以首先获得或确定当前位置。在一些情况下,当前位置可以是未来时间的估计位置,例如,对应于车辆将开始潜在轨迹1204或轨迹1214结束时的位置。可以将车辆投影到潜在轨迹1204上进入潜在状态,例如状态1208。在一些情况下,状态1208可以被选择为最接近车辆在轨迹1204上的当前状态1216的位置。可以相对于当前状态1216确定潜在状态1208,以例如最小化两点之间的距离。这可以包括几何评估(诸如确定轨迹1204与状态1216之间的最短欧几里得距离或通过其他方式)。
147.在一些情况下,可以将由位置1216处的车辆的状态表示的当前轨迹与潜在轨迹1204上的状态1208进行比较。车辆的每个状态1216和1208可以由多个参数表示,诸如位置、
取向、偏航和/或速度。可以将这些值进行比较以确定一个或多个偏差值,诸如两个状态之间的距离、处于第一状态1216的车辆与处于第二状态1208的车辆之间的命令转向位置差、两个状态之间的偏航偏差和/或两个状态之间的速度偏差。例如,到轨迹的距离阈值可以指示车辆何时离潜在轨迹太远而不一致。另一个示例包括命令转向位置,这可以是车辆要改变其转向角度多少才能达到潜在轨迹。随后可以将偏差值与一个或多个阈值进行比较以确定潜在轨迹12104是否与车辆的当前轨迹一致。在一些情况下,如果一个偏差值大于设定或容许的差值,则将发现潜在轨迹是不一致的。在一些方面中,差值可以是线性的,并且按照其他度量,诸如导出的度量,可以利用其他比较来确定轨迹是否一致。
148.在一些情况下,可以确定不同的速度偏差阈值,并且所述速度偏差阈值用于车辆的不同速度或速度范围,诸如经由钳位函数。例如,当车辆在当前轨迹上的当前速度是在每秒0.05米与3米之间时,阈值可以被设置为10%差值。在更高的速度下,阈值可以被设置为更低,使得5%或7%的差值将超过容许的速度偏差。
149.在一些情况下,一致性检查还可以包括确定潜在状态1204是否与轨迹1214共线。这可以例如通过取表示两个轨迹的两个向量的叉积来执行。这可以被执行以确保两个轨迹2104和1214在足够大的程度上相符以使乘客是安全的且不会紧张或者不会将车辆或乘客置于过分的压力下。
150.在一些方面中,一致性可能会包括检查陈旧性的测试,使得在很久之前(诸如超过1,000ms)创建的潜在轨迹可能无法验证一致性。在其他情况下,陈旧性可以与一致性分开确定,作为其自身的有效性检查。
151.在一些示例中,可以将差值与一个或多个容许值或偏差值进行比较,诸如用于确定两个轨迹、状态和轨迹或两个状态是否一致的多个变量、容许值或阈值中的任一者。例如,到轨迹的距离阈值可以指示车辆何时离潜在轨迹太远而不一致。其他阈值可以包括命令转向位置(例如,车辆必须改变其转向角度多少才能达到潜在轨迹)、偏航偏差、与车辆的不同速度范围相关联的一个或多个速度偏差以及共线性偏差。
152.在一些方面中,可行性检查可以包括确定车辆是否可以在车辆的一个或多个能力或可行性限制内从当前状态1216行驶到潜在轨迹1204。这可以包括确定将使车辆从状态1216移动到状态1208的运动学,由线1218表示。这可以包括确定主移动方向上的所需加速度或减速度(在轨迹1214的方向上继续)、横向加速度或减速度和/或合成加速度。运动学确定可以是基于处于状态1216的车辆的当前位置(例如,对应于车辆状态的位置)、车辆的当前速率或速度、行驶方向以及车辆的其他性质,以及处于潜在状态1208下的对应的合成值。
153.在一些方面中,可以基于车辆或车辆的子系统的一个或多个操作状态来修改可行性阈值中的一者或多者。例如,车辆的子系统可能检测到一个或多个轮胎中的胎压低。系统监视器例如可以基于检测到胎压低来修改车辆的一组可行性值。图13示出用于对潜在轨迹执行一致性检查并且基于一致性检查致使装置根据潜在轨迹操作的示例过程,所述一致性检查可以由tmp(诸如tmp 222)和/或如下文参考图16描述的规划子系统1328执行。过程1300可以是上文参考图11描述的过程1100的操作1108的更详细示例。
154.过程1300可以开始于操作1302,其中可以获得装置(诸如自主车辆)的当前状态。在一些方面中,自主车辆的一个或多个组件可以确定诸如上述tmp 222和/或系统监视器220的当前状态。在一些方面中,当前状态可以由第一组值定义,所述第一组值包括第一位
置、第一取向、第一偏航率或第一速度中的一者或多者。
155.在操作1304处,可以例如在装置是自主车辆的情况下由tmp 222和/或由系统监视器220获得要遵循潜在轨迹的装置的潜在状态。在一些情况下,操作1304可以包括基于当前状态,诸如接近与当前状态相关联的位置的位置,来确定潜在状态。
156.在操作1306处,可以将当前状态与潜在状态进行比较,并且在操作1308处,可以确定潜在轨迹是否通过一项或多项一致性检查。所述一项或多项一致性检查可以包括上述一致性检查中的一者或多者。操作1306和1308可以包括生成当前状态与潜在状态之间的差异,并且将所述差异与如上所述的一组偏差值进行比较。
157.如果操作1308处的判断是否定的,则可以在操作1314生成失败的有效性信号,并且选择另一个轨迹来进行评估。然而,如果操作1308处的判断是位置,则可以在操作1310生成指示有效轨迹的有效性信号,并且可以在操作1312致使装置根据潜在轨迹操作。
158.图14示出了自主车辆(诸如参考图2至图5描述的自主车辆)的各种子系统之间的示例通信1400。通信1400示出了系统监视器220可以发送对车辆施加的可行性限制或值的车辆更新的示例方式。
159.在所示示例中,系统监视器220可以从自主车辆内的各种来源接收系统数据,诸如从主计算单元202和/或驱动管理器402。系统数据可以包括来自车辆的各种子系统的各种更新、状态信息、心跳信息等。在一些方面中,系统监视器220接收到的系统数据还可以包括关于车辆在其中操作的环境的传感器数据,诸如天气、路况、温度等。
160.系统监视器220可以维护装置的可行性限制的集合或数据结构。这些可行性限制或能力限制可以定义对车辆的移动施加的各种物理限制。一个示例可以包括可行动作或对车辆动作的限制,并且可以包括默认能力和当前能力的值。例如,可行动作可以包括最大速度、最大纵向减速度、最大纵向加速度(在当前运动方向上)、最大横向加速度和最大合成加速度(例如,横向和纵向上的最大加速度)。应理解,还可以对车辆施加其他可行的动作/限制以提高车辆操作的安全性和乘客的安全性。
161.系统监视器220可以根据系统监视器220接收到的各种输入(包括来自主计算单元202和/或驱动管理器402的系统数据和状态更新和/或其他数据(诸如传感器数据))来更新可行性限制。在一些方面中,系统监视器220可以维护和更新关于车辆的各种子系统的各种状态信息,包括例如多个子系统的当前状态,所述状态信息可能会影响一个或多个可行性限制。在一个示例中,自主车辆1400的各种子系统的操作状态可以包括胎压信息、按百分数计的马达操作、车辆电气系统的各种组件以及可见于车辆或自主车辆或能够移动的其他装置中的各种其他子系统。在一些情况下,各种子系统的操作状态可以用数值(例如,按百分数)表示,表示为三个运转正常的、劣化的和不可操作的状态中的一者,或经由某种其他方案。在一些方面中,系统监视器220可以定期地、在条件改变时、或以其他周期性或非周期性间隔来接收车辆的各种子系统的状态更新。在一些方面中,所述间隔可以对应于创建和/或评估新轨迹时。
162.系统监视器220还可以维护或存取值的集合,所述值指示各种子系统的操作状态的一个或多个变化对可行性限制或值的影响。在一个示例中,胎压监视系统(tpms)的各种层级或psi值(它们是操作状态的示例)的影响可以与最大速度、最大纵向加速度、最大纵向减速度、最大横向加速度和/或最大合成加速度中的一者或多者的不同影响或限制相关。以
类似的方式,车辆的任何子系统或传感器输入可以与车辆的一个或多个可行性值的变化相关。在一些情况下,车辆的子系统的各种操作状态的影响可以凭经验确定、被预设、或被呈现并且可适应车辆的操作条件、用户偏好等。在一些情况下,单个子系统的变化(诸如轮胎psi)可能会影响一个以上的可行性限制。在一些示例中,两个或更多个子系统的操作状态可能会促成车辆的单个或多个可行性限制的变化。
163.系统监视器220可以通过获得子系统状态信息、确定子系统状态信息对一个或多个可行性限制有什么影响以及更新受影响的可行性限制来利用上述信息来更新车辆或装置的可行性限制或物理操作限制。在其他方面中,一个或多个所描述的操作可以另外地或替代地由tmp 222或主计算单元202或辅助计算单元204的其他方面执行。
164.在一些方面中,可行性限制的集合和/或其调整可以是一种或多种轨迹类型(诸如主轨迹、偶然轨迹等)特定的。在该示例中,系统监视器220可以为不同类型的轨迹设置不同的能力限制。例如,可以将偶然轨迹的最大速度设置为低于主轨迹的最大速度。类似地,车辆的一个或多个子系统的状态变化可能对不同类型轨迹的可行性限制产生不同的影响。例如,胎压的变化可能会导致主轨迹的最大纵向减速度的第一减小以及偶然轨迹的最大纵向减速度的第二减小。
165.在更新可行性限制后,系统监视器220可以将更新的限制(例如,呈一个或多个值的形式)发送给tmp 222和主计算单元202。tmp 222可以在验证潜在轨迹的过程中使用可行性限制,并且主计算单元202和/或轨迹规划器ai 212可以在生成新轨迹时使用可行性限制。在选择潜在轨迹后,tmp 222随后可以将一个或多个轨迹发送给主计算单元202、系统监视器220和驱动管理器402以提供对未来轨迹确定的进一步反馈。
166.图15示出用于验证潜在轨迹的可行性的示例过程,所述过程可以由上述的tmp 222和系统监视器220中的一者或多者和/或由下文参考图16描述的规划子系统1628执行。过程1500可以是上文参考图11描述的过程1100的操作1104的更详细示例。
167.过程1500可以开始于操作1502,其中可以获得对应于装置的至少一个子系统的一个或多个状态更新。一个或多个状态更新可以直接来自子系统、与其相关联的传感器或来自监视系统,诸如系统监视器220。状态更新可以指示子系统的操作状态或值,诸如胎压值、电池充电水平、操作水平(例如,百分数)等,或者可以指示某一子系统发生故障。在该示例中,操作状态或状态更新可以从子系统没有以100%能力操作的指示得出,等等。
168.在操作1504处,可以基于一个或多个状态更新来减少装置的可行性限制。在一些方面中,操作1504可以包括更新一个或多个能力值。在一些方面中,一个子系统的变化可能会影响一个以上的可行性限制。在这种情形中,可以更新一个以上可行性或能力限制。在其他情况下,可以基于装置的一个或多个肯定状态更新来增大可行性限制或将可行性限制恢复为默认限制。
169.在操作1506处,可以例如从轨迹规划器ai 212获得装置的潜在轨迹。在操作1508处,可以确定遵循潜在轨迹(或导航到起点或潜在轨迹上的某点上)的装置是否将超过减小的可行性限制。操作1508可以包括模拟或确定车辆的一个或多个运动学值,诸如加速度、速度、方向变化等,以导航到并遵循潜在轨迹。
170.如果操作1508处的判断是否定的,则可以在操作1514生成失败的有效性信号,并且选择另一个轨迹来进行评估。然而,如果操作1508处的判断是肯定的,则可以在操作1510
生成指示有效轨迹的有效性信号,并且可以在操作1512处致使装置根据潜在轨迹操作。
171.图16示出了根据自主车辆的自主车辆组件1600的示例架构可以用于验证和选择轨迹来进行导航的元件的示例。自主车辆可以被表征为具有耦合到各种控制器的自主车辆操作系统1602,所述各种控制器进而耦合到自主车辆的各种组件以处置运动、功率管理等。自主车辆操作系统1602的元件提供了用于生成轨迹并如本文所述对那些轨迹执行一项或多项验证的计算系统。这些元件可以用于除了自主车辆之外的其他应用中。
172.架构1600可以指定一个或多个计算机系统,包括各种硬件、软件、固件等,以实施本文所述的系统、方法和设备的方面。例如,自主车辆操作系统1602可以包括周围环境分析系统1603以及可用于自主车辆的各种方面的其他组件。周围环境分析系统1603可以用于获取自主车辆操作系统1602可以用于操作马达、转向、对象躲避等的控制器的信息。
173.周围环境分析系统1603可以被组织为多个子系统以简化实施方式,允许单独的团队针对特定子系统或出于其他原因进行开发。在一些实施方案中,独立地实施子系统,而在其他实施方案中,一个以上子系统被部分地或完全地集成在一起。子系统可以包括激光雷达子系统1604、相机子系统1606、雷达子系统1608、声纳子系统1610、体素空间子系统1612、地面确定子系统1614、聚类子系统1616、插值子系统1618、对象确定子系统1620、动态对象确定子系统1622、光线投射子系统1624、跟踪子系统1626、规划子系统1628、传感器校准子系统1630、注释子系统1632和可能的其他子系统1634。
174.给定的子系统可以用程序代码或硬件来实施以便与其他子系统进行通信,以接收输入并提供输出。所述输入中的一些可以来自传感器。在本文的一些描述中,为了可读性,子系统可能被描述为包括传感器和/或发射器,子系统从所述传感器获得数据或信号,子系统将数据或信号输出到所述发射器。例如,声纳子系统可能被描述为具有超声波传感器或可能被描述为从超声波传感器接收信号。作为另一个示例,相机子系统可能被描述为具有相机和显示器,或者可能被描述为从相机接收信号或数据并向显示器发送信号或数据。
175.虽然未在图16中示出,但应理解,可以根据需要来提供子系统间的通信。给定的子系统可以通过将数据通过某个通道直接发送到另一个子系统来与另一个子系统通信,或者周围环境分析系统1603可以包括总线子系统或通信基础设施,子系统可以经由所述总线子系统或通信基础设施通过在其间传递数据和/或信号来进行通信。周围环境分析系统1603还可以被配置为接收外部数据并将信息传送到周围环境分析系统1603的外部。
176.给定的子系统可能具有一些它自己的计算处理,所述计算处理可以由专用于该给定子系统的硬件执行,或者可以由被分配来执行该子系统的计算的处理器或电路执行,在子系统完全用软件实施并且使用存储器1638(诸如程序代码存储器和数据存储存储器)由一个或多个处理器1636执行的情况下,情况可能是这样。存储器可以是用于变量和数据的暂时存储,诸如ram,以及用于永久存储(即,数据无需刷新、电源等也能保存某一段时间)的存储器,并且即便没有明确提及,在指出时也应有所暗示。例如,在子系统被描述为对数据库进行操作或存储数据的情况下,则将有某种形式的存储器用于以电子可读形式存储数据。在一些情况下,存储器中的数据库或数据存储并非是一个子系统特定的并且不是在一个子系统内部。在这些情况下,存储器可被一个以上子系统存取/访问。例如,一个子系统可能基于由该子系统获得的传感器数据来创建记录并且将那些记录写入到数据库或其他数据结构,进而,另一个子系统可以读取和使用该数据。在子系统以软件实施的情况下,子系
统可能包括耦合到该子系统特定的处理器的程序代码或更一般的程序代码存储器和处理器。
177.在一些情况下,在自主车辆中采用周围环境分析系统1603。在一些情况下,周围环境分析系统1603可以为自主车辆提供感知和规划功能性。通常,周围环境分析系统1603可以提供激光雷达感知、雷达感知、视觉(相机)感知、声学感知、分割和分类、跟踪和融合以及预测/规划,以及与其他控制器介接,所述其他控制器诸如驱动控制器、电源控制器、环境控制器和通信控制器。
178.自主车辆操作系统1602可以包括规划系统1640、道路导航系统1642、清单管理器1644以及审计/故障记录器1646。自主车辆操作系统1602还可以包括各种传感器1650和发射器1652或与之介接。
179.自主车辆操作系统1602可以与以下各者介接:驱动控制器1670,所述驱动控制器与马达1680、转向装置1682、制动器1684和悬架1686交互;电源控制器1672,所述电源控制器与电池1688和逆变器/充电器1690交互;环境控制器1674,所述环境控制器与加热、通风、空调(hvac)组件1692和照明装置1694交互;以及通信控制器1676,所述通信控制器处置在自主车辆、与自主车辆一起使用的装置和外部装置之间的通信,诸如经由网络、蜂窝通道或wi-fi通道1696。自主车辆操作系统1602、控制器和安装在自主车辆中的车辆组件的组合可以提供能够在没有持续的人工干预的情况下安全导航的车辆。
180.再次参考周围环境分析系统1603以及其子系统,激光雷达子系统1604,如本文所描述,激光雷达子系统1604可以包括一个或多个激光雷达传感器以捕获激光雷达数据来进行分割,并且如本文详细描述的,可以包括任何一个或多个深度传感器。在一些情况下,激光雷达子系统1604可以包括用于组合或合成来自多个激光雷达传感器的激光雷达数据以生成激光雷达数据的元旋转的功能性,所述元自旋(meta spin)可以涉及基于多个激光雷达传感器的激光雷达数据。在激光雷达数据的元自旋的情况下,激光雷达子系统1604可以包括用于确定元旋转数据的虚拟原点(例如,所有激光雷达传感器共同的坐标参考系)并且执行数据变换使得相对于虚拟原点来表达来自一个或多个激光雷达传感器中的每一者的激光雷达数据的功能性。如在本公开的上下文中可以理解的,激光雷达子系统1604可以捕获数据并且可以将数据集传输到周围环境分析系统1603的其他子系统以进行后续处理。
181.相机子系统1606可以包括一个或多个相机传感器或与之介接以捕获视觉数据来进行图像分割和/或分类。相机子系统1606可以包括任何数量和类型的相机传感器。例如,相机子系统1606可以包括任何彩色相机、单色相机、深度相机、rgb-d相机、立体相机、红外(ir)相机、紫外(uv)相机等。如在本公开的上下文中可以理解的,相机子系统1606可以捕获数据并且可以将数据集传输到其他系统以进行后续处理。例如,来自相机子系统1606的数据可以被包括作为多通道图像的一个或多个通道,所述多通道图像被另一个子系统照此处理。
182.雷达子系统1608可以包括一个或多个雷达传感器以捕获环境中的对象的距离、角度和/或速度。如在本公开的上下文中可以理解的,雷达子系统1608可以捕获数据并且可以将数据集传输到周围环境分析系统1603的其他子系统以进行后续处理。例如,来自雷达子系统1608的数据可以被包括作为多通道图像的一个或多个通道,所述多通道图像被提供到另一个子系统。
183.声纳子系统1610可以包括一个或多个扬声器或发声器和一个或多个传声器(诸如传声器阵列)或与之介接以捕获来自环境中的对象的声学信息。另外地或替代地,此类声纳子系统1610可以包括各种超声换能器。例如,声纳子系统1610可以使超声换能器发射声音脉冲并且可以监听回声以确定与环境中的对象相关联的位置和/或运动信息。如在本公开的上下文中可以理解的,声纳子系统1610可以捕获数据并且可以将数据集传输到其他子系统以进行后续处理。例如,周围环境分析系统1603的另一个子系统可以将从声纳子系统1610获得的数据与从激光雷达子系统1604获得的数据融合,以便更准确地分割对象和/或确定关于对象的信息,或实现其他目的。
184.除了所示的那些之外,自主车辆操作系统1602还可以包括适合于在自主车辆中使用的任何数量或类型的其他传感器。各种传感器1650可以包括但不限于超声换能器、车轮编码器、环境传感器、传声器、惯性测量单元(imu)、加速度计、陀螺仪、磁力计、温度传感器、湿度传感器、光传感器、全球定位系统(gps)传感器、位置传感器等。
185.在一些情况下,激光雷达子系统1604、相机子系统1606、雷达子系统1608和/或声纳子系统1610可以为周围环境分析系统1603的其他子系统提供一个或多个数据集,用于组合和/或合成所述数据以使分割得到改进。
186.周围环境分析系统1603还可以包括用于已由计算机模拟算法生成的模拟数据的存储装置,以便部分用于测试。在一些情况下,模拟数据可以包括任何类型的模拟数据,诸如相机数据、激光雷达数据、雷达数据、声纳数据、惯性数据、gps数据等。在一些情况下,周围环境分析系统1603可以对模拟数据进行修改、变换和/或执行本文所述的转换操作,以用于验证操作和/或用于训练机器学习算法,如本文所述。例如,为了在实验室环境中测试某些功能性,可以将模拟传感器数据/信号如同实际传感器数据一样供应到子系统,以测试一些子系统的性能。
187.体素空间子系统1612可以包括将数据转换或映射到体素地图的功能性。例如,体素空间子系统1612可以接收激光雷达数据、相机数据、雷达数据、声纳数据等,并将单独数据点映射、转换或关联到表示环境中的三维空间的体素地图。体素空间是三维环境(诸如自主车辆周围的空间)的逻辑表示,所述三维环境被表示为离散的小体积,例如体素。体素地图为体素空间中的相应体素提供数据或值。作为三维环境的表示,体素地图可以存储在存储器中并且由处理器操纵。
188.在一些情况下,体素空间子系统1612可以定义体素空间的尺寸,包括体素空间的长度、宽度和高度。此外,体素空间子系统1612可以确定各个体素的大小。在一些情况下,体素在整个体素空间中可以具有均一的大小和形状,而在一些情况下,体素的大小和/或密度可以基于体素空间中的相对位置而变化。例如,体素的大小可以与体素距体素空间的原点或中心的距离成比例地增大或减小。另外地或替代地,此类体素空间子系统1612可以包括虚拟原点与体素空间的原点之间的变换。在一些情况下,体素空间子系统1612可以包括生成稀疏体素空间的功能性,在稀疏体素空间中,不包括数据或包括低于数据阈值的数据量的体素不需要存在体素地图中,并且可以假设或忽略那些体素的值。在此类情况下,体素地图可以被组织为八叉树图(octomap)、体素散列等。在一些情况下,体素空间子系统1612可以包括通过在数据映射到体素空间并存储在体素地图中时对数据进行滤波来减少体素地图的数据或用于生成体素地图的数据中的噪声的量的功能性。例如,滤波可以包括去除低
于每体素的数据阈值量(例如,与体素相关联的激光雷达数据点的数目)或超过预定数目的体素(例如,与多个邻近体素相关联的激光雷达数据点的数目)的数据。在一些情况下,体素空间子系统1612可以随着时间推移在收集数据时和或响应于自主车辆在体素空间对应于的真实世界环境内导航而更新体素地图。例如,在自主车辆在一定环境中导航时,体素空间子系统1612可以添加数据和/或丢弃体素地图中的数据。
189.在一些情况下,体素空间子系统1612可以初始化体素地图以及其他体素空间参数,诸如体素大小、取向和范围,将初始体素地图处理为表示为空的空间,并且体素空间子系统1612可以随着时间推移在捕获激光雷达数据时建立对象的表示。在其他情况下,体素空间子系统1612可以使用全局地图数据来初始化体素地图和体素空间参数,使得在本地捕获的激光雷达数据可以用于确定自主车辆在全局地图空间内的位置,并且可以用于清理或清除全局地图的体素。
190.地面确定子系统1614可以包括解析体素空间的各个体素以确定与体素空间中的环境相关联的地面的功能性。例如,地面确定子系统1614可以通过估计表示与特定体素相关联的数据的平面并且确定所述平面的法向向量来确定局部平坦的体素。例如,地面确定子系统1614可以对体素地图的体素执行主成分分析以确定与和体素的关联数据相关联的最小主成分。在一些示例中,对于主成分分析,最小特征向量可以对应于平面的法向向量,而与特征向量相关联的特征值可以对应于与特定体素相关联的数据在最小特征向量的方向上的扩展或扩散程度。
191.再举例来说而非限制,此类表面法线确定可以通过计算指示从体素中的点p到p的两个最近邻的方向的向量的叉积的法线来完成。再举例来说而非限制,此类表面法线确定可以通过对与单个体素相关联的协方差矩阵执行特征值分解来完成。在一些情况下,地面确定子系统1614可以通过基于与邻近体素相关联的值来确定与目标体素相关联的表面来确定目标体素是否是局部平坦的体素。此外,在一些情况下,地面确定子系统1614可以利用移动立方类型算法来基于与体素相关联的平均点值来创建网格以确定包括至少三个点的三角形以创建表面。此外,地面确定子系统1614可以接收参考取向,所述参考取向可以对应于自主车辆的方向或取向。如上所述,如果与体素相关联的法向向量在参考取向的阈值量之内,则地面确定子系统1614可以确定体素是局部平坦的体素。
192.聚类子系统1616可以与地面确定子系统1614结合操作以确定地面区域,可能是通过在存储器中从最接近于激光雷达数据的区域的表面开始或从自主车辆下面的表面开始来生长地面区域的表示。即,体素空间中对应于接近自主车辆的真实世界位置的位置处的体素可以由聚类子系统1616用作种子体素,聚类子系统随后可以从那些种子体素扩展体素的表示。聚类子系统1616可以确定相邻的局部平坦的体素属于同一集群,并且可以生长区域以涵盖地面平面。此外,聚类子系统1616可以与下文讨论的对象确定子系统1620结合操作,以确定体素(集群形式或其他形式)与特定对象相关联。聚类子系统1616可以利用各种聚类算法,包括但不限于区域生长、层次聚类、划分聚类、平方误差聚类、图论聚类、混合解析聚类、寻找均值聚类、k均值聚类、n切聚类、邻近聚类等。
193.内插子系统1618可以与地面确定子系统1614和/或聚类子系统1616结合操作以将各种集群组合或关联到一起以扩展地面平面的表示。例如,在确定与自主车辆相关联的地面区域时,局部平坦的体素可能不会形成单个集群,在该种情况下,内插子系统1618可以内
插在点之间以确定梯度是高于还是低于用于生长地面平面集群的阈值梯度。可以根据需要在本文的别处提供地面确定子系统1614、聚类子系统1616和内插子系统1618的额外方面,以便于理解那些子系统。
194.对象确定子系统1620可以包括确定在体素空间中由体素地图表示的对象的功能性。例如,对象确定子系统1620可以从地面确定子系统1614接收地面平面的指示和/或接收一些或所有的局部平坦的体素的指示,并且可以从体素空间移除与地面相关联的体素,使得体素地图可能仅含有其他体素的值。接下来,对象确定子系统1620可以解析其余体素以基于体素的连接性来确定对象。例如,对象确定子系统1620可以与聚类子系统1616结合操作以通过确定相邻体素被视为同一个对象的一部分来在体素空间中生长与对象对应的区域。对象确定子系统1620可以将对象标识符分配给与特定对象相关联的所有体素,并且在一些情况下,由对象确定子系统1620分配或确定的对象标识符可以传播到与包括特定对象的体素相关联的激光雷达数据。关于对象、地面、集群等的额外信息可以与体素地图一起或作为单独的数据结构来存储。可以根据需要在本文的别处提供对象确定子系统1620的额外方面,以便于理解对象确定子系统1620。
195.动态对象确定子系统1622可以包括将可能被确定为在对应于体素空间的空间中存在的静态对象和动态对象区分开的功能性。例如,动态对象确定子系统1622可以随着时间推移积累数据以通过将第一时间时的体素值与第二时间时的体素值进行比较以确定体素的占用是否随着时间而改变来确定对象的运动。例如,如果体素在第一时间时被对象占用并且在第二时间时未被对象占用,则动态对象确定子系统1622可能将该对象视为动态对象并且将该评估记录为体素地图数据。基于哪些体素随着时间推移是被占用还是未被占用,动态对象确定子系统1622可以确定动态对象的移动,诸如移动的速度和方向。在一些情况下,动态对象确定子系统1622可以提供用于确定动态对象的移动的指示。可以根据需要在本文的别处提供动态对象确定子系统1622的额外方面,以便于理解动态对象确定子系统1622。
196.光线投射子系统1624可以与动态对象确定子系统1622结合操作以将静态对象与动态对象区分开。此外,光线投射子系统1624可以包括随着数据在体素地图的表示中积累而随着时间推移清除体素地图的功能性。例如,当对象随着时间推移在体素空间中移动时,被动态对象占用的体素的表示可能随着时间推移涉及越来越多的数据。然而,光线投射子系统1624可以分析与激光雷达数据相关联的光线的路径,例如,以确定光线从中穿过的一些体素应被视为清除的并且清除体素地图中的对应存储。因此,光线投射子系统1624可以提供额外功能性来确定在第一时间时被占用的体素在第二时间未被占用,这可以提供给各种子系统以确定对象是例如动态对象。在一些情况下,体素地图可以以稀疏方式(例如,提供表示被占用体素的数据且忽略未被占用的体素)或以密集方式(例如,不丢弃体素)来表示。在一些情况下,光线投射子系统1624可以以密集方式存储光线投射信息,也就是说,稀疏体素表示中不存在的体素(例如,因为体素不具有相关联的激光雷达数据)可能具有与此类体素相关联的光线投射信息。例如,没有相关联的激光雷达数据的体素仍然可以在密集体素地图中表示以包括与体素空间的体素相关联的光线投射信息。在一些情况下,至少部分地响应于本文讨论的光线投射操作,密集体素表示可以将体素未被占用的肯定信息与体素相关联。此外,随着针对各个体素的激光雷达数据积累,可以在体素地图中将否定信息与
各个体素相关联以指示它们被例如静态对象占用。随着数据随着时间推移而积累,可以部分地聚合信息以确定体素是例如对应于开放空间还是静态对象。此外,光线投射子系统1624可以用于通过将在本地捕获的激光雷达数据与全局地图数据进行比较来清理全局地图。可以根据需要在本文的别处提供光线投射子系统1624的额外方面,以便于理解光线投射子系统1624。
197.跟踪子系统1626可以包括接收一个或多个动态对象的指示并执行额外处理以便跟踪对象的功能性。例如,跟踪子系统1626可以确定动态对象的速度和/或可以确定并存储动态对象随着时间推移的轨迹。在一些情况下,跟踪子系统1626可以被编程以执行预测算法,所述预测算法可以基于对象的先前运动来预测将要跟踪的对象的路径。
198.规划子系统1628可以包括接收分割的数据和/或地面平面、静态对象和/或动态对象的指示以确定自主车辆的轨迹的功能性。例如,规划子系统1628可以接收识别地面平面的分割信息并且可以生成自主车辆要遵循的轨迹。规划子系统1628和/或操作系统1602的另一个子系统可以包括或实施如上所述的避碰系统,用于对由规划子系统1628确定的轨迹执行一项或多项验证。
199.传感器校准子系统1630可以包括至少部分基于相对于环境确定的分割信息来校准一个或多个传感器的功能性。例如,虽然可以使用来自激光雷达子系统1604、相机子系统1606、雷达子系统1608和/或声纳子系统1610的传感器数据来估计位置和/或取向(例如,使用同时定位与地图构建(slam)),但是自主车辆还可以包括用于确定自主车辆在环境中的位置的额外传感器,诸如惯性测量单元(imu)和/或gps单元。在一些情况下,imu可以指示自主车辆处于第一位置,而本文讨论的激光雷达数据的分析指示车辆处于与第一位置不同的第二位置。传感器校准子系统1630可以确定位置的差异并且可以调整或校准一个或多个传感器以更新自主车辆的位置或一个或多个传感器内在特性或外在特性。
200.注释子系统1632可以包括接收本文讨论的分割信息的功能性并且可以用与对象相关联的、作为数据与体素地图一起或以其他方式存储的信息来对地面平面、静态对象和/或动态对象加注释。在一些情况下,注释子系统1632可以在图形用户界面中提供分割信息以例如由技术人员进行人工验证和/或调整。在一些情况下,注释子系统1632可以包括确定并应用本文讨论的对象的分类的功能性。注释子系统1632可以被编程以执行机器学习算法,诸如神经网络过程,以执行分割和分类操作。
201.示例性神经网络可以将输入数据传递经过一连串连接的层以产生输出。神经网络的一个示例可以包括卷积神经网络或cnn。cnn中的每个层还可以包括另一个cnn,或可以包括多个层。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指一大类这样的算法,其中基于学习的参数来生成输出。
202.尽管在神经网络的背景下进行了讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于回归算法(例如,普通最小二乘法回归(olsr)、线性回归、逻辑回归、逐步回归、多变量自适应回归样条(mars)、本地散点平滑估计(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)、adaboost、堆栈泛化(混合)、梯度提升机(gbm)、梯度提升回归树)(gbrt)、随机森林)、svm(支持向量机)、监督学习、无监督学习、半监督学习等。
203.图16中绘示的环境可以用一个或多个计算机系统来实施,所述计算机系统包括存储装置、一个或多个处理器、存储器以及可能还有操作系统。
204.本文描述的系统和方法可以用软件或硬件或其任何组合来实施。本文描述的系统和方法可以使用一个或多个计算装置来实施,所述计算装置可以是或可以不是彼此物理上或逻辑上分离的。所述方法可以由被布置为本地硬件、本地虚拟系统或托管专用实例的组件来执行。此外,本文描述的方法的各个方面可以组合或融合到其他功能中。
205.用于实施所述系统和方法的示例性环境和计算机化系统可以包括处理器或计算机系统,所述处理器或计算机系统可以被配置为具体地执行本文所述的一些或所有的方法。在一些实施方案中,可以通过一个或多个计算机或处理器而使所述方法部分地或完全地自动化。本文描述的系统和方法可以使用硬件、固件和/或软件中的任一者的组合来实施。本文描述的当前系统和方法(或其任何部分或功能)可以使用硬件、软件、固件或其组合来实施,并且可以在一个或多个计算机系统或其他处理系统中实施。在一些实施方案中,所示的系统元件可以组合到单个硬件装置中或分开到多个硬件装置中。如果使用多个硬件装置,则所述硬件装置可以彼此在物理上接近或远离。所描述和示出的方法的实施方案意欲是说明性而非限制性的。例如,在不同的实施方案中,所述方法的一些或所有的步骤可以被组合、重新布置和/或省略。
206.在一个示例性实施方案中,本文描述的系统和方法可能会涉及能够实施本文描述的功能性的一个或多个计算机系统。示例计算装置可以是但不限于运行任何操作系统的个人计算机(pc)系统,所述操作系统诸如但不限于os x
tm
、ios
tm
、linux
tm
、android
tm
和microsoft
tm
windows
tm
。然而,本文描述的系统和方法可能不限于这些平台。而是,本文描述的系统和方法可以在运行任何适当的操作系统的任何适当的计算机系统上实施。
207.所述系统可以包括一个或多个处理器。处理器可以连接到通信基础设施,诸如但不限于通信总线、交叉条或网络等。进程和处理器无需位于相同的物理位置。换句话说,进程可以经由例如lan或wan连接在一个或多个地理上相距甚远的处理器处执行。计算装置可以包括显示接口,所述显示接口可以转发来自通信基础设施的图形、文本和其他数据以在显示单元上显示。
208.计算机系统还可以包括但不限于主存储器、随机存取存储器(ram)和辅助存储器等。辅助存储器可以包括例如硬盘驱动器和/或可移动存储驱动器,诸如压缩光盘驱动器cd-rom等。可移动存储驱动器可以从可移动存储单元读取和/或对可移动存储单元写入。如可以理解的,可移动存储单元可以包括其中存储有计算机软件和/或数据的计算机可用存储介质。在一些实施方案中,机器可存取介质可以指用于存储可由计算机存取的数据的任
何存储装置。机器可存取介质的示例可以包括,例如但不限于:磁性硬盘;软盘;光盘,像压缩光盘只读存储器(cd-rom)或数字通用光盘(dvd);磁带;和/或存储卡等。
209.处理器还可以包括用于存储数据的一个或多个数据存储装置、或可操作地耦合到所述一个或多个数据存储装置以与之通信。作为非限制性示例,此类数据存储装置可以包括磁盘(包括内部硬盘和可移动磁盘)、磁光盘、光盘、只读存储器、随机存取存储器和/或快闪存储装置。适合于有形地体现计算机程序指令和数据的存储装置还可以包括所有形式的非易失性存储器,包括例如半导体存储器装置,诸如eprom、eeprom和快闪存储器装置;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由asic(专用集成电路)补充或结合到asic中。
210.处理系统可以与计算机化的数据存储系统通信。数据存储系统可以包括非关系或关系数据存储区,诸如mysql
tm
或其他关系数据库。可以使用其他物理和逻辑数据库类型。数据存储区可以是数据库服务器,诸如microsoft sql server
tm
、oracle
tm
、ibm db2
tm
、sqlite
tm
或任何其他数据库软件、关系或其他。数据存储区可以存储识别句法标签的信息以及对句法标签进行操作所需的任何信息。在一些实施方案中,处理系统可以使用面向对象的编程并且可以将数据存储在对象中。在这些实施方案中,处理系统可以使用对象关系映射器(orm)来将数据对象存储在关系数据库中。可以使用任意数量的物理数据模型来实施本文描述的系统和方法。在一个示例实施方案中,可以使用关系数据库管理系统(rdbms)。在那些实施方案中,rdbms中的表可以包括表示坐标的列。在经济系统的情况下,表示公司、产品等的数据可以存储在rdbms的表中。表之间可以具有预定义的关系。表还可以具有与坐标相关联的附件。
211.在替代的示例性实施方案中,辅助存储器可以包括用于允许将计算机程序或其他指令加载到计算机系统中的其他类似装置。此类装置可以包括例如可移动存储单元和接口。此类装置的示例可以包括程序盒式存储器和盒式存储器接口(诸如,例如但不限于见于视频游戏装置中的那些)、可移动存储器芯片(诸如,例如但不限于可擦除可编程只读存储器(eprom),或可编程只读存储器(prom)和相关的套接口),以及其他可移动存储单元和接口,它们可以允许软件和数据从可移动存储单元传输到计算机系统。
212.计算装置还可以包括输入装置,诸如但不限于语音输入装置(诸如传声器)触摸屏、手势识别装置(诸如相机)、其他自然用户接口、鼠标或其他指点装置(诸如数字化仪),以及键盘或其他数据输入装置。计算装置还可以包括输出装置,诸如但不限于显示器和显示接口。计算装置可以包括输入/输出(i/o)装置,诸如但不限于通信接口、缆线和通信路径等。这些装置可以包括但不限于网络接口卡和调制解调器。通信接口可以允许在计算机系统与一个或多个外部装置之间传输软件和数据。
213.在一个或多个实施方案中,计算装置可以可操作地耦合到汽车系统。此类汽车系统可以是手动操作的、半自主的或完全自主的。在此类实施方案中,输入装置和输出装置可以包括一个或多个图像捕获装置、控制器、微控制器和/或其他处理器,以控制汽车功能,诸如但不限于加速、制动和转向。此外,此类实施方案中的通信基础设施还可以包括控制器局域网(can)总线。
214.在一个或多个实施方案中,计算装置可以可操作地耦合到任何基于机器视觉的系统。例如,此类基于机器的视觉系统包括但不限于手动操作、半自主或完全自主的工业或农
业机器人、家用机器人、检查系统、安全系统等。即,本文描述的实施方案不限于一个特定的上下文并且可以适用于利用机器视觉的任何应用。
215.在一个或多个实施方案中,当前实施方案可以在一个或多个计算机网络的环境中实施。网络可以包括专用网络或公共网络(例如因特网,如下所述),或两者的组合。网络可以包括硬件、软件或两者的组合。
216.从面向电信的角度来看,网络可以被描述为由通信设施互连的一组硬件节点,一个或多个进程(硬件、软件或其组合)在每个此类节点处起作用。进程可以使用进程间通信路径通过它们之间的通信路径相互通信和交换信息。在这些路径上,使用了适当的通信协议。
217.根据当前实施方案,示例性计算机和/或电信网络环境可以包括节点,所述节点可以包括硬件、软件或硬件与软件的组合。节点可以通过通信网络互连。每个节点可以包括可由结合到节点中的处理器执行的一个或多个进程。例如,单个进程可以由多个处理器运行,或者多个进程可以由单个处理器运行。另外,每个节点可以提供网络与外部世界之间的接口点,并且可以结合子网络的集合。
218.在示例性实施方案中,进程可以通过支持通过任何通信协议进行通信的进程间通信路径彼此通信。所述路径可以依次或并行、连续或间歇地起作用。除了许多计算机使用的标准并行指令集之外,所述路径还可以使用本文相对于通信网络描述的任何通信标准、协议或技术。
219.节点可以包括能够执行处理功能的任何实体。如所述,可以与实施方案一起使用的此类节点的示例包括计算机(诸如个人计算机、工作站、服务器或大型机)、手持无线装置和有线装置(诸如个人数字助理(pda)、具有处理能力的调制解调器手机、包括blackberry
tm
装置的无线电子邮件装置)、文件处理装置(诸如扫描仪、打印机、传真机或多功能文件机)或与处理器的集合连接的复杂实体(诸如局域网或广域网)。例如,在本公开的上下文中,节点自身可以是广域网(wan)、局域网(lan)、专用网络(诸如虚拟专用网(vpn))或网络集合。
220.节点之间的通信可以通过通信网络来实现。节点可以连续地或间断地与通信网络连接。作为示例,在本公开的上下文中,通信网络可以是提供足够带宽和信息安全性的数字通信基础设施。
221.通信网络可以包括按任何频率、使用任何类型的标准、协议或技术的有线通信能力、无线通信能力或两者的组合。另外,在当前实施方案中,通信网络可以是专用网络(例如vpn)或公共网络(例如因特网)。
222.通信网络使用的示例性无线协议和技术的非包括性列表可以包括bluetooth
tm
、通用分组无线电服务(gprs)、蜂窝数字分组数据(cdpd)、移动解决方案平台(msp)、多媒体消息(mms)、无线应用协议(wap)、码分多址(cdma)、短消息服务(sms)、无线标记语言(wml)、手持装置标记语言(hdml)、无线二进制运行环境(brew)、无线接入网络(ran)和分组交换核心网络(ps-cn)。还包括各代无线技术。通信网络使用的主要有线协议和技术的示例性非包括性列表包括异步传输模式(atm)、增强型内部网关路由协议(eigrp)、帧中继(fr)、高级数据链路控制(hdlc)、因特网控制消息协议(icmp)、内部网关路由协议(igrp)、互联网分组交换(ipx)、isdn、点对点协议(ppp)、传输控制协议/互联网协议(tcp/ip)、路由信息协议(rip)和用户数据报协议(udp)。技术人员将认识到,可以使用任何其他已知或预期的无线或有线
协议和技术。
223.本公开的实施方案可以包括用于执行本文中的操作的设备。设备可以针对期望的目的而专门建构,或者它可以包括由存储在装置中的程序选择性地激活或重新配置的通用装置。
224.在一个或多个实施方案中,当前实施方案体现在机器可执行指令中。指令可用于致使被编程有指令的处理装置(例如,通用或专用处理器)执行本公开的步骤。替代地,本公开的步骤可以由含有用于执行步骤的硬线逻辑的特定硬件组件或由被编程的计算机组件和定制的硬件组件的任何组合执行。例如,如上所述,本公开可以作为计算机程序产品提供。在该环境中,实施方案可以包括上面存储有指令的机器可读介质。指令可用于对任何一个或多个处理器(或其他电子装置)进行编程以执行根据当前示例性实施方案的过程或方法。另外,本公开也可以被下载并存储在计算机程序产品上。在此,程序可以经由通信链路(例如调制解调器或网络连接)通过载波或其他传播介质中体现的数据信号从远程计算机(例如服务器)传输到请求计算机(例如客户端),并且最终此类信号可以存储在计算机系统上以供后续执行。
225.所述方法可以在可从计算机可用或计算机可读存储介质存取的计算机程序产品中实施,所述计算机可用或计算机可读存储介质提供由计算机或任何指令执行系统使用或与其结合使用的程序代码。计算机可用或计算机可读存储介质可以是可含有或存储供计算机或指令执行系统、设备或装置使用或与其结合使用的程序的任何设备。
226.适合于存储和/或执行对应程序代码的数据处理系统可以包括直接地或间接地耦合到计算机化数据存储装置(诸如存储器元件)的至少一个处理器。输入/输出(i/o)装置(包括但不限于键盘、显示器、指点装置等)可以耦合到所述系统。网络适配器也可以耦合到所述系统,以使数据处理系统能够通过中间的专用网或公共网络耦合到其他数据处理系统或远程打印机或存储装置。为了提供与用户的交互,可以在计算机上实施所述特征,所述计算机具有显示装置,诸如lcd(液晶显示器)或用于向用户显示信息的另一类监视器,以及键盘和输入装置,诸如鼠标或轨迹球,用户可以通过所述轨迹球来将输入提供到计算机。
227.计算机程序可以是一组可以在计算机中直接或间接使用的指令。本文描述的系统和方法可以使用编程语言(诸如cuda、opencl、flash
tm
、java
tm
、c 、c、c#、python、visual basic
tm
、javascript
tm
php、xml、html等)或编程语言的组合(包括编译或解译语言)来实施,并且可以以任何形式部署,包括作为独立程序或作为子系统、组件、子例程或适合在计算环境中使用的其他单元。软件可以包括但不限于固件、常驻软件、微码等。诸如soap/http的协议可用于实施编程子系统之间的接口。本文描述的组件和功能性可以在虚拟化或非虚拟化环境中执行的任何桌面操作系统上使用适合于软件开发的任何编程语言来实施,所述编程语言包括但不限于不同版本的microsoft windows
tm
、apple
tm
mac
tm
、ios
tm
、unix
tm
/x-windows
tm
、linux
tm
等。所述系统可以使用web应用程序框架(诸如ruby on rails)来实施。
228.用于执行指令程序的合适处理器包括但不限于通用和专用微处理器,以及任何类型计算机的唯一处理器或多个处理器或核心中的一者。处理器可以从计算机化的数据存储装置接收和存储指令和数据,所述计算机化的数据存储装置诸如只读存储器、随机存取存储器、两者或本文所述的数据存储装置的任何组合。处理器可以包括可操作以控制电子装置的操作和性能的任何处理电路或控制电路。
229.本文描述的系统、子系统和方法可以使用软件或硬件元件的任何组合来实施。本文描述的系统、子系统和方法可以使用一个或多个单独操作或彼此一起操作的虚拟机来实施。任何适用的虚拟化解决方案都可以用于将物理计算机器平台封装为在硬件计算平台或主机上运行的虚拟化软件的控制下执行的虚拟机。虚拟机可以具有虚拟系统硬件和客户操作系统软件。
230.本文描述的系统和方法可以在计算机系统中实施,所述计算机系统包括后端组件,诸如数据服务器;或者包括中间件组件,诸如应用服务器或因特网服务器;或者包括前端组件,诸如具有图形用户界面或因特网浏览器的客户端计算机;或其任何组合。系统的组件可以通过任何形式或介质的数字数据通信(诸如,通信网络)连接。通信网络的示例包括例如lan、wan以及形成因特网的计算机和网络。
231.本公开的一个或多个实施方案可以用其他计算机系统配置来实施,包括手持装置、微处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、大型计算机等。本文描述的系统和方法也可以在分布式计算环境中实施,其中任务由通过网络链接的远程处理装置执行。
232.术语“计算机程序介质”和“计算机可读介质”可用于泛指诸如但不限于可移动存储驱动器、安装在硬盘驱动器中的硬盘的介质。这些计算机程序产品可以向计算机系统提供软件。本文描述的系统和方法可以针对此类计算机程序产品。
233.对“一个实施方案”、“实施方案”、“示例实施方案”、“各种实施方案”等等的提及可以指示本公开的实施方案可以包括特定特征、结构或特性,但不是每个实施方案都必须包括所述特定特征、结构或特性。此外,短语“在一个实施方案中”或“在示例性实施方案中”的重复使用不一定指代相同的实施方案,但是可能是这样。类似地,对“实例”的提及可以指示本公开的各种实例可以包括特定特征、结构或特性,但不是每个实例都必须包括所述特定特征、结构或特性。此外,短语“在一些情况下”的重复使用不一定指同一种情况,但是可能是这样。
234.在说明书和权利要求书中,可以使用术语“耦合”和“连接”及其派生词。应理解,这些术语可能并不意欲作为彼此的同义词。而是,在特定实施方案中,“连接”可用于指示两个或更多个元件彼此直接物理或电接触。“耦合”可能意味着两个或更多个元件直接物理或电接触。然而,“耦合”也可能意味着两个或更多个元件彼此不直接接触,但仍然相互合作或相互作用。
235.算法在这里并且通常可以被认为是导致期望结果的动作或操作的自动连贯式过程。这些包括对物理量的物理操纵。尽管并非必要,但这些量通常采取能够被存储、传输、组合、比较及以其他方式操控的电信号或磁信号的形式。已经证实,主要出于普遍使用原因,有时可以适宜地将这些信号称为比特、值、要素、符号、字符、项、数字等。然而,应理解,所有这些和类似的术语均与适当的物理量关联,并且仅仅是应用于这些量的适宜标记。
236.除非另外特别指出,否则可理解,在整个本说明书中,诸如“处理”、“计算”、“运算”、“确定”等术语是指计算机或计算系统或类似电子计算装置的动作和/或过程,所述动作和/或过程操纵计算系统寄存器和/或存储器内的表示为物理量(诸如电子量)的数据和/或将所述数据转换成计算系统存储器、寄存器或其他此类信息存储、传输或显示装置内的类似地表示为物理量的其他数据。
237.以类似的方式,术语“处理器”可以指处理来自寄存器和/或存储器的电子数据以将该电子数据转变为可以存储在寄存器和/或存储器中的其他电子数据的任何装置或装置的一部分。作为非限制性示例,“处理器”可以是中央处理单元(cpu)或图形处理单元(gpu)。“计算平台”可以包括一个或多个处理器。如本文所用,“软件”进程可以包括例如随着时间推移执行工作的软件和/或硬件实体,诸如任务、线程和智能代理。此外,每个进程可以指多个进程,用于依次或并行、连续或间歇地执行指令。术语“系统”和“方法”在本文中可互换使用,只要所述系统可以体现一种或多种方法并且所述方法可以被认为是系统。
238.虽然已经描述了一个或多个实施方案,但是其各种改变、添加、置换和等效物包括在本公开的范围内。
239.在实施方案的描述中,参考构成其一部分的附图,在附图中举例示出要求权利保护的主题的特定实施方案。应理解,可以使用其他实施方案并且可以做出改变或变更,诸如结构改变。此类实施方案、改变或变更不一定偏离关于预期要求权利保护的主题的范围。虽然步骤在本文中可以按特定顺序呈现,但在一些情况下,可以改变顺序,使得某些输入是在不同的时间或按不同的顺序提供,而不会改变所描述的系统和方法的功能。所公开的程序也可以以不同的顺序执行。另外,本文中的各种计算不需要按照所公开的顺序执行,并且可以容易地实施使用替代计算顺序的其他实施方案。除了重新排序之外,计算还可以分解为具有相同结果的子计算。
240.尽管上面的讨论阐述了所描述技术的示例实施方式,但是其他架构可以用于实施所描述的功能性,并且意欲落入本公开的范围内。此外,虽然上面为了讨论的目的定义了具体的职责分配,但是根据情况,各种功能和职责可能以不同的方式分配和划分。
241.此外,尽管已用特定于结构特征和/或方法动作的语言描述了主题,但是应理解,所附权利要求书中限定的主题不一定限于所述的特定特征或动作。而是,公开了特定特征和动作作为实施权利要求的说明性形式。
242.示例条款
243.可鉴于以下条款对本公开的实施方案进行描述:
244.用于轨迹验证的系统和方法
245.1.一种避碰系统,所述避碰系统包括:
246.一个或多个处理器;以及存储器,所述存储器存储指令,所述指令在由所述一个或多个处理器执行时致使所述系统执行包括以下各项的操作:接收用于使自主车辆在环境中导航的轨迹;作为陈旧性有效性,确定创建所述轨迹的第一时间与当前时间之间的第一时间差是否满足第一时间阈值;作为准时性有效性,确定接收到所述轨迹的第二时间与接收到前一个轨迹的第三时间之间的第二时间差是否满足第二时间阈值;作为可行性有效性,确定所述轨迹是否可以由所述自主车辆执行;至少部分地基于所述陈旧性有效性、所述准时性有效性或运动学有效性中的一者或多者来生成有效性信号;以及至少部分地基于所述有效性信号,根据所述轨迹来控制所述自主车辆。
247.2.如条款1所述的系统,其中所述操作还包括:接收所述自主车辆的当前状态;至少部分地基于所述轨迹确定所述自主车辆的潜在状态;以及至少部分地基于所述当前状态确定所述自主车辆是否能够移动到所述潜在状态。
248.3.如条款2所述的系统,其中所述自主车辆的所述当前状态包括第一位置、第一取
向、第一偏航率或第一速度中的一者或多者,其中所述自主车辆的所述潜在状态包括第二位置、第二取向、第二偏航率或第二速度中的一者或多者;并且其中至少部分地基于所述当前状态确定所述自主车辆是否能够移动到所述潜在状态还包括:确定使所述自主车辆从所述当前状态行驶到所述潜在状态的在至少一个方向上的加速度或减速度中的至少一者;以及确定在所述至少一个方向上的所述加速度或所述减速度中的所述至少一者是否满足对应的可行性加速度或减速度阈值。
249.4.如条款1至3中任一项所述的系统,其中所述操作还包括:接收用于在所述环境中导航所述自主车辆的第二轨迹,所述第二轨迹是所述轨迹的替代;确定创建所述第二轨迹的第四时间与所述当前时间之间的第三时间差;确定接收到所述第二轨迹的第五时间与接收到所述前一个轨迹的所述第三时间之间的第四时间差;作为第二运动学有效性,确定所述第二轨迹是否可以由所述自主车辆执行;至少部分地基于所述第三时间差、所述第四时间差或所述第二运动学有效性中的一者或多者生成第二有效性信号;基于所述有效性信号和所述第二有效性信号从至少所述轨迹和所述第二轨迹中确定所得轨迹;以及根据所述所得轨迹来控制所述自主车辆。
250.5.如条款1至4中任一项所述的系统,其中确定所述所得轨迹包括:从至少所述轨迹、所述第二轨迹和存储的轨迹中确定所述所得轨迹,其中所述存储的轨迹与第三有效性值相关联,并且其中选择所述所得轨迹是基于所述有效性信号、所述第二有效性信号和所述第三有效性信号。
251.6.一种方法,所述方法包括:接收用于导航装置的轨迹;确定以下各项中的至少一者:作为一致性有效性,所述轨迹是否与所述装置的当前状态相符;作为运动学有效性,所述轨迹是否可以由所述装置执行;或作为准时性有效性,所述轨迹是否在时间阈值内被接收到;至少部分地基于所述一致性有效性、所述运动学有效性或所述准时性有效性中的一者或多者生成有效性信号;以及至少部分地基于所述有效性信号根据所述轨迹来控制所述装置。
252.7.如条款6所述的方法,所述方法还包括:确定创建所述轨迹的时间与当前时间之间的时间差;以及基于所述时间差是否满足时间阈值来确定陈旧性有效性;并且其中生成所述有效性信号是进一步至少部分地基于所述陈旧性有效性。
253.8.如条款6或7所述的方法,其中确定所述一致性有效性还包括:生成所述装置到所述轨迹上的投影;将所述装置的所述当前状态与所述投影进行比较以生成投影数据;以及基于所述投影数据是否满足至少一个偏差阈值来确定所述一致性有效性。
254.9.如条款6至8中任一项所述的方法,其中确定所述一致性有效性还包括:生成所述装置到所述轨迹上的投影;确定所述装置的所述当前状态与所述投影之间的至少一个物理差,其中所述至少一个物理差包括距离;基于所述至少一个物理差是否满足至少一个偏差阈值来确定所述一致性有效性。
255.10.如条款6至9中任一项所述的方法,其中作为所述运动学有效性确定所述轨迹是否可以由所述装置执行还包括:接收装置的当前状态;接收所述装置遵循所述轨迹的潜在状态;以及至少部分地基于所述当前状态来确定所述装置是否能够占用所述潜在状态。
256.11.如条款6至10中任一项所述的方法,其中所述装置的所述当前状态包括第一位置、第一取向、第一偏航率或第一速度中的一者或多者,并且其中所述装置的所述潜在状态
包括第二位置、第二取向、第二偏航率或第二速度中的一者或多者。
257.12.如条款6至11中任一项所述的方法,所述方法还包括:
258.接收所述装置的第二轨迹;确定以下各项中的至少一者:作为第二一致性有效性,所述第二轨迹是否与所述装置的当前状态相符;作为第二运动学有效性,所述第二轨迹是否可以由所述装置执行;或作为第二准时性有效性,所述第二轨迹是否在第二时间阈值内被接收到;
259.至少部分地基于所述第二一致性有效性、所述第二运动学有效性或所述第二准时性有效性中的一者或多者来生成第二有效性信号;基于所述有效性信号和所述第二有效性信号从至少所述轨迹和所述第二轨迹中选择所得轨迹;以及根据所述所得轨迹来控制所述装置。
260.13.如条款6至12中任一项所述的方法,所述方法还包括:确定第一碰撞值和第二碰撞值,所述第一碰撞值指示沿所述轨迹导航的所述装置是否将很可能导致碰撞,所述第二碰撞值指示沿所述第二轨迹导航的所述装置是否将很可能导致碰撞;并且其中从至少所述轨迹和所述第二轨迹中选择所述所得轨迹进一步基于所述第一碰撞值和所述第二碰撞值。
261.14.如条款6至13中任一项所述的方法,所述方法还包括:接收所述装置的至少一个子系统的操作状态;并且其中从至少所述轨迹和所述第二轨迹中选择所述所得轨迹进一步至少部分地基于所述操作状态。
262.15.如条款6至14中任一项所述的方法,所述方法还包括:接收所述装置的至少一个子系统的操作状态;基于所述操作状态来减小多个能力限制中的能力限制以导致减小的能力限制;并且其中作为所述运动学有效性,确定所述轨迹是否可以由所述装置执行进一步基于所述减小的能力限制。
263.16.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上面存储有可执行指令,所述可执行指令在由计算机系统的一个或多个处理器执行时致使所述计算机系统至少进行以下操作:接收用于导航装置的第一轨迹和第二轨迹;确定以下各项中的至少一者:指示所述第一轨迹是否与所述装置的当前状态一致的第一一致性有效性以及指示所述第二轨迹是否与所述装置的当前状态一致的第二一致性有效性;指示所述第一轨迹是否可以由所述装置执行的第一运动学有效性以及指示所述第二轨迹是否可以由所述装置执行的第二运动学有效性;或指示所述第一轨迹是否在时间阈值内被接收到的第一准时性有效性以及指示所述第二轨迹是否在所述时间阈值内被接收到的第二准时性有效性;基于所述第一一致性有效性、所述第二一致性有效性、所述第一运动学有效性、所述第二运动学有效性、所述第一准时性有效性或和所述第二准时性有效性中的至少一者来确定所述第一轨迹或所述第二轨迹中的一者以得到所选轨迹;以及致使所述装置根据所述所选轨迹来操作。
264.17.如条款16所述的非暂时性计算机可读存储介质,其中所述指令在由所述计算机系统的所述一个或多个处理器执行时进一步致使所述计算机系统至少进行以下操作:进一步基于轨迹的层次结构来确定所述第一轨迹或所述第二轨迹中的一者以得到所选轨迹,其中所述层次结构的轨迹至少包括所述第一轨迹和所述第二轨迹。
265.18.如条款16或17所述的非暂时性计算机可读存储介质,其中所述第一一致性有
效性指示所述第一轨迹在时间或空间中的至少一个方面与所述装置的当前状态一致;并且其中所述第二一致性有效性指示所述第二轨迹在时间或空间中的至少一个方面是否与所述装置的所述当前状态一致。
266.19.如条款16至18中任一项所述的非暂时性计算机可读存储介质,其中所述指令在由所述计算机系统的所述一个或多个处理器执行时进一步致使所述计算机系统至少进行以下操作:获得所述装置的至少一个子系统的操作状态;并且其中选择所述第一轨迹或所述第二轨迹中的一者以得到所选轨迹是进一步至少部分地基于所述操作状态。
267.20.如条款16至19中任一项所述的非暂时性计算机可读存储介质,其中用于确定所述第一运动学有效性和所述第二运动学有效性的指令还包括在由所述计算机系统的所述一个或多个处理器执行时进一步致使所述计算机系统至少进行以下操作的指令:获得指示装置的当前状态的第一组值;获得指示所述装置遵循所述第一轨迹的潜在状态的第二组值以及指示所述装置遵循所述第二轨迹的第二潜在状态的第三组值;并且至少部分地基于所述当前状态来确定所述装置是否能够占用所述潜在状态和所述第二潜在状态。
268.车辆轨迹选择的可行性验证
269.21.一种自主车辆监视系统,所述自主车辆监视系统包括:
270.一个或多个处理器;以及存储指令的存储器,所述指令在由所述一个或多个处理器执行时致使所述系统进行以下操作:获得自主车辆的移动的一组可行性限制;接收所述自主车辆的当前状态;接收潜在轨迹以用于验证;确定所述自主车辆从所述当前状态行驶到所述潜在轨迹的运动学;通过将所述运动学与所述可行性限制进行比较来确定指示所述运动学是否满足该组可行性限制的有效性信号;并且至少部分地基于所述有效性值致使所述自主车辆根据所述潜在轨迹来操作。
271.22.如条款21所述的系统,其中该组可行性限制包括以下各项中的至少一者:所述自主车辆的最大速度、所述自主车辆在第一方向上的最大减速度、所述自主车辆在所述第一方向上的最大加速度、所述自主车辆在第二方向上的最大加速度以及最大的合成加速度。
272.23.如条款21或22所述的系统,其中确定所述自主车辆从所述当前状态行驶到所述轨迹的运动学还包括确定以下各项中的至少一者:所述自主车辆在所述第一方向上的减速度、所述自主车辆在所述第一方向上的加速度、所述自主车辆在所述第二方向上的加速度以及合成加速度。
273.24.如条款21至23中任一项所述的系统,其中该组可行性限制包括对所述自主车辆施加的至少一个物理操作限制,并且其中所述指令在由所述一个或多个处理器执行时进一步致使所述系统进行以下操作:基于所述自主车辆的至少一个子系统的当前操作状态来更新该组可行性限制的至少一个值。
274.25.如条款21至24中任一项所述的系统,其中确定所述自主车辆从所述当前状态行驶到所述潜在轨迹的运动学还包括:确定所述潜在轨迹上的第一位置;将所述第一位置与和所述自主车辆的所述当前状态相关联的第二位置进行比较。
275.26.一种方法,所述方法包括:获得装置的移动的至少一个可行性限制,所述至少一个可行性限制包括在至少一个方向上的加速度或减速度限制;接收所述装置的当前状态;接收潜在轨迹以用于验证;确定所述装置从所述当前状态行驶到所述轨迹的运动学;以
及确定指示所述运动学是否满足所述至少一个可行性限制的有效性值。
276.27.如条款26所述的方法,其中所述至少一个可行性限制包括对所述装置施加的至少一个物理操作限制以提高所述装置操作的安全性。
277.28.如条款26或27所述的方法,所述方法还包括基于所述装置的至少一个子系统的当前操作状态来更新至少一个可行性限制。
278.29.如条款26至28中任一项所述的方法,其中所述至少一个可行性限制还包括以下各项中的至少一者:所述装置的最大速度、所述装置的最大加速度、所述装置的最大减速度或所述装置的最大横向加速度。
279.30.如条款26至29中任一项所述的方法,其中所述装置是自主车辆,并且其中确定所述装置从所述当前状态行驶到所述轨迹的运动学还包括确定以下各项中的至少一者:所述自主车辆在所述第一方向上的减速度、所述自主车辆在所述第一方向上的加速度或所述自主车辆在横向方向上的加速度。
280.31.如条款26至30中任一项所述的方法,其中确定所述装置从所述当前状态行驶到所述潜在轨迹的运动学还包括:确定所述潜在轨迹上的第一位置;以及将所述第一位置与和所述自主车辆的所述当前状态相关联的第二位置进行比较。
281.32.如条款26至31中任一项所述的方法,其中确定所述潜在轨迹上的所述第一位置还包括将所述第一位置确定为使所述第一位置与所述第二位置之间的距离最小化。
282.33.如条款26至32中任一项所述的方法,其中基于所述装置的当前轨迹或所述装置的所述潜在轨迹来确定所述至少一个可行性限制。
283.34.如条款26至33中任一项所述的方法,所述方法还包括:至少部分地基于所述有效性值致使所述装置根据所述潜在轨迹来操作。
284.35.一种上面存储有可执行指令的非暂时性计算机可读存储介质,所述可执行指令在由计算机系统的一个或多个处理器执行时致使所述计算机系统至少进行以下操作:获得自主车辆的移动的至少一个可行性限制,所述至少一个可行性限制包括在至少一个方向上的加速度或减速度限制;接收所述自主车辆的当前状态;确定所述自主车辆从所述当前状态行驶到所述轨迹的运动学;并且确定指示所述运动学是等于还是低于所述至少一个可行性限制的有效性值。
285.36.如条款35所述的非暂时性计算机可读存储介质,其中所述至少一个可行性限制包括所述装置的至少一个物理操作限制。
286.37.如条款35或36所述的非暂时性计算机可读存储介质,其中所述至少一个可行性限制还包括以下各项中的至少一者:所述装置的最大速度、所述装置的最大加速度、所述装置的最大减速度或所述装置的最大横向加速度。
287.38.如条款35至37中任一项所述的非暂时性计算机可读存储介质,其中确定所述装置从所述当前状态行驶到所述轨迹的运动学还包括确定以下各项中的至少一者:所述自主车辆在所述第一方向上的减速度、所述自主车辆在所述第一方向上的加速度或所述自主车辆在横向方向上的加速度。
288.39.如条款35至38中任一项所述的非暂时性计算机可读存储介质,其中所述可执行指令由于被计算机系统的一个或多个处理器执行而进一步致使所述计算机系统至少进行以下操作:基于所述装置的至少一个子系统的当前操作状态来更新至少一个可行性限
制。
289.40.如条款35至39中任一项所述的非暂时性计算机可读存储介质,其中基于所述装置的当前轨迹或所述装置的所述潜在轨迹来确定所述至少一个可行性限制。
290.车辆轨迹选择的一致性验证
291.41.一种避碰系统,所述避碰系统包括:一个或多个处理器;以及存储指令的存储器,所述指令在由所述一个或多个处理器执行时致使所述系统进行以下操作:接收指示自主车辆的当前状态的第一组值,所述第一组值包括第一位置、第一取向、第一偏航率或第一速度中的一者或多者;接收所述自主车辆的潜在轨迹;确定指示所述自主车辆在所述潜在轨迹上的潜在状态的第二组值,所述第二组值包括第二位置、第二取向、第二偏航率或第二速度中的一者或多者;作为有效性信号,确定所述第二组值与所述第一组值是否相差一组对应的阈值量;并且至少部分地基于所述有效性信号致使所述自主车辆根据所述潜在轨迹来操作。
292.42.如条款41所述的系统,其中该组阈值量包括以下各项中的至少两者:距离阈值、时间阈值、转向阈值、偏航阈值、速度偏差阈值或共线性阈值。
293.43.如条款41或42所述的系统,其中确定所述有效性值还包括:执行所述第一组值与所述第二组值的比较以确定一组偏差值;以及至少部分地基于执行该组偏差值与该组阈值量的第二比较来确定所述有效性信号。
294.44.如条款41至43中任一项所述的系统,其中确定所述第二组值包括基于与所述第一位置的接近度来确定所述第二位置。
295.45.如条款41至44中任一项所述的系统,其中所述指令在由所述一个或多个处理器执行时进一步致使所述系统进行以下操作:接收所述自主车辆的第二潜在轨迹;确定指示所述自主车辆遵循所述第二潜在轨迹的第二潜在状态的第三组值,所述第三组值包括第三位置、第三取向、第三偏航率或第三速度中的一者或多者;作为第二有效性信号,至少部分地基于所述当前状态来确定所述自主车辆是否能够占用所述第二潜在状态;基于所述有效性信号和所述第二有效性信号来选择所述潜在轨迹或所述第二潜在轨迹中的一者以得到所选轨迹;并且致使所述自主车辆根据所选轨迹来操作。
296.46.一种方法,所述方法包括:获得装置在当前轨迹上的当前状态;获得所述装置遵循潜在轨迹的潜在状态;确定有效性值,所述有效性值指示所述潜在状态与所述当前状态是否相差至少一个阈值量以指示所述潜在轨迹是否与所述当前轨迹一致;并且至少部分地基于所述有效性值致使所述装置根据所述潜在轨迹来操作。
297.47.如条款46所述的方法,其中所述装置的所述当前状态包括第一位置、第一取向、第一偏航率或第一速度中的一者或多者,并且其中所述装置的所述潜在状态包括第二位置、第二取向、第二偏航率或第二速度中的一者或多者。
298.48.如条款46或47所述的方法,其中所述至少一个阈值包括以下各项中的至少一者:距离差、时间差、转向阈值、偏航阈值、速度偏差阈值或共线性阈值。
299.49.如条款46至48中任一项所述的方法,其中确定所述有效性值还包括:执行所述当前状态与所述潜在状态的比较以确定一组偏差值;以及至少部分地基于执行该组偏差值与所述至少一个阈值量的第二比较来确定所述有效性信号。
300.50.如条款46至49中任一项所述的方法,其中所述当前状态包括第一位置,并且其
中获得所述装置的所述潜在状态还包括:确定所述潜在轨迹上的与所述第一位置相距最短距离的第二位置。
301.51.如条款46至50中任一项所述的方法,其中确定所述有效性值还包括确定所述潜在轨迹是否与所述当前轨迹共线。
302.52.如条款46至51中任一项所述的方法,其中独立于所述装置的操作条件来确定所述至少一个阈值。
303.53.如条款46至52中任一项所述的方法,其中确定所述有效性值指示是进一步至少部分地基于创建所述潜在轨迹的第一时间与当前时间之间的时间差。
304.54.如条款46至53中任一项所述的方法,所述方法还包括:获得指示所述装置遵循第二潜在轨迹的第二潜在状态的第三组值;至少部分地基于所述当前状态来确定指示所述装置是否能够占用所述第二潜在状态的第二有效性值;基于所述有效性值和所述第二有效性值来选择所述潜在轨迹或所述第二潜在轨迹中的一者以得到所选轨迹;以及致使所述装置根据所述所选轨迹来操作。
305.55.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上面存储有可执行指令,所述可执行指令在由计算机系统的一个或多个处理器执行时致使所述计算机系统至少进行以下操作:接收沿第一轨迹导航的装置的第一状态,所述第一状态包括第一位置和第一速度中的至少一者;接收所述装置遵循潜在轨迹的潜在状态,所述潜在状态包括第二位置和第二速度中的至少一者;确定指示第一状态是否在所述第二状态的至少一个阈值内的有效性值;以及至少部分地基于所述有效性值致使所述装置根据所述潜在轨迹来操作。
306.56.如条款55所述的非暂时性计算机可读存储介质,其中确定所述有效性值还包括:确定所述第一位置与所述第二位置之间的距离;将所述距离与所述至少一个阈值中的距离阈值进行比较;确定所述第一速度与所述第二速度之间的速度差;以及将所述速度差与所述至少一个阈值中的速度阈值进行比较。
307.57.如条款55或56所述的非暂时性计算机可读存储介质,其中所述装置的所述第一状态还包括第一取向或第一偏航率中的至少一者,并且其中所述装置的所述潜在状态包括第二取向或第二偏航率中的一者或多者。
308.58.如条款55至57中任一项所述的非暂时性计算机可读存储介质,其中确定所述有效性值进一步至少部分地基于创建所述潜在轨迹的第一时间与当前时间之间的时间差。
309.59.如条款55至58中任一项所述的非暂时性计算机可读存储介质,其中确定所述至少一个阈值包括以下各项中的至少一者:距离差、时间差、转向阈值、偏航阈值、速度偏差阈值或共线性阈值。
310.修改轨迹的车辆动力学限制
311.60.一种自主车辆监视系统,所述自主车辆监视系统包括:一个或多个处理器;以及存储指令的存储器,所述指令在由所述一个或多个处理器执行时致使所述系统进行以下操作:从自主车辆的多个传感器接收输入,所述多个输入中的一定输入与所述自主车辆的子系统的操作状态相关联;至少部分地基于所述输入来确定所述子系统是否在减小的操作状态下操作;至少部分地基于确定所述子系统是在所述减小的操作状态下操作来确定多个能力限制的减小的能力限制,所述减小的能力限制小于标称操作能力限制;接收所述自主
车辆的潜在轨迹;以及确定指示遵循所述潜在轨迹的所述自主车辆是否将超过所述减小的能力限制的有效性信号。
312.61.如条款60所述的系统,其中所述减小的操作状态是多个操作状态中的一者,并且其中确定所述减小的能力限制包括至少部分地基于所述减小的操作状态与所述子系统的标称操作状态之间的差值来确定使所述标称操作能力限制减小的量。
313.62.如条款60或61所述的系统,其中所述多个能力限制包括以下各项中的至少一者:所述自主车辆的最大速度、所述自主车辆在第一方向上的最大减速度、所述自主车辆在所述第一方向上的最大加速度、所述自主车辆在第二方向上的最大加速度或最大的合成加速度。
314.63.如条款60至62中任一项所述的系统,其中所述指令在由所述一个或多个处理器执行时进一步致使所述系统至少部分地基于所述潜在轨迹的至少一个特性来使所述能力限制减小一定量。
315.64.如条款60至63中任一项所述的系统,其中确定所述有效性信号还包括:获得指示所述自主车辆的第一状态的第一组值;获得指示所述自主车辆遵循所述潜在轨迹的潜在状态的第二组值;作为所述有效性信号,至少部分地基于所述第一状态和所述减小的能力限制来确定所述装置是否能够占用所述潜在状态。
316.65.一种方法,所述方法包括:接收与装置的子系统的操作状态相关联的信号,所述信号指示所述子系统的减小的操作状态;基于所述信号确定对所述装置施加的能力限制;接收所述装置要越过的轨迹;确定指示遵循所述潜在轨迹的所述装置是否将超过所述能力限制的有效性信号;以及至少部分地基于所述有效性信号致使所述装置根据所述潜在轨迹来操作。
317.66.如条款65所述的方法,其中确定所述能力限制包括基于所述信号确定使默认能力限制减小的量。
318.67.如条款65或66所述的方法,其中至少部分地基于所述减小的操作状态与所述子系统的正常操作状态之间的差值来确定使所述默认能力限制减小的所述量。
319.68.如条款65至67中任一项所述的方法,所述方法还包括:接收与所述装置的第二子系统的第二操作状态相关联的第二信号,所述第二信号指示所述第二子系统的第二减小的操作状态;以及基于所述信号和所述第二信号来确定对所述装置施加的能力限制。
320.69.如条款65至68中任一项所述的方法,其中所述能力限制包括以下各项中的至少一者:所述装置的最大速度、所述装置在第一方向上的最大减速度、所述装置在所述第一方向上的最大加速度、所述装置在第二方向上的最大加速度、最大的合成加速度、最大偏航率、最大偏航加速度或最大坡度(grade)。
321.70.如条款65至69中任一项所述的方法,其中确定对所述装置施加的能力限制包括使所述能力限制减小至少部分地基于所述轨迹的至少一个特性确定的量。
322.71.如条款65至70中任一项所述的方法,所述方法还包括:基于指示所述子系统的第二操作状态的第二信号是否在一定时间段内被接收到来确定对所述装置施加的第二能力限制。
323.72.如条款65至71中任一项所述的方法,所述方法还包括:接收指示所述子系统的增大或恢复的操作状态的第二信号;基于所述第二信号使所述能力限制增大以得到增大的
能力限制;确定指示遵循所述潜在轨迹的所述装置是否将超过所述增大的能力限制的第二有效性信号。
324.73.如条款65至72中任一项所述的方法,其中确定所述有效性信号还包括:获得指示所述装置的第一状态的第一组值;获得指示所述装置遵循所述轨迹的潜在状态的第二组值;作为所述有效性信号,至少部分地基于所述第一状态和所述能力限制来确定所述装置是否能够占用所述潜在状态。
325.74.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上面存储有可执行指令,所述可执行指令在由计算机系统的一个或多个处理器执行时致使所述计算机系统至少进行以下操作:从装置的传感器接收输入,所述输入与所述装置的子系统相关联;基于所述输入确定对所述装置施加的操作限制;接收所述装置要越过的轨迹;确定指示遵循所述轨迹的所述装置是否将超过所述操作限制的有效性信号;以及至少部分地基于所述有效性信号致使所述装置根据所述轨迹来操作。
326.75.如条款74所述的非暂时性计算机可读存储介质,其中所述操作限制包括小于标称操作限制的减小的操作限制,并且其中所述指令在由所述一个或多个处理器执行时进一步致使所述计算机系统进行以下操作:至少部分地基于与所述输入相关联的所述子系统而从多个操作限制中确定所述操作限制。
327.76.如条款74或75所述的非暂时性计算机可读存储介质,其中确定所述操作限制包括:基于所述输入确定所述装置的至少一个操作特性的限制量。
328.77.如条款74至76中任一项所述的非暂时性计算机可读存储介质,其中所述装置的所述操作特性包括以下各项中的至少一者:所述装置的最大速度、所述装置在第一方向上的最大减速度、所述装置在所述第一方向上的最大加速度、所述装置在第二方向上的最大加速度、最大的合成加速度、最大偏航率、最大偏航加速度或最大坡度。
329.78.如条款74至77中任一项所述的非暂时性计算机可读存储介质,其中从与指示所述子系统的不同操作等级的不同输入对应的一组量中确定所述装置的所述至少一个操作特性的所述限制量。
330.79.如条款74至78中任一项所述的非暂时性计算机可读存储介质,其中确定所述有效性信号还包括:获得指示所述装置的第一状态的第一组值;获得指示所述装置遵循所述轨迹的潜在状态的第二组值;至少部分地基于所述操作限制来确定所述装置是否能够从所述装置的第一状态移动到所述装置遵循所述轨迹的潜在状态。
再多了解一些

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

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

相关文献