干货 | ABB SCARA 机器人现场定义工具坐标系的操作方法
6轴串联型机器人定义工具坐标系的方法,并不适用于四轴scara机器人,当我们试图使用同样的方法定义scara机器人的工具坐标系时,会如下图所示,提示无法通过当前位置校准。
那对于scara机器人我们该如何现场定义工具坐标系呢?由于机械结构的限制,scara机器人只具有4个自由度,只能作Rz旋转,无法作 Rx、Ry旋转。因此对于scara机器人的工具坐标系,一般只定义工作坐标系的原点,使用于tool0的默认方向作为新建工具坐标系的方向。
现场示教四轴scara机器人的工具坐标系,可遵循以下步骤进行操作:
第一步:在现场,先将机器人工具拆除,将四轴端面移动到与锥尖参考点同一高度,记录下此时tool0在base坐标系下的坐标值(示教为P10点),如下图所示。
CONST robtarget p10:=[[500,150,100],[0,0.05879971,0.9982698,0],[-1,-2,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
第二步:在现场,让机器人以3种不同的姿态,将工具作业点移动至锥尖参考点,并且以tool0&Base为参考坐标系,示教为P1、P2、P3点。
CONST robtarget p1:=[[399.9998,149.9999,200],[0,1,5.364418E-07,0],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p2:=[[496.75,50.05286,200],[0,0.7185054,0.6955214,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p3:=[[599.3085,138.2604,200],[0,0.05879981,0.9982698,0],[-1,2,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
第三步:在RS上新建一个虚拟工作站,导入与现场机器人型号一致的机器人模型,将P1、P2、P3、p10点数据导入虚拟工作站中;
第四步:在RS虚拟工作站编写并运行以下程序:
MODULE Module1
CONST robtarget p1:=[[399.9998,149.9999,200],[0,1,5.364418E-07,0],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p2:=[[496.75,50.05286,200],[0,0.7185054,0.6955214,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p3:=[[599.3085,138.2604,200],[0,0.05879981,0.9982698,0],[-1,-2,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget p10:=[[500,150,100],[0,0.05879971,0.9982698,0],[-1,-2,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
VAR pos teach_point{3};
VAR num radius;
VAR pos center;
VAR pos normal;
PROC main()
MoveJ p1,v150,fine,tool0;
MoveJ p2,v150,fine,tool0;
MoveJ p3,v150,fine,tool0;
teach_point{1}:=p1.trans;
teach_point{2}:=p2.trans;
teach_point{3}:=p3.trans;
FitCircle teach_point,center,radius,normal;
center.z:=center.z+(p1.trans.z-p10.trans.z);
TPWrite 'TCP is '\Pos:=center;
ENDPROC
ENDMODULE
第五步:在虚拟工作站中,以center的坐标值为底面中心点,建立一个各轴旋转方向为0的圆柱体,将圆柱底面圆心点,捕捉为机器人TCP的位置,工具坐标系的方向使用默认值,建立工具坐标系tooldata_2。
第六步:将虚拟工作站中的tooldata_2工具坐标系数据导入现场机器人,即可得到一个以机器人工具作业点为TCP,与tool0方向相同的工具坐标系。