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.

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