Sunday, January 12, 2014

C4B — Mobile Robotics

C4B — Mobile Robotics

Contents

1 Introduction and Motivation ....................................................................................................... 6

2 Introduction to Path Planning and Obstacle Avoidance .............................................................. 8

2.1 Holonomicity........................................................................................................................ 9

2.2 Configuration Space.......................................................................................................... 11

2.3 The Minkowski-Sum........................................................................................................... 13

2.4 Voronoi Methods............................................................................................................... 14

2.5 Bug Methods...................................................................................................................... 15

2.6 Potential Methods............................................................................................................. 15

  • Estimation - A Quick Revision 19

    • Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    • What is Estimation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

      • Defining the problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    • Maximum Likelihood Estimation . . . . . . . . . . . . . . . . . . . . . . . . 21

    • Maximum A-Posteriori - Estimation . . . . . . . . . . . . . . . . . . . . . . . 22

2

3

  • Minimum Mean Squared Error Estimation . . . . . . . . . . . . . . . . . . . 24

  • Recursive Bayesian Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . 25


  • Least Squares Estimation 28

    • Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

      • A Geometric Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

      • LSQ Via Minimisation . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    • Weighted Least Squares . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   30

      • Non-linear Least Squares . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2.2           Long Baseline Navigation - an Example . . . . . . . . . . . . . . . . .       31

    • Kalman Filtering -Theory, Motivation and Application 35

      • The Linear Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . .     35

        • Incorporating Plant Models - Prediction . . . . . . . . . . . . . . . .     39

        • Joining Prediction to Updates . . . . . . . . . . . . . . . . . . . . . . 42

        • Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

      • Using Estimation Theory in Mobile Robotics . . . . . . . . . . . . . . . . . . 46

        • A Linear Navigation Problem - “Mars Lander” . . . . . . . . . . . . . 46

        • Simulation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

      • Incorporating Non-Linear Models - The Extended Kalman Filter . . . . . . . 52

        • Non-linear Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

        • Non-linear Observation Model . . . . . . . . . . . . . . . . . . . . . . 54

3

4

  • The Extended Kalman Filter Equations . . . . . . . . . . . . . . . .     56


  • Vehicle Models and Odometry 59

    • Velocity Steer Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

    • Evolution of Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    • Using Dead-Reckoned Odometry Measurements . . . . . . . . . . . . . . . . 63 6.3.1           Composition of Transformations . . . . . . . . . . . . . . . . . . . . .         65

  • Feature Based Mapping and Localisation 69

    • Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    • Features and Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    • Observations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    • A Probabilistic Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

      • Probabilistic Localisation . . . . . . . . . . . . . . . . . . . . . . . . . 71

      • Probabilistic Mapping . . . . . . . . . . . . . . . . . . . . . . . . . .         72

    • Feature Based Estimation for Mapping and Localising . . . . . . . . . . . . . 73

      • Feature Based Localisation . . . . . . . . . . . . . . . . . . . . . . . . 73

      • Feature Based Mapping . . . . . . . . . . . . . . . . . . . . . . . . .           74

    • Simultaneous Localisation and Mapping - SLAM . . . . . . . . . . . . . . . . 78 7.6.1           The role of Correlations  . . . . . . . . . . . . . . . . . . . . . . . . .           81

  • Multi-modal and other Methods 83

    • Montecarlo Methods - Particle Filters . . . . . . . . . . . . . . . . . . . . . . 83

5

  • Grid Based Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85


  • In Conclusion 89

  • Miscellaneous Matters 90

    • Drawing Covariance Ellipses . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 10.2 Drawing High Dimensional Gaussians . . . . . . . . . . . . . . . . . . . . . .          93

  • Example Code 94

    • Matlab Code For Mars Lander Example . . . . . . . . . . . . . . . . . . . .         94

    • Matlab Code For Ackerman Model Example . . . . . . . . . . . . . . . . . . 98

    • Matlab Code For EKF Localisation Example . . . . . . . . . . . . . . . . . . 100

    • Matlab Code For EKF Mapping Example . . . . . . . . . . . . . . . . . . .           103

    • Matlab Code For EKF SLAM Example . . . . . . . . . . . . . . . . . . . . . 107

    • Matlab Code For Particle Filter Example . . . . . . . . . . . . . . . . . . . . 111