Understand how a robot works.

Build working knowledge of robotics and machine learning through examples you can change, calculations you can check, and data you can inspect.

Search for a specific concept, or follow a short path from an idea to its application.

45 lessons found

Foundations first
  1. Foundations / 13 min read

    Exponential and logarithm maps: turn a body twist into a pose

    Exponentiate a constant planar body twist, calculate its coupled translation, and recover a chosen logarithm. Explore straight-motion limits, half-turn branch choices, and information lost in a full turn.

  2. Foundations / 13 min read

    Twists and screw axes: connect point velocities to rigid motion

    Build a six-component twist from a screw axis, calculate point velocities, and compare exact helical motion with a tangent prediction. Separate pitch, accumulated displacement, current rate, and pure translation.

  3. Foundations / 12 min read

    Adjoint transformations: express a twist in another frame

    Transform angular-first twists between body and space frames. Derive the origin-shift term, distinguish linear twist coordinates from point velocity, and check a planar example with an interactive adjoint matrix.

  4. Foundations / 14 min read

    Product of exponentials: build a robot arm’s forward kinematics

    Build a two-joint arm's tool pose from fixed home screw axes and matrix exponentials. Check the result against geometry, inspect multiplication order, and connect space and body formulas.

  5. Foundations / 14 min read

    Wrenches: combine force, moment, and power across frames

    Calculate a force's moment about a chosen origin, include a free couple, and transform a moment-first wrench between frames. Use a worked planar load to check the inverse-transpose rule and power invariance.

  6. Foundations / 14 min read

    Space and body Jacobians: map joint rates to rigid motion

    Build space and body Jacobians from joint screw axes, recover the physical tool velocity, and compare their ranks with a position-only task. Explore a planar two-link arm and verify its derivatives in Python.

  7. Foundations / 14 min read

    Robot statics: turn tool loads into holding torques

    Use virtual work and a Jacobian transpose to calculate a robot arm's joint loads. Distinguish external and holding torque, check space and body frames, and interpret zero-torque loads.

  8. Foundations / 13 min read

    Kinematic singularities: find the tip velocities an arm can produce

    Use a two-link robot arm to distinguish exact rank loss from near-singular conditioning. Calculate the minimum-norm joint rates for a requested tip velocity and identify the component the arm cannot produce.

  9. Foundations / 11 min read

    Manipulability: read a robot’s velocity ellipse

    Map a joint-rate budget into a robot’s possible tool velocities. Read the ellipse’s singular values, compare area with conditioning, and understand singular poses, units, and the limits of force duality.

  10. Foundations / 14 min read

    Numerical inverse kinematics: solve a tool position with local steps

    Use a position Jacobian and damped least squares to refine a two-joint arm toward a target. Inspect accepted steps, compare starting guesses, and distinguish convergence, a stalled solve, and unreachable geometry.

  11. Foundations / 14 min read

    Differential inverse kinematics: turn a tip-velocity command into a joint step

    Calculate damped joint rates for a robot tip-velocity command, measure the resulting speed and direction error, and compare an instantaneous prediction with one finite joint step.

  12. Foundations / 12 min read

    Kinematic redundancy: use the motion a task leaves free

    Split a three-link arm’s joint rates into a primary solution and null-space motion. Check the exact projector, compare damping leakage, and measure why a finite step can move a tool with zero initial velocity.