本文所描述的主题总体上涉及一种用于使用目标导向的导航系统来驾驶交通工具的系统和方法,目标导向的导航系统利用交通工具的诸如通用感知系统的通用组件。
背景技术
背景描述被提供以总体上呈现本公开的上下文。在本背景技术部分中可能会描述的范围内的发明人工作,以及本描述在申请时可能无法以其他方式而有资格作为现有技术的各方面,均未明确或暗含地被承认是本技术的现有技术。
一些交通工具配备有完全自主的系统,该系统可以在很少或没有乘员输入的情况下,驾驶(pilot)交通工具。这些系统可能非常复杂、昂贵,并且要求使用大量专用传感器、计算硬件等。
备选地,一些交通工具具有一个或多个主动安全系统,主动安全系统可以在某些情形下提供警告和/或控制交通工具。这些主动安全系统可以包括诸如车道保持辅助、自适应巡航控制、对象检测、紧急制动的系统。这些主动安全系统可能不提供完全自主类型的操作。然而,尽管这些系统可能不提供完全自主的操作,但是这些系统确实执行了完全自主系统可能要求的一些动作。例如,这些系统从一个或多个感知传感器收集信息,并将这些信息中继给通用导航决策系统。
技术实现要素:
本节总体上概括了本公开,并且不是对其全部范围或其所有特征的全面解释。
在一个实施例中,一种用于具有通用导航系统的交通工具的目标导向的导航系统,包括一个或多个处理器以及与一个或多个处理器通信的存储器。存储器包括接收模块、离散化模块、碰撞概率模块、目的得分阵列模块和交通工具控制模块。接收模块具有指令,该指令在由一个或多个处理器执行时,使一个或多个处理器从交通工具感知系统接收感知数据。离散化模块包括指令,该指令在由一个或多个处理器执行时,使一个或多个处理器将感知数据离散到与交通工具的当前定位相邻的区域中,该区域包括多个格子。
碰撞概率模块包括指令,该指令由一个或多个处理器执行时,使一个或多个处理器生成碰撞概率阵列,所述碰撞概率阵列具有与多个格子相对应的多个单元。碰撞概率阵列的单元指示在交通工具移动到由碰撞概率阵列的单元表示的区域的情况下,碰撞的可能性。碰撞概率模块还可以使一个或多个处理器确定碰撞概率阵列的哪些单元满足安全准则。
目的得分阵列模块包括指令,该指令在由一个或多个处理器执行时,使一个或多个处理器生成目的得分阵列,目的得分阵列具有与碰撞概率阵列中满足安全准则的单元相对应的多个单元。针对目的得分阵列的单元的值是基于碰撞概率阵列的对应单元的值、以及人工势场阵列的对应单元的值。交通工具控制模块包括指令,该指令在由一个或多个处理器执行时,使一个或多个处理器指导交通工具的交通工具控制系统将交通工具导引到一位置。
在另一实施例中,一种用于操作交通工具的方法,该交通工具具有通用导航控制系统和目标导向的导航系统,该方法包括以下步骤:从交通工具的交通工具感知系统接收感知数据,将感知数据离散到与交通工具的当前定位相邻的、包括多个格子的区域中,生成具有与多个格子相对应的多个单元的碰撞概率阵列,确定碰撞概率阵列中的哪些单元满足安全准则,生成具有与碰撞概率阵列中满足安全准则的单元相对应的多个单元的目的得分阵列,以及指导交通工具的交通工具控制系统以将交通工具导引到表示目标得分阵列中具有最期望值的单元的位置。
碰撞概率阵列的单元指示在交通工具移动到由碰撞概率阵列的单元表示的区域的情况下,碰撞的可能性。针对人工势场阵列的多个单元的值是交通工具的当前定位与目标定位的接近度的函数。针对目的得分阵列的单元的值是基于碰撞概率阵列的对应单元的值、以及人工势场阵列的对应单元的值。
在又一实施例中,一种非暂时性计算机可读介质,用于操作具有通用导航控制系统和目标导向的导航系统的交通工具,该非暂时性计算机可读介质包括指令,该指令在由一个或多个处理器执行时,使一个或多个处理器执行以下操作:从交通工具的交通工具感知系统接收感知数据,将感知数据离散到与交通工具的当前定位相邻的区域中,生成具有与多个格子相对应的多个单元的碰撞概率阵列,确定碰撞概率阵列中的哪些单元满足安全准则,生成具有与碰撞概率阵列中满足安全准则的单元相对应的多个单元的目的得分阵列,以及指导交通工具的交通工具控制系统以将交通工具导引到表示目标得分阵列中具有最高值的单元的位置。
类似前文,碰撞概率阵列的单元指示在交通工具移动到由碰撞概率阵列的单元表示的区域的情况下,碰撞的可能性。针对人工势场阵列的多个单元的值是交通工具的当前定位与目标定位的接近度的函数。针对目的得分阵列的单元的值是基于碰撞概率阵列的对应单元的值、以及人工势场阵列的对应单元的值。
通过所提供的描述,另外的适用领域、以及增强所公开技术的各种方法将变得显而易见。本发明内容中的描述和具体示例仅旨在用于说明,而不旨在限制本公开的范围。
附图说明
附图图示了本公开的各种系统、方法和其他实施例,附图被并入说明书并构成说明书一部分。将意识到的是,附图中所例示的元素边界(例如,框、框的群组或其他形状)表示边界的一个实施例。在一些实施例中,一个元件可以被设计为多个元件,或者多个元件可以被设计为一个元件。在一些实施例中,被示为另一元件的内部组件的元件可以被实现为外部组件,反之亦然。此外,元件可能未按比例绘制。
图1图示了并入有目标导向的导航系统的交通工具的框图;
图2是图1的目标导向的导航系统的更详细的框图;
图3图示了交通工具的传统通用导航系统的流程图;
图4图示了目标导向的导航系统的流程图,该目标导向的导航系统利用交通工具的通用导航系统的组件;
图5A-图5G图示了利用目标导向的导航系统的交通工具的示例场景;
图6图示了利用目标导向的导航系统的交通工具的示例场景,其在目标导向的导航系统和通用导航系统之间执行切换操作;
图7图示了用于将目标导向的导航系统与通用导航系统一起使用的方法;
图8图示了用于将目标导向的导航系统与通用导航系统一起使用,以使用中间目标位置到达最终目标位置的方法;以及
图9图示了用于将目标导向的导航系统与通用导航系统一起使用的方法,其在目标导向的导航系统和通用导航系统之间执行切换操作。
具体实施方式
所公开的是一种系统、方法和非暂时性介质,其由目标导向的导航系统利用交通工具的通用导航系统来将交通工具从一个位置驾驶到另一位置。此外,目标导向的导航系统使用来自通用导航系统的信息来确定碰撞概率阵列。碰撞概率阵列的单元中的每个单元指示如果交通工具被驾驶到与碰撞概率阵列的该单元相对应的位置,发生碰撞的可能性。该系统可以确定碰撞概率阵列的哪些单元满足安全准则。当交通工具与另一对象碰撞的可能性极低(诸如小于5%)时,安全准则可以得以满足。
目标导向的导航系统考虑碰撞概率阵列中满足安全准则的单元,连同人工势场阵列。人工势场阵列是表示交通工具与目的地的邻近度的单元的阵列。该系统生成包含多个单元的目的得分阵列,这些单元的值表示交通工具应当朝向何处而驾驶,其满足碰撞概率阵列(交通工具的安全)和人工势场(交通工具希望行进到的目的地)。一个或多个交通工具控制系统然后可以被致动,以将交通工具驾驶到目的得分阵列中具有最期望得分的单元。如此,目标导向的导航系统提供了一种经济有效的解决方案,以用于使用通用硬件组件来提供交通工具的自主导航。
参考图1,并入有目标导向的导航系统200的交通工具100被示出。交通工具100可以是任何形式的动力运输件,其允许将乘员和/或物品从一个位置运输到另一位置。这样,交通工具100可以是汽车,但也可以是轻型卡车、重型卡车、诸如拖拉机的农用交通工具、运动型多用途车、牵引式挂车、军用交通工具、采矿交通工具等。此外,交通工具100不限于基于陆地的交通工具,而是还可以包括其他类型的交通工具,诸如海船和飞机。
交通工具100可以包括比图1中所示更多或更少的组件。在此示例中,交通工具100包括(多个)处理器110,其可以经由一个或多个总线111来与其他交通工具系统和子系统通信。如后面将在本说明书中描述的,(多个)处理器110的一些或全部可以位于交通工具100内,或者可以位于交通工具100外部,并且协助执行一个或多个计算。
交通工具100可以包括一个或多个感知传感器120。(多个)感知传感器120可以检测交通工具100在其中操作的环境和/或该环境中的任何对象。例如,(多个)感知传感器120可以包括一个或多个不同类型的传感器,以用于检测环境以及在交通工具100外部的环境内的任何对象。
在一个示例中,交通工具100可以包括传感器,诸如LIDAR(光检测和测距)传感器121、(多个)摄像机122、(多个)雷达传感器123、(多个)声纳传感器124。(多个)摄像机122可以是(多个)高动态范围成像摄像机。此外,摄像机122可以包括一个或多个单摄像机或一个或多个立体摄像机。构成(多个)感知传感器120的传感器通常被安装在交通工具100上,使得它们可以感知交通工具100外部的环境。
交通工具100还可以包括通用导航系统130。通用导航系统130可以包括通用感知系统131和通用导航决策系统132。通用感知系统131从(多个)感知传感器120接收信息,诸如RGB图像、雷达数据、声纳数据、三维点云等。
在从(多个)感知传感器120接收到信息之后,通用感知系统131然后可以将感知信息输出到通用导航决策系统132。感知信息可以包括关于位于交通工具100附近的环境中的一个或多个对象的存在、位置、以及其他信息。通用导航决策系统132从通用感知系统131接收感知信息,并基于该信息做出一个或多个决定。
通用导航决策系统132可以是若干不同系统中的一个系统,其利用来自通用感知系统131的信息并采取某种类型的动作。如此,通用导航决策系统132可以是车道保持辅助系统。车道保持辅助系统可以是这样一种系统,其能够检测交通工具100相对于限定车道的一个或多个道路标记的定位。基于交通工具100相对于车道的位置,车道保持辅助系统可以向交通工具100的乘员提供交通工具100已经偏离车道或在偏离车道的过程中的警告、和/或控制交通工具100的警告以便将交通工具保持在车道内。车道保持辅助系统通常不将交通工具100驾驶到目的地,而是将交通工具100保持在车道内,并且要求交通工具100的乘员在适当的时间控制交通工具100,从而将交通工具100驾驶到预期的目的地。
通用导航系统130也可以是其他类型的系统。例如,通用导航系统130还可以包括对象检测和紧急制动系统,对象检测和紧急制动系统实质上使用通用感知系统131来检测对象的存在,并且确定交通工具100相对于检测到的对象的位置,并且执行紧急制动或转向以避免与检测到的对象的即将发生的碰撞。
通用导航系统130也可以是自适应巡航控制系统,其中当巡航控制被激活时,交通工具100能够检测交通工具外部的对象,并调节交通工具的速度以不与任何检测到的对象发生碰撞。当检测到的对象移动远离交通工具100时,交通工具100然后可以重新获得在启用巡航控制系统时,由交通工具100的乘员设定的速度。自适应巡航控制系统还可以包括车道保持辅助特征,该特征不仅可以调节交通工具相对于其他交通工具或对象的速度,还可以起到将交通工具100保持在其指定车道中的作用。
在另一示例中,通用导航系统130也可以是自由空间跟随系统,其从自由空间估计系统接收输入。例如,自由空间估计系统可以从(多个)感知传感器120接收信息,以确定在交通工具100前方的自由空间的存在。基于在交通工具100前方的自由空间的存在,自由空间跟随系统可以驾驶交通工具以跟随另一交通工具和/或自由空间。
上面给出的关于通用导航系统130的示例仅仅是示例。通用导航系统130可以采用几种不同形式中的任何一种,包括上面给出的示例的元件或未具体描述的其他元件。
交通工具100可以包括一个或多个定位传感器140,定位传感器140允许交通工具100的一个或多个系统或子系统确定交通工具100的定位。例如,这些定位传感器可以包括测量交通工具100的加速度、速度、方向盘角度等的传感器。在一个示例中,定位传感器140可以包括加速度计、罗盘传感器、轮速度传感器、转向角传感器、其组合等。
交通工具100还可以包括全球导航卫星系统(GNSS)145。GNSS145可以是任何类型的全球导航卫星系统,诸如GPS(全球定位系统)、GLONASS(全球导航卫星系统)、伽利略(Galileo)和/或北斗。GNSS145从一个或多个卫星接收信号,并且可以基于从卫星接收的信号来确定交通工具100的定位。如稍后将解释的,GNSS 145可以用于确定交通工具100相对于中间目标或最终目标的定位。
交通工具100还可以包括路线计划系统150和地图数据库160。路线计划系统150可以确定用于交通工具100所采取的路线,以从初始位置行进到目的地。路线计划系统150可以从交通工具100的乘员接收目的地的输入。交通工具100的乘员可以利用交通工具100的输入系统180来提供目的地信息。交通工具100的输入系统180可以是允许乘员输入信息的任何类型的输入系统。这样,输入系统180可以是语音输入麦克风、触摸屏、键盘、模拟输入等。
在从输入系统180接收到目的地之后,路线规划系统150可以从GNSS 145接收交通工具位置信息。如此,在接收到此信息之后,路线规划系统150具有交通工具的初始位置以及目的地位置二者。使用此信息、连同来自地图数据库160的地图信息,路线规划系统150然后能够确定从交通工具100的初始位置到目的地位置的一条或多条路线。在一个示例中,这些路线可以连同方向一起被显示到输出系统181,输出系统181可以是显示器和/或听觉输出设备,以提供将交通工具100导引到目的地的指令。
交通工具100还可以包括交通工具运动控制器190,交通工具运动控制器190能够控制与交通工具100移动有关的一个或多个交通工具系统和子系统。例如,交通工具运动控制器190可以与致动器控制器通信,致动器185致动控制交通工具100移动的一个或多个系统。例如,致动器控制器185能够控制踏板位置、制动器、方向盘角度、变速器选择等。交通工具运动控制器190可以从通用导航系统130接收信息,以通过向致动器控制器185发送指令来控制交通工具100的移动。例如,如果通用导航系统130是车道保持辅助系统,则交通工具运动控制器190可以向致动器控制器185发送信号,以控制交通工具100在车道内的定位。
交通工具100还可以包括势场成像系统195。势场成像系统195可以使用美国专利申请号16/502,602中公开的方法学,来生成人工势场图像(有时被称为势场图像),该专利标题为“Systems and Methods for Controlling an Autonomous Vehicle Using Target-Orientated Artificial Intelligence”,其通过引用一起整体并入于此。人工势场图像是由“目标状态”发出的虚拟势场。目标状态是系统试图到达的目标。例如,在自主导航中,该目标可能是交通工具试图到达的目的地位置。势场图像在概念上与电势场相似指出在于,对象离势源越近,由对象经受的势场就越强。在势场图像的情况下,交通工具100越接近目标状态,由交通工具100经受的势就越强。直观地,交通工具100经受的势表示在图形上交通工具100与目标位置有多邻近。
以图形形式表示交通工具100与目标有多邻近有若干优点,尤其是因为其涉及改进的计算性能。图形处理单元(GPU)的最新发展使GPU可以处理大量的图形数据。随着可以处理这些大数据的人工智能(“AI”)库和框架的后续开发,出奇准确结果可以实现。如此,这允许计算机技术的创新,即交通工具100离目标位置有多邻近的图形形式的数字图像处理,在这种情况下,其反映了在计算机的功能化、以及目标导向导航技术二者中的改进。
交通工具100还可以包括目标导向的导航系统200。目标导向的导航系统200可以使用交通工具100内的通用组件,以提供针对交通工具100的目标导向的导航。更简单地,导航系统200可以使用通用导航系统130的通用感知系统131,来为交通工具100提供目标导向的导航。为了提供这是如何发生的广泛概述,参考图3,图3图示了利用通用导航系统130的传统系统流程300。此外,传统的系统流程300将从(多个)感知传感器120捕获的信息提供给通用导航系统130。通用导航系统130可以将来自感知传感器120的信息转换成由通用导航决策系统132可以利用的信息。如前所陈述的,通用导航决策系统132可以是使交通工具100保持在车道内的车道保持辅助系统。通用导航决策系统132将此信息提供给交通工具运动控制器190,交通工具运动控制器190将指令发送给致动器控制器185。在从交通工具运动控制器190接收到指令时,致动器控制器185控制一个或多个致动器,以使交通工具100保持在指定车道中,一个或多个致动器控制交通工具100的移动。
图4图示了包括目标导向的导航系统200的系统流程400,目标导向的导航系统200利用诸如通用导航系统130的通用感知系统13的通用组件。在此,目标导向的导航系统200接收通用感知系统131的输出。通过这样做,单独的(多个)感知传感器120和/或通用感知系统131不需要被实现以利用目标导向的导航系统200。这可以是有利的,因为附加的传感器和感知系统不被要求,这降低了系统的成本和复杂性。在图4所示的示例中,势场成像系统195从定位传感器140和/或数据存储库210接收信息以生成势场。如前所陈述的,在美国专利申请号16/502,602中描述了势场的生成,该专利申请标题为“Systems and Methods for Controlling an Autonomous Vehicle Using Target-Orientated Artificial Intelligence”,其如前所提及的通过引用以其整体而被并入。然后,势场被提供给目标导向的导航系统200。
目标导向的导航系统200还从通用感知系统131接收信息。稍后将在本说明书中更详细地解释,目标导向的导航系统200使用来自通用感知系统131的信息来确定碰撞概率阵列。碰撞概率阵列的每个单元指示在交通工具100朝向与碰撞概率阵列的该单元相对应的位置而驾驶的情况下碰撞的可能性。目标导向的导航系统200可以确定碰撞概率阵列的哪些单元满足安全准则。安全准则可以使交通工具100与另一对象碰撞的可能性极低,诸如小于5%。
目标导向的导航系统200考虑碰撞概率阵列中满足安全准则的单元、连同人工势场阵列。人工势场阵列是表示交通工具100到目的地的邻近度的单元的阵列。目标导向的导航系统200生成包含多个单元的目的得分阵列,这些单元的值表示交通工具应当朝向何处而驾驶,以满足碰撞概率阵列(交通工具的安全)和人工势场(交通工具希望行进到的目的地)二者。交通工具运动控制器190可以经由致动器控制器185来将致动器进行致动,以将交通工具100朝向目的得分阵列中具有最期望得分的单元驾驶。如此,目标导向的导航系统200提供了一种成本有效的解决方案,以用于使用诸如通用导航系统130的通用感知系统13的通用硬件组件,来提供交通工具的自主导航。
参考图2,目标导向的导航系统200的一个实施例被进一步图示。如所示出的,目标导向的导航系统200包括(多个)处理器110。因此,(多个)处理器110可以是目标导向的导航系统200的一部分,或者目标导向的导航系统200可以通过数据总线或另一通信路径来访问(多个)处理器110。在一个或多个实施例中,处理器110是专用集成电路,其被配置为实现与接收模块241、离散化模块242、碰撞概率模块243、目的得分阵列模块244、交通工具控制模块245、目标更新模块246和/或切换模块247相关联的功能。更一般地,在一个或多个方面,(多个)处理器110是诸如微处理器的电子处理器,其在加载模块241-247、并执行与其相关联的所编码的功能时,可以执行本文所述的各种功能。
在一个实施例中,目标导向的导航系统200包括存储器240,其存储模块241-247。存储器240是随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、闪速存储器或其他合适的存储器,以用于存储器模块241-247。例如,模块241-247是计算机可读指令,当其由(多个)处理器110执行时,使(多个)处理器110执行本文所公开的各种功能。尽管在一个或多个实施例中,模块241-247是体现在存储器240中的指令,但在另外的方面中,模块241-247包括硬件,诸如处理组件(例如,控制器)、电路等,以用于独立执行一个或多个所提及的功能。
此外,在一个实施例中,目标导向的导航系统200包括数据存储库210。在一个实施例中,数据存储库210是用于存储信息的基于电子的数据结构。在至少一种方案中,数据存储库210是数据库,该数据库被存储在存储器240或另一合适的介质中,并且被配置有可以由(多个)处理器110执行的例程,以用于分析所存储的数据,提供所存储的数据,组织所存储的数据,诸如此类。在任一情况下,在一个实施例中,数据存储库210存储由模块241-247在执行各种功能中所使用的数据。在一个实施例中,数据存储库210包括传感器数据220,传感器数据220可以是由(多个)感知传感器120收集和/或由通用感知系统131处理的数据。数据存储库210还可以包括目标信息230,目标信息230可以包括针对交通工具100的中间和/或最终目标信息、和/或交通工具100的当前定位信息。
关于模块241-247,接收模块241可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110从交通工具100的通用感知系统131接收感知数据。来自通用感知系统131的感知数据可以是一个或多个图像、点云、声纳数据和/或雷达数据的形式,或者可以是经处理的数据,该经处理的数据提供了关于位于一个或多个图像、点云、声纳数据和/或雷达数据中一个或多个对象的存在的信息。例如,参考图5A,此图图示了在道路上行进的交通工具100,此图还包括在相同道路上行驶的其他交通工具。在图5B中,感知数据501是以关于与交通工具100有关的一个或多个对象的存在的信息的形式。
离散化模块242可以包括指令,当该指令由(多个)处理器110执行时,使(多个)处理器110将感知数据离散(discretize)到与交通工具100当前定位相邻的区域中。此外,如图5C中最佳地所示出的,图5B的感知数据501被离散到多个格子502中。离散化模块242还可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110将在交通工具前方的K乘K的区域沿着两个或更多轴线划分成具有多个格子的网格,该K乘K的区域为与交通工具100的当前定位相邻的区域。
碰撞概率模块243可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110生成碰撞概率阵列,该碰撞概率阵列具有与多个格子502相对应的多个单元。碰撞概率阵列的单元指示在交通工具100移动到由碰撞概率阵列的单元所表示的区域的情况下,碰撞的可能性,并且确定碰撞概率阵列的哪些单元满足安全准则。例如,参考图5D,所图示的是碰撞概率阵列503。碰撞概率阵列503包括一部分单元(在下文中,被称为“特定区域”),该一部分单元指示它们满足安全准则。安全准则可以是使得如果交通工具100移动到由碰撞概率阵列503中满足安全准则的一个或多个单元所表示的定位,则交通工具100不可能与另一对象碰撞。如此,碰撞概率阵列503的特定区域指示满足安全准则的单元,并且指示如果交通工具100移动到由满足安全准则的单元所表示的定位,则交通工具100不可能与任何其他对象碰撞。
接收模块241还可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110接收人工势场阵列。例如,参考图5E,所图示的是人工势场阵列504,其指示交通工具100希望行进到的目标。如前所陈述的,人工势场阵列是表示交通工具100与目的地的邻近度的单元的阵列。针对人工势场阵列的多个单元的值是交通工具100的当前定位距目标定位或目的地的接近度的函数。目的地可以是中间目标,也可以是最终目标。中间目标是位于交通工具的当前定位与最终目标之间的目的地。中间目标可以充当最终目标的垫脚石。
目的得分阵列模块244可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110生成目的得分阵列,目的得分阵列具有与碰撞概率阵列中满足安全准则的单元相对应的多个单元。针对目的得分阵列的单元的值是基于碰撞概率阵列的对应单元的值、以及人工势场阵列的对应单元的值。例如,参考图5F,所图示的是包括单元的目的得分阵列505,单元所具有值基于碰撞概率阵列503对应单元的值、以及人工势场阵列504的对应单元的值。还图示了位置506,其由被确定具有最期望值的单元表示。最期望值表示一位置,交通工具100应当朝向着该位置行进,以避免与另一对象碰撞但还朝向中间目标或最终目标移动。最期望值可以是高值,但也可以是低值。
针对目的得分阵列的多个单元的值可以是:
β∈[0,1];并且
其中Oi是针对目的得分阵列的多个单元的值,是针对人工势场阵列的多个单元的值,S′i是针对碰撞概率阵列的多个单元的值,而β是积极度因数,其表示安全的相对重要性。目的得分阵列中具有最高值的单元被表达为:
T′t=argmaxioi
交通工具控制模块245可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110指导交通工具100的交通工具运动控制器190以将交通工具100导引到表示目的得分阵列中具有最高值的单元的位置。例如,参考图5F和图5G,交通工具100的交通工具运动控制器190将交通工具100导引到位置506,位置506表示目的得分阵列505的最期望值。如此,目标导向的导航系统200可以使交通工具100朝向目标驾驶,该目标满足碰撞概率阵列503(交通工具的安全)、以及人工势场阵列504(交通工具希望行进到的目的地)二者。
目标更新模块246可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110在交通工具100已到达目标定位时,将目标定位更新为新的目标定位。例如,参考图5G,在交通工具已到达位置506之后,目标导向的导航系统200可以再次执行上面所公开的方法学,以确定交通工具100待行进到的新的目标定位。这样,目标导向的导航系统200可以确定待行进到的最终目标,并且然后可以使用路线计划系统150来确定路线。路线可以被分解成中间目标,中间目标表示交通工具100待行进到的位置。随着交通工具从一个中间目标行进到另一中间目标,交通工具100越来越邻近它的最终目标。
例如,图6图示了交通工具100具有起始位置602和最终目标604。如此,起始位置602是交通工具100开始的位置,并且然后最终目标604是交通工具100的目的地结束的位置。在此,交通工具100的路线计划系统150已经设计了沿着道路的路线。该路线包括若干中间目标606、608、610、612。在此,中间目标606可以表示人工势场的中心。如先前所述,目标导向的导航系统200利用人工势场、连同来自通用导航系统的信息,以使交通工具向目标驾驶,该目标在这种情况下为中间目标606。在到达中间目标606后,目标导向的导航系统200添加另一中间目标608。在到达中间目标608后,目标导向的导航系统设置针对中间目标610的路程,然后跟随有中间目标612,最后到最终目标604。
切换模块247可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110在交通工具100的目标导向的导航系统200与通用导航系统130之间切换控制。此外,仍然参考图6,从起始位置602到最终目标604的路线可以分解成中间目标606、608、610和612,中间目标中的每个中间目标具有围绕着它的人工势场。取决于交通工具100沿着路线所位于的位置,或是目标导向的导航系统200可以控制交通工具100,或是通用导航系统130可以控制交通工具100。
例如,图6中所示的路线包括起始位置602与中间目标606中之间的时间段621。在此时段期间(时间段621和622),切换模块247可以使(多个)处理器110确定目标导向的导航系统200应当控制交通工具100。这可能是因为交通工具100正汇入高速公路,高速公路具有位于高速公路上的许多交通工具,并且目标导向的导航系统可以管理高速公路进入,而通用导航系统130,其可能是简单的车道保持系统,则通常不可以。
随着交通工具100沿着路线继续,交通工具将最终到达中间目标608。在中间目标608处,切换模块247可以使(多个)处理器110确定:由于交通工具100沿着直行道路行进,因此目标导向的导航系统200不再是必需的,并且代替地通用导航系统130可以被利用(时间段623)。在此,由于交通工具100简单地沿着直道路而行进,所以切换模块247可以使(多个)处理器110确定车道保持辅助系统对于沿着该道路的车道来驾驶交通工具是足够的。
当交通工具100沿着道路朝向中间目标610继续时,切换模块247可以使(多个)处理器110确定:目标导向的导航系统200应该从通用导航系统130接管交通工具100的命令(时间段624、625和626)。在此,因为交通工具100现在正在改变车道、并朝向出口匝道移动,该出口匝道通向最终目标604,所以切换模块247可以使(多个)处理器110确定:目标导向的导航系统200现在应当控制交通工具100,目标导向的导航系统200考虑交通工具100的安全、以及交通工具100希望行进到的目的地二者。
如此,切换模块247使(多个)处理器110确定其中交通工具的通用导航系统130足够以驾驶交通工具100的情形、以及其中目标导向的导航系统200应当被利用来驾驶交通工具100的其他情形。在上面所提及的示例中,当交通工具100沿着直道路行进、或以其他方式旨在留在相同车道中时,通用导航系统130可以被利用。然而,当交通工具100需要执行更复杂的调动,以便到达最终目标或中间目标时,切换模块247可以使(多个)处理器110将对交通工具100的控制转给目标导向的导航系统200。
图7图示了用于具有通用导航控制系统和目标导向的导航系统的交通工具的方法700。方法700将从图1的交通工具100、以及图2的目标定位导航系统200的视角来描述。然而,方法700可以适于在若干不同情形中的任何一种情形中执行,并且不一定由图1的交通工具100和/或图2的目标导向的导航系统200来执行。
在此,方法700在步骤702开始,其中目标更新模块246使(多个)处理器110接收目标位置。目标位置可以是路线的起点与路线的终点之间的中间目标位置,或者可以是表示路线的终点的最终目标。在步骤704中,接收模块241使(多个)处理器110接收交通工具100的位置。交通工具100的位置可以由交通工具100的GNSS 145生成。
在步骤706中,目标更新模块246使(多个)处理器110确定交通工具100是否已到达步骤702中所指示的位置。这可以通过将目标位置与交通工具位置进行比较来完成。如果存在实质匹配,则方法700可以结束。然而,如果交通工具尚未到达目标位置,则该方法进行到方法710。方法710与用于利用目标导向的导航系统200的一系列步骤有关。方法710可以包括所有步骤712-722或步骤的子集。此外,方法710可以不按所描述的顺序执行。
在此,方法710在步骤712处开始,其中接收模块241使(多个)处理器110从交通工具100的通用感知系统131接收感知数据。如前所述,感知数据包括关于交通工具100外部的一个或多个对象的信息。
在步骤714中,离散化模块242使(多个)处理器110将感知数据离散化与交通工具100的当前定位相邻的区域中。此外,如在图5C中最佳地所示处的,图5B的感知数据501被离散到多个格子502中。离散化模块242还可以包括指令,该指令在由(多个)处理器110执行时,使(多个)处理器110将在交通工具100前方的K乘K区域沿着两条或多条轴线的划分成具有多个格子的网格,该K乘K区域为与交通工具100的当前定位相邻的区域。
在步骤716中,碰撞概率模块243使(多个)处理器110生成碰撞概率阵列,碰撞概率阵列具有与多个格子相对应的多个单元。碰撞概率阵列的单元指示在交通工具100移动到由碰撞概率阵列的单元所表示的区域的情况下碰撞的可能性,并且确定碰撞概率阵列的哪些单元满足安全准则。例如,参考图5D,所图示的是碰撞概率阵列503。
在步骤718中,碰撞概率模块243使(多个)处理器110确定碰撞概率阵列的哪些单元满足安全准则。碰撞概率阵列503包括一部分单元(在下文中,被称为“特定区域”),该一部分单元指示它们满足安全准则。安全准则可以使得如果交通工具100移动到由碰撞概率阵列503中满足安全准则的一个或多个单元所表示的位置,则交通工具100不可能与另一对象发生碰撞。如此,碰撞概率阵列503的特定区域指示这样的单元,其满足安全准则、并且如果交通工具100移动到由满足安全准则的单元所表示的定位,则交通工具100不可能与任何其他对象发生碰撞。
在步骤719中,接收模块241可以使(多个)处理器110接收人工势场阵列。如前所陈述的,人工势场阵列是表示交通工具100与目的地的邻近度的单元的阵列。针对人工势场阵列的多个单元的值是交通工具100的当前定位距目标定位或目的地的接近度的函数。目的地可以是中间目标,或者可以是最终目标。
在步骤720中,目的得分阵列模块244可以使(多个)处理器110生成目的得分阵列。目的得分阵列可以包括与碰撞概率阵列中满足安全准则的单元相对应的多个单元。针对目的得分阵列的单元的值是基于碰撞概率阵列的对应单元的值、以及人工势场阵列的对应单元的值。例如,参考5F,所图示的是包括单元的目的得分阵列505,该单元具有的值基于碰撞概率阵列503的对应单元的值、以及人工势场阵列504的对应单元的值。还图示了位置506,位置506由被确定具有最期望值的单元表示。最期望值表示一位置,其中交通工具100应当行进到该位置,以避免与另一对象发生碰撞但还朝向中间目标或最终目标移动。最期望值可以是高值,但也可以是低值。
在步骤722中,交通工具控制模块245使(多个)处理器110指导交通工具100的交通工具运动控制器190,以将交通工具100导引到一位置,该位置表示目的得分阵列中具有最期望值的单元。例如,参考图5F和图5G,交通工具100的交通工具运动控制器190将交通工具100导引到位置506,位置506表示目的得分阵列505的最期望值。如此,目标导向的导航系统200可以使交通工具100朝向目标而驾驶,该目标满足碰撞概率阵列503(交通工具的安全)以及人工势场阵列504(交通工具希望行进到的目的地)二者。
在方法710已被完成之后,方法700返回到步骤702,该过程从步骤702再次开始。在此示例中,在完成方法700之后接收到的目标位置可以是新的目标位置。
参考图8,用于具有通用导航控制系统和目标导向的导航系统的交通工具的另一方法800。方法800将从图1的交通工具100、以及图2的目标定位导航系统200的视角来描述。然而,方法800可以适于在若干不同情形中的任何一种情形中执行,并且不一定由图1的交通工具100和/或图2的目标导向的导航系统200来执行。
方法800描述了一种用于利用最终目标和一系列中间目标的方法学,其类似于图6中所示和所述的,一系列中间目标最终通往最终目标。在此,方法800开始于步骤802,其中目标更新模块246使(多个)处理器110接收最终目标定位。最终目标定位可以由交通工具100的乘员经由输入系统180来提供。在步骤804中,目标更新模块246使(多个)处理器110接收当前交通工具定位。当前交通工具定位可以由GNSS 145提供。
在步骤806中,目标更新模块246使(多个)处理器110确定交通工具100是否已到达最终目标。如果交通工具100已到达最终目标,则方法800结束。否则,方法前进到步骤808。在步骤808中,目标更新模块246使(多个)处理器110确定从当前交通工具定位到最终目标定位的路线。这可以由路线规划系统150执行,路线规划系统150利用最终目标、当前交通工具定位以及来自地图数据库160的地图,来生成供交通工具100行进以到达最终目标的路线。此外,(多个)处理器110还可确定一个或多个中间目标定位,如步骤810中所示。
在步骤812中,接收模块241基于目标定位接收人工势场阵列。目标定位可以是中间目标定位,或者可以是最终目标。如前所陈述的,人工势场阵列可以如题为“Systems and Methods for Controlling an Autonomous Vehicle Using Target-Orientated Artificial Intelligence”的美国专利申请号16/502,602中所述地生成,该专利申请如前所提及地通过引用以其整体被并入。
在步骤814中,图7的方法710被执行。如前所陈述的,图7的方法710能够利用人工势场阵列、以及来自交通工具100的通用导航系统130的通用感知系统131的信息,将交通工具100导引到目标。
在步骤816中,一旦交通工具100已到达中间目标定位,则中间目标定位可以被擦除,并且方法800返回到步骤804,其中方法800确定当前交通工具定位,并确定交通工具是否已到达最终目标。如前所陈述的,如果交通工具已到达最终目标,则方法800结束,否则,方法800继续直到交通工具到达最终目标。
参考图9,用于具有通用导航控制系统和目标导向的导航系统的交通工具的另一方法900。方法900将从图1的交通工具100、以及图2的目标定位导航系统200的视角来描述。然而,方法900可以适于在若干不同情形中的任何一种情形中执行,并且不一定由图1的交通工具100和/或图2的目标导向的导航系统200来执行。
方法900有些类似于图8的方法800。如此,类似的步骤将简要描述,但应理解先前的描述同样适用于方法900。在此,目标更新模块246使(多个)处理器110接收最终目标定位和当前交通工具定位,其分别如步骤902和904中所指示的。如果交通工具100已到达最终目标,则方法900结束。
然而,如果如在步骤906中所确定的,最终目标尚未到达,则方法900进行到步骤908。在步骤908中,切换模块247使(多个)处理器110决定对交通工具100的控制是否应当从通用导航系统130切换到目标导向的导航系统200,反之亦然。例如,如果交通工具100在直道路上行进,则方法900可以决定更适合的是通用导航系统130沿道路驾驶交通工具100,并且方法900将进行到步骤917。
然而,如果切换模块247使(多个)处理器110确定较复杂的调动由交通工具100所要求,则方法900可以进行到步骤910,其中对交通工具100的控制将被移交给目标导向的导航系统200,并且中间目标定位被确定。此后,在步骤912中,如所描述的,并且人工势场阵列是基于910的目标定位,并且如在步骤914中所指示的,方法710被执行。在方法710被执行之后,如步骤916中所指示的,中间目标定位可以被擦除,并且该方法返回到步骤904。
应当意识到,本说明书中描述的任何系统都可以按具有单独的集成电路和/或芯片的各种布置来配置。电路经由连接路径被连接,以提供在单独电路之间传递信号。当然,尽管讨论了单独的集成电路,但是在各种实施例中,这些电路可以被集成到共同的集成电路板中。附加地,集成电路可以被组合成更少的集成电路、或被划分成更多的集成电路。
在另一实施例中,所描述的方法和/或其等同物可以用计算机可执行指令来实现。因此,在一个实施例中,一种非暂时性计算机可读介质被配置有所存储的计算机可执行指令,该计算机可执行指令在由机器(例如,处理器、计算机等)执行时,使该机器(和/或相关联的组件)执行该方法。
尽管为了解释简单起见,图中图示的方法学被示出和描述为一系列框,但是应当意识到,该方法学不受框的顺序的限制,因为一些框可以按不同的顺序发生和/或与所示出和描述的其他框同时发生。此外,少于全部例示的框可以被用来实现示例方法学。框可以被组合、或分开到多个组件中。此外,附加和/或备选方法学可以采用未图示的附加框。
本文公开了详细的实施例。然而,应当理解,所公开的实施例仅旨在作为示例。因此,本文所公开的具体结构和功能细节不应解释为限制性的,而仅仅被解释为权利要求的基础,并且被解释为用于教导本领域技术人员以实际上任何适当的详细结构以按各种方式来采用本文所述方面的代表性基础。此外,本文中所使用的术语和短语不旨在是限制性的,而是旨在提供可能实现的可理解描述。
附图中的流程图和框图图示了根据各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能性和操作。就这一点而言,流程图或框图中的每个框可以表示代码的模块、段或部分,其包括用于实现指定的(多个)逻辑功能的一个或多个可执行指令。还应注意,在一些备选实现中,框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能性,相继的两个框实际上可以实质上同时执行,或者这些框有时可以以相反的顺序执行。
上述的系统、组件和/或过程可以以硬件或硬件和软件的组合来实现,并且可以以集中的方式在一个处理系统中或者以分布式的方式来实现,在分布式的方式中,不同的元素散布在若干互连的处理系统上。适合执行本文描述的方法的任何种类的处理系统或别的装置都是合适的。硬件和软件的组合可以是具有计算机可用程序代码的处理系统,该计算机可用程序代码在被加载和执行时控制该处理系统,以使其执行本文所述的方法。系统、组件和/或过程还可以被嵌入到计算机可读存储装置中,诸如由机器可读取的计算机程序产品或其他数据程序存储设备,从而有形地体现由机器可执行以执行本文描述的方法和过程的指令程序。这些元素也可以被嵌入应用产品中,应用产品包括能够实现本文所述方法的所有特征,并且在被加载到处理系统中后能够执行这些方法。
此外,本文描述的装置可以采取计算机程序产品的形式,其体现在一种或多种计算机可读介质中,计算机可读介质上具有体现(例如,存储)在其上的计算机可读程序代码。可以利用一种或多种计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。短语“计算机可读存储介质”是指非暂时性存储介质。计算机可读介质可以采取包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘等。易失性介质可以包括例如半导体存储器、动态存储器等。这样的计算机可读介质的示例可以包括但不限于软盘、软磁盘、硬盘、磁带、其他磁性介质、ASIC、图形处理单元(GPU)、CD、其他光学介质、RAM、ROM、存储器芯片或卡、存储器棒以及其他介质,其可以由计算机、处理器或其他电子设备读取。在本文的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含或存储供指令执行系统、装置或设备使用的、或与其结合使用的程序。
以下包括本文采用的选定术语的定义。定义包括落入术语范围内并且可以用于各种实现的组件的各种示例和/或形式。这些示例并非旨在是限制性的。术语的单数形式和复数形式都可以在定义之内。
对“一个实施例”、“实施例”、“一个示例”、“示例”等的引用指示如此描述的(多个)实施例或(多个)示例可以包括特定的特征、结构、特点、特性、元素或限制,但是并非每个实施例或示例都必须包括该特定的特征、结构、特点、特性、元素或限制。此外,尽管可以重复使用短语“在一个实施例中”,但对该短语的使用不一定指代相同的实施例。
如本文中所使用的,“模块”包括计算机或(多个)电气硬件组件、固件、存储指令的非暂时性计算机可读介质、和/或这些组件的组合,其被配置为执行(多个)功能或(多个)动作,和/或被配置为引起来自另一逻辑、方法和/或系统的功能或动作。模块可以包括由算法控制的微处理器、离散逻辑(例如,ASIC)、模拟电路、数字电路、编程逻辑设备、包括在被执行时执行算法的指令的存储器设备等等。在一个或多个实施例中,模块可以包括一个或多个CMOS门、门的组合、或其他电路组件。在描述多个模块的情况下,一个或多个实施例可以包括将多个模块并入到一个物理模块组件中。类似地,在描述单个模块的情况下,一个或多个实施例在多个物理组件之间分配单个模块。
附加地,本文中所使用的模块包括执行任务或实现数据类型的例程、程序、对象、组件、数据结构等。在另外的方面中,存储器通常存储所提及的模块。与模块相关联的存储器可以是嵌入在处理器内的缓冲器或高速缓存、RAM、ROM、闪速存储器或其他合适的电子存储介质。在更进一步的方面中,由本公开设想的模块被实现为专用集成电路(ASIC)、片上系统的硬件组件(SoC)、可编程逻辑阵列(PLA)、图形处理单元(GPU),或者被实现为嵌入定义配置集(例如,指令)的另一合适的硬件组件,以用于执行所公开的功能。
在一种或多种装置中,本文所述的模块中的一个或多个模块可以包括人工或计算智能元件,例如,神经网络、模糊逻辑或其他机器学习算法。此外,在一种或多种布置中,模块中的一个或多个模块可以分布在本文所述的多个模块之中。在一种或多种装置中,本文所述的模块中的两个或更多的模块可以组合成单个模块。
在计算机可读介质上体现的程序代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤、电缆、RF等、或前述介质的任何适当组合。可以以一种或多种编程语言的任何组合来编写用于执行本布置各方面的操作的计算机程序代码,包括诸如JavaTM、Smalltalk、C++之类的面向对象的编程语言、以及诸如“C”编程语言或类似的编程语言的常规的程序编程语言。程序代码可以完全在用户计算机上执行,部分在用户计算机上执行,作为独立软件包执行,部分在用户计算机上且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可以与外部计算机建立连接(例如,通过使用互联网服务提供商的互联网)。
本文中所使用的术语“一”和“一个”被定义为一个或多于一个。本文中所使用的术语“多个”被定义为两个或多于两个。本文中所使用的术语“另一”被定义为至少第二或更多。本文中所使用的术语“包括”和/或“具有”被定义为包括(即,开放语言)。本文中所使用的短语“……和……中的至少一项”指代并涵盖相关联的所列出项中的一项或多项的所有可能组合。作为示例,短语“A、B和C中的至少一项”包括仅A、仅B、仅C或其任何组合(例如,AB、AC、BC或ABC)。
在不脱离其精神或实质属性的情况下,本文的各方面可以以其他形式体现。因此,应该参考所附权利要求,而不是前面的说明书,来指示其范围。