当前工业机器人的编程方式主要有2种:示教编程和离线编程。示教编程需要示教者利用手持编程器在线设定机器人的运行轨迹,其优点为操作直接,但只能进行直线、圆弧组成的轨迹的编程,对于复杂轨迹,示教过程将相当繁琐,也很难实现高精度的示教再现轨迹。离线编程不需要在线对机器人进行编程,它利用CAD技术建立机器人和工件的三维几何模型,再通过机器人真实的运动学参数模拟机器人运行轨迹,然后将运行轨迹转化为机器人可以执行的程序,以达到机器人编程的目的。离线编程的缺点是需要较高精度机器人和工件的三维模型及二者的相对位置关系,一旦焊件位置与原始位置出现偏差,将严重影响焊接质量[2, 3]。另外,由于示教编程和离线编程方式要花费大量的时间调试和测试,在实际工作中往往会限制生产效率。
为解决工业机器人应用的局限性,研究人员尝试为机器人配备更多的传感器,以获得更多的环境感知信息,使其实现机器人自主编程和运动,从而简化机器人编程调试过程。目前使用最多的是视觉传感器,通过视觉传感器采集图像,利用图像处理算法提取所需信息,然后获取机器人目标路径数据,以实现机器人的自主移动。West最早开发了基于双目立体视觉的机器人路径规划系统,通过对跟踪目标三维视觉建模,实现焊接机器人对焊机轨迹的自主追踪[4]。随着光照、材质的改变,即使是同一形状的焊缝,在图像上也表现出很大的差异,这使得单纯以视觉传感器对机器人进行路径规划的方式很难获得广泛应用。为此研究人员尝试用激光、结构光辅助的方式降低直接通过视觉检测的难度[5, 6, 7]。除了增加成本外,对于复杂的工件,激光和结构光很容易发生遮挡,使得这种方式的使用受到一定程度的限制。另外,当前研究中,以视觉传感器对机器人路径规划的过程中,提取的信息只包括目标路径的位置信息,即只能对机器人末端的位置自主控制,而不能对其姿态自主给定,这也在一定程度上降低了机器人自主移动的灵活性。
为此,本文提出了一种基于双目视觉引导的示教编程方式,以实现对目标路径信息位置和姿态的示教编程。这种编程方式不需要操作人员对机器人有很深入的了解,也不需要掌握相关的编程知识,极大地降低了机器人操作的门槛,也降低了机器人运行和维护的成本。另外,由于双目视觉系统不是直接从环境中提取信息,而是通过识别特定的示教工具,这将极大降低图像处理的复杂性,所以也在一定程度上保证了系统的鲁棒性。
1 双目视觉引导首先通过双目视觉系统完成对示教工具的识别与追踪,然后建立双目视觉空间与机器人空间的坐标映射关系,从而完成示教工具对机器人的引导。
1.1 双目视觉系统所使用的双目视觉系统为加拿大Clearn公司的MicronTracker,该双目视觉系统定义了一个相机坐标系,如图 1所示,坐标系的Z轴垂直于2个摄像头所在的平面向外,X轴指向左侧的摄像头,Y轴符合右手规则。通过图像处理算法,MicronTracker可以精确地定位由黑白棋盘格组成的特定图案。黑白棋盘格的交点定义为Xpoint。在Xpoint处相交的2条线中,从Xpoint向外看,左边为黑、右边为白的线定义为BW Xline,反之则定义为WB Xline(见图 2(b))。若其中一个Xpoint处的BW Xline沿着另一个Xpoint的WB Xline,则可定义一个向量Vector(见图 2(c))。已知不共线的2个向量可以确定一个平面,如图 2(a)所示,首尾相接的2个模不相等的向量即可确定一个坐标系。坐标系的原点位于模较大向量的中点,z轴定义为垂直于2个向量所在平面向里,x轴沿着模较大向量,y轴由右手法则确定,则按照以上设计原则,将确定了坐标系的棋盘格图案定义为Marker,按照规定,2个向量需具有不同的长度[8]。
图 1 MicronTracker双目视觉系统Fig. 1 MicronTracker stereo vision system |
图选项 |
图 2 识别模板Fig. 2 Detection template |
图选项 |
1.2 示教工具的识别按照Marker的设计原则,设计合适的棋盘格图案就可以被MicronTracker所识别。图 3为示教系统中采用的示教工具,工具上粘贴了特定尺寸的Marker。由Marker确定了一个坐标系O,其坐标轴方向如图 3所示。示教系统中,通过提取示教工具的末端位姿信息作为机器人路径规划的依据。为了由Marker获取示教工具的末端位姿,引入了一个新的棋盘格图案TT Block。TT Block由2个交叉的向量构成,2个向量的交点处可确定一个垂直于向量所在平面过交叉点的向量集合s。当示教工具末端垂直于TT Block且过交叉点时,即s平行于Marker坐标系x轴,规定坐标原点为交叉点Q,x轴、y轴、z轴方向分别为坐标系O的y轴、-z轴和-x轴方向,则坐标系Q即为末端变量标记的坐标系。通过坐标转换即可求得末端变量标记在MicronTracker下的位姿信息。
图 3 工具识别和坐标系的定义Fig. 3 Tool detection and coordinate definition |
图选项 |
2 坐标映射为求得双目视觉系统空间到机器人空间的坐标变换矩阵,可以利用坐标奇异值分解(Singular Value Decomposition,SVD)法求解[9]。设P和Q分别为同一点集在双目视觉和机器人空间下的坐标表示,点集数为N(3×N矩阵),pi和qi分别为点集P和Q下的第i个点的三维坐标(3×1列向量),设2个坐标系之间的映射矩阵为T(R,t),其中R为旋转矩阵,t为平移向量,则求解方程最优化问题就可求出R和t。
利用SVD法进行求解,具体的算法流程如下:
1) 计算P和Q的重心。
2) 构造P和Q的协方差矩阵。
3) 设H的SVD为H=UΛVT,令
另外,当H不满秩时,S的取值为
4) 可得到R=VSUT,t=p0-R×q0。
以上算法可以求出满足条件的R和t,从而得到映射矩阵T为
3 示教程序自动生成普通的在线示教编程过程是由手持编程器控制机器人依次移动至示教点位置,然后插入相应的示教指令,待示教编程结束,运行生成的示教程序就可重复之前的示教路径。根据此思路,在示教点位姿已知的情况下,即可以自动生成示教程序。另外,只要示教点足够稠密(试验过程中,相邻2个示教点的间隔不大于1mm),可以忽略示教曲线的特征,即不论是直线、圆弧还是其他不规则的曲线,都采用逐点直线插值的方式进行,这也解决了普通示教编程只能针对直线和圆弧示教的缺陷。
在示教过程中,需要示教者尽量匀速移动示教工具,在示教工具的引导下会形成一条三维轨迹点集。如果不加处理直接利用这些点集进行示教,将导致大量数据冗余。为提高精度并减少数据点个数,利用直方图方法对采集到的轨迹点数据进行时间分布密度统计处理,然后用中值滤波算法对轨迹点集做优化,最后将处理后的数据点转化为机器人控制器可以执行的文件。
3.1 示教轨迹预处理由于人为因素或者数据采样速率的波动,示教工具移动过程中单位时间内采集到的坐标点数目并不相等,则轨迹点集的直方图可表示为
式中:Δi为第i个时间间隔;ni为Δi时间内数据点的个数;F为直方图函数。根据实际情况对Δi的值进行调整。
设在Δi时刻内所包含的轨迹点集样本为x(j-N),x(j-N+1),…,x(j),…,x(j+N),且已按照大小顺序排列,则取中心位置的1个或若干个对其求均值,得到Δi时刻轨迹点集合滤波后的值。滤波后点集数据即可作为机器人的位姿数据进行示教。
3.2 JOB文件生成将机器人末端位姿数据转化为机器人可以执行的文件,然后将可执行文件载入机器人控制器,以达到对机器人实时控制的目的。以MOTOMAN机器人为例,其控制器可执行的文件为.JOB类型的文件[10, 11],JOB文件格式如下:
/JOB
//NAME**
//POS
///NPOS C,BC,EC,PO,BP,EX
///TOOL N
///POSTYPE**
///
PT***=X,Y,Z,Rx,Ry,Rz
BC****=X0,Y0,Z0
……
//INST
///DATE YYYY/MM/DD HH:MM
///ATTR SC,RW
///GROUP1 RB1
NOP
MOVL PT**,V=** PL=**
……
END
通过示教工具提取的数据即为变量PT所代表的位置和方向数据,对PT赋值,并对MOVL指令中的其他变量进行设置,即可完成示教程序自动生成。
4 试验验证和误差分析本文以安川公司的MOTOMAN HP3型机器人作为示教编程研究对象。机器人为6轴。负载为3kg的臂型垂直关节的工业机器人常用于焊接、搬运和分拣等工业生产过程中。试验中,在示教工具的引导下,控制机器人完成对空间曲线的追踪,并验证这种示教方式的精度。
4.1 试验方案首先在一张A4纸上打印一个半径为80mm的黑色圆及其圆心,然后将这张A4白纸粘贴在一个与水平面有一定夹角的平板上,用示教工具沿着曲线进行示教,如图 4所示。示教结束以后,自动生成示教程序,然后将程序下载到机器人控制器对机器人进行控制。为了便于观察示教结果,在机器人末端安装了一支红色的水彩笔作为末端执行器,机器人执行完示教程序后会在白纸上留下红色的轨迹(见图 5)。最后通过分析,红色曲线到黑色圆圆心的差值即可作为评估示教程序精度的依据。
图 4 利用示教工具进行示教Fig. 4 Teaching with teaching tool |
图选项 |
图 5 机器人执行示教程序Fig. 5 Robot executing teaching program |
图选项 |
4.2 求映射矩阵T机器人坐标系和双目视觉系统坐标系之间高精度的映射矩阵是系统获取高精度的关键。采用SVD法求2个刚体坐标系之间的变换矩阵,根据算法原理,所选取的用于计算变换矩阵的点(称为基准点)数目越多,其变换矩阵精度越高,但由于基准点自身定位精度的限制,当基准点数目增加到10个左右时,变换矩阵的精度不再进一步提高[12]。试验中,在摄像头空间和机器人空间各选一一对应的8组基准点对,用于求映射矩阵T。
选择的基准点对如表 1所示。
表 1 基准点坐标Table 1 Fiducial points coordinates
坐标空间 | x/mm | y/mm | z/mm |
摄像头空间 | 91.903256 | -96.66610 | 628.6399 |
126.583750 | 32.45904 | 538.6166 | |
113.081520 | -57.80070 | 580.7874 | |
100.987710 | -16.97080 | 664.8106 | |
100.267250 | -58.89560 | 692.2673 | |
71.121134 | -146.69400 | 748.0332 | |
88.195925 | -73.02570 | 776.2479 | |
125.181000 | 15.28276 | 738.9809 | |
机器人空间 | 594.063475 | -157.225966 | 322.797628 |
581.325489 | 1.551304 | 348.461613 | |
582.653762 | -99.276822 | 350.217200 | |
584.792773 | -100.864280 | 256.164144 | |
579.309419 | -149.879246 | 250.264059 | |
593.787355 | -255.967798 | 236.468432 | |
577.895234 | -200.807907 | 180.335079 | |
552.693035 | -100.741871 | 177.916597 |
表选项
计算所得的从摄像头空间到机器人空间的映射矩阵为
将基准点代入所求得的映射矩阵,即可求出基准点的映射误差。例如,取摄像头空间下的某个基准点坐标代入映射矩阵即可求出对应机器人空间下的基准点坐标,则机器人空间下新获得的基准点与原基准点之间的距离定义为基准点的映射误差。虽然基准点映射误差不能用于预测待求点的映射误差,但可以在一定程度上反映映射矩阵精度的大致范围[13],如图 6所示,基准点映射误差最小为0.15mm,最大为0.39mm。
图 6 基准点误差Fig. 6 Fiducial pionts error |
图选项 |
4.3 示教数据预处理通过示教工具可获得大量的轨迹点数据,在用这些数据对机器人进行示教之前需要先对其进行处理,即先对数据进行直方图分析,然后采用中值滤波做优化处理,处理前后的轨迹数据如图 7所示。
图 7 轨迹示意图Fig. 7 Schematic of trajectory |
图选项 |
4.4 误差分析运行完示教程序后,机器人末端的水彩笔便在A4纸留下红色轨迹线,比较红色轨迹和灰色轨迹之差就可评估机器人示教精度。为了简化运算,提高测量的精度,试验中采用分辨率较高的单目彩色摄像头对轨迹进行测量。图 8(a)为机器人运动的目标轨迹,图 8(b)为经过示教工具引导后机器人运动的实际轨迹,图 8(c)为将实际轨迹利用形态学Skeleton算法细化后得到的轨迹上的骨干点[14, 15]。通过求每一个骨干点到圆心的距离,距离与半径(试验中圆的半径为80mm)之差即为机器人示教轨迹的精度。
图 8 示教前后及细化后的轨迹Fig. 8 Teaching trajectories under different situations |
图选项 |
图 9为示教编程的轨迹误差示意图。误差值最大为-1.18mm,经计算其均方根误差为0.47mm。虽然所求的误差不能完全等同于整个机器人示教系统的绝对定位精度,但可以近似代替系统定位精度的范围。
图 9 示教编程的轨迹误差Fig. 9 Error of teaching programming trajectory |
图选项 |
5 结 论1) 结合工业机器人目前常用的示教编程和离线编程的优缺点,利用双目视觉引导的方式实现示教编程,极大提高了示教编程效率。
2) 所采用的示教方法不但可以对目标轨迹点位置进行示教,还可以对轨迹点处的姿态进行示教,提高了机器人工作的灵活性。
3) 借助示教工具,减少了机器人工作内容对示教编程的影响,由于示教工具的特殊设计,也最大限度地降低了工作环境中光照对示教编程的影响。
4) 试验中,机器人在双目视觉引导下完成对特定轨迹的示教编程,轨迹跟踪误差最大为-1.18mm,均方根误差为0.47mm。通过分析,人手本身的抖动和偏移给整个系统带来了很大程度的误差。在高精度的应用场合,如实际焊接应用中,为了减少人为因素对示教工具末端精度的影响,可根据不同的焊缝宽度将示教工具末端设计成相应直径的球,以使得示教工具末端卡在焊缝从而达到提高精度的目的。
参考文献
[1] | 许燕玲,林涛,陈善本. 焊接机器人应用现状与研究发展趋势[J].金属加工(热加工),2010(8):32-36. XU Y L,LIN T,CHEN S B.An overview on weld robot[J].MW Metal Forming,2010(8):32-36(in Chinese). |
Cited By in Cnki (70) | |
[2] | PAN Z, POLDEN J,LARKIN N,et al.Recent progress on programming methods for industrial robots[J].Robotics and Computer-Integrated Manufacturing,2012,28(2):87-94. |
Click to display the text | |
[3] | KOHRT C, STAMP R,PIPE A G,et al.An online robot trajectory planning and programming support system for industrial use[J].Robotics and Computer-Integrated Manufacturing,2013,29(1):71-79. |
Click to display the text | |
[4] | CHEN S B, QIU T,LIN T,et al.Intelligent technologies for robotic welding[M]//TZYH-JONG T,SHAN-BEN C,ZHOU C J.Robotic welding,intelligence and automation.Berlin:Springer,2004:123-143. |
[5] | CHEN S B, ZHANG Y,LIN T,et al.Welding robotic systems with visual sensing and real-time control of dynamic weld pool during pulsed GTAW[J].International Journal of Robotics and Automation,2004,19(1):28-35. |
[6] | 鞠益兰,程金松. 结构光式激光视觉传感器的焊缝跟踪系统[J].电焊机,2002,32(5):9-11. JU Y L,CHENG J S.Seam track system of laser optical sensor with structured light[J].Electric Welding Machine,2002,32(5):9-11(in Chinese). |
Cited By in Cnki (39) | Click to display the text | |
[7] | HUANG W, KOVACEVIC R.Development of a real-time laser-based machine vision system to monitor and control welding processes[J].International Journal of Advanced Manufacturing Technology,2012,63(1-4):235-248. |
Click to display the text | |
[8] | Claron Technology Inc. MicronTracker developer's manual[M].Toronto:Claron Technology Inc.,2006:25-36. |
[9] | KALMAN D. A singularly valuable decomposition:The SVD of a matrix[J].College Math Journal,1996,27(1):2-23. |
Click to display the text | |
[10] | 李燕青,计时鸣. MOTOMAN机器人实时控制的方法研究[J].机电工程,2007,24(7):78-81. LI Y Q,JI S M.Research on real-time control of MOTOMAN robot[J].Mechanical & Electrical Engineering Magazine,2007,24(7):78-81(in Chinese). |
Cited By in Cnki (7) | Click to display the text | |
[11] | 胡中华,陈焕明,许明星,等. 弧焊机器人MOTOMAN示教编程方法[J].电焊机,2006,36(3):40-42. HU Z H,CHEN H M,XU M X,et al.Programming method for arc welding robot of MOTOMAN teaching[J].Electric Welding Machine,2006,36(3):40-42(in Chinese). |
Cited By in Cnki (16) | Click to display the text | |
[12] | WEST J B, FITZPATRICK J M,TOMS S A,et al.Fiducial point placement and the accuracy of point-based,rigid body registration[J].Neurosurgery,2001,48(4):810-816. |
>Click to display the text | |
[13] | SEGINER A. Rigid-body point-based registration:The distribution of the target registration error when the fiducial registration errors are given[J].Medical Image Analysis,2011,15(4):397-413. |
Click to display the text | |
[14] | RAFAEL C G, RICHARD E W.Digital image processing[M].3rd ed.New York:Pearson Education Inc.,2010:671-675. |
[15] | National Instruments Corporation. NI vision concept manual[M].Texas:National Instruments Corporation,2007:155-186. |