雒卫廷
(吕梁学院 物理系,山西 吕梁 033000)
可靠性是机械产品关键技术指标之一,其贯穿于产品设计、研制、维修保养的各个环节。机械可靠性优化设计能够有效提高产品质量、降低生产成本,对提高机械产品竞争力意义重大[1]。
在工程设计中,若设计参数或变量具有随机性,或约束条件中包含概率约束,则成为可靠性优化设计。文献[2-3]使用分布协同响应面法建立了4种装配结构可靠性优化模型,并验证了此方法可行性与使用条件;文献[4]提出了可靠性优化设计的均值-概率分解协调结合法,并将其应用于柔性机械臂优化设计中;文献[5]基于各研究对象的响应协同关系,建立了分布协同响应面模型,以航空发动机可靠性为例验证了方法可行性;文献[6]提出多重响应面的可靠性分析方法,并将其应用于高压涡轮叶间间隙的可靠性灵敏度分析。以上方法在一定程度上优化了机械结构,但是响应面模型都是基于二次多项式函数建立,可靠性分析结果受多项式拟合精度影响,使机械可靠性优化效率降低。
本文在研究极值响应法基础上,鉴于BP神经网络对任意函数的无限极逼近能力,提出极值响应法与BP神经网络结合的智能极值响应法。使用智能极值响应建立了机械臂可靠性优化设计模型,使用分阶层粒子群算法进行求解,减小了机械臂连杆横截面积,节省了制造材料。
可靠性分析是可靠性优化设计的基础,提出有效的可靠性计算方法,才能在可靠性优化设计中建立可靠性约束条件。柔性机械臂动力学方程具有严重的非线性、强耦合、时变等特点,可靠性分析极限状态方程没有解析形式。为了解决这一问题,提出了智能极值响应的可靠性分析方法。
双连杆柔性机械臂主要失效模式为机械臂变形过大引起的失效,因此本文对变形做可靠新分析。双连杆柔性机械臂简易结构如图1所示,设定两连杆为均质欧拉梁,图中m1、m2分别为连杆1、2端点质量,θ1、θ2分别为两连杆旋转角,τ1、τ2分别为两连杆加载力矩。为了方便描述弹性形变量,分别建立连杆1和连杆2局部坐标系如图1所示。
图1 双连杆柔性机械臂
使用组合分析法建立机械臂弹性形变模型,连杆的形状变形为:
(1)
式中,x为局部坐标系坐标,l为连杆长度。
连杆的弹性形变量随时间而变化,记连杆1与连杆2在局部坐标系中的弹性形变量分别为y1(t,x1)、y2(t,x2),则
(2)
式中,gi(t)为连杆1的第i个弹性坐标,ui(t)为连杆2的第i个弹性坐标,弹性坐标gi(t)、ui(t)由动力学方程解得,记q(t)=[θ1(t),g1(t),g2(t),θ2(t),u1(t),u2(t)]T,由拉格朗日方程得动力学方程为:
(3)
式中,Qk为总合成力矩,M为质量矩阵,K刚度矩阵,Ug为系统重力势能。
设定优化量为随机变量,符合正态分布,使用蒙特卡洛法进行抽样,将抽样输入到式(3)给出的动力学方程,得到柔性机械臂在[0,T]时域内的挠度响应。
图2 极值响应面
当前一般使用二次多项式函数拟合极值响应面函数,但是二次多项式拟合精度有限,使计算精度难以满足要求。鉴于BP神经网络对连续非线性函数的无限逼近能力[7],本文提出BP神经网络拟合极值响应面函数法,将这种由智能算法和极值响应面相结合的方法称为智能极值响应面法。
BP神经网络由输入层、隐含层、输出层组成,每层含有若干个神经元[8],隐含层可以为多层,本文使用最简单的三层BP神经网络结构拟合极值响应面函数,如图3所示。
图3 三层BP神经网络结构
BP神经网络的信号传递包括工作信号的正向传播和误差信号的反向传播。记X=(x1,x2,…,xn)为神经网络的输入信号,Y为神经网络的期望输出,O为实际输出,wij为从输入层神经元i到隐含层神经元j的传递权值,隐含层节点阈值为θj;vj为从隐含层神经元j到输出层神经元的传递权值,输出层神经元阈值为r;输入层到隐含层传递函数记为f1(x);隐含层到输出层传递函数记为f2(x),则神经网络输入与输出表达式为:
(4)
式中,n为输入层节点数,m为隐含层节点数。
用于神经网络训练的样本数量记为N,则神经网络全局误差为:
(5)
按照BP算法的梯度下降原则,利用误差的反向传播,不断调整权值和阈值,使神经网络全局误差达到最小。训练完毕的BP神经网络即为智能极值响应面函数。
记柔性机械臂的第i个连杆的许用挠度为RYi,服从RYi~N(μRYi,σRYu)的正态分布,由智能极值响应函数输出第i个连杆的挠度响应为yi,对Zi=RYi-yi做标准化变换,得:
(6)
式中,μRYi为连杆i的许用挠度均值,由设计标准确定,σRYi为许用挠度标准差,由测量误差确定;μYi为连杆i挠度响应均值,σYi为连杆i挠度响应方差。
则连杆i的刚度可靠性为:
(7)
进行机械结构设计时,一般提出机械系统可靠性,需要依据系统可靠性设计各构件可靠性。对于含有n个连杆的柔性机械臂系统,按照等可靠性原则,得到每一连杆的给定可靠性为:
式中,PY为给定的机械臂系统可靠度,PYi′为由等可靠性原则计算出的连杆可靠度。则进行可靠性设计时,可靠性约束可描述为Pyi>PYi′。
机械可靠性优化设计在满足机械系统可靠度前提下,达到减少用料的目的。机械系统中可选优化变量较多,其中一些变量对可靠性影响很小,不具备优化潜力,因此选择对可靠性灵敏度较大的变量作为优化量。
灵敏度反应了不同输入随机变量的变化对机械失效概率的影响,文献[9]使用MC数字模拟法计算失效概率,为:
(8)
式中,Pf为机械失效概率,μg为极限状态函数均值矩阵,Dg为极限状态函数方差矩阵,Φ(·)为标准正太分布函数。
第i个输入随机变量灵敏度定义为失效概率Pf对此输入变量均值μi的偏导,即:
(9)
式中,μi为第i各输入变量均值,E(·)表示取均值,μij表示第i个随机变量的第j个取值,σi为第i个随机变量方差,λ(·)函数定义为:
式中,[y]为许用变形量。
初步选择连杆密度、弹性模量、截面长、街面宽为优化量,计算各优化量的灵敏度,结果显示横截面的长与宽对连杆可靠性影响最大,达到了99.9%以上,因此选择连杆截面长与宽作为优化量。
以连杆横截面积最小为优化目标,将横截面的长宽比固定为4,则建立柔性机械臂可靠性优化设计模型为:
(10)
式中,hi、bi分别为连杆i的长与宽。约束条件第一式为可靠性约束,第二式为长宽等式约束,第3式和第4式为截面宽的上下限约束。
为了求解双连杆机械臂的可靠性设计模型,提出了分阶层粒子群算法。对于双连杆柔性机械臂,优化量为每个连杆的截面长与宽,由于将连杆横截面的长宽比固定为4,所以优化量为2维,即粒子位置编码为2维。
在传统粒子群算法基础上,依据粒子适应度划分阶层。记粒子种群规模为M,算法迭代一次后全体粒子按照适应度由大到小排序为{z1,z2,…,zM},记重新排序后第i个粒子的序列号为NXi,则粒子分阶层与各阶层速度更新方法为:
(11)
(12)
式中,c2为种群学习因子,r2为(0,1)间的随机数,gj为全局最优粒子在第j维上的位置。
(13)
(4)算法迭代过程中,粒子群容易失去种群多样性而陷入局部极值,为了解决这一问题,在速度更新中引入随机扰动速度,帮助粒子跳出局部极值。粒子间距标准差为:
(14)
将以上4点改进嵌入到传统粒子群算法中,得到分阶层粒子群算法。
柔性机械臂许用挠度均值设置为0.018m,方差为0.00036m;机械臂系统的可靠度要求为不小于0.953。分阶层粒子群算法参数为:粒子维度为2,种群规模设置为40,算法最大迭代次数为100。验证实验分为两个部分,一是验证智能极值响应面法优于二次多项式极值响应面,二是验证分阶层粒子群算法解算结果优于传统粒子群算法。
为了对比智能极值响应法与二次多项式极值响应法应用于可靠性优化设计的性能,分别使用智能极值响应法与二次多项式响应法计算机械可靠度,使用分阶层粒子群算法进行模型求解,双连杆机械臂传统设计尺寸为优化初值。优化结果如表1所示。
表1 不同方法优化结果
由表1可以看出,智能极值面可靠性设计方法使构件截面积减少了2.5%,而二次多项式极值面方法使构件截面积减少了0.21%,这是因为智能极值面方法中,BP神经网络的无限逼近和拟合能力,使可靠性计算精度更高,设计时可以考虑的优化空间更大。
为了验证分阶层粒子群算法与传统算法对可靠性优化设计模型的求解精度,分别使用两种算法对模型求解100次,最优粒子的目标函数变化过程如图4所示。
(a) 分阶层粒子群算法优化结果
(b) 传统粒子群算法优化结果 图4 两种粒子群算法优化结果
经计算,使用分阶层粒子群算法优化后截面总面积为1267.42mm2,使构件面积减小了2.5%,传统粒子群算法优化后截面总面积为1269.72mm2,使构件面积减小了2.3%。说明分阶层粒子群算法优化结果更好,这是因为分阶层粒子群算法针对不同粒子特点给出了不同的速度更新方法,速度更新方法更加科学,另外分阶层粒子群算法给出了跳出局部极值的评判标准和方法,可以使此算法及时跳出局部极值陷阱。
本文研究了柔性机械臂可靠性优化设计问题,经过分析和结果验证 ,可以得出以下结论:①智能极值响应法能够精确计算机械可靠性,为机械可靠性优化设计提供更大的优化空间;②分阶层粒子群算法按照不同粒子特点制定不同的速度更新方法,可以提高算法寻优精度。