用于运载工具的系统和方法以及计算机可读介质与流程

文档序号:30803991发布日期:2022-07-19 22:37阅读:53来源:国知局
用于运载工具的系统和方法以及计算机可读介质与流程

1.本说明书涉及运载工具路径规划。


背景技术:

2.诸如自主运载工具等的运载工具将利用路径规划系统来识别运载工具可能在环境中导航的路径。在传统系统中,这种路径规划系统使用基于采样的方法来识别路径。然而,这种基于采样的方法可能是低效率的,或者在运载工具的速度非常低或接近零的情况下可能遇到低效率。具体地,当运载工具的速度非常低或接近零时,空间中的时间范围将缩小,并且路径规划系统将无法有效率地产生超过该时间范围的建议路径。另外,当路径受到约束(例如,由于存在其它运载工具)时,这种基于采样的方法可能遇到困难。


技术实现要素:

3.根据本发明的一个方面,一种用于运载工具的系统,其中,所述系统包括:至少一个处理器;以及至少一个非暂时性计算机相关介质,其包括指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器:基于包括多个边和多个节点的图来识别包括所述多个边的子集的通过环境的参考路径;基于与所述图和所述参考路径相关的空间模型的优化来识别第一路径;基于对所述参考路径应用至少一个约束来识别第二路径;以及基于预先识别的规则手册来将所述第一路径或所述第二路径选择为所述运载工具将穿过的路径。
4.根据本发明的另一方面,一种用于运载工具的方法,包括:由所述运载工具的至少一个处理器基于包括多个边和多个节点的图来识别包括所述多个边的子集的通过环境的参考路径;由所述至少一个处理器基于与所述图和所述参考路径相关的空间模型的优化来识别第一路径;由所述至少一个处理器基于对所述参考路径应用至少一个约束来识别第二路径;以及由所述至少一个处理器基于预先识别的规则手册将所述第一路径或所述第二路径选择为所述运载工具将穿过的路径。
5.根据本发明的又一方面,一个或多个非暂时性计算机可读介质,其包括指令,所述指令在由运载工具的至少一个处理器执行时使所述运载工具:基于包括多个边和多个节点的图来识别包括所述多个边的子集的通过环境的参考路径;基于与所述图和所述参考路径相关的空间模型的优化来识别第一路径;基于对所述参考路径应用至少一个约束来识别第二路径;以及基于预先识别的规则手册来将所述第一路径或所述第二路径选择为自主运载工具将穿过的路径。
附图说明
6.图1示出具有自主能力的自主运载工具的示例。
7.图2示出计算机系统。
8.图3示出自主运载工具的示例架构。
9.图4示出规划系统的输入和输出之间的关系的框图。
10.图5示出路径规划中所使用的有向图。
11.图6示出根据各实施例的示例路径规划系统。
12.图7示出根据各实施例的要在路径规划中使用的有向图的其它示例。
13.图8示出根据各实施例的用于路径规划的示例技术。
具体实施方式
14.在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本公开的透彻理解。然而,本公开可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本公开模糊。
15.在附图中,为了便于描述,示出了示意要素(诸如表示装置、系统、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
16.此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
17.现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
18.下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
19.1.总体概述
20.2.系统概述
21.3.自主运载工具架构
22.4.自主运载工具规划
23.5.路径规划
24.总体概述
25.运载工具(例如,自主运载工具)使用路径导航系统来导航通过环境。具体地,路径规划系统识别通过环境的参考路径。约束计算系统然后将至少一个约束应用于参考路径以识别通过环境的一个潜在路径。另外,空间模型预测控制(mpc)系统基于参考路径的空间优
化来识别其它潜在路径。然后比较两个潜在路径以识别运载工具应该使用哪个路径进行导航。在实施例中,来自空间mpc的结果还被反馈给路径规划系统,以用于识别后续参考路径。
26.这些技术的一些优点包括提高了运载工具导航通过空间约束的环境的能力。另外,通过允许对两个潜在路径进行识别和比较,可以更快速地识别通过环境的最优路径,从而节省了原本将用于识别通过环境的最优路径的计算资源。最后,由于使用了基于速度和空间约束的方法,因此即使当运载工具的速度变低或接近零时,导航系统也能够有效率地导航通过环境。
27.系统概述
28.图1示出具有自主能力的自主运载工具100的示例。
29.如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。
30.如本文所使用的,自主运载工具(av)是一种具有自主能力的运载工具。
31.如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
32.如本文所使用的,“轨迹”是指将av从第一时空地点导航到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,并且各路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
33.如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,随机存取存储器(ram)和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
34.如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由av运载工具上的一个或多个传感器检测到的一个或多个分类或标记的对象,或由av外部的源提供的一个或多个分类或标记的对象。
35.如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(suv)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
36.如本文所使用的,“车道”是道路的可被运载工具穿越的部分。有时基于车道标记来识别车道。例如,车道可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能容纳两个或
两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木、或者例如在欠发达地区应避免的自然障碍物)来定义车道。也可以独立于车道标记或物理特征来解释车道。例如,可以基于原本缺少将会被解释为车道边界的特征的在区域中无障碍物的任意路径来解释车道。在示例情景中,av可以解释通过田野或空地的无障碍物部分的车道。在另一示例情景中,av可以解释通过不具有车道标记的宽(例如,足够两个或更多个车道宽)道路的车道。在该情景中,av可以将与车道有关的信息通信至其它av,使得其它av可以使用相同的车道信息来协调av之间的路径规划。
37.术语“空中下载(ota)客户端”包括任何av,或者嵌入在av中、耦接至av或与av进行通信的任何电子装置(例如,计算机、控制器、iot装置、电子控制单元(ecu))。
38.术语“ota更新”意味着对使用专有和/或标准化的无线通信技术递送至ota客户端的软件、固件、数据或配置设置或者它们的任何组合的任何更新、改变、删除或添加,其中该专有和/或标准化的无线通信技术包括但不限于:蜂窝移动通信(例如,2g、3g、4g、5g)、无线电无线区域网络(例如,wifi)和/或卫星因特网。
39.术语“边缘节点”是指耦接至网络的一个或多个边缘装置,这些装置提供与av进行通信所用的门户并且可以与其它边缘节点和基于云的计算平台进行通信,以调度ota更新并将ota更新递送至ota客户端。
40.术语“边缘装置”是指实现边缘节点并提供向企业或服务提供商(如verizon、at&t)核心网的物理无线接入点(ap)的装置。边缘装置的示例包括但不限于:计算机、控制器、发送器、路由器、路由交换机、综合接入装置(iad)、多路复用器、城域网(man)和广域网(wan)接入装置。
[0041]“一个或多个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任何组合。
[0042]
还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。
[0043]
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
[0044]
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0045]
如本文所使用的,av系统是指av以及支持av操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,av系统并入在av内。在实施例中,av系统跨若干地点分布。例如,av系统的一些软件是在类似于云计算环境的云计算环境上实现的。
[0046]
一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全自主运载工具、高度自主运载工具和有条件自主运载工具,诸如分别为所谓的第5级、第4级和第3级运载工具(见sae国际标准j3016:道路上机动车自动驾驶系统相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。本文件所描述的技术也适用于部分自主运载工具和驾驶员辅助运载工具,诸如所谓的第2级和第1级运载工具(见sae国际标准j3016:道路上机动车自动驾驶系统相关术语的分类和定义)。在实施例中,一个或多个第1级、第2级、第3级、第4级和第5级运载工具系统可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全自主运载工具到人类操作的运载工具范围内的任何级别的运载工具受益。
[0047]
自主运载工具与需要人类驾驶员的运载工具相比存在优势。一个优势是安全性。例如,在2016年,美国经历了600万起汽车事故、240万人受伤、40000人死亡和1300万辆运载工具碰撞事故,估计社会成本为9100亿美元多。从1965年到2015年,每行驶1亿英里的美国交通事故死亡人数已从约6人减少到约1人,部分是由于运载工具中所部署的附加安全措施。例如,认为与将发生碰撞有关的额外半秒的警告减轻了60%的前后碰撞。然而,被动安全特征(例如,安全带、安全气囊)在改进该数字方面有可能已达到它们的极限。因而,诸如运载工具的自动控制等的主动安全措施是改进这些统计数据的可能的下一步。由于在95%的碰撞中认为人类驾驶员是造成严重碰撞前事件的原因,因此自动驾驶系统例如通过以下操作,有可能实现更好的安全结果:比人类更好地可靠地识别和避免紧急情况;做出比人类更好的决策,比人类更好地遵守交通法规,并且比人类更好地预测将来事件;并且比人类更好地可靠地控制运载工具。
[0048]
参考图1,av系统120使运载工具100沿着轨迹198操作,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。
[0049]
在实施例中,av系统120包括用于从计算机处理器146接收操作命令并对其进行操作的装置101。使用术语“操作命令”来表示使得运载工具进行动作(例如,驾驶机动动作)的可执行指令(或指令集)。操作命令可以非限制性地包括用于使运载工具开始向前移动、停止向前移动、开始向后移动、停止向后移动、加速、减速、进行左转和进行右转的指令。在实施例中,计算处理器146与下面参考图2描述的处理器204相似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
[0050]
在实施例中,av系统120包括用于测量或推断运载工具100的状态或条件的属性的传感器121,这些属性诸如是av的位置、线速度和角速度及线加速度和角加速度、以及航向(例如,运载工具100的前端的方向)。传感器121的示例是全球定位卫星(gps)、测量运载工具线加速度和角速率两者的惯性测量单元(imu)、用于测量或估计轮滑移率的轮速率传感
器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
[0051]
在实施例中,传感器121还包括用于感测或测量av的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122,lidar 123,radar,超声波传感器,飞行时间(tof)深度传感器,速率传感器,温度传感器,湿度传感器和降水传感器。
[0052]
在实施例中,av系统120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与以下关于图2描述的rom 208或存储装置210类似。在实施例中,存储器144与下面描述的主存储器206类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程数据库134通过通信信道传输到运载工具100。
[0053]
在实施例中,av系统120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到运载工具100。这些装置包括运载工具到运载工具(v2v)和运载工具到基础设施(v2i)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(v2v)、运载工具对基础设施(v2i)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(v2x)通信。v2x通信通常符合一个或多个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。
[0054]
在实施例中,通信装置140包括通信接口。例如,有线、无线、wimax、wi-fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到av系统120。在实施例中,远程数据库134嵌入在云计算环境中。通信装置140将从传感器121收集的数据或与运载工具100的操作有关的其它数据传输到远程数据库134。在实施例中,通信装置140向运载工具100传输与遥操作有关的信息。在一些实施例中,运载工具100与其它远程(例如,“云”)服务器136通信。
[0055]
在实施例中,远程数据库134还存储和传输数字数据(例如,存储诸如道路和街道地点的数据)。这些数据存储在运载工具100上的存储器144中,或者通过通信信道从远程数据库134传输到运载工具100。
[0056]
在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速度分布)。在一个实现中,这种数据可以存储在运载工具100上的存储器144中,或者通过通信信道从远程数据库134传输到运载工具100。
[0057]
位于运载工具100上的计算机处理器146基于实时传感器数据和先验信息两者以算法方式生成控制动作,允许av系统120执行其自主驾驶能力。
[0058]
在实施例中,av系统120包括耦接到计算机处理器146的计算机外围设备132,用于向运载工具100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,外围设备132类似于下面参考图2讨论的显示器212、输入装置214和光标控制
器216。耦接是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。
[0059]
在实施例中,av系统120接收并强制执行例如由乘员指定的或者存储在与乘员相关联的简档中的乘员的隐私级别。乘员的隐私级别确定了如何许可使用存储在乘员简档中的以及/或者存储在云服务器136上且与乘员简档相关联的、与乘员相关联的特定信息(例如,乘员舒适度数据、生物测量数据等)。在实施例中,隐私级别指定了一旦搭乘完成则被删除的与乘员相关联的特定信息。在实施例中,隐私级别指定了与乘员相关联的特定信息,并且标识被授权访问该信息的一个或多个实体。被授权访问信息的所指定的实体的示例可以包括其它av、第三方av系统、或者可以潜在地访问该信息的任何实体。
[0060]
可以在一个或多个粒度级别指定乘员的隐私级别。在实施例中,隐私级别标识要存储或共享的特定信息。在实施例中,隐私级别适用于与乘员相关联的所有信息,使得乘员可以指定不存储或共享她的个人信息。被许可访问特定信息的实体的指定也可以在各种粒度级别指定。被许可访问特定信息的各种实体集例如可以包括其它av、云服务器136、特定第三方av系统等。
[0061]
在实施例中,av系统120或云服务器136确定av 100或另一实体是否可访问与乘员相关联的某些信息。例如,试图访问与特定时空地点有关的乘员输入的第三方av系统必须例如从av系统120或云服务器136获得授权,以访问与乘员相关联的信息。例如,av系统120使用乘员的指定隐私级别来确定是否可以将与时空地点有关的乘员输入呈现给第三方av系统、av 100或另一av。这使得乘员的隐私级别能够指定允许哪些其它实体接收与乘员的动作有关的数据或与乘员相关联的其它数据。
[0062]
图2例示计算机系统200。在实现中,计算机系统200是一种专用计算装置。专用计算装置被硬连线以执行这些技术,或包括诸如一个或多个asic或现场可编程门阵列(fpga)的被持久编程为执行上述技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、asic或fpga与定制的编程相结合来完成这些技术。在各种实施例中,专用计算装置是台式计算机系统、便携式计算机系统、手持装置、网络装置或包含硬线和/或程序逻辑以实现这些技术的任何其它装置。
[0063]
在实施例中,计算机系统200包括总线202或用于传达信息的其它通信机制、以及与总线202耦接以处理信息的处理器204。处理器204是例如通用微处理器。计算机系统200还包括主存储器206,诸如ram或其它动态存储装置,该主存储器206耦接到总线202以存储信息和指令,该信息和指令由处理器204执行。在一个实现中,主存储器206用于在执行要由处理器204执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器204可访问的非暂时性存储介质中时,使计算机系统200变成一个专用机器,该机器被定制以执行指令中指定的操作。
[0064]
在实施例中,计算机系统200还包括只读存储器(rom)208或耦接到总线202的其它静态存储装置,用于存储处理器204的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器的存储装置210,并且该存储装置210耦接到总线202以存储信息和指令。
[0065]
在实施例中,计算机系统200通过总线202耦接到诸如阴极射线管(crt)、液晶显示器(lcd)、等离子体显示器、发光二极管(led)显示器或用于向计算机用户显示信息的有机发光二极管(oled)显示器的显示器212。包括字母数字键和其它键的输入装置214耦接到总
线202,用于向处理器204传送信息和命令选择。另一种类型的用户输入装置是光标控制器216,诸如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器204,并用于控制光标在显示器212上的移动。这种输入装置通常具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面上的位置。
[0066]
根据一个实施例,本文的技术由计算机系统200响应于处理器204执行主存储器206中包含的一个或多个指令的一个或多个序列而执行。这些指令从诸如存储装置210的另一存储介质读入主存储器206。执行主存储器206中包含的指令序列使处理器204执行本文所描述的过程步骤。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。
[0067]
如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置210的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器206。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、cd-rom、任何其它光数据存储介质、任何具有孔型的物理介质、ram、prom和eprom、flash-eprom、nv-ram、或任何其它存储芯片或存储盒。
[0068]
存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线202的电线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信过程中产生的声波或光波。
[0069]
在实施例中,各种形式的介质涉及将一个或多个指令的一个或多个序列承载到处理器204以供执行。例如,这些指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机系统200的本地调制解调器接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将数据放置在总线202上。总线202将数据承载到主存储器206,处理器204从主存储器206检索并执行指令。主存储器206接收的指令可以可选地在处理器204执行之前或之后存储在存储装置210上。
[0070]
计算机系统200还包括耦接到总线202的通信接口218。通信接口218提供耦接到连接至本地网络222的网络链路220的双向数据通信。例如,通信接口218是综合业务数字网(isdn)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口218是局域网(lan)卡,用于提供与兼容lan的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口218发送和接收承载表示各种类型的信息的数字数据流的电、电磁或光信号。
[0071]
网络链路220通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路220通过本地网络222提供与主计算机224或与由因特网服务提供商(isp)226运营的云数据中心或设备的连接。isp 226又通过现在通常称为“因特网”228的世界范围分组数据通信网络来提供数据通信服务。本地网络222和因特网228两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路220上并通过通信接口218的信号是传输介质的示例形式,其中这些信号承载了进出计算机系统200的数字数据。在实施例中,网络220包含云或云的一部分。
[0072]
计算机系统200通过(一个或多个)网络、网络链路220和通信接口218发送消息和接收包括程序代码的数据。在实施例中,计算机系统200接收用于处理的代码。接收到的代码在接收到时由处理器204执行,和/或存储在存储装置210中,或存储在其它非易失性存储装置中以便以后执行。
[0073]
自主运载工具架构
[0074]
图3示出用于自主运载工具(例如,图1所示的运载工具100)的示例架构300。架构300包括感知系统302(有时称为感知电路)、规划系统304(有时称为规划电路)、控制系统306(有时称为控制电路)、定位系统308(有时称为定位电路)和数据库系统310(有时称为数据库电路)。各系统在运载工具100的操作中发挥作用。共同地,系统302、304、306、308和310可以是图1所示的av系统120的一部分。在一些实施例中,系统302、304、306、308和310中的任何系统是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路[asic]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。系统302、304、306、308和310各自有时被称为处理电路(例如,计算机硬件、计算机软件、或者这两者的组合)。系统302、304、306、308和310中的任何或全部的组合也是处理电路的示例。
[0075]
在使用中,规划系统304接收表示目的地312的数据,并且确定表示运载工具100为了到达(例如,抵达)目的地312而可以行驶的轨迹314(有时称为路线)的数据。为了使规划系统304确定表示轨迹314的数据,规划系统304从感知系统302、定位系统308和数据库系统310接收数据。
[0076]
感知系统302使用例如也如图1所示的一个或多个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象316的场景描述提供至规划系统304。
[0077]
规划系统304还从定位系统308接收表示av位置318的数据。定位系统308通过使用来自传感器121的数据和来自数据库系统310的数据(例如,地理数据)以计算位置来确定av位置。例如,定位系统308使用来自gnss(全球导航卫星系统)传感器的数据和地理数据来计算av的经度和纬度。在实施例中,定位系统308所使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。在实施例中,高精度地图是通过将数据经由自动或手动注释添加到低精度地图所构建的。
[0078]
控制系统306接收表示轨迹314的数据和表示av位置318的数据,并且以将使得运载工具100行驶轨迹314到达目的地312的方式来操作av的控制功能320a~320c(例如,转向、油门、制动、点火)。例如,如果轨迹314包括左转,则控制系统306将以如下方式操作控制功能320a~320c:转向功能的转向角度将使得运载工具100左转,并且油门和制动将使得运载工具100在进行转弯之前暂停并等待经过的行人或运载工具。
[0079]
自主运载工具规划
[0080]
图4示出(例如,如图3所示的)规划系统304的输入和输出之间的关系的框图400。一般而言,规划系统304的输出是从起点404(例如,源地点或初始地点)到终点406(例如,目
的地或最终地点)的路线402。路线402通常由一个或多个路段定义。例如,路段是指要在街道、道路、公路、行车道或适合汽车行驶的其它物理区域的至少一部分上行驶的距离。在一些示例中,例如,如果运载工具100是诸如四轮驱动(4wd)或全轮驱动(awd)小汽车、suv或小卡车等的能够越野的运载工具,则路线402包括诸如未铺面路径或开阔田野等的“越野”路段。
[0081]
除路线402之外,规划系统还输出车道级路线规划数据408。车道级路线规划数据408用于在特定时间基于路线402的路段的条件来驶过这些路段。例如,如果路线402包括多车道公路,则车道级路线规划数据408包括轨迹规划数据410,其中运载工具100可以使用该轨迹规划数据410以例如基于出口是否临近、多个车道中的一个或多个车道是否存在其它运载工具、或者在几分钟或更少时间的过程中变化的其它因素来从这多个车道中选择某车道。类似地,在一些实现中,车道级路线规划数据408包括路线402的某路段特有的速率约束412。例如,如果该路段包括行人或非预期交通,则速率约束412可以将运载工具100限制到比预期速率慢的行驶速率,例如基于该路段的限速数据的速率。
[0082]
在实施例中,向规划系统304的输入包括(例如,来自图3所示的数据库系统310的)数据库数据414、当前地点数据416(例如,图3所示的av位置318)、(例如,用于图3所示的目的地312的)目的地数据418和对象数据420(例如,如图3所示的感知系统302所感知的经分类的对象316)。在一些实施例中,数据库数据414包括规划时所使用的规则。规则是使用形式语言(例如,使用布尔逻辑)指定的。在运载工具100所遇到的任何给定情形中,这些规则中的至少一些规则将适用于该情形。如果规则具有基于运载工具100可用的信息(例如,与周围环境有关的信息)所满足的条件,则该规则适用于给定情形。规则可以具有优先级。例如,“如果公路是高速公路,则移动到最左侧车道”这一规则与“如果出口在一英里内临近,则移动到最右侧车道”相比可以具有更低的优先级。
[0083]
图5示出在路径规划中(例如,由规划系统304(图3))使用的有向图500。一般而言,如图5所示的有向图那样的有向图500用于确定任何起点502和终点504之间的路径。在现实世界中,分隔起点502和终点504的距离可能相对较大(例如,在两个不同的都市区域中),或者可能相对较小(例如,毗邻城市街区的两个十字路口或多车道道路的两个车道)。
[0084]
在实施例中,有向图500具有表示起点502和终点504之间的运载工具100可能占用的不同地点的节点506a-506d。在一些示例中,例如,在起点502和终点504表示不同的都市区域时,节点506a-506d表示道路的路段。在一些示例中,例如,在起点502和终点504表示相同道路上的不同地点时,节点506a-506d表示该道路上的不同位置。这样,有向图500包括不同粒度级别的信息。在实施例中,具有高粒度的有向图也是具有更大规模的另一有向图的子图。例如,起点502和终点504相距远(例如,相距许多英里)的有向图的大部分信息处于低粒度,并且该有向图是基于所存储的数据,但该有向图还包括用于该有向图中的表示运载工具100的视场中的物理地点的一部分的一些高粒度信息。
[0085]
节点506a-506d不同于无法与节点重叠的对象508a-508b。在实施例中,在粒度低时,对象508a-508b表示汽车不能穿过的地区,例如无街道或道路的区域。在粒度高时,对象508a-508b表示运载工具100的视场中的物理对象,例如其它汽车、行人、或运载工具100不能与之共用物理空间的其它实体。在实施例中,对象508a-508b的一部分或全部是静态对象(例如,不改变位置的对象,诸如街灯或电线杆等)或动态对象(例如,能够改变位置的对象,
诸如行人或其它小汽车等)。
[0086]
节点506a-506d通过边510a-510c连接。如果两个节点506a-506b通过边510a连接,则运载工具100可以在一个节点506a和另一节点506b之间行驶,例如,而不必在到达另一节点506b之前行驶到中间节点。(当提到运载工具100在节点之间行驶时,意味着运载工具100在由相应节点表示的两个物理位置之间行驶。)边510a-510c通常是双向的,从某种意义上,运载工具100从第一节点行驶到第二节点,或者从第二节点行驶到第一节点。在实施例中,边510a-510c是单向的,从某种意义上,运载工具100可以从第一节点行驶到第二节点,然而运载工具100不能从第二节点行驶到第一节点。在边510a-510c表示例如单向街道,街道、道路或公路的单独车道,或者由于法律或物理约束因而仅能沿一个方向穿过的其它特征的情况下,边510a-510c是单向的。
[0087]
在实施例中,规划系统304使用有向图500来识别由起点502和终点504之间的节点和边组成的路径512。
[0088]
边510a-510c具有关联成本514a-514b。成本514a-514b是表示在运载工具100选择该边的情况下将花费的资源的值。典型的资源是时间。例如,如果一个边510a所表示的物理距离是另一边510b所表示的物理距离的两倍,则第一边510a的关联成本514a可以是第二边510b的关联成本514b的两倍。影响时间的其它因素包括预期交通、十字路口的数量、限速等。另一典型的资源是燃料经济性。两个边510a-510b可以表示相同的物理距离,但例如由于道路条件、预期天气等,因此一个边510a与另一边510b相比需要更多的燃料。
[0089]
在规划系统304识别起点502和终点504之间的路径512时,规划系统304通常选择针对成本优化的路径,例如,在将边的个体成本相加到一起时具有最小总成本的路径。
[0090]
轨迹规划
[0091]
如前所述,用于路径规划的纯粹基于采样的方法、特别是时间参数化的方法可能是低效率的,或者在运载工具的速度非常低或接近零的情况下或在路径被约束的情况下可能遇到困难。本文的实施例提供一种利用约束计算系统和mpc系统来缓解这些问题的技术。约束计算系统将至少一个约束应用于参考路径以识别通过环境的一个潜在路径。mpc系统基于参考路径的空间优化来识别其它潜在路径。然后比较两个潜在路径以识别运载工具应该使用哪个路径进行导航。
[0092]
图6示出根据各实施例的示例路径规划系统。具体地,图6描绘了图3的规划系统304的详细示例。规划系统304包括如图6所描绘的多个子系统。各种子系统可以由硬件、软件、固件或其某种组合来实现。在实施例中,规划系统304的各个子系统在单个电路、单个处理器、单个处理器核等中实现。在其它实施例中,规划系统304的一个或多个子系统在与其它子系统不同的电路/处理器/处理器核上实现。还将注意到,出于本文的讨论的目的,规划系统304的这种描绘意在作为高级别的示例实施例。其它实施例可以具有不同数量的要素或以与图6所描绘的配置不同的配置来布置的要素。
[0093]
规划系统304包括基于采样的路径规划系统605。基于采样的路径规划系统605用于生成包括一系列节点和边的有向图。图7示出根据各实施例的要在路径规划中使用的这样的有向图700的示例。图700用于识别运载工具从起点705(在图7中在该处描绘运载工具)到终点730的穿过路径。然而,如图7中可见,运载工具从其起点705到终点730的穿过受到诸如道路的车道标记715或障碍物710等因素的限制。将理解的是,该图700意在作为高度简化
的示例,并且其它实施例可以包括附加限制或不同类型的限制(例如,骑行者、行人、诸如停止标志等的基于交通的限制等)或者对象508a或508b。
[0094]
图700与图5的图500类似,并且与图5的图500共享一个或多个特性。具体地,图700包括多个边720和节点725,边720和节点725分别与边510a-510c和节点506a-510d类似,以及与边510a-510c和节点506a-510d共享一个或多个特性。具体地,边720表示节点725之间的不同行驶轨迹,节点725表示物理地点。
[0095]
基于采样的路径规划系统605还将识别通过图700的参考路径735。参考路径735基于例如基于采样的方法。如本文所使用的,“基于采样的方法”是指基于采样的路径规划系统605对图700的各点进行采样、直到找到运载工具的起点705和终点730之间的路径为止的方法。在一些实施例中,采样可以是随机的或准随机的,而在其它实施例中,采样以试探法(heuristics)来指导或根据一组特定的运动先验来完成。基于采样的路径规划系统605将图700以及参考路径735(或其指示)输出到约束计算系统615和空间轨迹优化系统610(其也可称为空间mpc系统)。
[0096]
约束计算系统615用于计算要应用于参考路径735的一个或多个约束。例如,约束包括诸如基于速度的约束等的约束,该基于速度的约束诸如为基于各种条件(交通、天气、运载工具正在直行还是正在拐弯等)的运载工具的最大速率等。约束的其它示例包括基于诸如障碍710等的各种对象的约束。例如,约束可以涉及基于空间的约束,其中运载工具的地点被约束以避免碰撞。约束的其它示例包括诸如车道约束等的约束,车道约束例如由车道标记715施加。为了施加这些约束,约束计算系统615可以聚集来自各种源的数据,诸如由基于采样的路径规划系统605提供的图700或参考路径735、由上述一个或多个传感器121提供的信息(例如,来自lidar系统、radar系统、照相机等的信息)、基于运载工具的加速度计或陀螺仪的信息、gps信息等。
[0097]
空间轨迹优化系统610被配置为使用路径规划系统605所输出的参考路径735和图700中的一个或两者作为输入。如下面进一步详细描述的,空间轨迹优化系统610被称为“基于梯度的”。然后,空间轨迹优化系统610被配置为识别起点705和终点730之间的替代路径。具体地,为了识别该替代路径,空间轨迹优化系统610被配置为将与参考路径735和图700相关的数据消耗到空间域中,而非通常用于mpc的经典时间参数化。
[0098]
具体地,基于诸如空间运动学自行车模型等的模型在空间域中对运载工具的运动进行建模。空间运动学自行车模型是使用基于站点的状态变量(诸如运载工具的横向误差、局部航向、速度、加速度或转向角等)的运载工具模型。在实施例中,模型还使用诸如加速度的改变或转向的改变等的输入变量。另外,在实施例中,模型还使用与系统中的松弛(诸如横向误差上的松弛、速度上的松弛或加速度上的松弛等)相关的变量。
[0099]
如本文所使用的,术语“松弛”是指可接受的约束满足级别。具体地,松弛变量是优化器可以更改的其它决策变量,该决策变量允许优化问题的约束上的一些松弛。松弛表示在一定成本下可以违反一些约束。这种违反某些约束的能力允许例如实现交通规则/安全优先化。
[0100]
车辆状态在局部坐标系中描述,其中变量相对于某些参考路径进行描述(这是我们的实现所特有的)。“横向误差”状态表示运载工具在横向上距参考路径的位置。
[0101]
将理解的是,这些变量被描述为示例变量,并且其它实施例可以使用更多或更少
的变量、不同的变量等来提供运载工具从起点705到终点730的行为的空间域模型。
[0102]
空间轨迹优化系统610被配置为在预测范围内优化运载工具状态以识别第二路径,该第二路径在本文中被称为“基于空间的路径”。例如,模型的优化基于以下分量中的一个或多个:
[0103]
第一分量,其是自由变量,优化试图针对其找到最优值。这些自由变量通常是给定预测范围内的运载工具状态。
[0104]
第二分量,其是对作为等式约束的运载工具模型的使用。换言之,需要运载工具状态在预测范围内的演变以满足运载工具模型。源于优化的运载工具状态的最优序列因此将遵守运载工具模型。
[0105]
第三分量,其是对与优化变量的某些组合相关联的成本进行编码的目标函数。目标函数一般基于运载工具的期望行为被预先识别。通常,目标函数涉及一个或多个因素,诸如乘员舒适度、参考跟踪或障碍物的间距等。
[0106]
第四分量,其是约束,其将自由变量(如以上关于第一分量所讨论的)限定到特定可行集合。这些约束描述了必须在其中找到最优解的参数。约束对例如车道边界、碰撞约束、速率约束、致动约束(油门、制动或转向)等进行建模。
[0107]
然后将环境和当前运载工具状态的细节处理成要由空间轨迹优化系统610解决的针对每次迭代的优化问题。优化问题的解是相对于受到约束(例如,上述第四分量)的目标函数(例如,上述第三分量)最优的运载工具状态序列。通常,这种优化技术被称为“基于梯度的”,这是因为目标函数(例如,上述第三分量)是平滑的函数表示,该函数表示允许模型在函数的表面上移动并遵循函数的梯度以识别最优解。
[0108]
在一个实施例中,将认识到规划系统304根据给定的时间间隔来迭代。即,规划系统304以给定频率(例如可以是1赫兹)更新图700、参考路径735等中的一个或多个。在其它实施例中,频率可以根据诸如运载工具中使用的硬件、交通或天气的当前状态或其它延时要求等因素而更高或更低。针对该迭代,可以将基于空间的路径提供给基于采样的路径规划系统605,以用于识别参考路径(或其一部分)的下一次迭代。在一个实施例中,基于采样的路径规划系统605采用基于空间的路径作为参考路径。在其它实施例中,基于采样的路径规划系统605仅采用基于空间的路径的一部分作为参考路径,或使用基于空间的路径作为采样的起点。在其它实施例中可以存在其它变化。
[0109]
从空间轨迹优化系统610向建议比较系统620提供基于空间的路径。类似地,基于约束计算系统615对基于采样的参考路径735的应用,约束计算系统向建议比较系统620输出受约束的参考路径。建议比较系统620接收到来自约束计算系统615和空间轨迹优化系统610的路径,并比较这些路径。具体地,约束计算系统615使用一个或多个规则手册来比较受约束的参考路径和基于空间的路径。规则手册涉及各种因素,诸如碰撞避免、道路规则等。具体地,规则被应用于各个路径,然后基于该应用生成度量或值。在示例中,可以将与碰撞避免相关的规则应用于各个路径,并且(a)针对确定为存在碰撞的各个路径,所生成的度量或值可以是零(例如,表示不遵守规则),以及(b)针对确定为不存在碰撞的各个路径,所生成的度量或值可以是非零(例如,值1指示将不会发生碰撞,以及/或者大于0且小于1的值表示碰撞可能发生的程度等)。在其它示例中,与道路规则(例如,穿过划分相对的交通的两个车道的线)相关的规则可以被应用于各个路径,并且(a)针对遵守道路规则的各个路径,所
生成的度量或值可以是非零(例如,表示遵守规则,和/或遵守规则的程度等),以及(b)针对未遵守道路规则的各个路径,所生成的度量或值可以是零(例如,表示针对给定路径不可能遵守规则)。然后分析度量或值以识别所提供的两个路径中的哪一个最接近地与规则手册的规则相对应。在实施例中,规则手册是预先识别的或包括如上所述的预先识别的规则。在其它实施例中,使用一个或多个规则手册,该规则手册包括动态规则,例如基于交通条件、天气条件等生成的规则。如本文所使用的,“预先识别的”规则涉及在根据该规则进行分析之前识别的规则。这样的规则可以包括例如道路的已知规则、与碰撞避免策略相关的规则等。相反,“动态”规则可以涉及基于与运载工具或环境相关的当前情况的规则。如上所述,这样的动态规则可以涉及当前交通条件、当前天气条件等。
[0110]
基于来自规则手册的规则应用于路径以及相应的度量或值,选择被提供给建议比较系统620的两条路径之一以供运载工具使用。在实施例中,根据两个路径中的哪一个接收到基于规则与路径的比较的“最佳”分数来进行路径的选择。取决于如何生成度量或值,最佳分数可以基于最高分数或最低分数,其中最高分数或最低分数表示最遵守规则手册中所包括的规则的路径。在实施例中,路径的选择可以基于度量或值与阈值(阈值可以是预先识别的或动态的)的比较。例如,在实施例中,可以分析各个路径的度量或分数,以查看各个路径的度量或分数是否大于(或者大于或等于)阈值。在其它实施例中,该分析可以用于查看各个路径的度量或分数是否小于(或者小于或等于)阈值,这取决于如何计算度量。出于讨论的目的,将假设如果度量的值大于阈值,则该度量“通过”。如果仅一条路径的度量或值大于阈值,则选择该路径作为供运载工具使用的路径。如果两条路径的度量或值都大于阈值,则选择两条路径。如果两个路径的度量或值都不大于阈值,则可以采取补救措施,诸如紧急停止、重新计算路径或一些其它补救措施等。将理解的是,该示例仅意在描述操作的一个示例实施例,并且其它实施例可以变化。
[0111]
建议比较系统620然后向基于时间的轨迹优化系统625输出所选择路径的全部或部分或者其指示。基于时间的轨迹优化系统625被配置为基于所选择路径(例如,建议比较系统620所选择的受约束的参考路径或基于空间的路径)来计算轨迹。如本文所使用的,轨迹是指诸如路径、速度或加速度信息等的信息。与轨迹相关的信息然后被提供给控制系统306,控制系统306被配置为根据路径来操作运载工具。
[0112]
图8示出根据各实施例的用于路径规划的示例技术。图8的技术例如由规划系统304执行,更具体地,由如上关于图6所述的规划系统304的各子系统执行。
[0113]
将理解的是,所描绘的技术意在作为这样的路径规划技术的一个示例,并且其它实施例可以具有比图8中所描绘的要素更多或更少的要素。在其它实施例中,某些要素可以以与所描绘的顺序不同的顺序出现,或者彼此同时出现。在其它实施例中可以存在其它变化。
[0114]
该技术包括:在805处基于包括多个边和多个节点的图来识别包括多个边的子集的通过环境的参考路径。该图可以包括例如与图700相同或类似的图。例如,边和节点可以包括与边720和节点725相同或类似的边和节点。参考路径可以包括例如与参考路径735相同或类似的参考路径。
[0115]
该技术还包括:在810处基于与图和参考路径相关的空间模型的优化来识别第一路径。该第一路径可以包括例如与上述空间轨迹优化系统610所产生的基于空间的路径相
同或类似的基于空间的路径。
[0116]
该技术还包括:在815处基于对参考路径应用至少一个约束来识别第二路径。该第二路径可以包括例如与约束计算系统615所产生的受约束参考路径相同或类似的第二路径。
[0117]
该技术还包括:在820处基于预先识别的规则手册来将第一路径或第二路径选择为自主运载工具将穿过的路径。该选择可以与例如上面关于图6的建议比较系统620描述的选择相同或类似。具体地,该选择可以基于路径与预先识别的规则手册的比较以生成比较值或度量。在其它实施例中,该比较可以基于不同的技术或算法。
[0118]
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以授权公告权利要求书的具体形式根据本技术公告的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1