基于视觉信息的工业机器人搬运系统研究

2015-04-25 01:44李洪涛张明柱贾晓敏
机床与液压 2015年9期
关键词:控制柜端点矢量

李洪涛,张明柱,贾晓敏

(1. 河南科技大学机电工程学院,河南洛阳471003;2. 郑州交通职业学院,河南郑州450062)

0 前言

自20 世纪60年代美国研制出世界上第一台工业机器人以来,机器人技术及其产品已成为柔性制造系统(Flexible Manufacture System)、自动化工厂(Automatic Factory)、计算机集成制造系统(Computer Integrated Manufacturing System)的自动化工具[1-9]。近几年来,工业机器人已获得日益广泛的应用,随着成组装运的快速发展,向货板上装货操作呈现出自动化的发展趋势,于是人们研制出搬运机器人来完成纸箱、油桶、罐头盒等物品搬运与堆放等操作。机器人自动搬运系统可以根据用户的不同要求配备不同的手爪(例如机械手爪、电磁吸盘、真空吸盘等),可以实现对各种工件的拾取搬运以及对零部件的放置和装配,不但定位精确、工作节拍可调、工作空间大,而且性能优良、运行平稳、维修方便。

在机器人对工件进行拾取搬运以及对零部件放置、装配过程中,操作位置的精确度直接影响机器人的工作质量及效率。为解决机器人在工作过程中出现位置偏差的问题,本文作者以目前应用较多的MOTOMAN-SV3X 轻型机器人为例,研究具有视觉定位及位置调整功能的机器人搬运系统。该系统在机器人执行末端安装真空吸盘,特别适用于对体积小、不易夹持的零部件(例如集成块、玻璃等)进行拾取、放置及装配,该系统也可以直接移植到具有相同自由度布局的机器人。

1 系统组成

基于视觉信息的机器人搬运系统由机器人、摄像头、图像采集、图像处理系统、搬运系统、工作台A、工作台B 以及被搬运工件组成,其搬运系统工作原理示意图如图1 所示[10]。

在原有的机器人控制器之外提供一台计算机作为上位控制器,用摄像机作为数据采集装置构成机器人实时控制系统。在拾取工件之后,用摄像机对工件进行拍摄,通过图像处理提取工件的拾取位置偏差并计算出机器人末端的运动轨迹,然后对轨迹数据进行插补运算,最后通过正向反解得到每个轨迹点上机器人的位置。通过控制软件Motocom32 将其轨迹数据和位置偏差以机器人JOB 文件的形式传入控制柜,进而控制机器人将工件放置在正确的位置。

图1 搬运系统工作原理示意图

图2 所示为MOTOMAN-SV3X 机器人。它属于关节式球面坐标机器人,主要由吸盘1、腕力传感器2、手腕3、上臂4、下臂5 和底座6 构成。

机器人的6 个关节自由度分别为:腕部回转、腕部摆动、小臂自转、小臂摆动、大臂摆动、腰部回转。

图2 MOTOMAN-SV3X 机器人

2 系统工作流程

系统工作流程如图3 所示,用摄像机对工件进行拍摄,对其照片进行图像采集和预处理,提取工件的特征参数,完成对工件的初始定位。利用Motocom32 通讯软件将生成的JOB 文件传到MOTOMAN XRC 控制柜中,由控制柜启动机器人拾取工件,拾取工件完成后利用摄像机对其拍照,将拍摄照片中的实际拾取位置和之前编辑储存的指定拾取位置对比,计算出拾取位置偏差值,将其偏差值换算成机器人系统中吸盘端点P 的坐标(px,py,pz)和方向矢量n、o、a 的差值,将位置偏差通过Motocom32 软件传入控制柜,进而修改预先编辑好的目标位置,控制机器人将工件精确地放置在合适的位置。

图3 系统工作流程图

3 MOTOMAN-SV3X 机器人的位姿

3.1 位置描述

将直角基坐标系O-xyz 定义在底座的中心处,将其端点指定为吸盘(夹持器)底部两标记点连线的中点P (如图2 中的点P 所示),于是,在直角基坐标系中,机器人末端吸盘的端点P 的坐标为(px,py,pz),则其齐次坐标可用4×1 的列矢量P 来表示:

用位置矢量P 来确定机器人末端吸盘在运动空间中的位置[11]。

3.2 姿态描述

机器人末端吸盘的姿态可用固接于吸盘的坐标系(也称工具坐标系)相对于基坐标系的方位来描述。如图4 所示,此坐标系O1-x1y1z1的原点在P 点上。

图4 机器人末端吸盘坐标系

描述吸盘方向的三个单位矢量的指向如图4 所示。图中z1向矢量处于吸盘靠近物体的方向上,指向朝外,称作接近矢量a;y1向矢量从吸盘底部标记的一点指向另一点,处于规定的机器人末端方向上,称作方向矢量o;x1向矢量n,矢量a 和矢量o 可构成一个右手矢量集合,即n=o×a,称作法向矢量。于是机器人吸盘的姿态可用4 ×4 齐次坐标旋转矩阵R 表示为:

3.3 位姿描述

当已知吸盘位置矢量P 和姿态旋转矩阵R 时,描述吸盘位姿的矩阵T 就能确定如下[12]:

机器人吸盘的位置和姿态可以从矩阵T 反过来求出,即在基系中,吸盘端点的坐标为 (px,py,pz),它的姿态可用固接于端点上坐标系的各轴单位矢量表示,分别是n、o 和a。

4 对拾取位置偏差的解决方法

预先编译好工件的指定拾取位置x1,y1,z1,如图5 所示,当机器人拾取工件并移动到程序点4 时,对拾取工件进行拍照,然后对其照片进行图像处理,提取特征参数,计算出实际拾取位置x2,y2,z2,得出拾取位置偏差为cx=x2-x1,cy=y2-y1,cz=z2-z1,当机器人按照预先设定的程序指令移动到设定目标位置附近点7 时,此时机器人手部端点P 的位置坐标为(px,py,pz),在此基础上与得到的拾取偏差值相加,即得到考虑拾取偏差值在内的正确目标位置(mx,my,mz),即mx=px+cx,my=py+cy,mz=pz+cz。同理,预先编译好机器人手部端点P 的三个方向矢量是n1,o1,a1,计算出实际拾取时端点P 的方向矢量为n2,o2,a2,得出端点P 方向矢量偏差为d0=n2-n1,e0=o2-o1,f0=a2-a1,此时机器人手部端点P 的方向矢量为n,o,a,在此基础上与得到的P 点矢量偏差相加,即得出考虑拾取偏差值在内的正确目标矢量d,e,f,即d =n +d0,e =o +e0,f =a+f0,将得出的正确目标位置和姿态代入等式(3),即得出描述机器人吸盘位姿的正确目标矩阵T',如等式(4)所示。最后,机器人通过重新规划好的搬运轨迹放置工件。

图5 预定机器人搬运工件示意图

通过图像处理获得工件的特征参数后,将数据转变为机器人能够识别的文件格式[13],该JOB 文件中包含数据和伪指令。MOTOMAN-SV3X 工业机器人的搬运文件如下:

/ JOB;//作业

// NAME MOTEST;//自定义的文件名称

// POS

/// NPOS 10,0,0,0,0,0;//程序点个数

/// TOOL 0;//工具号为0

/// POSTYPE PULSE;//以脉冲数作为关节变量

/// PULSE;//关节坐标

C00000 = 0,0,0,0,0,0;//机器人在示教时各程序点对应的6 个关节坐标

C00001 = 0,0,0,0,136 210,0

C00002 = 202 356,0,0,0,136 210,0

C00003 = 201 410,251 302,-128 025,5,196 512,2

C00004 = 170 212,455 110,-216 564,10,190 609,0

C00005 = 210 001,346 467,-301 237,13,217 640,-3

C00006 = 231 561,328 091,-523 148,15,231 091,-6

C00007 = 179 637,361 282,-371 066,17,257 943,-9

C00008 = 189 504,339 577,-247 783,20,213 011,-11

C00009 = 0,0,0,0,0,0

// INST

/// DATE 2012/5/8 15:07;//程序编制的日期

/// ATTR SC,RW

/// GROUP 1 RB1;//控制轴组为RB1

用RS-232C 将机器人控制柜与PC 机连接,通过调用Motocom32 动态链接库中的外部接口函数,便可实现PC 机与机器人的通信,将上述机器人JOB 文件上传到机器人控制柜,从而开始对机器人的控制,然后上传搬运程序执行部分,便可控制机器人进行工作。

搬运程序执行部分:

在机器人拾取工件并移动到程序点4 时,对工件的拾取位置进行拍照,并对其照片进行图像处理从而采集数据,再将采集到的和预先设定的拾取位置数据对比,得出拾取位置偏差。

根据得到的拾取位置偏差,修改预先编译的后续程序点轨迹指令,通过调用Motocom32 动态链接库中外部接口函数,将重新规划的搬运轨迹以JOB 文件形式上传到程序存储器。

0013 DOUT OT# (15)OFF;//外部信号接口15 口关

0014 DOUT OT# (16)ON;//外部信号接口16 口开

0015 WAIT IN# (16) =ON;//等外部信号和指定信号匹配,将重新规划的搬运轨迹以JOB 文件形式传入机器人程序存储器

机器人按照重新规划好的搬运轨迹准确地将工件放置在目标位置。

0016 MOVJ C00007 VJ =50.0;//程序点8,机器人放置工件至工作台B

0017 MOVJ C00008 VJ = 100.0;//程序点9,机器人移至不碰触工件和夹具(放置后)

0018 MOVL C00009 V =500.0;//程序点10,移动机器人至程序点1

0019 END;//结束

5 结论

开发了基于视觉信息的工业机器人搬运系统,重点介绍了机器人的位姿描述以及对机器人拾取位置偏差的解决方法,该方法能实时控制机器人工作,及时修改轨迹以确保机器人将工件精确放置在合适的位置,为工业机器人搬运码垛技术的进一步发展奠定了基础。

[1]顾震宇.全球工业机器人产业现状与趋势[J].机电一体化,2006,12(4):6-9.

[2]上海市机器人学会.服务机器人技术发展趋势[J].机器人技术与应用,2009(3):5-11.

[3]ZHANG M Z,CAO H R.An Improved Method of Circle's Center and Radius Detection in Image Processing[C].IEEE International Conference on Automation and Logistics,ICAL 2008,Qingdao,China.2008.

[4]焦圣喜,江绛,冯玉昌,等.机器人视觉技术在活塞在线识别与分选中的应用研究[J].机床与液压,2011,39(1):27-30.

[5]赵喜锋,杜向党,巩静静等.基于动态目标的机器人无标定视觉伺服系统仿真[J].机床与液压,2012,40(6):116-119.

[6]王晓丽.MOTOMAN 机器人轨迹规划和控制系统的研究与设计[D].西安:西安科技大学,2009.

[7]武晋平.MOTOMAN-UP6 机器人焊接规划与研究[D].北京:北京科技大学,2003.

[8]夏天.工业机器人运动学标定及误差分析研究[D].上海:上海交通大学,2009.

[9]曹换荣,张明柱.机器视觉中的摄像机标定技术研究[J].工具技术,2008,42(11):104-107.

[10]Yaskawa.MOTOMAN 机器人使用说明书[M].北京:首钢莫托曼机器人有限公司,1990.

[11]黄继伟.遥操作机器人系统及其夹持器抓取算法研究[D].江苏:东南大学,2004.

[12]崔建伟,宋爱国,黄惟一.遥操作系统中MOTOMANSV3X 机器人的运动建模研究[J].东南大学学报:自然科学版,2003,33(4):424-429.

[13]王晓丽,侯媛彬,王涛.基于VC+ +的工业机器人轨迹规划研究[J].工矿自动化,2009,5(5):34-37.

猜你喜欢
控制柜端点矢量
动力集中电动车组综合控制柜热分析计算
非特征端点条件下PM函数的迭代根
矢量三角形法的应用
带有伺服放大器和变频器控制柜的散热计算案例
不等式求解过程中端点的确定
参数型Marcinkiewicz积分算子及其交换子的加权端点估计
基于矢量最优估计的稳健测向方法
发射机房天线交换开关控制柜的稳定性改造
三角形法则在动态平衡问题中的应用
基丁能虽匹配延拓法LMD端点效应处理