Learning library
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 firstFoundations / 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.