本发明涉及机器人喷涂复杂工件过程中,一种机器人离线编程系统中能够使用的复杂曲面自动喷涂轨迹优化方法。
背景技术:
在实际工业生产中,会遇到各种各样表面形状复杂多变的工件,对其进行喷涂时工件表面曲率变化都比较大。在这种复杂曲面上的喷涂轨迹优化工作中,现有的方法基本步骤如下:
(1)在获取工件表面cad数据后直接对曲面进行三角划分,使用相应的方法对曲面进行造型;
(2)按照曲面拓扑结构对复杂曲面进行分片后,将每一片近似看成平面,再在每一片上进行喷涂轨迹优化;
(3)对片与片交界处的喷涂轨迹进行优化,具体需要根据每两片上的喷涂路径的几何位置关系分三种情况来优化:即平行-平行、平行-垂直、垂直-垂直;
(4)将每一片上的喷涂轨迹进行优化组合,具体可以采用蚁群算法或遗传算法等。
总体来说,这样的复杂曲面上的喷涂轨迹优化方法基本上可以满足喷涂需要。但是,该方法执行步骤较多,且在实际过程中需要经过片上的轨迹优化、每两片交界处的喷涂轨迹优化、每一片上的喷涂轨迹优化组合等三次优化工作,操作较为麻烦且会耗费大量系统时间,效率偏低。另外,当复杂曲面面积较大或分片较多时,该方法会出现以下两个严重问题:
(1)在对片与片交界处的喷涂轨迹进行优化之后,需要将片与片交界处的喷涂优化轨迹进行合并,这个过程中误差会较大,会使得片与片交界处的涂层厚度均匀性变差,且耗费大量系统执行时间;
(2)分片较多时,在将每一片上的喷涂轨迹进行优化组合过程中,种群规模会增大,这种情况下使用遗传算法或蚁群算法收敛速度较慢,且算法易陷入不同的局部最优域,导致喷涂效果变差,喷涂效率降低。
随着计算机应用技术的发展,bézier方法在cagd和机械设计与制造中已经是较成熟的技术,但在喷涂工件曲面轨迹优化中的应用仍是空白。因此,本发明提出了一种新的基于bézier方法的复杂曲面喷涂轨迹优化方法。该方法最大的优点就是不需要对复杂曲面进行分片,而是充分利用了指数平均bézier曲线所特有的灵活的调控性质先对喷涂空间路径进行规划。不仅增加了优化过程中的灵活性和“柔性”,而且大大简化了复杂曲面上喷涂作业的步骤,满足了喷涂效果的同时提高了效率。
技术实现要素:
本发明是为了解决机器人在复杂曲面上的喷涂轨迹优化操作麻烦、耗费大量系统时间,喷涂效果差,喷涂效率低等问题,提出一种复杂曲面自动喷涂轨迹优化方法,该方法不仅增加了优化过程中的灵活性和“柔性”,而且大大简化了复杂曲面上喷涂作业的步骤,满足了喷涂效果的同时提高了效率。在机器人喷涂轨迹优化领域将会有很好的发展和应用前景。
本发明的目的通过以下技术方案予以实现:
1、一种复杂曲面自动喷涂轨迹优化方法,包括以下步骤:
第一步,bézier曲面等距面离散点列计算。
设bézier参数曲面为s(u,v)=(x(u,v),y(u,v),z(u,v)),简记为s=s(u,v),参数定义域为[u0,un]×[v0,vm]。等距面的离散点列具体计算步骤如下:
(1)初始化δu0、δv0、控制精度参数δ,经i步计算后,得到曲面上的点坐标s(ui,vj),法矢n(ui,vj)以及对应的等距面上的点s0(ui,vj)。
(2)计算等距面上的新点s0(ui+δu,vj)。
(3)分析弦s0(ui,vj)s0(ui+δu,vj)逼近相应曲线的误差ε的值,若ε<δ,则取δu为1.312×δu,否则δu为0.618×δu,且ui+1=ui+δu;若ui<un,转入第2步,否则进入下一步。
(4)如果vj>vm,计算结束;如果vj≤vm,则ui的可取值范围内均匀采样点u0,u1,u2,u3,u4,令u4=un;计算用弦s0(uk,vj)s0(uk+δu,vj+δv)逼近相应曲线的误差ε,k=0,1,…,4;若ε>δ,取δv为0.618×δv,重复本步工作;若ε<δ,则转入(5)。
(5)对采样点u0,u1,u2,u3,u4排序并找出最大误差εmax及其左右两点εmax-1和εmax+1,这三点形成单峰区域,求出极大值所处的
第二步,基于指数平均bézier曲线的喷涂空间路径生成方法。
在获得bézier曲面等距面上的离散点列后,以u向为例,用cardinal3次样条曲线连接这些离散点列,然后用hermite样条连接相邻两段曲线。然而,由于研究的复杂曲面往往曲率变化比较大,而cardinal样条以及hermite样条本身的参数多项式表达式的形式就决定了其局部调控性比较差,因此采用了能够克服这些缺点的带参数s指数平均bézier曲线。将离散点列(u向或v向)看成实验数据点列,用一条指数平均的bézier曲线拟合这些数据点,然后再反求曲线的控制顶点,从而生成喷涂空间路径。下面以一阶(s=1)指数平均bézier曲线为例说明。
以u向为例,将离散点列表示成数据点集合:
pi(i=0,1,l,m)
求一条指数平均bézier曲线
拟合这些数据点,此时控制顶点vi待定,下面采用常用的最小二乘逼近方法求该曲线。
首先,对pi(i=0,1,l,m)进行参数化。采用规范积累弦长参数化[决定参数序列:0=t0<t1<l<tm=1,于是有:
问题就变成求解方程组的最小二乘解。这可由求解如下正则化方程给出:
其中,
实际问题中,常常希望v0=p0,vn=pm,即曲线两端点与数据点的首末点重合。这时上述方程就变为如下方程组:
则它的最小二乘解vj(i=1,2,l,n-1)连同两端点p0,pm,组成曲线的控制顶点。
下面采用beta约束公式求相邻两段曲线段光滑拼接的条件。设左侧曲线l-(t)的控制顶点为
l+(0)=l-(1)
l′+(0)=β1l′-(1)
l″+(0)=β2l′-(1)+β12l″-(1)
通过求l(t)的导数,可知上述条件可变为:
即:
即:
至此,相邻两段光滑拼接后得到的曲线即为指定的喷涂空间路径。
第三步、一种新的简单的复杂曲面上喷涂轨迹优化算法。
当末端执行器在一个特定位置时,曲面上某一点(x,y,h(x,y))处的喷涂轨迹及位置向量p(t)可以表示为fs(p(t),x,y)u(t)。其中,fs(p(t),x,y)为喷涂轨迹,u(t)为涂料流量,且u(t)是随末端执行器的移动而变化的,而喷涂轨迹fs(p(t),x,y)由末端执行器与曲面的距离以及它在空间的位置所确定。对于确定喷嘴的轨迹和位置的向量p(t)以及流量u(t),可以选择实际涂料分布和实际的涂层分布厚度两者之间的差值最小作为优化目标函数。若是在喷涂过程中末端执行器移动速度保持不变,而涂料流量可以调整,这里可采用数学规划中的黄金分割法即可求解出喷涂轨迹上离散点,从而可得到复杂曲面上的优化轨迹。
与现有技术相比,本发明的有益效果是:bézier曲线轨迹优化方法不需要对复杂曲面进行分片,增加了优化过程中的灵活性和“柔性”,而且大大简化了复杂曲面上喷涂作业的步骤,满足了喷涂效果的同时提高喷涂机器人工作效率和产品品质。
附图说明
图1喷涂系统模型示意图。
具体实施方式
下面结合附图和实施方式对本发明进一步说明。
1、bézier曲面等距面离散点列计算
第一步,设bézier参数曲面为s(u,v)=(x(u,v),y(u,v),z(u,v)),简记为s=s(u,v),参数定义域为[u0,un]×[v0,vm]。如果在u、v方向的偏导数记为
s0(u,v)=s(u,v)±h·n(u,v)
式中h为bézier参数曲面等距面的偏移量,取正号时偏移方向为曲面外侧,取负号时偏移方向为曲面内侧。
第二步,初始化δu0、δv0、控制精度参数δ,经i步计算后,得到曲面上的点坐标s(ui,vj),法矢n(ui,vj)以及对应的等距面上的点s0(ui,vj)。
第三步,计算等距面上的新点s0(ui+δu,vj)。
第四步,分析弦s0(ui,vj)s0(ui+δu,vj)逼近相应曲线的误差ε的值,若ε<δ,则取δu为1.312×δu,否则δu为0.618×δu,且ui+1=ui+δu;若ui<un,转入第三步,否则进入下一步。
第五步,如果vj>vm,计算结束;如果vj≤vm,则ui的可取值范围内均匀采样点u0,u1,u2,u3,u4,令u4=un;计算用弦s0(uk,vj)s0(uk+δu,vj+δv)逼近相应曲线的误差ε,k=0,1,…,4;若ε>δ,取δv为0.618×δv,重复本步工作;若ε<δ,则转入第六步。
第六步,对采样点u0,u1,u2,u3,u4排序并找出最大误差εmax及其左右两点εmax-1和εmax+1,这三点形成单峰区域,求出极大值所处的
2、生成基于指数平均bézier曲线的喷涂空间路径
在获得bézier曲面等距面上的离散点列后,以u向为例,用cardinal3次样条曲线连接这些离散点列,然后用hermite样条连接相邻两段曲线。然而,由于研究的复杂曲面往往曲率变化比较大,而cardinal样条以及hermite样条本身的参数多项式表达式的形式就决定了其局部调控性比较差,因此采用了能够克服这些缺点的带参数s指数平均bézier曲线。将离散点列(u向或v向)看成实验数据点列,用一条指数平均的bézier曲线拟合这些数据点,然后再反求曲线的控制顶点,从而生成喷涂空间路径。下面以一阶(s=1)指数平均bézier曲线为例说明。
以u向为例,将离散点列表示成数据点集合:
pi(i=0,1,l,m)
求一条指数平均bézier曲线
拟合这些数据点,此时控制顶点vi待定,下面采用常用的最小二乘逼近方法求该曲线。
第一步,对pi(i=0,1,l,m)进行参数化。采用规范积累弦长参数化[决定参数序列:0=t0<t1<l<tm=1,于是有:
问题就变成求解方程组的最小二乘解。这可由求解如下正则化方程给出:
其中,
实际问题中,常常希望v0=p0,vn=pm,即曲线两端点与数据点的首末点重合。这时上述方程就变为如下方程组:
则它的最小二乘解vj(i=1,2,l,n-1)连同两端点p0,pm,组成曲线的控制顶点。
第二步,采用beta约束公式求相邻两段曲线段光滑拼接的条件。设左侧曲线l-(t)的控制顶点为
l+(0)=l-(1)
l′+(0)=β1l′-(1)
l″+(0)=β2l′-(1)+β12l″-(1)
通过求l(t)的导数,可知上述条件可变为:
即:
即:
至此,相邻两段光滑拼接后得到的曲线即为指定的喷涂空间路径。
3、一种新的简单的复杂曲面上喷涂轨迹优化算法。
当末端执行器在一个特定位置时,曲面上某一点(x,y,h(x,y))处的喷涂轨迹及位置向量p(t)可以表示为fs(p(t),x,y)u(t)。其中,fs(p(t),x,y)为喷涂轨迹,u(t)为涂料流量,且u(t)是随末端执行器的移动而变化的,而喷涂轨迹fs(p(t),x,y)由末端执行器与曲面的距离以及它在空间的位置所确定。该喷涂系统模型,见附图1,这里使用实验方法建立涂层累积速率模型。实验中在一段时间内,在某个固定位置上的测量末端执行器涂层累积分布后,采用反求流量分布的方法确定涂层累积速率模型。当末端执行器的位置为p(t)时,喷涂轨迹表达式为:
其中,r表示末端执行器到点(x,y)的向量,θimp表示r与过点(x,y)的法向量ns的夹角,θ(θ,γ)表示圆锥形涂料流的液滴分布。液滴分布取决于末端执行器的法向量(由末端执行器的位置确定)、r与末端执行器中垂线的夹角θ以及圆锥形涂料流的内半角γ,它可以表示为一个正则化狄拉克(dirac)函数:
通过大量喷涂实验可以发现,通常情况下γ=0.32rad。在一些喷涂实验中(尤其是金属表面上的喷涂),由于涂料飞溅以及粘效率ζ(θimp)的影响,很大一部分涂料都浪费了。粘效率ζ(θimp)的表达式为:
其中,ζ(0)表示涂料效率,α表示拟合参数(一般ζ(0)=0.67,α=0.04)。实际上,在附图1模型中已经假设了喷雾锥角γ的外面没有涂料沉积。而实际喷涂中,会有少量的飞溅的涂料落在喷雾锥角外,但这种情况可以忽略不计。
第一步,假设曲面上的涂层分布厚度为m(x,y),喷涂工作的目标之一就是要实现涂层分布厚度m(x,y)达到期望值。实际喷涂作业中,涂层分布厚度m(x,y)在曲面上是变化的。但在实验中,通常都是先在系统中预先设定一个期望值,即涂层分布厚度为一个常量。因此,对于确定喷嘴的轨迹和位置的向量p(t)以及流量u(t),可以选择实际涂料分布和实际的涂层分布厚度两者之间的差值最小作为优化目标函数,即:
其中,s表示涂层曲面,t表示喷涂完成时间。由于该目标函数不是凸函数,所该优化问题很难求解。
第二步,假设h(x,y)为常量,末端执行器与曲面距离保持恒定且始终垂直于曲面,则喷涂轨迹表达式为:
fs(p(t),x,y)=f(x-xα(t),y-yα(t))
第三步,f(x-xα(t),y-yα(t))表示常量喷涂轨迹。若是在喷涂过程中末端执行器移动速度保持不变,而涂料流量可以调整,则上述优化问题就变为:
这里可采用数学规划中的黄金分割法即可求解出喷涂轨迹上离散点,从而可得到复杂曲面上的优化轨迹。
本发明公开的是复杂曲面上喷涂轨迹优化方法,该方法也可用于机器人研磨工件曲面造型、机器人焊接工件曲面造型等,所不同的是机器人用途不同,但不影响方法使用效果。
除上述是实施方法外,本发明还可以有其他实施方式,凡采用等同替换或等效变换形成的技术方案,均在本发明要求的保护范围内。