In industrial robotics, you might have heard or read about robot singularities and there are many things said about them, for example:
- There are three types of robot singularities for 6-axis robot arms.
- Singularities can only happen when a robot is making linear movements.
- Singularity happens when the robot (end-effector) loses one degree of freedom.
- Singularities are related to robot configurations (or singularities separate configurations)
- 7-axis robot arms are designed to avoid singularities.
Regardless of these definitions we would like to demonstrate two more practical topics in this article: what is the problem and what does a problem look like?
Why Are Singularities a Problem?
In our previous blog, we explained about robot configurations. Basically when a target is defined in the Cartesian space, there can be multiple configurations (or joint solutions) for a robot to reach that target. We also mentioned about a robot’s workspace, that is, a collection of all target poses a robot can reach. This is true if the robot uses Joint motions only and is free to change its configurations.
However, if we drive a robot in the Cartesian space using linear or circular moves, i.e. path control is required, the workspace of a robot does not appear to be a wholesome sphere anymore. In this scenario, a robot cannot switch from one configuration to another, and its workspace is effectively a collection of all configurations with boundaries between them.
This is hard to envisage but we have created a primitive illustration below. A singularity is where two configurations meet, and the robot should not cross a singularity (change configuration) when being driven in the Cartesian space (or in Cartesian mode or in end-effector mode).

Because of this constraint, robots are to stop at or just before a singularity. However, modern robot controllers also have additional options to deal with singularities. They can either:
- Cross a singularity with a reduced end-effector speed (but high speed on some joints), or
- Slightly deviate from the designed path to avoid a singularity (turning the tool orientation or moving a tiny bit away from the path during the move)
Each solution has its trade-offs so even with paid options from the manufacturer there can still be problems of:
- Tool path deviation (e.g. a compromised linear move!)
- Non-linear tool speed
- Non-optimal cycle time
- Sudden change of a configuration can be dangerous when the robot swings at a high speed

But what does this mean in real life, and when implementing robotic tasks?
Examples of Singularities
If we ‘blindly’ control and set targets for a robot just according to our human preferences, it is likely that we will run into a singularity problem sooner or later. Robotic path planning is not as simple as getting from A to B, and we need to understand real life scenarios of singularities in order to avoid them. As we explained, a singularity is a boundary between two robot configurations, but how do we know where the boundaries are, and can we understand them in the Cartesian space we live in?
Before reaching a boundary, there are ‘near singularity’ states a robot is not comfortable in. In our human understanding, think about reaching our left ear with the right hand. The arm can be positioned in front of the body for doing this, and this is the most convenient way we’d choose to move. Most of us would also be able to position the right arm behind our head to reach the left ear, only this is not very comfortable for the arm as it’s about to reach its limit. This is our first example of a robot singularity – that it reaches or about to reach a limit in one direction. To avoid this, we just need to make sure not to place targets too far away from the robot.
For a 6-axis robot arm, there are two other types of singularities. Like in the first scenario, robots can become ‘uncomfortable’ when in a near singularity state, but they are not easy to spot for an untrained eye. The second type of singularities is when a robot’s wrist centre point lies in the plane passing through the axes of joints 1 and 2. This is a singularity position which is the most difficult to understand. The consolation is that it only happens when a robot is at a standing position. This is avoidable in most cases when a robot operates in bent down positions.
The last scenario is related to only one joint. When a robot is driven by mathematics, that is, the controller needs to work out joint value solutions to achieve target end-effector poses. For a 6-axis robot, there are typically 8 sets of solutions (J1-J6), but due to the design of industrial robot arms, the number of solutions can become infinite if J5 is zero. To avoid this, we should choose targets either requiring positive or negative J5 values, so moving between targets doesn’t cross the J5=0 boundary.

Conclusion
Robot singularities can pose significant challenges in industrial robotics, especially when precise path control is required in tasks that involve linear or circular movements. Understanding the root causes of singularities is crucial for effective robot programming. Ultimately, the key to avoiding singularities is careful path planning, taking into account the robot’s workspace, joint configurations, and limits. By designing tasks with these factors in mind, operators can ensure smoother, more efficient robot operations and reduce the risk of encountering singularity-related problems during production.



You must be logged in to post a comment.