A Navigation System for Indoor/Outdoor Environments
Total Page:16
File Type:pdf, Size:1020Kb
A NAVIGATION SYSTEM FOR INDOOR/OUTDOOR ENVIRONMENTS WITH AN UNMANNED GROUND VEHICLE (UGV) by Milad Roigari A Thesis Presented to the Faculty of the American University of Sharjah College of Engineering in Partial Fulfillment of the Requirements for the Degree of Master of Science in Mechatronics Engineering Sharjah, United Arab Emirates May 2015 © 2015 Milad Roigari. All rights reserved. Approval Signatures We, the undersigned, approve the Master’s Thesis of Milad Roigari. Thesis Title: A Navigation System for Indoor/Outdoor Environments with an Unmanned Ground Vehicle (UGV) Signature Date of Signature (dd/mm/yyyy) ___________________________ _______________ Dr. Mohammad Abdel Kareem Rasheed Jaradat Associate Professor, Department of Mechanical Engineering Thesis Advisor ___________________________ _______________ Dr. Mamoun Abdel-Hafez Associate Professor, Department of Mechanical Engineering Thesis Co-Advisor ___________________________ _______________ Dr. Hasan Saeed Mir Associate Professor, Department of Electrical Engineering Thesis Committee Member ___________________________ _______________ Dr. Shayok Mukhopadhyay Assistant Professor, Department of Electrical Engineering Thesis Committee Member ___________________________ _______________ Dr. Mamoun Abdel-Hafez Director, Mechatronics Engineering Graduate Program ___________________________ _______________ Dr. Mohamed El Tarhuni Associate Dean, College of Engineering ___________________________ _______________ Dr. Leland Blank Dean, College of Engineering ___________________________ _______________ Dr. Khaled Assaleh Director of Graduate Studies Acknowledgements I would like to express my gratitude to my supervisors, Dr. Mohammad Abdel Kareem Rasheed Jaradat, Associate Professor and Dr. Mamoun Fahed Saleh Abdel- Hafez, Associate Professor of department of mechanical engineering, American Uni- versity of Sharjah, for their support and guidance, and for providing me with the op- portunity to work on a thesis related to my own area of interest. I would also like to thank Dr. Ali Jhemi, my previous supervisor, for his patience and support. My deep- est thanks go to my parents and my sister for their kind and continuous support all the way throughout my life. I would also like to thank my fellow students Alexander Ad- veev, Hesam Afzali, Muhannad Al-Omari, Rabiya Ahmed, Bara Emran, Syed Ali Rizvi and Amina Amoor for their friendship and for the good time that we spent together, as Mechatronics students at AUS. I am also greatful for Ehab Al-khatib and Wasim Al- Masri for their immense assistance during the testing phase of the thesis. Furthermore, I would like to thank Mr. Kent Bernales Roferos and Mr. John Mempin for their help and for valuable suggestions in the Mechatronics lab of AUS. Finally, I gratefully acknowl- edge the graduate assistantship provided to me by AUS, without which the present study could not have been accomplished. Abstract This thesis presents an approach for solving the global navigation problem of wheeled mobile robots. The presented solution for outdoor navigation uses Extended Kalman Filter (EKF) to estimate the robot location based on the measurements from Global Po- sitioning System (GPS), inertial measurement unit (IMU) and wheel encoders. For in- door navigation (where GPS signals are blocked) another probabilistic approach, based on Monte Carlo Localization (MCL), is used for localization. This algorithm utilizes the map of the environment to estimate the posterior of the robot using the depth mea- surements from a Kinect sensor. The output from the Kinect sensor is processed to imitate the output of a 2D laser scanner by projecting the points from a thin horizontal strip of pixels in the image plane to the corresponding real world 3D coordinates using the pin-hole camera model. Two different controllers based on Dynamic Feedback Lin- earization (DFL) and Input-Output State Feedback Linearization (I-O SFL) have been analyzed, simulated and compared. Based on the thesis objective and the simulated results, the I-O SFL method was chosen for solving the trajectory tracking problem. A set of test experiments was conducted to evaluate the performance of the proposed system in outdoor, indoor and a combination of both environments. The results show that the robot can successfully navigate through the way-points with a great accuracy in indoor environments, while the accuracy in outdoor environments is within the 3m position accuracy of the GPS. Search Terms: Navigation, Extended Kalman Filter, Monte Carlo Localization, In- put Output State Feedback Linearization, Dynamic Feedback Linearization, Kinect, Depth Camera 5 Table of Contents Abstract . 5 List of Figures . 8 List of Tables . 12 List of Abbreviations . 13 1. Introduction . 15 1.1 Background . 15 1.2 The Navigation Problem . 16 1.3 Applications . 17 1.4 Literature review . 18 1.5 Software . 26 1.5.1 Programming language . 26 1.5.2 Used Libraries . 26 1.6 Hardware . 27 1.7 Thesis Overview . 28 2. System Setup . 29 2.1 Communication . 31 3. Robot Motion . 36 3.1 Introduction . 36 3.2 Motion Model . 36 3.2.1 Unicycle . 36 3.2.2 Exact Motion . 37 4. Trajectory Following . 40 4.1 Motion Control . 40 4.2 Dynamic Feedback Linearization . 41 4.3 Input-Output State Feedback Linearization . 48 5. Outdoor Navigation . 55 5.1 Extended Kalman Filter . 56 5.1.1 Filter Design . 57 5.1.2 Simulation . 60 6 5.2 Navigation Software . 64 5.2.1 GUI . 64 5.2.2 Geodetic Transformation . 64 5.3 Practical Results . 69 6. Indoor Navigation . 75 6.1 Monte Carlo Localization (MCL) . 75 6.2 Kinect . 79 6.2.1 Calibration . 79 6.2.2 Measurement . 82 6.3 Simulation . 87 6.4 Practical Results . 89 7. Hybrid System (Indoor/Outdoor) . 92 7.1 Practical Result . 94 8. Conclusion and Future Work . 95 8.1 Summary . 95 8.2 Future Work . 96 References . 97 Vita . 103 7 List of Figures Figure 1: Why multi-sensor data fusion? . 16 Figure 2: A comparison of the posture stabilization controllers implemented on SUPERMARIO [35]. 21 Figure 3: Particle filters have been used successfully for on-board localization of soccer-playing Aibo robots with as few as 50 particles [47]. 25 Figure 4: General Hardware Setup . 29 Figure 5: Block Diagram of the system . 30 Figure 6: mBin Packet Frame . 31 Figure 7: Fletcher Algorithm . 31 Figure 8: First Loop . 32 Figure 9: Second Loop: Initialize . 33 Figure 10: Second Loop: Get byte . 33 Figure 11: Second Loop: Check Sync . 34 Figure 12: Second Loop: Check Checksum . 34 Figure 13: Second Loop: Calculate Checksum . 34 Figure 14: Second Loop: Packet Received . 35 Figure 15: Third Loop . 35 Figure 16: Robot pose, in global configuration space . 37 Figure 17: Motion carried out by a noise-free robot moving with constant ve- locities (n) and (w), starting at (x y q)T . 38 Figure 18: Trajectory Following . 40 Figure 19: Steering Block(LabVIEW Robotics) . 41 Figure 20: Reference Trajectory of The Robot . 43 Figure 21: DFL: Reference and Robot Trajectories . 44 Figure 22: DFL: Robot motion: x(m);y(m);q(rad) . 44 Figure 23: DFL: Linear velocity . 45 Figure 24: DFL: Angular velocity . 45 Figure 25: DFL: Cartesian error (x,y) . 46 8 Figure 26: DFL: Norm of the error . 46 Figure 27: DFL: Robot following a square shaped trajectory.(brighter the color, the closer the robot is to the final position) . 47 Figure 28: DFL: Angular velocity of the robot following a square shaped tra- jectory. 48 Figure 29: Point B outside the wheel axle with distance b 6= 0 . 49 Figure 30: Pulling a toy car with a piece of rope . 49 Figure 31: I-O SFL: Reference and Robot Trajectories . 51 Figure 32: I-O SFL: Robot motion: x(m);y(m);q(rad) . 51 Figure 33: I-O SFL: Linear velocity . 52 Figure 34: I-O SFL: Angular velocity . 52 Figure 35: I-O SFL: Cartesian error (x,y) . 53 Figure 36: I-O SFL: Norm of the error . 53 Figure 37: I-O SFL: point B (yellow) is used by the robot to track a square shaped path . 54 Figure 39: The Extended Kalman filter algorithm (for full mathematical deriva- tion of the EKF refer to [20]) . 57 Figure 40: Flowchart: The basic outdoor navigation process . 60 Figure 41: EKF with encoder and heading measurement . 61 Figure 42: EKF with encoder, heading and noisy GPS measurements . 62 Figure 43: EKF is used with the I-O SFL algorithm to follow the square shaped trajectory . 63 Figure 44: Overall robot pose along the path(robot’s color becomes brighter as it gets closer to the end of the path) . 63 Figure 45: Main features of the GUI . 64 Figure 46: Map features include.