Is there any way to get the robot position while it is moving? I’m programming a path with a start point and a final point but i need to get a position feedback for the whole path.
Thanks for your help!
Is there any way to get the robot position while it is moving? I’m programming a path with a start point and a final point but i need to get a position feedback for the whole path.
Thanks for your help!
You can use multi tasking option. Use your second task to monitor TCP position using CRobT.
Can it be Done similiar to the following Code?
IF not bShutDown and bIsSettled THEN
;Monitor the current position and calculate radius and angle for
CONTINUE
pStartPoint=$POS_ACT
;Define Zero
pZeroPoint={X 0,Y 0,Z 0,A 0,B 0,C 0,S 0,T 0}
;equalize the Z component
pZeroPoint.Z=pStartPoint.Z
;Now calculate the starting radius
nStartRadius=distance(pStartPoint,pZeroPoint)
nX=pStartPoint.X
nY=pStartPoint.Y
;Calculate the angle
nHypot=SQRT((nXnX)+(nYnY))
IF (nHypot<>0) THEN
nTemp=(nX/nHypot)
ELSE
nTemp=1
ENDIF
nAngle1=ACOS(nTemp)
IF (nY<0) THEN
nAngle1=-nAngle1
ENDIF
;Get current Robot Joint Data
CONTINUE
CurrJointData=$AXIS_ACT
;Check Minimum Values of All Joints
;Check J1 Position MIN
IF nCurrJointMin[1] > CurrJointData.A1 THEN
nCurrJointMin[1]=nCurrJointMin[1]
ELSE
nCurrJointMin[1]=CurrJointData.A1
ENDIF
;Check J1 Position MAX
IF nCurrJointMax[1] > CurrJointData.A1 THEN
nCurrJointMax[1]=nCurrJointMax[1]
ELSE
nCurrJointMax[1]=CurrJointData.A1
ENDIF
;Check J2 Position MIN
IF nCurrJointMin[2] > CurrJointData.A2 THEN
nCurrJointMin[2]=nCurrJointMin[2]
ELSE
nCurrJointMin[2]=CurrJointData.A2
ENDIF
;Check J2 Position MAX
IF nCurrJointMax[2] > CurrJointData.A2 THEN
nCurrJointMax[2]=nCurrJointMax[1]
ELSE
nCurrJointMax[2]=CurrJointData.A2
ENDIF
;Check J3 Position MIN
IF nCurrJointMin[3] > CurrJointData.A3 THEN
nCurrJointMin[3]=nCurrJointMin[3]
ELSE
nCurrJointMin[3]=CurrJointData.A3
ENDIF
;Check J3 Position MAX
IF nCurrJointMax[3] > CurrJointData.A3 THEN
nCurrJointMax[3]=nCurrJointMax[3]
ELSE
nCurrJointMax[3]=CurrJointData.A3
ENDIF
;Check J4 Position MIN
IF nCurrJointMin[4] > CurrJointData.A4 THEN
nCurrJointMin[4]=nCurrJointMin[4]
ELSE
nCurrJointMin[4]=CurrJointData.A4
ENDIF
;Check J4 Position MAX
IF nCurrJointMax[4] > CurrJointData.A4 THEN
nCurrJointMax[4]=nCurrJointMax[4]
ELSE
nCurrJointMin[4]=CurrJointData.A4
ENDIF
;Check J5 Position MIN
IF nCurrJointMin[5] > CurrJointData.A5 THEN
nCurrJointMin[5]=nCurrJointMin[5]
ELSE
nCurrJointMin[5]=CurrJointData.A5
ENDIF
;Check J5 Position MAX
IF nCurrJointMax[5] > CurrJointData.A5 THEN
nCurrJointMax[5]=nCurrJointMax[5]
ELSE
nCurrJointMax[5]=CurrJointData.A5
ENDIF
;Check J6 Position MIN
IF nCurrJointMin[6] > CurrJointData.A6 THEN
nCurrJointMin[6]=nCurrJointMin[6]
ELSE
nCurrJointMin[6]=CurrJointData.A6
ENDIF
;Check J6 Position MAX
IF nCurrJointMax[6] > CurrJointData.A6 THEN
nCurrJointMax[6]=nCurrJointMax[6]
ELSE
nCurrJointMin[6]=CurrJointData.A6
ENDIF
ENDIF
RETURN