一种无人设备的控制方法、装置、存储介质及电子设备与流程

文档序号:25541584发布日期:2021-06-18 20:37阅读:73来源:国知局
一种无人设备的控制方法、装置、存储介质及电子设备与流程

本说明书涉及自动驾驶技术领域,尤其涉及一种无人设备的控制方法、装置、存储介质及电子设备。



背景技术:

随着自动驾驶技术的发展,无人设备在各种领域中逐渐发挥越来越重要的作用。通常来说,无人设备需要自主的感知自身周围的环境信息(如障碍物等),然后根据感知到的环境信息,确定控制策略,最后按照该控制策略对自身进行控制。

在现有技术中,无人设备在感知环境信息时,一般通过采集自身周围的图像进行感知,再根据采集到的图像,确定控制策略。

然而,现有技术中在确定控制策略时,通常是根据采集的单独的每一帧图像所作出的控制策略,这就会导致根据每帧图像作出的控制策略并不平滑,容易产生跳变,使得无人设备的乘坐体感舒适性下降。



技术实现要素:

本说明书实施例提供一种无人设备的控制方法、装置、存储介质及电子设备,以部分解决上述现有技术存在的问题。

本说明书实施例采用下述技术方案:

本说明书提供的一种无人设备的控制方法,包括:

采集当前时刻无人设备周围的环境图像,作为当前图像;

根据所述当前图像,确定当前时刻各障碍物的位置;

根据当前时刻各障碍物的位置以及当前时刻所述无人设备的位置,确定所述无人设备在当前时刻的安全性表征值;

根据所述无人设备在所述当前时刻的安全性表征值以及所述无人设备在至少一个历史时刻的安全性表征值,确定所述无人设备在下一时刻的控制策略;其中,所述无人设备在至少一个历史时刻的安全性表征值是根据采集的所述至少一个历史时刻无人设备周围的环境图像确定的;

根据所述控制策略对所述无人设备进行控制。

可选地,根据当前时刻各障碍物的位置以及当前时刻所述无人设备的位置,确定所述无人设备在当前时刻的安全性表征值,具体包括:

根据所述无人设备当前的速度,确定所述无人设备当前的关注区域;其中,所述关注区域包含所述无人设备当前时刻的位置,且所述关注区域的面积与所述无人设备当前的速度正相关;

根据至少部分位于所述关注区域内的各障碍物当前时刻的位置以及当前时刻所述无人设备的位置,确定所述无人设备在当前时刻的安全性表征值。

可选地,根据所述无人设备在所述当前时刻的安全性表征值以及所述无人设备在至少一个历史时刻的安全性表征值,确定所述无人设备在下一时刻的控制策略,具体包括:

确定以当前时刻为时间段结束点、时间长度为指定时长的历史时间段;

根据所述无人设备在所述历史时间段中的每个历史时刻的安全性表征值以及所述无人设备在所述当前时刻的安全性表征值,确定低于预设阈值的安全性表征值的数量;

根据所述数量,确定所述无人设备在下一时刻的加速度。

可选地,根据所述无人设备在所述历史时间段中的每个历史时刻的安全性表征值以及所述无人设备在所述当前时刻的安全性表征值,确定低于预设阈值的安全性表征值的数量,具体包括:

按照时间先后顺序,对所述无人设备在所述历史时间段中的每个历史时刻的安全性表征值以及所述无人设备在所述当前时刻的安全性表征值进行排序;

根据排序后的各安全性表征值,确定连续低于预设阈值的安全性表征值的数量。

可选地,根据所述无人设备在所述当前时刻的安全性表征值以及所述无人设备在至少一个历史时刻的安全性表征值,确定所述无人设备在下一时刻的控制策略,具体包括:

确定以当前时刻为时间段结束点、时间长度为指定时长的历史时间段;

按照时间先后顺序,对所述无人设备在所述历史时间段中的每个历史时刻的安全性表征值以及所述无人设备在所述当前时刻的安全性表征值进行排序;

根据排序后的各安全性表征值,确定所述无人设备当前时刻的特征;

将所述特征输入预先训练的决策模型,得到所述决策模型输出的所述无人设备在下一时刻的加速度。

可选地,根据所述控制策略对所述无人设备进行控制,具体包括:

根据所述无人设备在下一时刻的加速度,确定所述无人设备的最大可行驶距离;

根据所述最大可行驶距离和所述无人设备当前时刻的行驶速度,对所述无人设备进行控制。

可选地,根据所述最大可行驶距离和所述无人设备当前时刻的行驶速度,对所述无人设备进行控制,具体包括:

根据所述最大可行驶距离和所述无人设备当前时刻的行驶速度,确定所述无人设备在下一时刻的行驶速度;

根据所述无人设备在下一时刻的行驶速度,对所述无人设备进行控制。

本说明书提供的一种无人设备的控制装置,所述装置包括:

采集模块,用于采集当前时刻无人设备周围的环境图像,作为当前图像;

识别模块,用于根据所述当前图像,确定当前时刻各障碍物的位置;

安全评估模块,用于根据当前时刻各障碍物的位置以及当前时刻所述无人设备的位置,确定所述无人设备在当前时刻的安全性表征值;

策略确定模块,用于根据所述无人设备在所述当前时刻的安全性表征值以及所述无人设备在至少一个历史时刻的安全性表征值,确定所述无人设备在下一时刻的控制策略;其中,所述无人设备在至少一个历史时刻的安全性表征值是根据采集的所述至少一个历史时刻无人设备周围的环境图像确定的;

控制模块,用于根据所述控制策略对所述无人设备进行控制。

本说明书提供的一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的无人设备的控制方法。

本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的无人设备的控制方法。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

本说明书实施例不止根据单独的一帧当前图像确定控制策略,而是根据当前图像和若干历史时刻的环境图像,分别确定当前时刻无人设备的安全性表征值和每个历史时刻无人设备的安全性表征值,再根据无人设备当前的安全性表征值和各历史时刻的安全性表征值,确定无人设备在下一时刻的控制策略,使得确定出的各控制策略更加平滑,不会发生跳变,无人设备按照确定出的控制策略进行自主控制时,可提高乘坐的体感舒适性。

附图说明

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:

图1为本说明书实施例提供的无人设备的控制方法示意图;

图2为本说明书实施例提供的无人设备的关注区域的示意图;

图3为本说明书实施例提供的无人设备的行驶距离随时间变化的函数示意图;

图4为本说明书实施例提供的一种无人设备的控制装置的结构示意图;

图5为本说明书实施例提供的电子设备的结构示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

图1为本说明书实施例提供的无人设备的控制方法示意图,包括:

s100:采集当前时刻无人设备周围的环境图像,作为当前图像。

在本说明书实施例中,可在无人设备上设置图像采集设备,该图像采集设备用于采集无人设备周围的环境图像,以便于后续根据环境图像对无人设备进行控制。其中,本说明书中所述的无人设备具体可以是无人配送设备,包括无人配送车和无人机。无人配送设备可用于执行配送或物流任务,如外卖配送任务,快递配送任务等。

本说明书中既可由该无人设备自身通过如图1所示的方法来进行自主的控制,也可以通过诸如云端或服务器等其他设备对无人设备进行控制。下面仅以无人设备自身通过如图1所示的方法进行自主控制为例进行说明。

无人设备可根据预设的周期,周期性的通过上述的图像采集设备,采集无人设备周围的环境图像。具体的,当前周期的结束时刻到来时,通过图像采集设备采集当前时刻无人设备周围的环境图像,作为当前图像。

s102:根据所述当前图像,确定当前时刻各障碍物的位置。

在本说明书实施例中,根据当前图像,确定无人设备周围的各障碍物在当前时刻的位置的方法有多种,下面仅作为示例给出一种确定各障碍物的位置的方法,但是,本领域技术人员应该可以理解,这并不构成对本说明书的限制。

首先,无人设备可采用全球定位系统(globalpositioningsystem,gps)、高精地图等多种方法确定无人设备当前时刻所在的位置,再根据图像采集设备的内参以及各障碍物在当前图像中所在的图像坐标,确定各障碍物与无人设备的相对位置,最后根据各障碍物与无人设备的相对位置,以及无人设备当前时刻所在的位置,确定出当前时刻各障碍物所在的位置。

s104:根据当前时刻各障碍物的位置以及当前时刻所述无人设备的位置,确定所述无人设备在当前时刻的安全性表征值。

在本说明书实施例中,根据图像采集设备采集的当前图像确定出当前时刻各障碍物的位置后,可根据当前时刻各障碍物的位置以及当前时刻无人设备的位置,确定当前时刻无人设备与每个障碍物的距离,再根据当前时刻无人设备与每个障碍物的距离,确定无人设备在当前时刻的安全性表征值。其中,安全性表征值越高,说明无人设备越安全,安全性表征值越低,说明无人设备越危险。

具体的,针对每个障碍物,可根据当前时刻无人设备与该障碍物的距离,确定无人设备当前时刻对应于该障碍物的安全性表征值,其中无人设备与该障碍物的距离与无人设备对应于该障碍物的安全性表征值负相关。再根据无人设备当前时刻对应于每个障碍物的安全性表征值,确定无人设备在当前时刻的安全性表征值。例如,可以将无人设备当前时刻对应于每个障碍物的安全性表征值中的最小值,确定为无人设备在当前时刻的安全性表征值。

进一步的,在确定无人设备当前时刻的安全性表征值时,还可分别确定无人设备在横向上的安全性表征值和纵向上的安全性表征值,其中,所谓的纵向是指沿无人设备车尾至车头的方向,横向是指垂直于纵向的方向。具体的,针对每个障碍物,在确定当前时刻无人设备相对于该障碍物的安全性表征值时,可分别确定当前时刻无人设备与该障碍物在横向上的距离和在纵向上的距离,并根据无人设备与该障碍物在横向上的距离,确定无人设备相对于该障碍物在横向上的安全性表征值,根据无人设备与该障碍物在纵向上的距离,确定无人设备相对于该障碍物在纵向上的安全性表征值,再根据无人设备相对于该障碍物分别在横向和纵向上的安全性表征值,确定无人设备相对于该障碍物的安全性表征值。例如,可将无人设备相对于该障碍物分别在横向和纵向上的安全性表征值中的最小值,确定为无人设备相对于该障碍物的安全性表征值。

在确定无人设备相对于该障碍物在横向上的安全性表征值时,还可根据无人设备与该障碍物在横向上的距离,以及无人设备的最小横向安全距离进行确定,如,将无人设备与该障碍物在横向上的距离与无人设备的最小横向安全距离进行比较,根据比较结果确定无人设备相对于该障碍物在横向上的安全性表征值。类似的,在确定无人设备相对于该障碍物在纵向上的安全性表征值时,还可根据无人设备与该障碍物在纵向上的距离,以及无人设备的最小纵向安全距离进行确定,如,将无人设备与该障碍物在纵向上的距离与无人设备的最小纵向安全距离进行比较,根据比较结果确定无人设备相对于该障碍物在纵向上的安全性表征值。

另外,由于在实际应用场景中,步骤s100采集到的当前图像中只有一部分障碍物会影响到无人设备的安全,因此,在步骤s104中,可只根据这一部分的障碍物来确定无人设备在当前时刻的安全性表征值。具体的,可根据无人设备当前的速度,确定无人设备当前的关注区域;其中,所述关注区域包含无人设备当前时刻的位置,且关注区域的面积与无人设备当前的速度正相关;根据至少部分位于关注区域内的各障碍物当前时刻的位置以及当前时刻无人设备的位置,确定无人设备在当前时刻的安全性表征值。

如图2所示,虚线范围即为无人设备的关注区域,该关注区域的横向边长可以是固定不变的,纵向边长可根据无人设备当前时刻的速度动态调整,速度越大,纵向边长越大。当然,关注区域的横向边长和纵向边长也均可以是固定不变的。

s106:根据所述无人设备在所述当前时刻的安全性表征值以及所述无人设备在至少一个历史时刻的安全性表征值,确定所述无人设备在下一时刻的控制策略;其中,所述无人设备在至少一个历史时刻的安全性表征值是根据采集的所述至少一个历史时刻无人设备周围的环境图像确定的。

在本说明书实施例中,可采用上述根据当前时刻采集的当前图像确定无人设备当前时刻的安全性表征值的同样的方法,根据历史时刻采集的环境图像(以下称为历史图像)确定无人设备在历史时刻的安全性表征值。

其中,由于无人设备上的图像采集设备是按照设定的周期采集环境图像的,因此,图像采集设备每采集一个环境图像,均可通过上述步骤s104确定无人设备在采集到环境图像时的安全性表征值,在确定了安全性表征值后,可将安全性表征值和采集到环境图像时的时刻对应存储,以便在步骤s106确定控制策略时,可直接读取存储的各历史时刻的安全性表征值。

在确定了无人设备当前时刻的安全性表征值并读取了存储的无人设备在各历史时刻的安全性表征值后,可确定各安全性表征值中低于预设阈值的安全性表征值的数量,并根据该数量确定无人设备在下一时刻的控制策略。

具体的,可确定以当前时刻为时间段结束点、时间长度为指定时间长度的历史时间段,并读取该历史时间段内每个历史时刻该无人设备的安全性表征值。

例如,假设当前时刻为t0,图像采集设备采集环境图像的周期为t,则指定时长可以为9t,从而,各历史时刻即为t-9、t-8、t-7……t-1,共9个历史时刻,可读取这9个历史时刻的安全性表征值,记为s-9、s-8、s-7……s-1,再加上当前时刻的安全性表征值s0,共10个安全性表征值。后续则可确定这10个安全性表征值中低于预设阈值的安全性表征值的数量。

在本说明书实施例中,确定无人设备在下一时刻的控制策略时,具体可确定无人设备在下一时刻的加速度。本说明书实施例中所述的加速度具体可以是方向与无人设备当前的行驶方向相反的加速度,即逆向加速度,也可称为减速度。

可预设低于预设阈值的安全性表征值的数量与上述加速度的对应关系,如表1所示。

上述表1中,n3大于n2大于n1大于n0,加速度为不带符号(即不带方向)的标量,a3大于a2大于a1大于0。即,当加速度的方向与无人设备的行驶方向相反时,低于预设阈值的安全性表征值的数量越大,加速度越大。

进一步的,在读取各历史时刻无人设备的安全性表征值后,还可按照时间先后顺序,对无人设备在每个历史时刻的安全性表征值以及无人设备在当前时刻的安全性表征值进行排序,根据排序后的各安全性表征值,确定连续低于预设阈值的安全性表征值的数量。后续则可根据连续低于预设阈值的安全性表征值的数量,确定无人设备在下一时刻的加速度。

上述是以基于给定的规则(如表1所示的规则)确定无人设备下一时刻的加速度为例进行说明的,还可基于机器学习模型确定无人设备下一时刻的加速度。

具体的,可采用上述同样的方法读取无人设备在每个历史时刻的安全性表征值,并按照时间先后顺序,对无人设备在每个历史时刻的安全性表征值以及无人设备在当前时刻的安全性表征值进行排序,并根据排序后的各安全性表征值,确定无人设备当前时刻的特征,将特征输入预先训练的决策模型,得到决策模型输出的无人设备在下一时刻的加速度。

在确定无人设备当前时刻的特征时,除了根据排序后的各安全性表征值进行确定以外,还可根据无人车和各障碍物当前时刻的速度、加速度,以及无人车与各障碍物之间的横向距离和纵向距离进行确定。

继续沿用上例,读取的9个历史时刻的安全性表征值,记为s-9、s-8、s-7……s-1,再加上当前时刻的安全性表征值s0,共10个安全性表征值,则按照时间先后顺序排序后的10个安全性表征值为s-9、s-8、s-7……s-1、s0,假设无人设备当前的速度为v0,障碍物当前的速度为v1,无人设备当前时刻的加速度为a0,障碍物当前的加速度为a1,无人设备与障碍物之间的横向距离为dl,纵向距离为ds,则可确定向量[s-9,s-8,s-7……s-1,s0,v0,v1,a0,a1,dl,ds],作为用于表示无人设备当前时刻的特征的特征向量。后续可将该特征向量输入到预先训练的局侧模型中,得到该决策模型输出的无人设备在下一时刻的加速度。

s108:根据所述控制策略对所述无人设备进行控制。

在通过上述步骤s106确定出无人设备下一时刻的加速度后,无人设备即可直接控制无人设备在下一时刻以确定出的加速度行驶,即,可将确定出的加速度直接发送给无人设备内部用于控制无人设备行驶的控制模块,使控制模块直接控制无人设备在下一时刻以确定出的加速度行驶。

上述方法不止根据单独的一帧当前图像确定控制策略,而是根据当前图像和若干历史时刻的环境图像,分别确定当前时刻无人设备的安全性表征值和每个历史时刻无人设备的安全性表征值,再根据无人设备当前的安全性表征值和各历史时刻的安全性表征值,确定无人设备在下一时刻的控制策略,使得确定出的各控制策略更加平滑,不会发生跳变,无人设备按照确定出的控制策略进行自主控制时,可提高乘坐的体感舒适性。

更进一步的,上述直接控制无人设备在下一时刻以确定出的加速度行驶的控制方法仍可能会导致无人设备的行驶状态不平滑,可能发生跳变,降低乘坐的体感舒适性,因此,为了更进一步提高无人设备行驶的平滑性,本说明书实施例中可根据步骤s106确定出的无人设备在下一时刻的加速度,确定无人设备的最大可行驶距离,并根据最大可行驶距离和无人设备当前时刻的行驶速度,对无人设备进行控制。

其中,由于本说明书实施例中确定出的加速度的方向与无人设备当前的行驶方向相反,因此,在确定最大可行驶距离时,可确定无人设备在以当前的行驶速度和确定出的加速度进行匀加速行驶的条件下,无人设备的行驶速度下降到0时,无人设备行驶的距离,即为最大可行驶距离。即,最大可行驶距离s=v2/2a,v为无人设备当前时刻的行驶速度,a为步骤s106确定出的加速度。

当然,也可采用其他方法确定出最大可行驶距离,例如最大可行驶距离s=v2/3a或s=v2/4a。

确定出最大可行驶距离后,则可根据最大可行驶距离和无人设备当前时刻的行驶速度,确定无人设备在下一时刻的行驶速度,并根据无人设备在下一时刻的行驶速度,对无人设备进行控制。

具体的,可将最大可行驶距离和无人设备当前时刻的行驶速度输入到预设的轨迹规划模型中,该轨迹规划模型则以该无人设备的行驶距离不超过该最大可行驶距离且无人设备的行驶状态不发生跳变为约束,对无人设备下一时刻的行驶轨迹进行规划,得到规划的无人设备在下一时刻的行驶速度,再以下一时刻的行驶速度为目标,对无人设备进行控制。

其中,以无人设备的行驶状态不发生跳变为约束,在数学上可表达为无人设备的行驶距离随时间变化的函数有一阶连续导数,如图3所示。

图3为本说明书实施例提供的无人设备的行驶距离随时间变化的函数示意图,在图3中,纵坐标为无人设备的行驶距离s,横坐标为时间t,无人设备的行驶距离随时间变化的函数为该坐标中的s(t)曲线。以该无人设备的行驶距离不超过该最大可行驶距离为约束,就是指s(t)曲线均在s=smax以下,smax为最大可行驶距离。以无人设备的行驶状态不发生跳变为约束,就是指s(t)曲线具有一阶连续导数。由此,即可规划出一条位于s=smax以下且光滑的s(t)曲线,从而根据这条光滑的s(t)曲线,即可得到无人设备在下一时刻的行驶速度。

以上为本说明书实施例提供的无人设备的控制方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。

图4为本说明书实施例提供的一种无人设备的控制装置的结构示意图,所述装置包括:

采集模块401,用于采集当前时刻无人设备周围的环境图像,作为当前图像;

识别模块402,用于根据所述当前图像,确定当前时刻各障碍物的位置;

安全评估模块403,用于根据当前时刻各障碍物的位置以及当前时刻所述无人设备的位置,确定所述无人设备在当前时刻的安全性表征值;

策略确定模块404,用于根据所述无人设备在所述当前时刻的安全性表征值以及所述无人设备在至少一个历史时刻的安全性表征值,确定所述无人设备在下一时刻的控制策略;其中,所述无人设备在至少一个历史时刻的安全性表征值是根据采集的所述至少一个历史时刻无人设备周围的环境图像确定的;

控制模块405,用于根据所述控制策略对所述无人设备进行控制。

可选地,所述安全评估模块403具体用于,根据所述无人设备当前的速度,确定所述无人设备当前的关注区域;其中,所述关注区域包含所述无人设备当前时刻的位置,且所述关注区域的面积与所述无人设备当前的速度正相关;根据至少部分位于所述关注区域内的各障碍物当前时刻的位置以及当前时刻所述无人设备的位置,确定所述无人设备在当前时刻的安全性表征值。

可选地,所述策略确定模块404具体用于,确定以当前时刻为时间段结束点、时间长度为指定时长的历史时间段;根据所述无人设备在所述历史时间段中的每个历史时刻的安全性表征值以及所述无人设备在所述当前时刻的安全性表征值,确定低于预设阈值的安全性表征值的数量;根据所述数量,确定所述无人设备在下一时刻的加速度。

可选地,所述策略确定模块404具体用于,按照时间先后顺序,对所述无人设备在所述历史时间段中的每个历史时刻的安全性表征值以及所述无人设备在所述当前时刻的安全性表征值进行排序;根据排序后的各安全性表征值,确定连续低于预设阈值的安全性表征值的数量。

可选地,所述策略确定模块404具体用于,确定以当前时刻为时间段结束点、时间长度为指定时长的历史时间段;按照时间先后顺序,对所述无人设备在所述历史时间段中的每个历史时刻的安全性表征值以及所述无人设备在所述当前时刻的安全性表征值进行排序;根据排序后的各安全性表征值,确定所述无人设备当前时刻的特征;将所述特征输入预先训练的决策模型,得到所述决策模型输出的所述无人设备在下一时刻的加速度。

可选地,控制模块405具体用于,根据所述无人设备在下一时刻的加速度,确定所述无人设备的最大可行驶距离;根据所述最大可行驶距离和所述无人设备当前时刻的行驶速度,对所述无人设备进行控制。

可选地,控制模块405具体用于,根据所述最大可行驶距离和所述无人设备当前时刻的行驶速度,确定所述无人设备在下一时刻的行驶速度;根据所述无人设备在下一时刻的行驶速度,对所述无人设备进行控制。

本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述提供的无人设备的控制方法。

基于上述提供的无人设备的控制方法,本说明书实施例还提供了图5所示的电子设备的结构示意图。如图5,在硬件层面,该无人设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述的资源分配方法。

当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

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