广东工业大学学报  2020, Vol. 37Issue (4): 21-26.  DOI: 10.12052/gdutxb.200001.
0

引用本文 

陈宇鹏, 高伟强, 卢一光. 手把手示教喷涂机器人的示教数据优化方法[J]. 广东工业大学学报, 2020, 37(4): 21-26. DOI: 10.12052/gdutxb.200001.
Chen Yu-peng, Gao Wei-qiang, Lu Yi-guang. A Teaching Data Optimization Method of Hand by Hand Teaching Spray Robot[J]. JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY, 2020, 37(4): 21-26. DOI: 10.12052/gdutxb.200001.

基金项目:

广东省科技计划项目(2016B090911001)

作者简介:

陈宇鹏(1994–),男,硕士研究生,主要研究方向为工业机器人运动控制。

通信作者

高伟强(1964–),男,副教授,硕士生导师,主要研究方向为数控技术和工业自动化,E-mail:WQGalt@139.com

文章历史

收稿日期:2020-01-02
手把手示教喷涂机器人的示教数据优化方法
陈宇鹏, 高伟强, 卢一光    
广东工业大学 机电工程学院,广东 广州 510006
摘要: 针对手把手示教喷涂机器人再现运动不平稳、整体运行速度低等问题, 提出了一种基于样条曲线拟合和运动规划的优化方法。通过使用非均匀B样条曲线对示教轨迹进行拟合计算, 得到位姿拟合曲线。位置曲线和姿态曲线是分开进行离散化的。位置曲线基于S型加减速进行离散化, 减速点的寻找采用双向插补的方法。姿态和位置的同步问题, 采用建立姿态曲线参数与位置曲线参数的映射关系解决。通过仿真和实验验证了该算法能够有效地提高示教机器人再现运动的平稳性和运行速度。
关键词: 手把手示教    喷涂机器人    运动优化    
A Teaching Data Optimization Method of Hand by Hand Teaching Spray Robot
Chen Yu-peng, Gao Wei-qiang, Lu Yi-guang    
School of Electromechanical Engineering, Guangdong University of Technology, Guangzhou 510006, China
Abstract: In view of the unsteady motion and low overall running speed of the hand by hand teaching spray robot, an optimization method based on spline curve fitting and motion planning is proposed. By using the non-uniform B-spline curve to fit the teaching track, the position and attitude fitting curve is obtained. The position curve and attitude curve are discretized separately. The position curve is discretized based on S-type acceleration and deceleration, and the two-way interpolation method is used to find the deceleration point. The problem of attitude and position synchronization is solved by establishing the mapping relationship between the parameters of attitude curve and position curve. Simulation and experiment show that the algorithm can effectively improve the stability and running speed of the teaching robot.
Key words: hand by hand teaching    spray robot    motion optimization    

示教是工业机器人在喷涂应用中的一个重要环节。机器人的示教方法可以分为两大类:一种是直接面向机器人本体进行示教,称为直接示教;另一种是远离机器人本体通过计算机技术对机器人进行示教,称为离线示教。直接示教方法主要有示教盒示教和手把手示教两种。手把手示教是由操作人员直接拖拽机器人末端工具的方式实现复杂轨迹的示教。与示教盒示教和离线编程相比,手把手示教喷涂效果所见即所得,无需编程,简单易学,效率高,只需简短培训就可使原喷涂工人直接成为机器人的操作工人,解决了中小涂装企业技术升级后机器人应用人才短缺问题,并且避免了大量喷涂工下岗带来的社会问题。

在手把手示教过程中,主要存在两方面的问题。一方面,受到机器人拖拽灵活性和操作人员自身等因素的影响,示教路径和速度难以光顺,喷涂时速度和加速度会有突变,产生振动、冲击,影响喷涂质量。另一方面,由于机器人拖拽灵活性的影响,示教时难以达到或者难以迅速达到机器人期望的工作速度,导致机器人再现喷涂时只能同时提高整体的速度。因为这两方面问题的存在,使手把手示教机器人的现实应用受到一定的诟病。为解决上述问题,本文提出了一种对手把手示教喷涂采样数据进行运动规划的方法。

机器人关节角空间运动规划主要是对关节速度、加速度进行规划,以时间最优和平滑过渡为目标进行优化[1-3]。由于从关节坐标到机器人末端工具轴位姿映射过程存在大量的三角函数等非线性运算,直接对关节坐标优化后会造成机器人末端机构位姿误差难以控制,使再现位姿与采样位姿产生较大误差。本文提出在笛卡尔空间中运用样条曲线对机器人手把手示教轨迹进行光顺处理,对再现运动速度进行重新规划,使得机器人再现运动时能够以较高的速度平稳运行,解决手把手示教存在的上述问题。

1 示教轨迹的位姿拟合

在手把手示教过程中,工业机器人控制器对6个关节伺服电机的绝对位置编码器数值进行时间分割采样,得到6关节坐标时间分割采样数据 $\{ {[\begin{array}{*{20}{c}} {{A_1}}, \cdots,{{A_6}} \end{array}]_i}\} _{i = {\rm{0}}}^n$ 构成示教轨迹。对采样得到的n个6关节坐标数据进行6关节机器人正运算,得到示教轨迹的矩阵变换表示,记为 ${\rm{\{ }}{{{M}}_i}{\rm{\} }}_{i = {\rm{0}}}^n$ ,如式(1)所示。

${{{M}}_i} = \left[ {\begin{array}{*{20}{c}} {{{{R}}_i}}&{{{{P}}_i}} \\ 0&1 \end{array}} \right]$ (1)

式中, ${{{R}}_i} \in {\mathbb{R}^{3 \times 3}}$ 表示第i个示教点对机器人基坐标系的旋转变换矩阵,包含喷枪的姿态信息; ${{{P}}_i} \in {\mathbb{R}^{3 \times 1}}$ 表示第i个示教点对机器人基坐标系的平移变换矩阵,包含喷枪的空间位置信息。喷枪空间位置集合记为 $\{ {{{P}}_i}\} _{i = 0}^n$ ,旋转变换集合记为 $\{ {{{R}}_i}\} _{i = 0}^n$

对手把手示教轨迹进行优化,可以转化为对给定轨迹 ${\rm{\{ }}{{{M}}_i}{\rm{\} }}_{i = {\rm{0}}}^n$ 的运动规划问题。其整体的运动优化流程如图1所示。主要流程是对示教轨迹进行位姿拟合,使轨迹更加光滑。拟合完成后,再对其重新离散化,同时对其速度进行规划,使速度曲线平滑、加速度曲线无突变,最后进行喷枪姿态的插值,保证姿态变化平滑,机器人再现运动平稳。

图 1 整体优化流程 Figure 1 Optimization process
1.1 轨迹预处理

轨迹的预处理主要目的是减少后续位姿拟合的计算量,适当去除一些示教点,用较少的示教点来表示轨迹而不丢失轨迹自身的特征。如图2所示,计算空间矢量 ${ {{S}} _i}$ ${ {{S}} _{i + 1}}$ 之间的夹角 ${\alpha _{i + 1}}$ ,并与给定的阈值 ${\alpha _0}$ 作比较。假如 ${\alpha _{i + 1}}$ 小于等于阈值 ${\alpha _0}$ ,则认为3点处于同一空间直线上,此时舍去中间点 ${{{P}}_{i{\rm{ + }}1}}$ 。假如 ${\alpha _{i + 1}}$ 大于阈值 ${\alpha _0}$ ,则保留中间点 ${{{P}}_{i{\rm{ + }}1}}$

图 2 特征点的判断示意图 Figure 2 Judgment diagram of feature points

运用以上方法,对空间位置集合 $\{ {{{P}}_i}\} _{i = 0}^n$ 进行处理,可以得到空间位置特征点点集合 $\{ {{{P}}_i}\} _{i = 0}^m$ $m < n$ 。根据 ${\rm{\{ }}{{{P}}_i}{\rm{\} }}_{i = 0}^m$ 取对应示教轨迹点,得到示教轨迹特征点序列 ${\rm{\{ }}{{{M}}_i}{\rm{\} }}_{i = {\rm{0}}}^m$

旋转矩阵R描述轨迹点的姿态较为复杂而且难以量化计算,本文引入单位四元数的方法描述机器人末端执行器的姿态轨迹曲线[4-5]。空间某点在绕轴 $ {{n}} $ 旋转 $\theta $ 角度时,其单位四元数可以表示为 ${{q}} = (\cos ({\theta / 2})$ $\sin ({\theta / 2}) {{n}} )$ ,其中 $ {{n}} $ 为三维单位向量。根据旋转矩阵和四元数转换公式[6],将 $\{ {{{R}}_i}\} _{i = 0}^m$ 转换成单位四元数表示 $\{ {{{q}}_i}\} _{i = 0}^m$ 。因此,示教轨迹特征点序列 ${\rm{\{ }}{{{M}}_i}{\rm{\} }}_{i = {\rm{0}}}^m$ 可以表示为式(2)所示。

${{{M}}_i} = (\begin{array}{*{20}{c}} {{{{q}}_i}}&{{{{P}}_{{i}}}} \end{array})$ (2)
1.2 位姿轨迹拟合

为获得平滑连续的空间位置曲线和姿态曲线,对示教空间位置序列 $\{ {{{P}}_i}\} _{i = 0}^m$ 和姿态序列 $\{ {{{q}}_i}\} _{i = 0}^m$ 构造2阶连续的插值函数。

对于序列 $\{ {{{P}}_i}\} _{i = 0}^m$ ,包含的是机器人末端执行机构的空间位置轨迹信息,可以使用3次非均匀B样条曲线去描述位置曲线 ${{C}}(u)$ ,如式(3)所示。

${{C}}(u) = \mathop \sum \limits_{i = 0}^n {{{d}}_i}{N_{i,3}}(u)$ (3)

式中, $u \in [0,1]$ ${{{d}}_i}$ 表示B样条曲线的控制顶点, ${N_{i,3}}(u)$ 是定义在节点矢量U上的B样条曲线基函数。想要明确曲线 ${{C}}(u)$ 的表达式,需要求取计算节点矢量 ${{U}}[0,0,0,{u_3}, \cdots ,{u_{m + }}_3,1,1,1]$ 以及控制顶点 ${{{d}}_i}$ ,相关的求取计算方法可参考文献[7]。

由单位四元数 ${{q}} = (\cos ({\theta / 2}),\sin ({\theta / 2}) {{n}} )$ 的自然对数运算见式(4)[8]

$\left\{\begin{array}{l} {{p}} = {\rm{ln}}({{q}}) = \displaystyle\frac{\theta }{2} {{n}} \\ {{q}} = \exp ({{p}}) = \exp \left(\displaystyle\frac{\theta }{2} {{n}} \right) \end{array}\right.$ (4)

令函数 ${{p}}(t) = \ln ({{q}}(t))$ ,根据文献[9]可知,构造2阶连续的单位四元数插值函数 ${{q}}(t)$ 可以转化为构造2阶连续的函数 ${{p}}(t)$

根据式(4),可以将姿态序列 $\{ {{{q}}_i}\} _{i = 0}^m$ 转换成一个三维向量序列集合 $\{ {{{p}}_i}\} _{i = 0}^m$ 。同理,对 $\{ {{{p}}_i}\} _{i = 0}^m$ 采用3次B样条曲线进行描述,如式(5)所示。

${{p}}(t) = \mathop \sum \limits_{i = 0}^n {{{\varphi }}_i}{N_{i,3}}(t)$ (5)

根据同样的方法可以计算得到曲线 ${{p}}(t)$ 的节点矢量 ${{\varGamma}} [0,0,0,{t_3}, \cdots ,{t_{m + }}_3,1,1,1]$ 和控制顶点 ${{{\varphi }}_i}$ 。得到姿态曲线 ${{q}}(t)$ ,如式(6)所示。

${{q}}(t) = \exp ({{p}}(t))$ (6)
2 机器人位置曲线的插补

为获得新的离散示教路径,需要分别对位置曲线 ${{C}}(u)$ 和姿态曲线 ${{q}}(t)$ 进行插补离散。

2.1 B样条曲线泰勒展开插补算法

曲线参数化插补,即由轨迹空间的进给步长∆L映射到参数空间从而求取参数 ${u_{i + 1}} = {u_i} + \Delta {u_i}$ 。本文采用一阶泰勒展开进行空间位置曲线 ${{C}}(u)$ 的插补计算,其计算公式如式(7)所示[10-11]

${u_{i + 1}} = {u_i} + {u'}({t_i}){T_c} + o({T_c})$ (7)

式中, ${T_c}$ 为机器人运动插补周期, $o({T_c})$ 为泰勒展开余项。

对机器人末端位置拟合曲线 ${{C}}(u)$ ,在 $ t $ 时刻末端的瞬时速度可以表示为式(8)所示。

$v(t) = \left\| {\frac{{{\rm{d}}{{C}}(u)}}{{{\rm{d}}t}}} \right\| = \left\| {\frac{{{\rm{d}}{{C}}(u)}}{{{\rm{d}}u}}} \right\|\frac{{{\rm{d}}u}}{{{\rm{d}}t}}$ (8)

由式(8),有式(9)

${u'}\left( t \right) = \frac{{{\rm{d}}u}}{{{\rm{d}}t}} = \frac{{v(t)}}{{\left\| {{{{C}}'}(u)} \right\|}}$ (9)

忽略泰勒余项,式(7)可以写为式(10)所示。

${u_{i + 1}} = {u_i} + \frac{{v({t_i})}}{{{\sigma _i}}}{T_c}$ (10)

式中, ${\sigma _i} = \left\| {{{{C}}'}(u)} \right\|$ $v({t_i})$ 是机器人末端在 ${t_i}$ 时刻的速度。

反向插补计算时,有式(11)。

${u_i} = {u_{i + 1}} - \frac{{v\left( {{t_i}} \right)}}{{{\sigma _{i + 1}}}}{T_c}$ (11)
2.2 位置曲线插补过程

工人示教速度不能满足机器人作业速度,不能很好地适用于产品加工,机器人再现速度需要提升。为了使机器人作业时速度更加平稳,插补时使用区域连续S型速度曲线对速度进行规划[12-13]

位置曲线 ${{C}}(u)$ 往往是比较复杂的,机器人末端执行机构需要在适当的位置提前减速,以较低的安全速度通过一些高曲率的点,避免速度变化给机器人本体带来冲击。这就需要在插补前对曲线 ${{C}}(u)$ 进行速度前瞻处理,提前找出速度突变点,并对突变点进行速度限制。速度突变点可以根据系统最大加速度的约束来寻找,其约束条件见式(12)所示。

$\left\{ {\begin{array}{*{20}{l}} {\kappa ({u_i}) > \kappa ({u_{i - 1}})}\\ {\kappa ({u_i}) > \kappa ({u_{i + 1}})}\\ {\kappa ({u_i}) > {{{A_{\rm{max}}}} / {v_{f}^2}}} \end{array}} \right.$ (12)

式(12)中, $\kappa ({u_i})$ 是曲线 ${{C}}(u)$ 在参数 ${u_i}$ 处的曲率, ${A_{\rm{max}}}$ 是系统限定的最大加速度, ${v_f}$ 是机器人作业速度。

突变点对应的限制速度可以通过系统法向加速度限制和系统弓高误差限制进行确定[14-15]。在找到 ${{C}}(u)$ 中所有的突变点后,相当于将曲线分成了若干速度规划段,插补时根据各个速度突变点对应的限制速度对每段曲线进行区域连续S型曲线速度规划,这样就能确保机器人末端执行机构可以按限制速度通过突变点,并保证速度的平滑。

对曲线 ${{C}}(u)$ 进行区域连续S型曲线速度规划需要提前找到速度突变点的减速点,这就要求精确知道规划路径的总长度,但是B样条曲线不能精确计算得到规划路径长度。

针对这一问题,采用双向插补离散的方式寻找减速点。如图3所示,点 ${{C}}({u_n})$ ${{C}}({u_m})$ 是两相邻突变点,对应参数为 ${u_n}$ ${u_m}$ ,对应限制速度为 ${v_n}$ ${v_m}$ 。双向插补是从点 ${{C}}({u_n})$ 正方向和点 ${{C}}({u_m})$ 反方向同时进行S型速度曲线加速段的插补,正方向进行插补计算1次,反方向也跟着插补计算1次,并且反向插补计算完成后才能进行下一次正向插补。根据文献[11]中的速度规划可知,对于给定的最大速度 ${v_{\rm{max}}}$ 、系统最大加速度 ${a_{\rm{max}}}$ 、起始速度 ${v_s}$ ,S型速度曲线加速段的表达式如式(13)所示。

图 3 双向插补示意图 Figure 3 Two-way interpolation diagram
${v_a}(t) = - \frac{{4{a_{\rm{max}}}}}{{3T_1^2}}{t^3} + \frac{{2{a_{\rm{max}}}}}{{3{T_1}}}{t^2} + {v_s}$ (13)

其中, ${T_1}$ 为从初始速度加速到最大速度所需要的时间,且 ${T_1} = {{1.5({v_{\rm{max}}} - {v_s})} / {{a_{\rm{max}}}}}$

寻找减速点 ${{C}}({u_d})$ 的过程为

步骤1:假设曲线段 $|{{C}}({u_n}){{C}}({u_m})|$ 所能达到的最大速度 ${v_{\rm{max}}} = {v_f}$ ,给定最大加速为系统限定最大加速度 ${A_{\rm{max}}}$ 、插补周期 ${T_c}$ ,由式(13)得到由速度 ${v_n}$ 和速度 ${v_m}$ 加速至作业速度 ${v_f}$ 的速度表达式 ${v_{an}}(t)$ ${v_{am}}(t)$

步骤2:初始化正向插参数 $u_i^n = {u_n}$ 和反向插补参数 $u_{i + 1}^m = {u_m}$ ,参数u的上标表示插补方向。

步骤3:设置插补次数N,并计算正向插补速度 $v_i^n = {v_{an}}(N{T_c})$ 和反向插补速度 $v_i^m = {v_{am}}(N{T_c})$ 。插补次数指当前正在进行第N次插补,其初始值设置为1。

步骤4:计算正、反向插补参数 $u_{i + 1}^n$ $u_i^m$ $u_{i + 1}^n$ 根据式(10)和速度 $v_i^n$ 计算, $u_i^m$ 根据式(11)和速度 $v_i^m$ 计算。

步骤5:判断 $u_{i + 1}^n$ $u_i^m$ 的大小。(1) 如果 $u_{i + 1}^n < u_i^m$ ,进入步骤6;(2) 如果 $u_{i + 1}^n = u_i^m$ ,进入步骤7;(3) 如果 $u_{i + 1}^n > u_i^m$ ,进入步骤8。

步骤6:判断插补速度 $v_i^n$ $v_i^m$ 是否达到作业速度 ${v_f}$ 。(1) 若 $v_i^n \leqslant {v_f}$ $v_i^m = {v_f}$ ,则减速点 ${{C}}({u_d}) = {{C}}(u_i^m)$ ,进入步骤9;(2) 若 $v_i^n = {v_f}$ $v_i^m < {v_f}$ ,则回步骤3,N=N+1,后续步骤只计算反向插补,正向插补数据保持不变。(3) 若 $v_i^n < {v_f}$ $v_i^m < {v_f}$ ,回步骤3,N=N+1。

步骤7:判断 $v_i^n$ $v_i^m$ 是否相等。(1) 如果 $v_i^n = v_i^m$ ,则减速点 ${{C}}({u_d}) = {{C}}(u_i^m)$ ,进入步骤9;(2) 如果 $v_i^n \ne v_i^m$ ,进入步骤8。

步骤8:令 ${v_{\rm{max}}} = \alpha {v_{\rm{max}}}$ ,一般有 $0.5 \leqslant \alpha < 1$ ,回步骤1更新,重新进行查找计算。

步骤9:结束查找流程。

上述流程在查找减速点 ${{C}}({u_d})$ 的时候,已经完成加速段和减速段的插补离散化,可以保留其插补结果,避免重复计算。

3 姿态与位置的同步

在对位置曲线 ${{C}}(u)$ 进行插补离散化后得到机器人末端执行机构的空间位置路径离散序列 $\{ {{{P}}_i}\} _{i = 0}^k$ ,为了生成示教路径,还需要对姿态曲线 ${{q}}(t)$ 进行离散化得到姿态路径序列 $\{ {{{q}}_i}\} _{i = 0}^k$

姿态曲线离散化时应该尽可能地保持与原姿态同步,也就是机器人末端机构运行通过新的示教路径上某一空间点时,姿态应当与原来的姿态尽可能保持一致。因此,需要建立位置曲线 ${{C}}(u)$ 参数u与姿态曲线 ${{q}}(t)$ 参数t直接的映射关系,如式(14)所示。

$t = f(u)$ (14)

因为位置曲线 ${{C}}(u)$ 是根据示教轨迹特征点序列 $\{ {{{M}}_i}\} _{i = 0}^m$ 中的空间位置信息进行拟合计算得到的,姿态曲线 ${{q}}(t)$ 则是根据 $\{ {{{M}}_i}\} _{i = 0}^m$ 中的姿态信息进行拟合计算得到的,并且 ${{C}}(u)$ ${{q}}(t)$ 的节点矢量都是通过规范积累弦长化方法构造的。所以曲线 ${{C}}(u)$ 的节点矢量U与曲线 ${{q}}(t)$ 的节点矢量 ${{\varGamma}} $ 具有一一对应的关系,利用这一关系可以给出参数u对和参数t简单的线性映射关系。

首先判断参数u所在的节点矢量区间 $[{u_j},{u_{j + 1}}]$ ,通过节点矢量U和节点矢量 ${{\varGamma}} $ 的对应关系,得到参数t所在区间 $[{t_j},{t_{j + 1}}]$ 。然后建立参数ut简单的线性关系,如式(15)所示。

$t = f(u) = {t_j} + \frac{{u - {u_j}}}{{{u_{j + 1}} - {u_j}}}({t_{j + 1}} - {t_j})$ (15)

将位置曲线 ${{C}}(u)$ 插补离散得到的参数序列 $\{ {u_i}\} _{i = 0}^k$ 映射到姿态曲线 ${{q}}(t)$ 的参数空间,可以得到姿态曲线 ${{q}}(t)$ 参数离散序列 $\{ {t_i}\} _{i = 0}^k$ 。把序列 $\{ {t_i}\} _{i = 0}^k$ 代入姿态曲线表达式,得到机器人末端执行机构姿态路径四元数序列 $\{ {{{q}}_i}\} _{i = 0}^k$ ,再根据旋转矩阵和四元数转换公式[6],可以得到旋转矩阵序列 $\{ {{{R}}_i}\} _{i = 0}^k$ 。结合空间路径序列 $\{ {{{P}}_i}\} _{i = 0}^k$ ,可以得到新的示教路径序列集合 $\{ {{M}}_i^*\} _{i = 0}^k$ ,如式(16)所示。

${{M}}_i^* = \left[ {\begin{array}{*{20}{c}} {{{R}}(t)}&{{{P}}(t)}\\ 0&1 \end{array}} \right]$ (16)

这样就实现了位置和姿态的同步。对示教路径序列集合 $\{ {{M}}_i^*\} _{i = 0}^k$ 进行机器人逆运动学计算可以得到6关节坐标数据,形成优化后的示教文件。

4 实验与仿真验证

本文以佛山某机器人公司自行研制的手把手示教喷涂机器人为实验平台,对提出的运动轨迹优化算法进行验证。实验截取广州某卫浴公司实际浴缸生产中玻纤−树脂复合材料喷涂的一段手把手示教路径,进行实验分析。该段示教轨迹由870个示教点组成,将这些示教点进行转化得到对应的机器人6个关节角角度,再通过机器人正运算,得到笛卡尔坐标系下的喷枪位姿。经过拟合优化处理,可以得到相应的位姿拟合曲线。给定喷涂速度 ${v_f}$ 为500 mm/s,最大加速度 ${A_{\rm{max}}}$ 为1 000 mm/s2,插补时间 ${T_c}$ 为10 ms,对拟合曲线进行离散化,可以得到优化后的示教路径。机器人喷枪优化前、后运动轨迹如图4(a)、(b)所示,空间轨迹上的短线条代表机器人喷枪的姿态向量。从图4中可以看出,优化后该段示教轨迹更加光滑,姿态变化连续、与原示教轨迹姿态同步。优化后路径点数目为350个,相比于原始数据减少了一半,再现喷涂整体速度得到提高。

图 4 优化前后喷枪位姿对比 Figure 4 Comparison of poses before and after optimization

为了进一步分析其拟合效果,进行位置曲线拟合误差计算,可以得到最大拟合误差为1.095 mm,平均拟合误差为0.073 mm,标准差为0.144 mm,拟合误差能满足机器人的喷涂精度。拟合误差分布如图5所示。

图 5 轨迹拟合误差分布 Figure 5 Fitting error distribution of trajectory

对优化效果进行验证,分别对原始轨迹和优化轨迹的机器人喷枪速度、加速度进行对比分析。图6是优化前、后喷枪速度、加速度对比图。从图6可以明显观察到原始轨迹速度不稳定,波动较大而且整体速度较低。原始轨迹加速度存在不规则波动,而且在一些点处有很大的突变。经过优化处理后的机器人喷枪轨迹运动速度曲线呈现出所规划的S型,整体较为平滑,整体运动速度得到提高,提高了机器人的工作效率。优化轨迹的加速度虽然仍然存在突变,但是比较优化前减小了一个数量级,加速度曲线得到改善。将优化轨迹数据转换成示教再现数据格式,在机器人上进行再现实验,实验结果显示,有效地减小了再现喷涂过程中的振动,喷涂效果明显改善,同时喷涂效率也得到了提高。

图 6 优化前后喷枪速度、加速度对比图 Figure 6 Comparison of spray gun speed-acceleration before and after optimization
5 总结

本文提出的手把手示教机器人再现运动优化方法得到实验验证,结果表明此优化方法能够在保持原示教喷涂轨迹位姿精度的前提下,提高了机器人再现喷涂的平稳性,喷涂效果明显改善,同时也改善了工人示教速度与预期喷涂速度不匹配的问题,对提高手把手示教机器人在涂装行业上的使用具有一定的应用价值。

参考文献
[1]
董辉, 仲晓帆, 黄胜. 一种六关节机器人关节空间轨迹规划方法[J]. 浙江工业大学学报, 2015, 43(3): 336-339, 345.
DONG H, ZHONG X F, HUANG S. Trajectory planning method in joint space for 6-DOF robot[J]. Journal of Zhejiang University of Technology, 2015, 43(3): 336-339, 345. DOI: 10.3969/j.issn.1006-4303.2015.03.021.
[2]
王宁, 张新敏. 基于MATLAB的六自由度机器人轨迹规划与仿真[J]. 制造业自动化, 2014, 36(15): 95-97.
WANG N, ZHANG X M. Trajectory planning and simulation of six-DOF robot based on MATLAB[J]. Manufacturing Automation, 2014, 36(15): 95-97. DOI: 10.3969/j.issn.1009-0134.2014.15.025.
[3]
马睿, 胡晓兵, 殷国富, 等. 六关节工业机器人最短时间轨迹优化[J]. 机械设计与制造, 2014(4): 30-32, 35.
MA R, HU X B, YIN G F, et al. The shortest time optimal planning of 6-DOF industrial robot’s trajectory[J]. Machinery Design & Manufacture, 2014(4): 30-32, 35. DOI: 10.3969/j.issn.1001-3997.2014.04.010.
[4]
刘宏伟, 王效杰, 梁艳阳, 等. 机器人末端执行器姿态轨迹规划研究[J]. 机械设计与制造, 2015(4): 28-30, 34.
LIU H W, WANG X J, LIANG Y Y, et al. Research on the orientation trajectory planning of robot end-effector[J]. Machinery Design & Manufacture, 2015(4): 28-30, 34. DOI: 10.3969/j.issn.1001-3997.2015.04.008.
[5]
成津赛, 张秋菊. 机器人姿态插补的四元数直接逆解方法[J]. 机械科学与技术, 2016, 35(9): 1354-1358.
CHENG J S, ZHANG Q J. Orientations interpolation algorithm for robot with quaternion-based direct inverse kinematics[J]. Mechanical Science and Technology for Aerospace Engineering, 2016, 35(9): 1354-1358.
[6]
季晨.工业机器人姿态规划及轨迹优化研究[D].哈尔滨: 哈尔滨工业大学, 2013.
[7]
施法中.计算机辅助几何设计与非均匀有理B样条[M].北京: 高等教育出版社, 2013: 254-260.
[8]
邢燕, 樊文, 檀结庆, 等. 一类C~2连续的单位四元数插值样条曲线[J]. 计算机辅助设计与图形学学报, 2017, 29(1): 45-51.
XING Y, FAN W, TAN J Q, et al. A C2-Continuous unit quaternion interpolatory spline curve[J]. Journal of Computer-aided Design & Computer Graphics, 2017, 29(1): 45-51. DOI: 10.3969/j.issn.1003-9775.2017.01.006.
[9]
虞铭财, 杨勋年, 汪国昭. 高阶连续的单位四元数插值曲线[J]. 计算机辅助设计与图形学学报, 2005, 17(3): 437-441.
YU M C, YANG X N, WANG G Z. Interpolation of unit quaternion curve with high order continuity[J]. Journal of Computer-aided Design & Computer Graphics, 2005, 17(3): 437-441. DOI: 10.3321/j.issn:1003-9775.2005.03.010.
[10]
吴玉香, 王鹏. 基于曲线长度自调整速度方程的非均匀有理B样条插补算法[J]. 计算机集成制造系统, 2019, 25(9): 2256-2264.
WU Y X, WANG P. NURBS interpolation algorithm of self-adjusting feed-rate equation based on curve length[J]. Computer Integrated Manufacturing Systems, 2019, 25(9): 2256-2264.
[11]
刘斯亮, 程良伦. 大曲率船体外板水火加工机器人运动轨迹优化研究[J]. 广东工业大学学报, 2017, 34(1): 84-89.
LIU S L, CHENG L L. A research of motion trajectory optimization for large curvature of ship hull plate processing line robot[J]. Journal of Guangdong University of Technology, 2017, 34(1): 84-89. DOI: 10.12052/gdutxb.150149.
[12]
凌冠耀. 六关节喷涂机器人的位姿规划算法研究[D].广州: 广东工业大学, 2018.
[13]
高伟强, 江小成, 刘汝发, 等. 基于多项式的S曲线加减速运动控制算法构建[J]. 机床与液压, 2019, 47(4): 124-128.
GAO W Q, JIANG X C, LIU R F, et al. Construction of motion control algorithm for S-shaped curve acceleration and deceleration based on polynomial[J]. Machine Tool & Hydraulics, 2019, 47(4): 124-128.
[14]
秦霞, 李德钊, 邓华. 基于NURBS曲线的工业机器人位置插补算法研究[J]. 制造业自动化, 2018, 40(4): 67-72.
QIN X, LI D Z, DENG H. Research on position interpolation algorithm of industrial robot based on NURBS curve[J]. Manufacturing Automation, 2018, 40(4): 67-72. DOI: 10.3969/j.issn.1009-0134.2018.04.017.
[15]
岳晴晴, 林明, 林永才. 基于NURBS算法的工业机器人轨迹规划研究[J]. 机床与液压, 2019, 47(9): 28-32, 71.
YUE Q Q, LIN M, LIN Y C. Research on Trajectory Planning of Industrial Robot Based on NURBS Algorithm[J]. Machine Tool & Hydraulics, 2019, 47(9): 28-32, 71. DOI: 10.3969/j.issn.1001-3881.2019.09.006.