工业机器人工具坐标系

2023-10-02 9 0

众所周知,工业机器人的一个重要应用是抓取/拾取,例如用真空吸盘把一个产品从A区域移动到B区域,这就需要知道真空吸盘在机器人上的安装位置,这就引入了工具坐标Tool的概念。除了机器人固有的Tool 0 坐标系外,用户可自定义多个个Tool坐标系,对应多个真空吸盘,应用于一次搬运多个产品的应用场景。

一.下面分别以水平多关节机器人4轴/6轴机器人为例说明工具坐标Tool 0的概念:

1.水平多关节机器人(4轴机器人)的Tool 0坐标系的定义

以SCARA机器人第4轴(旋转轴)的中心为原点,把第4轴旋转到0度角度时与机器人直角坐标系平行 的坐标轴为坐标轴的坐标系为Tool 0坐标系。(参考下图)。Tool 0坐标系是固定在第四 关节(旋转关节)的,所以第四关节时Tool 0坐标系也同时旋转。

 

2.垂直多关节机器人(6轴机器人)的Tool 0坐标系的定义

以下图左图桌上型6轴机器人为例,把所有关节移动到0度位置时第6关节的法兰面中心为原点,垂直上方向为 X轴,机器人直角坐标的X轴方向为Y轴,对第6关节法兰面垂直的方向为Z轴的坐 标系为Tool 0坐标系(请参考下图)。

Tool 0坐标系是固定在第6关节的,所以机器人姿势变化时Tool 0坐标系也相应的移动。

下图中间的吊顶型机器人和右图挂壁型机器人的Tool 0坐标系请参考下图。

 

二. 相对于Tool 0,在实际应用中,用户也不可能把吸盘或者夹爪等执行机构恰好安装在Tool 0的位置,所以就引入了自定义工具(Tool)坐标系的概念,以下是自定义工具坐标的不同的应用

1.视觉定位中的Tool应用。

用机器视觉定位来补正工件位置时,安装在旋转轴(第4轴)上的吸盘吸取工件,通常需要根据角度偏移值和Tool中心的偏移值 经过复杂的三角函数计算准确地定义工件位置,才能吧工件精确摆放。

2.快速搬运工件时多Tool坐标系的应用

用一个吸盘或夹具搬运工件时有时因机器人速度限制无法达到短循环时间的要求,这时 增加几个吸盘或夹具同时抓取多个工件搬运可减短10%-20%的循环时间,根据情况有 时甚至减短30%-40%的循环时间。

每个吸盘或夹具校准为独立的Tool坐标系,需要单独定义每个工具坐标,例如Tool1,Tool2 等。

3.点胶等经常更换Tool时的应用。

在点胶项目中因胶针容易堵塞经常要更换,一般情况下每次更换胶头或胶桶后需要重新 校准点胶的位置,如果使用了自定义Tool的功能,每当更换胶头或胶桶时只需重新校 准胶头的Tool即可继续准确的点胶。

三.Tool的定义方法

准确定义机器人夹爪或吸盘的Tool是非常重要的。

根据Tool的定义机器人通过夹爪或吸嘴取得位置数据,位置数据的全部都与Tool 0不 相关,只跟夹爪或吸盘有关。以使用SPEL+语言为例,定义Tool时请使用TLSET指令。

Tool的定义方法有以下几种。

1.使用机器人管理器的工具向导定义Tool

可以使用机器人管理器的工具向导定义Tool。

使用工具向导按照以下步骤操作。

(1) 打开机器人管理器

(2) 点击列表中的工具

(3) 点击工具向导按钮

(4) 按照工具向导的提示定义Tool。

2.Tool的手动计算方法

使用以下计算Tool的方法时,不能在释放轴的状态下(SFREE状态下) 算,换句话说不能用手推动机器人。使用步进示教窗口步进移动机器人。 Tool 的计算请按照以下步骤进行。

(1) 请把U轴转动到 

(2) 步进示教窗口中的Tool设置为0(TOOL0)。 

(3) 步进机器人,请把夹爪或吸嘴对准基准点(对的越准越好,对准的准确度直接影响Tool 的校准精度),此时U轴的角度要保持 

(4) 现在位置的X坐标和Y坐标记入X1和Y1。 

(5) 步进U轴到180º的位置。 

(6) 步进机器人,请把夹爪或吸嘴对准基准点(对的越准越好,对准的准确度直接影响Tool 的校准精度),此时U轴的角度要保持180º。

(7) 现在位置的X坐标和Y坐标记入X2和Y2。

(8) 使用以下公式计算Tool的偏移量。 

xTool = (X2 - X1) / 2

yTool = (Y2 - Y1) / 2

(9) 在机器人管理器的工具窗口中输入偏移量,或在命令窗口中执行以下指令来定义Tool。 

TLSET 1, XY(xTool, yTool, 0, 0)

(10) 测试Tool的设置结果。 

选择刚才用以上步骤定义的Tool。举例设置为Tool1 。然后步进机器人,请把夹爪或吸 嘴对准基准点。之后步进U轴,此时夹爪或吸嘴是对准基准点的情况下旋转不会有偏移。

3.使用向上的固定相机计算Tool偏移量的方法

在安装了仰视相机的情况下,可以用以下程序确认用户自定义Tool的数值。

Function CalcTool

Boolean found

Real x, y, u x0, y0, u0,xTool, yTool, rTool, theta

Tool 0

VRun findTip

VGet findTip.tip.RobotXYU, found, x, y, u

If found Then

' Get the TOOL 0 position

x0 = CX(P*) ; y0 = CY(P*) ; u0 = CU(P*)

' Calculate initial tool offsets

' X and Y distance from tip found with vision

' to center of U axis

xTool = x - x0 ; yTool = y - y0

' Calculate angle at initial offsets

theta = Atan2(xTool, yTool)

' Calculate angle of tool when U is at zero degrees

theta = theta - DegToRad(u0)

' Calculate tool radius

rTool = Sqr(xTool * xTool + yTool * yTool)

' Calculate final tool offsets

xTool = Cos(theta) * rTool ; yTool = Sin(theta) * rTool

' Set the tool

TLSet 1, XY(xTool, yTool, 0, 0)

EndIf

Fend

四.总结

工具坐标的作用是定义一个坐标数值,让机器人知道自己的一个或者多个末端执行机构(吸盘或者夹爪)的位置,在进行码垛的安装作业中,实现精确的拾取和摆放。

定义工具坐标的方法有手动/自动/编程等多种方法,在机器视觉很普遍的今天,用工业相机配合编程去实现工业坐标的快速动态定义,已经越来越多地得到广泛应用。

代码编程
赞赏

相关文章

数商云食品行业解决方案:新技术加持食品行业,为企业快速发展提供有力支撑
星期零斩获2021新消费领域“投资界50强企业”和“中国食品工业创新品牌”奖项
2022-2028年中国食品产业园区行业市场运行格局及发展策略分析报告
工业互联网业务知识
劲牌公司荣获2020年度“中国食品工业协会科学技术奖”特等奖
面试3_:不修改数组找出重复的数字