Papers
The papers that introduced the algorithms you build here, grouped like the Problems. Each one links to the lesson step or problem where you implement it. Several are only a few pages long.
Kinematics
- 1955A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices
J. Denavit, R. S. Hartenberg. Journal of Applied Mechanics.
Describes a linkage with one homogeneous transform per joint, set by four parameters. Chaining the transforms gives forward kinematics.
Build itProblem: Forward kinematicsPick & Place: Forward kinematics
- 1969Resolved Motion Rate Control of Manipulators and Human Prostheses
D. E. Whitney. IEEE Transactions on Man-Machine Systems.
Steers the hand in Cartesian space by mapping the velocity you want through the inverse Jacobian at every control step.
- 1986Inverse Kinematic Solutions With Singularity Robustness for Robot Manipulator Control
Y. Nakamura, H. Hanafusa. Journal of Dynamic Systems, Measurement, and Control.
Adds a damping term to the Jacobian pseudoinverse so joint speeds stay bounded near singularities. Wampler reached the same damped least-squares method that year.
Build itProblem: Numerical inverse kinematicsJacobians & Velocity Control: Singularities & damped least squares
- 1977Automatic Supervisory Control of the Configuration and Behavior of Multibody Mechanisms
A. Liégeois. IEEE Transactions on Systems, Man, and Cybernetics.
Uses the Jacobian's null space to pursue a second goal, such as keeping clear of joint limits, without moving the hand.
Build itJacobians & Velocity Control: Bonus: Use the spare joint
- 1985The Coordination of Arm Movements: An Experimentally Confirmed Mathematical Model
T. Flash, N. Hogan. Journal of Neuroscience.
Shows that human reaching minimises jerk. The minimum-jerk path between two rest states is a quintic polynomial in time.
Build itProblem: Polynomial trajectoriesTrajectory Generation: Smooth acceleration
Control
- 1922Directional Stability of Automatically Steered Bodies
N. Minorsky. Journal of the American Society for Naval Engineers.
The first theoretical analysis of three-term (PID) control, drawn from watching helmsmen steer a ship.
Build itProblem: PID controlPick & Place: Joints, targets & PD control
- 1942Optimum Settings for Automatic Controllers
J. G. Ziegler, N. B. Nichols. Transactions of the ASME.
The classic recipe for choosing PID gains from one simple experiment on the system you're controlling.
Build itProblem: PID control
- 1980On-Line Computational Scheme for Mechanical Manipulators
J. Y. S. Luh, M. W. Walker, R. P. C. Paul. Journal of Dynamic Systems, Measurement, and Control.
The recursive Newton–Euler algorithm, which computes an arm's inverse dynamics fast enough to run computed-torque control in real time.
Build itProblem: Computed-torque control
- 1988Experimental Evaluation of Nonlinear Feedback and Feedforward Control Schemes for Manipulators
P. K. Khosla, T. Kanade. The International Journal of Robotics Research.
Runs computed-torque control on a real direct-drive arm and finds that, with an accurate model, it tracks better than independent joint control.
Build itProblem: Computed-torque control
- 1960Contributions to the Theory of Optimal Control
R. E. Kalman. Boletín de la Sociedad Matemática Mexicana (reprinted in Resonance, 2024).
Poses the linear-quadratic regulator and solves it with the Riccati equation, and introduces controllability along the way.
Build itProblem: LQR
- 1978Model Predictive Heuristic Control: Applications to Industrial Processes
J. Richalet, A. Rault, J. L. Testud, J. Papon. Automatica.
MPC's industrial origins: predict the plant over a horizon, choose the inputs that track the reference, apply the first and repeat.
- 2000Constrained Model Predictive Control: Stability and Optimality
D. Q. Mayne, J. B. Rawlings, C. V. Rao, P. O. M. Scokaert. Automatica.
The standard survey of MPC with constraints, and of the terminal costs and sets that make it provably stable.
Estimation
- 1960A New Approach to Linear Filtering and Prediction Problems
R. E. Kalman. Journal of Basic Engineering.
The Kalman filter: the optimal recursive estimator for linear systems with Gaussian noise. Predict with the model, then correct with each measurement.
Build itProblem: Kalman filterNoisy Sensors & Kalman Filters: Fusing measurementsNoisy Sensors & Kalman Filters: Tracking a moving ball
- 1991Mobile Robot Localization by Tracking Geometric Beacons
J. J. Leonard, H. F. Durrant-Whyte. IEEE Transactions on Robotics and Automation.
Localises a mobile robot with an extended Kalman filter by matching its sonar readings to features in a known map.
Build itProblem: Extended Kalman filter
- 1999Markov Localization for Mobile Robots in Dynamic Environments
D. Fox, W. Burgard, S. Thrun. Journal of Artificial Intelligence Research.
Localises a robot with a Bayes filter over a grid of poses, and keeps it working when people walk past the sensors.
Build itProblem: Bayes filter
- 1993Novel Approach to Nonlinear/Non-Gaussian Bayesian State Estimation
N. J. Gordon, D. J. Salmond, A. F. M. Smith. IEE Proceedings F (Radar and Signal Processing).
The bootstrap particle filter: move samples through the motion model, weight them by the measurement likelihood, then resample.
Build itProblem: Particle filter
- 1999Monte Carlo Localization for Mobile Robots
F. Dellaert, D. Fox, W. Burgard, S. Thrun. IEEE International Conference on Robotics and Automation (ICRA).
Brings particle filters to robot localisation. The samples can start spread over the whole map, so the robot can find itself with no initial guess.
Build itProblem: Particle filter
Planning
- 1959A Note on Two Problems in Connexion with Graphs
E. W. Dijkstra. Numerische Mathematik.
Shortest paths by always expanding the closest node not yet settled. The whole paper is three pages.
Build itProblem: Dijkstra and A*Motion Planning: Bonus: Build once, query many
- 1968A Formal Basis for the Heuristic Determination of Minimum Cost Paths
P. E. Hart, N. J. Nilsson, B. Raphael. IEEE Transactions on Systems Science and Cybernetics.
A*: Dijkstra's search guided by a heuristic, with a proof that it still finds the shortest path if the heuristic never overestimates.
Build itProblem: Dijkstra and A*
- 1983Spatial Planning: A Configuration Space Approach
T. Lozano-Pérez. IEEE Transactions on Computers.
Plans for the robot as a single point in configuration space, where each obstacle becomes the set of configurations that would collide with it.
- 1996Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces
L. E. Kavraki, P. Švestka, J.-C. Latombe, M. H. Overmars. IEEE Transactions on Robotics and Automation.
Samples collision-free configurations and joins nearby ones into a roadmap: built once, then queried many times.
Build itProblem: Probabilistic roadmapMotion Planning: Bonus: Build once, query many
- 1998Rapidly-Exploring Random Trees: A New Tool for Path Planning
S. M. LaValle. Technical Report 98-11, Iowa State University.
Grows a tree from the start by repeatedly extending it towards random samples, which pulls it quickly into unexplored space.
Build itProblem: RRTMotion Planning: Rapidly-exploring random trees
- 2000RRT-Connect: An Efficient Approach to Single-Query Path Planning
J. J. Kuffner, S. M. LaValle. IEEE International Conference on Robotics and Automation (ICRA).
Grows trees from both the start and the goal and greedily tries to join them, which often finds a path much sooner.
Build itProblem: RRTMotion Planning: Rapidly-exploring random trees
- 2007Creating High-Quality Paths for Motion Planning
R. Geraerts, M. H. Overmars. The International Journal of Robotics Research.
Compares ways to clean up the jagged paths that sampling planners return, including shortcutting them with straight, collision-free segments.
Perception & mapping
- 2000A Flexible New Technique for Camera Calibration
Z. Zhang. IEEE Transactions on Pattern Analysis and Machine Intelligence.
Recovers a pinhole camera's intrinsics from a few photos of a flat checkerboard. It's the method behind OpenCV's calibration.
- 1989A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration
R. Y. Tsai, R. K. Lenz. IEEE Transactions on Robotics and Automation.
Finds the fixed transform between a robot and its camera from pairs of robot and camera motions.
- 1981Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography
M. A. Fischler, R. C. Bolles. Communications of the ACM.
RANSAC: fit a model to random minimal samples and keep the one most of the data agrees with, so outliers can't drag the fit.
Build itProblem: RANSAC
- 1987Least-Squares Fitting of Two 3-D Point Sets
K. S. Arun, T. S. Huang, S. D. Blostein. IEEE Transactions on Pattern Analysis and Machine Intelligence.
The best rotation and translation between two sets of matched points, in closed form from one SVD. Three pages.
Build itProblem: ICPSeeing with a Camera: Bonus: Where is the camera?
- 1992A Method for Registration of 3-D Shapes
P. J. Besl, N. D. McKay. IEEE Transactions on Pattern Analysis and Machine Intelligence.
Iterative closest point: pair each point with its nearest neighbour, solve for the best rigid motion, and repeat.
Build itProblem: ICP
- 1985High Resolution Maps from Wide Angle Sonar
H. Moravec, A. Elfes. IEEE International Conference on Robotics and Automation (ICRA).
Introduces the occupancy grid: each cell holds how likely it is to be occupied, updated with every sonar reading.
Build itProblem: Occupancy grid mapping
- 1989Using Occupancy Grids for Mobile Robot Perception and Navigation
A. Elfes. Computer.
The fuller account of occupancy grids: the Bayesian cell update, sensor models, and planning on the resulting map.
Build itProblem: Occupancy grid mapping
- 1997Globally Consistent Range Scan Alignment for Environment Mapping
F. Lu, E. Milios. Autonomous Robots.
Treats poses as nodes and scan matches as constraints between them, then optimises all of them at once: the start of graph-based SLAM.
Build itProblem: Graph SLAM
- 2010A Tutorial on Graph-Based SLAM
G. Grisetti, R. Kümmerle, C. Stachniss, W. Burgard. IEEE Intelligent Transportation Systems Magazine.
A readable walk through pose-graph optimisation, including Gauss–Newton on 2D poses.
Build itProblem: Graph SLAM
Learning
- 1957A Markovian Decision Process
R. Bellman. Journal of Mathematics and Mechanics.
Names the Markov decision process and studies the dynamic-programming recursion that value iteration repeats.
Build itProblem: Value iteration
- 1992Q-Learning
C. J. C. H. Watkins, P. Dayan. Machine Learning.
Proves that tabular Q-learning converges to the optimal action values, as long as every action keeps being tried in every state.
Build itProblem: Q-learning
- 1988ALVINN: An Autonomous Land Vehicle in a Neural Network
D. A. Pomerleau. Advances in Neural Information Processing Systems 1.
An early case of behaviour cloning: a neural network, trained by supervised learning, maps road images straight to a steering command and drives a real vehicle.
Build itProblem: Behaviour cloning
- 2011A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
S. Ross, G. Gordon, J. A. Bagnell. International Conference on Artificial Intelligence and Statistics (AISTATS).
Explains why cloned policies drift (their own mistakes lead to states the expert never showed) and fixes it with DAgger: have the expert label the states the learner visits.
Build itProblem: Behaviour cloning
- 1992Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning
R. J. Williams. Machine Learning.
REINFORCE: estimate the gradient of expected return from sampled episodes, with a baseline to reduce the variance.
Links go to each paper's publisher, where some sit behind a paywall.