Changing the Axis Limit to prevent collision

  • Hello all,


    I am working with a KR 6 R900 robot for a group at a University, and I am having trouble having the robot understand that it can not go further into the base. Right now, my KUKA still believes that it has no platform it is on and I am not sure how to teach it that. I have look through hours of the manuals but I have not seen anything to help. I was told by KUKA that my robot does not have the Safe Operation option, so that is out of the question. I have the Tool calibrated, which is just a Pen holder tool made from SolidWorks and 3dPrinted, and the base that I am working on is calibrated as well.


    Can anyone help guide me towards having the robot understand it can move past a certain plane? I don't want it thinking it can go through the bed.


    Thanks,

    Sam

  • Simply use forum search with keywords $WORKSPACE or $AX_WORKSPACE. You will find a lot of posts dealing with this.


    But beware $WORKSPACE/$AX_WORKSPACE is not allowed for human safety. If safe interaction with humans is required you need SafeOperation.


    In KSS 8.5.6 you find this on menu>configuration>miscellaneous


    Fubini

  • What is the robot doing when you try to jog it? What error messages occur?


    Fubini is most likely correct as to the cause, but providing these details is important.

    Thats the issue, no error messages. When I jog the robot in a negative Z direction (by means of A2, A3, or A5), it simply will keep going and not trigger an error message. After setting up the collision detection, only a certain amount of force applied when jogging in the negative Z direction trips the Safety Stop.

  • the way i see it, you still did not explain what is it that you want


    if safety stop is triggered, there will be a corresponding message.

    if you are looking for hardware limits, apply hardware limits.

    if you are looking for software limits, apply software limits.

    if you are looing for spaces (volume) rather than axis limits, use workspaces or SafeOperation depending on specific application (as Fubini stated SafeOp is required if risks are not just to hardware)

    if you want to control force applied, use collaborative robot. non-collaborative robots can limit torque but this is a very limited/coarse function.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Quote

    the way i see it, you still did not explain what is it that you want


    if safety stop is triggered, there will be a corresponding message.

    if you are looking for hardware limits, apply hardware limits.

    if you are looking for software limits, apply software limits.

    Agreed, I believe I am still missing something here. All I want the robot to understand is that it can not go past a certain point. That is all. I could set an Axis limit to some of the axes (A1-A6), but i feel that it would be much easier to limit the Z-Axis, cartesian coordinate. Because by doing that, then the robot will understand that it can not go past that certain range?

    I just set up a Workspace, and it did not apply that which I was hoping for. From what I can understand that $WORKSPACE will then be applied once I generate a code for it. However, since I just running preliminary tests with this currently, I want the robot to understand it cant go past a certain Z value (i.e. through the table or base)


    Would you recommend setting an Axis limit to be the most reliable answer to this problem?

  • please read READ FIRST. you need to provide info before your questions can be answered.


    Quote

    I just set up a Workspace, and it did not apply that which I was hoping for.

    care to elaborate or we are supposed to guess what you may have done there?


    workspaces work immediately - as soon as they are configured.

    to configure them correctly you need to understand them. did you read the manual? which mode did you use? what values did you use?


    Quote

    ...once I generate a code for it.

    it is not enough to generate code. code need to be executed to take the effect. if you are not configuring workspace using menu option, but writing code, that code needs to run.


    Quote

    I want the robot to understand it cant go past a certain Z value

    you need to read the manual (see READ FIRST). some KSS versions have workspaces that monitor multiple points (center of flange, TCP,...). and it is possible that one of them is already in/out of defined space.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • did you read the manual? which mode did you use? what values did you use?

    I went from configuration,misc,workspace configuration. I set the origin point to the origin point of the BASE coordinate system and then set the XYZ,ABC values of that. Afterwards, I listed the distance away from that origin point, with the Z1 being 0 and the Z2 being 100. As from my understanding Z1 is the minimum, and Z2 is the maximum.

    care to elaborate or we are supposed to guess what you may have done there?

    Yes, I read the the manual, but as there are many different manuals, which one are you referring to? I used the mode TCP_INSIDE. And the values I chose were: X_11.99,Y_10.32,Z_0.73,A_136.46,B_82.01,C_-137.72 For the origin, then I applied different X_1 and X_2 ext. to create the limits from the origin.

    if you are not configuring workspace using menu option, but writing code, that code needs to run.

    I followed the step Fubini posted, about going from menu,configuration,misc, workspace configuration. However I could be doing this wrong as well.


    The version of KSS I am using is KSS8.5.8 HFI, with an HMI version: 8.5 B465


    Thanks for answering my question so far

  • Quote

    which one <manual> are you referring to?

    the very first one (or two) manuals recommended in READ FIRST would do just fine:

    + Programming manual for System System Integrators

    + System Variables manual


    mode #TCP_INSIDE is used to inform you when the robot is inside space. it does not stop the motion. so if you jog robot in/out of the space you can see the assigned output change value.


    as the name suggests, mode #INSIDE_STOP will stop robot if it enters the defined space.

    Quote

    I set the origin point to the origin point of the BASE coordinate system

    then your monitoring function will depend on BASE. why complicate if you only need Z limit?


    Quote

    And the values I chose were: ...For the origin, then I applied different X_1 and X_2 ext.

    those values are not helping understand what you are doing since you referenced BASE and base value is not mentioned. plus you applied rotations too (why?). and finally you did not mention the range (X_1 X_2 etc.) which is more interesting.


    try setting up space relative to world, with origin all zeroes and have something like

    X_1 = - 10000

    X_2 = +10000

    Y_1 = - 10000

    Y_2 = + 10000

    Z_1 = 750 ; this is the height at which robot will stop

    Z_2= +10000


    set mode to #INSIDE_STOP and try jogging robot up...


    create another space with

    X_1 = - 10000

    X_2 = +10000

    Y_1 = - 10000

    Y_2 = + 10000

    Z_1 = -10000

    Z_2= +300 ; this is the height at which robot will stop


    set mode to #INSIDE_STOP and try jogging robot down...

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

Advertising from our partners