From where the hand is to how fast it moves
Earlier rungs answered a question about position: given the joint angles, where is the hand? That is forward kinematics. But a robot does not just need to reach a pose — it has to move there smoothly, follow a line, slow down before contact, and keep a tool oriented while it travels. That raises a new question: when the joints are turning at certain speeds, how fast and in what direction is the end-effector moving? Answering that is the job of velocity kinematics.
The bridge between joint speeds and hand speed is a matrix called the manipulator Jacobian. Think of it as a gearbox that changes from instant to instant: feed in the rates at which the joints are turning, and the Jacobian tells you the resulting linear and angular velocity of the hand. Because it deals in tiny changes — small wiggles of the joints producing small wiggles of the hand — this whole topic is also called differential kinematics.
The relationship is beautifully simple to write down. If we collect the joint speeds into a list q̇ and the hand's six-component velocity (three for linear motion, three for rotation) into a list v, then v = J·q̇. The Jacobian J is the matrix that does the converting, and — this is the key — its numbers depend on the robot's current configuration. Bend the arm into a new shape and you get a new J.
The Jacobian as a local map — and why it powers inverse kinematics
Here is the deeper idea. Forward kinematics is a curved, complicated function: turn a joint a lot and the hand sweeps along an arc, not a straight line. But if you zoom in on the robot's current pose and ask only about tiny motions, that curved function looks flat — just as a small patch of the Earth looks like a flat map. The Jacobian is exactly that flat map: the best straight-line approximation of forward kinematics right here, right now. Mathematicians call this a linearization.
This local map turns out to be the engine of numerical inverse kinematics. Recall that inverse kinematics asks the reverse question — what joint angles put the hand at a desired pose? When no clean formula exists, the numerical approach guesses, measures how far off the hand is, and nudges the joints to shrink that error, over and over. To know which way to nudge, it inverts the Jacobian: if v = J·q̇ tells you the hand motion produced by a joint motion, then q̇ = J⁻¹·v works backward, telling you the joint motion needed to push the hand in a desired direction.
The same inverted Jacobian is what lets a robot follow a path in space. You specify the velocity you want the hand to have at each moment — trace this line, turn at this rate — and J⁻¹ continuously translates that desired hand velocity into the joint speeds the motors must command. This is why velocity kinematics sits at the heart of everyday motion control, not just abstract theory.
Singularities: where the map collapses
There are special arm configurations where this elegant machinery breaks down. Such a configuration is called a kinematic singularity, and it happens when two or more joint axes line up so that their motions partly overlap. At such a pose the Jacobian "loses rank" — meaning its columns no longer point in enough independent directions to span all six degrees of hand motion.
The everyday consequence is twofold. First, some hand motions become momentarily impossible: there is a direction you simply cannot push the end-effector, no matter how you spin the joints, because no combination of them produces motion that way. Second — and more dangerous in practice — when you ask for a motion that is barely possible, the required joint speeds blow up toward infinity. The arm tries to obey by flinging its joints around at violent speeds for a tiny hand movement.
The reason the speeds explode is the inverse. Near a singularity the Jacobian is almost not invertible, and inverting an almost-singular matrix amplifies tiny numbers into huge ones — the same way dividing by a number close to zero gives an enormous result. So a gentle, slow hand motion gets translated into joint commands that can exceed the motors' limits, trip safety stops, or jerk the tool off its intended path.
A classic picture: a fully stretched-out arm at the edge of its task space. To move the hand any farther outward is impossible — it is already as far as it reaches — yet to creep it just slightly outward the elbow would have to straighten at an absurd rate. Wrist singularities, where two wrist axes align, are the other common culprit, and they can strike even when the arm is only partway extended, in the comfortable middle of the workspace.
Staying safe: detect, slow, and damp
Good motion software does not wait to be surprised by a singularity — it watches for one approaching. A standard measure is how "close to losing rank" the Jacobian is; one popular score, derived from the manipulability ellipsoid, shrinks toward zero as the arm nears a singular pose. Monitoring that number gives the controller an early warning before anything goes wrong.
- Detect early. Continuously compute a nearness-to-singularity score from the Jacobian, and raise a flag as it drops past a threshold.
- Slow down. As the score falls, scale back the commanded hand speed so that the joint speeds the inverse demands stay within the motors' limits.
- Damp the inverse. Instead of a raw J⁻¹, use a damped (regularized) inverse that gently caps the amplification, trading a little path accuracy for stable, bounded joint commands.
- Plan around it. Where possible, route the path so that it never passes through or grazes a known singular pose in the first place.
The damped inverse deserves a closer look because it is the workhorse fix. The idea is to add a small cushioning term that says "prefer modest joint speeds." Far from a singularity this cushion is negligible and the motion is accurate; right at a singularity it keeps the commanded joint speeds finite and the arm well-behaved. You give up perfect tracking for a moment in exchange for never asking the motors to do the impossible.