Inverse kinematics: redundancy and numerical methods
Inverse kinematics answers: given a desired tool pose, what joint angles achieve it? This lesson covers existence, uniqueness, redundancy, and practical numerical approaches.
Figure
Many configurations, one target
Learning objectives
- Explain why IK can have no solution, one solution, or many solutions.
- State the role of the Jacobian in differential IK.
- Describe null-space motion and one use for it.
Prerequisites
- Forward kinematics lesson.
- Partial derivatives at a “conceptual calculus” level.
Step 1 — IK as solving nonlinear equations
Let be the tool pose (or position) as a function of joints. IK seeks such that
for a commanded goal in task space.
Nonlinear + periodic joints ⇒ complicated solution sets.
Checkpoint: For a redundant arm, why is “pick any solution” underspecified?
Step 2 — Analytic IK vs numerical IK
Analytic: closed-form solutions exist for some architectures (e.g. many 6R arms with spherical wrists) — fast and predictable.
Numerical: iterate with gradients/Jacobians — general but can get stuck, oscillate, or violate joint limits without care.
Exercise: When would you prefer numerical IK even if analytic IK exists?
Step 3 — The Jacobian relates joint rates to tool velocity
Let be a task-space representation (e.g. tool position in or a minimal orientation parameterization).
where is the Jacobian (matrix of partial derivatives).
For small steps, differential IK uses:
with a pseudoinverse (Moore–Penrose or damped).
Checkpoint: What does a singular configuration imply about ?
Step 4 — Damped least squares (avoiding blow-ups)
Near singularities, naive pseudoinverses can produce enormous joint velocities. Damping trades off task error vs joint velocity magnitude:
You do not need to memorize the formula — you need to know why damping appears in real controllers.
Step 5 — Redundancy and null-space projections
If has more columns than rows (redundant), there exists a null space of joint velocities that do not change the task to first order:
You can use null-space motion to:
- avoid joint limits,
- minimize energy,
- maintain manipulability.
Figure
Wiggle without moving the tool
Exercise: Describe a secondary objective you might optimize in null space while keeping the tool pose fixed.
Check your understanding
- Why can IK have infinitely many solutions for a 7-DOF arm reaching a point in space?
- What is a kinematic singularity in one sentence?
- Why is IK harder than FK computationally in general?
Lab-style stretch goal (optional)
Implement Jacobian-transpose IK for a planar 3-link arm to follow a circle in the plane; log joint angles and task error per iteration.