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.

99 lessons to explore

Foundations first
  1. Foundations / 12 min read

    Omnidirectional drives: move sideways with three omniwheels

    Derive the wheel speeds for a three-wheel Kiwi drive. Command forward, sideways, and turning motion, preserve direction when motors saturate, and integrate the resulting world path.

  2. Foundations / 14 min read

    Instantaneous center of rotation: find the center from a planar velocity

    Calculate a planar rigid body's instantaneous center of rotation from its linear and angular velocity. Check point velocities, move the reporting reference, and distinguish turning, translation, and rest.

  3. Foundations / 12 min read

    Skid steering: why turning requires wheel slip

    Derive why four fixed wheels must scrub sideways during a turn. Compare a chosen effective-track model with differential-drive odometry, calculate contact slip speeds, and distinguish equivalent side rotation centers from the body's turning center.

  4. Foundations / 13 min read

    Robot dynamics: separate the torques that move an arm

    Explore robot dynamics through a two-link arm's torque budget. Separate inertia, velocity coupling, gravity, and friction, then check holding torque, link mass, and mechanical power.

  5. Foundations / 16 min read

    Inverse dynamics: calculate the torque a robot’s motion needs

    Calculate joint torque from a robot arm’s pose, velocity, and requested acceleration. Account for gravity, coupling, friction, and a known tip force, then see how actuator limits change the resulting acceleration.

  6. Foundations / 14 min read

    Forward dynamics: predict an arm’s motion from joint torques

    Solve a robot arm’s joint accelerations from torque, configuration, and velocity. Replay gravity release and compensation with RK4, then check energy balance and step-size error.

  7. Foundations / 14 min read

    Dynamic parameter identification: learn a joint model from motion

    Fit dynamic parameters from a rotating joint's motion and torque data. Recover inertia, gravity mass moment, and damping, then test excitation, noise, and held-out predictions.

  8. Foundations / 12 min read

    Friction models: torque during motion and at rest

    Compare Coulomb, viscous, and Stribeck friction in a robot joint. Calculate resisting torque and power loss during motion, check static holding at zero speed, and see where friction compensation needs a better model.

  9. Foundations / 15 min read

    Actuator dynamics: from motor voltage to joint torque

    Explore actuator dynamics with a DC motor’s current rise, back EMF, and geared load. Compare finite inductance with a reduced model, calculate reflected rotor inertia, and check torque, steady speed, and energy balance.

  10. Foundations / 14 min read

    Joint flexibility: model the twist between motor and load

    Explore joint flexibility with two rotary inertias joined by a spring and damper. Calculate transmitted torque, loaded deflection, elastic oscillation, and energy loss, then compare motor and load motion.

  11. Foundations / 13 min read

    Model uncertainty: bound a robot joint’s acceleration

    Turn uncertain inertia, damping, and disturbance torque into an acceleration range. Compare a nominal command with an actual model, handle negative acceleration correctly, and understand the assumptions behind a worst-case bound.

  12. Foundations / 14 min read

    Feedback control: measure speed and correct the error

    Explore feedback control with a robot joint speed model. Compare proportional correction with feedforward alone, calculate steady error, and test disturbances, sensor bias, and torque limits.