Velocity kinematics and the Jacobian
The Jacobian maps joint rates to tool velocity: its definition and size, column-by-column construction, the planar 2R form, inverse and pseudo-inverse velocity solutions.
Drafted with Aria, reviewed by the AiCanCode.org team. Spotted an error? Use Give Feedback at the bottom of the page.
Why it matters
Welding, gluing and painting need the tool to move along a path at a controlled speed, and the controller can only command joint speeds. The Jacobian is the matrix that converts between the two. It also reveals singularities, maps tool forces to joint torques and drives numerical inverse kinematics, so it is the single most useful object in manipulator analysis after the transform itself.
Key ideas
Definition. Differentiate forward kinematics x = f(q) with respect to time:
ẋ = J(q)·q̇, where J = ∂f/∂q.
- q̇ — joint velocities (rad/s for revolute joints, m/s for prismatic).
- ẋ — tool velocity in task space: linear velocity v (m/s) and, in the full form, angular velocity ω (rad/s).
- J is configuration dependent: it changes as the arm moves.
Size. For n joints and an m-dimensional task, J is m × n. The full geometric Jacobian of a spatial arm is 6 × n (3 rows for v, 3 for ω). A planar arm's position-only Jacobian is 2 × n; adding the planar rotation makes it 3 × n.
Analytical vs geometric Jacobian. The analytical Jacobian differentiates a chosen orientation representation (e.g. Euler angles), so its lower rows give Euler-angle rates; the geometric Jacobian gives true angular velocity ω. They are related by a matrix that depends on the angles.
Building the geometric Jacobian column by column (all vectors in the base frame, z_{i−1} is joint i's axis, o_{i−1} its origin, oₙ the tool point):
- revolute joint i: Jᵥᵢ = z_{i−1} × (oₙ − o_{i−1}), J_ωᵢ = z_{i−1};
- prismatic joint i: Jᵥᵢ = z_{i−1}, J_ωᵢ = 0. Physically, column i is the tool velocity produced by joint i moving at unit speed with all others locked.
Inverse velocity problem. For a square, non-singular J: q̇ = J⁻¹·ẋ. For a redundant arm (n > m) use the pseudo-inverse q̇ = J⁺·ẋ = Jᵀ(JJᵀ)⁻¹·ẋ, which gives the minimum-norm joint velocity. Near singularities use damped least squares.
Singularity. When J loses rank (det J = 0 for square J) the tool cannot move in some direction, and finite tool speeds in nearby directions demand very large joint speeds. Detailed in the next topic.
Statics link. By virtual work, the same matrix maps tool forces to joint torques: τ = Jᵀ·F. This duality is why the Jacobian appears in force control.
Acceleration. Differentiating again: ẍ = J·q̈ + J̇·q̇ — used in Cartesian trajectory tracking.
Formulas
ẋ = J(q) · q̇
q̇ = J⁻¹ · ẋ (square, non-singular J); q̇ = J⁺ · ẋ, J⁺ = Jᵀ(JJᵀ)⁻¹ (redundant arm)
Planar 2R (position rows):
J = [[−L₁·sin θ₁ − L₂·sin(θ₁ + θ₂), −L₂·sin(θ₁ + θ₂)], [L₁·cos θ₁ + L₂·cos(θ₁ + θ₂), L₂·cos(θ₁ + θ₂)]]
- L₁, L₂ in m; entries in m/rad, so J·q̇ is in m/s.
det J = L₁ · L₂ · sin θ₂ (m²) — zero when θ₂ = 0° or 180°.
ω_tool = θ̇₁ + θ̇₂ (planar tool angular velocity, rad/s)
Revolute column: Jᵥᵢ = z_{i−1} × (oₙ − o_{i−1}), J_ωᵢ = z_{i−1}; prismatic: Jᵥᵢ = z_{i−1}, J_ωᵢ = 0
τ = Jᵀ · F
Worked examples
Example 1 (standard). Planar 2R, L₁ = L₂ = 1 m, θ₁ = 30°, θ₂ = 45°, θ̇₁ = 1 rad/s, θ̇₂ = 0.5 rad/s. Find the tool velocity.
- sin 30° = 0.5, cos 30° = 0.8660; θ₁ + θ₂ = 75°: sin 75° = 0.9659, cos 75° = 0.2588.
- J = [[−0.5 − 0.9659, −0.9659], [0.8660 + 0.2588, 0.2588]] = [[−1.4659, −0.9659], [1.1248, 0.2588]] m/rad.
- ẋ = −1.4659·1 + (−0.9659)·0.5 = −1.4659 − 0.4830 = −1.9489 m/s.
- ẏ = 1.1248·1 + 0.2588·0.5 = 1.1248 + 0.1294 = 1.2542 m/s.
- Speed = √(1.9489² + 1.2542²) = 2.318 m/s; tool angular velocity = 1.5 rad/s.
Answer: v = (−1.949, 1.254) m/s, |v| = 2.32 m/s.
Example 2 (GATE level). Planar 2R, L₁ = 0.5 m, L₂ = 0.3 m, at θ₁ = 0°, θ₂ = 90°. The tool must move at ẋ = 0.1 m/s, ẏ = 0.2 m/s. Find the joint rates.
- sin θ₁ = 0, cos θ₁ = 1, sin(θ₁ + θ₂) = 1, cos(θ₁ + θ₂) = 0.
- J = [[−0 − 0.3, −0.3], [0.5 + 0, 0]] = [[−0.3, −0.3], [0.5, 0]].
- det J = (−0.3)(0) − (−0.3)(0.5) = 0.15 m²; check L₁L₂ sin 90° = 0.15 ✓ (non-singular).
- Row 2: 0.5·θ̇₁ = 0.2 → θ̇₁ = 0.4 rad/s.
- Row 1: −0.3·0.4 − 0.3·θ̇₂ = 0.1 → θ̇₂ = (0.1 + 0.12)/(−0.3) = −0.733 rad/s.
Answer: θ̇₁ = 0.400 rad/s, θ̇₂ = −0.733 rad/s.
Common mistakes
- Treating the Jacobian as constant — it must be evaluated at the current q.
- Using θ₂ instead of θ₁ + θ₂ in the second column.
- Giving J for a spatial arm as n × n — the geometric Jacobian is 6 × n.
- Inverting a singular or non-square J; use the pseudo-inverse or damped least squares.
- Mixing degrees and rad/s: joint rates must be in rad/s for v in m/s.
- Confusing analytical-Jacobian Euler-angle rates with true angular velocity.
For GATE ME
Expect a planar 2R or 3R arm with given angles and joint rates: compute the tool velocity, the joint rates for a required tool velocity, or det J and the singular angles. Conceptual questions test the size of J, its rank at singularities and the transpose relation τ = Jᵀ·F. Practise writing the 2R Jacobian from memory and solving 2 × 2 systems quickly.
Quick check
- What is the size of the geometric Jacobian of a 7-joint spatial arm?
- Planar 2R with L₁ = 0.4 m, L₂ = 0.5 m, θ₂ = 30°: det J?
- What does column i of J represent?
- For which θ₂ is a planar 2R arm singular?
- Write the relation between tool force and joint torque.
Answers: 1. 6 × 7; 2. 0.1 m²; 3. Tool velocity produced by unit speed of joint i alone; 4. θ₂ = 0° or 180°; 5. τ = Jᵀ·F.
Interview questions
All Robotics interview questionsTry answering each one aloud before you open it.
1.What is velocity kinematics in the context of robotics?Concept
Velocity kinematics in robotics refers to the study of the motion of robots without considering the forces that cause this motion. It involves understanding how the velocities of different parts of a robot relate to each other, particularly how joint velocities translate into end-effector velocities.
2.Explain the Jacobian matrix in robotic systems.Concept
The Jacobian matrix in robotics is a mathematical representation that relates the joint velocities of a robot to the linear and angular velocities of the end-effector. It is a key tool in velocity kinematics, allowing for the transformation of joint space velocities into Cartesian space velocities.
3.Why is the Jacobian matrix important in robotic control?Application
The Jacobian matrix is crucial in robotic control because it provides a direct relationship between joint velocities and end-effector velocities. This allows for precise control of the robot's movement in Cartesian space, which is essential for tasks like path planning and manipulation.
4.What happens if the Jacobian matrix is singular?Application
If the Jacobian matrix is singular, it means that the robot is in a configuration where it loses some degrees of freedom, leading to a loss of control in certain directions. This can result in the inability to move the end-effector in specific ways, which is often referred to as a 'kinematic singularity'.
5.How can you determine if a robot's configuration is at a singularity using the Jacobian?Application
A robot's configuration is at a singularity if the determinant of the Jacobian matrix is zero. This indicates that the matrix is not invertible, and the robot loses some degrees of freedom in its movement.
6.Explain how inverse kinematics is related to the Jacobian matrix.Concept
Inverse kinematics involves calculating the joint angles needed to achieve a desired position and orientation of the robot's end-effector. The Jacobian matrix is used in iterative methods to solve inverse kinematics problems by relating changes in joint angles to changes in end-effector position.
7.What is the role of the Jacobian transpose in robotic control?Application
By the principle of virtual work, the joint torques needed to apply a tool wrench F are τ = Jᵀ·F, so the transpose maps forces from task space to joint space. This holds for any arm, square or not, and needs no matrix inversion. It is the basis of Jacobian-transpose force and impedance control, and of the Jacobian-transpose inverse-kinematics iteration Δq = α·Jᵀ·e, which avoids inverting J near singularities.
8.Calculate the end-effector velocity given a 2x2 Jacobian matrix J = [[1, 2], [3, 4]] (in m/rad) and joint velocities q̇ = [0.5, 0.5] rad/s.Numerical
v = J·q̇ = [1·0.5 + 2·0.5, 3·0.5 + 4·0.5] = [1.5, 3.5] m/s. The speed is √(1.5² + 3.5²) ≈ 3.81 m/s. Each row combines every joint's contribution to one tool velocity component.
9.Given a robot with a Jacobian matrix J = [[0, 1], [1, 0]], determine if the robot is at a singularity.Numerical
To determine if the robot is at a singularity, calculate the determinant of the Jacobian matrix. For J = [[0, 1], [1, 0]], the determinant is (00) - (11) = -1. Since the determinant is not zero, the robot is not at a singularity.
10.Describe a practical scenario where velocity kinematics and the Jacobian are used in robotics.Application
A practical scenario is robotic arm manipulation in assembly lines, where precise control of the end-effector's position and orientation is required. Velocity kinematics and the Jacobian are used to calculate the necessary joint velocities to achieve the desired end-effector motion, ensuring accurate and efficient task execution.
Finished this topic? Mark it so your progress, study plan and readiness keep up.
Stuck on something here?