王 涛,王 俊,王泓昊,崔 凯
(合肥工业大学 机械工程学院,安徽 合肥 230009)
曲柄滑块机构使用率较高。近年来,科研人员对曲柄滑块的研究颇多,文献[1]采用Matlab工具箱中的fminbnd函数进行优化;文献[2]使用粒子群算法,根据滑块速度以及行程要求优化参数;文献[3-4]则从不同角度利用解析法设计曲柄滑块机构;文献[5]提出基于粒子群算法的最佳传动角优化曲柄滑块机构。对于轨迹再现情况的曲柄滑块设计还没有人研究,随着人们对曲柄滑块机构要求越来越高,要求连杆可以实现较复杂的运动规律和运动轨迹,本文拟采用连杆预期的轨迹的若干关键点,利用粒子群算法与布谷鸟算法进行分析对比。
曲柄滑块机构简图如图1所示,其中O处为机架,OA为曲柄,长为,AB为连杆其长度为(+),滑块在固定于机架的导轨上,偏心距为e,点P为固定在连杆AB上的一点,随连杆一起运动。
图1 曲柄滑块的参数变量
设给定若干个P的位置坐标为2,3,…,n为正整数。P为预定运动轨迹关键点,根据P点预期运动轨迹来优化设计曲柄滑块机构。
首先建立起直角坐标系,设曲柄滑块机构某时刻在P的坐标为的坐标主要是取决于曲柄滑块的偏心距e和各杆的长度L1,L2,L3,L4,以及曲柄的转角θ1六个变量。由几何关系可以得到如下关系式
A点坐标
距离S
B点坐标
连杆与机架夹角
P点坐标
连杆上的点P轨迹曲线取决于偏心距e,杆L1,L2,L3,L4长度,以及曲柄转角θ1,故设计变量为
利用P点的坐标与相应给定的P点坐标误差平方和的均值根作为目标函数
模型的约束条件如下:
(a)偏心曲柄滑块的存在条件
(b)最佳传动性能。令最大压力角不大于40°
(c)根据实际,设各杆以及偏心距长度大于0且小于200 mm:
(d)曲柄转角在0到2π之间:
粒子群算法(particle swarm optimization,PSO)[6]是基于群体迭代的,这与遗传算法相似[2],不过遗传算法中有交叉和变异步骤,前者的粒子则是在所有解中追随最优的粒子进行搜索,直至发现最优解。
粒子群算法简单方便,实现该算法的参数不多,同时不需要梯度信息;另外,天然的实数编码特点很适用于实优化问题[9]。
在该算法中,以一只鸟当作每个寻优问题的解,称为粒子,将粒子都放在一个N维空间中,进行搜索。每一个粒子都对应着一个适应度函数,其适应值可以用于判断当前粒子所处位置的优劣,为能够保证搜寻到最佳的位置,所有的粒子都必须具有记忆的功能。粒子飞行的方向和距离是由其速度决定的其值不是固定的,可以根据飞行的经验进行动态调整。其基本流程如图2。
PSO算法[6]:假设有m个粒子置于n维空间中,任意一个粒子i的位置xi=(xi1,xi2,…,xin),粒子i的飞行速度为vi=(vi1,vi2,…,vin),其中i⊆[1,m];由粒子i所经历过的最佳位置pi=(pi1,pi2,…,pin),可得到该群体内全部粒子的最佳位置pg=(pg1,pg2,…,pgn);粒子位置和对应的速度都从连续实数中取得;n维空间中粒子i的速度与位置公式[10]
其中:c1,c2为学习因子也即加速度系数,范围[0,2];r1,r2是伪随机数,范围[0,1];ω为惯性权重;是经过第k次迭代后,粒子i飞行速度矢量的第n维分量;是经过第k次迭代后,粒子i所在位置矢量的第n维分量。其中H为惩罚系数,取106。最终可以得到适应度函数F0=min(F+M)。
图2 PSO流程图
接着进行适应度函数的建立,若要对于规模为N的种群进行性能分析[8],需要将目标函数F,转换为适应度函数F0,对于不满足要求的粒子将以惩罚,构造惩罚函数其中H为惩罚系数,取106。最终可以得到适应度函数F0=min(F+M)。
作为实例,设计曲柄滑块机构,使其连杆上的某个点实现如下表的位置。
对比粒子群算法与布谷鸟算法。粒子群算法所要优化的粒子位置如公式(9),设定求解参数如下:ω=0.7,c1,c2=2.0,最大迭代次数为 150,种群数量为250,N=13。布谷鸟算法最大迭代次数也为150。
使用粒子群算法在某次迭代的解取整可得到X=[100,176,123,87,128]。布谷鸟算法优化后的结果取整为X=[100,177,124,86,128]。
两种算法对应迭代过程如图3。可以看出粒子群算法大概在60次左右就趋于稳定,而布谷鸟算法在90次左右才找到最优解。
接着通过取整后的解重新构建曲柄滑块机构,配合使用Matlab软件对两种优化方法结果分别进行误差分析,采用三次插值样条曲线拟合后的横向误差和纵向误差分别如图4和5。
根据图4可知,采用布谷鸟算法所产生最大横向与纵向误差的绝对值分别为0.35 mm和0.53 mm,而使用粒子群算法所产生的最大横向和纵向误差绝对值分别为0.20 mm和0.09 mm,横向误差较前者降低了42.9%,纵向误差降低83.0%。
图3 两种算法进化过程
图4 横向误差仿真结果
由此,可以看出基于粒子群算法优化的曲柄滑块机构所产生的误差都相对较少,从而可以提高曲柄滑块机构运动精度。
通过数学建模,粒子群算法与布谷鸟算法对比,以及MATLAB软件对轨迹生成曲柄滑块机构所产生的误差进行仿真验证,可看出粒子群算法优化后产生的误差更小,较好地解决了轨迹再现型曲柄滑块机构的优化问题,所得的结果是符合实际误差要求的。
图5 纵向误差仿真结果