logo资料库

STATE ESTIMATION FOR ROBOTICS.pdf

第1页 / 共394页
第2页 / 共394页
第3页 / 共394页
第4页 / 共394页
第5页 / 共394页
第6页 / 共394页
第7页 / 共394页
第8页 / 共394页
资料共394页,剩余部分请下载后查看
Acronyms and Abbreviations
Notation
Foreword
Introduction
A Little History
Sensors, Measurements, and Problem Definition
How This Book Is Organized
Relationship to Other Books
Part I Estimation Machinery
Primer on Probability Theory
Probability Density Functions
Definitions
Bayes' Rule and Inference
Moments
Sample Mean and Covariance
Statistically Independent, Uncorrelated
Normalized Product
Shannon and Mutual Information
Cramér-Rao Lower Bound and Fisher Information
Gaussian Probability Density Functions
Definitions
Isserlis' Theorem
Joint Gaussian PDFs, Their Factors, and Inference
Statistically Independent, Uncorrelated
Linear Change of Variables
Normalized Product of Gaussians
Sherman-Morrison-Woodbury Identity
Passing a Gaussian through a Nonlinearity
Shannon Information of a Gaussian
Mutual Information of a Joint Gaussian PDF
Cramér-Rao Lower Bound Applied to Gaussian PDFs
Gaussian Processes
Summary
Exercises
Linear-Gaussian Estimation
Batch Discrete-Time Estimation
Problem Setup
Maximum A Posteriori
Bayesian Inference
Existence, Uniqueness, and Observability
MAP Covariance
Recursive Discrete-Time Smoothing
Exploiting Sparsity in the Batch Solution
Cholesky Smoother
Rauch-Tung-Striebel Smoother
Recursive Discrete-Time Filtering
Factoring the Batch Solution
Kalman Filter via MAP
Kalman Filter via Bayesian Inference
Kalman Filter via Gain Optimization
Kalman Filter Discussion
Error Dynamics
Existence, Uniqueness, and Observability
Batch Continuous-Time Estimation
Gaussian Process Regression
A Class of Exactly Sparse Gaussian Process Priors
Linear Time-Invariant Case
Relationship to Batch Discrete-Time Estimation
Summary
Exercises
Nonlinear Non-Gaussian Estimation
Introduction
Full Bayesian Estimation
Maximum a Posteriori Estimation
Recursive Discrete-Time Estimation
Problem Setup
Bayes Filter
Extended Kalman Filter
Generalized Gaussian Filter
Iterated Extended Kalman Filter
IEKF Is a MAP Estimator
Alternatives for Passing PDFs through Nonlinearities
Particle Filter
Sigmapoint Kalman Filter
Iterated Sigmapoint Kalman Filter
ISPKF Seeks the Posterior Mean
Taxonomy of Filters
Batch Discrete-Time Estimation
Maximum A Posteriori
Bayesian Inference
Maximum Likelihood
Discussion
Batch Continuous-Time Estimation
Motion Model
Observation Model
Bayesian Inference
Algorithm Summary
Summary
Exercises
Biases, Correspondences, and Outliers
Handling Input/Measurement Biases
Bias Effects on the Kalman Filter
Unknown Input Bias
Unknown Measurement Bias
Data Association
External Data Association
Internal Data Association
Handling Outliers
RANSAC
M-Estimation
Covariance Estimation
Summary
Exercises
Part II Three-Dimensional Machinery
Primer on Three-Dimensional Geometry
Vectors and Reference Frames
Reference Frames
Dot Product
Cross Product
Rotations
Rotation Matrices
Principal Rotations
Alternate Rotation Representations
Rotational Kinematics
Perturbing Rotations
Poses
Transformation Matrices
Robotics Conventions
Frenet-Serret Frame
Sensor Models
Perspective Camera
Stereo Camera
Range-Azimuth-Elevation
Inertial Measurement Unit
Summary
Exercises
Matrix Lie Groups
Geometry
Special Orthogonal and Special Euclidean Groups
Lie Algebras
Exponential Map
Adjoints
Baker-Campbell-Hausdorff
Distance, Volume, Integration
Interpolation
Homogeneous Points
Calculus and Optimization
Identities
Kinematics
Rotations
Poses
Linearized Rotations
Linearized Poses
Probability and Statistics
Gaussian Random Variables and PDFs
Uncertainty on a Rotated Vector
Compounding Poses
Fusing Poses
Propagating Uncertainty through a Nonlinear Camera Model
Summary
Exercises
Part III Applications
Pose Estimation Problems
Point-Cloud Alignment
Problem Setup
Unit-Length Quaternion Solution
Rotation Matrix Solution
Transformation Matrix Solution
Point-Cloud Tracking
Problem Setup
Motion Priors
Measurement Model
EKF Solution
Batch Maximum a Posteriori Solution
Pose-Graph Relaxation
Problem Setup
Batch Maximum Likelihood Solution
Initialization
Exploiting Sparsity
Chain Example
Pose-and-Point Estimation Problems
Bundle Adjustment
Problem Setup
Measurement Model
Maximum Likelihood Solution
Exploiting Sparsity
Interpolation Example
Simultaneous Localization and Mapping
Problem Setup
Batch Maximum a Posteriori Solution
Exploiting Sparsity
Example
Continuous-Time Estimation
Motion Prior
General
Simplification
Simultaneous Trajectory Estimation and Mapping
Problem Setup
Measurement Model
Batch Maximum a Posteriori Solution
Exploiting Sparsity
Interpolation
Postscript
References
Index
STATE ESTIMATION FOR ROBOTICS Timothy D. Barfoot Copyright c 2017 Cambridge University Press is the Ocial Publisher This Unocial Version Compiled on May 13, 2017 Send errata to
Revision History 13 May 2017 Version best matching published first edition iii
Contents Acronyms and Abbreviations Notation Foreword 1 1.1 1.2 1.3 1.4 2 2.1 Introduction A Little History Sensors, Measurements, and Problem Definition How This Book Is Organized Relationship to Other Books Part I Estimation Machinery Primer on Probability Theory Probability Density Functions 2.1.1 Definitions 2.1.2 Bayes’ Rule and Inference 2.1.3 Moments 2.1.4 2.1.5 2.1.6 Normalized Product 2.1.7 2.1.8 Cram´er-Rao Lower Bound and Fisher Information Sample Mean and Covariance Statistically Independent, Uncorrelated Shannon and Mutual Information 2.2 Gaussian Probability Density Functions Isserlis’ Theorem Joint Gaussian PDFs, Their Factors, and Inference Statistically Independent, Uncorrelated 2.2.1 Definitions 2.2.2 2.2.3 2.2.4 2.2.5 Linear Change of Variables 2.2.6 Normalized Product of Gaussians 2.2.7 2.2.8 Passing a Gaussian through a Nonlinearity 2.2.9 2.2.10 Mutual Information of a Joint Gaussian PDF 2.2.11 Cram´er-Rao Lower Bound Applied to Gaussian PDFs Sherman-Morrison-Woodbury Identity Shannon Information of a Gaussian 2.3 Gaussian Processes 2.4 2.5 Summary Exercises xi xiii xv 1 1 3 4 5 7 9 9 9 10 11 12 12 13 14 14 15 15 16 18 20 20 22 23 24 28 30 30 32 33 33 v
vi 3 3.1 3.2 3.3 3.4 3.5 3.6 4 4.1 4.2 4.3 Linear-Gaussian Estimation Batch Discrete-Time Estimation 3.1.1 Problem Setup 3.1.2 Maximum A Posteriori 3.1.3 Bayesian Inference 3.1.4 Existence, Uniqueness, and Observability 3.1.5 MAP Covariance Recursive Discrete-Time Smoothing 3.2.1 Exploiting Sparsity in the Batch Solution 3.2.2 Cholesky Smoother 3.2.3 Rauch-Tung-Striebel Smoother Recursive Discrete-Time Filtering 3.3.1 Factoring the Batch Solution 3.3.2 Kalman Filter via MAP 3.3.3 Kalman Filter via Bayesian Inference 3.3.4 Kalman Filter via Gain Optimization 3.3.5 Kalman Filter Discussion 3.3.6 Error Dynamics 3.3.7 Existence, Uniqueness, and Observability Batch Continuous-Time Estimation 3.4.1 Gaussian Process Regression 3.4.2 A Class of Exactly Sparse Gaussian Process Priors 3.4.3 Linear Time-Invariant Case 3.4.4 Relationship to Batch Discrete-Time Estimation Summary Exercises Iterated Extended Kalman Filter IEKF Is a MAP Estimator Nonlinear Non-Gaussian Estimation Introduction 4.1.1 Full Bayesian Estimation 4.1.2 Maximum a Posteriori Estimation Recursive Discrete-Time Estimation 4.2.1 Problem Setup 4.2.2 Bayes Filter 4.2.3 Extended Kalman Filter 4.2.4 Generalized Gaussian Filter 4.2.5 4.2.6 4.2.7 Alternatives for Passing PDFs through Nonlinearities 4.2.8 Particle Filter 4.2.9 4.2.10 Iterated Sigmapoint Kalman Filter 4.2.11 ISPKF Seeks the Posterior Mean 4.2.12 Taxonomy of Filters Batch Discrete-Time Estimation 4.3.1 Maximum A Posteriori 4.3.2 Bayesian Inference 4.3.3 Maximum Likelihood 4.3.4 Discussion Sigmapoint Kalman Filter Contents 37 37 37 39 44 46 50 51 52 53 55 58 59 63 68 69 70 71 72 74 74 77 83 87 88 88 91 91 92 94 96 96 97 100 103 105 106 107 116 118 123 126 127 127 128 135 137 142
Contents 4.4 4.5 4.6 5 5.1 Batch Continuous-Time Estimation 4.4.1 Motion Model 4.4.2 Observation Model 4.4.3 Bayesian Inference 4.4.4 Algorithm Summary Summary Exercises Biases, Correspondences, and Outliers Handling Input/Measurement Biases 5.1.1 Bias E↵ects on the Kalman Filter 5.1.2 Unknown Input Bias 5.1.3 Unknown Measurement Bias 5.2 Data Association 5.2.1 External Data Association 5.2.2 Internal Data Association Handling Outliers 5.3.1 RANSAC 5.3.2 M-Estimation 5.3.3 Covariance Estimation Summary Exercises Part II Three-Dimensional Machinery Primer on Three-Dimensional Geometry Vectors and Reference Frames 6.1.1 Reference Frames 6.1.2 Dot Product 6.1.3 Cross Product Rotations 6.2.1 Rotation Matrices 6.2.2 Principal Rotations 6.2.3 Alternate Rotation Representations 6.2.4 Rotational Kinematics 6.2.5 Perturbing Rotations Poses 6.3.1 Transformation Matrices 6.3.2 Robotics Conventions 6.3.3 Frenet-Serret Frame Sensor Models 6.4.1 Perspective Camera 6.4.2 6.4.3 Range-Azimuth-Elevation 6.4.4 Inertial Measurement Unit Summary Exercises Stereo Camera 5.3 5.4 5.5 6 6.1 6.2 6.3 6.4 6.5 6.6 vii 143 143 146 146 147 148 149 151 152 152 155 157 159 160 160 161 162 163 166 168 168 171 173 173 174 174 175 176 176 177 178 184 188 192 193 194 196 199 199 206 208 209 211 212
viii Matrix Lie Groups 7 7.1 Geometry Contents Special Orthogonal and Special Euclidean Groups 7.1.1 7.1.2 Lie Algebras 7.1.3 Exponential Map 7.1.4 Adjoints 7.1.5 Baker-Campbell-Hausdor↵ 7.1.6 Distance, Volume, Integration 7.1.7 7.1.8 Homogeneous Points 7.1.9 Calculus and Optimization 7.1.10 Identities Interpolation 7.2 Kinematics 7.3 7.4 7.5 8 8.1 8.2 8.3 7.2.1 Rotations 7.2.2 Poses 7.2.3 Linearized Rotations 7.2.4 Linearized Poses Probability and Statistics 7.3.1 Gaussian Random Variables and PDFs 7.3.2 Uncertainty on a Rotated Vector 7.3.3 Compounding Poses 7.3.4 Fusing Poses 7.3.5 Propagating Uncertainty through a Nonlinear Camera Model Summary Exercises Part III Applications Pose Estimation Problems Point-Cloud Alignment 8.1.1 Problem Setup 8.1.2 Unit-Length Quaternion Solution 8.1.3 Rotation Matrix Solution 8.1.4 Transformation Matrix Solution Point-Cloud Tracking 8.2.1 Problem Setup 8.2.2 Motion Priors 8.2.3 Measurement Model 8.2.4 EKF Solution 8.2.5 Batch Maximum a Posteriori Solution Pose-Graph Relaxation 8.3.1 Problem Setup 8.3.2 Batch Maximum Likelihood Solution 8.3.3 8.3.4 Exploiting Sparsity 8.3.5 Chain Example Initialization 215 215 215 217 219 226 230 237 240 246 246 254 255 255 258 261 265 266 267 271 273 280 285 292 293 295 297 297 298 298 302 316 319 319 320 321 322 325 329 329 330 333 333 334
分享到:
收藏