2. 上海外高桥造船有限公司,上海 200137
2. Shanghai Waigaoqiao Shipbuilding Co. Ltd., Shanghai 201804, China
机器人喷涂已广泛应用于汽车、船舶、航空航天等领域,但传统的“人工示教法”不仅费时而且需依赖操作者的经验,无法规划出最佳喷涂轨迹,也无法获得最佳喷涂效果.目前,离线编程已成为喷漆机器人最常用的编程方式[1].工件的喷涂质量与喷枪的轨迹有关,因此,喷枪轨迹优化已成为国内外喷涂机器人离线编程研究的热点[2].
近年来,国内外学者针对喷漆机器人喷枪轨迹优化问题进行了大量研究,并取得了一定成果.Andulkar等[3]提出一种新的增量式喷枪轨迹规划方法,以膜厚均匀为目标优化喷枪速度和轨迹叠加间距,但未考虑曲面曲率变化,曲率变化大时恒定的喷枪速度会导致膜厚均匀性较差.Yu等[4]分析轨迹叠加间距对漆膜厚度的影响,提出一种考虑曲面曲率变化的轨迹叠加间距优化方法.但该方法优化过程复杂,计算量大,不便于实际应用.Wang等[5]提出一种新的点云切片轨迹生成方法,改善了边界喷涂膜厚不均匀的情况,但未优化喷枪速度,膜厚均匀性仍然有待改善.缪东晶等[6]利用数控加工与喷涂过程的相似性,提出一种将数控加工刀具轨迹转化为喷涂轨迹的轨迹生成办法,并优化沿喷枪运动方向上的速度.但该方法未优化喷涂高度和叠加间距.曾勇等[7]研究大曲率直纹曲面,将曲面分片并用圆弧面进行最小二乘拟合,研究各圆弧面和分片交界处轨迹优化问题.该方法膜厚均匀性取决于圆弧面拟合精度,拟合误差大时将影响膜厚分布.李发忠等[8]研究凹凸结构的复杂曲面并优化喷枪轨迹,与匀速喷涂相比提高了膜厚的均匀性,但优化后的膜厚仍不均匀.Chen等[9-10]提出一种自动喷枪轨迹规划方法,在获得喷涂工件CAD模型、喷枪模型、喷涂约束条件和优化目标的基础上,将工件CAD模型分片,规划各片轨迹并将其连接获得最终喷枪轨迹.仿真表明在曲率较小曲面上喷涂效果较好,但当曲面较复杂时,该方法分片数量太多将加大轨迹规划难度.
综上所述,本文针对直纹曲面的喷枪轨迹多目标优化问题,以机器人平面喷漆实验数据为基础,建立直纹曲面漆膜厚度生长模型.将曲面以一定精度离散为点集,在喷涂方向上用三次B样条曲线拟合出初始喷枪轨迹,综合考虑喷枪速度、喷涂高度、轨迹叠加间距等因素,以喷涂质量和喷涂效率为目标建立喷枪轨迹优化模型,运用改进的快速非支配排序遗传算法(non-dominated sorting genetic algorithm, NSGA-Ⅱ)算法对模型进行优化求解,获得可行的喷枪轨迹优化方案.
1 问题描述以直纹曲面为研究对象,直纹曲面的定义为:一条直线在空间中运动所产生的曲面[11],如图 1所示.喷枪的轨迹与工件表面形状有关,在喷涂过程中喷枪轴线始终垂直于工件表面,喷枪以一定方向、高度、速度、轨迹叠加间距运动,直到完成喷涂.本文讨论的问题建立在直纹曲面模型已知的情况下,建立曲面漆膜厚度分布模型,规划初始喷枪轨迹,通过优化与轨迹相关的喷枪速度、喷涂高度、轨迹叠加间距等参数获得优化的喷枪轨迹,以达到喷涂质量好和喷涂效率高的目标,从而获得多种符合实际喷涂要求的喷枪轨迹最优解集,供喷涂工艺人员参考.直纹曲面喷枪轨迹多目标优化过程如图 2所示.
平面喷涂如图 3所示.其中h为喷涂高度,w为喷涂区域宽度,θ为喷枪喷嘴张角的一半.
常见的漆膜厚度分布模型有椭圆形分布模型、抛物线分布模型和β分布模型[12]等,其中β分布模型的一般表达式为[13]
$ {{\mathit{T}}_{\rm{1}}}\left( \mathit{x} \right)\rm{=}{{\mathit{T}}_{\rm{1max}}}{{\rm{(1-}\frac{\rm{4}{{\mathit{x}}^{\rm{2}}}}{{{\mathit{w}}^{\rm{2}}}}\rm{)}}^{\mathit{\beta -}\rm{1}}}\rm{, }\ \mathit{x}\in \left[\rm{-}\frac{\mathit{w}}{2}\rm{, }\frac{\mathit{w}}{2} \right] $ | (1) |
式中:T1(x)为喷涂范围内任意一点膜厚;T1max为膜厚最大值;w为喷涂区域宽度.β参数的存在使β分布模型具有灵活性.当T1max和w相同时,β取值不同将导致不同的分布.在平面上进行喷涂实验获得各点膜厚数据,当采用β分布模型拟合各点漆膜厚度分布时,T1max、w、β为3个需要拟合的参数,运用MATLAB遗传算法工具箱拟合得到T1max=135.8 μm,w=45 cm,β=3.8.拟合结果如图 4所示,拟合精度高,说明β模型与实际膜厚分布相符,因此,本文采用β分布作为平面上各点漆膜分布模型.
与平面漆膜厚度分布模型相对应的漆膜累积速率模型为
$ \mathit{q}\rm{(}\mathit{\dot{r}}\rm{)=}{{{\mathit{\dot{q}}}}_{\rm{max}}}{{\rm{(1-}\frac{\rm{4}{{\mathit{x}}^{\rm{2}}}}{{{\mathit{w}}^{\rm{2}}}}\rm{)}}^{\mathit{{\beta }'-}\rm{1}}}\rm{, }\mathit{r}\in \left[\rm{0, }\frac{\mathit{w}}{2} \right] $ | (2) |
式中:
将各参数带入后求得漆膜累积速率为
$ \mathit{q}\rm{(}\mathit{\dot{r}}\rm{)=108(1-}\frac{\rm{4}{{\mathit{r}}^{\rm{2}}}}{\rm{4}{{\rm{5}}^{\rm{2}}}}{{\rm{)}}^{\rm{2}\rm{.3}}}\rm{, }\mathit{r}\in \left[\rm{0, }22.5 \right] $ | (3) |
如图 5所示,P1为一参考平面;喷枪到P1的喷涂高度h取图 4对应喷漆实验时采用的高度400 mm;S为曲面上任意一点;n为曲面在S点处的法向量;P2为过S点的平面;hi为喷枪到P2的距离;θi为喷枪轴线与喷枪与S点连线的夹角;γi为曲面在S点处的法向量与喷枪与S点连线的夹角.
基于喷枪在同一时间段内喷射到P1平面上的油漆总量与喷射到任一曲面(与曲面曲率和喷涂高度无关)上的油漆量相同的假设,曲面上任一点S的漆膜厚度为[14]
$ {{\mathit{q}}_{\mathit{s}}}\rm{=}\left\{ \begin{align} & {{\mathit{q}}_{\rm{1}}}{{\left( \frac{\mathit{h}}{{{\mathit{l}}_{\mathit{i}}}} \right)}^{\rm{2}}}\frac{\rm{cos}\ {{\mathit{\gamma }}_{\mathit{i}}}}{\rm{co}{{\rm{s}}^{\rm{3}}}{{\mathit{\theta }}_{\mathit{i}}}}\rm{, }\ {{\mathit{\gamma }}_{\mathit{i}}}<\rm{9}{{\rm{0}}^{\circ }} \\ & \rm{0, }\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {{\mathit{\gamma }}_{\mathit{i}}}\ge \rm{9}{{\rm{0}}^{\circ }} \\ \end{align} \right. $ | (4) |
式中:qs为曲面上一点S的膜厚;q1为参考平面P1上与S点相对应的点S′的膜厚;li为喷枪到S点的距离,且满足hi=licos θi.
2.2 喷枪轨迹生成由于喷枪轴线始终与曲面保持垂直且喷涂高度恒定,所以喷枪可看成是在距曲面高度恒定的等距面上运动,而单道轨迹可看成是曲面上的曲线沿法线向外偏置一定距离形成.因此,喷枪轨迹生成过程如下,算法流程如图 6所示.
(1) 构造直纹曲面模型.
(2) 将曲面以一定精度离散为点集S{sj, 1≤j≤m},其中m为点的数量.
(3) 沿较长的一条边界获得边界上的一系列点,设置轨迹数i=1.
(4) 计算曲面在这些点处法向量,使法向量朝外并偏置一定喷涂高度h得到偏置点集,再用三次B样条拟合得到喷枪轨迹.
(5) 判断是否已喷涂完,若是则进入步骤(7),否则进入下一步.
(6) 通过轨迹叠加间距d得到第i=i+1条轨迹位置,返回步骤(4)继续生成轨迹.
(7) 考虑到曲面边界处的膜厚均匀性与减少涂料浪费,将每条轨迹沿轨迹末端切线方向向外延伸,延伸长度设置为w/2(w为喷涂宽度),结束轨迹规划,输出最终初始喷枪轨迹如图 7所示.
以上所给示例为规则边界的直纹曲面.而对于非规则边界的直纹曲面,如图 8所示, 曲面内部的轨迹规划方法与规则曲面相同.而对于边界区域,如图 9所示,可将非规则边界曲面看做是能够包含该边界的更大的规则边界曲面的一部分,将非规则边界直纹曲面轨迹规划问题转化为规则边界问题处理,再应用上述方法进行喷枪轨迹规划.
上述生成的喷枪轨迹只是一个初始轨迹轮廓,与轨迹相关的参数,如喷涂高度、轨迹叠加间距、喷涂速度等参数都未得到优化,生成的喷枪轨迹并不能用于指导实际喷涂.因此,需要以喷涂质量和效率为目标,通过优化以上轨迹参数来获得优化的喷枪轨迹.
由于直纹曲面的特殊性,每道轨迹的喷涂高度和速度,以及每两道轨迹间距取值相同,因此可以通过优化单道轨迹的喷涂高度h和速度v以及两道轨迹间叠加间距d获得整个曲面的优化轨迹.直纹曲面喷枪轨迹优化的一般步骤为:
(1) 以首条轨迹的喷涂质量和效率为目标优化喷涂高度h和速度v,从而获得第1道优化轨迹.
(2) 用同样的h和v进行第2道喷涂,以相邻两道轨迹间各点膜厚均匀和整体喷涂效率高为目标优化轨迹叠加间距d.
(3) 由上述优化得到的轨迹参数h,v和d获得优化的喷枪轨迹,完成直纹曲面喷涂.
2.3.2 多目标优化目标函数由上文可知,本文的喷枪轨迹优化目标为曲面喷涂质量好、喷涂效率高.轨迹优化目标函数建立方法如下:将曲面离散为点集S{sj, 1≤j≤m},q=[q1, q2,…,qj,…,qm]表示曲面上各点的膜厚,T为总喷涂时间,将单道轨迹分为k段,第i段路径长度为Δli(1≤i≤k),设在每段中喷涂速度vi不变,则在第i段路径上的喷涂时间为
$ \rm{ }\Delta\rm{ }{{\mathit{t}}_{\mathit{i}}}\rm{=}\frac{\rm{ }\Delta\rm{ }{{\mathit{l}}_{\mathit{i}}}}{{{\mathit{v}}_{\mathit{i}}}} $ | (5) |
则总喷涂时间T为n道轨迹喷涂时间总和,可用于评价喷涂效率.轨迹数量n又与曲面宽度W以及轨迹叠加间距d有关,因此,总喷涂时间T计算公式为
$ \mathit{T}\rm{=}\mathit{n}\sum{\rm{ }\Delta\rm{ }{{\mathit{t}}_{\mathit{i}}}}\rm{=ceil}\left( \frac{\mathit{W}}{\mathit{d}} \right)\sum\limits_{\mathit{i}=1}^{\mathit{k}}{\frac{\rm{ }\Delta\rm{ }{{\mathit{l}}_{\mathit{i}}}}{{{\mathit{v}}_{\mathit{i}}}}} $ | (6) |
式中:ceil函数表示向上取整.
对于曲面上任意一点sj,膜厚qj计算方法如下:
当喷枪处于第i(1≤i≤nk)段时,首先判断该点是否在喷涂范围内,若不在,则膜厚qj=0;若在,则对式(4)两边求导.
$ \frac{\rm{d}{{\mathit{q}}_{\mathit{j}}}}{\rm{d}\mathit{t}}\rm{=}\frac{\rm{d}{{\mathit{q}}_{\rm{1}}}}{\rm{d}\mathit{t}}{{\left( \frac{\mathit{h}}{{{\mathit{l}}_{\mathit{i}}}} \right)}^{\rm{2}}}\ \frac{\rm{cos}\ {{\mathit{\gamma }}_{\mathit{i}}}}{\rm{co}{{\rm{s}}^{\rm{3}}}{{\mathit{\theta }}_{\mathit{i}}}}\rm{=}\mathit{\dot{q}}\left( {{\mathit{r}}_{\mathit{i}}} \right){{\left( \frac{\mathit{h}}{{{\mathit{l}}_{\mathit{i}}}} \right)}^{\rm{2}}}\frac{\rm{cos}\ {{\mathit{\gamma }}_{\mathit{i}}}}{\rm{co}{{\rm{s}}^{\rm{3}}}{{\mathit{\theta }}_{\mathit{i}}}} $ | (7) |
式中:ri=htan θi,由于总共nk段路径每段长度Δli(1≤i≤k)长度较短,为简化计算,用直线段长度代替Δli的弧长,且设在第i段上θi和γi保持不变,则喷枪在第i段上时sj的膜厚qij为
$ \begin{align} & {{\mathit{q}}_{\mathit{ij}}}\rm{= }\mathit{\dot{q}}\left( {{\mathit{r}}_{\mathit{i}}} \right){{\left( \frac{\mathit{h}}{{{\mathit{l}}_{\mathit{i}}}} \right)}^{\rm{2}}}\frac{\rm{cos}\ {{\mathit{\gamma }}_{\mathit{i}}}}{\rm{co}{{\rm{s}}^{\rm{3}}}{{\mathit{\theta }}_{\mathit{i}}}}\rm{ } \Delta \rm{ }{{\mathit{t}}_{\mathit{i}}}\rm{=}\mathit{\dot{q}}\left( {{\mathit{r}}_{\mathit{i}}} \right){{\left( \frac{\mathit{h}}{{{\mathit{l}}_{\mathit{i}}}} \right)}^{\rm{2}}}\cdot \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \frac{\rm{cos}\ {{\mathit{\gamma }}_{\mathit{i}}}}{\rm{co}{{\rm{s}}^{\rm{3}}}{{\mathit{\theta }}_{\mathit{i}}}}\frac{\rm{ } \Delta \rm{ }{{\mathit{l}}_{\mathit{i}}}}{{{\mathit{v}}_{\mathit{i}}}} \\ \end{align} $ | (8) |
所以,sj的膜厚qj为喷枪在所有nk段路径上对该点膜厚贡献的总和,为
$ {{\mathit{q}}_{\mathit{j}}}\rm{=}\sum\limits_{\mathit{i}=1}^{\mathit{nk}}{\mathit{\dot{q}}\left( {{\mathit{r}}_{\mathit{i}}} \right){{\left( \frac{\mathit{h}}{{{\mathit{l}}_{\mathit{i}}}} \right)}^{\rm{2}}}}\frac{\rm{cos}\ {{\mathit{\gamma }}_{\mathit{i}}}}{\rm{co}{{\rm{s}}^{\rm{3}}}{{\mathit{\theta }}_{\mathit{i}}}}\frac{\rm{ } \Delta \rm{ }{{\mathit{l}}_{\mathit{i}}}}{{{\mathit{v}}_{\mathit{i}}}} $ | (9) |
喷涂质量指标可用喷涂区域间各点膜厚相对于期望膜厚的极限偏差来表示,也即
$ \underset{\mathit{d}\in \left[\rm{0, }\mathit{r} \right]}{\mathop{\mathit{E}}}\, \rm{=}\left| {{\mathit{q}}_{\rm{max}}}\rm{-}{{\mathit{q}}_{\rm{d}}} \right|\rm{+}\left| {{\mathit{q}}_{\rm{min}}}\rm{-}{{\mathit{q}}_{\rm{d}}} \right| $ | (10) |
式中:qd为期望膜厚;qmax为曲面上膜厚的最大值;qmin为膜厚的最小值.
综上,喷枪轨迹优化目标可表示为
$ \begin{align} & \rm{min}\ \mathit{L}\rm{=}\left( \mathit{E}\rm{, }\mathit{T} \right) \\ & \rm{s}\rm{.t}\rm{.}\ \ \ \left| {{\mathit{q}}_{\mathit{j}}}\rm{-}{{\mathit{q}}_{\rm{d}}} \right|\le {{\mathit{q}}_{\rm{e}}} \\ & \ \ \ \ \ \ \ \ \ \ \ \ {{\mathit{h}}_{\rm{min}}}\le \mathit{h}\le {{\mathit{h}}_{\rm{max}}} \\ & \ \ \ \ \ \ \ \ \ \ \ \ {{\mathit{v}}_{\rm{min}}}\le {{\mathit{v}}_{\mathit{i}}}\le {{\mathit{v}}_{\rm{max}}} \\ & \ \ \ \ \ \ \ \ \ \ \ \ {{\mathit{d}}_{\rm{min}}}\le \mathit{d}\le {{\mathit{d}}_{\rm{max}}} \\ \end{align} $ | (11) |
式中:qe为膜厚偏差最大值;hmin为喷涂高度的最小值;hmax为喷涂高度的最大值;dmin为叠加间距的最小值;dmax为叠加间距的最大值.
3 基于改进NSGA-Ⅱ算法的喷枪轨迹多目标优化模型求解由上述分析可知,直纹曲面喷枪轨迹优化是一个多目标优化问题.目前,多目标优化算法众多,具有代表性的有多目标粒子群算法(multi-objective particle swarm optimization, MOPSO)、多目标蚁群算法(multi-objective ant colony algorithm, MOACA)、NSGA-Ⅱ算法等.其中NSGA-Ⅱ算法由印度科学家Deb等[15]提出,采用不受支配机制进行排序, 首先按照个体的可支配性进行等级分类,然后计算目标空间上的每一点与同等级相邻两点之间的排挤距离,最后根据个体等级和排挤距离计算个体的适应度值[16].在问题空间搜索能力、解的分布和覆盖度等方面比其他多目标算法优越,被认为是目前比较成熟的MOGA(多目标遗传算法),已成功应用于许多工程优化设计问题[17].
3.1 编码采用实数编码方式,将多目标优化模型中的喷涂高度、喷涂速度、轨迹叠加间距在约束范围内生成随机染色体.
3.2 初始种群生成生成初始染色体时,随机生成染色体序列,计算相应的目标函数值,并判断是否满足式(11)中的约束条件,若不满足则需重新生成染色体.如此反复直至初始种群生成完毕.
3.3 快速非支配排序NSGA-Ⅱ算法中的快速非支配排序是依据个体的目标函数值对种群进行分层,具体步骤为:
(1) 首先找出种群中所有的非支配解集,记为第1非支配层,赋予其所有个体非支配序值为irank=1.
(2) 将第1支配层中的个体从种群中移除,继续找出剩余种群中的非支配解集,记为第2非支配层,赋予其所有个体非支配序值为irank=2.
(3) 如此反复,直至整个种群被完全分层.
3.4 拥挤距离计算拥挤距离概念的提出是为了解决同一非支配层内的个体选择性排序问题,选择拥挤度距离大的个体,有利于保持种群多样性.设某一非支配层内有n个个体,则对于第i个个体的拥挤距离id,计算公式为
$ {{\mathit{i}}_{\rm{d}}}\rm{=}\left\{ \begin{align} & \frac{\mathit{E}\left( \mathit{i}\rm{+1} \right)\rm{-}\mathit{E}\left( \mathit{i-}\rm{1} \right)}{{{\mathit{E}}_{\rm{max}}}\rm{-}{{\mathit{E}}_{\rm{min}}}}\rm{+} \\ & \ \ \ \ \ \ \ \ \ \frac{\mathit{T}\left( \mathit{i}\rm{+1} \right)\rm{-}\mathit{T}\left( \mathit{i-}\rm{1} \right)}{{{\mathit{T}}_{\rm{max}}}\rm{-}{{\mathit{T}}_{\rm{min}}}} \\ & \ \ \ \ \ \ \ \ \ \ \rm{ }\mathit{i}\in \left[\rm{2, }\mathit{n}\rm{-1} \right] \\ & \infty \ \ \ \ \ \ \ \ \mathit{i}\in \rm{1, }\mathit{n} \\ \end{align} \right. $ | (12) |
式中:E(i)和T(i)为第i个个体的两个目标函数值;Emax、Emin、Tmax、Tmin分别为该非支配层中两个目标函数的最大值和最小值.
3.5 遗传算子在进化算法中,遗传算子的设计是关键.NSGA-Ⅱ算法采用锦标赛选择策略,模拟二进制交叉策略[15].
变异算子影响着算法的局部搜索能力以及种群的多样性保持.针对NSGA-Ⅱ算法在保持种群多样性和局部搜索等方面的缺陷,本文基于NSGA-Ⅱ算法框架,引入差分变异算子取代多项式变异,并改进差分变异算子中的缩放因子的设置方法,改善种群多样性,加强局部搜索,避免陷入局部最优.
(1) 差分变异算子[18]
差分变异的基本原理是将一个差分向量加到一个基向量上去.对种群Pt中的每一个个体Pt,i,变异个体为vt,i,差分变异算子可表示为
$ {{\mathit{v}}_{\mathit{t}\rm{, }\mathit{i}}}\rm{=}{{\mathit{P}}_{\mathit{t}\rm{, }\mathit{i}}}\rm{+}{{\mathit{F}}_{\rm{1}}}\rm{(}{{\mathit{P}}_{\mathit{t}\rm{, }\mathit{j}}}\rm{-}{{\mathit{P}}_{\mathit{t}\rm{, }\mathit{k}}}\rm{)+}{{\mathit{F}}_{\rm{2}}}\rm{(}{{\mathit{P}}_{\mathit{t}\rm{, }\mathit{m}}}\rm{-}{{\mathit{P}}_{\mathit{t}\rm{, }\mathit{n}}}\rm{)} $ | (13) |
式中:Pt,i、Pt,j、Pt,k、Pt,m、Pt,n为种群Pt中互不相同的个体,相比于多项式变异,增加了种群多样性;F1、F2为两个不确定的缩放因子,限定区间为[0, 1].
(2) 改进的缩放因子的设置[19]
缩放因子F1、F2通常由人为设定,固定的缩放因子削弱了算法的搜索和寻优能力.因此提出一种新的缩放因子的设置方法,可根据进化代数不断调整.F1、F2设置方法如下:
$ \begin{align} & {{\mathit{F}}_{\rm{1}}}\rm{=}{{\mathit{F}}_{\rm{max}}}\rm{-(}{{\mathit{F}}_{\rm{max}}}\rm{-}{{\mathit{F}}_{\rm{min}}}\rm{)}\frac{\mathit{t}}{{{\mathit{M}}_{\rm{g}}}} \\ & {{\mathit{F}}_{\rm{2}}}\rm{=}{{\mathit{F}}_{\rm{max}}}\rm{+(}{{\mathit{F}}_{\rm{max}}}\rm{-}{{\mathit{F}}_{\rm{min}}}\rm{)}\frac{\mathit{t}}{{{\mathit{M}}_{\rm{g}}}} \\ \end{align} $ | (14) |
式中:Fmax和Fmin为最大和最小缩放因子;t为当前进化代数;Mg为最大进化代数.从公式(13)可以看出,随着算法的进化,F1不断减小,F2不断增大.因此,在算法进化前期,较大的F1和F2使得变异算子差分向量变化较大,从而提高了算法搜索能力,有利于种群多样性的保持.算法进化后期,不断减小的F2又加强了算法局部寻优能力.因此,不断变化的F1和F2有利于算法兼顾保持种群多样性与局部搜索能力.
改进NSGA-Ⅱ算法实现过程如图 10所示.
本文所提喷枪轨迹优化方法分3部分实现.
第1部分:首先以第1条轨迹上喷枪各点对应的曲面上各点组成的点集为优化对象,以式(11)中min L=(E, T)为优化目标,用改进NSGA-Ⅱ算法优化第1条轨迹的喷涂高度h和速度vi.
算法具体优化步骤如下:
(1) 以实数编码的方式对h和vi编码,产生初始种群P0.设置种群规模为N,当前代数t=0,最大遗传代数为Mg.
(2) 以式(11)计算P0中个体的两个目标函数值,其中表征喷涂质量的目标E为h、d和vi的函数,可通过式(9)、(10)计算获得; 表征喷涂效率的目标T为vi和d的函数,可通过式(6)计算获得.计算时由于是第1条轨迹,故取式(6)中表征轨迹数量的n=1,则E为h和vi的函数,T为vi的函数.
(3) 依据每个个体计算获得的两个目标函数值对Pt进行非支配排序、二元锦标赛选择、二进制交叉和差分变异等遗传操作,产生种群规模也为N的第1代子种群Qt.
(4) 将Pt和Qt合并为种群Rt,并进行快速非支配排序.对每个非支配层中的个体进行拥挤度计算,根据非支配关系以及个体的拥挤度选取合适的个体组成新的父代种群Pt+1,种群规模为N.
(5) 如果t<Mg,t=t+1,Pt+1通过遗传操作产生新的子代种群Qt+1,进入第(4)步;否则将Pt+1中的非支配个体输出.非支配个体中包含E和T的最优非劣解集以及与其相对应的种群Pt+1,即h和vi的解集.
第2部分:以相邻两道轨迹间各点组成的点集为优化对象,以min L=(E, T)为优化目标,运用改进NSGA-Ⅱ算法优化轨迹叠加间距d.此时的喷涂高度h和速度vi采用第1部分的优化解集,故此时E和T只为d的函数,只有d为优化变量,具体优化步骤同上,从而得到d的解集.
第3部分:根据优化所得h、vi和d的解集,工艺人员可根据实际条件选取合适的h、vi和d,从而获得优化的喷枪轨迹供参考.
4 仿真实例验证 4.1 实例描述现代汽车与船舶制造中,存在大量的直纹曲面,以国内某船厂内的一个船舱分段表面为例,验证本文所提直纹曲面喷枪轨迹多目标优化模型和算法的有效性.分段表面如图 11所示,其直纹曲面模型如图 12所示.
经过企业推荐,设置期望膜厚qd=100 μm,漆膜厚度的最大误差为±10 μm,喷涂时间小于10 s.轨迹叠加间距取值范围100 mm<d<400 mm,喷涂高度取值范围200 mm<h<500 mm,喷枪速度取值范围100 mm·s-1<v<800 mm·s-1.改进的NSGA-Ⅱ算法参数为:种群规模N=40,最大遗传代数Mg= 80.交叉率pc取为0.9,变异率pm取为0.05.
4.3 结果分析采用以上参数,通过改进的NSGA-Ⅱ算法对喷枪轨迹多目标优化模型进行求解,根据NSGA-Ⅱ算法的快速非劣排序策略和同一非支配层中各个个体的拥挤距离计算策略,个体的非支配序值irank越小,同一非支配层中个体的拥挤距离越大,则该个体越优秀.因此选取第一非劣层中拥挤距离最大的5个个体,得到了表 1中的5组轨迹优化方案.其中喷枪速度在沿喷枪运动方向上变化如图 13所示.
表 1给出了5种不同的轨迹优化方案,可以看出,从方案1到方案5,随着膜厚均匀性的降低,喷涂效率相应提高.但5种方案都符合喷涂质量和效率方面的要求,验证了本文所提喷枪轨迹多目标优化模型的有效性.喷涂作业时可根据实际需要对轨迹优化方案进行选择,用于指导实际喷涂.
图 14和图 15所示为本文所采用的改进NSGA-Ⅱ算法和3种现有的多目标优化算法在同样参数下优化第1道轨迹时得到的Pareto最优解集.可以看出,相比于标准NSGA-Ⅱ算法和多目标粒子群算法以及多目标蚁群算法,改进算法所得最优解集中解的多样性更丰富,Pareto曲线解的分布更为均匀而不拥挤,验证了改进算法优化的优越性.
在船舶工业喷涂中,漆膜厚度均匀即喷涂质量高,可提高船舶的抗海水腐蚀性能,并提高涂料利用率.
分别选取几种算法Pareto最优解集中喷涂质量最优的一组解对比,结果如表 2所示.可以看出,改进算法优化所得喷涂质量更好,即曲面上各点膜厚更均匀,从而验证了改进算法的实用效果更好.
由此可见,本文喷枪轨迹多目标优化方法具有如下优点:
(1) 模型有效性.从表 1可以看出,所选5种轨迹优化方案皆符合实际喷涂要求;验证了本文所提喷枪轨迹多目标优化模型是有效的.
(2) 算法优越性.从图 15中改进算法与标准算法所得Pareto最优解集对比来看,本文所提算法明显改善了解的多样性与分布均匀性,避免陷入局部最优.
(3) 实用性.本文轨迹多目标优化模型提供了多种优化的轨迹方案,在实际机器人喷涂时可供作业人员参考.
5 结论本文针对直纹曲面上的喷枪轨迹多目标优化问题,由机器人喷漆实验获取平面各点膜厚数据,并拟合平面漆膜厚度的β分布模型,从而建立了曲面漆膜厚度生长模型.在构造直纹曲面模型的基础上,将曲面离散为点集,采用三次B样条曲线拟合生成初始喷枪轨迹.以曲面漆膜厚度均匀和喷涂效率高为目标,通过改进NSGA-Ⅱ算法,将差分变异算子代替多项式变异算子,从而改善了种群多样性并加强算法局部搜索能力,获得了直纹曲面上的最优化喷枪轨迹.最后以国内某船厂船舶分段表面为例进行喷枪轨迹的多目标优化,仿真实验结果表明取得了较好的喷涂效果,验证了该优化模型的有效性和实用性.
[1] |
汤养. 基于Bezier曲线曲面的自动喷涂轨迹优化研究[D]. 镇江: 江苏大学, 2014. TANG Yang. Automatic spraying painting trajectory optimization based on Bezier curves and surfaces[D]. Zhenjiang: Jiangsu University, 2014. http://cdmd.cnki.com.cn/Article/CDMD-10299-1015551873.htm |
[2] |
李翠明, 龚俊, 牛万才, 等. 基于改进隶属云模型蚁群算法的喷涂机器人喷枪轨迹组合优化[J]. 上海交通大学学报, 2015, 49(3): 387 LI Cuiming, GONG Jun, NIU Wancai, et al. Combinatorial optimization of spray painting robot tool trajectory based on improved membership cloud models ant colony algorithm[J]. Journal of Shanghai Jiaotong University, 2015, 49(3): 387 |
[3] |
Andulkar M V, Chiddarwar S S, Marathe A S. Novel integrated offline trajectory generation approach for robot assisted spray painting operation[J]. Journal of Manufacturing Systems, 2015, 37: 201 DOI:10.1016/j.jmsy.2015.03.006 |
[4] |
YU Q, WANG G, CHEN K. A robotic spraying path generation algorithm for free-form surface based on constant coating overlapping width[C]//Proceedings of the 5th Annual IEEE International Conference on Cyber Technology in Automation, Control, and Intelligent Systems. Shenyang: IEEE, 2015: 1045-1049.
|
[5] |
WANG G, CHENG J, LI R, et al. A new point cloud slicing based path planning algorithm for robotic spray painting[C]// Proceedings of the 2015 IEEE International Conference on Robotics and Biomimetics. Zhuhai: IEEE, 2015: 1717-1722.
|
[6] |
缪东晶, 王国磊, 吴聊, 等. 自由曲面均匀喷涂的机器人轨迹规划方法[J]. 清华大学学报(自然科学版), 2013, 53(10): 1418 MIAO Dongjing, WANG Guolei, WU Liao, et al. Trajectory planning for freeform surface uniform spraying[J]. Journal of Tsinghua University(Science and Technology), 2013, 53(10): 1418 |
[7] |
曾勇, 龚俊, 陆保印. 面向直纹曲面的喷涂机器人喷枪轨迹优化[J]. 中国机械工程, 2010, 21(17): 2083 ZENG Yong, GONG Jun, LU Baoyin. Trajectory optimization of spray painting robot for ruled surfaces[J]. China Mechanical Engineering, 2010, 21(17): 2083 |
[8] |
李发忠, 赵德安, 姬伟, 等. 面向凹凸结构曲面的喷漆机器人轨迹优化研究[J]. 江苏科技大学学报(自然科学版), 2008, 22(4): 64 LI Fazhong, ZHAO Dean, JI Wei, et al. Trajectory optimization of spray painting robot for concavo-convex surfaces[J]. Journal of Jiangsu University of Science and Technology (Natural Science), 2008, 22(4): 64 |
[9] |
CHEN H, XI N, SHENG W, et al. General framework of optimal tool trajectory planning for free-form surfaces in surface manufacturing[J]. Journal of Manufacturing Science and Engineering, 2005, 127(1): 49 DOI:10.1115/1.1828057 |
[10] |
CHEN H, XI N. Automated tool trajectory planning of industrial robots for painting composite surfaces[J]. The International Journal of Advanced Manufacturing Technology, 2008, 35(7/8): 680 |
[11] |
陈维桓. 微分几何[M]. 北京: 北京大学出版社, 2006 CHEN Weihuan. Differential geometry[M]. Beijing: Peking University Press, 2006 |
[12] |
陈雁, 邵君奕, 张传清, 等. 喷涂机器人自动轨迹规划研究进展与展望[J]. 机械设计与制造, 2010, 2: 149 CHEN Yan, SHAO Junyi, ZHANG Chuanqing, et al. Development and prospects of research on automatic trajectory planning for painting robot[J]. Machinery Design & Manufacturing, 2010, 2: 149 |
[13] |
ARIKAN S, BALKAN T. Process modeling, simulation, and paint thickness measurement for robotic spray painting[J]. Journal of Robotic Systems, 2000, 17(9): 479 DOI:10.1002/(ISSN)1097-4563 |
[14] |
陈伟, 赵德安, 汤养. 自由曲面喷漆机器人喷枪轨迹优化[J]. 农业机械学报, 2008, 39(1): 147 CHEN Wei, ZHAO Dean, TANG Yang. Trajectory optimization on robotic spray painting of free-form surfaces[J]. Transactions of the Chinese Society of Agricultural Machinery, 2008, 39(1): 147 |
[15] |
DEB K, PRATAP A, AGARWAL S, et al. A fast and elitist multiobjective genetic algorithm: NSGA-Ⅱ[J]. IEEE Transactions on Evolutionary Computation, 2002, 6(2): 182 DOI:10.1109/4235.996017 |
[16] |
魏巍, 谭建荣, 冯毅雄, 等. 基于改进的非支配排序遗传算法的模块化产品多目标配置优化研究[J]. 计算机集成制造系统, 2007, 13(11): 2092 WEI Wei, TAN Jianrong, FENG Yixiong, et al. Multi-objective configuration optimization of modularized product based on NSGA-Ⅱ[J]. Computer Integrated Manufacturing Systems, 2007, 13(11): 2092 |
[17] |
杨涛, 杨育, 张东东. 考虑客户需求偏好的产品创新概念设计方案生成[J]. 计算机集成制造系统, 2015, 21(4): 875 YANG Tao, YANG Yu, ZHANG Dongdong. Generation of product innovation conceptual design schemes for considering the demand preferences of customers[J]. Computer Integrated Manufacturing Systems, 2015, 21(4): 875 |
[18] |
徐斌. 基于差分进化算法的多目标优化方法研究与应用[D]. 上海: 华东理工大学, 2013. XU Bin, Research and application of multi-objective optimization algorithms based on differential evolution[D]. Shanghai: East China University of Science and Technology, 2013. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=Y2270994 |
[19] |
魏静. 基于改进NSGA2算法的给水管网多目标优化设计[D]. 北京: 北京工业大学, 2016. WEI Jing. Multi-objective optimal design of water supply systems via improved NSGA2 algorithm[D]. Beijing: Beijing University of Technology, 2016. http://cdmd.cnki.com.cn/Article/CDMD-10005-1016785541.htm |