hi guys, I have a question.
My problem is than I need to move my tool around a circular object and the robot tool direction is toward the circular object center, and it must be mantained during the circular movement.
The major problem is than the radius is variable and the circular object position is also variable.
I've written this code, it work, and basically I create a remote tcp in the center of the circular object and then I change the base angle to rotate around it.
It work, I 've tested on a real robot, but what I want to know is if there is a much simple way to perform this operations.
tnx bye
BAS(#BASE,0)
BAS(#TOOL,1)
BASE_DATA[2]=$NULLFRAME
BASE_DATA[2] = BASE_DATA[2] : $POS_ACT
;BASE_DATA[2].X = $POS_ACT.X
;BASE_DATA[2].Y = $POS_ACT.Y
BASE_DATA[2].Z = $POS_ACT.Z -Mark_rad
BASE_DATA[2].A = $NULLFRAME.A
BASE_DATA[2].B = $NULLFRAME.B
BASE_DATA[2].C = $NULLFRAME.C
BAS(#BASE,2)
BAS(#TOOL,1)
$IPO_MODE = #TCP
Position_1 = $POS_ACT
;FOLD Speed_set
$VEL = {CP 1.75, ORI1 100, ORI2 5}
$ACC = {CP 1, ORI1 100, ORI2 100}
;Smooth ramp for 16 movements
$FILTER = 100
$ADVANCE = 3
$APO = {CPTP 50, CDIS 50 , CVEL 100, CORI 5}
$ORI_TYPE = #VAR
$IPO_MODE = #TCP
;ENDFOLD Speed_Set
$VEL.ORI2 = 25
;FOLD WAIT Time=1 sec;%{PE}%R 8.2.19,%MKUKATPBASIS,%CWAIT,%VWAIT,%P 3:1
WAIT SEC 1
;ENDFOLD
BASE_DATA[2].C = BASE_DATA[2].C +50
BAS(#BASE,2)
$IPO_MODE = #TCP
LIN Position_1
BASE_DATA[2].C = BASE_DATA[2].C - 100
BAS(#BASE,2)
LIN Position_1
$IPO_MODE = #BASE
END