modelling and control of articulated robot arm...
TRANSCRIPT
MODELLING AND CONTROL OF ARTICULATED ROBOT ARM
WAN MUHAMAD HANIF BIN WAN KADIR
This project report is submitted in partial fulfilment of the requirement for the award
of the Degree of Master of Electrical Engineering
Faculty of Electrical and Electronic Engineering
Universiti Tun Hussein Onn Malaysia
JULY, 2014
vi
ABSTRACT
Humans tends to get bored when doing a repetitive task over and over again.
Whenever human get bored doing something, their concentration level on doing the
task will go down and the end result of the task will not be up to the standard. A
robot that can imitate human movement could be introduce in order to reduce human
error in doing a repetitive task. But, to design a robot that could impersonate human
movement is not that easy. Designer need to try and re-try their design before
implement it in a real robot. In order to simplify the design and development of a
robot, this thesis present the modelling and control of articulated robot arm. The
robot arm is modelled using a CAD model that was design in SolidWorks. The robot
arm movement is then simulated using the CAD model in Simulink before
implementing in the real model. The robot arm is controlled by Arduino Uno that
interact directly to the Simulink. The robot arm movement follows the CAD model
movement which is being simulated in the Simulink. Two type of analysis has been
done for this project that is an open and closed loop control test and also durability
and reliability test. This prototype of the robot arm showed that the operational was
successful with the initial open loop error that range from 11.48% till 15.56% to be
reduced down to a maximum eror of 1.64%, the robot arm able to lift loads that are
not more than 160 gram and produce error not more than 20%. Overall, this new
approach of designing and control of a robot is a success.
vii
ABSTRAK
Manusia cenderung untuk merasa bosan apabila melakukan tugas yang
berulang-ulang. Apabila mereka merasa bosan melakukan sesuatu tugasan, tahap
tumpuan mereka untuk melakukan tugasan itu akan menurun dan hasil tugas itu juga
tidak mencapai tahap yang diperlukan. Sebuah robot yang boleh meniru pergerakan
manusia boleh diperkenalkan untuk mengurangkan kesilapan manusia dalam
melakukan tugas yang berulang-ulang. Tetapi, untuk mereka bentuk sesebuah robot
yang boleh mengikut pergerakan manusia adalah tidak begitu mudah. Para pereka
perlu mencuba dan cuba semula reka bentuk mereka sebelum melaksanakannya di
sebuah robot sebenar. Untuk memudahkan proses reka bentuk dan pembangunan
robot, tesis ini membentangkan cara untuk model dan kawalan lengan robot. Robot
lengan ini dimodelkan dengan menggunakan model CAD yang direka bentuk dalam
program SolidWorks. Pergerakan lengan robot kemudiannya di simulasikan
menggunakan model CAD dalam program Simulink sebelum melaksanakan dalam
model sebenar.Robot lengan ini dikawal oleh Arduino Uno yang berinteraksi terus
kepada program Simulink. Pergerakan lengan robot mengikut pergerakan model
CAD yang sedang di simulasikan dalam program Simulink. Dua jenis analisis telah
dilakukan untuk projek ini iaitu ujian kawalan gelung terbuka dan tertutup dan juga
ujian ketahanan dan kebolehpercayaan. Prototaip lengan robot menunjukkan bahawa
operasi Berjaya dengan ralat awal operasi gegelung terbuka adalah daripada 11.48%
hingga 15.56% yang dikurangkan sehingga ralat maksimum 1.64%, lengan robot
mampu untuk mengangkat beban yang tidak lebih daripada 160 gram dan
menghasilkan ralat yang tidak lebih dari 20%.Secara keseluruhannya, cara baru yang
diketengahkan ini dalam merekabentuk dan mengawal sesebuah robot ini adalah
berjaya.
viii
TABLE OF CONTENTS
CHAPTER ITEM PAGE
THESIS STATUS CONFIRMATION
SUPERVISOR’S CONFIRMATION
TITLE PAGE i
DECLARATION ii
DEDICATION iii
ACKNOWLEDGEMENT v
ABSTRACT vi
ABSTRAK vii
TABLE OF CONTENTS viii
LIST OF TABLES xi
LIST OF FIGURES xii
LIST OF ABBREVIATIONS xv
CHAPTER 1 INTRODUCTION
1.1 Preamble 1
1.2 Problem statements 3
1.3 Aim and objectives 3
1.4 Scope of the project 4
CHAPTER 2 LITERATURE REVIEW
2.1 Introduction 5
2.2 Type of robot arm 5
2.2.1 Cartesian 5
ix
2.2.2 Cylindrical 6
2.2.3 Spherical 6
2.2.4 SCARA 7
2.2.5 Articulated or Jointed-arm 8
2.3 Brief review of similar projects 8
2.3.1 Six joint robotic arm using
PIC18F452 as a controller 8
2.3.2 Development of controllable
Pick and place arm robot 9
2.3.3 Dual gripper two degree of
Freedom pick and place arm robot 9
2.3.4 Sliding robot arm with gripper 9
2.3.5 The robotic arm 10
2.3.6 Robot Robix RCs-6 10
2.3.7 Lynx 5 programmable robotic
Arm kit for PC 11
2.3.8 4-axis KUKA articulated robot
arm 11
2.4 Microcontroller 12
2.5 Motor 13
2.5.1 Servo motor 14
2.6 Pulse aWidth Modulation(PWM) 15
2.7 Robot kinematics 16
2.7.1 Kinematics chain 17
2.7.2 Forward kinematics 17
2.7.3 Inverse kinematics 17
2.8 Trajectory planning
19
CHAPTER 3 METHODOLOGY
3.1 Introduction 21
3.2 Project overview 21
3.3 Project flowchart 22
3.4 Project outline 22
x
3.5 Robotic arm 24
3.5.1 Characterictis of robot arm 24
3.5.2 Robotic arm development 28
3.5.3 The design of the robot arm 29
3.5.4 Structure of robot arm 30
3.6 Project process 30
3.6.1 Designing process 30
3.6.2 Actuating the robot arm 33
3.6.3 Controlling the robot arm
38
CHAPTER 4 RESULTS AND ANALYSIS
4.1 Introduction 45
4.2 Choosing the robot kinematic solution 45
4.3 Inverse kinematics solution 46
4.4 LPSB trajectory 52
4.5 Simulation result and analysis 52
4.6 Experimental test 53
4.6.1 Open loop and closed loop test 53
4.6.2 Durability and reliability test
60
CHAPTER 5 CONCLUSION AND RECOMMENDATION
5.1 Conclusion 67
5.2 Recommendation for future work 68
REFERENCES 69
APPENDIX A 62
APPENDIX B 78
APPENDIX C 81
APPENDIX D 85
xi
LIST OF TABLE
NO TABLES TITLE PAGE
3.1 Advantage and disadvantage of articulated robot arm 25
3.2 Angle rotation for servomotor 38
3.3 Arduino Uno specification 41
3.4 Summary description of Arduino Support package Simulink
blocks 43
4.1 Summation of open loop test 59
4.2 Summation of closed loop test 60
xii
LIST OF FIGURE
NO FIGURE TITLE PAGE
2.1 Coordinate and working envelope of a Cartesian robot 6
2.2 Coordinate and working envelope of a cylindrical robot 6
2.3 Coordinate and working envelope of a Spherical robot 7
2.4 Coordinate and working envelope of a SCARA robot 7
2.5 Coordinate and working envelope of an articulated robot 8
2.6 Robot Robix RCs-6 11
2.7 Lynx 5 Programmable Robot Arm 12
2.8 4-Axis KUKA articulated robot arm 12
2.9 Servo motor disassembled 14
2.10 Relative connection between arm parameter and the arm
position for forward kinematics 18
2.11 Relative connection between arm parameter and the arm
position for inverse kinematics 18
3.1 Project system architecture 22
3.2 Plan flowchart 23
3.3 System outline for the articulated robotic arm 24
3.4 Workspace for 3 DOF configurations 27
3.5 Sketch for robotic arm structure 29
3.6 3D base rendering using SolidWorks 30
3.7 Base model fabricated using 3D-printer 31
3.8 3D-shoulder rendering using SolidWorks 32
3.9 3D-elbow and wrist rendering using SolidWorks 32
3.10 Complete assembly of shoulder, elbow and wrist 33
3.11 Analog feedback servo 33
3.12 Closed loop system for the motor but open loop system
xiii
for the controller 34
3.13 Complete closed loop system 35
3.14 Servo motor signal diagram 36
3.15 Servomotor used to construct robotic arm 37
3.16 General block diagram of a PID controller 40
3.17 Arduino Uno board 41
4.1 (a) Process of manipulation of the structure through forward
Kinematic 46
4.1 (b) Process of manipulation of the structure through inverse
Kinematic 46
4.2 Articulated robot arm 47
4.3 Projection of the robot base to the center of x – y plane 47
4.4 Singular configuration 48
4.5 Left arm configuration 50
4.6 Right arm configuration 50
4.7 Projecting onto the plane formed by links 2 and 3 51
4.8 Trajectory simulation result 53
4.9 Robot joint angle movement according to the desired angle 54
4.10 Open loop control 54
4.11 Open loop control test result for base joint 55
4.12 Open loop control test result for shoulder joint 56
4.13 Open loop control test result for elbow joint 56
4.14 Closed loop control 57
4.15 Closed loop control test result for base joint 58
4.16 Closed loop control test result for shoulder joint 58
4.17 Closed loop control test result for elbow joint 59
4.18 Base joint degree under 120 gram of weight 60
4.19 Shoulder joint degree under 120 gram of weight 61
4.20 Elbow joint degree under 120 gram of weight 61
4.21 Base joint degree under 160 gram of weight 62
4.22 Shoulder joint degree under 160 gram of weight 63
4.23 Elbow joint degree under 160 gram of weight 63
4.24 Base joint degree under 240 gram of weight 64
4.25 Shoulder joint degree under 240 gram of weight 65
xiv
4.26 Elbow joint degree under 240 gram of weight 65
xv
LIST OF ABBREVIATIONS
RC Remote Control
PWM Pulse Width Modulation
CAD Computer Aided Design
ISO Internationa Organization for Standardization
PPP Prismatic, Prismatic, Prismatic
RPP Revolute, Prismatic, Prismatic
RRP Revolute, Revolute, Prismatic
RRR Revolute, Revoute, Revolute
SCARA Selection Compliance Assembly Robot Arm
FPGA Field-Programmable Gate Array
CPU Central Processing Unit
PC Personal Computer
RAM Random-Access Memory
DSP Digital Signal Processing
DOF Degree of Freedom
3D Three Dimensional
2D Two Dimensional
CCW Counterclockwise
CW Clockwise
USB Universal Serial Bus
D – H Denavit – Hartenberg
PID Porpotional, Integral, Derivative
CHAPTER 1
INTRODUCTION
1.1 Preamble
According to the “Robot Institute of America,” 1979, “A robot is defined as a
reprogrammable, multifunctional manipulator designed to move material, parts,
tools, or specialized devices through various programmed motions for the
performance of a variety of tasks.” Webster’s dictionary simplifies the definition by
stating that, “a robot is an automatic device that performs functions normally
ascribed to humans or a machine in the form of a human.” A robot is described as a
machine designed to execute one or more tasks repeatedly, with speed and precision.
There are as many different types of robots as there are tasks for them to perform.
Robots are increasingly being integrated into working tasks to replace humans
especially to perform the repetitive task. 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 [1].
International Organization for Standardization (ISO) defines an industrial robot
as “Automatically controlled, reprogrammable multi-propose manipulator
programmable in three or more axes”. In other words, they are general purpose,
reprogrammable manipulators used in moving materials, or tools through a well-
specified, variable programmed path for the performance of different tasks that are
industrial related. Robotics arm mostly refer to perform task such as to pick and
place materials from one location to another location. Some sophisticated robotic
2
arms have been integrated with drilling, welding, painting, stirring and other
functions. [2]
Although the appearance and capabilities of robots vary vastly, all robots share
the features of a mechanical, movable structure under some form of autonomous
control [2][3]. The structure of a robot is usually mostly mechanical and can be
called a kinematic chain (its functionality being similar to the skeleton of the human
body). The chain is formed of links (its bones), actuators (its muscles) and joints
which can allow one or more degrees of freedom. Most contemporary robots use
open serial chains in which each link connects the one before to the one after it.
These robots are called serial robots and often resemble the human arm. Some
robots, such as the Stewart platform, use closed parallel kinematic chains. Robots
used as manipulators have an end effector mounted on the last link. This end effector
can be anything from a welding device to a mechanical hand used to manipulate the
environment. The mechanical structure of a robot must be controlled to perform
tasks. The control of a robot involves three distinct phases - perception, processing
and action (robotic paradigms). Sensors give information about the environment or
the robot itself (e.g. the position of its joints or its end effector). Using strategies
from the field of control theory, this information is processed to calculate the
appropriate signals to the actuators (motors) which move the mechanical structure.
Robotic arms have many applications in manufacturing because the end
manipulator of robotic arm can be changed to fit particular industries. For instances,
welding manipulator are used for as sport welding robots in manufacturing
(automotive), spray nozzles for spray painting and assemblies (numerous industries),
grippers for pick and place (electronics industry). Generally all applications above
are using almost the same design robot arm but the difference is the software
programming depending on the applications.
1.2 Problem statement.
Humans get bored when doing a repetitive task over and over again. When humans
get bored doing a repetitive task, they will not focus on their task and tend to make
mistakes. To overcome this problem, robot is used. Most robots nowadays are used
to do repetitive (boring) task or jobs considered too dangerous for humans. It is not a
simple task to design and build a robot from scratch. The designing of a robot
3
includes mathematical calculations and hardware design. Sometimes, the
mathematical calculation does not add up with the mechanical design, thus the
designer need to recalculate their calculation. Instead of using “try and error”
approach of the calculation to the hardware, why not test the design using CAD
model of the robot and observe the robot response to the mathematical equation.
1.3 Aim and objectives of this research.
Modelling and Control of Articulated Robot Arm is the aim of this project. To
achieve this aim, the objectives of this project are formulated as follows:
(i) To construct a robot arm model based on articulated robot arm design;
(ii) To construct a drive system for the arm robot;
(iii) To design and develop the control method complete with feedback for the
robot arm.
1.4 Scope of the project.
This project consists of two parts that are
(i) Hardware:-
Arduino Uno as the brain of the robotic arm;
RC servo motor complete with feedback as the driving system of the
robot.
(ii) Software:-
The use of MATLAB Simulink to design the control configuration of
the robot arm;
Design of the robot arm using SolidWorks CAD software.
CHAPTER 2
LITERATURE REVIEW
2.1 Introduction
To further understands the work that needed to be done, we need to review scholarly
articles, books and other sources such as dissertations, conference proceedings
relevant to this project title. All of the literature is summarized as below.
2.2 Type of robot arm
Normally, robot manipulators are classified according to their arm geometry or
kinematics structure. The majority of these manipulators fall into of these five
configurations; Cartesian (PPP), Cylindrical (RPP), Spherical (RRP), SCARA (RRP)
and Revolute or Articulated (RRR).
There are five types of robot arms that are used nowadays. Degrees of
freedom are the axes around which it is free to move. The area a robot arm can reach
is its working envelope. The major categories of industrial robots by mechanical
structure are as below.
2.2.1 Cartesian
Rectangular arms are sometimes called "Cartesian" because the arm´s axes can be
described by using the X, Y, and Z coordinate system. It is claimed that the Cartesian
design will produce the most accurate movements. Used for pick and place work,
application of sealant, assembly operations, handling machine tools and arc welding.
6
It is a robot whose arm has three prismatic joints, whose axes are coincident
with a Cartesian coordinator. Refer Figure 2.1 for this robots coordination and work
envelope.
Figure 2.1: Coordinate and working envelope of a Cartesian robot
2.2.2 Cylindrical
A cylindrical arm also has three degrees of freedom, but it moves linearly only along
the Y and Z axes. Its third degree of freedom is the rotation at its base around the two
axes. The work envelope is in the shape of a cylinder. Used for assembly operations,
handling at machine tools, spot welding, and handling at die-casting machines.
It is a robot whose axes form a cylindrical coordinate system. Refer Figure
2.2 for this robots coordinate and work envelope.
Figure 2.2: Coordinate and working envelope of a cylindrical robot.
2.2.3 Spherical
The spherical arm, also known as polar coordinate robot arm, has one sliding motion
and two rotational, around the vertical post and around a shoulder joint. The
7
spherical arm's work envelope is a partial sphere which has various lengths. Used for
handling at machine tools, spot welding, die-casting, fettling machines, gas welding
and arc welding.
It is a robot whose axes form a polar coordinate system. Refer Figure 2.3 for
this robots coordinate and work envelope.
Figure 2.3: Coordinate and working envelope of a Spherical robot.
2.2.4 SCARA
SCARA or Selection Compliance Assembly Robot Arm is also known as a
horizontal articulated arm robot. Some SCARA robots rotate about all three axes,
and some have sliding motion along one axis in combination with rotation about
another. Used for pick and place work, application of sealant, assembly operations
and handling machine tools.
It is a robot which has two parallel rotary joints to provide compliance in a
plane. Refer Figure 2.4 for this robots coordinate and work envelope.
Figure 2.4: Coordinate and working envelope of a SCARA robot
8
2.2.5 Articulated or Jointed-arm
The last and most used design is the jointed-arm., also known as an articulated robot
arm. The arm has a trunk, shoulder, upper arm, forearm, and wrist. All joints in the
arm can rotate, creating six degrees of freedom. Three are the X, Y, and Z axes. The
other three are pitch, yaw, and roll. Pitch is when you move your wrist up and down.
Yaw is when you move your hand left and right. Rotate your entire forearm, this
motion is called roll. Used for assembly operations, die-casting, fettling machines,
gas welding, arc welding and spray painting.
It's a robot whose arm has at least three rotary joints. Refer Figure 2.5 for
this robot’s coordinate and work envelope.
Figure 2.5: Coordinate and working envelope of an articulated robot
2.3 Brief review of similar projects
2.3.1 Six Joint Robotic Arm Using PIC18F452 as a Controller
In 2011, Hanafi Bin Kemin from University Tun Hussein Onn Malaysia develops a
six degree of freedom robotic arm that use PIC18F452 as the controller. In this
project, he chooses an articulated movement for his robot arm. For actuating the
movement of the robot arm, he chooses RC servo motors. The movement of the
robot is preprogrammed. Although he develops a six degree of freedom robot arm,
the robot arm itself is an open loop system and the movement of the joints cannot be
confirmed.
9
2.3.2 Development of Controllable Pick and Place Arm Robot
This previous research named “Development of Controllable Pick and Place Arm
Robot” [4] by Shathiasillan Yelumalai (2009) from University Tun Hussein Onn
Malaysia discusses on construction of a pick and place arm robot using PIC16F877A
microcontroller and a Cartesian (PPP) robot movement. It is an open-loop type of
robot arm. The movement algorithm of the robot arm is programmed to the
microcontroller, and has no sensors to verify the movement.
2.3.3 Dual Gripper Two Degree of Freedom Pick and Place Arm Robot
This thesis is written by V.J Dehven Nair Velayutham (2009) from University Tun
Hussein Onn Malaysia [5]. He discussed about the development of a two degree of
freedom robot arm with dual gripper. The dual gripper means that the robot arm
combines two types of end effector, one end effector is the servo gripper and the
second is the magnetic gripper. The robot arm design is based on cylindrical
movement (RPP). The movement of the robot arm is based on the movement
algorithm that was programmed to the microcontroller. It is not easy to reprogram.
2.3.4 Sliding Robot Arm with Grippers
From a previous research “Sliding Robot Arm with Grippers” [6] by Wee Siuw Sia
(2006) from University College of Technology Tun Hussein Onn. This thesis
discusses on construction of a mechanical design of a robot arm with grippers. In this
project, the sliding arm consists of three degree of freedom which can move
proportionally. It can function as a pick and place robot. The sensors are built with
limit switch. When the limit switch is touched, the motor will move. PIC16F877A
will control the motor movement, either forward or backward depending on which
limit switch is pressed. The downside of this project is the robot movement is not
fully automated; it needs an operator to control the movement of the robot arm.
10
2.3.5 The Robotic Arm
A technical project paper entitled “The Robotic Arm” [7] by Yu Shan Zhen, Li Feng
and Randall Watanabe, FALL (1997) is also studied. The objective of this design
project is to use a XILINX FPGA chip, XC4010E, to build a Controller System to
control the movements of the robotic arm. The whole system is composed of the
Controller System and three drive circuits. One driver circuit for each motor on the
robotic arm. The Control System will feed the drive circuits that actually drive the
motors on the robotic arm. These drive circuits are needed because the Control
System does not supply enough power to drive the motors directly. The controller
System is implemented on the XC4010E XILINX chip. It has two inputs and six
outputs. One of the inputs is a reset switch that resets the Control System to the
initial state. The other input is an external clock used to synchronize the output
signals. It will be a 1 kHz signal generated with a signal generator. The XILINX
FPGA is capable of running at much higher speed but a slow clock is needed to
obtain relatively large delays for the output signals. The six output signals form three
pairs. Each pair of signals is for each motor on the robotic arm. Since there are three
pairs, there are three motors on the robotic arm, one for up and down movement, one
for left and right movement and another for grasping and ungrasping. The drive
circuits are built with TTL Logic gates and NPN transistor amplifiers, where the
Logic gates ensure the proper input into the transistors. To verify the movement of
the robotic arm, the programmer need to do try and error type of programming to
ensure the movement of the robot, this will take some time to verify the movement of
the robot.
2.3.6 Robot Robix RCs-6
This robot arm is developed by advanced design to show the operation of servo
motor in robot. The mechanical system is made from aluminum. This robot arm has
its own box to the main processor (CPU) which serves as the interface that connects
between the computer and the robot arm. The personal computer used as a controller.
The CPU box is always connected to the computer if the user wants to use the robot
[8]. The only thing that is missing with this robot is the ability to simulate it using
computer aided design (CAD) before trying the movement to the robot.
11
Figure 2.6: Robot Robix RCs-6
2.3.7 Lynx 5 programmable robotic arm kit for PC
The Lynx 5 robotic arm, as in Figure 2.7, can make fast and smooth movement, very
high accuracy and high rate of repeatability. This robot consists of rotational base,
shoulder, elbow and wrist motion, and a functional gripper [9] that is almost similar
to human arm movement. The arm includes five Hitec HS-422 servo motors, one for
the base, two for the shoulder, and one each for the elbow and wrist. An HS-81 is
included for the gripper.
It was built in such solid design made from ultra-tough laser cut Lexan
structural component, black anodized aluminum servo brackets and custom injection
molded components. The assembly of this robot is easy only by following the kit
manual. This robot kit includes Lynx 5 Arm, A-base, A-Gripper Kit, mini SSC-II
Servo Controller, serial data cable; Robot motion Software and Lynx 5 regulated
Wall Pack. The arms gripper is positioned in an X, Y, Z grid in inches, and the
moves are stored in a spreadsheet format for easy editing.
2.3.8 4-Axis KUKA articulated robot arm
The 4 axis Articulating robot is mostly used in palletizing and material handling
operation. An axis refers to range of motion, as can be seen in Figure 2.8. A-1 “joint”
is the primary motion center for this robot, as it turns the whole robot around.
However all robot manufacturers have different nomenclature for the various joints,
in the case of Kuka, they call the primary joint A-1, Fanuc calls it JI, and the speed of
this joints is usually the dominant factor in overall robot speed. [10]
12
Figure 2.7: Lynx 5 Programmable Robot Arm
Figure 2.8: 4-Axis KUKA articulated robot arm
2.4 Microcontroller
A microcontroller (also microcomputer, MCU or µC) is a small computer on a single
integrated circuit consisting internally of a relatively simple CPU, clock, timers, I/O
ports, and memory. The program memory in the form of NOR flash or OTP ROM is
13
also often included on chip, as well as a typically small amount of RAM.
Microcontrollers are designed for small or dedicated applications
Some microcontrollers may use four-bit words and operate at clock rate
frequencies as low as 4 kHz, as this is adequate for many typical applications,
enabling low power consumption (mill watts or microwatts). They will generally
have the ability to retain functionality while waiting for an event such as a button
press or other interrupt; power consumption while sleeping (CPU clock and most
peripherals off) may be just nanowatts, making many of them well suited for long
lasting battery applications. Other microcontrollers may serve performance-critical
roles, where they may need to act more like a digital signal processor (DSP), with
higher clock speeds and power consumption.
Microcontrollers are used in automatically controlled products and devices,
such as automobile engine control systems, implantable medical devices, remote
controls, office machines, appliances, power tools, and toys. By reducing the size and
cost compared to a design that uses a separate microprocessor, memory, and
input/output devices, microcontrollers make it economical to digitally control even
more devices and processes. Mixed signal microcontrollers are common, integrating
analog components needed to control non-digital electronic systems [11].
2.5 Motor
An electric motor uses electrical energy to produce mechanical energy, very
typically through the interaction of magnetic fields and current-carrying conductors.
The reverse process, producing electrical energy from mechanical energy, is
accomplished by a generator or dynamo. Traction motors used on vehicles often
perform both tasks. Many types of electric motors can be run as generators, and vice
versa [12].
Electric motors are found in applications as diverse as industrial fans, blowers
and pumps, machine tools, household appliances, power tools, and disk drives. They
may be powered by direct current (for example a battery powered portable device or
motor vehicle), or by alternating current from a central electrical distribution grid.
The smallest motors may be found in electric wristwatches. Medium-size motors of
highly standardized dimensions and characteristics provide convenient mechanical
power for industrial uses. The very largest electric motors are used for propulsion of
14
large ships, and for such purposes as pipeline compressors, with ratings in the
millions of watts. Electric motors may be classified by the source of electric power,
by their internal construction, by their application, or by the type of motion they give
[12].
2.5.1 Servo motor
A servo mechanism or servo is an automatic device that uses error-sensing feedback
to correct the performance of a mechanism. The term correctly applies only to
systems where the feedback or error-correction signals help control mechanical
position or other parameters. For example, an automotive power window control is
not a servo mechanism, as there is no automatic feedback which controls position the
operator does this by observation. By contrast the car's cruise control uses closed
loop feedback, which classifies it as a servo mechanism.
Figure 2.9: Servo motor disassembled
Figure 2.9 shows servo motor disassembled; there are control circuitry, the
motor, a set of gears, and the case. Besides that, it also sees the 3 wires that connect
to the outside world. One is for power (+5volts), ground, and the white wire is the
control wire. RC servos are hobbyist remote control devices servos typically
employed in radio-controlled models, where they are used to provide actuation for
15
various mechanical systems such as the steering of a car, the flaps on a plane, or the
rudder of a boat [12].
RC servos are composed of an electric motor mechanically linked to a
potentiometer. Pulse-width modulation (PWM) signals sent to the servo are
translated into position commands by electronics inside the servo. When the servo is
commanded to rotate, the motor is powered until the potentiometer reaches the value
corresponding to the commanded position.
Due to their affordability, reliability, and simplicity of control by
microprocessors, RC servos are often used in small-scale robotics applications. The
servo is controlled by three wires: ground (usually black/orange), power (red) and
control (brown/other color). This wiring sequence is not true for all servos, for
example the S03NXF Std. Servo is wired as brown (negative), red (positive) and
orange (signal). The servo will move based on the pulses sent over the control wire,
which set the angle of the actuator arm. The servo expects a pulse every 20 ms in
order to gain correct information about the angle. The width of the servo pulse
dictates the range of the servo's angular motion.
A servo pulse of 1.5 ms width will set the servo to its "neutral" position, or
90°. For example a servo pulse of 1.25 ms could set the servo to 0° and a pulse of
1.75 ms could set the servo to 180°. The physical limits and timings of the servo
hardware varies between brands and models, but a general servo's angular motion
will travel somewhere in the range of 180° - 210° and the neutral position is almost
always at 1.5 ms [12].
2.6 Pulse Width Modulation (PWM)
Pulse-width modulation (PWM) is a very efficient way of providing intermediate
amounts of electrical power between fully on and fully off. A simple power switch
with a typical power source provides full power only, when switched on. PWM is a
comparatively recent technique, made practical by modern electronic power
switches.
Pulse Width Modulation (PWM) is one of the methods to reduce waste of
power. A conventional linear output stage applies a continuous voltage to a load.
This can waste plenty of power.
16
On the other hand, PWM applies a pulse train of fixed amplitude and frequency, only
the width is varied in proportion to an input voltage. The end result is that the
average voltage at the load is the same as the input voltage; but with less wasted
power in the output stage [13].
For example, light dimmers for home use employ a specific type of PWM
control. Home use light dimmers typically include electronic circuitry which
suppresses current flow during defined portions of each cycle of the AC line voltage.
Adjusting the brightness of light emitted by a light source is then merely a matter of
setting at what voltage (or phase) in the AC cycle the dimmer begins to provide
electrical current to the light source (e.g. by using an electronic switch such as a
triac). In this case the PWM duty cycle is defined by the frequency of the AC line
voltage (50 Hz or 60 Hz depending on the country) [14].
2.7 Robot kinematics
Robot kinematics applies geometry to the study of the movement of multi-degree of
freedom kinematic chains that form the structure of robotic systems [15][16]. The
emphasis on geometry means that the links of the robot are modeled as rigid bodies
and its joints are assumed to provide pure rotation or translation.
Robot kinematics studies the relationship between the dimensions and
connectivity of kinematic chains and the position, velocity and acceleration of each
of the links in the robotic system, in order to plan and control movement and to
compute actuator forces and torques. The relationship between mass and inertia
properties, motion, and the associated forces and torques is studied as part of robot
dynamics.
A fundamental tool in robot kinematics is the kinematics equations of the
kinematic chains that form the robot. These non-linear equations are used to map the
joint parameters to the configuration of the robot system. Kinematics equations are
also used in biomechanics of the skeleton and computer animation of articulated
characters.
Forward kinematics uses the kinematic equations of a robot to compute the
position of the end-effector from specified values for the joint parameters [17]. The
reverse process that computes the joint parameters that achieve a specified position
of the end-effector is known as inverse kinematics.
17
2.7.1 Kinematics chain
Kinematic chain refers to an assembly of rigid bodies connected by joints that is the
mathematical model for a mechanical system [18]. As in the familiar use of the word
chain, the rigid bodies, or links, are constrained by their connections to other links.
An example is the simple open chain formed by links connected in series, like the
usual chain, which is the kinematic model for a typical robot manipulator [19].
Mathematical models of the connections, or joints, between two links are
termed kinematic pairs. Kinematic pairs model the hinged and sliding joints
fundamental to robotics, often called lower pairs and the surface contact joints
critical to cams and gearing, called higher pairs. These joints are generally modeled
as holonomic constraints. A kinematic diagram is a schematic of the mechanical
system that shows the kinematic chain.
The modern use of kinematic chains includes compliance that arises from
flexure joints in precision mechanisms, link compliance in compliant mechanisms
and micro-electro-mechanical systems, and cable compliance in cable robotic and
tensegrity systems [20][21].
2.7.2 Forward kinematics
Forward kinematics of robot manipulator is the study of the position and orientation
of a robot hand (tools, gripper, or end-effector) with respect to a reference coordinate
system, given the joint variables and the arm parameters [15].
The objective of forward kinematic analysis is to determine the cumulative
effect of the entire set of joint variables. The forward kinematics solution of a robot
manipulator can then be used to determine the position and orientation of the robot
hand relative to the robot base coordinate system. Figure 2.10 shows the relative
connection between the arm parameters and the arm position.
2.7.3 Inverse kinematics
Inverse kinematics refers to the use of the kinematics equations of a robot to
determine the joint parameters that provide a desired position of the end-effector
[15]. Specification of the movement of a robot so that its end-effector achieves a
18
desired task is known as motion planning. Inverse kinematics transforms the motion
plan into joint actuator trajectories for the robot.
Figure 2.10: Relative connection between arm parameter and the arm position for
forward kinematics
The movement of a kinematic chain whether it is a robot or an animated
character is modeled by the kinematics equations of the chain. These equations
define the configuration of the chain in terms of its joint parameters. Forward
kinematics uses the joint parameters to compute the configuration of the chain, and
inverse kinematics reverses this calculation to determine the joint parameters that
achieves a desired configuration [16][22][19].
For example, inverse kinematics formulas allow calculation of the joint
parameters that position a robot arm to pick up a part. Similar formulas determine the
positions of the skeleton of an animated character that is to move in a particular way.
For a robot system the inverse kinematic problem is one of the most difficult
to solve. The robot controller must solve a set of non-linear simultaneous equations.
The problems can be summarized as:
i. The existence of multiple solutions;
ii. The possible non-existence of a solution;
iii. Singularities.
Figure 2.11: Relative connection between arm parameter and the arm position for
inverse kinematics
19
2.8 Trajectory planning
In practice, an industrial robot manipulator is often used to move an object from its
initial location to the final location in the work-space. To perform the task, the
position and orientations of the object at its initial location and the final location
must be specified. A trajectory, or a path, along which the end-effector moves the
object, can be planned so that the robot manipulator can work efficiently. The
planned trajectory for a robot manipulator in the work-space is a function of time,
which sufficiently describes the positions, orientations, linear velocities, angular
velocities, and accelerations of the end effector during the robot motion [23].
With the background of the forward and inverse kinematics, if there is no
obstacle in the work-space, the following two methods can be considered for the
trajectory planning: First, the path can be planned in Cartesian space, because the
path of the end-effector in Cartesian space can be easily visualized. Then, use the
inverse kinematics of the robot manipulator to find the corresponding path for the
joints in the joint space. Second, use the inverse kinematics of the robot manipulator
to obtain the initial joint positions and final positions and then pan the paths for the
joints in the joint space.
The first method for the trajectory planning needs to compute many points
along the trajectory for accuracy. Although the computation can be done offline, all
the computed data need to be stored in a computer memory as a very large look-up
table. In addition, to compute the corresponding joint positions using the inverse
kinematics in real-time, it is quite time-consuming, and the robot working efficiency
may be greatly affected. Therefore, the first method is not very attractive in practice.
However, the second method of path planning in the joint space has some
advantages. For example, after using the inverse kinematics to determine the initial
and final joint position, the forward and inverse kinematics are not needed again. The
path for all joints can then be easily planned in the joint space in real time.
Another important problem that may be concerned with is the “quality” of the
trajectory. For instance, a trajectory must be a smooth time function, and the
constraints, such as initial position, final positions, initial velocities and final
velocities must be satisfied. Usually, a high-order polynomial function is used to
realize a path for a joint in the joint space. In such a situation, the parameters of the
20
polynomial function must be determined such that all position, velocity, and
acceleration constrains should be satisfied.
Alternatively, a path for a joint in the joint space can be divided into a few
segments, and each segment may be realized using a low-order polynomial function.
Of course, the parameters of these low-order polynomial functions must be chosen to
satisfy all constraints to guarantee that the path planned trajectory is smooth with the
continuous velocity and so on.
CHAPTER 3
METHODOLOGY
3.1 Introduction
A robot is divided into two categories of movements that is rotational or revolute
joint and linear movement or prismatic joint. Revolute joint provide single-axis
rotation function used in many places such as door hinges, folding mechanisms, and
other uni-axial rotation devices where prismatic joint provides a linear sliding
movement between two bodies, and is often called a slider, as in the slider-crank
linkage. A prismatic joint is formed with a polygonal cross-section to resist rotation.
The project implementation was divided into electrical and mechanical part
and both processes were carried out simultaneously. The electrical part can be further
divided into hardware and software developments. The electrical hardware
development involved setting up the I/O controller board that being used which is
Arduino Uno. In the software development, the mathematical model of the system
was developed using MATLAB. After that, the development of the control for the
robot arm using Simulink. On the other hand, the mechanical part means designing
and development of the articulated robot arm.
3.2 Project overview
In this project, the hardware and software are combined together to make the system
reliable. Arduino Uno works as the controller of this project and MATLAB will be
the main software to control the robot arm. Figure 3.1 shows the project system
architecture of the system.
22
Figure 3.1: Project system architecture
3.3 Project flowchart
Figure 3.2 shows the flowchart of the project. The overall project flow was started
from analyzing the problem statement and then determined the objectives and scopes
for the project. After reviewing the literature, a schedule or a Gantt chart was
planned. Each of these steps must be done carefully to prevent repeated process.
3.4 Project outline
The general components and process of the articulated robot arm is outlined before
moving on to the connections of each component. This is done to assist in
determining the right electronic component for each process. The outline of the
system is shown on Figure 3.3.
Figure 3.3 shows the block diagram of overall function of the articulated
robot arm. Servo motor is used for the system. A 5V voltage is required to activate
the servo motor. The input for the Arduino Uno is directly connected to MATLAB
via a computer. The Arduino Uno also received input from a sensor at the servo
motor to detect how many degrees the motor has turned and this signal will be sent
as a feedback to the controller to correct the error.
23
Figure 3.2: Plan flowchart.
Start
Literature review
Combine Hardware and
Software
End
Error
Design the robot arm
using SolidWorks
Fabrication of the
robot arm
Test run
No
Troubleshoot
Yes
Hardware
research
Design the controller
using MATLAB
Tuning the controller
Software
research
24
Figure 3.3: System outline for the articulated robotic arm.
3.5 Robotic arm
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 [24].
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. 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.
For this project, revolute or articulated coordinates is chosen as robot arm
general concept. Articulated or revolute coordinates type of robot arm is chosen
because of the resemblance of the robot arm to the human arm.
3.5.1 Characteristic of robot arm
Robot has several characteristic to be performed. The characteristic are:
(i) Degrees of Freedom (DOF)
Sensor
Arduino
Uno
Desired
Coordinate
MATLAB
Motor Inverse
kinematics
CAD Model
69
REFERENCES
1. WyzAnt (2014). What is a Robot ? Etymology and History. Retrieved on 7th
January 2014, from http://www.wyzant.com/resources/lessons/english/
etymology/words-mod-robots
2. International Federation of Robotics (2012). Service robots. Retrieved on 7th
January 2014, from http://www.ifr.org/service-robots/
3. Meccano Magazine (Liverpool UK: Meccano), "An Automatic Block-Setting
Crane".
4. Shathiasillan Yelumalai (2009). “Development of Controllable Pick and
Place Arm Robot”. Universiti Tun Hussein Onn Malaysia. Thesis of Bachelor
Degree.
5. V.J Dehven Nair Velayutham (2009), “Dual Gripper Two Degree of Freedom
Pick and Place Arm Robot”. Universiti Tun Hussein Onn Malaysia. Thesis of
Bachelor Degree.
6. Wee Siuw Sia (2006), “Sliding Robot Arm with Grippers”. University
College of Technology Tun Hussein Onn. Thesis of Bachelor Degree.
7. Yu Shan Zhen, Li Feng and Randall Watanabe (Fall 1997), “The Robotic
Arm”
8. Robix (2012). Frequently ask question, Retrieved on 9th
January 2014. From
http://www.robix.com/faq.html
9. HOBBYTRON (1997), Robot arm kits October 1997, Retrieved on 3rd
February 2014. From http://www.lynxmotion.com
10. ATSI (2008), Robot basic. Retrieved on 2nd
February 2014. From
http://www.atsi.cc/robotbasics.htm
11. Microchip Technology Inc. 28/40/44-Pin Enhanced Flash Microcontrollers
12. Seattle Robotics Society (1990), Servo guide. Retrieved on 22nd February
2014. From http://www.seattlerobotics.org/guide/servos.html
70
13. eCircuit centre (2002). Pulse width modulation. Retrieved on 7th June 2012.
From http://www.ecircuitcenter.com/Circuits/pwm/pwm.htm
14. Wikipedia (2012). Create pulse width modulation. Retrieved on 7th March
2010. From http://en.wikipedia.org/wiki/Pulse-width_modulation
15. Paul, Richard (1981). “Robot manipulators: mathematics, programming, and
control : the computer control of robot manipulators”. MIT Press, Cambridge,
MA. ISBN 978-0-262-16082-7
16. J. M. McCarthy, 1990, “Introduction to Theoretical Kinematics”, MIT Press,
Cambridge, MA.
17. John J. Craig, 2004, “Introduction to Robotics: Mechanics and Control (3rd
Edition)”, Prentice-Hall.
18. Reuleaux, F., 1876 “The Kinematics of Machinery, (trans. and annotated by
A. B. W. Kennedy)”, reprinted by Dover, New York (1963)
19. J. M. McCarthy and G. S. Soh, 2010, “Geometric Design of Linkages”,
Springer, New York.
20. Larry L. Howell, 2001, “Compliant mechanisms”, John Wiley & Sons.
21. Alexander Slocum, 1992, “Precision Machine Design”, SME
22. J. J. Uicker, G. R. Pennock, and J. E. Shigley, 2003, “Theory of Machines
and Mechanisms”, Oxford University Press, New York
23. Man Zhihong, 2005, “Robotics : Second Edition”, Prentice Hall, Singapore.
24. Yahoo (2002). Robot entry. Retrieved on 7th January 2014. From
http://education.yahoo.com/reference/dictionary/entry/robot
25. Society of Robots (2002). Robot Arm tutorial. Retrieved on 19th January
2014. From http://www.societyofrobots.com/robot_arm_tutorial.shtml#DOF
26. Wikipedia (2012). Degrees of freedom. Retrieved on 27th
January 2012. From
http://en.wikipedia.org/wiki/_%28mechanics%29
27. D.L. Pieper. “The kinematics of manipulators under computer control”. PhD
Thesis, Stanford University, Department of Mechanical Engineering, 1968.
28. Lukas Barinka and Ing. Roman Berka. “Inverse Kinematics – Basic
Methods”, Dept. of Computer Science & Engineering, Czech Technical
University.
29. Denavit, J. and Hartenberg, R.S., “A kinematic notation for lower pair
mechanism based on matrices”, ASME J. of Applied Mechanics, Vol.22, pp.
215-221, 1955.
71
30. Wolovich, W.A., “Robotics, Basic analysis and design”. CBS College
Publishing, 1986.