校准理论

轨迹校准问题的定义

校准的问题主要就是确定物理个体在机器人坐标系统中的真实位置。产生这个问题的原因,在于每一个机器人本体都有其独有的笛卡尔坐标系统。举例来说,一个机器人通过编程可以实现贴着某个物体的边沿运动,这个物体由CAD建模。物体的位置已经在建模的时候虚拟的使用了机器人的坐标系统,机器人的轨迹编程也是基于这个坐标系统进行的。但是,这种情况下的虚拟定义的位置,并不是同真实机器人的位置是一致的,也就是说在真实的物理情况下,这个位置需要重新校准。

一个用来校准物体的方法是更新在物理体的参考点。这些参考点同时在虚拟的CAD数据上和现实中的物理实体中定义。通过定位机器人与这些参考点的位置,来重新定位真实物理环境下的物体位置。一般来说,为了同时能够确定物体的姿态,至少需要有三个这样的点。

具体的应用,比如汽车仪表盘的3D铣削这样的应用,在离线编程的同时使用胎具上的三个点作为CAD数据参考点,在实际环境中,胎具上也同时在相应的位置加工三个点,当离线编程完成后,校准轨迹时只要校准这三个点就可以了。一般而言,这三个参考点,可以看作是工件坐标系的局部坐标,轨迹点以这三个点确定的坐标系为参考进行编程。

试想一下一个线性机器人轴的运动轨迹,是一条在离线环境下编程的出来的直线。正如之前提到的理论,在真实的环境中,机器人的运动轨迹并非是一条完美的直线。但是,实际上伺服控制器还是会将这个运动解释成一条完美的直线运动。实际情况下,机器人真实运动的轨迹与理论计算之间的轨迹,是有偏差的。


试想一个需要进行加工的工件,是在离线环境下编程与定义的,这个工件与机器人的位置,就是基于虚拟的机器人基点来确定的。在这样一种情况下,离线生成的机器人轨迹,在真实应用中与需要达到的轨迹之间,必然是有偏差的。换言之,离线生成的机器人轨迹是无法控制机器人沿着真实轨迹运动的,两者之间是有偏差的。为了修正这个偏差,使机器人沿着真实需要的轨迹运动,我们就必需对离线生成的轨迹进行校准。

通过机器人的校准,机器人可以接近这个位置。一个准确的修正值可以让机器人几乎完美的贴合工件的原点。

但是,这样做有一个劣势。试想在这个工作区域内,还有一个新的工件。这个工件位置也是基于CAD模型确定的,但是这个新的工件与老的工件之间有一定的距离。在大部分的情况下,机器人是无法自动修正与第二个工件之间的偏差的。这是因为机器人本身的直线运动,就不是一个完美的直线运动。所以,基于第一个物体的校准,无法使用在其他的物体坐标系下。

为了校准多个加工工件,必须为每一个工件建立一个局部坐标系统,对于每一个局部坐标系统,都必须进行独立的校准。每一个校准后的局部坐标系统,真离线编程的轨迹,最能贴近其真实轨迹局部的非线性偏差。但是,局部坐标系统不能设置的很大,太大则因为机器人奇异点的存在,产生其他的偏差。

校准实战

在实际的工业机器人应用领域里,为了能够很好的控制一个机械手臂实现良好的轨迹运动,需要设定一个坐标系统,这个坐标系统用来定义机器人在空间的位置,当前大家公认的都是使用笛卡尔坐标系。对于每一台工业机器人来说,这个坐标系统或多或少的是私有的,每一台都不一样。形成这个的原因,在于机械加工与装配过程中,会产生一些误差,并且机器人在安装过程中,也会产生相应的误差。所以,对于一些精密的机器人应用,同样型号的机器人更换,以前的物理轨迹也不一定能够完全匹配,需要重新校准。

目前应用最多的机器人编程方法,是示教编程和离线编程.两种编程方法,对于机器人轨迹的校准要求是不同的,这里我们来谈一谈如何优雅的校准工业机器人的轨迹。

1. 编程方法

1.1 示教编程

使用传统的示教编程方式,机械的误差一般不会对轨迹产生较大的影响。这是因为示教是使用实际的机器人与工件,在当前的情况下获得实际的物理空间位置。

示教编程的方法一般是:

  • 使用示教器将机器人移动到需要的位置
  • 当机器人已经在需要的位置时,记录下当前的位置,保存在机器人控制器中
  • 重复1和2直到所有的轨迹点都被示教保存完毕

这种示教的轨迹编程方法得到的轨迹点,其实是和机械的位置无关的,关注的是机器人与工件之间的实际物理位置,而得到的这条轨迹,与机器人伺服马达生成的轨迹,是有差别的。

图1-1 存储在机器人控制器里面的轨迹点与真实的物理轨迹之间的差别

在示教编程中,对机器人各轴运动精度的非线性影响,可以通过增加点的方式来减少误差。在一条轨迹上密集的增加点,可以强制机器人通过轨迹,通过这种方式,可以让机器人的实际运动尽可能的逼近实际轨迹。

图1-2 非线性的机器人轴的运动,可以通过插补变线线性运动。

通过在轨迹线上增加点的数量,非线性的影响可以被减少到和示教编程一致。但是,示教编程一般只适用于当前这台机器人。如果机器人需要更换,保存在程序的中的轨变点并不一定完全可以适用新的机器人。这是因为,每一台工业机器人的笛卡尔坐标系统都是唯一的。如果要完全适用,必须要保证新的机器人的各类误差与替换掉的机器人完全一致,但这是不可能的。因此,所有的轨迹点都必须重复校验过一次,甚至重新示教过后,才可以重新使用。

总的来说,传统的示教编程方式校准,是基于现实应用的。所以,真实轨迹与伺服控制器生成轨迹之间的误差,对于机器人编程来说,并不是一个问题。所以,通常很多人讲机器人的精度,关注的都是机器人的重复定位精度。但是,示教编程有一定的局限性:

  • 轨迹示教必须要等机器人与工件完全安装到位后才进行
  • 非常耗时耗力
  • 示教人员需要非常熟悉工业机器人的编程
  • 示教的轨迹只适用于当前状态
  • 如果机器人与工件或者夹具之间的位置改变,所有的轨迹点必须重新示教


图1-3 白车身焊接生成线

图1-3的白车身焊接生产线,轨迹相当的复杂,点的数目也多的惊人。机器人数量之多,轨迹之复杂,如果使用示教来做,工作量是相当的大的,并且维护起来也相当的麻烦。所以,寻找一种快速并且精确的机器人轨迹编程与校准方法,对于这一类复杂的应用相当的重要。

1.2 离线编程

基于这种缩短机器人编程周期的目的,利用三维模型,在更短的时间内,使用高级的图形编程工具编写复杂的机器人程序是一种趋势。使用这种方法,主要的应用程序可以在安装之前进行编制,同时可以在项目初期进行模拟仿真,进行可行性的分析,并且可以直接输出安装图纸。

图1-4 使用机器人仿真软件生成的完整的机器人系统

大部分应用中,坐标系统的原点都会设置的机器人的原点,如图1-5中所示的ABB机器人手臂,坐标系统的原点在机器人的底部基座的中心,同时生产单元的原点也虚拟的设置在这个位置。

图1-5 机器人的原点就在基座的底部中心

在之后的机器人编程中,机器人的程序是基于这个虚拟的安装位置生成的,离线生成的轨迹点会传输到机器人伺服控制器。相对于示教的基于实际安装位置来说,离线编程要简单轻量的多。

但是,虚拟环境下生成的机器人轨迹程序,在大部分应用的情况下,是不能直接导入到控制器中,应用于实际环境的。由于真实安装存在的误差,离线轨迹与实际需要的轨迹,在没有经过校准之前,是不匹配的。因此,需要在机器人完全安装守毕后进行轨迹校准。

轨迹的偏差有两方面:一部分是机器人本体与虚拟机器人的误差,另一部分是虚拟机器人安装位置与实际安装位置之间的误差。

机器人本体与虚拟机器人的误差:

由机器人机械结构引起的机器人坐标系统的位置与位姿与机器人原点之点的误差
非线性运动的误差。在离线生成的轨迹中,机器人是假定有完美的线性运动的。
虚拟机器人安装位置与实际安装位置之间的误差:

工件或者夹具实际安装位置和尺寸,与3D之间的误差

2. 机器人控制系统

2.1 基本逻辑

上图就表示了一个机器人控制系统。需要让机器人执行相应的指令,需要有一个机器人的指令代码。机器人的高级应用语言最早的应该是Unimation的VAL, 其后引出了VAL3(现属于Staubli)和V+(属于Adept), 还有ABB的Rapid等.

2.2 机器人坐标系统

为了确定和控制机器人的空间位置,我们使用的是三维的笛卡尔坐标系统。基础坐标系统,我们称之为世界坐标系统,与机器人使用有关的有:

  • 基坐标系统
  • 手腕坐标系统
  • 工具坐标系统
  • 用户和工件坐标系统

2.2.1 基坐标系统

基坐标系统定义机器人在世界坐标系的位置与姿态,默认的情况是基坐标系统与世界坐标系统重合。

2.2.2 手腕坐标系统

手腕坐标系统定义了机器人手腕在世界坐标系统中的位置,一般这个坐标系固定在手腕法兰上。

2.2.3 工具坐标系统

工具坐标系统定义了工具是如何安装在机器人手腕的法兰盘上的。在机器人系统中,使用工具坐标系统定义工具是在什么位置,以何种姿态使用在世界坐标系统中的。

2.2.4 用户和工件坐标系统

用户和工件坐标系统,在ABB RAPID系统中统称为work object.用户坐标系统User frame是定义在世界坐标系统中的用户坐标系统,相应的工件坐标坐标系统是定义在用户坐标系统User Frame里面的坐标系统。

在实际的应用中,这两个系统使用的最为频繁,用来校准机器人的轨迹。

3. 机器人校准方法

为了定义一个物体在机器人坐标系统的位姿,目前有很多种方法使用,这里我们将介绍8种方法。

3.1 校准的经济价值

投资机器人自动化的大部分目的,都在于提高生产率与提高质量,宕机时间是这个目的的最大拌脚石。所以,当机器人出现问题时,需要快速的恢复生产,必然涉及到机器人轨迹的校准,如何快速精确的校准轨迹,就是提高经济价值.

机器人应用的一些设计原则:

  • 如果机器人坏了,必须要可以被替换。通过快速校准,生产线需要可以快速恢复生产。
  • 机器人轨迹程序,需要可以周期性的进行校准验证。这可以保证校准这个过- 程,是可以重复进行的,通过验证可以确保生产的质量。
  • 快速的校准,意味着减少换模时间,也意味着减少停机时间。
  • 程序的设计必须要保证机器人的替换不需要校准或者校验每一个轨迹点。

3.2 校准方法

3.2.1手动校准

手动校准,是传统意义上最为有效的一种校准方式。简单来讲,这种方式需要移动机器人的TCP到一个参考点,一般这个点是一个尖点。但是这种校准的方式无法满足对于精度的高效需求,校准的结果也受制于不同的人。

但是,在很多的实际应用中,这也是一种最有效的方式。特别是当机器人应用程序,不需要非常高的精度的时候,比如应用在铣削这种应用里面。

手动校准的优势在于简单与经济,其劣势则是非常依赖于工程师同时很耗时。

3.2.2 使用牛眼系统校准TCP

牛眼是一套用来校准和定义工具中心点及其姿态(TCP)的工具。工具中心(TCP)是工具坐标系的原点,这个原点在手腕坐标系中的位置。牛眼的方法,仅仅适用于工具沿其中心线有一定的偏心。

牛眼系统是基于激光技术开发的,通过移动工具穿过激光束,工具的物理宽度马上可以被得到;通过测量宽度的slices,偏心线也能很快的得到。基于确认中心线,工具的姿态也就很容易的确定了。

总的来说,牛眼系统是用来定义工具的中心线和末端点的。基于这个基础,这种方法无法找到一个测试头的圆弧中心。但是,它可以定义X,Y中心线,和Z轴的终端点。换句话说,如果测试头的半径是已知的,那么TCP可以通过计算得到。

优势:

  • 可以在工具坐标系中很精确的定义TCP的X和Y轴
  • 可以定义偏心中心线的姿态

劣势:

  • 价格相对较贵
  • 需要时间安装
  • 只适用于偏心工具

3.2.3 使用力反馈校准

力反馈的校准方式,需要在机器人上安装一个力反馈传感器,用来探测机器人接触物体时的作用力,通俗的讲就是机器人可以感知到有多大的力接触到物体。一般来说,这种校准方式会在表面处理应用中使用,比如去毛刺,磨削和抛光。

使用力反馈的校准系统可以自动的定义工具的TCP,同时也能定义工件坐标系统。

优势:

  • 精度高,基于机器人本身精度的不同,可以达到+/- 0.05~0.15 mm
  • 可以用来定义Work object
  • 无需操作人员干预

劣势:

  • 需要配备额外的设备,比如TCP测试装置
  • 必须配备力反馈装置,同时需要额外编程

3.2.4 使用激光校准Laser LAB

激光校准是一种基于激光的校准技术。这种方式,需要有叫做Laser LAB的测试装置和一个测试球体。Laser LAB这个测量装置包含有5个独立的激光传感器,5个激光传感器成正五边形放置,汇于一点。

通过把测量球放在激光测量装置里,球表面的位置可以马上被定义,通过定义球表面的位置,球的位置也马上容易被定义。

优势:

  • 高精度,一般可以达到+/- 0.1 mm
  • 可以同时测量TCP和夹具
  • 不需要人工干预
  • 容易操作

劣势:

  • 需要额外装配
  • 需要时间安装
  • 需要投入

3.2.5 绝对校准

绝对校准也是一种基于激光的校准方法。使用激光追踪,可以在机器人工作区域中同时定义几个不同的坐标位置。通过比较机器人控制器的理论位置与机器人法兰在空间的实际位置,可以得到一系列机器人轴实际位置与理论位置之间的空间变换参数。这些参数可以用来补偿机器人的定位,同时也可以补偿机器人的运动轨迹。换句说,经过绝对校准后的机器人,TCP在空间的实际位置基本上与控制器的理论位置可以接近。

优势:

  • 精度一般可以达到0.2-0.3mm
  • 降低各轴的非线性误差,一般来说轨迹精度可以提高到0.5mm
  • 不需要人员干预

劣势:

  • 需要额外的设备
  • 安装非常重要
  • 需要特殊的测量空间

3.2.6 使用PosEye系统校准

PosEye系统使用一个已知特征的参考系统来测量传感器的位置与姿态。其测量的原理与GPS全球定位系统类似。传感器或者参考系统或者两者一起移动,是这个测量的关键。
大部分的3自由度或者6自动度测量系统使用的方法,都是考虑物体聚焦于不远处的一个外部系统。这些方法有一些一些优势,但是无法对物体的姿态进行高精密的测试,更不用说能够重复姿态测量了。

PosEye是一种由内而外的系统,可以得到完美的姿态测量和位置测量。PosEye传感器放置在聚焦点上,对于机器人来说则一般是安装在法兰上。而参考系统则一般固定在周围环境,比如说一面墙上的多个黑点。

优势:

  • 高精度
  • 可以测量6个自由度,意味着可以很容易的测量位置和姿态的参数。

劣势:

  • 需要额外的装备
  • 传感器需要可见光
  • 参考点必须固定且不能移动
  • 需要安装
  • 需要钱

3.2.7 ABB Navigator校准

机器人校准通常会使用机器人作为测量工具,一般使用机器人去获得校准点。Navigator就是一种自动,用户可以自定义的精密手动校准技术。

与手动校准不同的是,Navigator不是让用户手动的去得到校准点,相反的机器人会安装有一个球形的探头,同时机器人工作单元会设计好用来放置探头的孔。

探头是一个触觉传感器,就是说探头与孔的接触会让机器人停止。

优势:

  • 无须人工干预
  • 容易操作

劣势:

  • 需要设计增加额外装备
  • 需要额外校准TCP

4. 校准方法的总结

实际应用的校准方法,按照应用要求的不同而实际选择,不一而足。

翻译自: