KUKA 机器人视觉抓取的工作原理讲解

首先要建立机器人的轨迹,作为基础机器人编程轨迹。

视觉抓取主要是通过改变机器人的TOOL坐标系或BASE坐标系来实现的。

物体位置的变化主要是它位置的X,Y,Z 方向的变化。

BASE坐标系: 可根据需要定义用户坐标系。当机器人配备多个工作台时,选择用户坐标系可使操作更为简单 。在用户坐标系中, TCP 点将沿用户自定义的坐标轴方向运动。

以改变BASE 坐标系为例:

库卡C4 现在可以使用32个BASE 坐标系

没有使用视觉补偿功能时,只用一个BASE坐标系

改变机器人BASE坐标系值从而改变机器人抓件位置,使用多个坐标系

制作一个后台程序,用来改变BASE

设置 输入变量点的接收变量:

SIGNAL gxe_1 $in[2278]  TO $in[2285]

SIGNAL gxe_2 $in[2286]  TO $in[2301]

SIGNAL gxe_3 $in[2302]  TO $in[2309]

SIGNAL gxe_4 $in[2310]  TO $in[2325]

SIGNAL gxe_5 $in[2334]  TO $in[2341]

SIGNAL gxe_6 $in[2342]  TO $in[2357]

设置坐标变量用于改变BASE坐标值

DECL FRAME Get_Val_Pos={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0} ;

DECL FRAME Get_Val_Pos1={X 0.0,Y -46.2999992,Z 0.0,A 0.0,B 0.0,C 0.0} ;

DECL FRAME Get_Val_Pos2={X 0.0,Y -17.8699989,Z 0.0,A 0.0,B 0.0,C 0.0} ;

使多个BASE[]坐标系保持一致

base_Data[1] = $base

base_Data[2] = base_data[1]

base_Data[3] = base_data[1]

base_Data[4] = base_data[1]

变量的初始化归0 , get_val_pos = $nullframe

例如:现在只改变BASE的Y方向位置 

get_val_pos.y = gxe_2*0.01     换算坐标值,存到坐标的Y方向

base_data[1] = $base : Get_Val_Pos     改变BASE坐标系的Y方向位置

使用多个BASE坐标系:


(0)

相关推荐