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.
Choose a learning path
Choose a question to follow. Each path connects a few lessons; you can return for the details when you need them.
Localize a mobile robotFollow wheel measurements into a pose, transform sensor points, then examine uncertainty, mapping, and drift.
Before you start: Basic coordinates and probability. Each lesson links the mathematics it uses.
- Coordinate frames: read the same point from a robot and the world
State which frame a position or measurement belongs to.
- Wheel odometry: turn encoder counts into a moving pose
Turn encoder readings into motion and see how errors accumulate.
- ROS 2 tf2: transform a laser point at the right time
Connect a supplied odometry pose to a sensor-point transform at the measurement time.
- Kalman filter: predict position, then correct with measurements
Combine prediction with a noisy measurement, then branch into a configured ROS odometry and IMU filter.
- SLAM in robotics: estimate a robot’s path and its map
Connect joint estimation to a checked scan-to-map workflow, then explore navigation costs and path requests.
- Trajectory error metrics: compare full paths, frames, and drift
Evaluate timestamped trajectory files and inspect how alignment can hide a clock error.
Learn robot actions from demonstrationsFit a policy, keep evaluation data separate, and check what happens when its actions affect the next observation.
Before you start: A basic supervised-learning model and the distinction between training and evaluation data.
- Behavior cloning: learn robot actions from demonstrations
Download demonstrations, fit a policy, and compare action error with a rollout.
- Robot data leakage: split demonstrations by episode
Inspect the shared exercise’s episode manifests and training-only preprocessing.
- Behavior cloning covariate shift: when actions change the inputs
See how a policy's own actions can take it beyond its training data.
- DAgger imitation learning: label the states your policy visits
Collect expert labels on states the learner visits.
- Robot policy evaluation: success, failure, and episode counts
Evaluate the saved policy on paired trials and inspect its failures and timeouts.
Connect software to controlled motionTrace message delivery, then connect feedback to a state-space controller.
Before you start: Basic algebra and rates of change; the state-space lessons also use matrix multiplication.
- Feedback control: measure speed and correct the error
Separate the desired motion, measurement, and correction.
- ROS 2 topics, services, and actions: choose the right exchange
Choose an interface for a sensor stream, a request, or an ongoing goal.
- ROS 2 QoS: fix a topic that delivers no messages
Repair mismatched reliability settings, then branch into recording and replay with a checked clock source.
- State-space models: connect states, inputs, and outputs
Describe state, input, and output, then branch into stability certificates or coupled control loops.
- Linear quadratic regulator: choosing feedback by cost
Design feedback around a stated tradeoff between state error and control effort.
- LQG control: connect a Kalman estimate to LQR feedback
Feed a Kalman estimate into an LQR controller and compare noisy feedback under matched disturbances.
Reviewing the foundations? Start with linear algebra or probability. The map of machine learning fields connects tasks, data, and model choices.
148 lessons to explore
Foundations firstFoundations / 9 min read
Vector spaces: build direction from addition and scaling
Learn vector spaces through robot displacement. Explore span, linear independence, basis, and dimension with an interactive diagram, Python, and exercises.
Foundations / 9 min read
The dot product: angles, projections, and robot motion
Learn the dot product with an interactive vector diagram, a worked projection example, and a robot heading calculation. Includes exercises and solutions.
Foundations / 8 min read
Conditional probability: reading a robot sensor
Learn conditional probability with an interactive robot sensor example. Work through the formula, Bayes' rule, base rates, and common mistakes using counts.
Foundations / 8 min read
Gradient descent: learn the update, then test its limits
Work through gradient descent by hand, then explore learning rates, overshoot, and stationary points in an interactive experiment with Python and exercises.
Foundations / 9 min read
Linear regression: fit a line and inspect its errors
Fit linear regression to robot sensor readings. Work through least squares, residuals, and MSE, then test an outlier with Python and exercises.
Foundations / 9 min read
Bayesian inference: learning a robot's grasp success rate
Learn Bayesian inference through a robot grasp example. Update a Beta prior with successes and failures, then distinguish uncertainty from prediction.
Foundations / 9 min read
Eigenvalues and eigenvectors: find the lines a matrix preserves
Understand eigenvalues through 2D transformations. Test stretching, reversal, zero eigenvalues, rotation, and repeated values, then connect them to robot error dynamics.
Foundations / 10 min read
Tensors: read shapes, select values, and move axes
Learn tensors through a robot image batch. Explore shape, indexing, slicing, and axis order, then compare reshape with transpose using a runnable Python example.
Foundations / 10 min read
Logistic regression: turn a score into a probability
Explore logistic regression with synthetic robot observations. Calculate sigmoid probabilities and log loss, then change a threshold and inspect the confusion matrix.
Foundations / 9 min read
Markov chains: transitions and stationary distributions
Learn Markov chains with a robot example. Explore transition matrices, stationary distributions, periodic chains, and absorbing states with an interactive model.
Foundations / 9 min read
Laplace distribution: model sensor error and tolerance
Learn the Laplace distribution through sensor error. Explore location, scale, density, interval probabilities, and the link between absolute error and median fitting.
Foundations / 11 min read
Random forests: train different trees and combine their votes
Build a small random forest from synthetic robot observations. Inspect learned splits, bootstrap samples, random feature choices, and individual tree votes.