Robotics in Manufacturing

Motion

Singularity

A singularity is a robot pose where a wrist or arm control point lands on its control plane, so the controller can't resolve one unique configuration from the Cartesian coordinates and the robot can't move through it.

What it is

A singularity, also called a singular point or a peculiar attitude, is a robot pose where the control point of the wrist or arm sits directly on its control plane. Position data can be stored two ways: as joint coordinates, or as Cartesian coordinates (X, Y, Z, W, P, R) plus a configuration flag. Standard position data uses Cartesian coordinates.

The configuration flag is what pins down which physical arm shape produces a given (x, y, z, w, p, r). Several arm shapes can hit the same Cartesian point, so the controller needs the joint placement (flip/no-flip of the wrist, left/right and up/down of the arm, front/back) to pick one. At a singular point that choice collapses: the configuration can't be decided from the Cartesian values alone, so the robot cannot move.

How it actually works

Configuration is expressed as (F, L, U, T, 0, 0, 0), where the letters set flip/no-flip of the wrist, left/right and up/down of the arm, and front/back, and the three trailing digits are turn numbers. Each turn-number field covers a full revolution of a wrist axis in three bands: 0 for -179 to 179 degrees, 1 for 180 to 539 degrees, and -1 for -539 to -180 degrees. Each of these axes returns to the same place after one revolution, so the turn number records how many revolutions were made; it reads 0 when an axis is at 0 degrees.

During linear, circular, or arc motion the tool cannot pass through a singular point because the joint placement can't change mid-move. The fix is joint motion, which interpolates in joint space instead of Cartesian space, and to cross a singularity on the wrist axis specifically a wrist joint motion (Wjnt) can be used. You also can't program a move that ends on a singular point using Cartesian data; teach that point in axial (joint) type instead.

J4 & J6 alignedarm

How it differs

  • Joint vs linear interpolation · Linear and circular motion command the tool along a Cartesian path, which is exactly what breaks near a singularity because the joint placement can't shift to hold that path. Joint motion moves each axis toward the target without holding a Cartesian shape, which is why it can carry the tool through a singular point when linear motion can't.
  • Configuration vs turn number · Joint placement (F/L/U/T) is the discrete arm shape the controller must pick to satisfy a Cartesian point, and it is exactly this pick that fails at a singularity. Turn number is a separate part of configuration: it just counts wrist-axis revolutions, since each axis repeats every 360 degrees, and doesn't itself cause the singular condition.

Where you meet it in the field

  • Arc welding · Weld paths taught as straight lines can run the wrist through a singular point, where the linear move can't hold its attitude. Switching that segment to joint motion is the usual escape.
  • Setting the reference position · Jogging to and teaching reference poses can land the robot on a singular point, where teaching Cartesian data isn't reliable. The singular point check function warns and offers to record the point in axial type instead.

Common questions

Why does teaching a point near a singularity throw a warning and ask to record on joint?
With the singular point check function on ($MNSING_CHK set TRUE), teaching a rectangular-type position at a singular point trips TPIF-060 (Can't record on Cartesian) and MOTN-023 (In singularity). If you played that Cartesian point back later, the robot might reach it with a different attitude than you taught. The YES prompt records the point in axial (joint) type instead, which stores the actual joint angles and sidesteps the ambiguity.
Can I just push the robot through a singularity with a linear move?
No. In linear, circular, or arc motion the joint placement can't change, so the tool can't cross a singular point on that path. Use a joint motion instead, or a wrist joint motion (Wjnt) to cross a wrist-axis singularity specifically.
Is a singularity the same as running out of reach?
No. A reach limit is a physical envelope boundary. A singularity is a configuration problem: the pose is inside the envelope but the controller can't resolve a single arm configuration from the Cartesian values, so it won't move even though the point is reachable in joint terms.
Why does the actual turn number sometimes differ from what's in the position data?
On a programmed linear, circular, or arc move the tool reaches the target holding an attitude close to the start point, and the number of revolutions at the target is chosen automatically. That automatically selected turn number can differ from the value stored in the position data.

Attribution

Glossary entries on this page are checked against the manuals and sections listed in Sources when those notes are present.

Edited by Mike Ramsey / Reliable Media.Editorial process

SourcesFANUC B-83284EN/09 (Operator's Manual, Basic Function) · 4.3.2 Position data / Configuration; 5.7 Singular Point Check Function