Follow on Instagram
HardKinematicsUR5e armL6 robot quiz

The hand moves at 10 cm a second. So why does one joint spin at 1,000 degrees?

Ask an arm to move its hand in a straight line and the controller works out the joint speeds by inverting the Jacobian. At one spot on the line, that inverse blows up.

hand speed 10 cm/s in a straight line · two wrist axes line up on the way
What is the standard fix that keeps the hand moving along the line?
Pick one first. Each option tells you why it is right or wrong.

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.

ẋ = J · q̇ → q̇ = J⁻¹ · ẋ

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.

joint speed ≈ ẋ / σ 1,000 °/s = 17.5 rad/s → σ ≈ 0.1 / 17.5 = 0.006

Damp the inverse

Damped least squares minimises tracking error plus λ² times joint speed, which gives a different inverse.

q̇ = Jᵀ (J Jᵀ + λ² I)⁻¹ ẋ

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.

max joint speed = ẋ / (2λ) = 0.1 / 0.1 = 1 rad/s = 57 °/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

PickWhat went wrong
A · gainsTreats a geometry problem as a tuning problem.
C · 7th jointA hardware change, and redundancy does not remove singularities.
D · slow downScales 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.

Previous · 8Perfect in sim, falls on hardwareNext · 10Backflip motors, sliding off a ramp
Related questions
#1 · Dynamics · UR5e armThis robot arm weighs 20 kilos. So why can it only lift five?Easy #2 · Kinematics · Warehouse robotThis warehouse robot has no steering wheel. So how does it turn?Easy #11 · Kinematics · Franka PandaThe hand is perfectly still. So how is the elbow swinging?Hard