I am working on a ABB robot IRB2400 using IRC5 controller . The robot is used to cut keypad slots for ATM machines. Iam using Reltool command , as it becomes lot easier to define one point and use reltool and offset the robot in relation to my master point.
I have to cut keypad slots which are rectangular in shape and I have found that even if you give proper xyz (dimensions). The robot shows signs of overshooting at the four corners of the robot. I have posted pictures to give a better understanding of what Iam tryin to say. I have checked the aligned of the tool and everthing is fine. But i cannot get rid of this overshooting. Looking at the last picture you can see the left hand botton corner has a curve like feature, which is the most annoying bit here. I cannot figure out why it takes extra material from the corner and then follows the straght line. I will attach a part of the code here so that everyone gets an understanding of what I have done. I have numbered the whole sequence. The corners are 1-2-3-4 in clockwise direction. But I am machining the hole in a sequence, which is 1-4-3-2 and then it does the final bit at the top that is 2-1.
IT WOULD BE REALLY GREAT IF FORUM USERS COULD GIVE ME SOME SUGGESTION ON HOW TO SOLVE THIS PROBLEM.
PROC VW3_KEYBOARD()
VAR num rx := 13;
VAR num ry := 45;
VAR num rz := 3;
VAR num y := 6;
SetGO tmp2, 6000;
!
!MoveL Test_largekey, v50, z50, Machine_ToolWObj:=wobj_V1;
!MoveL RelTool( Test_largekey,0.5,0,0.5Rx:=0Ry:=0.0Rz:=-0.0), v40, fine, Machine_ToolWObj:=wobj_V1;
!MoveL RelTool( Test_largekey,0,0,-80Rx:=0Ry:=0Rz:=-0.0), v40, fine, Machine_ToolWObj:=wobj_V1;
!
!!!
!!!Large Key board First cut(smaller hole 0.5x0.5mm inward.
!!!
!
!start from some random point and then move to first
MoveJ common, v400, z30, Machine_ToolWObj:=wobj_V1;
MoveJ common10, v400, z30, Machine_ToolWObj:=wobj_V1;
MoveJ common80, v400, z30, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,0.3,-10,44.75Rx:=0Ry:=0Rz:=0), v200, fine, Machine_ToolWObj:=wobj_V1;
!
!Drill the first hole
MoveL RelTool( vw3_key,1,y,44.75Rx:=0Ry:=0Rz:=0), v40, z1, Machine_ToolWObj:=wobj_V1;
!1
MoveL RelTool( vw3_key,0,y,89.5Rx:=rxRy:=ryRz:=rz), v40, z0, Machine_ToolWObj:=wobj_V1;
!4
MoveL RelTool( vw3_key,0,y,20Rx:=rxRy:=ryRz:=rz), v40, z0, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,1,y,20Rx:=0Ry:=0Rz:=0), v10, z0, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,0,y,20Rx:=0Ry:=0Rz:=0), v10, z1, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,0,y,0Rx:=0Ry:=0Rz:=-0.0), v20, z0, Machine_ToolWObj:=wobj_V1;
!3
MoveL RelTool( vw3_key,186.91,y,0Rx:=0Ry:=0Rz:=-0.0), v40, z0, Machine_ToolWObj:=wobj_V1;
!2
MoveL RelTool( vw3_key,186.91,y,50.00Rx:=0Ry:=0Rz:=0), v40, z0, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,186.00,y,50.00Rx:=rxRy:=ryRz:=rz), v10, z0, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,186.91,y,50.00Rx:=rxRy:=ryRz:=rz), v10, z1, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,186.91,y,89.5Rx:=rxRy:=ryRz:=rz), v10, z0, Machine_ToolWObj:=wobj_V1;
!
!!!
!MOVE TO FINISHING POINT FROM !2 TO !1 BY MOVE IN SOMEHWRE IN THE MIDDLE.
!!!
MoveL RelTool( vw3_key,186.00,y,88.5Rx:=rxRy:=ryRz:=rz), v10, z20, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,186.00,-20,49.5Rx:=rxRy:=ryRz:=rz), v80, z20, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,0.3,-20,44.75Rx:=0Ry:=0Rz:=0), v80, z20, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,0.3,y,85.9Rx:=rxRy:=ryRz:=rz), v40, z0, Machine_ToolWObj:=wobj_V1;
!
!!!
!!!Large Key Board Finishing!!
!!!
!1
MoveL RelTool( vw3_key,-0.1,y,90.8Rx:=rxRy:=ryRz:=rz), v20, z0, Machine_ToolWObj:=wobj_V1;
!4
MoveL RelTool( vw3_key,-0.5,y,3Rx:=rxRy:=ryRz:=rz), v40, z1, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,-0,y,3Rx:=0Ry:=0Rz:=0), v10, z1, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,-0.5,y,-0.5Rx:=0Ry:=0Rz:=-0.0), v10, z1, Machine_ToolWObj:=wobj_V1;
!
!3
MoveL RelTool( vw3_key,186.41,y,-0.5Rx:=0Ry:=0Rz:=-0.0), v40, z1, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,187.41,y,-0.5Rx:=0Ry:=0Rz:=-0.0), v10, z1, Machine_ToolWObj:=wobj_V1;
!2
MoveL RelTool( vw3_key,187.41,y,89.8Rx:=rxRy:=ryRz:=rz), v40, z1, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,187.41,y,90.8Rx:=rxRy:=ryRz:=rz), v10, z1, Machine_ToolWObj:=wobj_V1;
!
!!!
!NOW MOVE TO LARGE KEYBOARD FIRSTCUT FROM 2-1
!!!
!2
MoveL RelTool( vw3_key,185.91,2,89.0Rx:=rxRy:=ryRz:=rz), v40, z0, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,186.91,2,89.5Rx:=rxRy:=ryRz:=rz), v10, z0, Machine_ToolWObj:=wobj_V1;
!1
MoveL RelTool( vw3_key,0,2,89.5Rx:=rxRy:=ryRz:=rz), v40, z0, Machine_ToolWObj:=wobj_V1;
! !
!!!
!MOVE TO 2 AND DO THE FINAL FINISHING CUT
!!!
!
!*******************
!MOVING FROM POINT 1
MoveL RelTool( vw3_key,0.3,y,89.0Rx:=rxRy:=ryRz:=rz), v10, z1, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,0.3,-20,49.5Rx:=rxRy:=ryRz:=rz), v80, z1, Machine_ToolWObj:=wobj_V1;
!********************
!MOVING IN AT POINT 2
MoveL RelTool( vw3_key,186.91,-20,49.5Rx:=rxRy:=ryRz:=rz), v80, z20, Machine_ToolWObj:=wobj_V1;
!
!!!
!FINISHING CUT FROM 2 TO 1
!!!
!
!2
MoveL RelTool( vw3_key,186.41,y,89Rx:=rxRy:=ryRz:=rz), v20, fine, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,186.91,y,89.5Rx:=rxRy:=ryRz:=rz), v10, fine, Machine_ToolWObj:=wobj_V1;
!1
MoveL RelTool( vw3_key,-0,y,89.5Rx:=rxRy:=ryRz:=rz), v10, fine, Machine_ToolWObj:=wobj_V1;
!
!****************** 2ND FINISHING CUT***********************
!
!MOVE TO 2 AND DO THE FINAL FINISHING CUT
!!!
!
!*******************
!MOVING FROM POINT 1
MoveL RelTool( vw3_key,0.3,y,89Rx:=rxRy:=ryRz:=rz), v10, z20, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,-0,-20,49.5Rx:=rxRy:=ryRz:=rz), v80, z20, Machine_ToolWObj:=wobj_V1;
!********************
!MOVING IN AT POINT 2
MoveL RelTool( vw3_key,186.91,-20,49.5Rx:=rxRy:=ryRz:=rz), v80, z20, Machine_ToolWObj:=wobj_V1;
!
!
!!!
!FINISHING CUT FROM 2 TO 1
!!!
!
!2
MoveL RelTool( vw3_key,187,y,90.4Rx:=rxRy:=ryRz:=rz), v40, z0, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,187.41,y,90.9Rx:=rxRy:=ryRz:=rz), v10, z0, Machine_ToolWObj:=wobj_V1;
!1
MoveL RelTool( vw3_key,-0.1,y,90.9Rx:=rxRy:=ryRz:=rz), v40, z0, Machine_ToolWObj:=wobj_V1;
MoveL RelTool( vw3_key,-0.5,y,90.9Rx:=rxRy:=ryRz:=rz), v10, z0, Machine_ToolWObj:=wobj_V1;