By
Andreas Dhanu Saputra 11501038
BACHELOR’S DEGREE in
MECHANICAL ENGINEERING - MECHATRONICS CONCENTRATION FACULTY OF ENGINEERING AND INFORMATION TECHNOLOGY
SWISS GERMAN UNIVERSITY The Prominence Tower
Jalan Jalur Sutera Barat No. 15, Alam Sutera Tangerang, Banten 15143 - Indonesia
August 2017
Revision after the Thesis Defense on 2 August 2017
STATEMENT BY THE AUTHOR
I hereby declare that this submission is my own work and to the best of my knowledge, it contains no material previously published or written by another person, nor material which to a substantial extent has been accepted for the award of any other degree or diploma at any educational institution, except where due acknowledgment is made in the thesis.
Andreas Dhanu Saputra
_____________________________________________
Student Date
Approved by:
Dr. Rusman Rusyadi, B.Eng., M.Sc.
_____________________________________________
Thesis Advisor Date
Dr. Eka Budiarto, S.T, M.Sc.
_____________________________________________
Thesis Co-Advisor
PATH PLANNING SIMULATION FOR QUADCOPTER USING GAZEBO SIMULATOR
By
Andreas Dhanu Saputra
Dr. Rusman Rusyadi, B.Eng., M.Sc, Advisor Dr. Eka Budiarto, S.T, M.Sc, Co-Advisor
SWISS GERMAN UNIVERSITY
The purpose of this thesis is to create a quadcopter simulation that able to do path planning operation. Robot Operating System (ROS) and Gazebo software are used to design and simulate the behavior of quadcopter. Standard ROS packages such as hector quadrotor package, joystick package, mapping package, and navigation package are modified and applied to the system as the foundation of this thesis work program. Odometry sensor for localization purposes use 3D Position Interface for Ground Truth (P3D) plugin inside Gazebo and laser scan sensor. Experiments to test the movement behavior, mapping quality, and path planning performance are conducted and reported in this thesis. The result shows that the simulation is able to simulate quadcopter flight behavior and path planning algorithm accordingly. This free simulator is fit for educational purposes because it is free and has vast programming library.
Keywords: simulation, Robot Operating System, quadcopter, Gazebo, flight behavior
© Copyright 2017 By Andreas Dhanu Saputra
All rights reserved
I dedicate this thesis work for my family
ACKNOWLEDGEMENTS
Greatest gratitude is given to my family for their prays and supports.
Enormous thanks to my advisor Rusman Rusyadi and co-advisor Eka Budiarto who have given guidance during my thesis work.
Huge recognition to ROS teams: William Gunawan, Matthew Judijanto, Daniel Setiono, Kevin Ariesta, Aulia Syamil, Victor Nugraha, and Gio. Thank you all for
your time and aids during our struggle finishing our thesis.
Great appreciation for my friends in Mechatronics batch 2013. Those who welcome and accompany me in SGU.
And for others that directly or indirectly contribute in this thesis.
Page
STATEMENT BY THE AUTHOR... 2
ABSTRACT... 3
DEDICATION...5
ACKNOWLEDGEMENTS...6
TABLE OF CONTENTS...7
LIST OF FIGURES... 10
LIST OF TABLES... 14
CHAPTER 1 - INTRODUCTION... 15
1.1. Background... 15
1.2. Thesis Purpose...16
1.3. Significance of Thesis... 16
1.4. Thesis Problem...16
1.5. Thesis Scope...16
1.6. Thesis Limitations... 17
1.7. Thesis Organizations... 17
CHAPTER 2 - LITERATURE REVIEW...18
2.1. Introduction... 18
2.2. Modelling and Simulation in Mechatronics... 18
2.3. Quadcopter Robot...20
2.4. Robot Modelling Simulations... 22
2.4.1. Virtual Robot Experimentation Platform (V-Rep)...22
2.4.2. Microsoft Robotics Developer Studio...24
2.4.3. Webots...26
2.4.4. Labview Robot Simulation...28
2.4.5. Gazebo...29
2.5. Robot Operating System (ROS)...30
2.6. Mapping...32
2.7. Proportional, Integrative, and Differential (PID) Tuning...33
2.8.2. A* Path Planning Algorithm... 36
2.9. Concluding Remarks... 38
CHAPTER 3 - METHODOLOGY...39
3.1. Introduction... 39
3.1.1. General Methodology...39
3.1.2. Approach... 40
3.2. Gazebo Features... 40
3.2.1. Mechanical Design...42
3.2.2. Dynamical Behavior Design... 45
3.2.3. Environment Design...52
3.3. ROS Visualization (RViz) Features... 54
3.4. ROS Packages... 56
3.4.1. Hector Quadrotor Package... 56
3.4.2. Joy Package... 61
3.4.3. Gmapping Package...63
3.4.4. Navigation Package...67
3.4.5. Navi_Hector Package...76
3.4.6. Twist_to_Twiststamped Package...76
3.4.7. Hector_Quadrotor_Auto Package... 77
3.4.8. Trajectory_Handler Package... 78
3.5. Concluding Remark...81
CHAPTER 4 - RESULTS AND DISCUSSIONS... 82
4.1. Introduction... 82
4.2. Flight Control... 82
4.2.1. PID Tuning...82
4.2.2. Velocity Control Experiment Result... 87
4.6. Concluding Remark...125
CHAPTER 5 - CONCLUSIONS AND RECOMMENDATIONS... 126
5.1. Conclusions... 126
5.2. Recommendations for Future Developments...126
REFERENCES... 127
APPENDIX A - C++ CODE... 129
APPENDIX B - URDF FILES...136
APPENDIX C - LAUNCH FILES... 140
APPENDIX D - YAML FILES... 148
CURRICULUM VITAE... 158