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 / 13 min read
State-space models: connect states, inputs, and outputs
Build a cart state-space model from Newton’s law. Read A, B, C, and D, separate initial motion from force response, and choose position, velocity, or acceleration as the output.
Foundations / 14 min read
Controllability and observability: move and reveal state
Find which states an actuator can reach and which a sensor can reveal. Use exact cart motion, two held commands, matrix rank, and indistinguishable initial states.
Foundations / 11 min read
Pole placement: calculate state-feedback gains
Use pole placement to calculate position and velocity gains for a cart. Verify the closed-loop matrix, compare exact responses, and inspect the force each design requires.
Foundations / 11 min read
Luenberger observer: estimate velocity from position
Build a Luenberger observer for a cart with a position sensor. Calculate observer gains, follow estimation error, and see why a small position residual can hide a velocity error.
Foundations / 12 min read
Linear quadratic regulator: choosing feedback by cost
Calculate LQR feedback for a cart, connect Q and R to position, velocity, and force, and separate accumulated cost from exact future cost.
Foundations / 12 min read
Integral action in state space: remove a load offset
Add an integral state to a cart controller, calculate three feedback gains, and compare constant-load tracking with reference feedforward. See why stable dynamics, accurate sensing, and sufficient force still matter.
Foundations / 9 min read
ROS 2 QoS: fix a topic that delivers no messages
Reproduce a ROS 2 reliability mismatch, inspect the publisher and subscriber profiles, and restore delivery. Run the checked Jazzy example in one isolated container.
Foundations / 12 min read
LQG control: connect a Kalman estimate to LQR feedback
Control a cart from noisy position readings. Connect Kalman filtering to LQR, compare matched disturbances, and test what changes when the model is wrong.
Foundations / 11 min read
ROS 2 tf2: transform a laser point at the right time
Connect an odometry message to a transform tree, convert a timestamped laser point, and reproduce missing-frame and extrapolation errors in ROS 2 Jazzy.
Foundations / 9 min read
Lyapunov stability: prove convergence with a function
Build a Lyapunov function, check its derivative, and prove convergence. See why a failed candidate can coexist with a stable system.
Foundations / 10 min read
Multivariable control: manage coupling between outputs
Move one output without disturbing another. Compare independent feedback with matrix decoupling, then test model mismatch and large actuator commands.
Foundations / 10 min read
ROS 2 bag: record, replay, and check the clock
Record six stamped points, inspect their saved contents, and replay them into a ROS 2 node. Reproduce a clock that stays at zero while messages still arrive.