Kuka external axes endless rotation issue

  • Hi, i would need some help with my setup:


    • KR C4 KSS 8.6.10
    • KR 8 R2100-2 arc HW
    • KP2-SV2600-HW

    Option packages :

    • SeamTech Tracking 3.1
    • SeamTech Finding 3.1
    • Ethernet KRL 3.1
    • ArcTechBasic 3.5
    • ArcTecAdvance 3.5
    • ArcSense 3.5
    • ArcTechMultilayer 3.5
    • RobotSensorInterface 4.1


    I am trying to weld a spiral tube attached to positioner, E2 endless rotation. Using scansonic laser to detect the welding position. Base is kinematically connected for the sensor to work using circ command for arc instructions. The problem is that all works fine untill positioner reaches approx 360 degrees then it will reverse resulting a collision. Any suggestions how to weld the whole part without stopping?


    I tryed to move with nullframe on base on lin direction and it works but seamtracking does not read position as it moves another direction. Also arc velocity is not correct.

  • Lemster68

    Approved the thread.
  • Hello, usually if you wish to do endless rotations with external axes, you have to setup the $AXIS_TYPE parameter to ENDLESS in workvisual.


    But BEWARE you also have to check can this KUKA positioner on AXIS 2 do ENDLESS rotations in order that you dont BRAKE any cables by twisting them. According to the datasheet for your positioner you can't do endless motions, but either only +-1800 or +-185 depends if energy supply system is used or not.


    In datasheet KP2-SV2600HW is stated that axis 2 motion range is +-1800 degrees without energy supply system, then you must leave parameter to ROTATORY if you didn't make any hardware modifications on axis 2 which would allow to do endless motions.

    If energy supply system is used axis 2 can only do +-185 and you can't do more than 1 turn or 370 degrees.


    If you have axis without energy supply system according to datasheet, then you can do only max 10 turns according to datasheet(2*1800/360=10) and looking to your picture of the part you want to weld i guess it would be enough to have 10 turns, In that case i would check the software limit switch parameters if they are set to more than +360 in positive direction and less then -360 in negative direction , but change parameters only when you are sure what positioner you have according to datasheet(with or without energy supply system) in order not to brake any cables which may go inside of axis center by twisting them by going beyond 360 degrees.

  • The problem is that all works fine untill positioner reaches approx 360 degrees then it will reverse resulting a collision.

    Show the actual code you're using to drive E2.


    Is your E2 configured as Rotary or Endless? The reversal you describe is a typical issue with Endless axes, though it usually happens at 180deg instead of 360. The issue is that a command of +185deg puts the axis at the same physical location as performing -5deg, so the motion planner picks the shorter motion. The normal workaround for this is to use a series of REL moves whose Ex component is always less than 180.

  • I will try to add more CIRC switches to see if it helps. The main goal is to keep to a minimum number of touch-ups.

    The last time when I did spiral continuing welds on endless axis, I had 6 points at 60 degrees, but first start point was for example at 10 degrees (so that i would get 70,130,190,...370,430,etc) and just before the CIRC points in the program, i have had to use $ORI_TYPE=#CONSTANT and $CIRC_TYPE=#PATH in order to remain robot "stationary" and only external axis would be turning during welding. But in my program i have calculated points infront and for each turn new 6 points because robot moves along the spiral center axis.

  • Thank you for that this is indeed the right way to do it i succeeded also with 8 points would you have a sample code how did you offset the revolutions after the first one is done ?

  • Here is just sample code, it's not complete solution, but it should give rough idea, here is Z axis of the BASE is aligned with the center spiral AXIS or E1, and changing point values in Z you move along the spiral, and for each revolution new Z values are calculated for one spiral.



    In order to use ArcTech functions on calculated points in my project, I have copied the ArcTech functions of ordinary ArcTech inline form in front of calculated points

  • Thanks i will test it as soon as i get the Sensor working i am having some issues (NO ARC all works, ARC On i am getting Standstill monitoring triggered for some reason.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now