Expand 7th joint limit with arm rotation [with code]

  • Hello,


    I'm facing a problem with the limitation of +/-175º on the 7th axis.

    The task I wish to accomplish is to grip a part that could be in any position +/-180º

    I have a camera to get position ans alpha of the part.

    I construct my Frame with .setAlpharad()


    My issue is when the alpha part is in the 10º of the dead zone of the axis 7, robot throw me an error for impossible ptp move due to axis 7 limitation.:pouting_face:

    But manually, i'm able to rotate the arm (R) to "move" the limit of joint 7. So it would be possible to grip the part.

    How could I programaticaly do this, or tell the robot to reach my frame whatever arm rotation is needed?


    I know that I could grip the part, rotate it, for example, 90º to get off the dead angle. But this this not the solution i'm looking for.

  • Well, I don't know if my request was clear or not, as I didn't get any response.


    Nevertheless. I manage to reach my goal and know I have a 360° J7 :smiling_face_with_sunglasses::smiling_face_with_heart_eyes:

    And I happily sharing my code. Maybe it will help to understand.


    The Class I made


    And a short usage example:


    Improvements are welcome.

    Thank to razzo who pointed out the LBRE1Redundancy in some old thread.


    Warning: take big caution with ptp move with different E1 redundancy !

    Robot movement are not "humanly natural". For example if you grip at a Z=0mm and then move in ptp to a point at Z=50mm with a different E1, the gripper may pass below z=0, thus creating a collision.

  • olivier.ho

    Changed the title of the thread from “Expand 7th joint limit with arm rotation” to “Expand 7th joint limit with arm rotation [with code]”.

Advertising from our partners