In singularity problem

  • Hello I was working on ROBOGUIDE and I keep having 'In singularity' error.

    I had no problem to teach the positions and move back to the previous position. However, once I got the error, any position I taught cannot move back to the previous position but kept saying 'In singularity'.


    I tried to teach and move position to position in the new cell but still had the same issue.

    I set the 'home' position (x,y,z, all wrists:0) then just rotate 80 deg to x axis to set 'xaxis' position.

    After that, I tried to move back to home position, I got the error.

    I hope below pictures help your understanding.

  • Singularity is the position when the 4th and 5th joints are on the same line. Avoid this position in the Word coordinate system. to get out of this position, change the coordinate system to joint, create a nonzero angle between the 4th and 5th joint. then you can switch to word coordinates

  • Understanding the sigularity will help you bypass this condition.


    in simple terms, when axis 4 and 6 align, the robot is in a singularity condition.


    Linear movements will give an error if during the movement, the robot will come close to this condition.

    Joint movements are usually used to pass through.


    Have you tried using joint movement J?

  • You can also use linear motion with Wjnt - it's a kind of linear, but close to singularity is changes to joint.

    Anyway, sometimes it's dangerous = makes strange and unexpected motions, so test it slowly, because otherwise it could be surprising :smiling_face:

  • In my programs I can't avoid these positions because everything is calculated by the product dimensions.

    For me I'm using three strategies:
    In Karel: Checking the posiition after calculation
    In TPE: Using WristJoint (As written above)

    And least: Unsing the singularity Avoidance Feature for the Fanuc

  • In the past I had a lot of problems like this, especially when I have a linear approach on calculated positions.

    Checking the position won't help you when you will have to reach the position anyway.


    Connect your tool on an angle on the endplate and update your toolframe.

    Make a little program that goes to all the calculated positions and look at the robot at work.

    Be sure that the axis 4 and the endplate don't line up anywhere.

    Did it work ? You're OK

    It did not work ? Change the angle and start all over.


    It always works for me (about 50 or 60 projects) without fancy options. (I have very old robots, unfortunately no fancy options available)

Advertising from our partners