Hi Everyone,
I am working on KUKA AGilus KR900 robot. There is a problem that kuka give a small stops/jerks while it give a caution message of [size=2px]'Approximate positioning not possible'. [/size]I came across these messages when working in T2 mode and as they are filtered in AUT mode. I tried to explore more on the APO_CPTP values but it has not impact.
I will be glad to know where is the problem,
Details of the KUKA
KUKA AGILUS KR10 900
KSS version is V8.3.30
KRC4 10[
Code
LOOP
IF $TIMER[3] > 0 THEN
OnEkiIntrpt1()
$TIMER[3] = -10
ENDIF
IF $TIMER[1] > 0 THEN
OnEkiIntrpt()
INCRMENT = INCRMENT+1
$TIMER[1] = -20
ENDIF
IF (Handle_hold )== TRUE THEN
$BWDSTART=FALSE
APO_LDAT_ACT = LCPDAT_BINFIX1
FDAT_ACT=FP_BINFIX1
BAS(#PTP_PARAMS,100)
$APO.CVEL=10
$APO.CPTP=10
$APO.CDIS=10
IF((IN_WORKSPACE==TRUE) AND (IN_AXISRANGE_A1==TRUE)AND (IN_AXISRANGE_A2==TRUE)AND (IN_AXISRANGE_A3==TRUE)AND (IN_AXISRANGE_A4==TRUE)AND (IN_AXISRANGE_A5==TRUE)AND (IN_AXISRANGE_A6==TRUE)) THEN
PTP_REL REL_POS C_PTP
ENDIF
IF (CometoHome) == TRUE THEN
$OV_PRO=10
PTP APTIC_HOME1
$OV_PRO=100
ENDIF
ENDIF
;________________________________________________
;Re-fill buffer AFTER 100MS OF NO DATA RECIEVED so that it is not to be used again
;________________________________________________
IF $TIMER_FLAG[2]==TRUE THEN
REL_POS.Z = 0
REL_POS.X = 0
REL_POS.Y = 0
NewData = FALSE
ENDIF
ENDLOOP
;ENDFOR
DEF OnEkiIntrpt()
DECL EKI_STATUS RET
RET=EKI_GetString("BinaryFixed","Buffer",ReceiveBuffer[])
$FLAG[1]=FALSE
NewData = TRUE
OFFSET=0
CAST_FROM(ReceiveBuffer[],OFFSET,Robotiq_forceX,Robotiq_forceY,Robotiq_forceZ,Robotiq_momemtumX,Robotiq_momemtumY,Robotiq_momemtumZ,Handle_hold,CometoHome)
;FILL IN THE REL POS WITH NEW DATA
REL_POS.X = AMPLIFY*Robotiq_forceX
REL_POS.Y = AMPLIFY*Robotiq_forceY
REL_POS.Z = AMPLIFY*Robotiq_forceZ
REL_POS.A = -0.5*Robotiq_momemtumY
REL_POS.B = 0.5*Robotiq_momemtumX
REL_POS.C = 0.5*Robotiq_momemtumZ
AVOID_SOFTLIMITS();FUNCTION TO AVOID HALT IN SOFTLIMITS
OFFSET=0
CAST_TO(SendBuffer[],OFFSET,$AXIS_ACT,$POS_ACT,$TORQUE_AXIS_ACT[1],$TORQUE_AXIS_ACT[2],$TORQUE_AXIS_ACT[3],$TORQUE_AXIS_ACT[4],$TORQUE_AXIS_ACT[5],$TORQUE_AXIS_ACT[6],"R",TRUE)
WAIT SEC 0.00666
IF (RET.Connected == FALSE) THEN
RET=EKI_Open("BinaryFixed")
ENDIF
RET = EKI_Send("BinaryFixed",SendBuffer[])
$TIMER[1]=-20
$TIMER[2]=-25
END
[\code]
Display More