一种联合优化的云机器人系统延时的优化方法与流程

文档序号:17668843发布日期:2019-05-15 22:54阅读:234来源:国知局

本发明涉及云机器人集群的服务质量优化技术领域,更具体的,涉及一种联合优化的云机器人系统延时的优化方法。



背景技术:

目前,由于传统机器人已经无法很好地满足生产要求的背景下,因此为了增强机器人个体的效能,云机器人技术被提出,所述云机器人(cloudrobotics)是将云计算技术应用于机器人的技术。云计算描述的是一种基于互联网的新的it服务增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展而且经常是虚拟化的资源。运用云计算的强大计算能力和存储能力给机器人提供一个更智能的“大脑”,此举可以增强单个机器人的能力,执行复杂功能任务和服务。同时,分布在世界各地、具有不同能力的机器人可以打破地域限制,开展合作,共享信息资源,完成更大、更复杂的任务。云机器人并不是指某一个或者某一类机器人,指代的是机器人存储和获取信息的一种方式,借助于网络和云计算,帮助机器人相互学习、共享知识,解决单个机器自我学习的局限性,而且还可以减少开发人员的开发投入。

如图1所示,云机器人系统分为三部分,机器人端、边缘端(接入点,accesspoint,ap)、云端(服务器),其中机器人端有内部连接的通讯网络,也有和互联网连接的机器人。云端和机器人端的通信必须经过边缘端,边缘端可能具有计算能力,也可能仅仅发挥数据传输作用,具有计算能力的接入点符合边缘计算的特点,距离任务执行地点更近,体量更轻。边缘端本来是通信基站,现在在边缘计算的场景下加入了一个有计算能力的服务器,从“仅仅可以发送、接受数据”到“可以进行任务卸载。

在云机器人的应用上,有几个方面值得关注:云机器人的计算迁移、知识共享和协同工作。其中,计算迁移是指将高计算量的工作任务由机器人本地迁移到云端或边缘端的高性能服务器执行,节省机器人的能源和降低该任务的执行时间。当云机器人集群进行协同工作时,由于实时数据量高、计算任务重,因为有总体完成时间和机器人能源容量的限制,所以计算迁移是必要的。

总体完成时间反映到服务质量上,便是延时(latency)。延时是云机器人的服务质量里面非常重要的一部分,最小化延时能够更好地保证服务质量,帮助云机器人更好地执行任务。

因为云机器人执行任务时具备的实时性、高异构性、大数据性等特点,基于实时性的要求,机器人及云端需要不停地执行任务,任务执行过程中的延时问题无法避免,只会随着任务执行变得严重;基于大数据性的特点,云机器人面临着处理大量数据的压力,如果不能很好地优化任务执行的策略,延时将会大大提升,超时的风险也会随之提高。当任务出现超时,一方面会因为执行效果不好而影响用户的满意程度,另一方面,对于有时间限制的任务而言,超时意味着任务失败,而云机器人系统的应用场景又决定了其任务很可能有执行时间的限制。

同时,由于云机器人系统的延时受多方面因素的影响,尽管现存大量对云机器人系统的总体延时进行优化的研究,总体延时依然有很大的优化空间。现有技术主要是将云计算场景中的调度算法对云机器人系统进行适配,针对的优化对象是计算迁移的策略,或者计算迁移中传输路线的选择,并没有将两者有机地结合起来,导致优化的方法效率不高。



技术实现要素:

因为云机器人系统进行计算迁移时云端和机器人端的通讯会出现瓶颈,因此从机器人到云端的传输策略的设计变得尤为重要,包括传输线路的选择和计算迁移策略的选择,同时,考虑到任务的高数据量和机器人集群本身的高异构性。本发明为了解决如何调整机器人的布局、该任务的工作流布局以及机器人迁移计算任务至云端时的传输路径选择,从而使得任务的总体执行时间最小化,满足云机器人的服务质量需求,提供了一种联合优化的云机器人系统延时的优化方法,该方法将机器人布局、工作流布局以及器人迁移计算任务至云端时的传输路径选择三者联系起来,进行联合优化,提高了解决方案的性能表现,进一步降低系统的延时。

为实现上述本发明目的,采用的技术方案如下:一种联合优化的云机器人系统延时的优化方法,所述该优化包括以下步骤:

s1:输入机器人的位置点信息,集合为k,输入每个机器人的参数,所述的参数包括机器人处理器频率fmax,输入每个任务所需的计算机cpu周期,输入任务i的计算量taski,输入任务i产生的传输数据量datai,输入云端服务器c的计算能力e0,输入基站的带宽能力;

s2:将机器人j是否布置在位置点k上执行任务定义为yjk,将任务i是否布置到机器人j上执行任务定义为xij,将数据i是否通过基站n上传到云端服务器定义为zin;

s3:预设随机生成支路之间的执行时间差的阈值ε,设定基因代数阈值n;

s4:将指示机器人的位置点信息k的所有二进制变量组合成一维数组,对一维数组编码生成yjk,视yjk为一个基因,每代生成多组不同值的基因,通过每个基因包含的机器人j的位置信息计算出每个机器人在k位置的通信带宽bj,k,计算公式如下:

式中,bj为机器人j的传输带宽,为一个常量标量,由机器人本身无线通信天线的发射功率得出;

s5:通过对变量xij、zin进行线性化,并使用线性规划求解器求解关于x、z的线性规划,得到关于变量xij、zin的解,将通信带宽和关于变量xij、zin的解代入目标函数中,对目标函数进行线性化变换,求出每个基因对应的最优解;

所述目标函数表达式如下:

式中,表示机器人在本地执行任务i的时间:

其中,ej表示机器人j的计算能力;xij表示二进制变量,代表是否将任务i布置到机器人j上执行任务,xij=0为否,xij=1为是;

表示机器人在云端服务器c执行任务i的时间:

其中,xic表示二进制变量,代表是否将任务i布置到云端服务器c上执行任务,xic=0为否,xic=1为是;

表示通信带宽求出任务i1到任务i2的传输时间:

其中,yjk表示二进制变量,代表是否将机器人j布置到节点k上执行任务,yjk=0为否,yjk=1为是;

s6:通过目标函数筛选基因,保存目标函数值最低的30%基因,并通过遗传算法进行交叉、变异,产生新的基因,作为调整基因,计算下一代基因yjk的最优解;

s7:根据步骤s4得到的最优解,调整基因和阈值ε,重复步骤s4~s6,直到基因代数超过阈值n,或相邻数代基因中的最优解的值相同,输出最优解对应的线性规划求解器求解关于x、z的矩阵,并输出最优解相对应的基因解码成y的矩阵,从而确定关于机器人位置分配、任务分配、通信基站分配的布局方案,其中所述的基因代数指的是生成基因、筛选基因的次数;

s8:将布局方案发送给个机器人执行任务。

优选地,所述在步骤s3之后,在步骤s4之前还需要进行以下处理:

通过图的遍历算法求出工作流的所有支路,从初始节点到终止节点为一条支路,两条包含节点不完全相同的支路为不同的支路;通过支路得到支路包含的节点集合,得到节点之间的前驱、后继关系。

进一步地,所述的工作流是将一个任务分解成多个子任务,构成一个工作流;由一个工作流组成有向无环图,通过图的遍历算法求出工作流的所有子任务构成的支路。

优选地,步骤s7,所述调整基因和阈值ε,具体地,判断每个基因的最优解是否为实数解,且符合每个支路的执行时间的差的绝对值小于阈值ε;

若是,则存在可行解,记录并更新最优解的结果及变量xij、yjk、zin的值;

若否,则对ε进行松弛,加大ε的值,再在原有的基因的基础上进行求解;

若松弛后依然无法求得可行解,则用松弛后的阈值ε对之前的基因进行求解,直到求得可行解。

优选地,所述任务i是否布置到机器人j上执行任务需要满足条件:每个任务所对应的机器人处理任务的容量限制必须大于该任务的任务i的计算量taski;

所述机器人处理任务的容量限制根据输入的每个机器人的参数及每个任务所需的计算机cpu周期计算所得,其计算公式如下:

fmax/t

式中,fmax表示机器人的处理器最高频率;t表示时间,

得出单位时间内机器人能最多处理多少个cpu周期的计算任务。

优选地,多个机器人与基站连接时,其总的传输带宽小于基站的带宽能力。

本发明任务执行时间主要由机器人的布局、工作流布局、基站的选择决定,所述机器人的布局指的是:不同机器人具有不同的计算能力和传输能力,机器人之间。基站与机器人间的距离都可以对机器人群体协同工作的效率产生明显影响。

所述工作流布局指的是:一个任务分解成一个工作流,以此工作流映射不同的计算、传输能力的机器人实体,将会影响任务的执行时间和数据的传输时间,对任务的执行时间影响很大。本发明将任务分解成工作流,方便储存和计算,将任务变成节点,数据传输成边,构造一个有向无环图,每个任务的计算量变成节点的权重,传输数据量变成边的权重,有向边的起点和终点连接两个有数据依赖关系的任务。

所述的基站选择指的是云机器人不可避免地要与云端进行交互,其大数据性、实时性注定了机器人与云端的通信是整个云机器人系统的瓶颈所在,当大量数据要上传至云端或从云端下载时,如何选择通讯的基站明显会对系统整体的延时造成可观的影响。

本发明的有益效果如下:本发明通过引入机器人布局的变量,更加贴合现实情况中可能出现的机器人执行任务的场景,通过固定机器人布局的变量,将子问题线性化处理,降低了求解问题的复杂度;本发明将机器人布局、工作流布局以及器人迁移计算任务至云端时的传输路径选择三者联系起来,进行联合优化,提高了解决方案的性能表现,进一步降低系统的延时。

附图说明

图1是云机器人的系统结构图。

图2是本实施例所述优化方法的流程图。

图3是本实施例遗传算法的示意图。

具体实施方式

下面结合附图和具体实施方式对本发明做详细描述。

实施例1

如图2所示,一种联合优化的云机器人系统延时的优化方法,所述该优化包括以下步骤:

s1:输入机器人的位置点信息,集合为k,输入每个机器人的参数,所述的参数包括机器人处理器频率fmax,输入每个任务所需的计算机cpu周期,输入任务i的计算量taski,输入任务i产生的传输数据量datai,输入云端服务器c的计算能力e0,输入基站的带宽能力;

s2:将机器人j是否布置在位置点k上执行任务定义为yjk,将任务i是否布置到机器人j上执行任务定义为xij,将数据i是否通过基站n上传到云端服务器定义为zin;

s3:预设随机生成支路之间的执行时间差的阈值ε,设定基因代数阈值n;

s4:将指示机器人的位置点信息k的所有二进制变量组合成一维数组,对一维数组编码生成yjk,视yjk为一个基因,每代生成多组不同值的基因,通过每个基因包含的机器人j的位置信息计算出每个机器人在k位置的通信带宽bj,k,计算公式如下:

式中,bj为机器人j的传输带宽,为一个常量标量,由机器人本身无线通信天线的发射功率得出;

s5:通过对变量xij、zin进行线性化,并使用线性规划求解器求解关于x、z的线性规划,得到关于变量xij、zin的解,将通信带宽和关于变量xij、zin的解代入目标函数中,对目标函数进行线性化变换,求出每个基因对应的最优解;

所述目标函数表达式如下:

式中,表示机器人在本地执行任务i的时间:

其中,ej表示机器人j的计算能力;xij表示二进制变量,代表是否将任务i布置到机器人j上执行任务,xij=0为否,xij=1为是;

表示机器人在云端服务器c执行任务i的时间:

其中,xic表示二进制变量,代表是否将任务i布置到云端服务器c上执行任务,xic=0为否,xic=1为是;

表示通信带宽求出任务i1到任务i2的传输时间:

其中,yjk表示二进制变量,代表是否将机器人j布置到节点k上执行任务,yjk=0为否,yjk=1为是;

s6:通过目标函数筛选基因,保存目标函数值最低的30%基因,并通过遗传算法进行交叉、变异,产生新的基因,作为调整基因,计算下一代基因yjk的最优解;

s7:根据步骤s4得到的最优解,调整基因和阈值ε,重复步骤s4~s6,直到基因代数超过阈值n,或相邻数代基因中的最优解的值相同,输出最优解对应的线性规划求解器求解关于x、z的矩阵,并输出最优解相对应的基因解码成y的矩阵,从而确定关于机器人位置分配、任务分配、通信基站分配的布局方案,其中所述的基因代数指的是生成基因、筛选基因的次数;

s8:将布局方案发送给个机器人执行任务。

本实施例所述在步骤s3之后,在步骤s4之前还需要进行以下处理:

通过图的遍历算法求出工作流的所有支路,从初始节点到终止节点为一条支路,两条包含节点不完全相同的支路为不同的支路;通过支路得到支路包含的节点集合,得到节点之间的前驱、后继关系。

本实施例所述的工作流是将一个任务分解成多个子任务,构成一个工作流;由一个工作流组成有向无环图,通过图的遍历算法求出工作流的所有子任务构成的支路。

步骤s7,所述调整基因和阈值ε,具体地,判断每个基因的最优解是否为实数解,且符合每个支路的执行时间的差的绝对值小于阈值ε;

若是,则存在可行解,记录并更新最优解的结果及变量xij、yjk、zin的值;

若否,则对ε进行松弛,加大ε的值,再在原有的基因的基础上进行求解;

若松弛后依然无法求得可行解,则用松弛后的阈值ε对之前的基因进行求解,直到求得可行解。

所述任务i是否布置到机器人j上执行任务需要满足条件:每个任务所对应的机器人处理任务的容量限制必须大于该任务的任务i的计算量taski;

所述机器人处理任务的容量限制根据输入的每个机器人的参数及每个任务所需的计算机cpu周期计算所得,其计算公式如下:

fmax/t

式中,fmax表示机器人的处理器最高频率;t表示时间,得出单位时间内机器人能最多处理多少个cpu周期的计算任务。

本实施例任务向云端迁移时,通过zin来表示任务i通过基站n来向云端传输数据和,需要满足基站的传输容量限制和传输能力限制。即限定数量的机器人可以连接同一个基站,多个机器人和基站的连接的带宽并不能无限增长,其总和低于基站的带宽能力cn,即当多个机器人与基站连接时,其总的传输带宽小于基站的带宽能力。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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