Make the foundations concrete.

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

Start with the map of machine learning fields to connect tasks, data, learning signals, and model choices.

41 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.