轨迹规划方法、装置、介质及电子设备与流程

文档序号:20263068发布日期:2020-04-03 18:02阅读:146来源:国知局
轨迹规划方法、装置、介质及电子设备与流程

本公开涉及自动驾驶技术领域,具体涉及一种轨迹规划方法、轨迹规划装置、计算机可读介质及电子设备。



背景技术:

车辆自动驾驶系统的设计与研发涉及电子、信息、控制、计算机、机械、人工智能等学科的前沿理论与技术,是集环境感知、规划决策、控制执行及信息交互于一身的高新技术体系。运动轨迹规划是指生成衔接自动驾驶车辆由起点向终点移动的几何路径,同时给出车辆沿该几何路径移动的速度信息,并使车辆在整个运动过程中满足运动学/动力学、内部系统、外部环境等多个方面的约束条件。现有的自动驾驶轨迹规划方法普遍存在规划精度低、计算成本高等问题。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种轨迹规划方法、轨迹规划装置、计算机可读介质及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的规划精度低、计算成本高等技术问题。

根据本公开的一个方面,提供一种轨迹规划方法,所述方法包括:

获取规划对象在当前时刻的当前状态信息;

确定以所述当前时刻为起始点的规划时间区间,并将所述规划时间区间划分为多个具有不同区间长度的时间子区间;

根据所述当前状态信息确定各个所述时间子区间内的状态控制信息;

根据各个所述时间子区间内的状态控制信息确定所述规划对象在所述规划时间区间内的规划轨迹。

在本公开的一些实施例中,所述将所述规划时间区间划分为多个具有不同区间长度的时间子区间,包括:

获取所述规划时间区间的总区间长度、时间子区间的划分数量;

根据所述划分数量确定步长调节系数,并根据所述总区间长度和所述步长调节系数确定区间增长步长;

根据所述总区间长度、所述划分数量以及所述区间增长步长确定所述规划时间区间中初始时间子区间的初始区间长度;

根据所述初始区间长度和所述区间增长步长确定各个所述时间子区间的起始时刻。

在本公开的一些实施例中,所述根据所述当前状态信息确定各个所述时间子区间内的状态控制信息,包括:

确定对应于所述规划时间区间的代价函数和连续性约束条件;

根据所述连续性约束条件确定与各个所述时间子区间相对应的离散化约束条件;

根据所述代价函数和所述离散化约束条件在各个所述时间子区间内确定离散化的状态配置信息;

根据离散化的所述状态配置信息确定各个所述时间子区间内的状态控制信息。

在本公开的一些实施例中,所述连续性约束条件包括系统动态方程约束条件、初始时刻约束条件、终止时刻约束条件和碰撞躲避约束条件。

在本公开的一些实施例中,所述根据所述代价函数和所述离散化约束条件在各个所述时间子区间内确定离散化的状态配置信息,包括:

利用插值算法分别在各个所述时间子区间内确定多个离散化状态配置节点;

根据所述代价函数和所述离散化约束条件在各个所述时间子区间内确定对应于各个所述离散化状态配置节点的状态配置信息。

在本公开的一些实施例中,所述获取规划对象在当前时刻的当前状态信息,包括:

接收环境感知信息,并根据所述环境感知信息确定当前时刻的环境状态;

接收对象定位信息,并根据所述对象定位信息确定当前时刻的位置状态;

接收运动导航信息,并根据所述运动导航信息确定当前时刻的运动状态;

根据所述环境状态、所述位置状态以及所述运动状态确定规划对象在当前时刻的当前状态信息。

在本公开的一些实施例中,所述规划时间区间内的后一时间子区间的区间长度大于或者等于前一时间子区间的区间长度。

根据本公开的一个方面,提供一种轨迹规划装置,所述装置包括:

状态获取模块,被配置为获取规划对象在当前时刻的当前状态信息;

区间划分模块,被配置为确定以所述当前时刻为起始点的规划时间区间,并将所述规划时间区间划分为多个具有不同区间长度的时间子区间;

信息确定模块,被配置为根据所述当前状态信息确定各个所述时间子区间内的状态控制信息;

轨迹规划模块,被配置为根据各个所述时间子区间内的状态控制信息确定所述规划对象在所述规划时间区间内的规划轨迹。

根据本公开的一个方面,提供一种计算机可读介质,其上存储有计算机程序,其特殊之处在于,所述计算机程序被处理器执行时实现以上任一所述的方法。

根据本公开的一个方面,提供一种电子设备,其特殊之处在于,包括处理器和存储器;其中,存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行以上任一所述的方法。

在本公开实施例提供的技术方案中,通过划分多个具有不同区间长度的时间子区间,可以为各个时间子区间分配不同的计算资源,在不同的时间子区间内也将获得差异化的规划精度,这种差异化的规划方式可以在降低计算成本的同时提高轨迹规划效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性地示出了应用本公开实施例的车辆自动驾驶系统的结构框图。

图2示意性地示出了本公开一些实施例中轨迹规划方法的步骤流程图。

图3示意性地示出了本公开一些实施例中获取当前状态信息的步骤流程图。

图4示意性地示出了本公开一些实施例中划分时间子区间的步骤流程图。

图5示意性地示出了本公开一些实施例中确定状态控制信息的步骤流程图。

图6示意性地示出了在一应用场景中的轨迹规划方法的流程示意图。

图7示意性地示出了对自动驾驶轨迹规划命题进行离散化的流程示意图。

图8示意性地示出了本公开一些实施例中的轨迹规划装置的组成框图。

图9示意性示出本公开实施例中一种程序产品的示意图。

图10示意性示出本公开实施例中一种电子设备的模块示意图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

本公开实施例中提供的轨迹规划方法、轨迹规划装置、计算机可读介质及电子设备主要可以应用于车辆自动驾驶系统中,另外也可以应用于机器人控制等涉及轨迹规划的其他领域,本公开对此不做特殊限定。

图1示意性地示出了应用本公开实施例的车辆自动驾驶系统的结构框图。如图1所示,车辆自动驾驶系统100主要可以包括感知模块110、定位模块120、导航模块130、局部轨迹规划模块140和控制模块150。

其中,感知模块110可以采集环境障碍物信息,定位模块120可以采集车辆当前位置信息,导航模块130可以采集车辆的局部行驶任务信息。以上模块采集到的相关信息可以被传递至局部轨迹规划模块140,再由局部轨迹规划模块140根据接收到的相关信息规划车辆运动轨迹。经规划确定的车辆运动轨迹被传递至运动模块150,由运动模块150根据规划的车辆运动轨迹控制车辆的行驶路径和行驶速度。本公开实施例提供的轨迹规划方法主要应用在局部轨迹规划模块140中,用以提供在一定行驶距离和一定时间范围内的轨迹规划方案。

基于数值优化的技术路线,本公开实施例提供的轨迹规划方法可以细分为以下三个环节:

环节1:将轨迹规划任务描述为一个最优控制(optimalcontrol)形式的命题。

车辆是一个运动学/动力学意义上的动态系统,自动驾驶中的轨迹规划任务,本质上是针对车辆这一典型的动态系统求解其从某一状态迁移至另一状态的动态过程中的状态转移方式。本公开将自动驾驶轨迹规划任务描述为一个具有以下形式的最优控制问题:

环节2:将环节1中确定的最优控制形式的命题离散化为一个离散精度渐进变化的非线性规划(nonlinearprogramming,nlp)的问题。

应用于自动驾驶轨迹规划领域时,本公开将环节1中描述的最优控制问题抽象为以下形式的命题:

其中,x(t)代表车辆在t时刻的状态及控制变量,tf为轨迹规划的终止时刻,j是代价函数,f为基于等式形式的约束条件,g为基于不等式形式的约束条件。求解命题(2)即求解符合约束条件的x(t),使得代价函数j最小化。

为了实现对命题(2)进行数值意义下的优化求解,本公开将x(t)离散化,从而形成了包含命题(2)中全部变量及约束条件的离散形式的nlp问题。在具体实施离散化的过程中,采用了精度渐变的方式,使得轨迹规划的精度随着时间由近及远而逐渐稀疏。

环节3:采用数值优化方法求解环节2中确定的nlp问题。

在将最优控制问题转化为nlp问题之后,本公开可以进一步采用nlp求解器进行求解,例如可以采用内点算法(interior-pointmethod,ipm)、序贯二次规划算法(sequentialquadraticprogramming,sqp)等各种不同的求解算法。

下面结合具体实施例对本公开技术方案的细节进行详细说明。

图2示意性地示出了本公开一些实施例中轨迹规划方法的步骤流程图。如图2所示,该方法主要可以包括以下步骤:

步骤s210.获取规划对象在当前时刻的当前状态信息。

规划对象是需要确定在未来一段时间内的规划轨迹,并按照规划轨迹进行运动的对象,例如可以是自动驾驶汽车、移动机器人、无人机等等。在需要进行轨迹规划时,本步骤首先获取规划对象在当前时刻的当前状态信息。当前状态信息可以包括规划对象自身在当前时刻的位置、速度、转向角等各种运动参数信息,同时也可以包括规划对象所处的环境状态信息。

步骤s220.确定以当前时刻为起始点的规划时间区间,并将规划时间区间划分为多个具有不同区间长度的时间子区间。

以当前时刻为起始点可以确定一规划时间区间[0,tf],然后可以将该规划时间区间划分为多个时间子区间其中每个时间子区间的区间长度都不完全相同。在一些可选的实施方式中,规划时间区间内的后一时间子区间的区间长度大于或者等于前一时间子区间的区间长度。

步骤s230.根据当前状态信息确定各个时间子区间内的状态控制信息。

基于时间子区间的划分可以确定用于进行轨迹规划的具有离散形式的nlp问题,然后根据步骤s210中获取到的当前状态信息可以对离散形式的nlp问题进行求解,从而确定各个时间子区间内的状态控制信息。该状态控制信息可以包括在不同时刻节点对规划对象的速度、转向角等各项运动参数的控制信息。

步骤s240.根据各个时间子区间内的状态控制信息确定规划对象在规划时间区间内的规划轨迹。

按照各个时间子区间的时间连续关系对每个时间子区间内的状态控制信息进行组合即可确定规划对象在规划时间区间内的完整的规划轨迹。

在本公开实施例提供的轨迹规划方法中,通过划分多个具有不同区间长度的时间子区间,可以为各个时间子区间分配不同的计算资源,在不同的时间子区间内也将获得差异化的规划精度,这种差异化的规划方式可以在降低计算成本的同时提高轨迹规划效率。

图3示意性地示出了本公开一些实施例中获取当前状态信息的步骤流程图。如图3所示,在以上实施例的基础上,步骤s210.获取规划对象在当前时刻的当前状态信息,可以包括以下步骤:

步骤s310.接收环境感知信息,并根据环境感知信息确定当前时刻的环境状态。

利用摄像头、激光雷达等多种传感器装置可以对规划对象所处的环境场景进行感知,从而得到相应的环境感知信息,环境感知信息例如可以包括与行人或者其他车辆相关的障碍物信息,也可以包括与道路指示线、路牌、交通指示灯等相关的标记信息。根据接收到的环境感知信息可以确定当前时刻的环境状态。

步骤s320.接收对象定位信息,并根据对象定位信息确定当前时刻的位置状态。

利用卫星导航或者其他定位装置可以采集规划对象的对象定位信息,然后根据接收到的对象定位信息可以确定当前时刻的位置状态。

步骤s330.接收运动导航信息,并根据运动导航信息确定当前时刻的运动状态。

运动导航信息是根据规划对象的运动起始点、运动终点结合地图和道路等信息确定的局部导航任务,根据运动导航信息可以确定当前时刻的运动状态。

步骤s340.根据环境状态、位置状态以及运动状态确定规划对象在当前时刻的当前状态信息。

对以上步骤中确定的环境状态、位置状态以及运动状态进行分析和整合后可以确定规划对象在当前时刻的当前状态信息。

利用多个不同的状态维度对规划对象的当前状态进行表征可以获得更加精确的轨迹规划结果。

图4示意性地示出了本公开一些实施例中划分时间子区间的步骤流程图。如图4所示,在以上各实施例的基础上,步骤s220中的将规划时间区间划分为多个具有不同区间长度的时间子区间,可以包括以下步骤:

步骤s410.获取规划时间区间的总区间长度、时间子区间的划分数量。

步骤s420.根据划分数量确定步长调节系数,并根据总区间长度和步长调节系数确定区间增长步长。

步骤s430.根据总区间长度、划分数量以及区间增长步长确定规划时间区间中初始时间子区间的初始区间长度。

步骤s440.根据初始区间长度和区间增长步长确定各个时间子区间的起始时刻。

下面对以上步骤中各个参数的计算原理做出说明。

在规划时间区间[0,tf]内,各个时间子区间按照时间顺序以某一固定步长均匀增长。将初始时间子区间的初始区间长度记为lbasic,区间增长步长记为△l。其中,初始时间子区间表示规划时间区间中的第一个时间子区间,区间增长步长表示相邻两个时间子区间的区间长度的差距。在此基础上,第k个时间子区间的区间长度可以表示为:

lbasic+(k-1)·△l(k=1,...,nfe)

各个时间子区间的区间长度之和等于规划时间区间的总区间长度tf,即:

由以上公式变换可得:

当终止时刻不固定时,可以根据总区间长度tf和步长调节系数α选取区间增长步长△l,即:

△l=α·tf

由于要求lbasic>0,因此可以确定步长调节系数α的取值范围如下:

基于以上各个公式,可以将规划时间区间内的第k个时间子区间的起始时刻tk确定为:

在确定每个时间子区间的起始时刻后,可以分别确定各个时间子区间内的状态控制信息。图5示意性地示出了本公开一些实施例中确定状态控制信息的步骤流程图。如图5所示,在以上各实施例的基础上,步骤s230.根据当前状态信息确定各个时间子区间内的状态控制信息,可以包括以下步骤:

步骤s510.确定对应于规划时间区间的代价函数和连续性约束条件。

连续性约束条件可以包括系统动态方程约束条件、初始时刻约束条件、终止时刻约束条件和碰撞躲避约束条件等等。

步骤s520.根据连续性约束条件确定与各个时间子区间相对应的离散化约束条件。

步骤s510确定的连续性约束条件对应于整体的规划时间区间[0,tf],根据对规划时间区间的划分结果,本步骤可以确定对应于各个时间子区间的离散化约束条件。

步骤s530.根据代价函数和离散化约束条件在各个时间子区间内确定离散化的状态配置信息。

本步骤可以利用插值算法分别在各个时间子区间内确定多个离散化状态配置节点;然后根据代价函数和离散化约束条件在各个时间子区间内确定对应于各个离散化状态配置节点的状态配置信息。

步骤s540.根据离散化的状态配置信息确定各个时间子区间内的状态控制信息。

将离散化的状态配置信息按照时间连续性组合即得到各个时间子区间内的状态控制信息。

下面结合一应用场景对本公开实施例中提供的轨迹规划方法做出说明。

图6示意性地示出了在一应用场景中的轨迹规划方法的流程示意图。如图6所示,在该应用场景下的轨迹规划方法可以包括以下流程步骤:

步骤s610.导入感知模块、定位模块以及导航模块的信号。根据各个信息采集模块导入的信号可以确定当前状态信息。

步骤s620.建立自动驾驶轨迹规划命题。

步骤s630.将自动驾驶轨迹规划命题离散化为精度随着时间由近及远逐渐稀疏的nlp问题。

步骤s640.采用数值优化方法求解nlp问题。

步骤s650.判断nlp问题是否求解成功。若求解成功则继续执行步骤s660,若求解失败则结束当前流程。

步骤s660.输出nlp问题的最优解(即最优轨迹)至下游控制模块。

在以上规划流程中,步骤s630中涉及的渐进离散化算法是整个方法的关键所在。图7示意性地示出了对自动驾驶轨迹规划命题进行离散化的流程示意图。如图7所示,该离散化过程主要可以包括以下流程步骤:

步骤s710.导入自动驾驶轨迹规划命题。

步骤s720.确定规划时间区间中各个时间子区间的左右边界。例如,将规划时间区间[0,tf]划分为若干个时间子区间其中第i个时间子区间的区间长度不大于第i+1个时间子区间。规划时间区间的始末两端时间子区间的边值为:

步骤s730.在各个时间子区间上离散化原本连续的约束条件。

在子区间上,采用拉格朗日插值函数形式对各变量予以描述:

其中,lj(τ)为变量x(t)的拉格朗日基函数,xi,j为变量的离散配置点。k为分段插值阶次相关系数。拉格朗日基函数lj(τ)满足以下关系:

其中参数τk∈[0,1]决定了时间子区间上配置点的横坐标相对位置,参数τk的配置置方式可以根据配置点类型离线提前确定。

步骤s740.确定各个时间子区间边界处的衔接代数等式。

由于可微分变量一定连续,因此利用以下连接方程来确保状态变量在每一个时间子区间的边界上保持连续性:

步骤s750.将离散化的约束条件和代价函数汇总构成nlp问题。

对以上步骤中得到的代数等式/不等式汇总得到如下的完全离散形式的nlp问题:

最小化j(tf),

g(xi,j)≤0,

i=1,...,nfe,j=0,...,k.

求解该nlp问题,即求解各有限元上的配置点xi,j,使得代价函数j取值最小。

需要说明的是,虽然以上实施例以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或者必须执行全部的步骤才能实现期望的结果。附加地或者备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

图8示意性地示出了本公开一些实施例中的轨迹规划装置的组成框图。如图8所示,轨迹规划装置800主要可以包括:

状态获取模块810,被配置为获取规划对象在当前时刻的当前状态信息;

区间划分模块820,被配置为确定以当前时刻为起始点的规划时间区间,并将规划时间区间划分为多个具有不同区间长度的时间子区间;

信息确定模块830,被配置为根据当前状态信息确定各个时间子区间内的状态控制信息;

轨迹规划模块840,被配置为根据各个时间子区间内的状态控制信息确定规划对象在规划时间区间内的规划轨迹。

在本公开的一些实施例中,基于以上各实施例,状态获取模块810可以包括:

感知模块,被配置为接收环境感知信息,并根据环境感知信息确定当前时刻的环境状态;

定位模块,被配置为接收对象定位信息,并根据对象定位信息确定当前时刻的位置状态;

导航模块,被配置为接收运动导航信息,并根据运动导航信息确定当前时刻的运动状态;

确定模块,被配置为根据环境状态、位置状态以及运动状态确定规划对象在当前时刻的当前状态信息。

在本公开的一些实施例中,基于以上各实施例,规划时间区间内的后一时间子区间的区间长度大于或者等于前一时间子区间的区间长度。

在本公开的一些实施例中,基于以上各实施例,区间划分模块820可以包括:

获取模块,被配置为获取规划时间区间的总区间长度、时间子区间的划分数量;

步长确定模块,被配置为根据划分数量确定步长调节系数,并根据总区间长度和步长调节系数确定区间增长步长;

长度确定模块,被配置为根据总区间长度、划分数量以及区间增长步长确定规划时间区间中初始时间子区间的初始区间长度;

时刻确定模块,被配置为根据初始区间长度和区间增长步长确定各个时间子区间的起始时刻。

在本公开的一些实施例中,基于以上各实施例,信息确定模块830可以包括:

连续条件确定模块,被配置为确定对应于规划时间区间的代价函数和连续性约束条件;

离散条件确定模块,被配置为根据连续性约束条件确定与各个时间子区间相对应的离散化约束条件;

离散状态确定模块,被配置为根据代价函数和离散化约束条件在各个时间子区间内确定离散化的状态配置信息;

状态控制确定模块,被配置为根据离散化的状态配置信息确定各个时间子区间内的状态控制信息。

在本公开的一些实施例中,基于以上各实施例,连续性约束条件包括系统动态方程约束条件、初始时刻约束条件、终止时刻约束条件和碰撞躲避约束条件。

在本公开的一些实施例中,基于以上各实施例,离散状态确定模块包括:

插值模块,被配置为利用插值算法分别在各个时间子区间内确定多个离散化状态配置节点;

状态配置模块,被配置为根据代价函数和离散化约束条件在各个时间子区间内确定对应于各个离散化状态配置节点的状态配置信息。

上述轨迹规划装置的具体细节已经在对应的轨迹规划方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

在本公开的实施例中,还提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现本公开的上述的方法。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码;该程序产品可以存储在一个非易失性存储介质(可以是cd-rom、u盘或者移动硬盘等)中或网络上;当所述程序产品在一台计算设备(可以是个人计算机、服务器、终端装置或者网络设备等)上运行时,所述程序代码用于使所述计算设备执行本公开中上述各示例性实施例中的方法步骤。

参见图9所示,根据本公开的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑磁盘只读存储器(cd-rom)并包括程序代码,并可以在计算设备(例如个人计算机、服务器、终端装置或者网络设备等)上运行。然而,本公开的程序产品不限于此。在本示例性实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或者多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。

可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件、或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件或者上述的任意合适的组合。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任意可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户计算设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络(包括局域网(lan)或广域网(wan)等)连接到用户计算设备;或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。

在本公开的实施例中,还提供一种电子设备,所述电子设备包括至少一个处理器以及至少一个用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为经由执行所述可执行指令来执行本公开中上述各示例性实施例中的方法步骤。

下面结合图10对本实施例中的电子设备1000进行描述。电子设备1000仅仅为一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

参见图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:至少一个处理单元1010、至少一个存储单元1020、连接不同系统组件(包括处理单元1010和存储单元1020)的总线1030、显示单元1040。

其中,存储单元1020存储有程序代码,所述程序代码可以被处理单元1010执行,使得处理单元1010执行本公开中上述各示例性实施例中的方法步骤。

存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元1021(ram)和/或高速缓存存储单元1022,还可以进一步包括只读存储单元1023(rom)。

存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用各种总线结构中的任意总线结构的局域总线。

电子设备1000也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可以与一个或者多个使得用户可以与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(i/o)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(lan)、广域网(wan)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1060可以通过总线1030与电子设备1000的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

上述所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中,如有可能,各实施例中所讨论的特征是可互换的。在上面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本公开的各方面。

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