Development of a Low Cost Controller and Navigation System for Unmanned Ground Vehicle
Total Page:16
File Type:pdf, Size:1020Kb
Graduate Theses, Dissertations, and Problem Reports 2008 Development of a low cost controller and navigation system for unmanned ground vehicle Shashidhar Muppidi West Virginia University Follow this and additional works at: https://researchrepository.wvu.edu/etd Recommended Citation Muppidi, Shashidhar, "Development of a low cost controller and navigation system for unmanned ground vehicle" (2008). Graduate Theses, Dissertations, and Problem Reports. 2674. https://researchrepository.wvu.edu/etd/2674 This Thesis is protected by copyright and/or related rights. It has been brought to you by the The Research Repository @ WVU with permission from the rights-holder(s). You are free to use this Thesis in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you must obtain permission from the rights-holder(s) directly, unless additional rights are indicated by a Creative Commons license in the record and/ or on the work itself. This Thesis has been accepted for inclusion in WVU Graduate Theses, Dissertations, and Problem Reports collection by an authorized administrator of The Research Repository @ WVU. For more information, please contact [email protected]. Development of a Low Cost Controller and Navigation System for Unmanned Ground Vehicle By Shashidhar Muppidi THESIS Submitted to the College of Engineering and Mineral Resources West Virginia University In partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering Powsiri Klinkhachorn, Ph.D., Chair Roy Nutter, Ph.D. Afzel Noore, Ph.D. Lane Department of Computer Science and Electrical Engineering Morgantown, West Virginia 2008 Keywords: Unmanned Ground Vehicle, Kalman Filter, 9S12 Microcontroller, Phidgets Abstract The objective of this research was to develop an Unmanned Ground Vehicle (UGV) which is capable of autonomously navigating to user specified Global Positioning System (GPS) waypoints. For rapid design and testing of the UGV, it was initially designed in a distributive approach using independent commercial off-the-shelf (COTS) computing modules for control and sensing. Autonomous navigation behavior of the UGV was tested to analyze the strengths and weaknesses of the UGV design, using digital compass for heading and GPS for location measurements. The UGV waypoint navigation has been observed to be consistent for smooth terrains. Uneven terrains, however, posed a challenge for UGV navigation as the underlying terrain induced noise and error into the compass thus making the UGV heading measurements unreliable. The UGV heading estimation was improved by applying a Kalman filter for gyro, GPS, and compass measurements. The heading estimate obtained using this technique has always been observed to be within five degrees of the actual UGV heading. The performance of the UGV electronic control and sensing subsystem has been improved by replacing all the COTS modules with a low cost Freescale 9S12 microcontroller. A circuit board integrating a 9S12 microcontroller and a single axis rate gyro was designed to interface with a host computer. The microcontroller receives instructions over a serial RS-232 connection from the host computer to perform a set of maneuvers and also to monitor the status of the UGV. The hardware design coupled with the estimation technique not only simplified the electronic hardware design and improved the reliability of the system but also brought down the design costs of the UGV. Acknowledgements I am delighted to see this day coming through which would not have been possible without the constant support and encouragement I have received from Dr. Klinkhachorn, fondly called as Dr. Klink. I am highly indebted to Dr. Klinkhachorn for giving me an opportunity to work for him as a graduate research assistant that helped me to gain invaluable experience. As a graduate research assistant for him I have learned to apply the knowledge gained in the classroom for real world problems. Dr. Klinkhachorn has been a great support both in my professional and personal life. I would like to express my sincere gratitude to Dr. Nutter for his support and encouragement. I would also like to express my sincere thanks to Dr. Noore for his valuable feedback and suggestions from time to time. I also take this opportunity to thank Dr. Gu and Jason Jarrell for their help to make me understand and implement the Kalman filter. I would like to thank Jeannette Hoy for taking her time out to help and teach me to cut the PC boards used for my research. I am also grateful to Scott, Joshua and John from Augusta Systems, Inc. for their constant support and encouragement. I would like thank my parents and my brother for their support in all possible ways. I would also to thank my friends at West Virginia University who were like my family during my stay here. My thanks go out for my friends who are elsewhere and in constant touch with me encouraging me in various aspects of my life. Finally, I cherish every moment of my stay at West Virginia University. iii Contents Abstract ............................................................................................................................... ii Acknowledgements ............................................................................................................ iii Contents ............................................................................................................................. iv List of Figures and Illustrations ........................................................................................ vii List of Tables ..................................................................................................................... ix List of Symbols, Abbreviations and Nomenclature ............................................................ x CHAPTER 1 INTRODUCTION ....................................................................................... 1 1.1 Background ............................................................................................................... 1 1.2 Research Objectives .................................................................................................. 2 1.3 Scope ......................................................................................................................... 3 1.4 Organization .............................................................................................................. 3 CHAPTER 2 LITERATURE REVIEW ............................................................................ 4 2.1 Introduction to UGV Navigation and Related Work ................................................ 4 2.2 Kalman Filter ............................................................................................................ 7 2.2.1 Introduction ........................................................................................................ 7 2.2.2 Discrete Time Kalman Filter ............................................................................. 8 2.2.3 Tuning the Kalman Filter ................................................................................. 11 2.3 Freescale 9S12 Microcontroller: The Hardware Interface ...................................... 11 CHAPTER 3 UGV DESIGN AND SOFTWARE DEVELOPMENT ............................ 13 3.1 Design Goals ........................................................................................................... 13 3.2 Mechanical Design of the UGV .............................................................................. 15 3.3 Improving the Mechanical Design of UGV using Chain Drive ............................. 18 3.4 Rapid Prototyping of UGV Using COTS modules and Mini PC ........................... 20 3.4.1 Interfacing Electronic components .................................................................. 20 3.4.2 Interfacing Radio Controller to the UGV ........................................................ 22 3.4.3 UGV Power Supply Circuit ............................................................................. 23 3.5 UGV Navigation Software for Mini PC ................................................................. 25 3.5.1 Software Architecture ...................................................................................... 25 3.5.2 Control Flow .................................................................................................... 27 iv 3.5.3 Command Execution Thread ........................................................................... 28 3.5.4 UGV Turn Maneuver ....................................................................................... 29 3.5.5 Driving UGV along a straight line using PI controller .................................... 30 3.5.6 UGV Navigation Algorithm ............................................................................ 32 3.5.7 Field Tests and Observations ........................................................................... 34 3.6 Optimizing UGV Heading Estimate Using Kalman Filter ..................................... 37 3.6.1 Introduction ...................................................................................................... 37 3.6.2 UGV Heading Estimation Modeling Using Kalman Filter .............................. 40 3.6.3 Implementing Kalman Filter for Compass and GPS Measurements ............... 41 3.6.4 Field Tests and Observations ........................................................................... 44 3.6.5 Using V100 as a Benchmark