基于快速探索随机化反馈的运动规划的制作方法

文档序号:15104345发布日期:2018-08-04 16:30阅读:130来源:国知局

本申请要求于2015年12月9日提交的题为“RAPIDLY-EXPLORING RANDOMIZING FEEDBACK-BASED MOTION PLANNING(基于快速探索随机化反馈的运动规划)”的美国临时专利申请No.62/265,238的权益,其公开内容通过援引全部明确纳入于此。

背景

领域

本公开的某些方面一般涉及机器学习,尤其涉及改进运动规划的系统和方法。



背景技术:

使自主系统(诸如机器人)具有鉴于不确定性作出决定的能力是合乎需要的。例如,当在未知环境中操作时,确定用于控制机器人从该环境中的位置朝向目的性或目标性目的地移动、同时避开障碍物的规划是合乎需要的。然而,确定此规划是计算密集且昂贵的。

概述

在本公开的一方面,给出了一种使智能体(agent)抵达目标的运动规划方法。该方法包括确定当前时间下的前沿与下一时间下的前沿之间的前沿区域。该方法还包括在该前沿区域中以朝向目标的偏置来采样路径点。该方法进一步包括基于所采样的路径点的序列来选择路径。

在本公开的另一方面,给出了一种用于使智能体抵达目标的运动规划的装置。该装置包括存储器和至少一个处理器。该一个或多个处理器被耦合到该存储器并被配置成确定当前时间下的前沿与下一时间下的前沿之间的前沿区域。(诸)处理器还被配置成在该前沿区域中以朝向目标的偏置来采样路径点。(诸)处理器被进一步配置成基于所采样的路径点的序列来选择路径。

在本公开的又一方面,给出了一种使智能体抵达目标的运动规划设备。该设备包括用于确定当前时间下的前沿与下一时间下的前沿之间的前沿区域的装置。该设备还包括用于以朝向目标的偏置来在该前沿区域中采样路径点的装置。该设备进一步包括用于基于所采样的路径点的序列来选择路径的装置。

在本公开的又再一方面,给出了一种非瞬态计算机可读介质。该非瞬态计算机可读介质其上编码有用于使智能体抵达目标的运动规划的程序代码。该程序代码由处理器执行并且包括用以确定当前时间下的前沿与下一时间下的前沿之间的前沿区域的程序代码。该程序代码还包括用以在该前沿区域中以朝向目标的偏置来采样路径点的程序代码。该程序代码进一步包括用以基于所采样的路径点的序列来选择路径的程序代码。

本公开的附加特征和优点将在下文描述。本领域技术人员应当领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。

附图简述

在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。

图1解说了根据本公开的某些方面的使用片上系统(SOC)(包括通用处理器)来设计神经网络的示例实现。

图2解说了根据本公开的各方面的系统的示例实现。

图3是解说根据本公开的各方面的配置成用于运动规划的智能体的示例性架构的框图。

图4A-4B是解说根据本公开的各方面的运动规划的示例性示图。

图5是解说根据本公开的各方面的基于前沿的采样的示例性示图。

图6是解说根据本公开的各方面的目的偏置采样的示例性示图。

图7和8解说了根据本公开的各方面的用于运动规划的方法。

详细描述

以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出了众所周知的结构和组件以避免湮没此类概念。

基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。

措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中所描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。

尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。

基于快速探索随机化反馈的运动规划

本公开的各方面涉及用于移动机器人的运动规划,尤其涉及未知环境中的运动规划。在一些方面,运动规划器可以确定用于对智能体(例如,机器人)朝向目的同时避开障碍物的反馈控制的策略。

本公开的各方面可以利用智能采样来确定将环境中的智能体(诸如移动机器人)从当前位置移动到目的性或目标性目的地的路径。也就是说,与基于常规采样的规划器不同,可以基于该环境区域是已知的还是未知的来有差别地进行采样。例如,在一些方面,已知区域可被密集地采样,而未知的空间或区域可被稀疏地采样。

采样点可被用来确定将智能体从其当前位置移动到目标性目的地的线路。随着智能体在环境内移动,更多的环境被观察到,并且由此已知区域扩展。在已经发现了更多的环境的情况下,更新到目的地的路径可能是有利的(例如,新观察到的区域揭示了障碍物在路径中)。替代丢弃先前确定的采样点并对环境重新采样,这些采样点可被保留。可以在有限的基础上进行附加采样。例如,附加采样可被限于接近环境的已知部分(例如,智能体观察到或感测到的部分)与未知部分之间的边界(或前沿)的区域。在一些方面,这些样本或路径点可仅被插入在前沿上。这些路径点随后可被连接到目的。这样做,可以通过不在环境的(机器人以前从未看到的)未知区域中放置采样来节省计算资源。在一些方面,可以通过针对这些路径点在目的方向上应用偏置来进一步限制采样。如此,计算资源可被节省,而非在环境的未知区域中重新采样或提取更多的样本。

随着智能体接收到关于环境的信息,可以生成并维持图形(诸如快速探索随机化图形(RRG))。可以使用样本或节点及各样本之间的连接(其可被称为边沿)来生成该图形。

可以为在环境内朝向目的的移动确定成本。例如,可以为样本或节点中的每一者确定状态成本。状态成本可以定义与智能体在环境内处于特定状态(例如,在对象样本或节点处)相关联的成本。还可以确定边沿成本。边沿成本可以定义沿着各样本之间的边沿或连接执行或移动的成本。可以在图形中维持这些成本。在一些方面,运动规划器基于关于环境的信息(例如,是否存在充分的间隙、足够的开放空间、是否已经发生碰撞、和/或区域已知或未知的程度)来持续地更新状态成本和边沿成本。以此方式,运动规划器可以计及关于环境中的障碍物存在确定性的实例。例如,如果已经观察到障碍物,并且障碍物的确定性为高,则与该状态相关联的成本可能同样为高。另一方面,如果关于是否已经观察到障碍物存在不确定性,则成本可被设为比确定性为高的情形低的水平。由此,规划器并不限于仅仅考虑碰撞成本的有效性(无碰撞)或无效性,并且作为结果可以实现改进的规划。

使用图形和成本信息,可以确定用于将智能体朝向目的性或目标性目的地移动的一个或多个控制动作。在一些方面,控制动作可以是基于所接收到的信息的最佳或最高效的控制动作。

图1解说了根据本公开的某些方面使用片上系统(SOC)100进行前述的运动规划的示例实现,SOC 100可以包括通用处理器(CPU)或多核通用处理器(CPU)102。变量(例如,神经信号和突触权重)、与计算设备相关联的系统参数(例如,带有权重的神经网络)、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(NPU)108相关联的存储器块、与CPU 102相关联的存储器块、与图形处理单元(GPU)104相关联的存储器块、与数字信号处理器(DSP)106相关联的存储器块、专用存储器块118中,或可跨多个块分布。在通用处理器102处执行的指令可从与CPU 102相关联的程序存储器加载或可从专用存储器块118加载。

SOC 100还可以包括为具体功能定制的附加处理块(诸如GPU 104、DSP106、连通性块110(其可以包括第四代长期演进(4G LTE)连通性、无执照Wi-Fi连通性、USB连通性、蓝牙连通性等))以及例如可检测和识别姿势的多媒体处理器112。在一种实现中,NPU实现在CPU、DSP、和/或GPU中。SOC 100还可以包括传感器处理器114、图像信号处理器(ISP)、和/或导航120(其可以包括全球定位系统)。

SOC 100可以基于ARM指令集。在本公开的一方面,加载到通用处理器102中的指令可以包括用于确定当前时间t下的前沿与下一时间t+1下的前沿之间的前沿区域的代码。加载到通用处理器102中的指令还可以包括用于在前沿区域中以朝向目标的偏置来采样路径点的代码。加载到通用处理器102中的指令可进一步包括用于基于所采样的路径点的序列来选择路径的代码。

图2解说了根据本公开的某些方面的系统200的示例实现。如图2中所解说的,系统200可具有可执行本文中所描述的方法的各种操作的多个局部处理单元202。每个局部处理单元202可以包括局部状态存储器204和可存储神经网络的参数的局部参数存储器206。另外,局部处理单元202可具有用于存储局部模型程序的局部(神经元)模型程序(LMP)存储器208、用于存储局部学习程序的局部学习程序(LLP)存储器210、以及局部连接存储器212。此外,如图2中所解说的,每个局部处理单元202可与用于为该局部处理单元的各局部存储器提供配置的配置处理器单元214对接,并且与提供各局部处理单元202之间的路由的路由连接处理单元216对接。

图3是解说根据本公开的各方面的配置成用于运动规划的智能体300(例如,机器人)的示例性架构的框图。参照图3,智能体300包括传感器,其检测物体以及关于环境的其他信息。检测信息被提供给感知模块。该感知模块评估和/或解读该检测信息。解读信息可进而被提供给映射和状态估计块。该映射和状态估计块可以利用该解读信息来确定或估计智能体的当前状态。例如,该映射和状态估计块可以确定智能体在该环境内的位置。在一些方面,该映射和估计块可以确定环境的地图。在一个示例中,该映射和估计块可以标识障碍物及此类障碍物在环境中的位置。

映射和/或状态估计可被提供给规划器。该规划器可以基于映射和/或状态估计来维持快速探索随机化图形(RRG)。在一些方面,该规划器可以生长该RRG。该规划器还可确定和/或更新状态成本。该状态成本可以包括在环境内处于特定状态的成本。此外,该规划器可以确定针对智能体的下一控制动作。在一些方面,该规划器可以确定多个潜在动作,并且可以在这些动作之中选择导致最低状态成本、与目的或目的地的最接近邻近度的动作。

在一种配置中,机器学习模型被配置成用于确定当前时间下的前沿与下一时间下的前沿之间的前沿区域。该模型还被配置成用于在该前沿区域中以朝向目标的偏置来采样路径点。该模型被进一步配置成用于基于所采样的路径点的序列来选择路径。该模型包括确定装置、采样装置、和/或选择装置。在一个方面,该确定装置、采样装置、和/或选择装置可以是配置成执行所叙述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、本地处理单元202、和/或路由连接处理单元216。在另一配置中,前述装置可以是配置成执行由前述装置所叙述的功能的任何模块或任何装置。

根据本公开的某些方面,每个本地处理单元202可被配置成基于模型的一个或多个期望功能特征来确定模型的参数,以及随着所确定的参数被进一步适配、调谐和更新来将这一个或多个功能特征开发成期望的功能特征。

图4A是解说根据本公开的各方面的智能采样的示例性示图。参照图4A,智能体402在环境400中进行操作,目的是向目标性或目的性位置408移动。期望将智能体402从其当前位置向目的位置408移动同时避开障碍物404。用于移动智能体402的运动规划可以例如通过在遍及该环境的已知区域或可观察区域(例如,区域410)的各个位置处提取采样点406(为了便于解说,标识出两个此类点)来确定。例如,智能体的已知区域(例如,区域410)可以由在智能体402上提供或耦合到智能体402的相机的视野范围或视场(FOV)来定义。当然,这仅仅是示例性的,其他传感器或检测系统(诸如声音导航与测距(声呐)、光检测与测距(雷达)等)也可被用来观察环境。

在一些方面,未知区域也可被稀疏地采样。使用采样点(例如,采样点406),可以确定用以将智能体402移动到目的位置的一条或多条路径或线路。

在一些情形中,目的位置可以在智能体的已知或可观察区域之外。如图4A的示例中所示,目的位置408超出环境400的可观察或已知区域。也就是说,区域410可以包括智能体402在时间tk下的可观察范围或感知范围。已知区域410与环境400的剩余部分(例如,未知区域)之间的边界可以定义前沿(例如,tk下的前沿)。在一个示例性方面,前沿可以根据以下示出的表1中的伪代码来定义。如在示例性伪代码中所示,在关于智慧体(例如,移动机器人)的每个方位和标高处,检查由r、ψ、φ指定的位置处的体素以确定该体素是否在已知区域(地图mtk)内。如果该体素在已知区域(mtk)内,则可以增加对应于前沿的半径,直到找到在该已知区域之外的体素。相应地,边界或前沿可以基于该已知区域内的最后一个体素的位置来定义。随着智能体移动,在时间t+1下观察到的新区域可被添加到该前沿,并且可以确定新前沿。

表1:计算时间tk+1下的前沿区域

随着智能体402进一步朝向目的位置408移动进入环境400,智能体402能够观察或观看到更多的环境400。如此,所观察到的区域或已知区域扩展,并且可以确定新前沿。参照图4B,定义了第二前沿,即tk+1下的前沿。根据本公开的各方面,替代丢弃先前确定的采样点406(例如,在时间tk下的已知区域内)并对新定义的已知区域(例如,时间下tk+1的已知区域)重新采样,先前确定的样本可被保留。还可以在已知区域内提取附加采样点。在一些方面,这些附加采样点仅在由tk下的前沿和tk+1下的前沿定义的前沿区域中提取。

这些附加采样点可以是随机分布的。例如,在图5的示例性示图中,附加采样点是在前沿区域中提取的。已知区域被划分成子区域A-I。区域A-I各自包括解说该区域中的采样密度的曲线。如在图5中所见,采样密度在各个子区域中大致相同。

在一些方面,采样点的分布可被偏置,以使得在目的位置相对于智能体的位置的方向上的区域中提取更多的采样点。图6是解说目的偏置采样的示图。参照图6,作为目的定向区域的区域或子区域中的采样密度可以大于其他区域中的采样密度。该目的定向区域可以由智能体与目的位置之间的锥体来定义。在该示例中,子区域E和F落在目的定向锥体内。如此,子区域E和F中的采样密度大于剩余子区域的采样密度。此外,因为与子区域F相比,子区域E的更大部分在目的定向锥体内,所以与在子区域F中提取采样点相比,将在子区域E内提取更多的采样点。其他区域具有更低的采样密度,因为它们变得离目的定向锥体更远,如由每个区域中所示的曲线所表示的。

在一些方面,从智能体到目的位置的目的偏置可以通过如下定义离目的的方位和标高与离采样状态的方位和标高之间的创新来确定:

[ψ目的,φ目的]T-[ψ采样,φ采样]T

其中ψ目的,φ目的是定义从智能体到目的的方位和标高的矢量,而ψ采样,φ采样是定义从智能体到采样的方位和标高的矢量。

在一些方面,采样落在目的可及锥体(a cone to goal)内的可能性可以例如根据下式给出的高斯函数来计算:

Σ=diag([σψ,σφ])

其中σψ,σφ是用户针对跨方位和标高的采样的方差定义的标准偏差。这些标准偏差越小,目的定向锥体(例如,采样区域)就变得越窄。

如果样本位于目的可及锥体内的可能性超过阈值,则可以保留该样本。否则,可以丢弃该样本。在一些方面,可以保留落在目的可及锥体内的可能性低于阈值的一定数量的样本。

表2包括根据本公开的各方面的用于确定采样点或路径点的示例性伪代码。

表2:计算新样本

在已经确定样本集合的情况下,可以确定用于将智能体从当前位置移动到目的的一条或多条线路。在一些方面,最短的目的抵达线路可被用来确定将智能体向目的移动的控制动作。

在一些方面,这些线路中的每一者的成本可被确定并被用来选择目的位置抵达线路。可以确定状态成本或使智能体处于一状态(例如,在特定采样点处)的成本。可基于该点是否处于已知区域中来包括附加成本或惩罚。例如,可以在该点处于方差较高的未知区域中的情况下包括附加成本(例如,关于在未知区域中的样本位置处存在障碍物不那么确信)。表3包括可被用来计算状态成本的示例性伪代码。

表3:计算状态成本

另外,计算边沿成本或即执行用于沿着各状态(例如,采样点)之间的连接移动的控制动作的成本。例如,该边沿成本可以如表4中所示地计算。

表4:计算边沿成本

使用状态成本和边沿成本,可以选择用于将智能体从当前位置移动到目的位置的线路。可以确定用于控制智能体沿着所选线路向目的位置移动的对应控制动作。

此外,随着智能体在更多的环境内移动和/或观察到更多的环境,对应于该环境的图形可以扩展。例如,附加采样点或节点及其之间的连接可被包括在该图形中。成本(例如,状态成本和边沿成本)可在图形(诸如快速探索随机化图形(RRG))中维持。表5包括用于生长RRG的示例性伪代码。

表5:生长地图知悉RRG

该RRG可以随着智能体朝向目的移动而更新。如表6的伪代码中所示,图形可以随着更多的环境被观察到并且变得已知而扩展。图形可以从智能体的开始位置生长到目的性或目标性目的地。尽管目标尚未抵达,但是该过程在地图前沿上(或在前沿区域中)采样目的偏置的点。确定图形G中到新采样的点最近的邻点。还可以确定最近的邻点与新采样的点(E——边沿与V——顶点)之间的连接。在一些方面,新采样的点(xrand(x随机))可能不能在时间步阶中抵达,因此较近的样本(xnew(x新))可被用于映射目的。相应地,可以确定到xnew的连接。进而,可以计算并保存状态和边沿成本。值得注意的是,不执行碰撞检查,这是因为不存在有效性的概念。确定而言,本公开的各方面利用边沿和状态成本。可在该解决方案中使用动态编程(DP)。保留最佳邻点D以限制复杂度。边沿集合E不包括不是最佳邻点D的边沿。

表6:更新映射知悉RRG成本

可以确定样本中的每一者的成本(状态成本)及各样本之间的连接的成本(边沿成本)。在一些方面,可以维持仅d-最佳边沿(其中d是整数)以限制图形的复杂度。d-最佳边沿可包括具有抵达节点x的最低成本(Cr)的边沿。这些成本可被用来确定将智能体朝向目的移动的一个或多个控制动作。

图7解说了用于使智能体抵达目标的运动规划的方法700。在框702,该过程确定当前时间(t)下的前沿与下一时间(t+1)下的前沿之间的前沿区域。

在框704,该过程以朝向目标的偏置来在该前沿区域中采样路径点。在一些方面,偏置可被定义为智能体(例如,机器人和汽车)与目标之间的锥体。此外,该过程可以在锥体与前沿区域相交的区域中进行更多的采样。

在框706,该过程基于所采样的路径点的序列来选择路径。在一些方面,在框708,该过程可以可任选地选择将智能体从任何所采样的路径点朝向该目标引导的最佳动作。在一些方面,该最佳动作是产生沿着具有到目的的最短距离的路径的运动的动作、产生沿着具有行进到目标的最短时间的路径的运动的动作等。

该过程可以进一步基于路径点是处于已知区域中还是未知区域中来定义状态成本。该过程还可以进一步基于边沿周围的间隙量和穿过已知区域(低成本)或未知区域(高成本)的量来定义边沿成本。状态成本和边沿(两个路径点之间的连接)成本可被持续地更新。此外,所选路径可以基于所更新的状态成本和边沿成本来更新。

图8是解说根据本公开的各方面的使智能体抵达目标的运动规划的方法800的框图。在框802,智能体观察环境。该智能体可以例如经由相机、声呐、雷达、或其他传感器或检测系统来观察环境。在框804,该过程确定前沿。该前沿可以包括所观察到的区域或已知区域与未知区域之间的边界。

在框806,该过程确定采样点。在一些方面,采样点可以是遍及已知区域随机分布的,同时未知区域可被稀疏地采样。

在框808,该过程可以生长该环境的地图。该地图可以包括快速探索随机化图形。

在框810,该过程可以确定与从智能体位置到目标或目的的一条或多条线路或路径相关联的成本。这些成本可以包括状态成本和边沿成本。状态成本可以包括处于采样点(其可被称为节点)的位置下的成本。在一些方面,成本可以基于采样的区域。例如,在给定时间,针对未知区域中的节点的成本可能比针对已知区域中的节点的成本更大。

边沿可以包括各采样点或节点之间的连接。边沿成本是与穿过边沿相关联的成本。边沿的成本可以类似地基于该边沿的位置来确定。例如,未知区域中的边沿的成本可能大于已知区域中的边沿。

在框812,该过程可以确定将智能体向目的性或目标性位置移动的运动规划。可以确定一条或多条线路。这些线路中的每一者的成本可被确定并且可被用来选择线路。此外,控制动作可被确定并被执行以根据所选线路来移动智能体。

在框814,该过程评估目标性目的地是否已经抵达。如果目标尚未抵达,则该过程可以返回到框802以随着机器人以下一时间步阶移动而观察环境。在框804,可以确定下一前沿。

值得注意的是,在该过程的后续迭代中,在框806,该过程可以再次确定采样点。然而,在一些方面,该过程可以保留已知区域中先前确定的采样点。附加采样点可以在由当前前沿(tk+1)和先前前沿(tk)定义的区域内确定。

在一些方面,采样可以在目标或目的相对于智能体的方向上进一步偏置。该偏置可被定义为智能体(例如,机器人和汽车)与目标之间的锥体。此外,该过程可以在锥体与前沿区域相交的区域中进行更多的采样。

可以更新地图和成本(框808和810),并且可以基于所更新的地图和成本信息来确定运动规划(框812)。最后,当已经抵达目标性或目的性位置(814:是)时,该过程停止。

上述方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可以包括各种硬件和/或(诸)软件组件和/或(诸)模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。

在一些方面,方法700和800可由SOC 100(图1)或系统200(图2)执行。也就是说,举例而言但不作为限定,方法700和800的每个元素可由SOC100或系统200、或者一个或多个处理器(例如,CPU 102和局部处理单元202)和/或其中所包括的其他组件来执行。

如本文中所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。另外,“确定”可以包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。此外,“确定”可以包括解析、选择、选取、确立、及类似动作。

如本文中所使用的,引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。

结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其他此类配置。

结合本公开所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可以包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。

本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。

所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可以包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可以包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。

处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可以包括随机存取存储器(RAM)、闪存存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。

在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可以包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。

处理系统可以被配置为通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可以包括一个或多个神经元形态处理器以用于实现本文中所描述的模型和系统。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。

机器可读介质可以包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可以包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。可随后将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。此外,应领会,本公开的各方面产生对处理器、计算机、机器或实现此类方面的其它系统的机能的改进。

如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可以包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可以包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。

因此,某些方面可以包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可以包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可以包括包装材料。

此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文中所描述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。

将理解,权利要求并不被限定于以上所解说的精确配置和组件。可在上述方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1