Technical Article

Singularity in Robotics: What Is It and How Can We Avoid it?

July 07, 2022 by Damond Goodwin

Singularity in robotics can be problematic for programmers and manufacturers alike. We will investigate the cause of singularities and how prevention can be considered in the design of a robot cell. 

What is Singularity?

A singularity can be thought of as a time or place when the guiding equations used to explain certain processes reach their limits and begin to break down. Singularities exist in everything from the theory of relativity to robotics. These singularities are created at the point when the equations produce outputs on the scale of infinity. For robotics in particular, singularities often occur when the joint axes are aligned or near the edge of travel limits. Singularities can be a serious issue for robotic programers and should be considered heavily in the design phase of a robot cell. When a robot reaches the point of a singularity, it can lose its ability to move or the movements can become fast enough to cause damage or be dangerous. 

When programming robotic systems, singularities often crop up in seemingly unexpected ways. Sometimes, when jogging a robot, it will experience a singularity in places that didn’t seem like singularity prone movements. This article will take a deeper look into the cause of singularities, making them easier to predict, and propose some practices when designing and programming the robot from the base up. 


Robotics singularity impacts robot performance

Figure 1. Robotic singularity impacts robot performance and occurs when a robot loses one or more degrees of freedom. Image used courtesy of Canva


Singularity in Robots: Causes

Singularities can be thought of as any movement that causes a robot to lose one or more degrees of freedom. In order to better understand this phenomena, we need to look at the different methods a robot uses to move. The main camps of robotic movement fall into two different types of movement: Cartesian and joint movement.  Both types of movements are performed in “space,” with Cartesian space being a three dimensional space defined by movements of the end effector in the X, Y, and Z directions. The other method of robotic movement has to do with moving specific joints of the robot. These are called movements in joint space where any of the axes are moved a certain set amount without reference to the end effector.

As the name suggests, in Cartesian mode, the robot moves the end effector according to certain Cartesian coordinates in a desired reference frame. In joint mode, the robot is moved one joint at a time. Joint mode is unique since singularities do not occur. Each joint is moved a specific amount without reference to the end effector, so the possibility of singularity is removed. Because of this, it can be a tactic for dealing with a robotic singularity in certain situations. 

When a robot moves in Cartesian space, the frame of reference is changed from individual joints to the end effector. The robot uses any possible combination of joint movement to create the desired Cartesian movement for the end effector. In order to make the most efficient joint movements, the robot calculates how much each joint should move and in what direction. This works exceptionally well for most positions the arm is configured in. Singularities occur whenever the joints reach their limits or when two or more joints align colinearly. 

With the joints aligned, some movements in Cartesian space become impossible and very high joint speeds can occur as a result. The equations governing the movement of the robot are said to be close to a singularity when they are divided by a very small number. The actual singularity exists where at least one of the equations is divided by zero and the mathematical impossibility reflects the impossibility of the movement. 


Common types of singularity that occur in six-axis robot arms

Figure 2. Common types of singularity that occur in six-axis robot arms include wrist, elbow, and shoulder singularity and inner and outer workspace limit. Image used courtesy of Canva


Robotic Singularity: Best Practices

Singularities have the potential to be a serious problem for optimal performance in robotic systems. Because of this, they should be understood and noted from the very beginning of the design process when building a robotic cell. The different types of common robotic singularities for six-axis robotic arms include:

  • Wrist singularity

  • Elbow singularity

  • Shoulder singularity

  • Inner workspace limit

  • Outer workspace limit

It is useful to know the different types of common singularities in order to avoid them when programming or designing a cell. 


Wrist, Elbow, and Shoulder Singularities

A wrist singularity occurs when joints 4 and 6 align. When this happens, it is impossible for the robot to move in Cartesian space along the joint 5 axis. Because of this, the robot has to move joint 4 and 6 simultaneously 90 degrees in order to move through the singularity making the end effector momentarily stop. It is physically possible to make this move, but the equations governing the movement will not allow it because of the division by zero creating an infinite number.  

In order to avoid the wrist singularity, joint movement can be used to move the robot close to singularity without issue. This should be done sparingly. Best practices involve designing the cell so the wrist joints avoid alignment, by either moving the pick and place targets out of the alignment zone, or using an end of arm tooling (EOAT) that changes the orientation of the robot arm. 

Elbow and shoulder singularities occur in much the same manner as a wrist singularity, though they are slightly less common. An elbow singularity occurs when joints 4, 5, and 6 intersect with the plane passing through joints 2 and 3. In other words, when the robot arm is fully stretched. A shoulder singularity is unique in that it has different joint possibilities for singularity. Because of this, it is the most complex of the joint singularities where the wrist aligns with axis 1 and 2 over the center of the robot. In other words, the robot is at its inner limits of functionality.  


Inner and Outer Workspace Limits

Generally speaking, robots do not like to work in their extreme reaches, whether that be close to or far away from their centers. An inner workspace limit occurs when the robot is forced to work closely to its center line. An outer workspace limit occurs when the robot is used to work at its farthest reaches. Both scenarios result in poor robotic performance because the joints must be used at extreme limits. Since they are either stretched (outer limit) or bunched up (inner limit) the result is the same: the robot must calculate movements according to extremes. Because the joints are near their extremes, speeds must be higher and movements more pronounced with many moves becoming impossible near the limits of robotic reach. 


Designing robot cells to avoid operating near singularities

Figure 3. A robot’s cell should be designed to avoid operating near singularities. Image used courtesy of Canva

It is best to avoid designing a cell where the robot must operate near singularities. In the case of workspace limits, robots should not be used near the extremes of their reach. When the robot is used at the far limits of its reach, a larger robot is probably a necessary addition to the cell. In order to avoid problems with inner workspace limits, designing the cell in such a way that the robot can work farther away from its center is likely the best viable solution. 



Singularities are caused by a mathematical breakdown of the equations used to guide a robot through Cartesian space. When designing a cell, it is a good idea to understand the different types of singularity and where they most frequently occur. The size of a robot matters because robots have a difficult time working near their centers or at the limit of their reach. If nearing a singularity is unavoidable, moving in joint space near the singularity is recommended since the robot does not need to calculate axis movement in joint space. Keeping singularity in mind when working with robotics can save money, downtime, and labor costs.