一种平面四杆机构轨迹设计的果蝇优化方法与流程

文档序号:15761481发布日期:2018-10-26 19:21阅读:346来源:国知局
一种平面四杆机构轨迹设计的果蝇优化方法与流程

本发明属于四杆传动机构领域,尤其涉及一种平面四杆机构轨迹设计的果蝇优化方法。



背景技术:

平面四杆机构由于具有结构相对简单,加工制造方便以及成本较低的特点,因此在工农业生产中获得了广泛的应用,例如,工业机器人执行器中的欠驱动机构,工程机械中的装载机转斗机构,以及食品和包装设备中的搅拌及封口机构等的相关操作中都会用到。使用平面四杆机构的根本目的在于通过简便实用的机构形式来方便地实现给定的运动规律或运动轨迹再现,以完成预定的运动或动作,实现设备某些必要的复杂运动要求。近年来,随着各种设备向着多功能、自动化及智能化的趋势快速发展,人们对于平面四杆机构的使用要求也相应的变得丰富和多样化,因此研究各类满足不同工作要求的平面四杆机构的设计和优化方法就显得尤为必要。传统的平面四杆机构的设计常采用图解法、图谱法、解析法以及计算机辅助分析法。这些方法普遍存在着设计工作量大、设计精度不高、计算复杂,不易精确求解的不足,易导致设计过程繁琐,设计周期变长,难以适应现代机械高速、高精度的发展要求。近年来,以神经网络、进化计算以及群集计算为代表的智能优化技术获得了快速发展,这些算法具有自适应、自学习以及自组织的特点,为平面四杆机构设计问题的有效解决提供了新的思路和手段。代表性的工作包括采用遗传算法、粒子群优化算法、蚁群算法以及混沌优化算法来进行平面连杆机构的设计和优化。尽管这些方法可行有效,但是也存在着算法流程复杂、计算参数众多以及对设计者经验要求较高的不足。随着智能优化技术的不断进步,一些流程简单、概念清晰并且使用方便的新型算法不断涌现并且获得广泛关注,果蝇优化算法就是其中的典型代表。

果蝇优化算法(fruitflyoptimizationalgorithm,foa)是模拟果蝇觅食过程中群体信息共享和交流机制而产生的一种全新的启发式群体智能进化算法。该算法由wen-tsaopan首次提出,并成功将其应用于连续函数的数值优化及企业财务风险分析问题。果蝇优化算法与其他群智能算法相比,具有概念简单、参数较少、计算速度快、全局寻优能力强、易于实现等特点,近年来已经被成功应用于多个领域,具有良好的应用前景。因此本文从果蝇优化算法的视角出发,构建平面四杆机构的优化模型,并且采用动态种群协同策略以及精英学习和差分扰动策略来加速算法的收敛以实现机构的有效设计和参数优化目标。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,本发明提供一种平面四杆机构轨迹设计的果蝇优化方法。

技术方案:为实现上述目的,本发明的平面四杆机构中,l1为主动杆,l2为连接杆,l3为从动杆,l4为机架,φ0和ψ0分别为对应杆件在右极限位置时的初始位置角;

采用了十进制的2×3实值矩阵编码,矩阵的行向量表示果蝇个体所在搜索空间的维度位置,每一列表示一个需要优化的平面四杆机构的参数;对于个体pi其编码如下式:

第1行向量xi=(xi1,xi2,xi3)表示果蝇的横坐标,第2行向量yi=(yi1,yi2,yi3)表示果蝇的纵坐标;3个列向量则分别对应四杆机构设计变量l2、l3和l4的杆长量值位置编码。

进一步的,嗅觉浓度判定值为si,,果蝇个体与种群位置坐标原点的欧氏距离为disti;满足

式中,xi和yi为果蝇x和y搜素方向上的位置坐标。

进一步的,在果蝇群体执行完嗅觉搜索操作之后,根据果蝇嗅觉浓度的大小排序将其分为两个规模可调节的动态子群,其中一个子群由嗅觉浓度较高的果蝇个体组成,执行精英学习策略来增强算法的局部探索能力促使其快速收敛到最佳位置,其余果蝇个体组成另一个子群采用差分变异策略保证算法的全局开发能力以增加种群的多样性;子群规模调节策略如下式:

n1=n-n2

式中为向下取整运算,n为种群规模,t为当前迭代次数,maxit为最大迭代次数,nmax、nmin分别为种群最大最小规模因子,取值为正且满足nmax>nmin,n1为精英学习子群规模,n2为差分变异子群规模。从式(14)可以看出,随着迭代次数的逐步增加,子群规模n1的量值从n*nmin增加至n*nmax。

进一步的,所述精英学习策略如式:

xi,t+1=x_axist+r*(x_axist-xi,t)*gauss(0,1)

yi,t+1=y_axist+r*(y_axist-yi,t)*gauss(0,1)

式中r为调节因子,其中调节因子满足:

式中,xi,t+1、yi,t+1为第t+1代优秀子群中果蝇个体i的位置坐标,xi,t、yi,t为第t代优秀子群中果蝇个体i的位置坐标,x_axist,y_axist为第t代精英果蝇个体的位置坐标,gauss(0,1)为服从期望为0,方差为1的高斯分布。

进一步的,所述差分变异策略如式:

xi,t+1=xi,t+c*(xj,t-xk,t)+(1-c)*(xm,t-xn,t)

yi,t+1=yi,t+c*(yj,t-yk,t)+(1-c)*(ym,t-yn,t)

式中,xi,t+1、yi,t+1为第t+1代普通子群中果蝇个体i的位置坐标,xi,t、yi,t为第t代普通子群中果蝇个体i的位置坐标,xj,t、xk,t、xm,t、xn,t和yj,t、yk,t、ym,t、yn,t分别为第t代中整个种群里与个体i相异的随机选择的4个个体的位置坐标,c为尺度因子,取值为(0,1)区间的均匀分布随机数。

有益效果:本发明的根据平面四杆机构问题描述的优化模型设计了果蝇种群个体的编码方式以及新型嗅觉浓度判定值函数,其次根据嗅觉浓度值将种群动态划分成优秀子群和普通子群以执行不同的种群演化模式,最后对不同果蝇子群分别采取了精英学习策略和差分变异策略来增强算法的学习效率以及保持种群的多样性。平面四杆机构设计实例分析表明该方法是可行有效的,其参数优化设计结果好于传统的设计方法;本文针对实现给定运动规律的平面四杆机构尺度综合问题,提出一种基于精英学习策略和差分扰动策略的改进果蝇算法的设计参数优化方法。实例计算表明改进的果蝇优化算法可行有效,其计算优化结果稳定并且设计精度好于常用计算方法。该算法流程简便易行,便于编程,实用性强,为平面四杆机构尺度综合提供一种新的思路,可在实际工程中推广应用于其他机械结构的尺度综合优化问题。

附图说明

附图1为平面四杆机构简图;

附图2为改进的果蝇优化算法流程;

附图3平面四杆机构优化过程嗅觉浓度曲线。

具体实施方式

下面结合附图对本发明作更进一步的说明。

平面四杆机构优化设计问题描述:

平面四杆机构简图如图1所示,其中l1为主动杆,l2为连接杆,l3为从动杆,l4为机架,φ0和ψ0分别为对应杆件在右极限位置时的初始位置角。当主动杆的运动确定后,从动杆在连接杆的铰链耦合作用下也会产生相应的运动,并且其运动规律将随机构尺寸的变化而变化,因此从动杆的运动规律是各杆长及初始位置角的函数。

设计变量

考虑到平面四杆机构的杆长按比例变化时,各构件之间的角位移关系不变,因此在计算时通常取l1=1为基准,各杆件的相对长度l2、l3、l4为设计变量。由于初始位置角与相对杆长之间存在一定函数关系,不是独立参数,因此该优化问题的设计变量为

x=[l2,l3,l4]t(1)

目标函数

设平面四杆机构要实现的运动规律为ψ(φ),则目标函数可根据机构实际的运动规律与要实现的已知运动规律之间的偏差最小为设计目标来建立,则目标函数为:

式中,n为输出角等分数,ψei为期望输出角,ψi为实际输出角。

约束条件

约束条件包括机构存在的条件和最小传动角条件两类。机构存在的条件包括主动杆长度最短以及最短杆与最长杆之和小于或等于其他两杆之和。最小传动角条件指机构的传动角应处在最大传动角γmax和最小传动角γmin之间,最小传动角出现在主动杆和传动杆共线时处。

(a)机构存在的条件

(b)传动角约束条件

所以该问题的优化设计模型可表示为

这是一个具有3个独立自变量和8个不等式约束的非线性优化问题。

果蝇优化算法描述

果蝇优化算法是一种模拟果蝇觅食行为的新型群集智能优化算法,生物学研究结果表明,和其它类型的物种相比,果蝇具有极其强大的嗅觉和视觉感知能力。因此果蝇优化算法的关键操作也包括了嗅觉搜索和视觉搜索两个主要阶段。在嗅觉搜索阶段,果蝇通过嗅觉器官闻取食物的气味,然后向食物的位置飞去,在视觉搜索阶段,果蝇通过种群内通信机制,依靠视觉向同伴聚集位置飞行来寻找食物。这个过程依次循环迭代,最终搜寻味道浓度最大的位置和食物就是所求解问题的解。现有的基本的果蝇优化算法包含如下主要操作步骤:

步骤1:设置算法参数,包括果蝇种群规模sizepop,种群初始化位置区间lr,算法最大迭代次数maxgen,以及随机产生初始种群的位置坐标x_axis和y_axis。

步骤2:赋予每个果蝇给定区间内随机的方向和距离来进行进行嗅觉搜索来寻找食物,fr表示果蝇个体随机飞行距离区间大小。

步骤3:首先计算果蝇个体与位置原点之间的距离disti,然后计算嗅觉浓度判定值si,该值由前述距离值取倒数得到。

步骤4:将嗅觉浓度判定值代入味道浓度函数计算函数,也就是目标函数,计算每个果蝇个体的味道浓度值smelli。

smelli=function(si)(9)

步骤5:将味道浓度值排序,找出种群中味道浓度值最小(最小化问题)的果蝇个体。

[bestsmell,bestindex]=opt(smelli)(10)

步骤6:记录最佳味道浓度值以及相应的果蝇个体的位置坐标。整个果蝇群体执行视觉搜索操作,飞向此时的最佳果蝇个体位置。

步骤7:重复步骤2到步骤5进行迭代寻优,如果当前最佳味道浓度值优于上一次迭代得到的最佳味道浓度值,则执行步骤6,依次循环直至迭代次数达到最大设定值。

基于果蝇算法的平面四杆机构优化设计

从上述主要操作步骤可以看出,基本果蝇优化算法在每一次的迭代过程中,只向当前次代的最优个体进行学习,若找到最优个体,则所有个体都会向最优位置聚集,易导致种群多样性降低。参考[8][9]文献,如果该个体不是全局最优个体,则算法容易陷入局部最优引起早熟收敛;

[8]韩俊英,刘成忠.自适应混沌果蝇优化算法[j].计算机应用,2013,33(5):1313-1333.

[9]王林,吕盛祥,曾宇容.果蝇优化算法研究综述[j].控制与决策,2017,32(7):1153-1162.

为了克服上述问题,本文提出一种基于精英学习策略和差分扰动变异的果蝇优化算法并将其用于平面四杆机构的优化设计。

个体编码

根据平面四杆机构设计要求,在本文算法中,果蝇个体采用了十进制的2×3实值矩阵编码,矩阵的行向量表示果蝇个体所在搜索空间的维度位置,每一列表示一个需要优化的平面四杆机构的参数。例如,对于个体pi来说,其编码如式(12)所示,则第1行向量xi=(xi1,xi2,xi3)表示果蝇的横坐标,第2行向量yi=(yi1,yi2,yi3)表示果蝇的纵坐标。3个列向量则分别对应四杆机构设计变量l2、l3和l4的杆长量值位置编码。

嗅觉浓度判定值函数

基本果蝇算法的嗅觉浓度判定值si采用果蝇个体与种群位置坐标原点的欧氏距离disti的倒数来表示。这种情况下如果果蝇群体远离原点,那么si的取值就会趋向于零,并且其量值的变化也会非常小,这很容易导致算法进程停滞而陷入局部极小。针对该问题本文算法对嗅觉浓度判定值si的计算提出如下公式:

式中,xi和yi为果蝇x和y搜素方向上的位置坐标。采用上述嗅觉浓度函数一方面可使嗅觉浓度判定值si始终在较大的范围内变化以利于算法收敛,另一方面也可确保取值始终居于可行域内避免无效解的产生。

种群协同算子

基本果蝇优化算法只有一个种群执行操作,难于在搜素空间的不同区域平衡其局部探索能力和全局开发能力。针对上述不足,本文方法采用了种群动态协同策略并设计了相应的种群协同算子;可参考文献[10]和[11]

[10]钟伟民,牛进伟,梁毅,等.多策略果蝇优化算法及其应用[j].化工学报,2015,66(12):4888-4894.

[11]j.niu,w.zhong,y.liang,n.luo,f.qian,fruitflyoptimizationalgorithmbasedondifferentialevolutionanditsapplicationongasificationprocessoperationoptimization,knowledge-basedsystems,88(3):253-263,2015。

在果蝇群体执行完嗅觉搜索操作之后,根据果蝇嗅觉浓度的大小排序将其分为两个规模可调节的动态子群,其中一个子群由嗅觉浓度较高的果蝇个体组成,执行精英学习策略来增强算法的局部探索能力促使其快速收敛到最佳位置,其余果蝇个体组成另一个子群,采用差分变异策略保证算法的全局开发能力以增加种群的多样性,两个子群分工协作提升算法性能。

由于在算法执行初期良好的全局开发能力有利于多样性果蝇种群发现价值较高的搜索方向,而在算法后期应该有较多个体围绕种群最佳位置执行局部精细搜索,因此在算法初期需要有较多个体执行差分变异策略,而随着迭代次数的增加,算法对种群的局部探索能力要求变高,这时应该有较多的个体执行精英学习策略。基于上述考虑,本文提出如下的子群规模调节策略。

式中为向下取整运算,n为种群规模,t为当前迭代次数,maxit为最大迭代次数,nmax、nmin分别为种群最大最小规模因子,取值为正且满足nmax>nmin,n1为精英学习子群规模,n2为差分变异子群规模。从式(14)可以看出,随着迭代次数的逐步增加,子群规模n1的量值从n*nmin增加至n*nmax,从而有效地实现了子群的动态调节。

精英学习策略

在基本果蝇算法中,新个体是在当前最优个体的邻域内随机产生的,具有一定的盲目性,易导致算法的收敛精度和收敛效率下降。而精英是种群中具有榜样和示范作用的优秀个体,精英学习策略是产生和保持最优解的有效手段,本文方法以精英个体为吸引子引导个体有方向的向精英个体进化,每个个体在迭代过程中都学习精英的现有经验,同时辅以递减型高斯分布的调节作用使得多数个体具备在精英个体周围执行精细搜索的能力,因此可以提高单个解的质量和群体的整体适应水平,精英学习策略如式(15)所示。

式中r为调节因子,按式(16)计算。

式中,xi,t+1、yi,t+1为第t+1代优秀子群中果蝇个体i的位置坐标,xi,t、yi,t为第t代优秀子群中果蝇个体i的位置坐标,x_axist,y_axist为第t代精英果蝇个体的位置坐标,gauss(0,1)为服从期望为0,方差为1的高斯分布。

差分变异策略

为了确保果蝇种群搜索求解问题解的多样性并且增强其全局探测能力,本文采取了基于差分扰动的种群变异策略。该策略能够有效利用果蝇种群中个体的位置分布信息,通过对普通子群的个体坐标施加与其相异的两个随机选择果蝇个体的位置的差分向量,实现对普通子群个体位置的扰动变异,达到改变种群在搜索空间的整体分布结构,促使果蝇个体跳出局部最优以及产生新的优质果蝇个体的目的。

式中,xi,t+1、yi,t+1为第t+1代普通子群中果蝇个体i的位置坐标,xi,t、yi,t为第t代普通子群中果蝇个体i的位置坐标,xj,t、xk,t、xm,t、xn,t和yj,t、yk,t、ym,t、yn,t分别为第t代中整个种群里与个体i相异的随机选择的4个个体的位置坐标,c为尺度因子,取值为(0,1)区间的均匀分布随机数。

算法流程

本文改进的果蝇优化算法流程如图2所示

实例计算

设计如图1所示的平面连杆机构,为便于分析,采用与文献[12]中相同的条件;

[12]孙靖民,梁迎春.机械优化设计[m].第4版,北京,机械工业出版社,2006,12.

当主动杆l1的转角φ=φ0~φ0+90°,要求从动杆的转角能实现已知的运动规律其中,φ0和ψ0为初位角,且已知l1=1,l4=5,其机构传动角允许在45°≤γ≤135°范围内变化。

为验证算法性能,将已知参数代入式(5)所示优化设计模型,在cpu为3.0ghz,内存为2gb的pc机上采用本文改进的果蝇优化算法求解。计算过程中设置的参数如下:算法的种群规模为100,迭代次数等于1000,种群初始化位置区间lr和个体随机飞行距离区间fr为10。表1给出了算法30次独立运行时的优化计算统计结果,图3给出了本文算法迭代优化过程的曲线。

表1采用果蝇优化四杆机构参数设计结果

由表1及图3可知,采用本文改进的果蝇优化算法求解平面四杆机构参数设计问题是可行有效的,算法取得了令人满意的设计计算结果。进一步分析计算优化统计结果可知,优化目标及参数的均值及方差的取值变化较小,表明算法具有较好的稳定性。

进一步采用经典数值优化方法惩罚函数法、复合形法及随机方向法来求解该四连杆机构设计问题的最优解。表2列出了各种算法和本文算法求得的最优解统计的对比结果。

表2不同算法求解四杆机构优化问题结果对比

由表2所示不同算法求解四杆机构优化问题结果对比可知,四种方法都能用于平面四杆机构运动规律实现的参数设计优化任务,但优化结果的精度不同。本文算法对目标函数f(x*)的优化计算结果明显好于其他三种方法的优化结果,本文算法对目标函数优化到了小数点后第三位,而其他三种方法则只优化到小数点后第二位。

本文针对实现给定运动规律的平面四杆机构尺度综合问题,提出一种基于精英学习策略和差分扰动策略的改进果蝇算法的设计参数优化方法。实例计算表明改进的果蝇优化算法可行有效,其计算优化结果稳定并且设计精度好于常用计算方法。该算法流程简便易行,便于编程,实用性强,为平面四杆机构尺度综合提供一种新的思路,可在实际工程中推广应用于其他机械结构的尺度综合优化问题。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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