航空结构件机器人磨抛离线编程技术研究

李仁政, 宋戈, 高鑫, 秦枭品, 刘少睿, 赵国波

李仁政, 宋戈, 高鑫, 秦枭品, 刘少睿, 赵国波. 航空结构件机器人磨抛离线编程技术研究[J]. 制造技术与机床, 2024, (9): 43-51. DOI: 10.19287/j.mtmt.1005-2402.2024.09.006
引用本文: 李仁政, 宋戈, 高鑫, 秦枭品, 刘少睿, 赵国波. 航空结构件机器人磨抛离线编程技术研究[J]. 制造技术与机床, 2024, (9): 43-51. DOI: 10.19287/j.mtmt.1005-2402.2024.09.006
LI Renzheng, SONG Ge, GAO Xin, QIN Xiaopin, LIU Shaorui, ZHAO Guobo. Research on programming technology for robot grinding of aerospace structural parts[J]. Manufacturing Technology & Machine Tool, 2024, (9): 43-51. DOI: 10.19287/j.mtmt.1005-2402.2024.09.006
Citation: LI Renzheng, SONG Ge, GAO Xin, QIN Xiaopin, LIU Shaorui, ZHAO Guobo. Research on programming technology for robot grinding of aerospace structural parts[J]. Manufacturing Technology & Machine Tool, 2024, (9): 43-51. DOI: 10.19287/j.mtmt.1005-2402.2024.09.006

航空结构件机器人磨抛离线编程技术研究

详细信息
    作者简介:

    李仁政,男,1989年生,硕士,工程师

    通讯作者:

    李仁政,男,1989年生,硕士,工程师。

  • 中图分类号: TH164

Research on programming technology for robot grinding of aerospace structural parts

  • 摘要:

    针对航空结构件机器人打磨中存在的离线编程过程复杂问题,提出一种基于Catia离线编程的机器人打磨轨迹规划方法,利用自主开发的后置处理软件快速生成打磨程序,通过Vericut开发搭建机器人磨抛仿真环境,通过3D视觉粗标定和探头精确标定的组合标定策略提高工件坐标系的标定精度,并基于标定结果实现磨抛程序和仿真环境的快速调整。将该方法可用于框类航空结构件腹板抛光打磨,试验结果表明,该方法生成的程序能够快速精确完成结构件打磨作业,具有一定的实用性,打磨后零件表面粗糙度Ra为3.2 μm,满足打磨要求。

    Abstract:

    In response to the complex offline programming process in robot polishing of aviation structural components, a robot polishing trajectory planning method based on Catia offline programming is proposed, and self-developed post-processing software is used to quickly generate polishing programs. The robot polishing simulation environment is built through Vericut development. The calibration accuracy of the workpiece coordinate system is improved through a combination calibration strategy of 3D visual coarse calibration and probe precise calibration. Based on the calibration results, the polishing program and simulation environment are quickly adjusted. The method was applied to the polishing and polishing of the web plate of frame type aviation structural components. The experimental results showed that the program generated by this method can quickly and accurately complete the polishing operation of structural components, and has a certain practicality. The surface roughness of the polished parts Ra is 3.2 μm, which meets the polishing requirements.

  • 飞机结构件的加工流程分为粗加工、半精加工、精加工和磨抛等,其中磨抛是零件在完成主要机械加工后的补充加工过程,包括倒圆、去刀纹和去毛刺等。传统的磨抛工序由人工完成,人工方式不仅耗费大量的时间与人力,工人面临恶劣的工作环境,并且对操作人员的技能有较高要求,极易造成过切、损伤,严重情况甚至会导致零件报废。将工业机器人引入磨抛工序,不仅能节省人力资源,保护工人身体健康,而且与一般打磨装备相比,多自由度的打磨机器人柔性好,可达范围大,可以实现复杂型面的高效、高质量打磨加工,打磨机器人体积、质量小,对基建要求不高,国外已广泛应用于航空装备、船舶制造与修复和高档汽车加工等领域。

    机器人打磨大型复杂零件通常采用离线编程模式,相比于示教方式,离线编程过程中机器人可正常加工、编程者不需进入加工环境,这大幅提升了编程质量、安全性及加工效率。随着机器人技术的发展,机器人离线编程技术亟待发展来满足机器人的发展需求。

    国外机器人离线编程技术发展研究较早,编程软件比较成熟。目前主流的离线编程软件有ABB公司开发的RobotStudio、KUKA公司开发的SimPro、日本安川公司开发的Motosim等。总体来说,国外机器人离线编程技术基本来自底层的全自主建模和开发[14]

    国内机器人离线编程技术发展速度较慢。当前成熟度较低。上海大学的王伟东等[5]研究了机器人的运动学算法和轨迹规划方法,对KUKA机器人进行了运动轨迹仿真,核算法具有可扩展性好等优点。东南大学的周孝成等[6]对KUKA机器人的运动学算法进行了研究,并验证了算法可行性,在仿真系统中进行了测试验证。王引等[7]对将G代码的数据信息转化成虚拟刀具5个点的坐标进行研究。华中理工大学的赵东波和熊有伦[8]对机器人离线编程系统ROPS的研究进行了综述,研究了在微机上建立ROPS系统的问题,分析了ROPS的关键技术问题。东南大学的卢正君[9]开发了基于SolidWorks 的机器人离线编程软件,完成了机器人逆运算的求解,并以马鞍形曲线切割和冲击式水斗叶片的堆焊验证了离线编程软件的实用性。

    此外,基于工件坐标系进行离线编程,工件坐标系的标定精度直接决定了工件的最终加工精度。使用柔性工装装夹工件时,工件会存在一定的安装误差,这种安装误差通常大于几毫米,此时按照机器人提前设定的离线程序进行加工,会存在相当大的偏差,因此需要对工件坐标系进行重新标定,确定精确的工件坐标系。然后修改机器人离线程序中工件坐标系的参数,使用新的工件坐标系对工件进行加工。则机器人基本不需要改动离线程序,即可完成整个加工过程。因此,在机器人加工过程中,获得待加工工件的工件坐标系是十分重要的。

    上述方法未针对航空结构件打磨场景给出有效的离线编程解决方案。为此,本文开展航空结构件机器人磨抛离线编程技术研究,提出了一种适用于打磨场景的离线编程方法及高精度标定策略,为航空结构件自动化高精度磨抛提供支撑。

    机器人程序一般在基坐标系下运行,通过驱动关节运动将工具坐标系运行到目标位姿,而轨迹规划一般在产品坐标系下进行(不考虑机器人),因此需将产品坐标系下的程序通过后置处理转化到机器人基坐标系下,各坐标系关系如图1所示。

    图  1  打磨机器人坐标系关系

    为简化机器人磨抛离线编程过程,基于Catia进行磨抛轨迹规划(类似于数控编程),刀轨类型为往复型,磨抛轨迹规划如图2所示。将Catia生成的前置刀位文件进行末端位姿构造后,通过后置处理过程生成磨抛加工程序。

    图  2  基于Catia的磨抛轨迹规划

    基于Catia对航空结构件需打磨区域进行轨迹规划,并生成前置APT刀位文件(X, Y, Z, I, J, K),程序点位信息仅包含点位坐标和法矢信息,为典型的五轴刀位信息,而机器人与传统五轴加工不同,需通过位置、刀轴矢量和切向矢量对工具的6个自由度都加以控制,确定工具的唯一姿态,如图3所示。

    图  3  点位姿态构建

    副法向矢量B与法向矢量N及切向矢量T是正交的,因此通过T叉乘N得到副法向矢量B,即

    $$ \boldsymbol{B}=\boldsymbol{T}\times \boldsymbol{N} $$ (1)

    刀位点位置P、刀轴矢量N、切向矢量T和副法向矢量B可以构造出工件坐标系W下的齐次矩阵$ {}_{T}^{W}\boldsymbol{T} $,即

    $$ { }_T^W \boldsymbol{T}=\left[\begin{array}{cccc} n_x & t_x & b_x & p_x \\ n_y & t_y & b_y & p_y \\ n_{\textit{z}} & t_{\textit{z}} & b_{\textit{z}} & p_{\textit{z}} \\ 0 & 0 & 0 & 1 \end{array}\right] $$ (2)

    基于构造的各点位姿信息,将切向矢量严格限制在刀轨行进方向,以便构造出各点位姿信息。

    基于Catia生成的五轴刀位文件在进行末端位姿构造后,需转化为六轴机器人能够识别的加工程序,不同的机器人代码形式也不相同。程序中包含驱使机器人运动到目标姿态时的角度组合值,因此,必须进行机器人逆解求解出各个角度值是机器人离线编程的核心环节。

    机器人运动学变换方法一般使用Denavit J等[10]提出的D-H 方法,即通过使用一个4×4 阶的齐次变换矩阵来表达机器人相邻两连杆的空间关系,从而建立机械臂的运动关系。

    D-H 方法具有普遍适用性,能够清晰描述机器人各个关节之间的变换关系,是各种离线编程软件中经常使用的方法。

    各参数含义如下。

    di:坐标轴Xi−1与坐标轴Xi沿着坐标轴Zi−1的有向距离;ai:坐标轴Zi−1与坐标轴Zi沿着坐标轴Xi的有向距离;αi:坐标轴Zi−1与坐标轴Zi的夹角;θi:坐标轴Xi−1与坐标轴Xi的夹角。

    基于KUKA-KR210机器人结构按照D-H 方法建立坐标系,如图4所示;生成的D-H表见表1

    图  4  KUKA-KR210机器人D-H坐标系图

    进一步可以写成

    $$ {}_{i}^{i-1}\boldsymbol{T}=\left[\begin{array}{cc}\begin{array}{cc}\mathrm{c}{\theta }_{i}& -\mathrm{s}{\theta }_{i}\\ \mathrm{s}{\theta }_{i}\mathrm{c}{\alpha }_{i-1}& \mathrm{c}{\theta }_{i}\mathrm{c}{\alpha }_{i-1}\end{array}& \begin{array}{cc}0& {a}_{i-1}\\ -\mathrm{s}{\alpha }_{i-1}& -{d}_{i}\mathrm{s}{\alpha }_{i-1}\end{array}\\ \begin{array}{cc}\mathrm{s}{\theta }_{i}\mathrm{s}{\alpha }_{i-1}& \mathrm{c}{\theta }_{i}\mathrm{s}{\alpha }_{i-1}\\ 0& 0\end{array}& \begin{array}{cc}\mathrm{c}{\alpha }_{i-1}& {d}_{i}\mathrm{c}{\alpha }_{i-1}\\ 0& 1\end{array}\end{array}\right] $$ (3)

    式中:$ \mathrm{c}{\theta }_{i} $为$ \mathrm{c}\mathrm{o}\mathrm{s}{\theta }_{i} $;$ \mathrm{s}{\theta }_{i} $为$ \mathrm{s}\mathrm{i}\mathrm{n}{\theta }_{i} $,其中$ \theta $可省略,下文中$ {\mathrm{c}}_{i} $为$ \mathrm{c}\mathrm{o}\mathrm{s}{\theta }_{i} $;$ {\mathrm{s}}_{i} $为$ \mathrm{s}\mathrm{i}\mathrm{n}{\theta }_{i} $。

    按照式(3)可计算出KR210-R2700-extra机器人各个连杆变换矩阵。

    表  1  KUKA-KR210机器人连杆参数
    连杆 关节角
    θi/(°)
    扭转角
    αi−1/(°)
    连杆长度
    αi−1/(°)
    连杆偏移量
    di
    关节变化
    范围/(°)
    1 90 0 0 0 −185~185
    2 −90 −90 a1 0 −140~5
    3 180 0 a2 0 −30~245
    4 180 90 a3 d4 −350~350
    5 0 90 0 0 −125~125
    6 0 −90 0 0 −350~350
    下载: 导出CSV 
    | 显示表格

    机器人末端执行器相对基座的变换矩阵$ {}_{6}^{0}\boldsymbol{T} $为

    $$ \begin{split} { }_6^0 \boldsymbol{T}=&{ }_1^0 \boldsymbol{T}_2^1 \boldsymbol{T}_3^2 \boldsymbol{T}_4^3 \boldsymbol{T}_5^4 \boldsymbol{T}_6^5 \boldsymbol{T}=\left[\begin{array}{cc} R & p \\ 0 & 1 \end{array}\right]\\= &\left[\begin{array}{cccc} n_x & o_x & a_x & p_x \\ n_y & o_x & a_x & p_x \\ n_{\textit{z}} & o_x & a_x & p_x \\ 0 & 0 & 0 & 1 \end{array}\right] \end{split} $$ (4)

    机器人逆解的求解过程与正解相反,即已知机器人末端执行器相对于基座的空间位姿,求解机器人各个关节角参数。对于六自由度机器人,逆解的求解会遇到由三角函数构成的非线性方程组,往往求解困难,得不到封闭解。Pieper方法是在此基础上进行研究发现的,如果机器人结构满足3个相邻关节轴相交于一点或3个相邻关节轴相互平行就一定存在解析解。文中使用的KR210-R2700机器人后三轴相交于一点,确定可以得到封闭解[11]

    首先根据末端执行器的空间位姿写出转换矩阵,按照下述步骤依次求解各个关节角。

    步骤1:$ {\theta }_{1} $、$ {\theta }_{2} $、$ {\theta }_{3} $的求解。

    令$ {\left({}_{0}^{1}\boldsymbol{T}\right)}^{-1}{}_{6}^{0}\boldsymbol{T}={}_{2}^{1}\boldsymbol{T}{}_{3}^{2}\boldsymbol{T}{}_{4}^{3}\boldsymbol{T}{}_{5}^{4}\boldsymbol{T}{}_{6}^{5}\boldsymbol{T} $中左右两边第4列相等,可解得

    $$ {\theta }_{1}=\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left[2\right({p}_{y},{p}_{x}\left)\right]-\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left[2\left(0,\pm \sqrt{{p}_{x}^{2}+{p}_{y}^{2}}\right) \right] $$ (5)
    $$ {\theta }_{2}=\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}2-\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left[2\left(k,\pm \sqrt{{p}_{{\textit{z}}}^{2}+{k}_{1}^{2}-{k}^{2}}\right) \right] $$ (6)

    式中:$ k_1=p_x\mathrm{c}_1+p_y\mathrm{s}_1-a_1 $,$ k={k}_{1}^{2}+{p}_{{\textit{z}}}^{2}+{a}_{2}^{2}- {a}_{3}^{2}- {d}_{4}^{2}/2{a}_{2} $。

    在解得$ {\theta }_{2} $后,代入解得$ {\theta }_{23} $,即

    $$ {\theta }_{23}=\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left[2\left({d}_{4},{a}_{3}\right)\right]\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left[2\left({k}_{2},\pm \sqrt{{a}_{3}^{2}+{d}_{4}^{2}-{k}_{2}^{2}}\right)\right] $$ (7)

    式中:$ k_2=p_{\textit{z}}+a_2\mathrm{s}_2 $。

    可以得到,$ {\theta }_{3}={\theta }_{23}-{\theta }_{2} $。

    步骤2:$ {\theta }_{4} $的求解。

    令$ {\left({}_{0}^{1}T{}_{2}^{1}T{}_{3}^{2}T\right)}^{-1}{}_{6}^{0}T={}_{4}^{3}T{}_{5}^{4}T{}_{6}^{5}T $中左右两边第4列相等,可解得

    $$ {-c}_{4}{\mathrm{s}}_{5}={a}_{x}{\mathrm{c}}_{1}{\mathrm{c}}_{23}+{a}_{y}{\mathrm{s}}_{1}{\mathrm{c}}_{23}-{a}_{{\textit{z}}}{\mathrm{s}}_{23} $$ (8)
    $$ {-\mathrm{c}}_{5}={-a}_{x}{\mathrm{c}}_{1}{\mathrm{s}}_{23}-{a}_{y}{\mathrm{s}}_{1}{\mathrm{s}}_{23}-{a}_{{\textit{z}}}{\mathrm{c}}_{23} $$ (9)
    $$ {-\mathrm{s}}_{4}{\mathrm{s}}_{5}={a}_{y}{\mathrm{c}}_{1}-{a}_{x}{\mathrm{s}}_{1} $$ (10)

    根据式(2)可以求解出$ {\mathrm{c}}_{5} $,可根据式(1)和式(3)计算得到,即

    $$ {\theta }_{4}=\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}[2\left({{a}}_{{x}}{\mathrm{s}}_{1}-{{a}}_{{y}}{\mathrm{c}}_{1},-{{a}}_{{x}}{\mathrm{c}}_{1}{\mathrm{c}}_{23}-{{a}}_{{y}}{\mathrm{s}}_{1}{\mathrm{c}}_{23}+{{a}}_{{\textit{z}}}{\mathrm{s}}_{23}\right) ] $$ (11)

    步骤3:$ {\theta }_{5} $的求解。

    令$ {\left({}_{0}^{1}T{}_{2}^{1}T{}_{3}^{2}T{}_{4}^{3}T\right)}^{-1}{}_{6}^{0}T={}_{5}^{4}T{}_{6}^{5}T $中左右两边第3列相等,可解得

    $$ {\mathrm{s}}_{5}={a}_{{\textit{z}}}{\mathrm{c}}_{4}{\mathrm{s}}_{23}-{a}_{y}{(\mathrm{c}}_{1}{\mathrm{s}}_{4}+{{\mathrm{s}}_{1}\mathrm{c}}_{4}{\mathrm{c}}_{23} ) -{a}_{x}({{\mathrm{c}}_{1}\mathrm{c}}_{4}{\mathrm{c}}_{23}-{\mathrm{s}}_{1}{\mathrm{s}}_{4} ) $$ (12)
    $$ {\mathrm{c}}_{5}={a}_{x}{\mathrm{c}}_{1}{\mathrm{s}}_{23}+{a}_{y}{\mathrm{s}}_{1}{\mathrm{s}}_{23}+{a}_{{\textit{z}}}{\mathrm{c}}_{23} $$ (13)

    通过式(4)和式(5)解得$ {\mathrm{s}}_{5} $、$ {\mathrm{c}}_{5} $后,可得

    $$ {\mathrm{\theta }}_{5}=\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}[2\left({\mathrm{s}}_{5},{\mathrm{c}}_{5}\right) ] $$ (14)

    步骤4:$ {\theta }_{6} $的求解。

    令$ {\left({}_{0}^{1}T{}_{2}^{1}T{}_{3}^{2}T{}_{4}^{3}T{}_{5}^{4}T{}_{6}^{5}T\right)}^{-1}{}_{6}^{0}T={}_{6}^{5}T $中左右两边第1列相等,可解得

    $$ \begin{split} &{\mathrm{c}}_{6}={n}_{x}{(-\mathrm{s}}_{1}{\mathrm{s}}_{4}{\mathrm{c}}_{5}+{{\mathrm{c}}_{1}\mathrm{s}}_{23}{\mathrm{s}}_{5}+{{\mathrm{c}}_{1}\mathrm{c}}_{23}{{\mathrm{c}}_{4}\mathrm{c}}_{5} ) +\\ &{n}_{y}{(\mathrm{c}}_{1}{\mathrm{c}}_{4}{\mathrm{s}}_{5}+{{\mathrm{s}}_{1}\mathrm{s}}_{23}{\mathrm{s}}_{5}+{{\mathrm{c}}_{1}\mathrm{c}}_{23}{{\mathrm{c}}_{4}\mathrm{c}}_{5} ) +{n}_{{\textit{z}}}{(\mathrm{c}}_{23}{\mathrm{s}}_{5}-{\mathrm{s}}_{23}{{\mathrm{c}}_{4}\mathrm{c}}_{5} ) \end{split} $$ (15)
    $$ {\mathrm{s}}_{6}={{n}_{{\textit{z}}}\mathrm{s}}_{23}{\mathrm{s}}_{4}{-n}_{x}{(\mathrm{s}}_{1}{\mathrm{c}}_{4}+{{\mathrm{c}}_{1}\mathrm{s}}_{4}{\mathrm{c}}_{23})-{n}_{y}{(-\mathrm{c}}_{1}{\mathrm{c}}_{4}+{{\mathrm{s}}_{1}\mathrm{s}}_{4}{\mathrm{c}}_{23} ) $$ (16)

    联立式(6)和式(7)可得

    $$ {\theta }_{6}=\mathrm{a}\mathrm{r}\mathrm{c}\mathrm{t}\mathrm{a}\mathrm{n}\left[2\left({\mathrm{s}}_{6},{\mathrm{c}}_{6}\right)\right] $$ (17)

    设机器人原姿态的关节角$ {\theta }^{t}=({\theta }_{1}^{t},{\theta }_{2}^{t},{\theta }_{3}^{t},{\theta }_{4}^{t},{\theta }_{5}^{t},{\theta }_{6}^{t}) $,下一姿态的关节角$ {\theta }^{t+1}=({\theta }_{1}^{t+1},{\theta }_{2}^{t+1},{\theta }_{3}^{t+1},{\theta }_{4}^{t+1},{\theta }_{5}^{t+1},{\theta }_{6}^{t+1}) $,用计算最短行程解作为目标函数,使得选择的解是体现每次转动的位移最小。

    基于上文KUKA KR210-R2700机器人运动学模型和算法,在Visual Studio 2015平台下开发了机器人磨抛后置处理系统,系统界面如图5所示,通过加载CATIA生成的前置刀位文件自动生成机器人加工程序,并可针对个别点位通过输入末端位姿,查看该位姿状态下对应的机器人所有逆解情况,机器人逆解界面如图6所示。

    图  5  机器人后置处理主界面
    图  6  机器人逆解界面

    为减少机器人钻孔加工过程反复试切,检验机器人离线编程程序的正确性,基于Vericut构建了虚拟六轴机器人。

    构建虚拟机器人的关键在于分析并理解机器人各个运动组件拓扑结构,该拓扑结构可根据机器人磨抛系统结构关系建立。拓扑结构包括机器人运动轴之间运动关系和相关参数,如各个机器人模型相对位置、主轴轴线位置和旋转轴中心等。正确的机器人拓扑结构是虚拟机器人实现仿真加工运动的关键,是决定仿真结果真实性的关键。机器人磨抛系统拓扑结构如图7所示,可分为机器人部分和装夹部分。

    (1)机器人部分:由机器人基座、6个旋转组件、主轴、末端执行器和刀具组成。A6轴上面安装末端执行器,末端执行器上面加载主轴头和刀具。

    (2)装夹部分:由地基、转台、工装和毛坯组成,工装放置于转台上,毛坯安装固定于工装上。

    基于表1所示机器人D-H表,按规则将数据输入到<从DH表创建机器人结构>表格中。基于D-H表格框架,会自动创建机器人结构,显示为一个连续的锥体,并在Vericut结构树生成机器人拓扑运动链,如图8所示。

    图  7  KUKA KR210_R2700机器人D-H坐标系图
    图  8  从D-H表创建机器人结构

    使用Catia预先完成各部件的导出,依次将各旋转轴部件模型导入对应节点下面,同时完成机器人磨抛系统的搭建以及3个坐标系的设定。分别为绝对坐标系、刀尖坐标系和程序员原点,设定在基体、刀尖和毛坯上面,结构树和生成的机器人运动学模型如图9所示。

    机器人运动学模型搭建后,为使程序驱动机器人运动,必须实现Vericut对程序关键信息的定位识别,因此,需基于程序结构特点,通过控制子程序开发,分离出运动指令信息,并将相应运动信息赋给Vericut匹配的宏指令,以实现程序自动驱动机器人运动。

    图  9  机器人运动学仿真模型

    典型KUKA机器人程序运动目标点位信息:

    DECL E6POS XViaPoint1={x 1772.315557, y 500.0000895, z 1569.999961, a 90.0000027, b 179.9999951, c 0,s 6,t 51,e1 0.0,e2 0.0,e3 0.0,e4 0.0,e5 0.0,e6 0.0};

    部分点位姿态信息提取子程序为

    PROC MoveML(STRING _TAGPT)

    DEF REAL _X,_Y,_Z,_A,_B,_C

    DEF INT POS

    POS=INDEX(_TAGPT,",")

    _X=NUMBER(SUBSTR(_TAGPT,0,POS))

    _TAGPT=SUBSTR(_TAGPT,POS+1)

    POS=INDEX(_TAGPT,",")

    _Y=NUMBER(SUBSTR(_TAGPT,0,POS))

    _TAGPT=SUBSTR(_TAGPT,POS+1)

    ……

    cgtech_macro "SetRobotMotionType" "" 2

    cgtech_macro "XyzPos" "X" #_X

    cgtech_macro "XyzPos" "Y" #_Y

    ……

    cgtech_macro "ProcessMotion"

    cgtech_macro "ReturnFromSub" ""

    为模拟真实环境下的机器人磨抛仿真过程,需基于现场产品坐标系标定矩阵对理论毛坯进行校准变换。

    相机和探头标定后的产品坐标系相对于机器人基坐标系的变换矩阵为M,即

    $$ {\boldsymbol{M}}=\left[\begin{array}{cccc} n_x & o_x & a_x & p_x \\ n_y & o_x & a_x & p_x \\ n_{\textit{z}} & o_x & a_x & p_x \\ 0 & 0 & 0 & 1 \end{array}\right] $$ (18)

    以矩阵M为输入,对<ModelMatrix>矩阵信息进行更改,以实现毛坯位姿的自动调整,通过VCPROJECT文件修改对工件模型位姿进行自动校准,直接驱动机器人进行真实场景下的磨抛仿真模拟。

    零件位姿和加工程序调整后,即可进行磨抛仿真模拟,以验证程序正确性和过程中有无干涉碰撞发生,仿真过程如图10所示。

    图  10  机器人磨抛仿真

    使用柔性工装装夹工件时,工件会存在一定的安装误差,这种安装误差通常大于几毫米,此时按照机器人提前设定的离线程序进行加工,会存在相当大的偏差,因此需要对工件坐标系进行重新标定,确定精确的工件坐标系。然后修改机器人离线程序中工件坐标系的参数,使用新的工件坐标系对工件进行加工。则机器人基本不需要改动离线程序,即可完成整个加工过程。针对大型结构件的机器人加工需求,提供一种结合了视觉测量定位的易用性与接触式测量定位的精确性,利用低成本的3D视觉产品对工件坐标进行粗定位,确定工件的大致坐标系后,再利用机器人抓持接触式测头对工件进行精准定位的机器人加工系统工件快速定位方法。

    工件视觉粗定位是为机器人红宝石测头精定位提供初始数据,是引导机器人实现自动精定位的基础,粗定位的结果是否合理决定了机器人进行精定位时是否会发生误撞现象。该系统首先对工件进行点云采集,并将采集到的点云数据与训练模板点云进行匹配,计算出实际工件位姿与训练模板工件位姿之间的误差,最后将该误差补偿到事先人为建立的工件坐标系中,以此来实现工件粗定位。

    系统使用的是双目结构光立体视觉技术,该技术是一种主动式非接触测量方法。在测量与定位过程中,通过投影设备在物体表面投射预先编译好的结构光图案,系统对采集到的图像进行解码操作计算出每个像素点的深度信息,进而精确快速地获取三维深度信息。双目结构光立体视觉技术因为其处理速度快、硬件成本低和测量结果精度高等优点,在机器视觉三维非接触测量领域具有广阔的应用前景。

    工件粗定位技术主要通过点云配准算法,计算出模板点云与现场点云的误差,修正工件坐标系,判断出现场工件位姿。点云配准即根据原始点云和目标点云,通过配准求出变换矩阵,即旋转矩阵R和平移矩阵T,如图11所示。

    图  11  点云配准

    本系统使用的是ICP点云配准算法,其基本思想是选取两片点云中距离最近的点作为对应点,通过所有对应点对求解旋转和平移变换矩阵,并通过不断迭代的方式使两片点云之间的误差越来越小,直至满足我们提前设定的阈值要求或迭代次数。该方法主要分为两步:

    (1)寻找匹配最近点。利用初始变换或上一次迭代得到的变换对初始点云P进行变换,得到一个临时的变换点云P'。然后用这个点云P'和目标点云Q进行匹配,找出源点云中每一个点在目标点云中的最近邻点作为对应点,为接下来的计算最优变换做准备。

    (2)计算最优变换。在找到最近匹配对应点之后,需要计算使得两片对应点云配准的最优变换参数RT。假设 分别表示源点云和目标点云,则目标优化函数$F\left(t\right) $为最小化变换后对应点之间的距离,即

    $$ F\left(t\right)={\sum _{i=1}^{N}\left|\right|({\boldsymbol{R}}\cdot {p}_{s}^{i}+t)-{p}_{t}^{i}\left|\right|^{2}} $$ (19)

    通过该算即可算出两片点云间的旋转以及平移矩阵,以此来修正工件坐标系,实现工件粗定位,为后续精准定位提供数据基础。

    3D视觉定位的最终目的是得到工件特征的初步位置坐标。首先,判断探针TCP、相机位置以及相机标定是否需要更新;其次,建立工件点云模板,通过算法将现场工件点云与模板点云比对,粗定位工件位姿,初步确定工件特征的位置坐标。最后,通过多次试验,验证粗定位精度,并优化工件点云模板,视觉标定流程如图12所示。

    图  12  视觉标定流程

    用机械臂沿直线进行搜索,当沿直线移动工具中心点时,SearchL(search linear)用于搜索位置。在移动时,机器人会监控一个数字输入信号或持续变量。当信号持续变量的值变为所需值时,机器人立即读取当前位置。当由机械臂固定的工具为用于表面探测的探针时,通常可使用该指令。使用SearchL指令可获得工件的概略坐标。

    使用搜索指令时,重要的是配置I/O系统,以便为设置系统物理信号留以极短的时间,从而获得关于设置的信息(使用I/O设备以及中断控制,而非查询控制)。如何进行上述操作,不同的现场总线可能会采用不同的方法。如果使用DeviceNet,则KUKA单元DSQC 651(AD Combi I/O)和DSQC 652(数字I/O)将留以短暂的时间,因为它们正在使用状态变化型连接。如果使用其他现场总线,则确保以正确的方式来配置网络,从而获得正确的条件。

    根据视觉标定的结果,机器人抓持测量设备,将红宝石触头放置在视觉标定的工件特征孔圆心处,沿设置的程序做直线运动,使用SearchL指令,在测头触碰到圆孔侧壁后停止,测头并记录下当前机器人控制器中坐标数据。然后机器人回到圆心处,沿程序设定的方向进行下一次测量,完成至少3次测量后,获取特征孔三点的位置坐标,(x1, y1)、(x2, y2)、(x3, y3),利用三点法确定圆心位置。得到圆心的精确位置坐标,并完成特征孔的标定工作,标定方法如图13所示,定位流程如图14所示。

    图  13  接触式测量标定圆心方法示意
    $$ \left\{ \begin{gathered} {\left( {{x_0} - {x_1}} \right)^2} + {\left( {{y_0} - {y_1}} \right)^2} = {\left( {{x_0} - {x_2}} \right)^2} + {\left( {{y_0} - {y_2}} \right)^2} \\ {\left( {{x_0} - {x_1}} \right)^2} + {\left( {{y_0} - {y_1}} \right)^2} = {\left( {{x_0} - {x_3}} \right)^2} + {\left( {{y_0} - {y_3}} \right)^2} \\ \end{gathered} \right. $$ (20)

    求解公式后,得到圆心坐标(x0, y0)。

    获得P1P2P3点这3个圆心(X,Y)的坐标值,利用测量的三点建立两个矢量,选择一点为原点。以特征孔1为坐标系原点,矢量1为坐标系X轴,以矢量1与矢量2叉乘得到的矢量为坐标系Z轴。则进一步需要求Y轴,根据右手定则,继续求叉乘得到Y轴参数。

    最后得到3个矢量,将3个矢量归一化,建立坐标系矩阵。

    确定特征孔1为坐标系原点,坐标系相对于Base坐标系的变换为绕Z轴的旋转,可以将坐标系矢量转换为四元数,确定坐标系相对于Base的旋转。

    创建或更新修改工件坐标系参数。因此需要实现标定工件坐标系的精确定位,则至少要标定3个工件特征点。则在工件上再依次选取2个特征孔进行标定。分别获得特征孔圆心坐标。利用三点构造法建立工件坐标系,如图15所示。完成接触测量的精定位过程。至此就完成了对工件特征点的快速定位,引导机器人进行加工。

    图  14  接触式测量定位流程
    图  15  工件坐标系构造方法

    将机床加工完的工件在人工上下料区域利用通过点阵模块柔性工装将待加工工件固定装夹在磨抛机器人旋转工作台上,如图16所示,为保证探头的正常检测,应尽量零件发生过大倾斜,启动回转工作台,将工件送至抛光加工区域。

    针对该零件,由于其上面具备3个相互垂直的平面,因此采用三面方式建立产品坐标系。

    首先利用3D视觉扫描工件,寻找工件特征,进行粗定位,如图17所示,以引导探头进行进一步精确标定。

    图  16  点阵工装快速装夹
    图  17  产品坐标系3D视觉粗标定

    再利用RENISHAW探测触头探测工件特征,对工件进行精确定位,确定工件与机器人基坐标系位置关系,如图18所示。

    图  18  产品坐标系探头精标定

    针对不同的位置,选择合适的加工工具进行加工;大面积加工使用抛光机,狭小空间中使用电主轴配合小型研磨工具。

    基于产品坐标系标定矩阵,通过安装于上位机上的机器人后置处理软件自动对程序进行调整,同时对Vericut仿真环境进行自动更新,以实现加工程序、仿真环境和实际场景的一致性匹配,进行仿真正确性验证后,即可将程序传输给机器人进行磨抛加工,如图19所示。验证了离线编程系统生成的程序和标定方法的正确性,能够快速精确地完成结构件打磨作业,经检测,打磨后零件表面粗糙度Ra为3.2 μm,且厚度变化在0.01 mm之内,满足打磨要求。

    图  19  打磨程序运行

    (1)针对航空结构件机器人打磨中存在的离线编程过程复杂问题,提出一种基于Catia离线编程的机器人打磨轨迹规划方法,并利用自主开发的后置处理软件快速生成打磨程序,通过Vericut开发搭建了机器人磨抛仿真环境,大幅降低了离线编程复杂程度。

    (2)基于3D视觉粗标定和探头精确标定的组合标定策略提高了工件坐标系的标定精度,并通过标定结果实现磨抛程序和仿真环境的快速调整。

    (3)该方法生成的程序能够快速精确完成结构件打磨作业,具有一定的实用性,打磨后零件表面粗糙度Ra为3.2 μm,且厚度变化在0.01 mm之内,满足打磨要求。

  • 图  1   打磨机器人坐标系关系

    图  2   基于Catia的磨抛轨迹规划

    图  3   点位姿态构建

    图  4   KUKA-KR210机器人D-H坐标系图

    图  5   机器人后置处理主界面

    图  6   机器人逆解界面

    图  7   KUKA KR210_R2700机器人D-H坐标系图

    图  8   从D-H表创建机器人结构

    图  9   机器人运动学仿真模型

    图  10   机器人磨抛仿真

    图  11   点云配准

    图  12   视觉标定流程

    图  13   接触式测量标定圆心方法示意

    图  14   接触式测量定位流程

    图  15   工件坐标系构造方法

    图  16   点阵工装快速装夹

    图  17   产品坐标系3D视觉粗标定

    图  18   产品坐标系探头精标定

    图  19   打磨程序运行

    表  1   KUKA-KR210机器人连杆参数

    连杆 关节角
    θi/(°)
    扭转角
    αi−1/(°)
    连杆长度
    αi−1/(°)
    连杆偏移量
    di
    关节变化
    范围/(°)
    1 90 0 0 0 −185~185
    2 −90 −90 a1 0 −140~5
    3 180 0 a2 0 −30~245
    4 180 90 a3 d4 −350~350
    5 0 90 0 0 −125~125
    6 0 −90 0 0 −350~350
    下载: 导出CSV
  • [1]

    Woo S,Hong D,Lee W C,et al. A robotic system for road lane painting[J]. Automation in Construction,2008,17:122-129. DOI: 10.1016/j.autcon.2006.12.003

    [2]

    Pires J N,Godinho T,Ferreira P. CAD interface for automatic robot welding programming[J]. Industrial Robot:An International Journal,2004,31(1):71-76.

    [3]

    Reinhart G,Munzert U,Vogl W. A programing system for robot based remote laser welding with conventional optics[J]. CIRP Annals Manufacturing Technology,2008,57:37-40. DOI: 10.1016/j.cirp.2008.03.120

    [4]

    Fang H C,Ong S K,Nee A Y C. Interactive robot trajectory planning and simulation using augmented reality[J]. Robotics and Computer Integrated Manufacturing,2012,28:227-237. DOI: 10.1016/j.rcim.2011.09.003

    [5] 王伟东,钱东海. 基于Open Inventor 的机器人运动学仿真和轨迹规划研究[J]. 机械与电子,2010,5(1):59-63.
    [6] 周孝成,孟正大. KUKA 机器人运动学算法研究[J]. 工业控制计算机,2014,27(9):95-100. DOI: 10.3969/j.issn.1001-182X.2014.09.044
    [7] 王引,仇晓黎,刘明灯,等. 基于NC 代码的工业机器人加工轨迹规划研究[J]. 组合机床与自动化加工技术,2012(8):14-17. DOI: 10.3969/j.issn.1001-2265.2012.08.004
    [8] 赵东波,熊有伦. 机器人离线编程系统的研究[J]. 机器人,1997(4):314-320. DOI: 10.3321/j.issn:1002-0446.1997.04.001
    [9] 卢正君. 基于CAD的机器人离线编程与仿真系统设计[D]. 南京:东南大学,2010.
    [10]

    Denavit J,Hartenberg R S. A kinematic notation for lower-pair mechanisms based on matrices[J]. Journal of Applied Mechanics,1995,21(5):215-221.

    [11]

    King R S. BiLBIQ:a biologically inspired robot with walking and rolling locomotion[M]. Germany:Springer,2012.

图(19)  /  表(1)
计量
  • 文章访问数:  67
  • HTML全文浏览量:  10
  • PDF下载量:  28
  • 被引次数: 0
出版历程
  • 修回日期:  2024-04-15
  • 录用日期:  2024-07-10
  • 网络出版日期:  2024-09-22
  • 刊出日期:  2024-09-01

目录

/

返回文章
返回