Learning library
Make the foundations concrete.
Build working knowledge of robotics and machine learning through examples you can change, calculations you can check, and data you can inspect.
Start with the map of machine learning fields to connect tasks, data, learning signals, and model choices.
99 lessons to explore
Foundations firstFoundations / 12 min read
Numerical integration: compare drift, phase, and step cost
Advance an oscillator with forward Euler, velocity-first symplectic Euler, and classical RK4. Compare each method with the analytic solution and separate energy drift, phase error, step cost, and stability.
Foundations / 12 min read
ODE stability: equilibria, attraction, and basins
Classify equilibria of a nonlinear rate law, use a phase line to find basins of attraction, and compare exact trajectories without confusing model stability with numerical stability.
Foundations / 12 min read
Manifolds and tangent spaces: move along a constraint
Use the unit circle to understand local coordinates and tangent vectors. Compare straight steps, exact rotation, and normalization, then examine why averaging headings and rotations needs care.
Foundations / 13 min read
Geodesics: shortest arcs and longer routes on a circle
Compare a shortest circle arc, a longer constant-speed geodesic, and a straight chord. Work through angle wrapping, antipodal ties, coincident endpoints, and the metric that defines distance.
Foundations / 12 min read
Lie groups and Lie algebras: connect robot poses to local motions
Use planar robot poses to understand SE(2), its tangent space se(2), and the Lie bracket. Compare motion order, shrink a commutator loop, and reproduce the calculations in Python.
Foundations / 13 min read
Exponential and logarithm maps: turn a body twist into a pose
Exponentiate a constant planar body twist, calculate its coupled translation, and recover a chosen logarithm. Explore straight-motion limits, half-turn branch choices, and information lost in a full turn.
Foundations / 13 min read
Twists and screw axes: connect point velocities to rigid motion
Build a six-component twist from a screw axis, calculate point velocities, and compare exact helical motion with a tangent prediction. Separate pitch, accumulated displacement, current rate, and pure translation.
Foundations / 12 min read
Adjoint transformations: express a twist in another frame
Transform angular-first twists between body and space frames. Derive the origin-shift term, distinguish linear twist coordinates from point velocity, and check a planar example with an interactive adjoint matrix.
Foundations / 14 min read
Product of exponentials: build a robot arm’s forward kinematics
Build a two-joint arm's tool pose from fixed home screw axes and matrix exponentials. Check the result against geometry, inspect multiplication order, and connect space and body formulas.
Foundations / 14 min read
Wrenches: combine force, moment, and power across frames
Calculate a force's moment about a chosen origin, include a free couple, and transform a moment-first wrench between frames. Use a worked planar load to check the inverse-transpose rule and power invariance.
Foundations / 14 min read
Space and body Jacobians: map joint rates to rigid motion
Build space and body Jacobians from joint screw axes, recover the physical tool velocity, and compare their ranks with a position-only task. Explore a planar two-link arm and verify its derivatives in Python.
Foundations / 14 min read
Robot statics: turn tool loads into holding torques
Use virtual work and a Jacobian transpose to calculate a robot arm's joint loads. Distinguish external and holding torque, check space and body frames, and interpret zero-torque loads.