DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER...

38
DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER MOHD RADZI BIN TARMIZI A project report submitted in partial fulfillment of the requirement for the award of the Degree of Master of Electrical Engineering Faculty of Electrical & Electronic Engineering Universiti Tun Hussein Onn Malaysia JANUARI 2014

Transcript of DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER...

Page 1: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

FUZZY PID CONTROLLER

MOHD RADZI BIN TARMIZI

A project report submitted in partial

fulfillment of the requirement for the award of the

Degree of Master of Electrical Engineering

Faculty of Electrical & Electronic Engineering

Universiti Tun Hussein Onn Malaysia

JANUARI 2014

Page 2: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

v

ABSTRACT

Designing a robot manipulator with great performance is one of the fields of interest

in the industry. This is due to the nonlinearities and input couplings presented in the

dynamics of the robot arm. This project report is concerned with the problems of

modelling and control of a 6 degree of freedom direct drive arm. The research work

was undertaken in the following five developmental stages; Firstly, the complete

mathematical model of a 6 DOF direct drive robot arm including the dynamics of the

brushless DC motors actuators in the state variable form is to be developed. In the

second stage, the state variable model is to be decomposed into an uncertain model.

Then, the Fuzzy PID Controller is applied to the robot arm. In the fourth stage, the

simulation is performed. This is done through the simulation on the digital computer

using MATLAB/SIMULINK as the platform. Lastly, the performance of Fuzzy PID

controller is to be compared with the conventional controller which is PID. The

simulation results show that the output performance of Fuzzy PID is greater than the

performance of conventional method of PID controller.

Page 3: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

vi

ABSTRAK

Merekabentuk satu tangan robot yang mempunyai kebolehupayaan yang tinggi

merupakan satu bidang yang terpenting di industri. Ini adalah disebabkan oleh

ketaklelurusan dan gandingan masukan yang wujud di dalam dinamik lengan robot.

Laporan projek ini membincangkan mengenai masalah dalam permodelan dan

kawalan lengan robot yang mempunyai 6 darjah kebebasan. Robot tersebut berupaya

untuk membuat kerja dan aplikasi mengambil barang dan meletakkannya kembali.

Kajian ini melibatkan lima peringkat seperti berikut; Pertama, pembangunan model

matematik 6 DOF lengan robot pacuan terus yang lengkap merangkumi dinamik

pemacu motor DC tanpa berus dalam bentuk pembolehubah keadaan. Di peringkat

kedua, model pembolehubah keadaan akan dipisahkan ke model yang tidak tetap.

Kemudian, kawalan Fuzzy PID diguna pakai dalam lengan robot ini. Peringkat

kelima adalah membuat penyelakuan. Simulasi atau penyelakuan ini dijalankan

menggunakan komputer digital dengan bantuan perisian MATLAB/SIMULINK.

Akhir sekali, keupayaan di antara kawalan Fuzzy PID dengan kawalan PID

dibandingkan. Keputusan simulasi menunjukkan pengawal Fuzzy PID mempunyai

keluaran yang lebih baik berbanding dengan pengawal PID.

Page 4: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

vii

CONTENTS

TITLE i

DECLARATION ii

DEDICATION iii

ACKNOWLEDGEMENT iv

ABSTRACT v

ABSTRAK vi

CONTENTS vii

LIST OF TABLES ix

LIST OF FIGURES x

LIST OF SYMBOLS & ABBREVIATIONS xii

LIST OF APPENDICES xiv

CHAPTER 1 INTRODUCTION 1

1.1 Overview 1

1.2 Problem Statement 2

1.3 Objective 2

1.4 Scope of Project 3

1.5 Research Methodology 3

1.6 Literature Review 4

1.7 Layout of Project Report 5

1.8 Project Planning 6

CHAPTER 2 ROBOT KINEMATICS AND MATHEMATICAL

MODELLING

Page 5: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

viii

2.1 Introduction 7

2.2 Robot Kinematic Analysis 10

2.2.1 Forward Kinematic 11

2.2.2 Inverse Kinematic 14

2.3 DC Motor Modelling 15

CHAPTER 3 ROBOT CONTROLLER DESIGN

3.1 Flow Chart 19

3.2 Overview of Controller 21

3.3 PID Structure 21

3.3.1 PID Characteristic Parameters 24

3.4 Fuzzy Logic Controller 26

3.4.1 Fuzzification 27

3.4.2 Rule Base 29

3.4.3 Defuzzification 30

CHAPTER 4 SIMULATION RESULTS

4.1 Introduction 32

4.2 6 DOF Revolute Robot Arm 33

4.3 Simulation Using PID Controller 36

4.4 Simulation Using Fuzzy PID Controller 41

4.5 Simulation Using Fuzzy PID and PID Controller 46

CHAPTER 5 CONCLUSION & FUTURE WORKS

5.1 Conclusion 48

5.2 Suggestion for Future Work 49

REFERENCES 50

APPENDIX 53

Page 6: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

ix

LIST OF TABLES

TABLE NUMBER TITLE PAGE

2.1 Summary of arm parameter 12

2.2 DC motor parameter and values 18

3.1 Effect of each PID Parameter 24

3.2 Rule base for fuzzy PID controller 29

4.1 DH parameter of robot arm 34

4.2 Performance of the PID controller 39

4.3 Performance of the Fuzzy PID controller 44

Page 7: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

x

LIST OF FIGURES

FIGURE NUMBER TITLE PAGE

1.1 Gantt chart 6

2.1 Symbol of prismatic joint 8

2.2 Symbol of rotary joint 8

2.3 Cartesian robot 9

2.4 Articulated robot 10

2.5 Denavit-Hartenberg frame assignment 11

2.6 Schematic of DC motor system 16

2.7 Block diagram for DC motor system 17

2.8 DC motor subsystem using SIMULINK 18

3.1 Flow Chart of Research methodology 20

3.2 PID controller structure 23

3.3 Unit step response curve 25

3.4 Basic configuration of Fuzzy system 26

3.5 Membership function for input error 28

3.6 Membership function for input error change 28

3.7 Membership function for output u 28

3.8 Centroid defuzzification method 31

4.1 6 DOF robot arm 33

4.2 Frame assignment for the robot arm 34

4.3 Robot arm home position 35

Page 8: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

xi

4.4 Robot arm desired position 35

4.5 PID control step response for 1 36

4.6 PID control step response for 2 36

4.7 PID control step response for 3 37

4.8 PID control step response for 4 37

4.9 PID control step response for 5 38

4.10 PID control step response for 6 38

4.11 PID control step response with disturbance for 1 39

4.12 PID control step response with disturbance for 3 40

4.13 PID control step response with disturbance for 6 40

4.14 Fuzzy PID control step response for 1 41

4.15 Fuzzy PID control step response for 2 41

4.16 Fuzzy PID control step response for 3 42

4.17 Fuzzy PID control step response for 4 42

4.18 Fuzzy PID control step response for 5 43

4.19 Fuzzy PID control step response for 6 43

4.20 PID control step response with disturbance for 1 45

4.21 PID control step response with disturbance for 3 45

4.22 PID control step response with disturbance for 6 46

4.23 Output response for 1 for both controllers 46

4.24 Output response for 3 for both controllers 47

Page 9: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

xii

LIST OF SYMBOLS AND ABBREVIATIONS

SYMBOL DESCRIPTION

θ Joint angle

d Joint distance

a Link length

Twist angle

1

i

iH Homogeneous transformation matrix

( )m t Motor torque produced by motor shaft

Magnetic flux

( )ai t Armature current

mK Proportional constant

( )b t Back EMF

m Shaft velocity of the motor

( )s

Joint velocity

mJ Moment of inertia

mB Motor friction coefficient

bK Back EMF constant

tK Torque constant

aR Electrical resistance

Page 10: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

xiii

aL Electrical inductance

gr Gear ratio

pK Proportional gain

IK Integral gain

DK Derivative gain

Damping ratio

U Universe of discourse

e Error

e Change of error

DC Direct current

EMF Electromagnetic field

FLC Fuzzy logic controller

PID Proportional integral derivative

DOF Degree of freedom

CAD Computer aided design

DH Denavit-Hartenberg

Page 11: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

xiv

LIST OF APPENDICES

APPENDIX TITLE PAGE

A Forward and inverse kinematic analysis 53

B Simulink model (Fuzzy PID controller) 59

C Simulink model (PID controller) 60

D Slides presentation (Hand-out) 61

Page 12: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

CHAPTER 1

INTRODUCTION

1.1 Overview

Robot manipulator field is one of the challenging fields in industrial automation

systems. Many researchers focus to study the improvement of the robot arm

controller. This is due to the nonlinearities and physical input present in the

dynamics of the robot arm. This thesis presents the design and modelling of a 6 DOF

robot arm controller using fuzzy PID controller. The study of robot manipulator can

be divided into two parts which is the mathematical modelling of the manipulator

and also the control method of the robot arm.

The modelling of robot arm includes the analysis for kinematics and

dynamics computations. The kinematics model is a prerequisite for the dynamic

model and fundamental for practical aspects like motion planning, singularity and

workspace analysis.

Page 13: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

2

1.2 Problem statement

Generally, different types of robot controller give different output performance of

robot movement. The performance of a robot arm can be analyzed by evaluating the

movement from an initial position to a final position. Nonlinearities, parameter

uncertainties and external disturbances exist in linear robot controllers. Therefore, it

is difficult to eliminate these undesired effects in order to achieve good stability and

precise tracking control performance. Output response of linear controller would

sometimes deviate from the desired input trajectory. Thus, a robot controller must be

designed to handle both linear and nonlinear systems. The controller is used to

minimize the error between the intended and the actual positions. The controller must

meet certain specifications. These specifications such as reducing overshoot,

minimizing rising time and eliminating the steady state error. In addition the robot

arm should be able to operate as usual when the external disturbance is applied to

any joint of the robot arm.

1.3 Objectives

The designing of 6 degree of freedom robot arm and the control strategy for the robot

are the aims of this research. The robot arm is designed by using computer-aided

design (CAD) software for control development purpose. To achieve these aims, the

objectives of this research are formulated as follow:-

i. To design CAD model of 6 degree of freedom (DOF) of articulated

robot arm using SolidWorks software.

ii. To develop the controller for the robot using the conventional control

system and artificial intelligence control system.

iii. To compare the performance of both conventional control system and

artificial intelligence control system in terms of output response.

iv. To integrate the CAD model of robot arm for pick and place

application using the MATLAB/Simulink environment.

Page 14: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

3

1.4 Scope of Project

This project will focus on how to control the robot manipulator by analyzing the

kinematics of the robot arm and applying control strategy. The development stages of

this project are as follow:

i. Design the 6 DOF robot arms in identical size and weight with the

industrial type robot.

ii. Derive the forward and inverse kinematics equations of the robot.

iii. Apply the PID controller to the robot arm with input disturbances.

iv. Apply the combination of fuzzy-PID controller to the robot arm.

The performance of the PID controller is to be compared with fuzzy-PID in

terms of output response with minimal rising time, zero steady state error and

minimal overshoot. MATLAB/Simulink will be used as platform to simulate the

output performance of the robot.

1.5 Research Methodology

The project work was undertaken in the following five developmental stages:

i. Developing complete 6 DOF articulated robot arm including forward

kinematics and dynamics calculation for the robot arm using CAD

model.

ii. Converting the CAD model into Simulink model using SimMechanics

link provided by MathWorks.

iii. Utilizing the PID and Fuzzy PID controller as the robot arm

controller. The controller can be designed in Simulink model for

graphical environment of simulation.

iv. Comparing the performance of Fuzzy PID controller with the

conventional control system such as PID controller.

Page 15: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

4

1.6 Literature Review

Industrial robot manipulators are generally used in positioning and handling devices.

Rapid technology changes in industrial robot manipulator urged human to develop

and improve the performance of control strategy which can be used to replace human

in hazardous, complex and boring tasks [1]. Generally, the dynamics behavior of

robot manipulators can be described by the nonlinearity and external input parameter

such as in friction, load and disturbances [2].

In the field of robot manipulators, many researchers have proposed literatures

and discussed the kinematics analysis of industrial robots such as SCARA, PUMA

560 and SG5-UT robot manipulator [7], [19]. Other papers discussed about the

control techniques problems such as PID, FLC, neural network algorithm and also

the combination of the three controllers. Some of the research employed the Denavit

Hartenberg method which it is used to model the mathematical equation of

kinematics [11]. The forward and inverse kinematic equation analysis was generated

and implemented using a simulation program [20], [21].

Nowadays, PID controller is a good control technique in industrial

automation applications due to its simplicity and robustness [3]. Although PID is

most widely used controller in industry, it has several drawbacks. One of the

drawbacks is that the PID controller is not sufficient to obtain the desired tracking

control performance because of the nonlinearity of the robot manipulator [4].

Therefore, PID controller is not a good technique to control a system with nonlinear

environment.

Fuzzy logic controller (FLC) was introduced to overcome the drawbacks of

PID controller. Fuzzy logic was pointed out in 1965 when Lotfi A. Zadeh [18]

presented his milestone paper in fuzzy sets and introduced the concept of linguistic

variable in 1973 [5]. Then, fuzzy logic control was developed by [6] and Assilian.

Fuzzy logic controller can be used to achieve better performance of robot

manipulator because its algorithm can implement a human’s heuristic knowledge on

how to control a system. The regularity use of PID and the good algorithm of FLC

can be combined into a controller to optimize the control performance of robot

manipulator.

Page 16: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

5

There are a lot of papers discussed about the PID tuning. Fuzzy gain

scheduling of PID controllers was presented by [7] which proposed the uses of fuzzy

rules and reasoning to determine the PID controller parameter and how to control it

online. This method was also proposed by [8] which discussed about the fuzzy

supervisory control in reducing the amount of additional PID tuning.

An approach to combine a fuzzy logic controller and PID controller was

presented by [9]. In that paper, he replaced the proportional term in the PID with

fuzzy P controller and thus became the fuzzy P+ID controller.

1.7 Layout of Project Report

This section outlines the overall structure of the thesis and provides a brief

explanation for each chapter. This thesis consists of five chapters.

Chapter 2 explains some fundamental aspect about robot manipulators. This

chapter covers the current practical methodologies for kinematics modelling and

computations. The kinematics model represents the motion of the robot arm without

considering the forces that cause the motion. This chapter also presents the modelling

of the DC motor.

Chapter 3 presents the controller used in robot arm. The concepts of

conventional controller system such as PID controller are reviewed. The

characteristics and parameter of PID controller are discussed in detail before they are

applied to the robot arm. Since PID controller can be applied only to the linear

system, then the improvement can be made to the controller for wide range of

application. Fuzzy PID controller is introduced in this chapter and the concept of the

controller is presented. The definition of fuzzy set and some operation of fuzzy logic

are discussed. Explanation about fuzzifier, inference mechanism and defuzzifier are

also presented in this chapter.

Chapter 4 discusses the simulation results. The performance of the Fuzzy

PID controller is evaluated by the simulation study using Matlab/Simulink. For the

comparison purposes, the simulation study of PID controller is also presented.

Chapter 5 summarizes the work undertaken. Recommendations for future

work of this project are presented at the end of the chapter.

Page 17: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

6

1.8 Project planning

Figure 1.1: Gantt chart

Page 18: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

CHAPTER 2

ROBOT KINEMATICS AND

MATHEMATICAL MODELLING

2.1 Introduction

A robot manipulator system often consists of links, joints, actuators, sensors and

controllers. The links are connected by joints to form an open kinematic chain. Robot

manipulator consists of a collection of n-links to move in the robot workspace. The

total maximum points that the end effector can reach is called robot workspace. Both

end of the robot is attached to the base and another end is equipped with a tool (hand,

gripper or end-effector) to perform an operation or tasks.

The joints used to connect the robot links can be prismatic or rotary.

Prismatic joints can be described as sliding joint which the relative displacement

between links is a translation. Figure 2.1 shows the symbol of prismatic joint. Joint

distance, d is a translation distance of the previous frame (axis x, y & z) along the z

axis.

Page 19: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

8

Figure 2.1: The symbol of prismatic joint [10]

Rotary joint can be explained as having revolute joint with angle θ is rotated

with respect to the z axis. Figure 2.2 shows the symbol of rotary joint.

Figure 2.2: The symbol of rotary joint [10]

Page 20: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

9

In a robot manipulator, the number of DOF is refers to the number of

independent joint variables that would have to be specified in order to locate all parts

of the mechanism. For example, a robot manipulator is usually defined with a single

variable; the number of joints equals the number of degrees of freedom. If a robot

manipulator has 6 independent joint variables, so that the robot has 6 DOF.

Robot manipulator can be classified based on the geometric types and the

configuration of the robots. For example, if all joints of robot manipulator are

prismatic, the robot is known as Cartesian manipulator while the robot with rotary

joint is known as a revolute robot or articulated robot. Figure 2.3 and Figure 2.4

show the Cartesian robot and articulated robot respectively. There are another three

types of robot geometric configuration which is cylindrical, spherical and SCARA.

This project focused on the analysis of 6DOF robot with articulated robot

configuration.

Figure 2.3: Cartesian robot [10]

Page 21: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

10

Figure 2.4: Articulated robot [10]

2.2 Robot Kinematic Analysis

Kinematics is the study of the motion of the robot manipulator without the regard to

the forces or other factors that can change the robot movement [10]. Kinematics

deals with the movement of end effector of the robot manipulator relative to the base

of the manipulator as a function of time. Kinematic analysis of the robot manipulator

can be divided into two categories which is forward kinematics and inverse

kinematics. The forward kinematic solution for robot manipulators can be derived by

using Denavit-Hartenberg algorithm which provides a matrix solution.

Forward kinematics of robot manipulator is for determining the position and

orientation of a robot hand with respect to a reference coordinate system, given the

joint variables and the arm parameters [11]. The forward kinematics problem can be

expressed mathematically as follows [12]:

1 2 3 n dF(θ ,θ ,θ ....θ ) =[x,y,z,R ] (2.1)

where 1 2θ ,θ and nθ are the input variables, [ x,y,z ] are the desired position

and dR is the desired rotation.

Page 22: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

11

Inverse kinematics of a robot manipulator deals with the calculation of each

joint variable, given the position and orientation of end effector. The computation of

the inverse kinematics of robot manipulator is quite difficult if compared to the

forward kinematics because of the nonlinearities and multiple solutions involved.

The following equation explains the inverse kinematics problem.

1 2 3 nF(x,y,z,R) =[θ ,θ ,θ ....θ ] (2.2)

2.2.1 Forward Kinematic

The forward kinematic equations describe the functional relationship between the

joint variables and the position and orientation of the end-effector. Consider a robot

manipulator with numbers of links connected by either rotary joints or prismatic

joints. The robot base is defined as the link 0, and the joint 1 connects the base (the

link 0) to the link 1. Figure 2.5 shows a spatial linkage, where the joint i connects the

link i to the link i-1. In order to determine the position and orientation of the link i

relative to its neighbouring link i-1, a Cartesian frame xiyizi is assigned to it.

Figure 2.5: Denavit-Hartenberg frame assignment

Page 23: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

12

To obtain the forward kinematic equations the following steps should be

done:

a) Obtain the Arm Parameters

The arm parameter can be computed after a Cartesian frame xiyizi is assigned to the

robot arm. Two parameters of the link i are the link length ai and the twist angle i.

Two joint parameters are the joint angle θ i and the joint distance di as shown in

Figure 2.5. The link length ai and twist angle i are always constant. The summary

of arm parameter is shown in Table 2.1.

Table 2.1: Summary of arm parameter

Arm parameter Symbol Revolute joint Prismatic joint

Link length a Constant Constant

Twist angle Constant Constant

Joint angle θ variable Constant

Joint distance d Constant Variable

b) Obtain link transformation matrices

A homogeneous transformation matrix can be calculated if the frame assignment has

been constructed and the arm parameter has been obtained. The transformation from

the frame xi-1yi-1zi-1 to the frame xiyizi can be obtained by the following sequence of

rotations and translations:

i. Rotation of the frame xi-1yi-1zi-1 about the zi-1.

0 0

0 0( , )

0 0 1 0

0 0 0 1

i i

i i

i

C S

S CRot z

(2.3)

ii. Translation of the frame xi-1yi-1zi-1 along the zi-1 axis by di units.

Page 24: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

13

1 0 0 0

0 1 0 0( , )

0 0 1

0 0 0 1

i

i

Trans z dd

(2.4)

iii. Translation of the frame xi-1yi-1zi-1 along the xi axis by ai units.

1 0 0

0 1 0 0( , )

0 0 1 0

0 0 0 1

i

i

a

Trans x a

(2.5)

iv. Rotation of the frame xi-1yi-1zi-1 about the xi axis by an angle i.

1 0 0 0

0 0( , )

0 0

0 0 0 1

i i

i

i i

C SRot x

S C

(2.6)

The transformation matrix for each joint can be calculated as:

1 ( , ) ( , ) ( , ) ( , )i

i i i iH Rot z i Trans z d Trans x a Rot x (2.7)

D-H transformation matrix from the frame xi-1yi-1zi-1 to the frame xiyizi can be

calculated by using post multiplication rule. The result is as follows:

10

0 0 0 1

i i i i i i i

i i i i i i ii

i

i i i

C C S S S a C

S C C S C a SH

S C d

(2.8)

The position and orientation of the robot tool frame with respect to the base

frame can be described by the following matrix:

1 2 3

0 0 1 2 1...n n

nH H H H H (2.9)

Page 25: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

14

The transformation matrix 0

nH can be expressed as follows:

00 0 0 1

0 0 0 1

x x x x

y y y yn

z z z z

n s a P

n s a PH

n s a P

n s a P (2.10)

The notation a is called the approach vector, s is the sliding vector and n is

the normal vector. P is the position vector of the robot hand, pointing from the origin

of the robot base frame to the origin of the robot hand frame. The vectors a, s and n

specify the orientation of the robot hand frame and the vector P describes the

position of the robot hand frame in the robot base frame.

2.2.2 Inverse Kinematic

The inverse kinematic equation is to find the joint variables of the robot manipulator

for a given position and orientation of the robot hand. The computation of the inverse

kinematics of the robot manipulator is a difficult task because of the nonlinearities

and multiple solution problems. The steps used to solve the inverse kinematics for

the robot manipulator are as follow:

i. Calculate the forward kinematics matrix of the robot arm using D-H

algorithm as shown in equation (2.8).

ii. Specify the intended position and orientation of the robot hand relative to

the robot base frame. The position is specified in matrix form as shown in

equation (2.10).

iii. Equate the homogeneous transformation matrix to the final

transformation matrix of the robot manipulator.

iv. Find the values of the joint variables which are unknown. Solving the

matrix means to solve 12 equations.

Page 26: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

15

2.3 DC Motor Modelling

Modelling refers to the plant system in mathematical terms, which characterizes the

input and output relationship [13]. Direct current (DC) motor is a common actuator

found in many mechanical systems and industrial applications such as industrial and

educational robots [11]. The function of DC motor is to convert the electrical energy

to mechanical energy. The motor has rotary movement, and when combined with

mechanical part it can provide translation movement for the desired link.

Equation (2.11) states the relation between the current and the developed

torque in the motor shaft.

( ) ( )m m at K i t (2.11)

where ( )m t , is the motor torque produced by the motor shaft, , the

magnetic flux, ( )ai t , the armature current, and mK , is a proportional constant.

Equation (2.12) states the relation between the produced EMF and the shaft

velocity:

( )b m mt K (2.12)

where ( )b t , denotes the back EMF, and m , is the shaft velocity of the

motor.

DC motors are important in control systems, so it is necessary to establish

and analyze the mathematical model of the DC motors [13]. Figure 2.6 shows the

schematic diagram of the armature controlled DC motor with a fixed field circuit.

Page 27: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

16

Figure 2.6: Schematic diagram of DC motor system

It is modelled as a circuit with resistance and inductance connected in series.

The input voltage ( )ae t , is the voltage supplied by amplifier to move the motor. The

back EMF voltage ( )b t , is induced by the rotation of the armature windings in the

fixed magnetic field. To derive the transfer function of the DC motor, the system is

divided into three major components of equation: electrical equation, mechanical

equation, and electro-mechanical equation [14].

The transfer function of the motor speed is:

( ) 2

( )

( ) ( )

tspeed s

m a a m a a t b

KsG

V s J L s L B R J s K K

(2.13)

In addition, the transfer function of the motor position is determined by

multiplying the transfer function of the motor speed by the term1

s:

( ) 2

( )

( ) ( )

tposition s

m a a m a a t b

KsG

V s J L s L B R J s K K s

(2.14)

where, mJ , and mB , are denoted as the moment of inertia and motor friction

coefficient.

According to the previous discussion, the schematic diagram in Figure 2.6 is

modelled as a block diagram in Figure 2.7. This block diagram represents an open

loop system, and the motor has built-in feedback EMF, which tends to reduce the

current flow.

Page 28: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

17

Figure 2.7: Block diagram for DC motor system

The advantage of using the block diagram is that it gives a clear picture of the

transfer function relation between each block of the system. Therefore, based on the

block diagram in Figure 2.7, the transfer function from ( )a s to ( )m s with

( ) 0tD s was illustrated in equation (2.13).

Transfer function from the load torque, ( )a s to ( )m s is given with ( ) 0aV s :

( ) ( ) /

( ) ( )( )

m a a

t m a m a a t b

s L s R gr

D s J s L B L s R K K s

(2.14)

where, gr, is the gear ratio. Deriving equation (2.14) is obtained in Appendix.

Using SIMULINK, the model of the motor may be created. This model

includes all the parameters derived previously. Figure 2.8 shows the SIMULINK

model of DC motor.

Page 29: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

18

Figure 2.8: DC motor subsystem using SIMULINK

Table 2.2 shows DC motor parameters and values chosen for motor simulation.

Table 2.2: DC motor parameter and values

Parameter Value

Moment of inertia mJ = 0.000052 Kg.m2

Friction coefficient mB = 0.01 N.ms

Back EMF constant bK = 0.235 V/ms-1

Torque constant tK = 0.235 Nm/A

Electric resistance aR = 2 ohm

Electric inductance aL = 0.23 H

Gear ratio gr

Load torque 1( )t

Angular speed m rad/s

Page 30: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

CHAPTER 3

ROBOT CONTROLLER DESIGN

3.1 Flow Chart

In accomplishing this project, the scope of the work has been divided into a few

parts. The first part is to design CAD model of 6 DOF robot arm. The second part is

to design the PID and fuzzy-PID controller for the robot arm for comparison

purpose. The third part is to perform simulation using MATLAB/Simulink. The last

part is to analyze the output performance of both controllers. The research

methodology flow chart is shown in Figure 3.1.

Page 31: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

20

Study on Forward and Inverse kinematic of robot

Convert CAD model to xml file

Import xml file in

MATLAB and

convert to STL file

Apply PID controller to the

SimMechanics model

Apply fuzzy-PID controller

to the SimMechanics model

Modify the SimMechanics model

Start

End

Perform simulation using MATLAB

Output response meet

requirement?

Yes

No

Design CAD model of 6 DOF robot arm

Compare the output performance

between two controllers

Figure 3.1: The Flow Chart of Research methodology

Page 32: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

21

3.2 Overview of Controller

PID controller is considered the most widely used control technique in control

applications. A high number of applications and control engineers had used the PID

controller in daily life. On the other hand, many research papers, number of master

and doctoral theses and books had highlighted this subject. PID control offers an

easy method of controlling a process by varying its parameters. PID works well in

industrial applications such as in slow industrial manipulators where large

components of joint inertia are added by actuators. Since the invention of PID

control in 1910, and Ziegler-Nichols’ (ZN) tuning method in 1942 [15] and [16], PID

controllers became one of the dominant and popular issues in control theory due to

the simplicity of implementation, the ease of designing, and the ability to be used in a

wide range of applications [17]. Moreover, they are available at low cost. Finally, it

provides robust and reliable performance for most systems if the parameters are

tuned properly. However, the PID controller has its own limitation; the PID

performances can give only satisfactory performance if the requirement is reasonable

and the process parameters variation are limited.

3.3 PID Structure

PID algorithm, assumes that the controlled plant is known, such as a robot

manipulator. The error signal, e (t), is the difference between the set point, r (t), and

the process output, y (t). If the error between the output and the input values is large,

then large input signal is applied to the physical system. If the error is small, a small

input signal is used. As its name suggested, any change in the control signal, u (t) is

directly proportional to change in the error signal for a given proportional gain Kp.

Page 33: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

22

Mathematically the output of the proportional controller is given as follows:

( ) ( )pu t K e t (3.1)

where e(t) , the error signal and Kp = u(t)/e(t) indicates the change of the

output signal to the change of the error signal.

Proportional term is not sufficient to be a controller in practical cases to meet

a specified requirement (e.g. small overshoot, good transient response) because the

large proportional gain gives fast rising time with large overshoot and oscillatory

response.

Therefore, a derivative term is added to form the PD controller, which tends

to adjust the response as the process approaches the set point. The output of PD

controller is calculated based on the sum of both current error and change of error

with respect to time. The effects of PD give slower response with less overshoot than

a proportional controller only. Mathematically, PD controller is represented as:

( )( ) ( )p D

de tu t K e t K

dt (3.2)

The main function of the third term is the integral control tends to reduce the

effect of steady state error that may be caused by the proportional gain, where a

smaller integration time result is the faster change in the controlled signal output.

The general form of the PID controller in continuous time formula given as:

1

0

( )( ) ( ) ( )p I D

de tu t K e t K e t dt K

dt (3.3)

Each term of the three components of PID controller is amplified by an

individual gain, the sum of the three terms is applied as an input to the plant to adjust

the process. It will be noted that the purely derivative or integral plus derivative

variations is never used. In all cases except proportional control, the PID

compensator gives at least one pole and one zero.

In real application, PID algorithm can be implemented in different forms

depending on the process and control requirements. The easiest form introduced is

the parallel form, as shown in Figure 3.2, where the P, I and D elements has the same

input signal e(t) .

Page 34: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

23

Figure 3.2: PID controller structure

The terms, pK , IK and DK stand for the proportional, integral, and derivative

gains. The terms e (t) and u (t) represent the error and the control signal respectively.

The transfer function of the PID controller in parallel is:

2

_ ( )D p II

PID parallel p D

K s K s KKG s K K s

s s

(3.4)

Page 35: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

24

3.3.1 PID Characteristic Parameters

Proportional action P K improves the system rising time, and reduces the steady state

error. This means when there is larger proportional gain, the larger control signal

produced to correct the error. However, the higher value of P K produces large

overshoot and the system may be oscillating; therefore, integral action I K is used to

eliminate the steady state error. Despite the integral control, reducing the steady state

error may make the transient response worsen [16]. Therefore, derivative gain D K

will have the effect of increasing the damping in system, reducing the overshoot, and

improving the transient response.

As discussed previously, each one of the three gains of the classical PID

control has an effect of the response of the closed loop system. Table (3.1)

summarizes the effects of each of PID control parameters. It will be known that any

changing of one of the three gains will affect the characteristic of the system

response.

Table 3.1: Effect of each PID Parameter

Closed-Loop

Response

Rise Time Overshoot Settling Time Steady State

Error

Increase Kp Fast Increase Small/no effect Decrease

Increase Ki Fast Increase Increase Decrease

Increase Kd Small/no effect Decrease Decrease Small/no effect

Page 36: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

50

REFERENCES

1. S.G. Anavatti, S.A. Salman and J.Y. Choi, “Fuzzy + PID Controller for

Robot Manipulator,” International Conference on Computational Intelligence

for Modelling Control and Automation., pp. 75, Dec. 2006.

2. Shiuh-Jer, H. and L. Ji-Shin ."A stable self-organizing fuzzy controller for

robotic motion control." Industrial Electronics, IEEE Transactions on 47(2):

421-428, 2000.

3. Kiam Heong, A. "PID control system analysis, design, and technology."

Control Systems Technology, IEEE Transactions on 13(4): 559-576, 2005.

4. Visioli, “Tuning of PID Controllers with Fuzzy Logic,” IEEE Proceedings

Control Theory and Applications, Vol. 148, No. 1, pp. 1-8, 2001.

5. Perry, T. S. "Lotfi A. Zadeh [fuzzy logic inventor biography]." Spectrum,

IEEE 32(6): 32-35, 1995.

6. E.H. Mamdani, “Applications of fuzzy logic to approximate reasoning using

linguistic synthesis,” IEEE Transactions on Computers, Vol. 26, No. 12, pp.

1182–1191, Dec. 1977.

7. Z.-Y. Zhao, M. Tomizuka and S. Isaka, “Fuzzy Gain Scheduling PID

Controller,”IEEE Transactions on Systems, Man., Cybernetics Society, Vol.

23, No. 5, pp.1392–1398, Sep/Oct. 1993.

8. R.P. Copeland and K.S. Rattan, “A Fuzzy Logic Supervisor for PID Control

of Unknown Systems,” IEEE International Symposium on Intelligent

Control., pp.22–26, Aug.1994.

9. W. Li, "Design of a Hybrid Fuzzy Logic Proportional plus Conventional

Integral Derivative Controller", IEEE Transaction on Fuzzy Systems., Vo1. 6,

No. 4, pp.449–463, Nov 1998.

10. Man, Z., Robotics: Pearson/Prentice Hall,2004.

11. J.J. Crage, Introduction to Robotics Mechanics and Control, 3rd Edition,

Prentice Hall, 2005.

Page 37: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

51

12. Alassar, A.Z., I.M. Abuhadrous, and H.A. Elaydi. Modeling and control of 5

DOF robot arm using supervisory control. in Computer and Automation

Engineering (ICCAE), 2010 The 2nd International Conference on. 2010.

13. C.K. Benjamin, Automatic Control System, 7th Edition, Englewood Cliffs,

Prentice Hall, pp. 175–180, 1995.

14. S. Chopra, R. Mitra and V. Kumar, “Fuzzy Controller: Choosing an

Appropriate and Smallest Rule Set,” International Journal of Computational

Cognition, Vol. 3, No. 4, Dec.2005.

15. J.G. Ziegler and N.B. Nichols, “Optimum Settings for Automatic

Controllers,” Transaction American Society of Mechanical Engineering., Vol.

64, pp. 759–768, 1942.

16. K.H. Ang, G.C.Y. Chong, and Y. Li, “PID Control System Analysis, Design,

and Technology,” IEEE Transactions on Control Systems Technology., Vol.

13, No. 4, pp. 559–576, July.2005.

17. Z.-Y. Zhao, M. Tomizuka and S. Isaka, “Fuzzy Gain Scheduling of PID

Controllers,” IEEE Conference on Control Applications., Vol. 2, pp. 698–

703, Sep.1992.

18. L.A. Zadeh, “Fuzzy Sets,” Information and Control., Vol. 8, pp. 335–353,

1965.

19. X. Wang, X. Chen, W. Jia, Y. Sun and H. Pu, “Forward Kinematics Analysis

and 3-Dimmision Gait Simulation of a MiniQuad Walking Robot,” IEEE

International Conference on Mechatronics and Automation, pp. 1932–1937,

Aug. 2007.

20. Velarde-Sanchez, J.A., et al. 5-DOF manipulator simulation based on

MATLAB-Simulink methodology. in Electronics, Communications and

Computer (CONIELECOMP), 2010 20th International Conference on. 2010.

21. Fernini, B. and M. Temmar. An algorithm for serial planar manipulators that

have an architecture R//(n)R by using Solidworks(2013) and

Matlab/Simulink(2012). in Mechatronics and Automation (ICMA), 2013

IEEE International Conference on. 2013.

22. V.G. Moudgal, S. Yurkovich, and K.M. Passino, “Rule-Based Control for A

Flexible-Link Robot,” IEEE Transactions on Control Systems Technology,

Vol.2, No. 4, pp. 392–405, Dec.1994.

Page 38: DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING FUZZY PID CONTROLLER ...eprints.uthm.edu.my/5509/1/MOHD_RADZI_BIN_TARMIZI.pdf · DESIGN AND MODELLING OF 6 DOF REVOLUTE ROBOT USING

52

23. H. Ying, “The Takagi-Sugeno Fuzzy Controllers Using The Simplified

Linear Rules Are Nonlinear Variable Gain Controllers”, Automatica, Vol. 34,

No. 2, pp.157–167, 1998.

24. S.N. Sivanandam, S. Sumathi and S.N. Deepa, Introduction to Fuzzy Logic

Using MATLAB, Springer, pp. 97–107, 2007.