DESIGNING, BUILDING AND CONTROLLING A MOBILE ROBOT THAT BALANCES ON A BALL
By
Nicolaus Dwi Satrio
A Thesis submitted to the Faculty of ENGINEERING
Department of
MECHATRONICS ENGINEERING
In Partial Fulfillment of the Requirements for
BACHELOR'S DEGREE
IN
MECHATRONICS
Swiss German University EduTown BSDCity
Tangerang 15339 INDONESIA
Telp. +62 21 3045 0045 Fax. +62 21 3045 0001 E-mail: info@sgu.ac.id
www.sgu.ac.id
STATEMENT BY THE AUTHOR
I hereby declare that this submission is my own work and to the best of my knowledge, 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 acknowledgement is made in the thesis.
_______________________________________ ________________
Nicolaus Dwi Satrio Date
Approved by:
________________________________________ __________________
Erikson Ferry Soonggalon, S.T., M.Kom Date
______________________________________ _________________
Chairman of the Examination Steering Committee Date
ABSTRACT
DESIGNING, BUILDING AND CONTROLLING A MOBILE ROBOT THAT BALANCES ON A BALL
By
Nicolaus Dwi Satrio
SWISS GERMAN UNIVERISTY Bumi Serpong Damai
Erikson Ferry Soonggalon, S.T., M.Kom, Thesis Advisor
There are numerous balancing robots that apply modern control theory these days.
The control is applied only to achieve a single objective which is a balance system.
This thesis is written to find out how movement can be applied while the robot maintains its balance. In order to achieve this purpose a balancing robot is designed to balance on a ball. This allows the robot to carry out omni-directional movement.
Before the robot can move it must be able to balance its own body. The balancing act is done by moving the ball back, forth, left and right accordingly. Two electric motors are attached perpendicularly to each other for controlling the movement of the ball.
Sensors such as Accelerometer, Rotary Encoder and Gyroscope are used to provide feedback to the controller. A wireless remote controller is introduced to control the robot from afar.
DEDICATION
I dedicate this thesis to my family and this University
ACKNOWLEDGMENTS
The author wishes to thank Mr. Erikson Ferry Soonggalon, S.T., M.Kom as the thesis advisor for his support and guide throughout the completion of this work.
Furthermore, the author is thankful for all the support and encouragement from colleagues such as Jemmy Dianto, Michael Ariesta, Gunardi, Fransisko Aryanto, Friandyka Tangkeallo, Mohhammad Riyaz, Artha Gemilang Ramadhan and all the rest of the colleagues. Without their utmost support this thesis will not be completed.
Sincere appreciation from the author for all the staffs of SGU and lecturers of Engineering Department who worked very hard everyday to deliver the best lecture for their students.
TABLE OF CONTENTS
STATEMENT BY THE AUTHOR ... 2
ABSTRACT ... 3
DEDICATION ... 4
ACKNOWLEDGMENTS ... 5
CHAPTER 1 – INTRODUCTION ... 13
1.1 Overview ... 13
1.2 Background and Thesis Purpose ... 13
1.3 Thesis Objective ... 14
1.4 Thesis Scope ... 15
1.5 Thesis Limitation... 16
1.6 Short Methodology ... 16
1.7 Thesis Structure ... 17
CHAPTER 2 – LITERATURE REVIEW ... 19
2.1 History and Development of Ballbot ... 19
2.1.1 General Information of Ballbot [10][14] ... 19
2.1.2 Inverted Pendulum [12] ... 21
2.2 Brushed DC Motor [8] ... 22
2.3 H-Bride DC Motor Driver [22] ... 22
2.4 Angular Motion Sensors... 23
2.4.1 Accelerometer [9] ... 23
2.4.2 Gyroscope [13]... 24
2.4.3 Rotary Encoder [20] ... 25
2.5 Radio Frequency Transmitter & Receiver [21] ... 26
2.6 Microcontroller [11] ... 28
2.7 PID Controller in General [16][3] ... 29
2.8 Center of Mass (COM) [23] ... 32
2.9 Previous Related Thesis ... 32
2.9.1 A Ball and Beam Control Using Microcontroller [4] ... 32
2.9.2 Building and Controlling a Ball and Plate System [5] ... 33
2.9.3 Controlling an Inverted Pendulum Using Microcontroller [7] ... 33
CHAPTER 3 – METHODOLOGY ... 34
3.1 Chapter Overview ... 34
3.2 Mathematical Model [24] ... 35
3.3 Mechanical Design ... 37
3.3.1 Plates and Pendulum ... 38
3.3.2 Ball Arrester ... 41
3.3.3 Counter Mass ... 42
3.3.4 Gears and Motors ... 45
3.3.5 Mechanical Encoder Disk ... 46
3.4 Electrical Design ... 46
3.4.1 Power Supply and Voltage Regulator ... 47
3.4.2 Gyroscope Sensor ... 49
3.4.3 Accelerometer ... 52
3.4.4 Rotational Encoder... 54
3.4.5 Radio Frequency Transmitter & Receiver ... 56
3.4.6 Microcontrollers (ATMEGA328 and AT89S52)... 57
3.4.7 H-Bridge Motor Driver ... 61
3.4.8 Wireless Xbox 360 Controller ... 62
3.5 Programming ... 63
3.5.1 Sensor Interfacing and Communication with Atmega 328 ... 63
3.5.2 Data Transmission with AT89s52 ... 67
3.5.3 Data Reception with Arduino Board... 70
3.5.4 Sensor Information Display with Arduinoscope and Processing ... 71
3.5.5 Balancing Control with Atmega 328 ... 73
CHAPTER 4 – RESULT & DISCUSSION... 76
4.1 Gyroscope Test and Calibration ... 76
4.2 Encoder Test and Evaluation... 78
4.3 Accelerometer Test and Evaluation ... 80
5.1 Conclusion ... 90
5.2 Recommendation for Further Improvements ... 91
GLOSSARY ... 92
REFERENCES ... 93
APPENDIX A: TECHNICAL DRAWING ... 98
A.1 Body Base Plate ... 98
A.2 Body Middle Plate ... 99
A.3 Body Top Plate... 100
A.4 Arrester Pin ... 101
A.5 Bent Side Plate ... 102
A.6 Gearbox Plate ... 103
A.7 Freewheel Plate ... 104
A.8 Counter Mass ... 105
A.9 Encoder Disk ... 106
A.10 P.Mounting Plate ... 107
A.11 Pendulum Side A ... 108
A.12 Pendulum Side B ... 109
APPENDIX B: ELECTRICAL SCHEMATIC ... 110
B.1 Main Board with Atmega328 ... 110
B.2 Radio Frequency Module with At89s52 ... 111
B.3 RF Module Shield for Arduino Duelmilanove ... 112
APPENDIX C: DATASHEET ... 113
C.1 Atmega328 ... 113
C.2 At89s52 ... 117
C.3 FA-130RA DC Motor ... 120
C.4 L293D Motor Driver ... 121
C.5 LM78L05 Voltage Regulator ... 124
C.6 LM317 Voltage Regulator ... 126
C.7 MMA7455 Accelerometer Module ... 128
C.8 LISY300 Gyroscope Module ... 131
C.9 Phototransistor Optical Interrupter Switch ... 134
C.10 HT12D Demodulator... 136
C.11 HT12E Modulator ... 138
APPENDIX D: PROGRAMMING ... 140
D.1 Program for Arduino Duelmilanove with RF Shield Board ... 140
D.2 Program for Main Board ... 142
D.3 Program for At89s52 with RF transmitter ... 148
APPENDIX E: FLOW CHART ... 151
E.1 Debug Mode Flow Chart ... 151
E.2 SPI Communication Flow Chart ... 152
E.3 I2C Function Flow Chart ... 153
APPENDIX F: BILL OF MATERIAL ... 154
CURRICULUM VITAE ... 155