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.
41 lessons found
Foundations firstFoundations / 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.
Foundations / 13 min read
Kinematic singularities: find the tip velocities an arm can produce
Use a two-link robot arm to distinguish exact rank loss from near-singular conditioning. Calculate the minimum-norm joint rates for a requested tip velocity and identify the component the arm cannot produce.
Foundations / 11 min read
Manipulability: read a robot’s velocity ellipse
Map a joint-rate budget into a robot’s possible tool velocities. Read the ellipse’s singular values, compare area with conditioning, and understand singular poses, units, and the limits of force duality.
Foundations / 14 min read
Numerical inverse kinematics: solve a tool position with local steps
Use a position Jacobian and damped least squares to refine a two-joint arm toward a target. Inspect accepted steps, compare starting guesses, and distinguish convergence, a stalled solve, and unreachable geometry.
Foundations / 14 min read
Differential inverse kinematics: turn a tip-velocity command into a joint step
Calculate damped joint rates for a robot tip-velocity command, measure the resulting speed and direction error, and compare an instantaneous prediction with one finite joint step.
Foundations / 12 min read
Kinematic redundancy: use the motion a task leaves free
Split a three-link arm’s joint rates into a primary solution and null-space motion. Check the exact projector, compare damping leakage, and measure why a finite step can move a tool with zero initial velocity.