A key aspect of robotics today is estimating the state (e.g., position and orientation) of a robot, based on noisy sensor data. This book targets students and practitioners of robotics by presenting classical state estimation methods (e.g., the Kalman filter) but also important modern topics such as batch estimation, Bayes filter, sigmapoint and particle filters, robust estimation for outlier rejection, and continuous-time trajectory estimation and its connection to Gaussian-process regression. Since most robots operate in a three-dimensional world, common sensor models (e.g., camera, laser rangefinder) are provided followed by practical advice on how to carry out state estimation for rotational state variables. The book covers robotic applications such as point-cloud alignment, pose-graph relaxation, bundle adjustment, and simultaneous localization and mapping. Highlights of this expanded second edition include a new chapter on variational inference, a new section on inertial navigation, more introductory material on probability, and a primer on matrix calculus.