Based on contributions by How-to, Matthijsdek.
Singularity errors are a common headache when programming any 6-axis robot arm — UR, Doosan, Kawasaki, or FANUC alike. This explains what a singularity is, why it happens, and how to avoid or clear one.
What you need
- A 6-axis robot arm, with the ability to jog it in joint mode from the pendant/teach device
Steps
1. Understand what a singularity is
A singularity happens when two or more of the robot’s axes align. In that configuration, the robot’s end effector loses a degree of freedom and can no longer move freely in every direction — the robot may get stuck or make uncontrollable, jerky movements. This also affects the robot’s force and precision. It can occur both while manually jogging and during automatic point-to-point motion.
2. Recognize when you’re near one
Singularities typically occur at extreme angles or positions, where the movement range of some axes becomes severely limited. On robots with a FANUC-style wrist, this commonly happens when axes 4 and 6 align; other brands have an equivalent wrist configuration. Watch out even before you hit the singularity itself: as the robot approaches it, axes near the aligned pair can start rotating very fast to compensate, risking their travel limits and causing inaccurate or damaging movement. Try to keep those axes near their 0° position.
3. Prevent it in your program
Add extra waypoints around movements that would otherwise pass close to a singular configuration, so the path doesn’t cross it.
Check: tilting the robot’s base roughly 45° forward has been suggested as a way to avoid many singularities for a given workspace, by changing which configurations the robot needs to reach. This wasn’t confirmed with a worked example in the source discussion — treat it as a hypothesis to test for your own setup, not a guaranteed fix.
4. Recover if the robot gets stuck
If the robot does get stuck in a singularity, switch to joint frame/mode and jog each axis individually out of the aligned position. This lets you move the robot back into a workable configuration before resuming linear moves.
Common mistakes
- Programming a linear move straight through a point where the wrist axes align, instead of routing around it with waypoints.
- Letting axes near a singularity spin toward their travel limits instead of watching for it and repositioning.
Related
Rewritten and consolidated (Sept 2026) from the original student how-to’s: Avoid singularity errors on 6-axis robots, Common Errors with the Fanuc Robot.