Singularities and Kinematic Limits

From Wiki

Due to mechanical and mathematical limitations there are positions in cartesian (XYZ) space that a robot can not move to. These are called singularities and kinematic limits. Kinematic limits occur both in joint and cartesian motion mode while singularities only occur in cartesian mode.

In a more specific, mathematical sense singularities are positions in which the robots configuration (i.e. in what direction do the joints point) is ambiguous. Inside the singularity the robot can not tell what orientation is needed. At a close range around the singularity the axis configuration may need to change quickly (e.g. the tool center point moves a short distance past the singularity but requires the actual joints to move up to 180°). This fast motion can be dangerous or even impossible by the joints to do.

Symptoms

If a singularity or kinematic error occurs while jogging the status area at the left side of iRC shows which error occured. If it happens during program execution the program is stopped or paused and a message box appears in iRC. Try to find which motion command caused it and choose a different target position. If the position is variable (e.g. coming from a camera) check the position data source and limit the value range it provides.

Kinematic Errors

Joint limit reached: In this example A3 reached its limit.
Out of reach: This robot is can not move further in Y without changing the orientation of the tool.
Motion not allowed: This robot can not move since its motors are not enabled.

Joint limit min/max reached

This kinematic error occurs when an axis tries to move past its upper or lower limit.

Solutions:

  • Reference the axis - this resets the axis position if it is incorrect
  • Jog the axis towards the valid range in joint mode (this is always allowed by the robot control but moving further away is not)

Out of reach

The out of reach error is similar to the joint limits but in cartesian space. To reach the requested position the robot would need to extend further than it is able to.

Generally this error occurs shortly before the arm is completely stretched out (you can move further with joint motion). This is because the mathematical solutions are ambiguous here - when moving the arm back from a completely strectched out pose the wrist can bend in any direction, to the robot it is unclear which is required by the following motion.

Solutions:

  • Choose a target position closer to the center of the robot
  • Use joint motion

Virtual box violated

If you have configured a virtual box in cartesian space the robot control will prevent motions ourside that box.

Solutions:

  • Jog towards the valid area in joint mode

Out of Working Space

Some robots, e.g. deltas, are only usable in a limited motion range due to their construction. While their joints may be able to move further issues like worse precision may occur.

This kinematic error is similar to the virtual box, motions outside the specified working space are prevented but if outside you are able to move the robot towards the valid area.

Motion not allowed

This kinematic error is shown when some other reason prevents motion. Usually this refers to a hardware error.

General error

Some other error occured, please check the log files of the robot control (see the log tabs below the 3D view). If this does not help load the log files from the robot and contact support.

NAN value in joint position

This error should never occur, please load the log files from the robot and contact support.

Singularities

Center singularity: The tool center point is aligned with the center (A1) axis.
Wrist singularity: The wrist axes (A4-A6) are aligned.
To prevent singularities use joint motion to move away from the center and turn A4 and A5 by some degrees.

Center singularity

The center singularity occurs in robot arms that can turn around a center axis (joint 1) if the tool center point (TCP) is too close to this axis (e.g. the robot arm is extended straight up).

Solutions:

  • Before switching to cartesian mode jog the robot away from the center axis.
  • Start your robot program with a joint motion away from the center axis.

Wrist singularity

This singularity is specific to 6 axis robots. Similar to the center singularity it occurs when A4 - A6 align.

Solutions:

  • Before switching to cartesian mode turn A4 and A5 so that the wrist no longer aligns.
  • Start your robot program with a joint motion that moves A4 and A5 to a position other than 0.