Comparison between PID and fuzzy controllers used in mobile robot control.
Popescu, Cristina ; Paraschiv, Nicolae ; Cangea, Otilia 等
Abstract: Achieving the models of nonlinear systems is quite a
difficult task and often simplified forms are obtained due to the
simplifying assumptions used. The goal of this paper is to present an
overview of fuzzy controllers used in mobile robots and to discuss the
advantages and drawbacks of fuzzy control in comparison with PID control.
Key words: mobile robot, fuzzy control, PID control
1. INTRODUCTION
Opinions about fuzzy controllers are different: some authors
consider that artificial intelligence, especially fuzzy control
represent a revolution in intelligent control (Suster & Jadlovska,
2011), while others believe that what can be achieved using fuzzy
methods can also be achieved using conventional techniques, like PID
control (Pease, 1993).
In this paper the fuzzy controller is compared with a classical
PID, because the PID is a reference controller. Both controllers will be
used for differential mobile robot control, as Khepera III, studied by
the authors in previous works. A PID controller has only three
adjustable parameters. The controlled systems show good results in terms
of response time and precision when these parameters are well adjusted.
The fuzzy controller has many parameters and the most important
requirement is to make a proper choice of the rule base, the scaling
factors and the defuzzification method. We have observed that the fuzzy
controlled system is very sensitive to the distribution of membership
functions but not to their shape.
This paper want to highlight the advantages and disadvantages of
using a fuzzy controller compared with a PID for nonlinear systems
control, particularly of mobile robots. These results can be used for
future research in automation of modelling process of fuzzy controllers.
2. CLASSICAL CONTROL APPROACH
The PID is proved to be a very efficient controller. The formula of
the algorithm is:
u(t) = [K.sub.p]e(t) + [K.sub.i][[integral].sup.t.sub.0]e(t)dt +
[K.sub.d] de/dt (1)
where u is the control variable, e is the error, defined as e=r-y,
r is the reference value and y is the process output. There are three
parameters to adjust: [K.sub.p], [K.sub.i] and [K.sub.d].
For a differential mobile robot, such as Khepera III, it is
necessary to obtain its kinematic model. This robot has two driving
wheels driven independently with a common horizontal axis. Robot motion
on straight trajectories is given by wheels constant velocity and the
movement on circular trajectories is determined by the difference of
velocity between the two wheels. The robot is localized by the
characteristic point C located in the center of the wheel axis and the
angle made by the perpendicular to the axis of the wheels with one of
the external reference system axes ([theta] direction), as illustrated
in figure 1.
[FIGURE 1 OMITTED]
Velocity of the robot is given by the point C velocity ([??]), and
velocities of the two-wheel drive ([[??].sub.s] and [[??].sub.D]) have
the same direction perpendicular to the axis joining them. Robot state
is defined by the position, orientation and velocities of the two
driving wheels. In the essence the diferential model of the robot is
given by the following equations:
v = [v.sub.s] + [v.sub.D]/2 (2)
[omega] = [v.sub.s] + [v.sub.D]/L (3)
[??] = cos ([theta] ([v.sub.s] + [v.sub.D]/2) (4)
[??] = sin ([theta] ([v.sub.s] + [v.sub.D]/2) (5)
[??] = [v.sub.s][v.sub.D]/L (6)
As indicated in the Khepera user manual, both DC motors can be
controlled by a PID controller executed in an interrupt routine of the
main processor (K-Team, 2008). The motor controller can be used in two
control modes: speed and position modes. The active control mode is set
according to the kind of command received. If the controller receives a
position control command, the control mode is automatically swiched to
the position mode. Different control parameters ([K.sub.p], [K.sub.i]
and [K.sub.d]) can be set for each of the two control modes. The robot
has two incremental encoders on the wheel. Using these sensors it is
possible to measure the displacement and the speed of each wheel at
every moment. Used in speed mode, the controller has as input the wheels
speed value, and controls the motor to keep this wheel speed. No
limitation in acceleration is considered in this mode. Used in position
mode, the controller has as input a target position of the wheel,
acceleration and a maximal speed. Using these values, the controller
accelerates the wheel until the maximal speed is reached, and
decelerates in order to reach the target position (K-Team, 2008). Both
speed control system (figure 2) and position control system (figure 3)
are classical PID control systems. With these control structures and an
optimal setting of controller parameters it was observed a good
behaviour for the robot requirements. The problem that emerges is that
for a classical control of a mobile robot is required a precise
knowledge of kinematic and dynamic model of it, that is difficult to
obtain. For this reason are used increasingly more fuzzy controllers
that not require the exact model of the system.
[FIGURE 2 OMITTED]
[FIGURE 3 OMITTED]
3. FUZZY CONTROL
For accomplishing the many tasks of navigation, the robot must
avoid obstacles in its way. For this reason, the experiment presented in
this paper refers to the implementation of a simple controller for the
Khepera mobile robot to obstacle avoidance behaviour.
The design of a fuzzy controller begins with the choice of
linguistic variables, process states, input and output variables. The
next step is the choice of the set of linguistic rules and the kind of
fuzzy reasoning process. After the inference it has to be established a
defuzzification strategy. The structure of a fuzzy controller is
composed of four blocks: the fuzzification interface which performs the
transformation of crisp inputs into fuzzy sets, the knowledge base which
supplies the fuzzification module, the inference engine and the
defuzzification interface with necessary information for their proper
functioning, the inference engine that computes the meaning of the set
of linguistic rules, the defuzzification interface that transforms the
union of fuzzy sets into a crisp output (Godjevac, 1997).
To design a fuzzy controller for implementing obstacle avoiding
behaviour it was supposed that we have all necessary needed information
for robot navigation. The inputs are the linguistic variables: distances
between the robot and the obstacle, and the outputs are the linguistic
variables: motor speeds. Four input linguistic variables were used:
distance to the left [D.sub.s], distance to the right [D.sub.d],
distance to the front [D.sub.f] and distance to the back [D.sub.sp], as
shown in figure 4. For each input linguistic variable, 3 linguistic
values were defined: small, medium, big, while for each output we define
7 linguistic values: backward fast, backward medium, backward slow,
stop, forward slow, forward medium, forward fast. The aim of the
experiment is the implementation of a Sugeno fuzzy controller which
allows navigation with obstacles avoiding behavior. For this controller,
with 4 inputs and 2 outputs, the Matlab implementation offers a user
interface shown in figure 5. Each membership function for input
variables is Gaussian type while for output variables singleton
functions were used.
[FIGURE 4 OMITTED]
[FIGURE 5 OMITTED]
It was demonstrated that with 16 rules, Khepera avoid obstacles
with success, but adding rules can lead to an inconsistent rules base
or, worse, conflicts between rules can appear. For defuzzification it
was used the weight average method and the outputs were calculated as
follow
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (7)
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (8)
where [y.sub.1], [y.sub.2] are the outputs controller, [u.sub.n],
are the firing strengths for the n rule and [w.sub.n1], [w.sub.n2] are
the parameters of n rule for the two outputs. With this rules base, the
fuzzy controller was implemented with success on the real robot Khepera,
the communication between the robot and the computer being made by
Bluetooth technology (Popescu et al., 2009).
4. CONCLUSION
Standard controllers are suitable for systems that have an exactly
defined mathematical model. In the design of a fuzzy controller it is
not necessary to know a precise mathematical model of the plant to be
controlled. An important problem of fuzzy controllers is that the
computing time is much longer than of a PID, because of the complex
operations: fuzzification, inference, and defuzzification. Some
optimization can be obtained by simplifying the defuzzification method.
The main advantages of fuzzy controllers are: the mathematical model of
the plant is not needed; possibility to implement human expert knowledge
and experience using linguistic rules; possibility to control non-linear
plants. Fuzzy controllers have some important drawbacks: there is no
general procedure for choosing the optimal number of rules, because of
the many factors involved in the decision; the coherency of the rules is
not guaranteed; knowledge of the human operator is often incomplete. As
conclusion, the reasearchers have been trying to automate the modelling
process of fuzzy controllers that could be divided in two parts:
identification of the structure of a fuzzy controller and parameter
identification (adjustment of the parameters of membership functions).
5. REFERENCES
Godjevac, J. (1997). Neuro-Fuzzy Controllers Design and
Application, Presses Polytechniques et Universitaires Romandes, ISBN 2-88074-355-9, Lausanne
Pease, R.A. (1993). What's All This Fuzzy Logic Stuff,
Anyhow?, Available from: http://www.electronicdesign.com Accessed:
2011-03-28
Popescu, C.; Paraschiv, N. & Cangea, O. (2009). Neuro-Fuzzy
Controller for Mobile Robot Navigation with Avoiding Obstacles and
Reaching target Behaviors, Proceedings of the 20th International DAAAM
Symposium, pp. 0595-0596, ISBN 978-3-901509-70-4, Vienna, Austria,
November 2009
Suster, P.; Jadlovska A. (2011). Tracking Trajectory of the Mobile
Robot Khepera II Using Approaches of Artificial Intelligence, Acta
Electrotechnica et Informatica, Vol. 11, no.1 (2011), pp.38-43, ISSN 1338-3957
*** (2008) http://k-team.com--K-Team Corporation, Khepera User
Manual, Accessed on: 2011-03-23