You are on page 1of 6

APPLICATION OF FUZZY LOGIC TO ROBOTIC ClONTROL

Hammond V a s h i s t h and Peng-Yung Woo


Department of Electrical Engineering
Northern Illinois University, DeKalb, IL 60115

ABSTRACT values - those between 0 and 1. The


intermediate values between 0 and 1
This paper describes how fuzzy are used to represent Degrees of
logic can be applied to robotic Membership [1,21. Let us consider
control using software tools on six processors with different clock
personal computers. First, the rates. A fuzzy subset FAST can be
fundamentals of fuzzy logic’and defined which would state ‘to what
robotics are discussed. Second, the degree is processor x fast?” The
fuzzy controller designs for a two- subset FAST is called a Linguistic
link manipulator and for robot PUMA Variable in fuzzy literature [1,2].
5 6 0 (the last three links locked)
Every processor is assigned a degree
are proposed. C language code is of membership in the fuzzy subset
developed to simulate the controller FAST. We can define FAST(x) of speed
designs. Fuzzy Inference Development x as:
Environment (FIDE) software from
Aptronix, Inc. is used for
FAST(X) = 0 if x < 20 MHZ
development of fuzzy if-then rules.
= (x-20)/30 if 20 MHZ < = x
The contribution of this paper is
< = 5 0 MHZ
the exploration of non-conventional
= 1 if x > 50 MHZ
methods for control of highly non-
linear systems.
A graph of the above concept for
FAST(x) is shown in Figure 1.1.
1. INTRODUCTION TO FUZZY LOGIC
Table 1.1 gives some example values
to interpret the meaning of the
Logic has been the essence of membership functions and their
scientific reasoning for centuries. degrees.
Fuzzy logic is a relatively new
concept initiated by Professor Lotfi The procedure for fuzzy
Zadeh of UC-Berkeley in the mid- controller design involves three
1 9 6 0 s [1,2]. Fuzzy logic uses the steps: Fuzzication, Rule Evaluation
technique of “approximate reasoning” (Fuzzy Inference) and Defuzzication.
for making accurate decisions for FUZZICATION is the initiating step
problems which are difficult to be in fuzzy controller design wherein
solved by conventional methods. the conventional crisp input
Fuzzy logic is a superset of variables are converted to fuzzy
conventional, or Boolean logic. In inputs by the input membership
Boolean logic we talk about function. In RULES EVALUATION, rules
“complete“ truth values of 0 and 1. are applied to these fuzzy inputs to
Boolean logic takes on the value of solve the control. problem.
0 and 1. Fuzzy logic enters the DEFUZZICATION is the final step,
domain of degrees of truth or false. where the final crisp values of
It investigates the partial truth output variables are derived from
the fuzzy values resulted in rule

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


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

2. ROBOT DYNAMICS FOR CONTROL


PURPOSE 3. FUZZY CONTROLLER DESIGN FOR A
TWO-LINK MANIPULATOR
A robot is defined as a
mechanical manipulator that can be The robotic manipulator is a
programmed according to the needs of non-linear device and conventional
the application by the end user, control methods either are not easy
which is used to move materials or to devise or make some major
tools through planned trajectories approximations while developing the
to perform the desired task [3,41. controller. Fuzzy logic provides a
The robotic system is a highly non- feasible means to deal with non-
linear coupled system. Various kinds linear systems. By using the three
of actuators or motors can be used steps mentioned in Section 1 of this
in robot links, but primarily paper, a fuzzy controller is
electric, hydraulic and pneumatic designed to simulate the performance
motors are used in industrial of a two-link manipulator.
robots. It is our aim to control the
motion of these motors which are (1) The inputs to the fuzzy
coupled to the robot joints. The controller are position errors and
study of robotics considers the their time derivatives, that is, the
kinematics and dynamics of the velocity errors. Since we consider
manipulator [3,4]. Kinematics two links, in effect, there are four
relates to the position and velocity inputs, namely:
of the links of the manipulator and e-thetal, error in position of link
the related static forces. Dynamics 1
refers to the forces that are e-theta2, error in position of link
required to cause the motion of the L

manipulator. Usually the terms d-thetal, error in velocity of link


robot and mechanical manipulator are 1
used interchangeably in literature. d-theta2, error in velocity of link
2
The angular velocity of some We choose same membership functions
modern industrial robots is of the (either for position error or for
order of 10 rad s-l, which has a velocity error) €or link 1 and link
significant effect on the behavior 2 of the two-link manipulator. They
of the robotic manipulator. Hence, are depicted in Figure 3.1 and
study of control strategies is Figure 3.2.
really important. The dynamic
equation of the robotic manipulator (2) Table 3.1 shows the fuzzy
is usually symbolically represented knowledge based control rules
by Equation (2.1) [3,4]. developed for the two-link
manipulator. Again here we choose
T = M(@)@” + C(0,e’) + G(8) the same rule base applied to both
link 1 and link 2. Generally, we do
where M ( 8 ) i s a mass matrix of not have to choose the rule base for
inertia terms of the manipulator, link 1 to be the same as that for
C ( @ , @ ‘ ) is the vector of Coriolis link 2.
and centrifugal terms and G ( 8 ) is

1868
( 3 ) The outputs of the fuzzy links of PUMA 5 6 0 . Table 4.1 shows
controller are joint torque 1 and the geometric and inertia parameters
joint torque 2. We choose their of the robot [ S I . The membership
membership functions to be the same functions for PUMA 5 6 0 are presented
and depict it in Figure 3 . 3 . in Figure 4 . 2 through Figure 4 . 4 . By
using the same three steps as we did
The rules in . (2) are for a two-link manipulator, we
implemented with' the help ofsthe design the fuzzy controller for PUMA
personal computer and FIDE software. 560.
The fuzzy controller fuzzifies the
input quantities through algorithms
that would operate on the input data 5. SOFTWARE IMPLEMENTATION AND
as specified by the membership SIMULATION RESTJILTS
functions described in (1). The IF-
THEN decision rules can be Fuzzy Inference Development
implemented using Table 3.1. And Environment (FIDE) software by
finally the output is defuzzified Aptronix, Inc. :is utilized for
based on the membership functions implementing the fuzzy if-then rules
described in ( 3 ) . [ 6 1 . The two-link manipulator is
The whole procedure is a standard simulated by code written in c
one for fuzzy controller designs language [ 7 1 . The simulation of PUMA
5 6 0 is derived as an extension to
[1,21.
the simulation of the two-link
manipulator. Space constraints force
4. FUZZY CONTROLLER DESIGN FOR the exclusion of the code in this
ROBOT PUMA 560 paper, but the reader can contact
the authors for more information on
PUMA 5 6 0 is a popular this subject.
industrial robot. Its
characteristics are as follows: The previous sections describe
the membership functions for the
* It is a medium-power robot; various input arid output variables
* It is programmable either for of the fuzzy coritroller. Nothing is
point-to-point or for continuous and perfect in this world, and fuzzy
is computer controlled; control tries to explore this
* It comes with a teach pendant and approximate, inexact nature of the
is powered by DC electric motors; real world. A set of rules are
* It is widely used in manufactur- written for the robotic systems and
ing process, for handling small simulated in FIZ)E to give outputs.
parts ; Application of robots in industry
* It is actively used in and other fields: depends on
educational institutions for efficiency, reliability and the
research purposes. capabilities of the control system,
which has to ensure successful
We assume the first three links of application of robots in various
PUMA 560 have the same membership tasks. The control system of robots
functions while the last three links can be realized in different ways,
are locked and therefore become the with varying degrees of complexity
load of the first three links. depending on the tasks imposed upon
Figure 4.1 depicts the typical a specific robot. Fuzzy logic
coordinate frame assigned to the control can be considered as a nexus
between the conventional precise

1869
mathematical control and the human- the conventional controller in the
like decision making schemes. At sense that the position trajectories
this time there is no systematic of the robot joints with the fuzzy
procedure for the design of a fuzzy controller is much closer to the
controller and heuristic rules are desired trajectories.
used for the control scheme. (2) In Figure 5 . 3 through Figure
Linguistic rules are the heart of 5 . 4 and Figure 5.12 through Figure
the fuzzy implementation. By a 5.14, the desired trajectories
linguistic variable we mean a remain the same. The trajectories of
variable whose values are words or the robots with the fuzzy controller
sentences in a natural or artificial when loaded still go convergent to
language. For example, Age is a the desired trajectories, while the
linguistic variable if its values conventional control plots show a
are linguistic rather than considerable discrepancy with the
numerical, i.e. young, not young, desired plots.
very young, quite young, old, not (3) Figure 5 . 5 through Figure 5 . 6
very old, and not very young etc. and Figure 5 . 1 5 through Figure 5.17
rather than 2 0 , 2 1 , 2 2 , 2 3 . . . depict the situation when the
desired trajectories are sinusoidal
Using the fuzzy linguistic functions. Evidently, the
rules, various conditions are conventional controller can hardly
simulated to test the validity of function then. The fuzzy controller
the fuzzy controller. The behavior is still working very well to bring
of the two-link manipulator as well the actual trajectories of the
as that of PUMA 5 6 0 are demonstrated robots to the desired trajectories.
for either the fuzzy controller (4) In robotic grinding, deburring
applied or the conventional (PD and or assembly, smooth transition from
PID) controller applied. The results free to constrained motion is of
obtained for the two-link special interest. Figure 5 . 7 through
manipulator are presented in Figure Figure 5 . 8 and Figure 5.18 through
5.1 through Figure 5.8 in the form Figure 5.20 present the results
of plots of joint positions versus obtained in these cases. Again, the
time. Figure 5 . 9 through Figure 5 . 2 0 fuzzy plots are convergent to the
present the simulation results for desired plots. The conventional
PUMA 5 6 0 . Basically four different plots now show a total divergence.
conditions are experimented
respectively: NOTE: Due to limitation of space,
the simulation results cannot be

. Robot Unloaded
Robot Loaded
presented in this paper.

Robot in complex trajectory


situation 6. CONCLUSIONS
Constrained motion of the
Robot. This paper proposes a new
fuzzy logic based strategy to
(1) Figure 5 . 1 through Figure 5 . 2 control a robotic manipulator in
and Figure 5.9 through Figure 5.11 order to overcome the disadvantages
show the situation when the robots of the existing conventional control
are unloaded. This is the simplest methods [ 8 , 9 1 . Two manipulators are
case. We can see the fuzzy considered in this paper. One is a
controller does much better than two-link manipulator and the other
is PUMA 5 6 0 with the last three

1870
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
Table 3.1 Tbe Rule Base for llhe fuzzy kmowlcdge base matrd
1. D. Driankov, H.Hellendoorn and M.

i
Reinfrank, An Introduction to Fuzzy Control,
NegativeSmall PositiveSmall
Springer-Verlag, 1993
2. T .J . Ross, Fuzzy Logic with Engineering
NegativeLarge
Application, McGraw Hill, 1995
3. J.J. Craig, Introduction to Robotics - NegativeSmall Zero NegativeSmaU NegahMdium
Machanics and Control, Addision-Wesley, 1989
4. H. Asada and J.E. Slotine, Robot Analysis Zero FmithSmall NegativeSmaIl
and Control, John-Wiley and Sons, 1987
5. T.J. Tarn, A.K. Bejecy and X. Yun, ZWJ
“Dynamic Equations for PUMA 560 Robot Arm”,
Dept. Of Systems, Science and Mathematics, RxitkSmall

Washington University, St. Louis, Missouri 63 130.


6. The FIDE Users, Reference and Quick Start
Manuals, Aptronix, Inc.
7. B.W. Kernigham and D.M. Ritchie, The C
Programming Language, Prentice Hall, 1978
8. H. Vashisth and P.-Y. Woo, “Simulation
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

1871
0.7764

4 1.18 0.- 0.0863 -0.00- 0.0119 0.0029 0.0118 0.1060

I 0.61 O.mo0 -a.o1o* 0.0013 0.0009 o.Oo0) O.uw9 0.09.9

r" 0.16 0.- 0.- 0.0029 o.me 0 . ~ 0 . 0 . ~ 0 4 0.1079

1872

You might also like