Click here to load reader

IMPLEMENTATION OF SIMULTANEOUS LOCALIZATION AND MAPPING ON PEOPLEBOT

  • View
    24

  • Download
    8

Embed Size (px)

DESCRIPTION

A BS thesis submitted to EME

Text of IMPLEMENTATION OF SIMULTANEOUS LOCALIZATION AND MAPPING ON PEOPLEBOT

  • DE 28 (MTS)

    PROJECT REPORT

    IMPLEMENTATION OF SIMULTANEOUS LOCALIZATION AND MAPPING ON PEOPLEBOT

    Submitted to the Department of Mechatronics Engineering in partial fulfillment of the requirements for the degree of

    Bachelor of Engineering

    in

    Mechatronics

    2010

    Sponsoring DS: Submitted By:

    Talha Manzoor Zeeshan Haider Raja

    Brig. Dr. Javaid Iqbal Ammar Zahid Ali Nasir Sattar

  • ii

    ACKNOWLEDGEMENTS

    First of all thanks to The All-Mighty for making us capable of doing the work

    presented herein. We are grateful to Dr. Javaid Iqbal for allowing us to undertake this line

    of research along with his experienced supervision throughout the course of this project.

    We would also like to thank Dr. Kunwar Faraz for his critical feed back and expert

    analysis of our work. Thanks also to our seniors, Zohaib Riaz, Affan Pervaiz and

    Muhammad Ahmer for their kind guidance and encouragement. We would also like to

    acknowledge the help of Jawad Ahmed relating to the troubleshooting of the problems

    which occured in our code. We would also like to thank Mr. Qasim for his wonderful

    cooperation with us in the robotics lab.

  • iii

    ABSTRACT

    This report describes our technique for simulation and implementation of

    Simultaneous Localization and Mapping (SLAM) using Particle Filters. It is a common

    misconception that Particle Filters for SLAM, while keeping the map of the environment

    as part of the hidden state, does not yield real time results. Our technique presented in this

    paper not only considers the map as part of the hidden state but also yields effective and

    accurate real time results. SLAM using our technique has been simulated as well as

    implemented in real time, the results of which are presented herein. Our algorithms are not

    only easy to understand but can also be implemented by one who does not have an

    extensive theoretical knowledge of the SLAM problem.

  • iv

    TABLE OF CONTENTS AKNOWLEDGMENTS ii ABSTARCT iii TABLE OF CONTENTS iv LIST OF FIGURES vii LIST OF TABLES ix LIST OF SYMBOLS x CHAPTER 1 - INTRODUCTION 1 CHAPTER 2 - BACKGROUND INFORMATION 3

    2.1 Introduction 3 2.2Applications 3

    2.3 History 3

    CHAPTER 3 - STATE ESTIMATION WITH PARTICLE FILTERING 5 3.1 The state 5

    3.1.1 Completeness and Continuity of State 6 3.2 Interaction with the Environment 7

    3.2.1 Sensor Measurements 7

    3.2.2 Control Actions 8

    3.2.3 Measurement Data 8 3.2.4 Control Data 8

    3.3 State Estimation Techniques 9 3.3.1 Belief Distributions 9

    3.3.2 The Bayes Filter 10 3.3.3 The Particle Filter 12

    3.3.3.1 Basic Algorithm 12 3.3.3.2 Importance Resampling 15

    3.3.3.3 Limitations and Remedies 16 3.3.3.3.1 Inclusion of Random Samples 16

    3.3.3.3.2 Use of Unnormalized Weights 17

    CHAPTER 4 MOTION MODEL 18 4.1 Kinematic Configuration 19

    4.2 Probabilistic Kinematics 20 4.3 Odometry Motion Model 21

  • v

    CHAPTER 5 MEASUREMENT MODEL 24 5.1 The Range Finder Sensor Model 26

    CHAPTER 6 OCCUPANCY GRID MAP BUILDING 29 6.1 Algorithm 29

    CHAPTER 7 OBSTACLE AVOIDANCE AND NAVIGATION 32 7.1 Random Walk 32

    7.2 Seek Open Algorithm 33 7.3 Frontier Based Exploration 34

    7.4 Wall Follow Technique 36 7.5 Our Techniques 36

    CHAPTER 8 PLAYER PROJECT 39 8.1 Overview 39

    8.1.1 Player 39

    8.1.2 Stage 40 8.2 Player Robotic Simulation Platform 40

    8.2.1 Interfaces 40 8.2.2 Software Hardware Interface 40

    8.2.3 Abstract Driver 41 8.2.4 TCP Client Program 41

    8.2.5 The Player Server 41 8.2.6 The C++ Client Library 42

    8.2.7 Relevant Drivers 42 8.3 The Stage Robotic Simulator 42

    8.3.1 Stage Models 43 8.3.2 Blobfinder Model 43

    8.3.3 Laser Model 43 8.3.4 Position Model 43

    CHAPTER 9-PEOPLEBOT: THE ROBOT 44 9.1 Overview 44 9.2 Technical Specifications 45

    9.2.1 Sensors 45 9.2.2 Computing Power 45

    9.3 Sick LMS 200 45 9.4 Odometry 46

  • vi

    9.5 Modelling of PeopleBot 46

    9.5.1 Motion Model 47

    9.5.2 Sensor Model 47

    CHAPTER 10 WIRELESS COMMUNICATION 50 CHAPTER 11 RESULTS 51

    11.1 MATLAB 51 11.2 Player/Stage Simulation 52

    11.3 Implementation on PeopleBot 54

    CHAPTER 12 FUTURE WORK AND CONCLUSIONS 56 BIBLIOGRAPHY 57 ANNEXURE A 58

    Player Code 58

    ANNEXURE B 90 MATLAB Codes 90

    ANNEXURE C 98 Script for Wireless Settings of PeopleBot 98

  • vii

    LIST OF FIGURES

    F