You are on page 1of 5

Mobile Robot Obstacle Avoidance in labyrinth

Environment Using Fuzzy Logic Approach


Habiba Batti Chiraz Ben Jabeur Hassene Seddik
University of Tunis, Department of University of Tunis, Department of University of Tunis, Department of
Electrical Engineering, CEREP, Electrical Engineering, CEREP, Electrical Engineering, CEREP,
ENSIT, 5, Av. Taha ENSIT, 5, Av. Taha ENSIT, 5, Av. Taha
Hussein, 1008, Tunis, Tunisia Hussein, 1008, Tunis, Tunisia Hussein, 1008, Tunis, Tunisia
haabibabatti@gmail.com chirazbenjabeur@gmail.com seddik-hassene@ieee.org

Abstract— The navigation of autonomous mobile robots obstacle avoidance for a lot of reasons [3,4]: it is simple to
has in recent times gained interest from many researchers model the reasoning, it has the ability to deal with uncertainty
in different areas such as in the industrial, agricultural, and nonlinearity, its implementation and use of linguistic
and military sectors. This paper presents the development variables is easy, it mimics human control logic, it uses
of fuzzy logic controller (FLC) motion for guiding a imprecise language and is inherently stable, it is flexible and
nonholonomic mobile robot to navigate in an environment can be modified and easily combined with conventional
area cluttered with static obstacles. The controller was control techniques.
programmed with 3 inputs distance from a pioneer p3dx The Fuzzy Logic method itself has several types as zero order
robot that is equipped with 16 ultrasonic sensors, 2 Takagi Sugeno and Mamdani Fuzzy Logic controllers. Farooq
outputs and 27 fuzzy rules that allow robot to move and et al. in [5] compared the performance of Mamdani and zero
avoid static obstacles.To validate the feasibility and order Takagi-Sugeno Fuzzy Logic controllers for obstacle
effectiveness of the proposed model we used V-REP and avoidance behaviour in mobile robot navigation. Both Fuzzy
MATLAB softwares. The simulations results showed that Logic controllers were designed using MATLAB Fuzzy Logic
the mobile robot could navigate successfully into labyrinth toolbox and implemented in a AT89C52 microcontroller. The
environment thanks to the performance of our intelligent performance comparison between the zero order Takagi
controller. Sugeno and Mamdani Fuzzy Logic controllers was based on
the smoothness of robot motion generated by the controllers
Keywords— Mobile Robot, Autonomous, Fuzzy Logic, and the memory utilized for their implementation in real time.
Obstacle avoidance. Raguraman et al., Jeffril et al. and El-Teleity in [6,7] used the
fuzzy logic approach to control mobile robot navigation.
These researches showed that Fuzzy Logic method is well
I. INTRODUCTION suited for controlling a mobile robot, as it is capable of
making inferences even under uncertainty conditions. In
addition, Fuzzy Logic controller can be combined with other
Different methods have been established in the last years to artificial intelligence-based controllers such as Neural
resolve navigational problems associated with mobile robots Network to solve control problem of mobile robot and
like artificial potential fields (APF), genetic algorithm (GA), produce better controllers.
neural networks (NN), vision based (VB) and fuzzy logic (FL).
Fuzzy logic which has been introduced by Zadeh [1] plays a The objective of this research is to develop a Fuzzy Logic
fundamental role in the field of mobile robots and it Controller that allows pioneer p3dx robot to navigate in a
demonstrates to be a suitable tool for management of labyrinth environment and essentially to be able to get out by
ambiguity that emerges from imprecise knowledge including avoiding different static obstacles. This work is original since
measurement, process, model and implementation uncertainty no paper has applied the fuzzy controller to navigate into
in robot navigation [2]. labyrinth environment. The difficulty of this method can be
It is true that fuzzy logic approach requires experimentation summed up by the fact of being limited to only three input
and experience and finding the most appropriate function can distances to succeed finally to cross the labyrinth from a
be found by trial and this can take a while but Fuzzy Logic starting point to the goal. For the velocity case, the robot
always remains the most used in autonomous mobile robot for velocity varies on the away obstacle are detect from its current

978-1-7281-2292-2/19/$31.00 ©2019 IEEE

Authorized licensed use limited to: University of Glasgow. Downloaded on June 03,2020 at 17:54:48 UTC from IEEE Xplore. Restrictions apply.
position. If obstacles are detected near the robot, a low scripts are developed in MATLAB and the mobile robot is
velocity command will be sent by the FIS. We have used the linked with MATLAB thanks to the Remote API feature of
approach proposed in [8] to impose to the robot to moves the V-rep.
safely in order to reach its destination goal. For this researcher a labyrinth world was created using many
The approach is based on a Fuzzy Inference System (FIS), rectangles shape with different size exposed in different
performed by the mobile robot reasoning system which can be orientations.
defined as a relationship between the inputs and outputs Figure1 presents the V-Rep user interface which is very
variables. The input is multi variable in which each variable flexible and simple with a several elements (menu bar,
corresponds to a particular input data mode, e.g. front obstacle toolbars, an application window...etc), a lot of scenes
distance, right obstacle distance, and left obstacle distance. examples and a varied choice of mobile and non-mobile
Similarly, the output is multi variable in which each variable robots, components, equipment, furniture…etc which
corresponds to a particular type of output, that are the speeds facilitates the modelling of the environment and allows to get
of the left and the right motor wheels of our mobile robot. closer to the reality for a reliable and effectiveness simulation.
There are some virtual robot platforms for simulating,
testing and interpreting robot mobile scenes. In this study the
virtual Robot Experimentation Platform (V-REP) is utilized
[9]. There are numerous robotics implementation using the V-
REP platform in the literature [10, 11].
The remainder of this paper is organized as follows. In the
next section we will describe methodology of this work.
Section 3 discusses the results obtained and finally,
conclusions are given in Section 4.

II. METHODOLOGY

The work process was divided into three steps which are:

9 Environment modelling,
9 Robot modelling; Fig. 1. V-rep environment
9 Fuzzy logic design.
B. Robot modelling
In the environment modelling we have created a labyrinth
in which the robot could evolve. The robot was selected from
the model browser tree of V-REP software. After the robot The robot used for the simulation of this work in V-REP is the
model was chosen, a Fuzzy logic controller was designed Pioneer_p3dx. It is equipped with two wheels and 16
using fuzzy MATLAB toolbox. ultrasonic sensors. However, only four proximity sensors were
activated and used in this work. This is to guide against
A. Environment modelling overlapping of sensor readings and aid debugging of
experimental errors. The readings of the two foremost
We used V-REP as virtual robot environment platform since it ultrasonic sensors (3,4) was combined to serve for the front
has a free academic for the universities .V-rep is a versatile distance, the sensor 0 is used to indicate the left distance and
robot simulation program that is based on distributed control for the right distance, we choose the senor 7 as shown in
architecture. Each object can be controlled via an embedded figure 2.
script that is written in c, c++, Python, java, Lua MATLAB or
Octave. It includes many types of robots such as wheeled
robots, quadcopters, hexapods, manipulators and etc. The V-
REP interface is easy to use and it is easy to create a virtual
environment suitable for the robot. In addition, the platform
proposes essentially the possibility to modify the robot
architecture with a variety of sensors and create an office
environment with the furniture of an outdoor environment in
different terrain.
Furthermore, V-REP offers a Remote API allowing the
control of mobile robot from an external application such as
MATLAB. In this case, it is imperative to disable the child
Fig. 2. Sets of sensors which are used in our FLC design
script associated to the robot. So, all avoidance obstacles

Authorized licensed use limited to: University of Glasgow. Downloaded on June 03,2020 at 17:54:48 UTC from IEEE Xplore. Restrictions apply.
C. Fuzzy Logic Design

In this paper our aim is to design a fuzzy controller to guide


the mobile robot safely in a labyrinth environment from its
starting point to its destination goal. Fuzzy models are
implemented to control the movements of the robot according
to the obstacles positions. The robot must have a decision
making such as the controlling of wheel motors speed up or
down, turn left or right etc. These actions are imposed by
determining or controlling the values of motors velocities.
Fig. 5. Fuzzy membership function Sugeno-Type for output variable Left
For navigation purpose, we have chosen a Sugeno type Motor Speed
inference system which is presented in figure 3.
The inputs to the controller are: the Front Distance (FD) Three membership functions were fixed for each distance
which is the distance between the front sensor of the robot and input. The values of the function which ranges between 0 and
the obstacle, the Left Distance (LD) which is the distance 1 represent a realistic distance of 1 meter (max) between a real
between the left sensor of the robot and the obstacle and the robot and an obstacle. Each function possesses relatively
right Distance (RD) which is the distance between the right equal range of values with ‘Near’ being the closest (0 m to 0.3
sensor of the robot and the obstacle. m) and ‘Far’which is the farthest.
The outputs of the controller are the left speed (LS) and the The outputs are constant values representing the speed of each
right speed (RS) of the left and the right wheel respectively. wheel when a particular rule is fired. Reverse = -1, Slow = 0.2,
The linguistic variables used for the three inputs are the same. Normal = 0.5, Fast = 1. The range for this value was fixed
N: Near, M: Medium and F: Far based on the reaction of the robot during testing.
L FD = L LD = L RD = [N, M, F] A total of 27 rules are applied to the controller to guide the
The linguistic variables for the two outputs are: Reverse, Slow, robot in a labyrinth environment during its motion as shown in
Normal and Fast. the Table.1 below. The rules were applied in a step-wise
L LS = L RS = [Reverse, Slow, Normal, Fast] manner with a careful observation of the robot’s reaction to a
Each input has three trapezoidal membership functions as rule before applying another rule.
shown below in figure4, while the outputs are four constants
which belong to a Sugeno type inference system presented in
figure 5. TABLE I. DESIGNED FUZZY RULES IN THE PROPOSED
CONTROLLER.

Fuzzy Front Left Right Left Right


rules obstacle obstacle obstacle motor motor
number distance distance distance speed speed
1 Near Near Near Reverse Fast
2 Near Near Medium Fast Slow
3 Near Near Far Fast Reverse
4 Near Medium Near Fast Reverse
5 Near Medium Far Fast Normal
6 Near Medium Medium Slow Fast
7 Near Far Near Reverse Fast
Fig. 3. Fuzzy Inference System (FIS) Sugeno-Type 8 Near Far Medium Normal Fast
9 Near Far Far Reverse Fast
10 Medium Near Near Reverse Fast
11 Medium Near Medium Fast Normal
12 Medium Near Far Fast Slow
13 Medium Medium Near Slow Fast
14 Medium Medium Far Fast Fast
15 Medium Medium Medium Fast Fast
16 Medium Far Near Reverse Fast
17 Medium Far Medium Slow Fast
18 Medium Far Far Fast Fast
19 Far Near Near Fast Fast
20 Far Near Medium Fast Slow
21 Far Near Far Fast Fast
Fig. 4. Fuzzy membership function for input variable Left Obstacle Distance 22 Far Medium Near Slow Fast
23 Far Medium Far Fast Slow
24 Far Medium Medium Fast Fast
25 Far Far Near Slow Fast
26 Far Far Medium Fast Fast
27 Far Far Far Fast Fast

Authorized licensed use limited to: University of Glasgow. Downloaded on June 03,2020 at 17:54:48 UTC from IEEE Xplore. Restrictions apply.
Using the knowledge base, we develop the “If - Then” fuzzy
control rules as described in Table 1 (speed change) for the
fuzzy outputs. We can propose these examples of applied
rules:

If (F.O.D. is near and L.O.D. is near and R.O.D. is near) then


(L.M.S. is reverse and R.M.S. is fast)
If (F.O.D. is near and L.O.D. is near and R.O.D. is medium)
then (L.M.S. is fast and R.M.S. is slow)
If (F.O.D. is near and L.O.D. is near and R.O.D. is far) then
(L.M.S. is fast and R.M.S. is reverse)
If (F.O.D. is far and L.O.D. is far and R.O.D. is far) then
(L.M.S. is fast and R.M.S. is fast)
Fig. 6. Rules viewer of Fuzzy Inference System
Fuzzy systems have the ability to handle uncertain and
imprecise information acquired from sensors using linguistic Figure 8 illustrates the effectiveness of the fuzzy logic
rules. controller and the choice of sensors set shown in figure 8 to
III. RESULTS AND DISCUSSION navigate within a labyrinth environment freely without collide
obstacles.
The pioneer p3dx navigation was successfully done into the
labyrinth world as shown in figure 8, so that the robot
succeeded to achieve the target starting from its original
position thanks to the fuzzy logic controller which is designed
to make the robot’s movements as below:

9 IF Right speed motor = Left speed motor > 0, then


the robot should progress Straight forward
9 IF Right speed motor = - Left speed motor > 0, then
the robot should turn to the left in place
9 IF Right speed motor > Left speed motor, then the
robot should curve to the left
9 IF Right speed motor < Left speed motor, then the
robot should curve to the right
Fig. 7. Design of Labyrinth environment using V-rep
Occasionally, the speed is reduced when there is no forward
sight of an obstacle. However, the robot was able to maintain
substantial distance away from any of the obstacles and
completely avoid collision. It is seen that it reduces its speed
when making turns and navigating bends which is a very
important key in obstacle avoidance.
Figure 6 presents the Fuzzy inference system which affect
for each input values the adequate outputs values according to
the proposed rule base, for example, when forward distance is
near at 0.235, left distance is medium at 0.638 and right
distance is medium at 0.341, left speed is slow at 0.2 and right
speed is fast at 1. (a) (b)

(c) (d)

Authorized licensed use limited to: University of Glasgow. Downloaded on June 03,2020 at 17:54:48 UTC from IEEE Xplore. Restrictions apply.
original approach the robot managed to reach the desired goal
with only three input distances.
As future work, the existing method can be combined with
another technique such as neural network (NN) or genetic
algorithm (GA) to produce a more efficient and optimal
solution.

REFERENCES
(e) (f)
[1] Zadeh LA “The Concept of a Linguistic Variable and its
Application to Approximate Reasoning”-I. ELSEVIER Information
Science 8(3): 199-249,1975.

[2] M. Faisal, R. Hedjar, M. Al Sulaiman, and K. Al-Mutib, “Fuzzy


logic navigation and obstacle avoidance by a mobile robot in an
unknown dynamic environment,” Int. J. Adv. Robot. Syst., vol. 10,
2013.

[3] X. Li and B. Choi, “Design of Obstacle Avoidance System for


(g) (h) Mobile Robot using Fuzzy Logic Systems,”
Int. J. Smart Home, vol. 7, no. 3, pp. 321–328, 2013.

[4] R. Zhao, D. H. Lee, T. T. Li, and H. K. Lee, “Autonomous


Navigation of a Mobile Robot in Unknown Environment,”Int.J.of
computer pp. 19–24, 2015.

[5] Farooq U, Hasan KM, Abbas G, Asad MU “Comparative


Analysis of Zero Order Sugeno and Mamdani Fuzzy Logic
Controllers for Obstacle Avoidance Behavior in Mobile Robot
Navigation”. IEEE International Workshop on Current Trends in
(i) (j) Information Technology (CTIT), pp. 113-119,2011
Fig. 8. Results of simulation which highlight the success of pioneer 3pdx
to navigate into labyrinth environment from start point to goal
[6] S.M.Raguraman,D.Tamilselvi,and N.Shivakumar, “Mobile
IV. CONCLUSION robot navigation using Fuzzy logic controller” ,International
Conference Control ,Automation ,Communication and Energy
Conservation ,.INCACEC ,pp.1-5,2009.
This paper presents the development of a fuzzy Logic
controller for pioneer p3dx robot using V-rep and MATLAB [7] M. A.Jeffril and N.Sariff.”The integration of Fuzzy Logic and
software for the development and the simulation of the mobile artificial neural network methods for mobile robot obstacle
robot control strategy. Both software is suitable and can be avoidance in a static environment ,”in System Engeneering and
used for robot navigation simulation purposes. In addition, the Technology (ICSET),2013 IEEE 3rd International
results show that the Fuzzy Logic controller is used to enable Conference ,pp.325-330,2013.
the robot with minimal sensors to navigate in the created
environment. [8] Marc Boumedine Montaner, and Alejandro RamirezSerrano,
By applying the concept of Fuzzy Logic rules on the pioneer “Fuzzy Knowledge-Based Controller Design for Autonomous Robot
p3dx robot, we notice that the robot was able to navigate Navigation,” ELSEVIER Expert Systems with Applications, vol. 14,
pp. 179-186, 1998.
within a labyrinth world and achieve the target.
In our case study, the Sugeno type inference system is chosen [9] ”V-REP Virtual Robot Experimentation platform”
over the Mandani-type due to its computational efficiency and [online]. Available: http://www.coppeliarobotics.com/.
constant output which is suitable in controlling the robot.
Mamdani-type FIS (Fuzzy Inference System) is not as flexible [10] M.A. Olivares-Mendez, S. Kannan, and H. Voos,”Vision based
as the Sugeno-type in system design as the latter can be fuzzy control autonomous landing with UAVs:From V-REP to real
integrated alongside the ANFIS (Adaptive Neural-Fuzzy experiments,”in 2015 23rd Mediterraneam conference on Control
Inference System) tool to optimize the outputs. and Automation ,MED 2015- Conference Proceedings.2015.pp.14-21.

Fuzzy logic approach is effective in dealing with uncertainty [11] M. Freese ,S. Singh, F. Ozaki ,and N. Matsuhira,”Virtual robot
using simple linguistic logic rules without intensive experimentation platform V-REP: A versatile 3D robot simulator ,”
mathematical models. The effectiveness and efficiency of the in lecture Notes in Computer Science (including subseries Lecture
proposed algorithm is demonstrated by simulation. With this Notes in Artificial intelligence and lecture Notes in
Bioinformatics).vol.6472 LNAL.pp.51 62,2010.

Authorized licensed use limited to: University of Glasgow. Downloaded on June 03,2020 at 17:54:48 UTC from IEEE Xplore. Restrictions apply.

You might also like