Wireless Robotic Arm.
WIRELESS ROBOTIC ARM
SHAZA FAZIRA EDORA BINTI SHARUIDDIN
This Report Is Submitted In Partial Fulfillment of Requirements for the Bachelor Degree of Electronic Engineering (Telecommunication Electronic)
Faculty of Electronic and Computer Engineering Universiti Teknikal Malaysia Melaka
(2)
ii
UNIVERSTI TEKNIKAL MALAYSIA MELAKA
FAKULTI KEJURUTERAAN ELEKTRONIK DAN KEJURUTERAAN KOMPUTER
BORANG PENGESAHAN STATUS LAPORAN
PROJEK SARJANA MUDA II
Tajuk Projek : WIRELESS ROBOTIC ARM
Sesi Pengajian : 1 4 / 1 5
Saya SHAZA FAZIRA EDORA BINTI SHARUIDDIN
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:
__________________________ ___________________________________
SHAZA FAZIRA EDORA BINTI SHARUIDDIN
Tarikh: ………..
(COP DAN TANDATANGAN PENYELIA)
Tarikh: ……….
(3)
iii
DECLARATION
“I hereby declare that this report is the result of my own work except for quotes as cited
in the references”.
Signature : ...
Name : SHAZA FAZIRA EDORA BINTI SHARUIDDIN
(4)
iv
“I hereby declare that I have read this thesis and in my opinion this thesis is sufficient in terms of scope and quality for the award of the degree of bachelor of Electronic
Engineering (Telecommunication Electronic) ˮ
Signature : ...
Supervisor‟s Name : DR. KHAIRUDDIN BIN OSMAN
(5)
v
(6)
vi
ACKNOWLEDGEMENT
I would like to express my deepest gratitude to the All Mighty for His goodness and grace that sustained my performance level at the crucial times of completing this Final Year Project entitled Wireless Robotic Arm.
Besides that, I would like to extend my appreciation to those who contributed time, concern and efforts to lend a helping hand thus allow me to gain valuable knowledge. On top of that, I would like to reserve a special thanks to my supervisor, Mr. Khairuddin bin Osman for his guidance and excellence in mentoring. All his comments and constructive criticism played a pivotal role throughout my project development.
Next, I wish to thank the countless individuals who had contributed their constant views and evaluations in accessing my progress at all time. Finally, I would also like to express my endless appreciations to my parents for their valuable support and motivations. Last but not least, I wish to thanks my friends who had provided plenty possible to complete a project of this magnitude without their support.
(7)
vii
ABSTRACT
In recent year, with the increase usage of wireless application, the demand for a system that could easily connect devices for transfer of data over a long distance without cables grew stronger. This paper presents the development of a wireless robotic arm. A wireless robot that functional to do pick and place operation and be controlled by Personal Computer. Visual Basic programming as an interface between robot and computer and Arduino UNO as a microcontroller of the robot that consist of 4 Degree of Freedom (D.O.F). For the wireless part, Zigbee modules will be used for transmitter part and receiver part. All the movements will calibrate to ensure that the transmission of data is correct. Two Zigbee modules are connected to single node using star topology. After Zigbee module received the data from transmitter, the signal will send to the Arduino microcontroller. This microcontroller will be stimulated the signal and send to the robot. Finally, robot will be doing the desired task according to input instructions. These robots can used in many fields of applications including office, military tasks, hospital operations, dangerous environment and agriculture.
(8)
viii
ABSTRAK
Pada tahun kebelakangan ini, dengan meningkatnya penggunaan aplikasi wayarles, permintaan untuk sistem yang mudah boleh menyambung peranti untuk pemindahan data melalui jarak jauh tanpa kabel bertambah kuat. Kertas kerja ini membentangkan pembangunan lengan robot tanpa wayar. A robot tanpa wayar yang berfungsi untuk tidak memilih dan operasi tempat dan dikawal oleh komputer peribadi. Pengaturcaraan Visual Basic sebagai antara muka di antara robot dan komputer dan Arduino UNO sebagai pengawal mikro robot yang terdiri daripada 4 Ijazah Kebebasan (DOF). Untuk sebahagian wayarles, modul ZigBee akan digunakan untuk bahagian pemancar dan bahagian penerima. Semua pergerakan akan menentukurkan untuk memastikan bahawa penghantaran data adalah betul. Dua modul ZigBee disambungkan kepada nod tunggal menggunakan topologi bintang. Selepas modul ZigBee menerima data dari pemancar, isyarat akan dihantar ke mikropengawal Arduino. Pengawal mikro ini akan merangsang isyarat dan hantar ke robot. Akhir sekali, robot akan melakukan tugas yang dikehendaki mengikut arahan input. Robot ini boleh digunakan dalam banyak bidang aplikasi termasuk pejabat, tugas ketenteraan, operasi hospital, persekitaran berbahaya dan pertanian.
(9)
ix
TABLE OF CONTENT
CHAPTER TITLE PAGE
PROJECT’S TITLE
REPORT STATUS APPROVAL FORM DECLARATION SUPERVISOR’S DECLARATION DEDICATION ACKNOWLEDGEMENT iii iv v vi ABSTRACT ABSTRAK vii viii
TABLE OF CONTENT ix
LIST OF TABLE xiii
LIST OF FIGURE LIST OF APPENDIX
LIST OF ABBREVIATIONS
xiv xvii x
CHAPTER 1 INTRODUCTION 1
1.1 Background
1.2 Problem statement 1 3 1.3 Objective 3 1.4 Scope 4
(10)
x
CHAPTER 2 LITERATURE REVIEW 6
2.1 Literature Review 6
2.2 Introduction of Zigbee
2.2.1 Comparing Zigbee with other wireless technologies
2.2.2 Different type of antenna of Zigbee 7 8 8 2.3 Zigbee topologies
2.3.1 Star topology 2.3.2 Mesh topology
2.3.3 Cluster Tree Topology 9
10 10 11 2.4 Comparing the specification of the Xbee and
Xbee – PRO Module
2.5 Comparing the specification of the Xbee–PRO Series 1 and Xbee–PRO Series 2 Module
2.6 Serial Communication 2.7 Serial Data
2.8 Microcontroller
2.8.1 Introduction of Arduino 2.8.2 Arduino IDE
2.8.3 Configuration & Test Utility Software 2.8.4 Microsoft Visual Basic 2010 Express
12 14 16 17 18 19 20 21 22
(11)
xi
CHAPTER 3 METHODOLOGY 23
3.1 Overview 23
3.2 Project Planning 3.3 Overall Project
24 24 3.4 Project Overview
3.5 Operation details
3.6 Recovering Xbee Pro Series 1 3.6.1 XBee Explorer USB
3.6.2 Plug in Xbee – PRO S1 3.6.3 Starting with X – CTU 3.6.4 Quick and Easy Test 3.6.5 Configuration Networks 3.6.6 Radio Configuration 3.7 Xbee Starter Kit (SKXBee)
3.7.1 System Overview 3.7.2 Layout of SKXBee
3.7.2.1 Specification of features of SKXBee
2.7.3 Interface SKXBee with Computer 3.8 XBee Shield
3.8.1 Specification and Limitation 3.8.2 Board Layout
3.9 Arduino Uno 3.9.1 Power
3.9.2 Arduino Platform
3.9.3 Interface between main board and computer 3.9.4 Introduction Arduino IDE
3.10 Visual Basic Implementation 25 27 28 28 29 29 31 32 34 35 36 36 38 39 42 42 43 45 46 47 48 52 55
(12)
xii
CHAPTER 4 RESULT AND DISCUSSION
56
4.1 Overview
4.2 Visual Basic Outcome
4.2.1 Description of each element in VB interface 4.3 Wireless Robotic Arm Outcome
4.3.1 Description movement of designed product 4.4 XBee PRO S1 Signal Performance
56 57 59 61 62 64
CHAPTER 5 CONCLUSION AND RECOMMENDATION
5.1 Conclusion 5.2 Recommendation
65
65 67
REFERENCES APPENDIX A
APPENDIX B
68 72 80
(13)
xiii
LIST OF TABLE
NO TITLE
PAGE
2.1 2.2
Wireless technologies comparative table
XBee and Xbee – PRO Module comparative table
8 13 2.3 XBee – PRO Series 1 and XBee PRO Series 2 Module
comparative table 15 2.4 3.1 3.2 3.3 3.4 3.5 3.6 4.1 4.2 4.3
Arduino Uno and Arduino Mega 2560 comparative table Setting values the ID, DH, DL and MY values for a pair of XBee
Specification layout of SKXBee Specification of features SKXBee Specification and Limitation Jumper Selections
Features of the Arduino Uno
Description of output from Visual Basic interface Description of each component on designed product
Xbee PRO S1 signal performance
19 34 37 38 42 44 45 60 62 64
(14)
xiv
LIST OF FIGURE
NO TITLE
PAGE
2.1 Different type of antenna for Zigbee 9
2.2 Zigbee star topology 10
2.3 Zigbee mesh topology 11
2.4 2.5
Zigbee cluster tree topology
System Data Flow Diagram in a UART
11 16
2.6 UART data packet 17
2.7 Arduino Uno Software 20
2.8 Configuration & Test Utility Software ( X – CTU ) 21 2.9 Microsoft Visual Basic 2010 Express 22 3.1 Flow chart of whole project 25 3.2 Overall process of the wireless system of robotic arm 26 3.3 Robot Arm Model 26 3.4 Block Diagram wireless system of robotic arm 27
3.5 XBee Explorer USB 28
3.6 Correct way Plug in Xbee – PRO S1 29
3.7 Initialize X – CTU 29
3.8 Add a radio module 30
3.9 Configuration Xbee 30
3.10 Configuration settings of Zigbee 31
3.11 Switch to consoles 32
3.12 Configuring Networks 33
(15)
xv
3.14 System overview for SKXbee 36
3.15 Layout of SKXbee 36
3.16 Connect USB cable 39
3.17 PC Settings 40
3.18 Syntax command 40
3.19 Destinations Address 41
3.20 Board layout XBee Shield 43
3.21 Arduino Uno 45
3.22 Arduino platform 47
3.23 Connection USB cable 48
3.24 Found New Hardware 49
3.25 Found New Hardware Wizard 49
3.26 Specific location 49
3.27 Browse Folder (Drivers) 50
3.28 Hardware Installation 50
3.29 Completing Hardware Wizard 51
3.30 Device Manager 51
3.31 Arduino.exe File 52
3.32 Arduino IDE 52
3.33 Tools 53
3.34 Serial Port 53
3.35 Coding for microcontroller Arduino UNO 54 3.36 Visual Basic implementation 55
4.1 windows interface control robot 57
4.2 Com Port 57
4.3 Serial connected 58
4.4 Output Base Turn Left 58
4.5 Label on each element in Visual Basic interface 59 4.6 Label of each component on designed product 61
4.7 Initial position for robotic arm 62
(16)
xvi 4.9 Robot move to the left while gripping the sample 63 4.10 Clips open the gripper and released the sample in the box 63
(17)
xvii
LIST OF APPENDIX
NO TITLE PAGE
A MICROCONTROLLER SOURCE CODE 72
(18)
xviii
LIST OF ABBREVIATIONS
PC - Personal Computer
CLK - Clock
UART - Universal Asynchronous Receiver/Transmitter
USB - Universal Serial Bus
EEPROM - Electricity Erasable Programmable Read-Only Memory
DC - Direct Current
MHz - Mega hertz
CPU - Central Processing Unit
PWM - Pulse Width Modulation
PCB - Printed Circuit Board
I/O - Input / Output
IDE - Integrated Development Environment
WLAN - Wireless Local Area Network
ADC - Analog Digital Converter
GUI - Graphical User Interface
COM - Component Object Model
RAM - Random Access Memory
ROM - Read Only Memory
RF - Radio Frequency
VB - Visual Basic
IFR - International Federal of Robotics
DOF - Degree of Freedom
CTU - Configuration &Test Utility Software
(19)
xix EPROM - Erasable Programmable Read-Only Memory
PROM - Programmable Read-Only Memory
SRAM - Static Random Access Memory
AVR - Atmel Voltage Regulator
TCP/IP - Transmission Control Protocol/Internet Protocol
LED - Light Emitting Diodes
PAN - Personal Area Network
SKXBee - Starter Kit XBee
TTL - Transistor–transistor logic
GND - Ground
RX - Receive Signal
TX - Transmit Signal
RST - Reset Pin XBee
COM - Component Object Model
AT - Command Mode
WR - Write
CT - Command Mode Timeout
RSSI - Received Signal Strength Indicator ICSP - In-Circuit Serial Programming
VIN - Voltage input
(20)
1
CHAPTER 1
INTRODUCTION
1.1 Background
Nowadays, robots are increasingly being integrated into working tasks to replace humans especially to perform the repetitive task. A robotic arm is a robot manipulator, usually programmable, with similar functions to a human arm. The links of such a manipulator are connected by joints allowing either rotational motion (such as in an articulated robot) or translational (linear) displacement [1]. The links of the manipulator can be considered to form a kinematic chain. The business end of the kinematic chain of the manipulator is called the end effectors and it is analogous to the human hand [1].
(21)
2 In general, robotics can be divided into two areas, industrial and service robotics. International Federation of Robotics (IFR) defines a service robot as a robot which operates semi- or fully autonomously to perform services useful to the well-being of humans and equipment, excluding manufacturing operations [2]. The end effectors can be designed to perform any desired task such as welding, gripping, spinning etc., depending on the application. The robot arms can be autonomous or controlled manually and can be used to perform a variety of tasks with great accuracy. The robotic arm can be fixed or mobile (i.e. wheeled) and can be designed for industrial or home applications. These robots also used in many fields of applications including office [2], military tasks, hospital operations, dangerous environment and agriculture. Besides, it might be difficulties to the worker whose must pick and place something that can affect itself. For example, things like chemistry that cannot be picked by human and for the military such as defuse bomb that needed robot to pick and place the bomb to somewhere and for user that needed robot to do pick and place item while sitting and much more. Therefore a locomotion robot can be replaced human to do work.
In addition, wireless communications are now growing very rapidly because it is very efficient to use. Wireless technology that is widely used at close range is a device that can interface the other devices. Communication between robots is the process of delivering information to do something [1]. Communication between robots is an important component in the interaction of the multiple robots and their environment. In multiple robot systems, robot leader delivering orders to the follower robot to complete a task that occur coordination between the robot form of communication between the robots wirelessly. This form of communication is in the form of a command to the robot follower robot to follow the movement of the robot leader. Advantages of communication between the robots are efficient in completing the task. With time quickly orders can be delivered in a broadcast to the follower so that the job can be completed simultaneously. The robot is wireless controlled to ensure it can journey a long way from the user [3].
(22)
3
1.2 Problem Statement
Nowadays, most of industries use wired system between the robots setup in their industrial. The problem will be occurs when to setup the new robots, this is because the wired or cable is heavy to handle, consequently it will take times and constraints in setting the setup of the robots. In fact, it will take a lot of space to place it when we use the wired system in industries [1]. Labors can‟t move around the robot freely because disrupting with cable connectivity of robots. Furthermore, the robots is not portable devices means robot is difficult to move another places when we want changes the place this is because robot are involving assembly of wired [2]. On the other hand, in the information technology systems moving forwards globalization nowadays, an old system is improved for looking to automate their production with using new approaches that is wireless system. This system will bring benefits in most industries such manufacturing, electronics and health are now reaching a point where almost every field is now automated [4].
1.3 Objective
Generally, the objectives of this project are:
1) To design and develop a wireless robotic arm using wireless system. 2) To utilize the most suitable wireless technology to implement at arm robot.
(23)
4
1.4 Scope
The scope of this project basically divided into two parts which is hardware and software. For the hardware section, this project will use an Arduino UNO and Zigbee modules. The Arduino hardware platform already has the power and reset circuitry setup as well as circuitry to program and communicate with the microcontroller over Universal Serial Bus. In addition, the Input Output pins of the microcontroller are typically already fed out to sockets for easy access. ZigBee is low power consumption, low cost and moderate range. This range is suitable for our application where we want to wirelessly transmit data from Personal Computer to the robot. Another most important reason for using ZigBee module is that these modules come with serial interface therefore it will be easier for us to use these modules.
As for the software development, the programming for Arduino is using Arduino IDE and Visual Basic Programming 2010. Arduino provides a number of libraries to make programming the microcontroller easier. The simplest of these are functions to control and read the I/O pins rather than having to fiddle with the bus/bit masks normally used to interface with the Atmega I/O. More useful are things such as being able to set I/O pins to Pulse Width Modulation(PWM) at a certain duty cycle using a single command or doing Serial communication. For Visual Basic this paper is to describe a new approach from wired to wireless technology added with Graphical user Interface (GUI) application to make it more user-friendly. The transmitter will be connected to the computer whereas the receiver will be connected to the robotic arm interface. In the GUI, the robotic arm is modeled Visual Basic 2010. As a result, real-time and simultaneous movements from simulation to actual environment will be performed. All the movement will be calibrate to ensure that the transmission of data is correct.
(24)
5
1.5 Thesis Structure
There are 5 chapters in this final year project thesis. In Chapter 1, there is introduction about the project in general. Here will be well explanation about main idea and objective. Problem involves in the topic and what is affected was discussed. There are also the scopes and outlines of the report can be referring in this chapter.
In Chapter 2, reader can find some information about the project. This chapter is called literature review. Some basic theory and background of study are explained here. In this chapter, the definition, the operation of wireless technology system, and basic theory are well explained so that reader will be able to understand about the devices used in this project.
Chapter 3 discusses about methodology of project. In this chapter, how the project is developed is explained stage by stage. Each part of project development is shown in this chapter. More interesting, the case study that has been conducted from previous studies also has been discussed here. There is also a flow chart of this project development for reference.
The result and analysis of the project are explained in Chapter 4. In this chapter, result with the images will be inserted. All the details about the results will be explained here.
Chapter 5 will discuss and conclude the overall o the project. In this chapter, the future recommendations also will be included which can help for future development. References and appendixes are listed at the end of the thesis report.
(1)
PROM - Programmable Read-Only Memory
SRAM - Static Random Access Memory
AVR - Atmel Voltage Regulator
TCP/IP - Transmission Control Protocol/Internet Protocol
LED - Light Emitting Diodes
PAN - Personal Area Network
SKXBee - Starter Kit XBee
TTL - Transistor–transistor logic
GND - Ground
RX - Receive Signal
TX - Transmit Signal
RST - Reset Pin XBee
COM - Component Object Model
AT - Command Mode
WR - Write
CT - Command Mode Timeout
RSSI - Received Signal Strength Indicator ICSP - In-Circuit Serial Programming
VIN - Voltage input
(2)
CHAPTER 1
INTRODUCTION
1.1 Background
Nowadays, robots are increasingly being integrated into working tasks to replace humans especially to perform the repetitive task. A robotic arm is a robot manipulator, usually programmable, with similar functions to a human arm. The links of such a manipulator are connected by joints allowing either rotational motion (such as in an articulated robot) or translational (linear) displacement [1]. The links of the manipulator can be considered to form a kinematic chain. The business end of the kinematic chain of the manipulator is called the end effectors and it is analogous to the human hand [1].
(3)
International Federation of Robotics (IFR) defines a service robot as a robot which operates semi- or fully autonomously to perform services useful to the well-being of humans and equipment, excluding manufacturing operations [2]. The end effectors can be designed to perform any desired task such as welding, gripping, spinning etc., depending on the application. The robot arms can be autonomous or controlled manually and can be used to perform a variety of tasks with great accuracy. The robotic arm can be fixed or mobile (i.e. wheeled) and can be designed for industrial or home applications. These robots also used in many fields of applications including office [2], military tasks, hospital operations, dangerous environment and agriculture. Besides, it might be difficulties to the worker whose must pick and place something that can affect itself. For example, things like chemistry that cannot be picked by human and for the military such as defuse bomb that needed robot to pick and place the bomb to somewhere and for user that needed robot to do pick and place item while sitting and much more. Therefore a locomotion robot can be replaced human to do work.
In addition, wireless communications are now growing very rapidly because it is very efficient to use. Wireless technology that is widely used at close range is a device that can interface the other devices. Communication between robots is the process of delivering information to do something [1]. Communication between robots is an important component in the interaction of the multiple robots and their environment. In multiple robot systems, robot leader delivering orders to the follower robot to complete a task that occur coordination between the robot form of communication between the robots wirelessly. This form of communication is in the form of a command to the robot follower robot to follow the movement of the robot leader. Advantages of communication between the robots are efficient in completing the task. With time quickly orders can be delivered in a broadcast to the follower so that the job can be completed simultaneously. The robot is wireless controlled to ensure it can journey a long way from the user [3].
(4)
1.2 Problem Statement
Nowadays, most of industries use wired system between the robots setup in their industrial. The problem will be occurs when to setup the new robots, this is because the wired or cable is heavy to handle, consequently it will take times and constraints in setting the setup of the robots. In fact, it will take a lot of space to place it when we use the wired system in industries [1]. Labors can‟t move around the robot freely because disrupting with cable connectivity of robots. Furthermore, the robots is not portable devices means robot is difficult to move another places when we want changes the place this is because robot are involving assembly of wired [2]. On the other hand, in the information technology systems moving forwards globalization nowadays, an old system is improved for looking to automate their production with using new approaches that is wireless system. This system will bring benefits in most industries such manufacturing, electronics and health are now reaching a point where almost every field is now automated [4].
1.3 Objective
Generally, the objectives of this project are:
1) To design and develop a wireless robotic arm using wireless system. 2) To utilize the most suitable wireless technology to implement at arm robot.
(5)
The scope of this project basically divided into two parts which is hardware and software. For the hardware section, this project will use an Arduino UNO and Zigbee modules. The Arduino hardware platform already has the power and reset circuitry setup as well as circuitry to program and communicate with the microcontroller over Universal Serial Bus. In addition, the Input Output pins of the microcontroller are typically already fed out to sockets for easy access. ZigBee is low power consumption, low cost and moderate range. This range is suitable for our application where we want to wirelessly transmit data from Personal Computer to the robot. Another most important reason for using ZigBee module is that these modules come with serial interface therefore it will be easier for us to use these modules.
As for the software development, the programming for Arduino is using Arduino IDE and Visual Basic Programming 2010. Arduino provides a number of libraries to make programming the microcontroller easier. The simplest of these are functions to control and read the I/O pins rather than having to fiddle with the bus/bit masks normally used to interface with the Atmega I/O. More useful are things such as being able to set I/O pins to Pulse Width Modulation(PWM) at a certain duty cycle using a single command or doing Serial communication. For Visual Basic this paper is to describe a new approach from wired to wireless technology added with Graphical user Interface (GUI) application to make it more user-friendly. The transmitter will be connected to the computer whereas the receiver will be connected to the robotic arm interface. In the GUI, the robotic arm is modeled Visual Basic 2010. As a result, real-time and simultaneous movements from simulation to actual environment will be performed. All the movement will be calibrate to ensure that the transmission of data is correct.
(6)
1.5 Thesis Structure
There are 5 chapters in this final year project thesis. In Chapter 1, there is introduction about the project in general. Here will be well explanation about main idea and objective. Problem involves in the topic and what is affected was discussed. There are also the scopes and outlines of the report can be referring in this chapter.
In Chapter 2, reader can find some information about the project. This chapter is called literature review. Some basic theory and background of study are explained here. In this chapter, the definition, the operation of wireless technology system, and basic theory are well explained so that reader will be able to understand about the devices used in this project.
Chapter 3 discusses about methodology of project. In this chapter, how the project is developed is explained stage by stage. Each part of project development is shown in this chapter. More interesting, the case study that has been conducted from previous studies also has been discussed here. There is also a flow chart of this project development for reference.
The result and analysis of the project are explained in Chapter 4. In this chapter, result with the images will be inserted. All the details about the results will be explained here.
Chapter 5 will discuss and conclude the overall o the project. In this chapter, the future recommendations also will be included which can help for future development. References and appendixes are listed at the end of the thesis report.