modelling and control of articulated robot arm...

37
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

Upload: others

Post on 12-Mar-2020

2 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 2: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 3: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 4: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 5: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 6: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 7: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 8: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 9: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 10: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

xiv

4.26 Elbow joint degree under 240 gram of weight 65

Page 11: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 12: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 13: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 14: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 15: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 16: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 17: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 18: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 19: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 20: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 21: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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]

Page 22: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 23: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 24: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 25: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 26: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 27: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 28: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 29: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 30: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 31: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 32: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 33: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 34: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 35: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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

Page 36: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

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.

Page 37: MODELLING AND CONTROL OF ARTICULATED ROBOT ARM …eprints.uthm.edu.my/id/eprint/6712/1/WAN_MUHAMAD_HANIF_WAN_KADIR.pdf4.4 Singular configuration 48 4.5 Left arm configuration 50 4.6

71

30. Wolovich, W.A., “Robotics, Basic analysis and design”. CBS College

Publishing, 1986.