Worked solutionOne step at a time
How hand speed becomes joint speed
The Jacobian J maps joint speeds to hand speed. To follow a hand path you run it backwards.
What goes wrong when two axes line up
When two wrist joints turn the hand about the same axis, there is one hand motion that no joint can produce. J loses rank. In that direction its gain σ shrinks to zero and the inverse divides by it.
Damp the inverse
Damped least squares minimises tracking error plus λ² times joint speed, which gives a different inverse.
Why that bounds the joint speed
Along each direction the gain changes from 1/σ to σ/(σ² + λ²). That peaks at 1/(2λ) when σ = λ, then falls to zero at the singularity itself. With λ = 0.05, a 0.1 m/s hand never asks for more than 1 rad/s.
Answer: B, damped least squares
The price is accuracy: close to the singularity the hand lags or leaves the line slightly, because the controller has been told joint speed matters too. That trade is almost always worth it.
What the simulation showedThe ellipsoid goes flat
The reel moves a UR5e's hand along a straight line through a wrist singularity in MuJoCo.
- With the plain inverse, the hand asks for 10 cm/s and one wrist joint is asked for about 1,000 °/s.
- The manipulability ellipsoid drawn at the hand shows every direction the hand can still move. At the singularity it collapses flat: one direction is gone.
- The joint that spikes is the one that would have to supply the missing direction.
Wrong answersWhy each one is tempting
| Pick | What went wrong |
|---|---|
| A · gains | Treats a geometry problem as a tuning problem. |
| C · 7th joint | A hardware change, and redundancy does not remove singularities. |
| D · slow down | Scales the spike without bounding it, and slows the whole job. |
Follow-ups an interviewer asks nextTry these before opening them
What do you give up with damping?
Exact tracking near the singularity. The hand deviates from the line by an amount that grows with λ. Far from the singularity, where σ is much larger than λ, the deviation is negligible.
How do you pick λ?
Often it is not fixed. Use λ = 0 while the smallest singular value is above a threshold and ramp it up as σ drops below it, so you only pay for damping where you need it.
How does a controller know it is getting close?
It watches the smallest singular value of J, or the manipulability measure √det(J·Jᵀ). Both go to zero at a singularity.
What else can you do about a singularity?
Plan the path so it does not pass through one, or cross that region with a joint-space move, where no inverse is needed, and pick the straight line up again on the other side.


