application of fuzzy logic to robotic clontrol

6
APPLICATION OF FUZZY LOGIC TO ROBOTIC C l ONT R O L Hammond Vashisth and Peng-Yung Wo o Department of Electrical Engineering Northern Illinoi s University, DeKalb, IL 60115 ABSTRACT This paper describes how fuzzy logic can be applied to robotic control usin g software tools on perso nal computers. First, the fundam entals of fuzzy logic’and roboti cs are discussed. Second, the fuzzy contro ller designs for a two- link manipulator and for robot PUMA 5 6 0 (the last three links locked) are proposed. C language code is developed to simulate the controller designs. Fuzzy Inference Development Environment (FIDE) software from Aptronix, Inc. is use d for devel opment of fuzzy if-then rules. The contribution of this paper is the exploration of non-conventional methods for control of highl y non- linear systems. 1 . INTRODUCTION TO FUZZY LOGIC Logic has been the essence of scientific reasoning for centuries. Fuzzy logic is a relatively new concept initiated by Professor Lotfi Zadeh of UC-Berkeley in the mid- 1960s [1,2]. Fuzzy logic uses the techni que of “approximate reasoning” for making accurate decisions for problems which are difficult to be solved by conventional methods. Fuzzy logic is a superset of conventional, or Boolean logic. In Boolean logic we talk about “complete“ tru th values of 0 an d 1. Boolean logic takes on the value of 0 an d 1. Fuzzy logic enters the domain of degrees of truth or false. It investigates the partial truth values - those between 0 an d 1. Th e intermediate va lues between 0 and 1 are used t o represent Degrees of Membership [1,21. Le t us consider six processors with different clock rates. A fuzzy subset FAST can be defined which would state ‘to what degree is processor x fast?” The subset FAST is called a Linguistic Variable in fuzzy literatu re [1,2]. Every processor is assigned a degree of membership in the fuzzy subset FAST. We can defi ne FAST(x) of speed x as: FAST(X) = 0 i f x < 20 MH Z = (x-20)/30 i f 20 MHZ < = x = 1 < = 5 0 MHZ i f x > 5 0 MH Z A graph of the above concept for FAST(x) is shown in Figure 1.1. Table 1.1 gives some example values to interpret the meaning o f the membership functions and their degrees. The procedure for fuzzy controller design involves three steps: Fuzzication, Rule Evaluation (Fuzzy Infere nce) and Defuzzication. FUZZICATION is the initiating step in fuzzy controller design wherein the conventional crisp input variables are converted to fuzzy inputs b y the input membership function. In R U L E S EVALUATION, rules are applied to these fuzzy inputs to solve the co nt ro l. problem. DEFUZZICATION i s the final step, where the final crisp values of output variables are derived from the fuzzy values resulted in rule 0-7803-2775-6/96 $4.000 1996 IEEE 1867

Upload: benja1987

Post on 08-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

8/7/2019 APPLICATION OF FUZZY LOGIC TO ROBOTIC ClONTROL

http://slidepdf.com/reader/full/application-of-fuzzy-logic-to-robotic-clontrol 1/6

APPLICATION OF FUZZY LOGIC TO ROBOTIC ClONTROL

Hammond V a s h i s t h and Peng-Yung WooDepartment of Electrical Engineering

Northern Illinois University, DeKalb, IL 60115

ABSTRACT

This paper describes how fuzzy

logic can be applied to robotic

control using software tools on

personal computers. First, the

fundamentals of fuzzy logic’and

robotics are discussed. Second, the

fuzzy controller designs for a two-

link manipulator and for robot PUMA

5 60 (the last three links locked)

are proposed. C language code is

developed to simulate the controller

designs. Fuzzy Inference DevelopmentEnvironment (FIDE) software from

Aptronix, Inc. is used for

development of fuzzy if-then rules.

The contribution of this paper is

the exploration of non-conventional

methods for control of highly non-

linear systems.

1. INTRODUCTION TO FUZZY LOGIC

Logic has been the essence of

scientific reasoning for centuries.

Fuzzy logic is a relatively new

concept initiated by Professor Lotfi

Zadeh of UC-Berkeley in the mid-

1 9 6 0 s [1,2]. Fuzzy logic uses the

technique of “approximate reasoning”

for making accurate decisions for

problems which are difficult to be

solved by conventional methods.

Fuzzy logic is a superset of

conventional, or Boolean logic. In

Boolean logic we talk about

“complete“ truth values of 0 and 1.

Boolean logic takes on the value of

0 and 1. Fuzzy logic enters the

domain of degrees of truth or false.

It investigates the partial truth

values - those between 0 and 1. Theintermediate values between 0 and 1

are used to represent Degrees of

Membership [1,21. Let us consider

six processors with different clock

rates. A fuzzy subset FAST can be

defined which would state ‘to what

degree is processor x fast?” The

subset FAST is called a Linguistic

Variable in fuzzy literature [1,2].

Every processor is assigned a degree

of membership in the fuzzy subset

FAST. We can define FAST(x) of speed

x as:

FAST(X) = 0 if x < 20 MHZ

= ( x - 2 0 ) / 3 0 if 20 MHZ <= x

= 1

<= 50 MHZ

if x > 50 MHZ

A graph of the above concept for

FAST(x) is shown in Figure 1.1.

Table 1.1 gives some example values

to interpret the meaning of the

membership functions and their

degrees.

The procedure for fuzzy

controller design involves three

steps: Fuzzication, Rule Evaluation

(Fuzzy Inference) and Defuzzication.

FUZZICATION is the initiating step

in fuzzy controller design wherein

the conventional crisp input

variables are converted to fuzzy

inputs by the input membership

function. In RULES EVALUATION, rules

are applied to these fuzzy inputs to

solve the control. problem.

DEFUZZICATION is the final step,

where the final crisp values of

output variables are derived from

the fuzzy values resulted in rule

0-7803-2775-6/96 $4.000 1996 IEEE 1867

8/7/2019 APPLICATION OF FUZZY LOGIC TO ROBOTIC ClONTROL

http://slidepdf.com/reader/full/application-of-fuzzy-logic-to-robotic-clontrol 2/6

evaluation [1,2]. the vector of gravity terms. T is

the vector of joint torques.

2. ROBOT DYNAMICS FOR CONTROL

PURPOSE

A robot is defined as a

mechanical manipulator that can be

programmed according to the needs ofthe application by the end user,

which is used to move materials or

tools through planned trajectories

to perform the desired task [3,41.

The robotic system is a highly non-

linear coupled system. Various kinds

of actuators or motors can be used

in robot links, but primarily

electric, hydraulic and pneumatic

motors are used in industrial

robots. It is our aim to control the

motion of these motors which are

coupled to the robot joints. Thestudy of robotics considers the

kinematics and dynamics of the

manipulator [3,4]. Kinematics

relates to the position and velocity

of the links of the manipulator and

the related static forces. Dynamics

refers to the forces that are

required to cause the motion of the

manipulator. Usually the terms

robot and mechanical manipulator are

used interchangeably in literature.

The angular velocity of some

modern industrial robots is of the

order of 10 rad s - l , which has a

significant effect on the behavior

of the robotic manipulator. Hence,

study of control strategies is

really important. The dynamic

equation of the robotic manipulator

is usually symbolically represented

by Equation (2.1) [3,4].

T = M(@)@” + C ( 0 , e ’ ) + G(8)

where M ( 8 ) i s a mass matrix of

inertia terms of the manipulator,

C ( @ , @ ‘ )is the vector of Coriolis

and centrifugal terms and G ( 8 ) is

3. FUZZY CONTROLLER DESIGN FOR A

TWO-LINK MANIPULATOR

The robotic manipulator is a

non-linear device and conventionalcontrol methods either are not easy

to devise or make some major

approximations while developing the

controller. Fuzzy logic provides a

feasible means to deal with non-

linear systems. By using the three

steps mentioned in Section 1 of this

paper, a fuzzy controller is

designed to simulate the performance

of a two-link manipulator.

(1) The inputs to the fuzzy

controller are position errors andtheir time derivatives, that is, the

velocity errors. Since we consider

two links, in effect, there are four

inputs, namely:

e-thetal, error in position of link

1

e-theta2, error in position of link

Ld-thetal, error in velocity of link

1

d-theta2, error in velocity of link

2

We choose same membership functions(either for position error or for

velocity error) €or link 1 and link

2 of the two-link manipulator. They

are depicted in Figure 3.1 and

Figure 3.2.

(2) Table 3.1 shows the fuzzy

knowledge based control rules

developed for the two-link

manipulator. Again here we choose

the same rule base applied to both

link 1 and link 2. Generally, we do

not have to choose the rule base forlink 1 to be the same as that for

link 2.

1868

8/7/2019 APPLICATION OF FUZZY LOGIC TO ROBOTIC ClONTROL

http://slidepdf.com/reader/full/application-of-fuzzy-logic-to-robotic-clontrol 3/6

( 3 ) The outputs of the fuzzy

controller are joint torque 1 and

joint torque 2. We choose their

membership functions to be the same

and depict it in Figure 3 . 3 .

The rules in . (2) are

implemented with' the help ofsthe

personal computer and FIDE software.

The fuzzy controller fuzzifies the

input quantities through algorithms

that would operate on the input data

as specified by the membership

functions described in (1).The IF-

THEN decision rules can be

implemented using Table 3.1. And

finally the output is defuzzified

based on the membership functions

described in ( 3 ) .

The whole procedure is a standard

one for fuzzy controller designs

[ 1 , 2 1 .

4. FUZZY CONTROLLER DESIGN FOR

ROBOT PUMA 560

PUMA 56 0 is a popular

industrial robot. Its

characteristics are as follows:

* It is a medium-power robot;

* It is programmable either for

point-to-point or for continuous and

is computer controlled;

* It comes with a teach pendant andis powered by DC electric motors;

* It is widely used in manufactur-

ing process, for handling small

parts;

* It is actively used in

educational institutions for

research purposes.

We assume the first three links of

PUMA 560 have the same membership

functions while the last three links

are locked and therefore become the

load of the first three links.Figure 4.1 depicts the typical

coordinate frame assigned to the

links of PUMA 5 6 0 . Table 4.1 shows

the geometric and inertia parameters

of the robot [ S I . The membership

functions for PUMA 56 0 are presented

in Figure 4 . 2 through Figure 4 . 4 . By

using the same three steps as we did

for a two-link manipulator, we

design the fuzzy controller for PUMA

5 6 0 .

5. SOFTWARE IMPLEMENTATION ANDSIMULATION RESTJILTS

Fuzzy Inference Development

Environment (FIDE) software by

Aptronix, Inc. :is utilized for

implementing the fuzzy if-then rules

[ 61 . The two-link manipulator is

simulated by code written in clanguage [ 71 . The simulation of PUMA

56 0 is derived as an extension to

the simulation of the two-linkmanipulator. Space constraints force

the exclusion of the code in this

paper, but the reader can contact

the authors for more information on

this subject.

The previous sections describe

the membership functions for the

various input arid output variables

of the fuzzy coritroller. Nothing is

perfect in this world, and fuzzy

control tries to explore this

approximate, inexact nature of thereal world. A set of rules are

written for the robotic systems and

simulated in FIZ)E to give outputs.

Application of robots in industry

and other fields: depends on

efficiency, reliability and the

capabilities of the control system,

which has to ensure successful

application of robots in various

tasks. The control system of robots

can be realized in different ways,

with varying degrees of complexity

depending on the tasks imposed upona specific robot. Fuzzy logic

control can be considered as a nexus

between the conventional precise

1869

8/7/2019 APPLICATION OF FUZZY LOGIC TO ROBOTIC ClONTROL

http://slidepdf.com/reader/full/application-of-fuzzy-logic-to-robotic-clontrol 4/6

mathematical control and the human-

like decision making schemes. At

this time there is no systematic

procedure for the design of a fuzzy

controller and heuristic rules are

used for the control scheme.

Linguistic rules are the heart of

the fuzzy implementation. By a

linguistic variable we mean a

variable whose values are words or

sentences in a natural or artificial

language. For example, Age is a

linguistic variable if its values

are linguistic rather than

numerical, i.e. young, not young,

very young, quite young, old, not

very old, and not very young etc.

rather than 2 0 , 2 1 , 2 2 , 2 3 . . .

Using the fuzzy linguistic

rules, various conditions are

simulated to test the validity ofthe fuzzy controller. The behavior

of the two-link manipulator as well

as that of PUMA 5 6 0 are demonstrated

for either the fuzzy controller

applied or the conventional (PD and

PID) controller applied. The results

obtained for the two-link

manipulator are presented in Figure

5.1 through Figure 5.8 in the form

of plots of joint positions versus

time. Figure 5 . 9 through Figure 5 . 2 0

present the simulation results for

PUMA 5 6 0 . Basically four differentconditions are experimented

respectively:

Robot Unloaded

Robot in complex trajectory

Constrained motion of the

. Robot Loaded

situation

Robot.

(1) Figure 5 . 1 through Figure 5 . 2

and Figure 5.9 through Figure 5.11

show the situation when the robotsare unloaded. This is the simplest

case. We can see the fuzzy

controller does much better than

the conventional controller in the

sense that the position trajectories

of the robot joints with the fuzzy

controller is much closer to the

desired trajectories.

( 2 ) In Figure 5 . 3 through Figure

5 . 4 and Figure 5.12 through Figure

5.14, the desired trajectories

remain the same. The trajectories of

the robots with the fuzzy controller

when loaded still go convergent to

the desired trajectories, while the

conventional control plots show a

considerable discrepancy with the

desired plots.

( 3 ) Figure 5 . 5 through Figure 5 . 6

and Figure 5 . 1 5 through Figure 5.17

depict the situation when the

desired trajectories are sinusoidal

functions. Evidently, the

conventional controller can hardly

function then. The fuzzy controlleris still working very well to bring

the actual trajectories of the

robots to the desired trajectories.

(4) In robotic grinding, deburring

or assembly, smooth transition from

free to constrained motion is of

special interest. Figure 5 . 7 through

Figure 5 . 8 and Figure 5.18 through

Figure 5.20 present the results

obtained in these cases. Again, the

fuzzy plots are convergent to the

desired plots. The conventional

plots now show a total divergence.

NOTE: Due to limitation of space,

the simulation results cannot be

presented in this paper.

6. CONCLUSIONS

This paper proposes a new

fuzzy logic based strategy to

control a robotic manipulator in

order to overcome the disadvantages

of the existing conventional control

methods [ 8 , 9 1 . Two manipulators are

considered in this paper. One is a

two-link manipulator and the other

is PUMA 5 6 0 with the last three

1870

8/7/2019 APPLICATION OF FUZZY LOGIC TO ROBOTIC ClONTROL

http://slidepdf.com/reader/full/application-of-fuzzy-logic-to-robotic-clontrol 5/6

links locked. The performance of

these robots with a fuzzy controller

applied is found to be better than

with a conventional controller

applied. Moreover, this new approach

is easier to implement. Simulation

results for various conclitions for

the robots find that the fuzzy

controller provides a robust

control.

The main contribution of this

paper is the exploration of non-

conventional methods for control of

highly non-linear systems. A

successful simulation of a fuzzy

controller controlled two-link

manipulator and a fuzzy controller

controlled PUMA 560 is demonstrated.

REFERENCES

1. D. D riankov, H.Hellendoorn and M.

Reinfrank, An Introduction to Fuzzy Control,

Springer-Verlag, 1993

2 . T .J . Ross, Fuzzy Log ic w ith Engineering

Application, McGraw Hill, 1995

3. J.J. Craig, Introduction to R obotics -

Machanics and Control, Addision-Wesley, 1989

4. H. Asada and J.E. Slotine, Robot Analysisand Control, John-Wiley and Sons, 1987

5 . T.J. Tarn, A.K. Bejecy and X. Yun,

“Dynamic Equations for PUM A 560 Robot A rm”,

Dept. Of Systems, Science and Mathematics,

Washington University, St. Louis, M issouri 63 130.

6.

Manuals, Aptronix, Inc.

7.

Programming Language, Prentice Hall, 1978

8.

of Fuzzy Controller for Robotic Manipulators”,

IASTED International Conference on Applied

Modelling, Simulation and Optimization, Cacun,

Mexico, June, 1995

9. H. Vashisth “Implementation of Fuzzy

Logic for Control of a Robotic Manipulator and

Proposition of.Collision Avoidance Algorithm for

Flexible Assembly Cell ”, M.S . Thesis,

Electrical Engineering Department, Northern Illinois

University, Spring 1995

The FIDE Users, Reference and Quick Start

B.W. Kernigham and D.M. Ritchie, The C

H . Vashisth and P.-Y. Woo, “Simulation

Table 3.1 Tb eRule Base for llhe fuzzy kmowlcdgebasematrd

NegativeSmall

NegativeSmall Zero NegativeSmaU

Zero FmithSmal l

PositiveSmall

NegativeLarge

N e g a h M d i u miNegativeSmaIl

ZWJ

RxitkSmal l

1871

8/7/2019 APPLICATION OF FUZZY LOGIC TO ROBOTIC ClONTROL

http://slidepdf.com/reader/full/application-of-fuzzy-logic-to-robotic-clontrol 6/6

4

I

r"

0.7764

1.18 0.- 0.0863 -0.00- 0.0119 0.0029 0.0118.0.61 O . mo 0 -a.o1o* 0.0013 0.0009 o.Oo0) O.uw9

0.16 0.- 0.- 0.0029 o . m e 0 . ~ 0 . 0 . ~ 0 4

0.1060

0.09.9

0.1079

1872