UNIVERSITI TUN HUSSIEN ONN J\JALA YSJA
BORANG PENGESAHAN STATUS PROJEK SARJAi\'A +
JUDUL : COMPUTATIONAL INTELLIGENT METHOD FOR OPTI;\J..\L ROT:\RY DESIGN SYSTEl\l
SESI PENGAJIAN: 2008/2009
Saya: KANTAN AIL P.SAMINATHAN (7]0414-01-5031) (HURUF BESAR)
mcngaku mcmbcnarkan ProjcI-y{P'SM/Sarjana/D~alsafah)* ini disimpan di Pcrpu5takaan dcngan syarat-syarat kcgunaan scpcrti bcriJ..:ut:
I. Laporan Projck Sarjana adalah hakmilik Univcrsiti Tun HlIssicn Onn i\laiaySi:l 2. Pcrpustakaan dibcnarkan mcmbllat salinan lIntuk tUjU:lIl pcngajian sahaja.
3. Pcrpustakaan dibcnarkan mcmbuat salinan Projck Sa~iana ini sebagai ball an pertu!;aran antara institusi pcngajian tinggi.
4. **Sila tandakan(,) )
III=:JII
SULITD
TERHAD[JJ
TIDAK TERHAD/\f/-
I~,t<-~
(TANDATANGAN PENULIS)Alamat Tctap:
NO.120 F. JLN SAN CHOON. 85300. LABIS
JOHOR
Tarikh: 05 NOV 2008
(Mcngandllngi maklumat yang bcrdarjah keseiamatan at:1l1 kcpcntingan Malaysia scpcrti yang termaktub di daiam AKTA RAHSIA RASl\'lI 1972)
(Mcngandllngi maklllmat TERHAD yang tebh ditcntubn oleh organisasilbadan di mana pcnyclidikan dijal:lIlbn)
l-IJ. i\101-lD. :\ZL\0.' Bl\' ABD S.LLlJ~DY. 0!ama Pcm'clia
CAT ATAN:; POlong yang lid:!k bcrkcn:!:!n.
"'" Jib lcsis ini SULIT alall TERHAD. sib bmpirbn SUr.lt d:lrip:ld:1 pilJ:lk
bcrkuasaiorganis:!si bcrkcnaan dCllg:lll mCIlY:l1:11.;m sc:Lili "ehh (bTl klllr,iJ ic'I' 1111 pcrlll dikclask:ln scbagai SULIT :11:1lI TERHAD.
+ Tcsis dilllakslldk:ll1 scbag:li tcsis b:1gi U:lI:1iJ Doktor F:!l"ILdl d:1J1 ~:jrl;II!' •.. If.'
pcnyclidikan. :11:111 discrtai bagi p2ngaji:ln SCC;lr.l f:crj:1 Lur"w d:1f1 !'2Tl\..:lidd:lll ::::111
"1 declared that I read this project and in my point of view this project is qualified in terms of scope and quality for purpose of awarding the degree of
Master Electrical Engineering.
Signature
Supervisor TUAN HAJJ M . AZLAN BIN ABD.SHUKOR
COMPUTATIONAL INTELLIGENCE METHOD FOR OPTIMAL ROT AR Y DESIGN SYSTEM
KANT AN AIL P.SAMINATHAN
Project submitted as a partial fulfillment of the requirement for the degree of Master of Electrical Engineering
Faculty of Electrical and Electronics Engineering University Tun Hussein Onn Malaysia
"I hereby declare that the work in this thesis is my own except for quotations and summaries which have been duly acknowledged"
Signature
..
t.'~~~~~·
r;14 ----::,
..
·~
... .
Name of Student KANT AN AIL P.SAMINATHAN
Date 5 NOVEMBER 2008
Especially dedicated to: Wife, Amma, Brother, Sister,
And Friends
lvfy love for YOli all remains forever ...
ACKNO\VLEDGEMENT
I would like to thank a few people who have made this thesis possible. This thesis is as much as theirs as it is mine. I would like to thank my thesis supervisor, Tuan Haji Mohd. Azlan Bin Abd. Shukor, for his guidance and the time he has devoted throughout this project. Wish thanks to those people who put their works and resources on the Internet, especially Maung Hew Sithu Myo for his Tsai' s software package. They have saved me enormous amount of time.
1\'
I would like to acknowledge the Public Service Department of rvlalaysia (JPA) for sponsoring my master degree study. I would also like to thank Mr.Loh Wei Hong and Mr. Thing frim i-Math Sdn. Bhd and also Encik Ramli (Lab Technician). I remember the countless email that I have sent him to ask for his guidance and he has always helped me especially in LQR and matlab programming.
Finally, I would like to thank my friend especially Mr. Ong Joo Hun who has always given me a full support in studies. Heartfelt gratitude dedicated to my wi Ce. mother and family members for their kindness, care and encouragements.
ABSTRACT
The application of computational intelligence techniques to the field of industrial robot control is discussed. The core ideas behind using computation, evolutionary computation and fuzzy logic techniques are presented, along with a selection of specific real-world applications. The practical advantages and
disadvantages relative to more traditional approaches are made clear. The objective of this project was to investigate and compare different algorithms for the calculation of velocity from position information. The best algorithm was applied to a small robot arm system which consists of a controller (PC software), analog-to-digital and digital-to-analog converter PC card, power amplifier, DC motor, gear train and external load. Generally in robotic systems a velocity calculation is difficult or impossible to implement because of noise. Here in the project, fuzzy logic will be used to filter the noise from the position data before calculating velocity. The purpose of this research is to design fuzzy logic feedback controller to position the rotational system with one flexible joint. The system produces oscillations that need to be dampen. Here the PD (without) controller, ON-OFF controller, Linear
VI
ABSTRAK
CHAPTER
CONTENTS
ITEM
THESIS STATUS CONFIRMATION
SUPERVISOR~S CONFIRMATION
TITLE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK CONTENTS
LIST OF FIGURES
LIST OF TABLES
I INTRODUCTION
1 .0 Introduction 1.1 Background
1.2 Project Aims and Objectives 1.3 Scopes of Project
1.4 Problem Statement 1.5 Project overview
1.6 Significance of Research 1.7 Application
1.8 Organization of the Thesis Document
11 LITERA TURE REVIEW
2.0 Introduction
2.1 Literature Overview 2.2 Fuzzy Rules
2.3 Fuzzy Logic Classification
2.3.1 Matlab's Fuzzy Logic Toolbox 2.3.2 Fuzzy Inference System 2.3.3 Membership Function 2.3.4 Fuzzy Logic Operators 2.3.5 IF-then Rules
III METHODOLOGY
3.0 Introduction
3.1 Motivation for Nonlinear Analysis 3.2 Fuzzy Control
3.3 Proportional Fuzzy Controller
3.4 Proportional-Derivative Fuzzy Controller
IV MATHEMATICAL MODELING
4.0 Introduction 4.1 Model Description
4.2 Mathematical Model of the Position Control 4.3 Mathematical Equations of the l\/lotion 4.4 Deriving the System Dynamic Equations
V SYSTKM DEVELOPMENT
5.1 Modeling of the Flexible Robotic Link 5.2 Modeling of the DC Motor
49
52 5.3 Combining the Flexible Robotic Link and the DC Motor Model 54
VI SOFTW ARE AND HARDWARE
6.1 Hardware
6.1.1 Rotary Servo Plant 6.1.2 Rotary Flexible Joint 6.1.3 Control Hardware 6.1.4 Power Modules - UPM 6.1.5 MultiQ PCI
6.1.6 Servomotor System 6.2 Software
6.2.1 Control Software 6.2.2 WinCon
6.2.3 Control - WinCon Server 6.3 WinCon Integration
6.3.1 Creating the Model 6.3.2 Connecting to the Client 6.3.3 Compiling the Model 6.3.4 Running the Code 6.3.5 Plotting Data
6.3.6 Applying a Voltage to the Motor 6.3.7 Measuring fTom the Tachometer 6.3.8 Measuring from the Potentiometer 6.4 MathWorks Ins.
6.5 Ardence
6.6 The Matlab design
6.6.1 Matlab an Introduction 6.6.2 Matlab Simulation Design
6.6.3 The Current Controller 6.6.4 The Significance of Feedback
VII SYSTEM CONFIGURATION AND ASSEMBLY
VIII
7.0 Introduction
7.1 System Nomenclature and Components 7.2 Rotary Servo Plant with Encoder 7.3 Charging the Springs
7.4 Potentiometer 7.5 Encoder 7.6 E;.,.1:ernal Gear
7.6.1 Low Gear Ratio 7.6.2 High Gear Ratio 7.6.3 Assembly Gear System
7.7 Typical Connection for the SR V02-Rotflex 7.8 Testing the Rotflex
RESULT AND ANALYSIS
8.1 Simulated Result
8.1.1 Without Controller 8.1.2 ON-OFF Controller 8.1.3 LQR Controller
8.1.4 Fuzzy Logic Controller 8.2 Experimental Result
8.2.1 Without Controller 8.2.2 ON-OFF Controller 8.2.3 LQR Controller
8.2.4 Fuzzy Logic Controller
8.3 Comparisons
8.3.1 Comparisons for the Simulated Result 8.3.2 Comparisons for the Measured Result
IX CONCLUSION AND RECOMMENDATION
9.1 Conclusion
9.2 Future Recommendations
REFERENCES
APPENDIXES
Xl
107 107 109
112 113
114
XII
LIST OF FIGURES
FIGURES TITLE PAGE
1.0 The Modeling Process 6
1.1 Project Environment 7
1.2 Quanser DC Motor 8
1.3 Cargo Pendulation of Ship-Mounted Cranes 10
1.4 Rotary Cranes Using Fuzzy Logic 11
2.0 Membership functions built on the Gaussian distribution curve 22 2.1 General Fuzzy Logic Controller 7" _oJ
3.0 Fuzzy Logic Controller 30
3.1 Fuzzy Controller 3]
3.2 Membership Functions for e(1) and [((1) 31 3.3 I/O Map of the Proportional Fuzzy Controller 32 3.4 Block Diagram for the MISO Fuzzy Controller 33 3.5 General form of the Control System with the Fuzzy Controller 35
4.0 A 3D model of a Rotflex 37
4.1 Armature circuit in the time-domain 38 4.2 PV Controller for the SRV02 Plant 40
4.3 Flexible Joint Module 42
4.4 Flexible Joint Illustration 42
4.5 Flexible Joint - Stationary 43
4.6 Flexible Joint - Moving 43
4.7 Simplified Model for System Dynamics 46
5.0 Flexible Joint Robotic Arm 49
XIII
5.2 DC Motor Representation 52
5.3 DC Motor Step Response 5-1
5.4 DC Motor and Flexible Link Schematic 5-1
6.1 Rotary Flexible Joint 58
6.2 Control Hardware 58
6.3 Power Module 59
6.4 Connections to Power Module 59
6.5 Connections to MultiQ terminal board 60 6.6 Win Con software for analysing output 62
6.7 Lab VIEW 7.0 Software 63
6.S Wincon Server 64
6.9 Build a Simulink Diagram 66
6.10 Quanser Toolbox and Data Acquisition Blocks 66 6.11 Connect to the Client that is running your Experiment 67
6.12 Set the WinCon Options 68
6.13 Set Simulation Parameters 68
6.14 Select the Variable to Plot 70
6.15 The Trace shows the Measurement ITom the Encoder in Counts 70 6.16 Putting out a voltage to the DI A 71
6.17 Measuring ITom the Tachometer 72
6.18 Measuring ITom the Potentiometer 73
6.19 The Current Controller Block 76
7.0 ROTFLEX Model for Configuration 78
7.1 Attaching to the SRV02 78
7.2 ROTFLEX top view 79
7.3 ROTFLEX side view 80
7.4 Rotary Servo with Encoder 80
7.S SRV02 Front view 81
7.6 SRV02 Under the Top Plate 81
7.7 SRV02 Connections View 82
7.8 Selecting a base anchor point 83
7.9 Pull the arm towards the final anchor point 83
7.10 Schematic for Encoder Wiring 8-1
Xl\"
7.12 High Gear Configuration 85
8.0 Controlled in-servomotor's position signal 8 (t) for the rotary case 91
using the without controller (simulated plot)
8.1 Controlled in-arm deflection angle a (t) for the rotary case using 91
the without controller (simulated plot)
8.2 Scatter with data points connected by smoothed lines for without 92
controller
8.3 Rotary Flexible Joint controller with the ON-OFF and without 92 controller diagram
8.4 Servomotor's position signal 8 (t) for the rotary case using the 93
ON-OFF controller (simulated plot)
8.5 Arm deflection angle a (t) for the rotary case using the ON-OFF 93
controller (simulated plot)
8.6 Rotary Flexible Joint controller with the LQR controller diagram 95 8.7 Servomotor's position signal 8 (t) for the rotary case using the 95
LQR controller (simulated plot)
8.8 Arm deflection angle a (t) for the rotary case using the LQR 96
Controller (simulated plot)
8.9 Rotary Flexible Joint controller with the Fuzzy controller diagram 97 8.10 Simulated plot for servo load angle with Fuzzy Logic Controller 97 8.11 Simulated plot for arm deflection angle with Fuzzy Logic 98
Controller
8.12 Scatter with data points connected by smoothed lines for 98
fuzzy logic
8.13 Experimental servomotor's position signal 8 (t) for without 99
controller
8.14 Experimental plot for arm deflection angle without controller 100 8.15 Experimental plot for servo load angle ON-OFF controller 101 8.16 Experimental plot for arm deflection angle ON-OFF controller 101 8.17 Rotary Flexible Joint controller with the LQR controller diagram 103 8.18 Experimental plot for servo load angle ON-OFF controller 103 8.19 Experimental plot for arm deflection angle ON-OFF controller 104 8.20 Rotary Flexible Joint controller with the Fuzzy Logic lOS
xv
8.2] Experimental plot results for servo load angle fuzzy controller 105 8.22 Experimental plot for arm deflection angle fuzzy controller 106 8.23 Simulated plot results for servo load angle (comparisons for 107
all controller)
8.24 Simulated plot results for arm deflection angle (comparisons for 108 all controller)
8.25 Experimental plot results for servo load angle (comparisons for 110 all controller)
\:\'1
LIST OF TABLES
TABLES TITLE PAGE
2.0 Rules for the Joint Angle Fuzzy Controller 19 2.1 Rules for the Tip Fuzzy Controller 19
3.0 P-D Fuzzy Controller Rules 34
4.0 List of the Nomenclature 42
7.0 Component Names for Rotflex 79
7.1 General Component Names 81
7.2 Typical Connections 87
CHAPTER I
INTRODUCTION
1.0 Introduction
Rotary Flexible Joint Module which acts as robot is playing an increasingly important role in industry to meet the high demands of automated systems. They are expected to have a capability to sense environmental information process that information and perform appropriate actions for a wide range of tasks. A major challenge for these robots is that traditional control techniques generally require an accurate mathematical model of the system and its environment thus any inaccurate modeling will naturally have a direct negative effect on their performance. For this reason, computational intelligence techniques are now regularly being employed, particularly neural computation (Miller, et aI., 1990, Lewis et aI., 1998), evolutionary computation (Davidor, 1991) and fuzzy logic (Lee, 1990), since they provide
powerful tools for the realization of better and more efficient control systems without the need for accurate models. These techniques all employ a general control
applications of these techniques in industrial robotics and any other research in this area. Throughout the thesis the advantages and disadvantages of each technique compared with other approaches will be identify.
2
Quanser Rotary Flexible Joint System module was used in the project. The modules included a track, one mass with a DC motor and one empowered mass, a teeter-totter that the track can be placed on, a spring for connecting the masses, a pendulum rod, a power amplifier, an ISA or PCI computer interface board and the Wincon software that interfaces with SIMULINK. The Quanser systems also had an interface with MATLAB, which allowed implementing real-time controller designs in SIMULINK with ease. Develop a state space representation of a rigid-link,
flexible joint robotic manipulator actuated by a DC motor, identify system parameter values of the actual system, evaluate the simulation vs. experiment results, critique the proposed simulation model and then augment the model in an effort to improve simulation accuracy. The utilization of the WinCon real-time interface is to actuate the robotic link and to collect measurements from the numerous sensors embedded on the physical plant.
1.1 Background
work of philosophers. David Hume, for example, sought to involve common sense and the reasoning based on the knowledge that people gather in making future decisions. The German philosopher Immanuel Kant saw a flaw in conventional mathematics and set theory and thought that mathematics could only provide clean definitions, whilst leaving contradictory principles unresolved.
The original 0, 1 or binary set theory was invented by the nineteenth century German mathematician Georg Cantor. The Polish philosopher Jan Lukasiewicz developed the first logic of vagueness in 1920 when he created sets with possible membership values of 0, 112, and 1. Albert Einstein and his theory of relativity as well as Werner Heisenberg and his theory of uncertainty further questioned the logic of crisp logic. The concept of fuzzy logic as we know it today was invented in the 1960's by Lotfi Zadeh. It is an ex1ension of Boolean logic where members of the set can have varying degrees of three memberships. Fuzzy Logic is an approach to handle vagueness or uncertainty and, in particular, linguistic variables. Classical set theory allows for an object to be either a member of the set or excluded from the set. Fuzzy Logic is a multi-valued type oflogic that allows intermediate values to be defined between conventional threshold values. Notions like rather warm or pretty cold can be formulated mathematically using fuzzy logic and processed by
computers.
Fuzzy Logic words can be organized under several headings. Quantification includes the terms All, Most, Many, About Half, Few and No. Equality includes always, frequently, often, occasionally, seldom and never. Likelihood terms are certain, likely uncertain, unlikely and certainly not. Fuzzy systems are used for estimating, decision making and in mechanical control systems such as air conditioning, automobile controls and subway systems. Since 1987 the subway system in the city of Sendai, Japan has been using a fuzzy system to keep the trains rolling, braking and accelerating without losing a second or jarring a passenger.
1.2 Project Aims and Objectives
The objective in this project is to design a of a fuzzy logic controller for a . Rotary Flexible Joint system. The objective of the controller is to drive the
manipulator through a desired trajectory without exciting vibration. The design of a fuzzy logic controller deals with the following:
i) Identii}ring the variables and structure of the controller. ii) Choosing fuzzy inference rules that the controller uses. iii) Modeling the Rotary Flexible Joint in Fuzzy Logic Toolbox
4
iv) Designing closed-loop (feedback) controller to dampen the arm vibrations using Fuzzy Logic Controller
v) Compare LQR controller and Fuzzy Logic Controller.
vi) Evaluating the performance of the controller to determine if any of the above elements, such as the number of membership functions that describe a variable, should be modified.
1.3 Scopes of Project