本发明涉及布局问题领域,更具体地,设计一种基于多种群分布估计算法的机器人装配单元多目标布局优化方法。
背景技术:
装配单元发展初期,人们对单元内的布局都是依靠以往的常识和经验,缺乏理论性的指导,无法使得装配单元在布局面积最小的同时还能得到最高的装配效率。随着3c产业的发展,人们对机器人单元的布局设计问题逐步重视,但目前对于特定的机器人装配单元布局在单元性能指标的研究上也多集中在布局面积与周期时间,也没有对控制点位置进行优化,另外布局是否均匀合理也是需要考量的指标之一,同时生产成本的高低也直接影响装配单元的性能,并且涵盖了时间指标。一次需要一种专门的方法解决机器人装配单元多目标布局优化问题。
技术实现要素:
为了解决上述问题,本发明旨在公开一种机器人装配单元多目标布局优化方法,尤指一种基于多种群分布估计算法以最小化布局面积、最小化生产成本和最大化布局均匀性为优化目标的机器人装配单元布局优化问题的解决方法。
为了实现上述目的,本发明所采用的技术方案主要包括以下过程:
步骤1、构建机器人装配单元布局的三目标优化评价函数;
以最小化布局面积、最小化生产成本和最大化布局均匀性为机器人装配单元布局优化的三个目标构建评价函数,其中布局均匀性是指单元内设备之间间隙趋于设备理想间隙的能力,布局均匀性用一个分数表示,分子为规定的布局系数k,分母为相邻设备之间实际间隙值与理想间隙值之差的绝对值大小,理想间隙值di等于相邻两设备同方向上边长的平均值除以间隙系数ε,
步骤2、根据单元内设备的几何特征在布局坐标系中确定设备接入点;
定义其几何体顶面水平投影的左下角顶点为装配单元中设备的接入点,用接入点的坐标代表物体在布局坐标系中的坐标,一台设备只有一个接入点。
步骤3、将控制点视为体积为0的设备并制定控制点约束;
将控制点当成一个体积为0的设备,控制点的接入点即为其本身,制定控制点的约束为:
1)控制点必须在机器人工作区间内;
2)机器人执行任务必须经过控制点;
3)控制点不能与其他设备重叠;
4)控制点数量和机器人数量一致;
5)控制点不考虑布局均匀性要求。
步骤4、针对装配单元布局面积问题,制定一种在平面坐标系的第一象限对设备进行布局编码的设备坐标序列编码规则;
制定了一种设备坐标序列的编码规则来表示装配单元内设备的位置,方法如下:根据实例中设备的大小建立适当的平面坐标系,要求设备只能按边与坐标系的横轴和纵轴垂直或平行的方向放置,按顺序依次在第一象限布局每个设备,将已经放置了设备的区域作为禁布区,不再放置设备,确保设备不重叠,设备坐标序列则记录每个设备接入点的横、纵坐标,l={(x1,y1),(x2,y2),...,(xv,yv)},v表示设备数量。
步骤5、构建种群分裂和子种群局部搜索分布估计算法,并在局部搜索中用自适应方法对变异比例进行取值;
首先分别设定种群分裂条件阈值fis1和种群合并条件阈值com2,当连续fis1次迭代中适应度值未更新,则认为满足种群分裂条件,将种群分裂成三个大小相等的子种群sp1、sp2和sp3,分别进行以下的局部搜索:sp1中的解先两两配对构成若干组,每一组再对设备坐标序列的x坐标进行均匀交叉操作,得到新增的两个解,若新解中设备发生干涉则舍去,然后与原两解在pareto意义下进行比较,保留最好的两个解替换原解,最后选择规定比例ε%的解对设备坐标序列的x坐标进行互换变异操作,若优于原解则替换,反之则保持原解;sp2和sp3用同上步骤先分别对设备坐标序列的y坐标和机器选择序列进行单点交叉操作和多点交叉操作,再分别进行互换变异操作,三个种群分别执行一次则完成一次局部搜索,达到连续com2次迭代中未更新适应度值的合并条件后则合并种群并输出最优解集。
其中ε取值的具体方法如下:先用正交实验法确定一个合适的基准变异比例p%,再用自适应方法在每次迭代后对ε进行变化,每次迭代的变异比例ε%是
步骤6、用多种群分布估计算法对机器人装配单元布局进行多目标优化求解。
利用编码规则在装配单元布局设备并通过评价函数计算适应度值,通过种群分裂的局部搜索与种群合并后,在程序中输出pareto意义下的最优解集,完成用多种群分布估计算法对机器人装配单元布局进行多目标优化求解。
附图说明
图1应用多种群分布估计算法求解装配单元多目标布局问题的流程图。
具体实施方式
下面以一个机器人装配单元案例来详细说明本发明的具体实施方式:
步骤1、构建机器人装配单元布局的三目标优化评价函数;
该装配单元的数学模型为v个设备,其中包括r个机器人,若干个零件台、装配台和工具台,r个控制点。以最小化布局面积mins、最小化生产成本minc和最大化布局均匀性maxu为机器人装配单元布局优化的三个目标构建评价函数,其中布局均匀性是指单元内设备之间间隙趋于设备最佳间隙的能力。对优化目标分别制定目标函数:布局面积用最小外接矩形面积表示,分别用设备的x、y坐标的最小值来确定矩形的左边与下边位置,分别用设备的x、y坐标与其相应边长之和的最大值来确定矩形的右边与上边位置,通过四边位置可以求得矩形的长和宽进而求得面积,s=(maxv(xi+li)-minvxi)×(maxv(yi+li)-minvyi),li表示第i设备的边长;生产成本由零件原材料费用、加工费用和等待费用构成,其中零件原材料费用已知为
其中,aijk为决策变量,若i任务的j工序再k机器人上执行则为1,若不在则为0,tijk和wijk分别表示k机器人执行i任务的j工序所花的加工时间和等待时间,c’k和c”k分别表示单位时间的加工费用和等待费用,其中每个任务分三道工序:抓取,转换和装配;布局均匀性用一个分数表示,分子为规定的布局系数k,分母为相邻设备之间实际间隙值与理想间隙值之差的绝对值大小,理想间隙值di等于相邻两设备同方向上边长的平均值除以间隙系数ε,
步骤2、根据单元内设备的几何特征在布局坐标系中确定设备接入点;
定义其几何体顶面水平投影的左下角顶点为装配单元中设备的接入点,用接入点的坐标代表物体在布局坐标系中的坐标,一台设备只有一个接入点。
步骤3、将控制点视为体积为0的设备并制定控制点约束;
将控制点当成一个体积为0的设备,控制点的接入点即为其本身,制定控制点的约束为:
1)控制点必须在机器人工作区间内;
2)机器人执行任务必须经过控制点;
3)控制点不能与其他设备重叠;
4)控制点数量和机器人数量一致;
5)控制点不考虑布局均匀性要求。
步骤4、针对装配单元布局面积问题,制定一种在平面坐标系的第一象限对设备进行布局编码的设备坐标序列编码规则;
制定了一种设备坐标序列的编码规则来表示装配单元内设备的位置,方法如下:根据实例中设备的大小建立适当的平面坐标系,要求设备只能按边与坐标系的横轴和纵轴垂直或平行的方向放置,按顺序依次在第一象限布局每个设备,hg将已经放置了设备的区域作为禁布区,不再放置设备,确保设备不重叠,设备坐标序列则记录每个设备接入点的横、纵坐标,l={(x1,y1),(x2,y2),...,(xv,yv)},v表示设备数量。
装配单元中加工任务安排已知,对每道任务所选的机器人进行编码,得到机器选择序列,与任务安排序列共同求出加工时间和等待时间。
步骤5、构建种群分裂和子种群局部搜索分布估计算法,并在局部搜索中用自适应方法对变异比例进行取值。
首先分别设定种群分裂条件阈值fis1和种群合并条件阈值com2,当连续fis1次迭代中适应度值未更新,则认为满足种群分裂条件,将种群分裂成三个大小相等的子种群sp1、sp2和sp3,分别进行以下的局部搜索:
1)sp1的局部搜索:
a.将sp1中的解两两配对,得到每一对解u和v,进行交叉操作;
b.随机产生一个长度为m的二进制串;
c.将二进制与设备坐标序列的x坐标对应,交换u和v中与二进制串的1对应的位置的x坐标,得到两个新解u′和v′;
d.选择u,v,u′和v′中pareto意义下最好的两个解替换u和v;
e.选择ε%的个体对设备坐标序列的x坐标进行变异操作;
f.随机生成两个小于等于v且不等的正整数a和b;
g.将每个选中个体设备坐标序列的x坐标的第a位和第b位调换,如新个体优于原个体则将原个体替换,否则保持原个体。
2)sp2的局部搜索:
a.将sp1中的解两两配对,得到每一对解w和y,进行交叉操作;
b.随机生成一个小于等于v的正整数n;
c.将w的设备坐标序列的y坐标中处于第n位之前的y坐标与y的设备坐标序列的y坐标中处于第n位之前的y坐标交换得到新解w′和y′;
d.选择w,y,w′和y′中pareto意义下最好的两个解替换w和y;
e.选择ε%的个体对设备坐标序列的y坐标进行变异操作,且变异过程同sp1。
3)sp3的局部搜索:
a.将sp1中的解两两配对,得到每一对解p和q,进行交叉操作;
b.随机生成一个两个小于等于v的正整数m1和m2,其中m1<m2;
c.将p的机器选择序列处于第m1和第m2位之间(包括m2)的机器编号与q的机器选择序列处于第m1和第m2位之间(包括m2)的机器编号交换得到新解p′和q′;
d.选择p,q,p′和q′中pareto意义下最好的两个解替换p和q;
e.选择ε%的个体对机器选择序列进行变异操作,且变异过程同sp1。
三个子种群分别执行一次局部搜索,则视为完成一次迭代。达到连续com2次迭代中未更新适应度值的合并条件后则合并种群并输出最优解集。
其中ε取值的具体方法如下:先用正交实验法确定一个合适的基准变异比例p%,再用自适应方法在每次迭代后对ε进行变化,每次迭代的变异比例ε%是
步骤6、用多种群分布估计算法对机器人装配单元布局进行多目标优化求解。
用多种群分布估计算法对该装配单元布局问题进行求解,参考图1,流程如下:
s1.初始化大小为q的种群,种群分裂条件阈值fis1和种群合并条件阈值com2,学习效率为α、β,精英解概率η%。按照编码规则进行编码,初始化概率矩阵
s2.通过评价函数对种群进行适应度值计算,求解出pareto前沿解;
s3.用pareto前沿解更新档案集,即精英解;
s4.利用精英解来更新概率模型,更新的概率矩阵满足
s5.用新的概率模型采样产生新种群;
s6.设定连续迭代ter次均未更新,则认为满足种群分裂条件,将种群分成3个大小相等的子种群,若没达到分裂条件则返回s2;
s7.分别执行不同的搜索操作,其中sp1调整设备坐标序列的x坐标,sp2调整设备坐标序列的y坐标,sp3调整机器选择序列;
s8.同s2;
s9.同s3;
s10.设定连续迭代ter’次均未更新,则认为满足种群合并条件,并输出最终档案集的个体信息:组件位置和每道任务所选的机器人编号。否则回到s7。