Robot Singularities in Three-Link Manipulators

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

A singular configuration for a robot is a configuration in which the robot cannot move in at least one direction. This Demonstration draws the singular configurations, in red, for the robot workspace (left) and the phase space (right). The manipulability ellipsoid includes all possible end effector velocities normalized for a 1/2-unit input at a given robot configuration. These velocities are calculated using the robot's velocity Jacobian. You can adjust a three-link robot's configuration to see how the joint configuration affects the manipulability. For singular configurations, the Jacobian loses rank, causing the manipulability ellipsoid to collapse into either a two-dimensional ellipse or a one-dimensional line.

Contributed by: Aaron T. Becker and Yitong Lu (January 2021)
Open content licensed under CC BY-NC-SA



This Demonstration creates a serial-link robot arm with three joints (giving three degrees of freedom). You can select from a variety of robot types and manipulate each joint using the sliders. The position of the robot end effector is determined by the forward kinematics equations. A three-dimensional ball of vectors in the phase space (shown with diameter 1) maps to an ellipsoid in the robot workspace. If the configuration is singular, the ellipsoid loses a dimension and collapses into either a two-dimensional ellipse or a one-dimensional vector. Rotational joints rotate infinitely in either direction (the slider jumps by when pushed to the limit). Linear joints move from 0 to 1. Regions where the Jacobian has 1 degree of freedom are shown with solid red lines (or dark red tinted regions), and regions with 2 degrees of freedom with lightly tinted red regions.

The time derivative of the kinematics equations yields the Jacobian of the robot, which relates the joint velocity to the linear and angular velocity of the end effector. This Demonstration separately examines the linear and angular velocity of the end effector. The singularities are discovered by computing the determinate of the robot Jacobian. Any configurations where this determinate is 0 are plotted in red in both the workspace and the phase space. Rotate the three-dimensional plots to better see the singular sets. At singularities the Jacobian is not invertible.

As an example, consider the "elbow robot arm". For the elbow robot arm, the linear velocity Jacobian is given by:


The determinant of this is , which is zero if is , or , or when . These singularities correspond to the five red planes shown in the right plot of the Thumbnail. The singularities map to a sphere in the robot's workspace and the vertical line above the robot's second joint. If you move the robot's end effector to any of these regions, the ellipsoid collapses to an ellipse. At , this ellipsoid collapses to a vector.

For the elbow robot arm, the angular velocity Jacobian is given by:


The determinant for this is always zero and the manipulability ellipse is a two-dimensional ellipse everywhere in the workspace. Therefore the entire phase space is colored red, and this maps to the red spherical workspace.


[1] M. W. Spong, S. Hutchinson and M. Vidyasagar, Robot Modeling and Control, Hoboken, NJ: John Wiley and Sons, 2006.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.