Mobile Robotics presents the different tools and methods that enable the design of mobile robots; a discipline booming with the emergence of flying drones, underwater mine-detector robots, robot sailboats and vacuum cleaners.
Illustrated with simulations, exercises and examples, this book describes the fundamentals of modeling robots, developing the concepts of actuators, sensors, control and guidance. Three-dimensional simulation tools are also explored, as well as the theoretical basis for the reliable localization of robots within their environment.
This revised and updated edition contains additional exercises and a completely new chapter on the Bayes filter, an observer that enhances our understanding of the Kalman filter and facilitates certain proofs.
Table of Contents
Introduction ix
Chapter 1. Three-dimensional Modeling 1
1.1. Rotation matrices 1
1.1.1. Definition 2
1.1.2. Lie group 3
1.1.3. Lie algebra 4
1.1.4. Rotation vector 5
1.1.5. Adjoint 6
1.1.6. Rodrigues rotation formulas 7
1.1.7. Coordinate system change 8
1.2. Euler angles 11
1.2.1. Definition 11
1.2.2. Rotation vector of a moving Euler matrix 13
1.3. Inertial unit 14
1.4. Dynamic modeling 17
1.4.1. Principle 17
1.4.2. Modeling a quadrotor 18
1.5. Exercises 20
1.6. Corrections 37
Chapter 2. Feedback Linearization 65
2.1. Controlling an integrator chain 65
2.1.1. Proportional-derivative controller 66
2.1.2. Proportional-integral-derivative controller 67
2.2. Introductory example 68
2.3. Principle of the method 69
2.3.1. Principle 69
2.3.2. Relative degree 71
2.3.3. Differential delay matrix 72
2.3.4. Singularities 73
2.4. Cart 75
2.4.1. First model 75
2.4.2. Second model 76
2.5. Controlling a tricycle 78
2.5.1. Speed and heading control 78
2.5.2. Position control 80
2.5.3. Choosing another output 81
2.6. Sailboat 82
2.6.1. Polar curve 83
2.6.2. Differential delay 83
2.6.3. The method of feedback linearization 84
2.6.4. Polar curve control 87
2.7. Sliding mode 87
2.8. Kinematic model and dynamic model 90
2.8.1. Principle 90
2.8.2. Example of the inverted rod pendulum 91
2.8.3. Servo-motors 94
2.9. Exercises 95
2.10. Corrections 107
Chapter 3. Model-free Control 133
3.1. Model-free control of a robot cart 134
3.1.1. Proportional heading and speed controller 134
3.1.2. Proportional-derivative heading controller 136
3.2. Skate car 137
3.2.1. Model 138
3.2.2. Sinusoidal control 140
3.2.3. Maximum thrust control 140
3.2.4. Simplification of the fast dynamics 142
3.3. Sailboat 145
3.3.1. Problem 145
3.3.2. Controller 146
3.3.3. Navigation 152
3.3.4. Experiment 153
3.4. Exercises 155
3.5. Corrections 168
Chapter 4. Guidance 183
4.1. Guidance on a sphere 183
4.2. Path planning 187
4.2.1. Simple example 187
4.2.2. Bézier polynomials 188
4.3. Voronoi diagram 189
4.4. Artificial potential field method 191
4.5. Exercises 192
4.6. Corrections 201
Chapter 5. Instantaneous Localization 221
5.1. Sensors 221
5.2. Goniometric localization 225
5.2.1. Formulation of the problem 225
5.2.2. Inscribed angles 226
5.2.3. Static triangulation of a plane robot 228
5.2.4. Dynamic triangulation 229
5.3. Multilateration 230
5.4. Exercises 231
5.5. Corrections 236
Chapter 6. Identification 243
6.1. Quadratic functions 243
6.1.1. Definition 243
6.1.2. Derivative of a quadratic form 244
6.1.3. Eigenvalues of a quadratic function 245
6.1.4. Minimizing a quadratic function 245
6.2. The least squares method 246
6.2.1. Linear case 246
6.2.2. Nonlinear case 248
6.3. Exercises 250
6.4. Corrections 253
Chapter 7. Kalman Filter 263
7.1. Covariance matrices 263
7.1.1. Definitions and interpretations 263
7.1.2. Properties 266
7.1.3. Confidence ellipse 267
7.1.4. Generating Gaussian random vectors 268
7.2. Unbiased orthogonal estimator 269
7.3. Application to linear estimation 274
7.4. Kalman filter 275
7.5. Kalman-Bucy 279
7.6. Extended Kalman filter 282
7.7. Exercises 283
7.8. Corrections 298
Chapter 8. Bayes Filter 329
8.1. Introduction 329
8.2. Basic notions of probabilities 329
8.3. Bayes filter 332
8.4. Bayes smoother 334
8.5. Kalman smoother 335
8.5.1. Equations of the Kalman smoother 335
8.5.2. Implementation 336
8.6. Exercises 337
8.7. Corrections 345
References 359
Index 361