Resources
A collection of textbooks, papers, and tutorials that I’ve found useful during my PhD.
Textbooks
- State Estimation for Robotics - Timothy D. Barfoot. Covers fundementals of probabilistic state estimation,
- Probabilistic Robotics - Thrun, Burgard, and Fox.
- Factor Graphs for Robot Perception - Dellaert and Kaess.
- Bayesian Filtering and Smoothing - Simo Särkkä.
- Convex Optimization - Boyd and Vandenberghe. Free PDF, lecture videos, and slides.
- Numerical Optimization - Nocedal and Wright. Standard reference for Newton, quasi-Newton, and trust-region methods.
Lie Groups
- A Micro Lie Theory for State Estimation in Robotics - Solà, Deray, and Atchuthan. Most approachable entry point to Lie groups
- Quaternion Kinematics for the Error-State Kalman Filter - Joan Solà. Especially useful for quaternion math.
- Lie Groups for Computer Vision - Ethan Eade. Great resource for the closed form expressions for expressions involving common Lie groups.
Computer Vision
- Multiple View Geometry in Computer Vision - Hartley and Zisserman. Standard reference for projective geometry and for reconstructing 3D structure from 2D images.
Visual-Inertial Navigation
- A Multi-State Constraint Kalman Filter for Vision-Aided Inertial Navigation - Mourikis and Roumeliotis. The original MSCKF paper.
- On-Manifold Preintegration for Real-Time Visual-Inertial Odometry - Forster, Carlone, Dellaert, and Scaramuzza. IMU preintegration and factor-graph based visual-inertial odometry.
- Visual-Inertial Navigation: A Concise Review - Guoquan Huang. Great survey paper and overview to the field.
- OpenVINS documentation - Lots of derivations of some of the key parts of MSCKF-based VIO, including propagation, feature representations, and delayed initialization.
- IMU Noise Model - Kalibr - Explanation of the typical IMU noise model assumed in visual-inertial navigation, with references on how to compute IMU noise parameters using Allan Variance.
Visual Odometry and SLAM
- Visual Odometry - Part I: The First 30 Years and Fundementals - tutorial-style overview on visual odometry. Useful for understanding the problem formulation at a high level, and contains useful discussions on visual odometry vs visual SLAM.
Courses/Lectures
- Cyrill Stachniss Youtube Lectures - Full lectures on common robotics topics, including calibration, localization, mapping. The “5 Minutes with Cyril” series has approachable high-level introductions to many robotics topics.
C++
- learncpp.com - Free tutorials and lessons covering many of the fundamentals of C++, very accessible and well written.
- A Tour of C++ - Bjarne Stroustrup
- Effective Modern C++ - Scott Meyers.
- C++ Core Guidelines - Stroustrup and Sutter.
- cppreference.com - Reference for the language.
- Awesome Modern C++ - A list of C++ libraries, tools, and resources.
- Code for Yourself - Collection of tutorials from someone with a career in robotics and computer vision, mostly related to C++ fundamentals. Also has some very useful videos on CMake and build systems.