Click here to load reader
View
24
Download
8
Tags:
Embed Size (px)
DESCRIPTION
A BS thesis submitted to EME
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