文章快速检索  
  高级检索
基于视觉引导的工业机器人示教编程系统
倪自强, 王田苗, 刘达    
北京航空航天大学机械工程与自动化学院, 北京 100083
摘要: 针对目前工业机器人所采用的编程方式的局限性,提出了基于视觉引导的工业机器人示教编程方式。首先采用奇异值分解(SVD)法建立双目视觉系统与机器人的坐标映射关系,通过双目视觉系统识别和提取特定的示教工具末端位姿,以得到规划机器人运动所需的位姿数据。然后解析机器人控制器可执行文件的格式,将位姿数据转化为机器人可以执行的文件。最后通过试验验证了视觉引导示教方式的可行性,并对示教跟踪精度进行了分析,结果表明,跟踪误差最大为-1.18 mm,均方根误差为0.47 mm。
关键词: 工业机器人     示教编程     视觉     焊接     奇异值分解(SVD)    
Vision guide based teaching programming for industrial robot
NI Ziqiang, WANG Tianmiao , LIU Da     
School of Mechanical Engineering and Automation, Beijing University of Aeronautics and Astronautics, Beijing 100083, China
Received: 2015-04-13; Accepted: 2015-05-08; Published online: 2015-06-17 15:17
Foundation items: National High-tech Research and Development Program of China (2013AA041201); National Natural Science Foundation of China (61175104)
Corresponding author. Tel.: 010-82338271 E-mail: itm@buaa.edu.cn
Abstract: Most industrial robots used in manufacture are based on teaching programming and offline programming. The shortcomings of these two programming methods limit the further application of industrial robots. A vision guide based programming method was introduced to solve the problem. The singular value decomposition (SVD) algorithm was used to calculate the registration matrix between computer vision space and robot space. The positions and orientations of robot's end-actuator were obtained by measuring the teaching tool, which is the key process to realize vision guide programming. Analytical the format of executable file which running on robot controller, and then transform the positions and orientations' data into executable file. An experiment was introduced to verify the feasibility and reliability of the programming method. The results indicate that the maximum error of trajectory tracking is -1.18 mm, and the root mean square error is 0.47 mm.
Key words: industrial robot     teaching programming     vision     weld     singular value decomposition (SVD)    

工业机器人是一种在编程和控制下完成重复性工作的机械装置,已在焊接、搬运和喷绘等工业生产中得到广泛应用[1]。但由于普通的工业机器人不具备环境感知和交互的能力,且其编程方式也比较繁琐,极大地限制了工业机器人进一步大规模应用。特别是在电子制造和装配行业中,大部分重复性的工作还是由人工来完成,其主要原因是当前工业机器人需花费较长时间编程和调试。即使是在焊接行业中,机器人也只应用于循环生产周期较长的环节中,否则将大幅度增加投资成本。

当前工业机器人的编程方式主要有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轴方向分别为坐标系Oy轴、-z轴和-x轴方向,则坐标系Q即为末端变量标记的坐标系。通过坐标转换即可求得末端变量标记在MicronTracker下的位姿信息。

图 3 工具识别和坐标系的定义 Fig. 3 Tool detection and coordinate definition
2 坐标映射

为求得双目视觉系统空间到机器人空间的坐标变换矩阵,可以利用坐标奇异值分解(Singular Value Decomposition,SVD)法求解[9]。设P和Q分别为同一点集在双目视觉和机器人空间下的坐标表示,点集数为N(3×N矩阵),piqi分别为点集PQ下的第i个点的三维坐标(3×1列向量),设2个坐标系之间的映射矩阵为T(R,t),其中R为旋转矩阵,t为平移向量,则求解方程最优化问题就可求出Rt

利用SVD法进行求解,具体的算法流程如下:

1) 计算P和Q的重心。

2) 构造PQ的协方差矩阵。

3) 设H的SVD为H=UΛVT,令

另外,当H不满秩时,S的取值为

4) 可得到R=VSUT,t=p0-R×q0

以上算法可以求出满足条件的Rt,从而得到映射矩阵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.
http://dx.doi.org/10.13700/j.bh.1001-5965.2015.0218
北京航空航天大学主办。
0

文章信息

倪自强, 王田苗, 刘达
NI Ziqiang, WANG Tianmiao, LIU Da
基于视觉引导的工业机器人示教编程系统
Vision guide based teaching programming for industrial robot
北京航空航天大学学报, 2016, 42(3): 562-568
Journal of Beijing University of Aeronautics and Astronsutics, 2016, 42(3): 562-568.
http://dx.doi.org/10.13700/j.bh.1001-5965.2015.0218

文章历史

收稿日期: 2015-04-13
录用日期: 2015-05-08
网络出版时间: 2015-06-17 15:17

相关文章

工作空间