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 / 11 min read

    Dijkstra’s algorithm: find the lowest-cost route

    Trace Dijkstra’s algorithm through a weighted grid, update route estimates, and see why the goal must leave the priority queue before its cost is final. Reproduce a complete search in Python.

  2. Foundations / 12 min read

    A* search: guide the search with a lower bound

    Use A* to find a low-cost route across a weighted grid. Calculate g, h, and f, compare Manhattan distance with Dijkstra, and see how an overestimate can return a worse path.

  3. Foundations / 12 min read

    Rapidly exploring random trees: grow a collision-free path

    Build an RRT for a disk robot, check every new branch for collision, and connect the tree to a goal. Explore seeded sampling, step length, narrow passages, and the limits of a finite search budget.

  4. Foundations / 13 min read

    Probabilistic roadmaps: reuse a graph for new routes

    Build a probabilistic roadmap from collision-free samples, attach new start and goal queries, and search the same graph for routes. Explore neighbor counts, missed connections, and what a finite roadmap can prove.

  5. Foundations / 12 min read

    RRT*: improve a path by rewiring the tree

    Follow RRT* as it chooses cheaper parents, rewires nearby nodes, and updates every descendant's cost. Compare the first path with later improvements and understand what asymptotic optimality does and does not promise.

  6. Foundations / 12 min read

    Path smoothing: shorten a route with checked shortcuts

    Shorten a robot path by removing unnecessary waypoints while checking every replacement segment for collision. Compare length and clearance, trace accepted and rejected shortcuts, and separate a simpler path from smooth robot motion.

  7. Foundations / 14 min read

    Differential-drive kinematics: from wheel rates to pose

    Convert left and right wheel rates into robot speed, turning rate, and an exact constant-rate pose update. Explore straight travel, arcs, spins, and reverse motion, then check the limits of wheel odometry.

  8. Foundations / 12 min read

    Nonholonomic constraints: move sideways without sliding

    Derive a wheeled robot’s no-sideways-slip constraint and trace a feasible maneuver that changes its lateral position. Separate instantaneous velocity limits from reachable poses, and see why the motion rules depend on the robot.

  9. Foundations / 13 min read

    Dubins paths: shortest routes with a turning limit

    Connect two robot poses with forward motion and a minimum turning radius. Compare all six Dubins path families, calculate arc lengths, and see why matching position alone misses the heading constraint.

  10. Foundations / 14 min read

    Ackermann steering: calculate wheel angles and turning radius

    Derive the inner and outer front-wheel angles for ideal Ackermann steering. Connect bicycle steering, wheelbase, and track width to turning radius, reverse motion, and the rear axle's path.

  11. Foundations / 13 min read

    Wheel odometry: turn encoder counts into a moving pose

    Convert wheel encoder increments into a differential-drive robot's position and heading. Replay measured counts, calculate exact arc updates, and see how calibration errors and wheel slip change the estimate.

  12. Foundations / 12 min read

    Reeds–Shepp paths: shortest car routes with reverse gear

    Add reverse travel to a car with a minimum turning radius. Read signed motion primitives, calculate a three-arc turnaround, and compare complete Reeds–Shepp solutions with forward-only Dubins paths.