Neuro-fuzzy controller for mobile robot navigation with avoiding obstacles and reaching target behaviors.
Popescu, Cristina ; Paraschiv, Nicolae ; Cangea, Otilia 等
1. INTRODUCTION
In the latest work, the authors implemented on the Khepera III
mobile robot a neuro-fuzzy controller which realizes the obstacle
avoidance behaviour (Popescu et al., 2008). But in the navigation
process of the robot, it is the possibility that the robot lets in a
cycle which repeats continuously, so the authors proposed a neuro-fuzzy
controller structure which implements reaching target behaviour beside
the obstacles avoidance behaviour. The results are obtained by
simulation, because the Khepera III robot has not the necessary
sensorial system for implementing reaching target behaviour. To resolve
this problem, one can be use a simple optical sensor with a rotate
mirror or a global positioning system (GPS). Furthermore, the robot has
to be equipped with a speed sensor to measure its current speed. In
2007, the same problem was studied by Zhu and Yang (Zhu and Yang, 2007)
and they proposed an algorithm for robot navigation with target reaching
behaviour. In this paper, the authors process this algorithm and adapt
it for the mobile robot Khepera III.
Because the results are obtained by simulation, the authors intend
to implement this neuro-fuzzy control structure on a real Khepera III
robot.
2. MOBILE ROBOT CONFIGURATION
The mobile robot used for our experiments is Khepera III. This is
an educational mobile robot that is ideal for artificial intelligent
techniques implementation used for robot control. The sensorial system
comprises an array of 9 Infrared Sensors for obstacle detection and 5
Ultrasonic Sensors for long range object detection (20 cm to 4 meters).
The robot has an optional front pair of ground Infrared Sensors for line
following and table edge detection (www.k-team.com). The robot motor
blocks use very high quality DC motors for efficiency and accuracy.
3. SYNTHESIS OF A NEURO-FUZZY
CONTROLLER
The inputs of the neuro-fuzzy controller used for robot navigation
are the distances from obstacles, obtained by left, front, right
sensorial groups, like in figure 1, the robot speed and target
direction.
[FIGURE 1 OMITTED]
For the Khepera III mobile robot the target direction 6d represents
the angle between the movement direction of the robot and the line which
connects the center of the robot with the target. The robot speed vs
represents the current speed of the robot.
The outputs of the controller are represented by the two motor
wheels accelerations, as and ad.
The inputs of the neuro-fuzzy controller have associated the
following inputs variables: for distances to the obstacles - far and
near, for robot speed - fast and slow, for target direction left, center
and right. The outputs of the controller have associated the linguistic
variables big positive, small positive, zero, small negative, big
negative (Popescu et al., 2008).
The structure of the neuro-fuzzy controller is the one presented in
figure 2, the respective design methodology following the known stages,
which are: fuzzication, inference mechanism and deffuzification.
The fuzzification algorithm converts the real input values in fuzzy
linguistic terms with membership values between 0 and 1. In order to
realize this transformation, the authors proposed and defined in the
Matlab(r) language the membership functions for the input variables and
added these to the predefined list existing in the fuzzy toolbox of
Matlab(r). The membership functions for the inputs are triangular, S
type and Z type functions which were adapted for the existing
situations. In figure 3 are illustrated the graphical representations of
the membership functions of some inputs.
The membership functions of the outputs are singleton functions,
with constant values.
[FIGURE 2 OMITTED]
[FIGURE 3 OMITTED]
The adaptation process for membership functions stands on the
learning algorithm with neural networks. To eliminate redundant rules
which may appear, one used a separate algorithm (Godjevac, 1997). In
different situations under the proposed control structure, the mobile
robot can generate good trajectories to the target without "dead
cycle" problem.
The inference system of the fuzzy controller is based on inference
rules like the one described below:
If distance to the left from obstacle is near and distance to the
front from obstacle is far and distance to the right from obstacle is
far and direction to the target is right and robot current speed is slow
Then left wheel acceleration is positive big and right wheel
acceleration is positive small.
The rule base for achieving the two behaviours, avoiding obstacles
and reaching a target, consists of 48 rules formulated by the authors.
Six of these rules are presented in table 1 with specification of the
realized behaviour.
For the defuzzification algorithm the authors proposed the gravity
center method (Wang, 1994). The output variables, respectively the wheel
accelerations as and ad, are given by the following relations:
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (1)
where [v.sub.k,1] and [v.sub.k,2] are the estimated values of the
output which are made by the k rule, in respect to the membership
functions centers of output variables; k is the rule numbers;
[q.sub.k]=min{[p.sub.lkl], [P.sub.2k2], [P.sub.3k3], [P.sub.4k4],
[P.sub.5k5]}; [P.sub.iki] is the membership range for the i input
coresponding to k rule; i represents the number of input values.
[FIGURE 4 OMITTED]
It was obtained a minimal number of rules for the rule base by
using a tuning parameters algorithm and deleting of redundant rules.This
algorithm become expedient for the rule base with hundreds or thousands
rules.
By simulation in the Matlab[R] language the authors observed that
the robot gets to learn the two behaviours, obstacles avoiding and
reaching a target, the final value of the error being very small, about
0,079, as presented in figure 4 (Popescu, 2008).
4. CONCLUSIONS
The actual trend for navigation of the mobile robots is the
analysis of investigation techniques based on rules and neuro-fuzzy
techniques based on rules. In this paper the authors proposed a
neuro-fuzzy control structure which implements avoiding obstacles and
reaching target behaviours, according to the main target of the robot
which, generally, is to realise some predefine objects.
It was observed a good deportment of the robot in the navigation
process with the rule base proposed by the authors, the main
contributions of these being the implementation of the membership
functions associated to the neuro-fuzzy controller inputs in the
Matlab[R] language. These functions were introduced in the fuzzy toolbox
of Matlab[R] beside those of the fuzzy inference system.
One can conclude that the problem of "dead cycle" which
may appear during the robot navigation was solved only by simulation.
For future researches, the authors want to adapt or modify the
sensorial system of the real Khepera III mobile robot in order to
implement on it the neuro-fuzzy controller proposed in this paper which
implement avoiding obstacles, reaching target behaviors and some
predefined objective.
5. REFERENCES
Godjevac, J. (1997), Neuro-Fuzzy Controllers Design and
Application, Presses Polytechniques et Universitaires Romandes, ISBN 2-88074-355-9, Lausanne
Popescu, C., Bucur, G., Popescu, C., Neuro-fuzzy Control for
Khepera III Mobile Robot, Proceedings of The 19th International DAAAM
Symposium, "Intelligent Manufacturing & Automation: Focus on
Next Generation of Intelligent Systems and Solutions", pp.
1117-1118, ISSN 1726-9679, Trnava, Slovakia, October 2008
Popescu, C. (2008), Neuro-Fuzzy Control for Mobile Robot, PhD
Thesis, Ploiesti, Romania
Zhu, A., Yang, X.S. (2007), Neuro-Fuzzy Based Approach to Mobil
Robot Navigation in Unknown Environments, IEEE Transactions on Systems,
Men and Cybernetics, Part C: Applications and Reviews, vol. 37, issue 4,
pp. 610-621, ISSN 1094-6977, july, 2007
Wang, L.X. (1994), Adaptive Fuzzy Systems and Control Design and
Stability Analysis, Prentice Hall, ISBN: 0-13099631-9, Upper Saddle
River, NJ, USA
*** (2008) http://k-team.com--K-Team Corporation, Khepera III
Documentation, Accesed on 2008-05-10
Tab. 1. A part of rule base
Input
Rule [D.sub.s] [D.sub.f] [D.sub.d] [[theta].sub.d] [v.sub.s]
1 far far far left small
2 far far far left fast
3 far far far center slow
4 far far far center fast
9 far far near center slow
10 far far near center fast
Output
Rule [a.sub.s] [a.sub.d] Behaviour
1 positive small positive big reaching target
2 negative small zero reaching target
3 positive big positive big reaching target
4 zero zero reaching target
9 zero positive small avoiding obstacles
10 negative small zero avoiding obstacles