DESIGN OF WIRELESS INDUSTRIAL ROBOTIC ARM AND CONTROL USING ANDROID PLATFORM
TIONG XIANG KAI
This Report Is Submitted In Partial Fulfillment of Requirement for the Bachelor
Degree of Electronic Engineering (Industrial Electronics)
Faculty of Electronic and Computer Engineering
Universiti Teknical Malaysia Melaka
JUNE 2016
II
REPORT STATUS APPROVAL FORM
UNIVERSTI TEKNIKAL MALAYSIA MELAKA FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER
BORANG PENGESAHAN STATUS LAPORAN
PROJEK SARJANA MUDA II
Tajuk Projek : DESIGN OF WIRELESS INDUSTRIAL ROBOTIC ARM AND CONTROL
USING ANDROID PLATFORM
Sesi Pengajian :
1 5 / 1 6
Saya TIONG XIANG KAI mengaku membenarkan Laporan Projek Sarjana Muda ini disimpan di Perpustakaan dengan syarat-syarat kegunaan seperti berikut:
1. Laporan adalah hakmilik Universiti Teknikal Malaysia Melaka.
2. Perpustakaan dibenarkan membuat salinan untuk tujuan pengajian sahaja.
3. Perpustakaan dibenarkan membuat salinan laporan ini sebagai bahan pertukaran antara institusi
pengajian tinggi.
4. Sila tandakan ( √ ) :
SULIT*
*(Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972)
TERHAD**
**(Mengandungi maklumat terhad yang telah ditentukan oleh organisasi/badan di mana penyelidikan dijalankan)
TIDAK TERHAD
Disahkan oleh:
__________________ _________________________ (TANDATANGAN PENULIS) (COP DAN TANDATANGAN PENYELIA)
Tarikh: ……………………….. Tarikh: ………………………..
III
DECLARATION
“I hereby declare that the work in this project is my own except for summaries and
quotations which have been duly acknowledge.”
Signature : .......................................................
Author : TIONG XIANG KAI
Date : .......................................................
IV
SUPERVISOR’S DECLARATION
“I acknowledge that I have read this report and in my opinion this report is sufficient in
term of scope and quality for the award of Bachelor of Electronic Engineering (Industrial
Electronics) with Honours.”
Signature : .......................................................
Supervisor’s Name : DR. KHAIRUDDIN BIN OSMAN
Date : .......................................................
V
DEDICATION
Special thanks to my family, project supervisor, friends and others staff in UTeM
VI
ACKNOWLEDGEMENT
As a students in UTeM, I would like to express my deepest gratitude to all of the
people around me because they have given their idea, contribution and spirit in order to
help me for my final year project. The appreciation should be given to my supervisor,
course mate and the people in charge for the final year project in these two semester.
The first person I would like to appreciate is my supervisor of FYP project, Dr.
Khairuddin Bin Osman. After the title has been chosen from him, a lot of comments and
ideas were given to me for helping me achieve the goal of the final year project.
Furthermore, he also help me to check any document needed to be presented and suggest
the best solution for me in order to solve my peradventure.
Secondly, I would like to thank with my friends in FKEKK because some of the
ideas were given by them and teach me how to generate software according to the
hardware I am going to design.
Lastly, a very huge graceful was given to the person who always gives the
information about the final year project to the student, Dr.Kok Swee Leong. Any
presentation date changed will be inform to every student in order to prepare their work
perfectly.
VII
ABSTRACT
Nowadays, robot such as line robot car, robotic arm, robotic finger and others
product were being using for several purpose. Robot bring a lot of benefit to the society,
so it is very popular used in industry, house and work place. In this project, the design of
wireless industrial robotic arm should be able to handle and lift up an object and also can
be controlled using Android Platform. Apps created is used as interface between the
robotic arm and the microcontroller (Arduino UNO), if the signal is transferred from
android, then Arduino UNO will received signal and start to control robotic arm. For the
wireless part, Bluetooth was chosen as the connection between android and Arduino UNO.
Any signal transferred to the Arduino UNO should pass through Bluetooth in order to run
the industrial robotic arm.
VIII
ABSTRAK
Pada masa kini, robot seperti kereta talian robot, lengan robot, jari robot dan
produk yang lain digunakan untuk beberapa tujuan. Robot membawa banyak manfaat
kepada masyarakat, jadi ia adalah sangat popular digunakan dalam industri, rumah dan
tempat kerja. Dalam projek ini, reka bentuk lengan robot industri tanpa wayar akan dapat
mengambil dan mengangkat objek dan juga boleh dikawal menggunakan “Android
Platform”. Aplikasi dicipta digunakan sebagai antara muka antara lengan robotik dan
pengawal mikro (Arduino UNO), jika isyarat dikeluarkan dari android, isyarat akan
didapati oleh Arduino UNO dan mula mengawal lengan robot. Bagi bahagian tanpa wayar,
Bluetooth dipilih sebagai hubungan antara android dan Arduino UNO. Apa-apa isyarat
dipindahkan ke Arduino UNO harus melalui Bluetooth untuk menjalankan lengan robot
perindustrian.
IX
TABLE OF CONTENT
CHAPTER TITLE PAGE
PROJECT’S TITLE
REPORT STATUS APPROVAL FORM ........................................ II
DECLARATION .............................................................................. III
SUPERVISOR’S DECLARATION ............................................... IV
DEDICATION .................................................................................... V
ACKNOWLEDGEMENT ............................................................... VI
ABSTRACT ..................................................................................... VII
ABSTRAK ..................................................................................... VIII
TABLE OF CONTENT ................................................................... IX
LIST OF TABLE .......................................................................... XIII
LIST OF FIGURE ........................................................................ XIV
LIST OF APPENDICES ............................................................. XVII
X
CHAPTER 1 INTRODUCTION ............................................................................... 1
1.1 Background and Project Overview ........................................... 1
1.2 Problem Statement ..................................................................... 2
1.3 Objectives .................................................................................... 2
1.4 Scope of Project .......................................................................... 3
1.5 Thesis Structure .......................................................................... 4
CHAPTER 2 LITERATURE REVIEW ................................................................... 5
2.1 Literature Review ....................................................................... 5
2.2 Microcontroller ........................................................................... 5
2.2.1 Introduction of Arduino ..................................................... 6
2.2.2 Comparison of 3 Types of Arduino ................................... 8
2.2.3 Arduino Integrated Development Environment (IDE) . 10
2.3 Android Platform ..................................................................... 11
2.3.1 Introduction of MIT App Inventor 2 .............................. 13
2.4 Introduction of Servo Motor in Robotic Arm ........................ 14
2.4.1 Comparison Movement of Single and Multiple Motor. 15
2.4.2 Feature of Motor ............................................................... 16
2.4.3 Specification of Servo Motor ........................................... 17
2.5 Bluetooth .................................................................................... 18
2.5.1 Introduction of Bluetooth ................................................. 18
2.5.2 Comparison of Bluetooth with Other Wireless Device .. 19
XI
CHAPTER 3 METHODOLOGY ............................................................................ 20
3.1 Overview .................................................................................... 20
3.2 Project Planning ....................................................................... 20
3.3 Overall Project Flowchart ....................................................... 21
3.4 Block Diagram .......................................................................... 22
3.5 Flow Chart of Robotic Arm ..................................................... 23
3.6 Hardware Design ...................................................................... 27
3.6.1 Base and Lower Arm Design ........................................... 27
3.6.2 Upper Arm Design ............................................................ 29
3.7 Android Design ......................................................................... 31
3.7.1 Bluetooth Button Design .................................................. 31
3.7.2 Slider Design ...................................................................... 33
3.7.3 Button Design .................................................................... 35
3.7.4 Interface Layout ................................................................ 38
CHAPTER 4 RESULTS AND DISCUSSIONS ...................................................... 40
4.1 Overview .................................................................................... 40
4.2 Movement of Each Servo Motor ............................................. 40
4.2.1 Base Analysis ..................................................................... 40
4.2.2 Lower Arm Analysis ......................................................... 44
4.2.3 Upper Arm Analysis ......................................................... 47
4.2.4 Gripper Analysis ............................................................... 51
4.2.5 Overall Analysis of Movement of Robotic Arm ............. 53
4.3 Output of Robotic Arm ............................................................ 56
4.4 Weight Handling and Lifting Analysis of Robotic Arm ....... 59
XII
4.5 Relationship of Robotic Arm and Android ............................ 60
4.5.1 Interface of Android ......................................................... 60
4.5.2 Functionality of Android in Controlling Robotic Arm . 61
CHAPTER 5 CONCLUSIONS AND RECOMMENDATIONS .......................... 65
5.1 Conclusions ................................................................................ 65
5.2 Recommendations ..................................................................... 66
REFERENCES ............................................................................................................... 68
APPENDICES A: MICROCONTROLLER SOURCE CODE ................................. 72
APPENDICES B: BLOCK OF ANDROID PLATFORM ......................................... 78
XIII
LIST OF TABLE
TABLE CONTENT PAGE Table 2.1: Specification of Each Arduino .......................................................... 9
Table 2.2: Advantages of Android ................................................................... 11
Table 2.3: Strengthens and Weakness of Each Motor ..................................... 15
Table 2.4: Feature of Stepper and Servo motor ............................................... 16
Table 2.5: Feature of Wireless Device ............................................................. 19
Table 3.1: Signal Received by Each Part of Robotic Arm Planning ............... 23
Table 3.2 Information of Each Part of Base and Lower Arm ......................... 28
Table 3.3: Information of Each Part of Base and Lower Arm ......................... 30
Table 4.1: Data Analysis of Base ..................................................................... 43
Table 4.2: Data Analysis of Lower Arm .......................................................... 45
Table 4.3: Data Analysis of Upper Arm .......................................................... 48
Table 4.4: Data Analysis of Gripper ................................................................ 52
Table 4.5: Weight Analysis of Robotic Arm ................................................... 59
Table 4.6: Function of Each Button and Slider in Android ............................. 61
XIV
LIST OF FIGURE
FIGURE CONTENT PAGE
Figure 2.1: Several type of Arduino in Market .................................................... 8
Figure 2.2: Arduino IDE Software ..................................................................... 10
Figure 2.3: Several Type of Android ................................................................. 12
Figure 2.4: Specification Servo Motor ............................................................... 17
Figure 2.5: Bluetooth Device ............................................................................. 18
Figure 3.1: Flow Chart of Whole Project ........................................................... 21
Figure 3.2: Block Diagram of Robotic Arm ...................................................... 22
Figure 3.3: Whole Process in Robotic Arm ....................................................... 25
Figure 3.4: Main Material of Base in Robotic Arm ........................................... 27
Figure 3.5: Base and Lower Arm of Robotic Arm............................................. 28
Figure 3.6: Upper Arm Material ........................................................................ 29
Figure 3.7: Upper Arm of Robotic Arm............................................................. 30
Figure 3.8: Parameter of “HorizontalArrangement” .......................................... 31
Figure 3.9: Parameter of “ListPicker1” .............................................................. 32
Figure 3.10: Parameter of “Label8” ..................................................................... 32
XV
Figure 3.11: Parameter of “Slider 1” ................................................................... 33
Figure 3.12: Parameter of “Label2” ..................................................................... 34
Figure 3.13: Interface of Slider Design ................................................................ 34
Figure 3.14: Parameter of “Button1” ................................................................... 35
Figure 3.15: Parameter of “Up” and “Down” Label ............................................ 36
Figure 3.16: Parameter of “Hello” and “Reset” Button ....................................... 37
Figure 3.17: Non-Visible Components ................................................................ 37
Figure 3.18: Interface of Apps before Connect to Smartphone ........................... 38
Figure 3.19: Download Apps by Scanning QR Code .......................................... 39
Figure 4.1: Industrial Robotic Arm .................................................................... 41
Figure 4.2: Base of Robotic Arm ....................................................................... 42
Figure 4.3: Range of Base of Robotic Arm ....................................................... 42
Figure 4.4: Lower Arm of Robotic Arm. ........................................................... 44
Figure 4.5: Range of Lower Arm of Robotic Arm............................................. 44
Figure 4.6: Upper Arm of Robotic Arm............................................................. 47
Figure 4.7: Upper Arm of Robotic Arm at 0° .................................................... 47
Figure 4.8: Upper Arm of Robotic Arm at 120° ................................................ 48
Figure 4.9: Gripper of Industrial Robotic Arm .................................................. 51
Figure 4.10: Range of Gripper of Robotic Arm ................................................... 51
Figure 4.11: Overall Angle Movement of Robotic Arm ...................................... 53
XVI
Figure 4.12: Gripper in Industrial robotic arm with 70° ...................................... 54
Figure 4.13: Full Movement of Robotic Arm ...................................................... 58
Figure 4.14: Interface of Apps ............................................................................. 60
XVII
LIST OF APPENDICES
NO CONTENT PAGE
A MICROCONTROLLER SOURCE CODE…………………………..72
B BLOCK OF ANDROID PLATFORM……………………………….78
1
CHAPTER 1
INTRODUCTION
1
Background and Project Overview
Robotic arm is a human technology device in order to help user or human to handle,
lift, stir and others kinematic motion some object. A lot of industry are now using robotic
arm to do some part or step which is hard for human arm such as soldering, putting and
recovering certain device with a very perfect specification and step. For civil engineer, it
is used to handle and lifting some heavy object from one place to another place. Others
than that, in molding and casting part, the robotic arm is using for cutting and pressing
purpose. Furthermore, robotic arm also use for packing process in the food industry, so
robotic arm has bring a lot of benefits to the world. The industrial robotic arm nowadays
is all controlled by human or the machine, so this project was going to create a different
industrial robotic arm and controlled it with the different device from the industry.
This project is created by using hardware (Body of Robot) and Software (Program
to control robotic arm with wireless). The shape of robotic arm has similar function as
human arm, the links of the manipulator can be considered to form a kinematic chain. In
this project I want to be able to utilize a robotic arm that will be able to pick up various
object with different shape by gripper. C++ program as an interface between robot and
computer and Arduino UNO as a microcontroller of the robot that consist of 4 degree of
freedom. For wireless part, an Android platform of application is created to control the
robotic arm with computer, hand phone or others device. In generally, the android app
will generate a signal and then the signal is received by the microcontroller (Arduino
2
UNO), so the industrial robotic arm is able to move or work according to the predefined
program wrote in the microcontroller.
A signal is generated from the android app which will be received by the controller
device and the robotic arm works according to the predefined program[23]. The android
application is acted as the command center of the robotic arm that means the whole
movement of the robotic arm is based on android. The program is written in the high level
programming language in the microcontroller and the requirement to control the arm
position is depended to the data and programming language in the android and
microcontroller.
Problem Statement
Robot is very popular be used in industry nowadays. In case of control the robot
with wireless device, there have some problem occurred in control section, even the way
to construct a new robot also will face some general problem. The problem faced by the
developer when constructing a robotic arm is the labor cannot move around the robot
freely because of disrupting with cable[2]. The wire will disturb the motion and movement
of the robotic arm if without any wire dressing process is apply to it. Second problem is
the robotic arm is difficult to be controlled and time consuming to control[3]. In order to
pick up some object, the position of the robotic arm should be exactly correct, if there is
any misdirection or over motion of the robotic arm then that object may not be lifted up
properly or failed to be handled. Android can be used to control the robotic arm, but it is
hard to make android device interoperate with the remaining parts of the robot[4]. This is
because the original position of the servo motor do not be set properly and the android
cannot control 2 or more servo motor in the same time.
Objectives
In order to solve the problem face by developer, some objectives were needed. The
objectives of this project are to design and construct a robotic arm capable of handling
and lifting and to design and develop a wireless robotic arm using Android Platform.
3
Scope of Project
The motion of this industrial robotic arm is limited to a circular path that means
the robotic arm can move in an autonomy of degree. For example, the volume and the area
of sphere is 43
𝜋𝑟3 and 4𝜋𝑟2respectively, so the movement and motion of the industrial
robotic arm was restricted according to the formulae. Any duty which can be done by the
movement along the circular shape of sphere can be performed by this robotic arm if the
coding written is matched. Arduino UNO is used as controller device (Using C++
programing), generally the reset circuitry and power setup will be ready especially the
circuitry of programming and communication between microcontroller and Universal
Series Bus (USB). The body and some special part of the robotic arms can be done with
aluminum board, hard and soft metal, board, PVC board and jumper wire. There are 3
arthrosis should be considered in robotic arm, so the materials used for the gripper and the
motion part are flexible. For the wireless control device, Android Platform of application
is used by connect it with Bluetooth.
The scope after the robotic arm already been constructed to a real machine will
able to handle tasks that are difficult and dangerous to human beings such as the handling
some chemical materials in the Lab and some other object which have the probability to
make the body of human be injured. Furthermore, the industrial robotic arm is able to
handle and lift a heavy object such as the weight of an object which is more than 5000N.
Generally the maximum weight can be lifted or handle by human arm averagely is 600N,
the human arm will be injured if the range of weight of an object is more than 600N.
Thirdly, the real robotic arm after designed can move in a free circular path according to
the programming and the one more importance matter is robotic arm is run by using
android and electric energy, so it will not get tired, that means the industrial robotic arm
can work with industry for 24-7.
4
Thesis Structure
This section is to talk about the overview of the thesis going to be done. In chapter
1, there are background, overview of the project and scope of project which is generally
talk about the construction of hardware and software. There are also have some problem
statement which are going to be solved according to the objectives given.
Chapter 2 is the literature review of the whole project. In this chapter, there are a
lot of student paper, public source and Internet source were read and come out with own
idea in creating the construction of industrial robotic arm.
After study all the paper and source from the internet, methodology was started
which is placed in chapter 3. In chapter 3, there is the flowchart of overall progress and
the flowchart of the movement of industrial robotic arm. This chapter also has mentioned
the steps to construct and create the body of robotic arm and android application. Even the
materials used in whole project also been clearly stated in this chapter.
Chapter 4 is the results and discussion of this project. In this chapter, all the
analysis of movement such as base, lower arm, upper arm and gripper have been recorded
and stated in a table and figure, so others people or student can easily to understand. Other
than that, weight handling and lifting analysis also be stated and recorded. Generally
chapter 4 is the way how a student analyzed the data obtain from the project, so it is
importance for the student or people who are going to read.
Conclusions and recommendations were be cover in this chapter, all the
sustainability, commercialization and future work will be stated in it and the achievement
of the objective also will be mention to prove the progress is successful or not.
5
CHAPTER 2
LITERATURE REVIEW
2
Literature Review
From the previous project, my senior has constructed an industrial robotic arms
and controlled using Visual Studio (SB). It is an integrated development
environment (IDE) from Microsoft. This software can be used as a development of
computer programs for the Microsoft Windows. Visual Studio is using Microsoft software
development platforms such as Windows API, Windows Forms and others platform in
order to control device. It can produce both native code and managed code. From the
senior designation, he apply Window Forms as his controller which has the similar
function as Android. Nowadays, most of the industrial robotic arm are controlled manually
in the machine, anything done by engineer cannot be considered as 100% perfectly,
everything is created based on safety and health of user, it is very dangerous when user
control robotic arm in the machine, it will course people be injured if there is collapsing
occurred.
Microcontroller
In term of desktop or laptop, microcontroller has played an importance role which
is acted as a computer with most of necessary support chips on board because each of the
computer contains CPU, RAM and input/output. In the other side, microcontroller is a
system of self-contained with peripherals, memory and a processor that can be used as an
embedded system[24]. Most of the embedded in other consumer products or machinery
are using programmable microcontrollers such as peripherals, automobiles, phones and
household appliances for computer systems. Since microcontroller contain “Embedded”
6
inside it so there is a new name was added to the microcontroller which is “embedded
controller” that means microcontroller can control the functionality, action, feature and
movement of the project or product. Every mission, duty or task was dedicated by
microcontroller and it is able to run the specific program, since that the program be written
will store in ROM and will not be change automatically, so the features of the
microcontroller were always be there. Lastly, microcontroller also acted as a low-power
device and it’s consume about 50 milliwatts of battery-operated.
The features or function of a microcontroller is to send a signal to specific device
or component by taking an input from the controlled device. For example, microcontroller
has its own program and component which is able to receive and transfer data, so the
general step of microcontroller when collecting data if from the signal given from others
electronic device such as computer, laptop, Apps and wireless device and then send it to
the device it is going to control such as motor, data editing, button, bulb or LED and others
application.
The range of an actual processor used to implement a microcontroller actually is
very wide and the area to be implemented also very large. By taking one of the product
nowadays such as microwave, the quantity request from the user on the CPU is in a very
low value, so the price of the microwave have to be made an adjustment. But from the
economic nowadays, every user of the microcontroller are wishing to get the product in
low cost with high quality, so the manufactures only focus to dedicate to the
microcontroller chips and make it become a low cost, low power and small in size of
product. There are 2 company which can produce this kind of chips which are Motorola
68ll and Intel 8051. There might have around 1000 bytes of ROM and 20 bytes of RAM
on the Chip with a typical low-end microcontroller chip and there are eight I/O pins along
the chip.
2.2.1 Introduction of Arduino
Arduino is an open source platform that offers a clear and simple environment for
physical computing[18]. A lot of application such as modern robotic, Internet-of-thing
(IoT) nowadays are controlled or run by using Arduino. Arduino board not only give an
7
output to the device but also able to read input from others application. Normally Arduino
UNO can read the signal given from the sensor of a light, button to an arm and some
message from internet application and then convert it to the output signal to activate,
control and trigger the specific device such as motor, LED and sending some message to
the online source.
It is very popular because its price is not too expensive, ease to be programmed,
and rapid prototyping capabilities. Normally, all of the sensor, device and components are
easily be connected to the input and output of Arduino UNO doesn’t matter the port is
analog and digital I/O pins, which features an on-board microcontroller programmed using
the Arduino IDE.
Arduino is different with some previous programmable circuit boards, from the
design of the previous board, it is being separated to some specific part with a limited
functions and features. From the design of Arduino UNO, it is combined with a few
separated piece of hardware, so it can load a new code on to the board. Arduino just need
an USB cable to connect it and computer. Additionally, the program used in Arduino IDE
is C++ which is the simplified version of coding and software to allow users can learn the
program easily. Finally, Arduino provides a standard form factor that breaks out the
functions of the micro-controller into a more accessible package[25].
In order to make Arduino UNO to be a high quality of microcontroller, the
complexity of physical computing applications is going to be increasing to make the
Arduino (compatible devices) with faster processors, increased flash storage, larger
memories and more complicated I/O architecture[19]. Figure 2.1 shows the several type
of Arduino in the market nowadays.