Visual explainer
Jacobians and Singularities
Turn joint rates into tip velocity, invert a checked two-link example, and see why straightening an arm removes a direction of motion.
An arm can reach a point yet struggle to move through it in a particular direction. The Jacobian maps joint speeds to the tip's instantaneous velocity; a singularity is a posture where that map loses rank relative to its attainable maximum. The lost direction depends on the task you ask the robot to perform.
Start with a synthetic planar arm: two one-metre links, shoulder angle , elbow angle , and tip position metres. The shoulder angle is counterclockwise from world x; the elbow angle is relative to the first link. World y points up. The elbow pivots at , so its tip initially moves left when the elbow turns counterclockwise. The dashed arc shows the curved path; the straight arrow shows its tangent, not a finite displacement.
This page studies two-dimensional tip position, with joint angles in radians for derivatives. It does not constrain tool orientation. Forward and inverse kinematics covers where the tip is; here we ask how fast it can move. Arm scenes use 180 drawing units per metre until a zoom is stated.
One column per joint
Freeze the elbow coordinate and turn only the shoulder. The whole bent arm rotates about the base. Its tip velocity is perpendicular to the dashed base-to-tip radius, which is m. A positive unit shoulder rate therefore contributes m/s: left and up.
That vector is the Jacobian's first column. A column answers: what tip velocity would one unit of this joint's rate produce, with the other joint rates zero? The picture uses an actual shoulder rate of rad/s, giving m/s. Velocity arrows use 120 drawing units per m/s, a separate scale from the arm. The small joint arc identifies the rotation direction.
Find the elbow column
Hold the shoulder still. The tip rotates about the elbow, rather than the base. Its radius is now m, so a unit elbow rate contributes m/s. At rad/s, the tip velocity is m/s. The same velocity scale makes this arrow shorter than the shoulder contribution.
Collect the two columns, with the x component above the y component:
The derivative comes from differentiating and for our one-metre links. The Jacobian depends on posture: a column that points left here can point somewhere else after the arm moves.
Add the contributions
The diagram now shows velocity space, not another arm posture. Axes are and , and arrows use 600 drawing units per m/s. Set shoulder rate rad/s and elbow rate rad/s. Multiply each column by its joint rate:
Here collects the joint rates, and is tip velocity. The blue elbow arrow starts at the shoulder arrow's head; the mint resultant joins the common origin to the final head. Negative elbow rotation cancels part of the leftward motion without changing the upward component. Joint rates are not the tip's x and y speeds.
Local is not global
The velocity relation is exact at an instant for the ideal rigid model. Its finite-step version, , is an approximation. Return to the starting posture, keep the shoulder fixed, and turn the elbow by rad. A frozen Jacobian predicts
Forward kinematics instead gives m. The error is approximately m. The detail view uses 400 drawing units per metre: the diamond is the tangent prediction and the mint dot is the actual endpoint. The elbow lies below the cropped view; the mint path is a circular arc of radius one metre.
Use smaller steps and recompute the Jacobian as posture changes. A single local inverse is not a global inverse-kinematics solution or a collision-free trajectory.
Solve the inverse rate problem
Suppose you command m/s at the original posture. Solve the two rows of :
The second row fixes the shoulder rate at rad/s. Substituting into the first gives rad/s, recovering our earlier example. The left bars share a zero and use 400 drawing units per rad/s; the right vector uses 500 per m/s.
This square matrix is invertible because its determinant is one. A robot with more joints than task coordinates can have multiple rate solutions; a robot with fewer independent task directions cannot realize every request. A matrix's dimensions alone do not tell you its rank at the current posture.
See the velocity ellipse
Consider every joint-rate pair with rad/s. Those pairs form the left circle. Apply to each pair and the tip velocities form the right manipulability ellipse. The highlighted radius maps to the highlighted longest output radius; it is not an arbitrary matching colour.
For our matrix, . Its eigenvalues are , so the singular values of are approximately and m/rad. Multiplying by gives ellipse semiaxes and m/s. Both plots use 240 drawing units per respective unit; joint-rate and tip-velocity units differ. The long axis is tilted about clockwise on screen because world y points up.
The ratio of the semiaxes is about : equal joint-rate norms produce different attainable speeds in different directions. This circle assumes a joint-rate norm budget. Independent actuator speed bounds instead form a box in joint-rate space, whose linear image is generally a polygon. The ellipse is not a literal torque or collision limit.
Near a singularity
Keep and request the same leftward velocity m/s. At , the solution is rad/s. At , the Jacobian becomes
Solving gives and rad/s. The signed bars share a scale of 100 drawing units per rad/s. Large opposing rates cancel vertical motion while creating the small leftward motion.
For these one-metre links, . As approaches zero, the weaker ellipse axis shrinks. Exact inversion can demand rates beyond the actuators' limits. Not every request becomes large: the poorly supported direction is the problem.
Respect the rate budget
Assume each joint is limited to a magnitude of rad/s, an illustrative limit rather than a hardware specification. The elbow's requested rad/s is too fast. Scale both rates by :
The lower arrow is shorter but still points left. The dashed extension marks the requested speed that was sacrificed. The two velocity arrows share 1600 drawing units per m/s. Scaling works because matrix multiplication is linear at a fixed posture; separately clipping one joint generally changes the tip direction.
This simple construction handles the stated speed bound only. Acceleration, torque, obstacles and tracking error need their own checks. Changing the path to avoid a weak posture can be more useful than insisting on the original speed.
Where it breaks
Fully straighten the arm: , with the tip at m. This arm overview uses 150 drawing units per metre. Now
Rank drops from two to one. The upward arrow is possible: rad/s gives m/s. A horizontal request of m/s has no solution for any finite joint rates. Velocity arrows use 400 drawing units per m/s; the cross stops the incompatible request.
For a combined request m/s, a minimum-norm pseudoinverse solution selects rad/s, realizing the vertical component and leaving horizontal residual m/s. A pseudoinverse or damped solver can choose manageable rates; it cannot create a missing direction. At this posture even inward horizontal velocity is unavailable to first order. Bending can later produce inward displacement through a curved path; outward displacement beyond the arm's maximum reach remains impossible.
The Quick Version
- Joint rotation moves the tip along a local tangent.
- Each Jacobian column describes one joint's instantaneous contribution.
- Different joints rotate the tip about different pivots.
- Weighted columns add to produce the tip velocity.
- Finite moves need updated Jacobians and forward checks.
- Inverse velocity kinematics solves rates for a requested tip velocity.
- A joint-rate circle maps to a velocity ellipse.
- Weak directions can demand large opposing joint rates.
- Uniform rate scaling preserves direction while reducing speed.
- Singularities remove instantaneous directions; numerical solvers cannot restore them.
Sources
Modern Robotics 5.3: Singularities develops Jacobian rank, joint-column contributions and unavailable task directions. Modern Robotics 5.4: Manipulability defines the velocity ellipsoid through a joint-rate sphere and the eigenstructure of . The arm, rate budget, numerical solutions and drawing scales above are explicitly synthetic calculations.