Hello everyone.
I have a Kuka KR C4 controller and KR 50 R2100 robot.
Mine is a simple pick&place application and I only use SPTP and SLIN instructions outside a spline block.
My problem is that the robot gets stuck when it starts a blended SLIN movement after a SPTP, or a SPTP after a SLIN. This happens in many different robot positions and axis 5 is not near to singularity.
I've already read all the other threads about this topic without finding a solution until I found out a workaround: I set the SLIN "orientation type" as "wrist PTP" and it did work, but I'm not pretty sure is the correct way.
My code is the following:
SPTP OutStation CONT Vel=100 % ACC100_APO70 Tool[1]:Gripper Base[0]
SPTP InStation CONT Vel=100 % ACC60_APO50 Tool[1]:Gripper Base[0]
SPTP HighApproach CONT Vel=100 % ACC60_APO50 Tool[1]:Gripper Base[0]
SLIN LowApproach CONT Vel=1 m/s ACC30_APO30_J Tool[1]:Gripper Base[0] ORI=WRIST_PTP
SLIN FinalPoint Vel=0.3 m/s ACC20_APO0 Tool[1]:Gripper Base[0]
where:
- OutStation is a E6AXIS global point;
- InStation is a E6AXIS global point;
- HighApproach is a E6POS local point: XHighApproach=XFinalPoint:{X -300.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
- LowApproach is a E6POS local point: XLowApproach=XFinalPoint:{X -100.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0}
- FinalPoint is a E6POS global point
- ACC100_APO70 is a PDAT: {VEL 0.0,ACC 100.0,APO_DIST 70.0,APO_MODE #CPTP,GEAR_JERK 100.0,EXAX_IGN 0}
- ACC60_APO50 is a PDAT: {VEL 0.0,ACC 60.0,APO_DIST 50.0,APO_MODE #CPTP,GEAR_JERK 100.0,EXAX_IGN 0}
- ACC30_APO30_J is a LDAT: {VEL 0.0,ACC 30.0,APO_DIST 30.0,APO_FAC 50.0,AXIS_VEL 100.0,AXIS_ACC 100.0,ORI_TYP #JOINT,CIRC_TYPE #BASE,JERK_FAC 50.0,GEAR_JERK 100.0,....}}}
- ACC20_APO0 is a PDAT: {VEL 0.0,ACC 20.0,APO_DIST 0.0,APO_MODE #CPTP,GEAR_JERK 100.0,EXAX_IGN 0}
I have tried both PDAT "APO_MODE" combinations (APO_MODE #CDIS, APO_MODE #CPTP) and different APO_DIST values but with no effect.
At last, the "Wrist PTP" option is working for most robot positions, but not always.