Robotics and Autonomous Systems 54 (2006) 989–1004
www.elsevier.com/locate/robot
A 3-level autonomous mobile robot navigation system designed by using
reasoning/search approaches
Jasmin Velagic ∗ , Bakir Lacevic, Branislava Perunicic
University of Sarajevo, Faculty of Electrical Engineering, Zmaja od Bosne bb, 71000 Sarajevo, Bosnia and Herzegovina
Received 3 November 2004; received in revised form 24 April 2006; accepted 15 May 2006
Available online 14 July 2006
Abstract
This paper describes how soft computing methodologies such as fuzzy logic, genetic algorithms and the Dempster–Shafer theory of evidence
can be applied in a mobile robot navigation system. The navigation system that is considered has three navigation subsystems. The lower-level
subsystem deals with the control of linear and angular volocities using a multivariable PI controller described with a full matrix. The position
control of the mobile robot is at a medium level and is nonlinear. The nonlinear control design is implemented by a backstepping algorithm
whose parameters are adjusted by a genetic algorithm. We propose a new extension of the controller mentioned, in order to rapidly decrease the
control torques needed to achieve the desired position and orientation of the mobile robot. The high-level subsystem uses fuzzy logic and the
Dempster–Shafer evidence theory to design a fusion of sensor data, map building, and path planning tasks. The fuzzy/evidence navigation based
on the building of a local map, represented as an occupancy grid, with the time update is proven to be suitable for real-time applications. The
path planning algorithm is based on a modified potential field method. In this algorithm, the fuzzy rules for selecting the relevant obstacles for
robot motion are introduced. Also, suitable steps are taken to pull the robot out of the local minima. Particular attention is paid to detection of the
robot’s trapped state and its avoidance. One of the main issues in this paper is to reduce the complexity of planning algorithms and minimize the
cost of the search. The performance of the proposed system is investigated using a dynamic model of a mobile robot. Simulation results show a
good quality of position tracking capabilities and obstacle avoidance behavior of the mobile robot.
c 2006 Elsevier B.V. All rights reserved.
Keywords: Dynamic model of mobile robot; Backstepping algorithm; Hybrid position controller; Map building; Genetic algorithm; Fuzzy logic; Path planning;
Pruning of relevant obstacles; Local minima problem
1. Introduction
The basic feature of an autonomous mobile robot is its
capability to operate independently in unknown or partially
known environments. The autonomy implies that the robot
is capable of reacting to static obstacles and unpredictable
dynamic events that may impede the successful execution of
a task [10]. To achieve this level of robustness, methods need to
be developed to provide solutions to localization, map building,
planning and control. The development of such techniques for
autonomous robot navigation is one of the major trends in
current robotics research [23].
The robot has to find a collision-free trajectory between
the starting configuration and the goal configuration in a static
∗ Corresponding author. Tel.: +387 33 25 07 65; fax: +387 33 25 07 25.
E-mail address: jasmin.velagic@etf.unsa.ba (J. Velagic).
0921-8890/$ - see front matter c 2006 Elsevier B.V. All rights reserved.
doi:10.1016/j.robot.2006.05.006
or dynamic environment containing some obstacles. To this
end, the robot needs the capability to build a map of the
environment, which is essentially a repetitive process of moving
to a new position, sensing the environment, updating the map,
and planning subsequent motion.
Most of the difficulties in this process originate in the
nature of the real world [17]: unstructured environments
and inherent large uncertainties. First, any prior knowledge
about the environment is, in general, incomplete, uncertain,
and approximate. For example, maps typically omit some
details and temporary features; also, spatial relations between
objects may have changed since the map was built. Second,
perceptually acquired information is usually unreliable.
Third, a real-world environment typically has complex and
unpredictable dynamics: objects can move, other agents can
modify the environment, and apparently stable features may
change with time. Finally, the effects of control actions are not
990
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
completely reliable, e.g. the wheels of a mobile robot may slip,
resulting in accumulated odometric errors.
Robot navigation can be defined as the combination of three
basic activities [4,16]:
• Map building. This is the process of constructing a map
from sensor readings taken at different robot locations. The
correct treatment of sensor data and the reliable localization
of the robot are fundamental in the map-building process.
• Localization. This is the process of getting the actual robot’s
location from sensor readings and the most recent map. An
accurate map and reliable sensors are crucial to achieving
good localization.
• Path planning. This is the process of generating a feasible
and safe trajectory from the current robot location to a
goal based on the current map. In this case, it is also
very important to have an accurate map and a reliable
localization.
Path planning is one of the key issues in mobile robot
navigation. Path planning is traditionally divided into two
categories: global path planning and local path planning. In
global path planning, prior knowledge of the workspace is
available [21]. Local path planning methods use ultrasonic
sensors, laser range finders, and on-board vision systems to
perceive the environment to perform on-line planning [1,8]. In
our paper, the workspace for the navigation of the mobile robot
is assumed to be unknown and it has stationary obstacles only.
In local path planning methods, particular attention is paid
to local minima problem. This problem occurs when a robot
navigates towards a desired target with no prior knowledge of
the environment and gets trapped in a loop [7,14]. This happens
usually if the environment consists of concave obstacles,
mazes, and such objects. To get out of the loop, the robot
must comprehend its repeated traversal through the same
environment, which involves memorizing the environment that
has already been seen [12].
The main contribution of this paper is the design of a
robust autonomous mobile robot control system suitable for
on-line applications with real-time requirements by using
soft computing methodologies. This system provides the
mobile robot that may navigate in an a priori unknown
indoor environment using sonar sensor information. To achieve
these requirements, the proposed system is hierarchically
organized into three distinct separated subsystems with
arbitrary responsibility. At each level of this system, one or
more soft computing methodologies are adopted to solve its
specific problems.
A low-level velocity controller is developed using the
standard PI multivariable control law. The medium-level
position control law has to be nonlinear in order to ensure
stability of the error, that is, its convergence to zero [6,18].
Some of the control parameters are continuous time functions,
and usually the backstepping method [6,15,22] was used for
their adjustment. In order to achieve the optimal parameter
values, we used a genetic algorithm. Both controllers are based
on a dynamic model of a differential drive mobile robot having
angular velocities as main variables.
Fig. 1. Mobile robot navigation system for real-time requirements.
A high-level subsystem contains map-building and pathplanning algorithms. In this paper, the application of an
occupancy-based map [17] using Dempster–Shafer evidence
theory based on sonar measurements is demonstrated. The
integration of sonar data is obtained by a low-level fusion [9].
The building of occupancy maps is well suited to path planning
and obstacle avoidance [10]. In this paper, we propose a new
path-planning approach based on the repulsive and attractive
forces, which sets the fuzzy rules for determining which
obstacles should have an influence on the mobile robot motion.
Fuzzy logic offers the possibility to mimic expert human
knowledge [2,3,11,26]. This approach provides both obstacleavoidance and target-following behaviors and uses only the
local information for decision making for the next action. Also,
we propose a new algorithm for the identification and solution
of the local minima situation during the robot’s traversal using
the set of fuzzy rules.
2. Navigation system
The proposed three-level control navigation system is shown
in Fig. 1.
The low-level velocity control system is composed of a
multivariable PI controller and a dynamic model of a mobile
robot and actuators. At the medium level, the position control
system generates a nonlinear control law whose parameters
are obtained using a genetic algorithm. The high-level system
performs map-building and path-planning tasks. This system
is in charge of sensor interpretation, sensor data fusion, map
building, and path planning. All the modules are designed using
fuzzy logic and the Dempster–Shafer theory of evidence.
In the following sections, the design of the navigation system
blocks from Fig. 1 is described.
3. Dynamics of mobile robot
In this section, a dynamic model of a nonholonomic mobile
robot with viscous friction will be derived first. A typical
representation of a nonholonomic mobile robot is shown in
Fig. 2.
The robot has two driving wheels mounted on the same
axis and a free front wheel. The two driving wheels are
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
991
equations below follow:
r
(θ̇ R + θ̇ L ) cos θ − d θ̇ sin θ,
2
r
ẏC = (θ̇ R + θ̇ L ) sin θ + d θ̇ cos θ.
2
ẋC =
Fig. 2. The representation of a nonholonomic mobile robot.
independently driven by two actuators to achieve both transition
and orientation. The position of the mobile robot in the
global frame {X, O, Y } can be defined by the position of the
mass center of the mobile robot system, denoted by C, or
alternatively by the position A, which is the center of the
mobile robot gear, and the angle between the robot’s local frame
{xm , C, ym } and the global frame. The kinetic energy of the
whole structure is given by the following equation:
T = Tl + Tr + Tkr ,
(1)
(8)
(9)
By substituting terms in Eq. (1) with expressions in Eqs.
(2)–(9), the total kinetic energy of the vehicle can be calculated
in terms of dθ R /dt and dθ L /dt:
(I A + Md 2 )r 2
I0
Mr 2
+
θ̇ R2
+
T (θ̇ R , θ̇ R ) =
8
2
8R 2
Mr 2
(I A + Md 2 )r 2
I0
+
+
θ̇ L2
+
8
2
8R 2
Mr 2
(I A + Md 2 )r 2
θ̇ R θ̇ L .
(10)
+
−
4
4R 2
d
dt
d
dt
Now, the Lagrange equations:
∂L
∂L
−
= τ R − K θ̇ R ,
∂θ R
∂ θ̇ R
∂L
∂L
= τ L − K θ̇ L ,
−
∂θ L
∂ θ̇ L
(11)
(12)
where Tl is the kinetic energy that is the consequence of pure
translation of the entire vehicle, Tr is the kinetic energy of
rotation of the vehicle in the XOY plane, and Tkr is the kinetic
energy of rotation of the wheels and rotors of the DC motors.
The values of energy terms introduced can be expressed by Eqs.
(2)–(4):
are applied.
Here, τ R and τ L are right and left actuation torques and
K dθ R /dt and K dθ L /dt are the viscous friction torques of right
and left wheel-motor systems, respectively.
Finally, the dynamic equations of motion can be expressed
as:
1
1
Mvc2 = M(ẋc2 + ẏc2 ),
2
2
1
Tr = I A θ̇ 2 ,
2
1
1
Tkr = I0 θ̇ R2 + I0 θ̇ L2 ,
2
2
Aθ̈ R + B θ̈ L = τ R − K θ̇ R ,
(13)
B θ̈ R + Aθ̈ L = τ L − K θ̇ L ,
(14)
Tl =
(2)
(3)
(4)
where M is the mass of the entire vehicle, vc is the linear
velocity of the vehicle’s center of mass C, I A is the moment
of inertia of the entire vehicle considering point A, θ is the
angle that represents the orientation of the vehicle (Fig. 2), I0 is
the moment of inertia of the rotor/wheel complex, and dθ R /dt
and dθ L /dt are the angular velocities of the right- and left-hand
wheels, respectively.
Further, the components of the velocity of the point A can
be expressed in terms of dθ R /dt and dθ L /dt:
r
ẋ A = (θ̇ R + θ̇ L ) cos θ,
2
r
ẏ A = (θ̇ R + θ̇ L ) sin θ,
2
r (θ̇ R − θ̇ L )
.
θ̇ =
2R
(5)
(6)
(7)
Since ẋC = ẋ A − d θ̇ sin θ and ẏC = ẏ A + d θ̇ cos θ , where
d is the distance between points A and C, it is obvious that the
where
(I A + Md 2 )r 2
Mr 2
+
A=
+
I
0
4
4R 2
Mr 2
(I A + Md 2 )r 2
.
B=
−
4
4R 2
(15)
In this paper, we used a mobile robot with the following
parameters: M = 10 kg, I A = 1 kg m2 , r = 0.035 m,
R = 0.175 m, d = 0.05 m, m 0 = 0.2 kg and I0 = 0.001 kg m2 .
In the following section, a design for both velocity and
position controls will be established.
4. Position and velocity control designs
The function of this controller is to implement a mapping
between the known information (e.g. reference position,
velocity and sensor information) and the actuator commands
designed to achieve the robot task. For a mobile robot, the
controller design problem can be described as follows: given
the reference position qr (t) and velocity q̇r (t), design a control
law for the actuator torques so that the mobile robot velocity
may track a given reference control path with a given smooth
992
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
open. However, usage of this law is justified by simulation
results.
The key problem in such a control design is to obtain control
coefficients k1 to k6 . To solve this problem, a genetic algorithm
is used to find the optimal values of those coefficients. To apply
this method, a low-level velocity controller has to be designed
first.
4.2. Velocity control
Fig. 3. The concept of tracking of a virtual reference robot.
velocity. Let the velocity and position of the reference robot
(Fig. 3) be given as:
T
(16)
qr = [xr yr θr ] ,
where ẋr = vr cos θr , ẏr = vr sin θr , θ̇r = ωr , and vr > 0
is the reference linear velocity and ωr is the reference angular
velocity.
4.1. Position control
The trajectory tracking problem for a mobile robot is based
on a virtual reference robot [5] that has to be tracked (Fig. 3).
The tracking position error between the reference robot and the
actual robot can be expressed in the robot frame as:
cos θ
sin θ 0
xr − x
e1
e p = e2 = T p eq = − sin θ cos θ 0 yr − y , (17)
0
0
1
e3
θr − θ
T
where eq = ex e y eθ .
The dynamics of the position error derived in (17) is
postulated as:
ė1 = ωe2 + u 1 ,
ė2 = −ωe1 + vr sin e3 ,
ė3 = u 2 ,
(18)
where inputs u 1 and u 2 are new control inputs.
In this paper, we propose the following control inputs in the
velocity control loop:
u 1 = vr cos e3 + q
k 1 e1
,
k4 + e12 + e22
k3 vr sin e3
+ q
u 2 = ωr + q
,
k6 + e32
k5 + e12 + e22
k2 vr e2
(19)
where k1 , k2 , k3 , k4 , k5 and k6 are positive parameters.
Eq. (19) is a modified backstepping control law given
first in [6]. The modification consists of the introduction of
denominators. In [6], Lyapunov’s stability theory was used
to prove that the control law that is considered provides a
uniformly bounded norm of error ke p (t)k. The issue of rigorous
proof of stability for the control law introduced (19) remains
The dynamics of the velocity controller is given by the
following equations in the Laplace domain:
1 g1 (s) g2 (s)
ev (s)
τ (s)
,
(20)
τ (s) = R
=
τ L (s)
r g1 (s) −g2 (s) eω (s)
where ev (s) is the linear velocity error and eω (s) is the
angular velocity error. This structure differs from previously
used diagonal structures. Transfer functions g j (s) are chosen
to represent PI controllers:
1
· R,
g1 (s) = K 1 1 +
Ti1 s
(21)
1
· R.
g2 (s) = K 2 1 +
Ti2 s
The particular choice of the adopted multivariable PI
controller described by Eqs. (20) and (21) is justified with the
following theorem.
Theorem. Torque control (20) ensures tracking servo inputs u 1
and u 2 with zero steady-state errors.
Proof. When we substitute θ̇ R with ω R , θ̇ L with ω L , and
consider (20), we can write another form of (13) and (14):
As + K
Bs
ω R (s)
Bs
As + K ω L (s)
1 g1 (s) g2 (s)
u 1 (s) − v(s)
,
(22)
=
r g1 (s) −g2 (s) u 2 (s) − ω(s)
where ω R and ω L can be expressed in terms of ω and v as:
v − Rω
v + Rω
, ωL =
r
r
and then (22) can be transformed to:
As + K
Bs
v(s) + Rω(s)
Bs
As + K v(s) − Rω(s)
g (s) g2 (s)
u 1 (s) − v(s)
= 1
g1 (s) −g2 (s) u 2 (s) − ω(s)
ωR =
and further to:
α1 (s) α2 (s)
v(s)
g (s) g2 (s)
u 1 (s)
= 1
, (23)
α1 (s) −α2 (s) ω(s)
g1 (s) −g2 (s) u 2 (s)
where
(A + B)s 2 + (K + K 1 Ti1 )s + K 1
s
R(A − B)s 2 + (R K + K 2 Ti2 )s + K 2
α2 (s) =
.
s
α1 (s) =
(24)
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
993
Fig. 6. Chromosome structure.
If ex (t), e y (t) and eθ (t) (0 < t < ts ) are error functions,
the objective function is calculated as in (26) [13]. Parameters
ax , a y and aθ are some positive real numbers. N is the number
of error samples. The mapping between the objective and the
fitness function has not been performed, so it is obvious that the
better individual has the smaller value of the objective function
(fitness). In order to evaluate the fitness of the individual, it is
necessary to run the simulation:
N
−1
X
ts
ln 1 + ex i
F = ax
N
i=0
N
−1
X
ts
ln 1 + e y i
+ ay
N
i=0
Fig. 4. Linear velocity step response.
+ aθ
N
−1
X
i=0
The following equations could be easily derived from (23):
v(s) =
=
ω(s) =
=
(26)
Values of the objective function parameters are: ax = aθ =
1, a y = 2, N = 1000 and ts = 10 s.
In (26), we have chosen the following criterion:
Fig. 5. Angular velocity step response.
g1
u 1 (s) = G 1 u 1 (s)
α1
K 1 Ti1 s + K 1
u 1 (s)
(A + B)s 2 + (K + K 1 Ti1 )s + K 1
g2
u 2 (s) = G 2 u 2 (s)
α2
K 2 Ti2 s + K 2
u 2 (s).
R(A − B)s 2 + (R K + K 2 Ti2 )s + K 2
ts
.
ln 1 + eθ i
N
J1 =
N
X
ln(1 + |ei |),
(27)
i=1
rather than the criteria that are normally used, given by (28) and
(29):
(25)
It is obvious that transfer functions G 1 and G 2 are static with
gains equal to “1”, which completes the proof.
The velocity control loop structure is shown in Fig. 1, as an
inner loop. From the simulation results obtained (Figs. 4 and 5),
it can be seen that the proposed PI controller successfully tracks
the given linear and angular velocity profiles. The controller
parameters used for this simulation are K 1 = 129.7749, K 2 =
41.0233, Ti1 = 11.4018, and Ti2 = 24.1873, which are tuned
using standard GA.
4.3. Evolution of the coefficients
In this paper, a simple genetic algorithm is used for
parameter evolution of coefficients k1 to k6 , which encodes into
a binary chromosome (Fig. 6).
J2 =
N
X
|ei |
(28)
N
X
ei2 .
(29)
i=1
J3 =
i=1
The criterion J1 penalizes more smaller errors (expected in
the stationary state) (Fig. 7) and consequently it ensures better
position tracking.
Error eθ (t) is calculated as follows:
θr − θ,
if |θr − θ| < min(|θr − θ − 2π |, |θr − θ + 2π |)
θ − θ − 2π,
r
eθ =
if |θr − θ − 2π| < min(|θr − θ|, |θr − θ + 2π|)
θr − θ + 2π,
if |θr − θ + 2π | < min(|θr − θ|, |θr − θ − 2π |).
(30)
This type of error is appropriate, since it prevents
unnecessary full-circle rotation. The coefficient evolution is
994
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
Fig. 9. Tracking robot does not “see” virtual robot.
Fig. 7. Graphical illustration of different criteria.
Fig. 10. Producing ωs (t).
to the straight line, determined with the robot and its initial
orientation (Fig. 9).
For that purpose, the following control law, which provides
velocity servo inputs, is proposed:
ū 1 (t) = α(t)u 1 (t)
ū 2 (t) = α(t)u 2 (t) + (1 − α(t))ωs (t).
(32)
Function ωs (t) is generated as the output of the following
system (Fig. 10).
The input d(t) is given by:
d(t) = sgn(atan2(e y (t), ex (t)) − θ(t)).
(33)
The function α(t) satisfy the following differential equation:
Fig. 8. Change of the best fitness in the population through generations.
d2 α(t)
dα(t)
+ α(t) = z(t),
(34)
+ b1
2
dt
dt
where z(t) is close to a step function and is given by:
1, if ∃t1 ∈ [0, t] : θ(t1 ) = atan2(e y (t1 ), ex (t1 ))
z(t) =
(35)
0, otherwise.
b0
performed using a lemniscate as a suitable complex trajectory:
xr (t) =
yr (t) =
a sin(αt)
1 + sin2 (αt)
a sin(αt) cos(αt)
1 + sin2 (αt)
ẏr (αt)
θr (t) = arctan
,
ẋr (αt)
(31)
where a = α = 1. The evolution process (population size is 40)
is depicted in Fig. 8.
This evolution yielded the following coefficient values:
K 1 = 6.2457, K 2 = 221.2306, K 3 = 2.3433, K 4 =
13.5117, K 5 = 3.1933, K 6 = 8.3361.
4.4. Design of hybrid position controller
It has been noticed that, during the preliminary simulations,
at the beginning of tracking the control torques increase rapidly
if the initial position of the reference robot does not belong
This way, the robot does not start tracking the virtual robot
instantly; it first rotates around its own axis with an increasing
angular velocity ωs (t), until it “sees” the virtual robot
(Fig. 11).
4.5. Simulation results
The validation of the proposed hybrid controller was tested
with a lamniscate trajectory using an ordinary backstepping
algorithm [13] and a hybrid backstepping algorithm.
The results of the trajectory tracking in both cases are shown
in Figs. 12 and 13.
From these figures, it can be concluded that satisfactory
tracking results are obtained using both control strategies.
However, better tracking of the reference trajectory is achieved
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
Fig. 11. “Seeking” a virtual robot.
Fig. 14. X and Y coordinate error.
Fig. 12. Tracking a lemniscate trajectory (hybrid).
Fig. 15. Orientation error.
Fig. 13. Tracking a lemniscate trajectory (ordinary).
in the case of an ordinary controller, especially at the beginning
of transient process. This is illustrated in Figs. 14 and 15.
However, the hybrid controller ensures that much smaller
values of the control input torques are needed to obtain the
reference position and orientation trajectories (Figs. 16 and 18).
Consequently, the required power of the DC motors is also
much smaller in the case of a hybrid controller (Figs. 17 and
19).
Finally, the comparison of Cartesian error norm profiles
is presented for various friction coefficients in Fig. 20. This
experiment has also been performed for a lemniscate path. It
is obvious that the increase in friction causes degradation of the
control system performance.
The next section describes a map-building process which
uses Dempster–Shafer evidence theory.
Fig. 16. Control torques (hybrid controller).
Fig. 17. Required power of DC motors (hybrid controller).
995
996
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
Fig. 18. Control torques (ordinary controller — the first second of tracking).
Here, the proposed map-building process utilizes Dempster–
Shafer evidence theory. The sonar sensor readings are
interpreted by this theory and used to modify the map using
Dempster’s inference rule. Whenever the robot moves, it
catches new information about the environment and updates the
old map.
More specifically, to build an occupancy map of the
environment, we first construct a grid representing the whole
space. Every discrete region of the map (each cell) may be
in two states: Empty and Full. A series of range readings
{r1 , . . . , rn } collected at known sensor locations is available.
In principle, the task of the Map Building System is to process
the readings in order to assess, as accurately as possible, which
cells are (even partially) occupied by obstacles and which cells
are (completely) empty and thus suitable for robot navigation.
5.1. Review of Dempster–Shafer’s theory of evidence
Fig. 19. Required power of DC motors (ordinary controller — the first second
of tracking).
The theory of evidence appears in the definition of a frame
of discernment, Θ. This is a set of labels representing mutually
exhaustive events. As described in [19,20], the relevant labels
for map-building applications are Θ = {E, O}. This means
that a grid cell can be empty (E) or occupied (O). A basic
probability assignment is a function m : Λ → [0, 1], where Λ is
the set of all subsets of Θ; in our case Λ = {φ, E, O, {E, O}}.
The state of each cell is described by assigning basic probability
values to each label in Λ. However, we know that, for each cell
i, j in the grid,
m i, j (φ) = 0,
X
m i, j (φ) + m i, j (E) + m i, j (O)
m i, j (A) =
(36)
A⊂Ψ
+ m i, j ({E, O}) = 1.
(37)
Thus, the label A is assigned a basic probability value m(A)
describing the degree of belief that is committed to exactly A.
Every cell in the map is first initialized, as follows:
m i, j (E) = m i, j (O) = 0,
Fig. 20. Norms of Cartesian error for various friction coefficients.
m i, j ({E, O}) = 1.
(38)
A basic probability assignment usually defines the current
four states of each cell. However, the number of states can be
reduced to two (m i, j (E), m i, j (O)), assuming that m i, j (φ) = 0
and applying (37). The state (0, 0) means total ignorance, and
so m i, j ({E, O}) = 1. When the robot is sure about the cell
occupancy, then m i, j (O) = 1, and that makes the other labels
equal to zero. Conversely, m i, j (E) = 1 when the robot is sure
that a cell is empty.
5. Map building
5.2. Sensor modeling and measurements interpretation
An occupancy grid is essentially a data structure that
indicates the certainty that a specific part of space is occupied
by an obstacle. It represents an environment as a twodimensional array. Each element of the array corresponds to a
specific square on the surface of the actual world, and its value
shows the certainty that there is some obstacle there. When new
information about the world is received, the array is adjusted on
the basis of the nature of the information.
The Polaroid Ultrasonic Rangefinder (Polaroid, 1987) is
used for map building. This is a very common device that can
detect distances in the range of 0.47–10 m with 1% accuracy.
The multi-lobed power diagram of the transmitter is obtained
from the radiation directivity function of a plane circular piston:
D(ϑ) = 2
J1 (ωη)
ωη sin ϑ
(39)
997
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
In region I, where R − ε < r < R + ε:
2
2
β−α
ε−|R−r |
+
β
ε
m(O) =
,
2
m(E) = 0,
m({E, O}) = 1 − m(O).
(40)
(41)
(42)
In region II, where Rmin < r < R − ε:
Fig. 21. Typical beam pattern of Polaroid ultrasonic sensor.
m(O) = 0,
m(E) =
β−α
β
(43)
2
+
R−ε−r
R−ε
2
m({E, O}) = 1 − m(E).
2
,
(44)
(45)
R is the range response from the ultrasonic sensor, and (r, α) is
the coordinate of a point inside the sonar cone. ε is the range
error, and it distributes the evidence in Region I. β is the half
open beam angle of the sonar cone.
5.3. The fusion of sensor data
Fig. 22. The profile of the ultrasonic sensor model.
where J1 (·) is the Bessel function of the first order, ω = 2π/λ
depends on the wavelength λ, η is the piston radius, and ϑ is the
azimuthal angle measured with respect to the beam’s central
axis. For the particular sensor that we used, η = 0.01921 m
and λ = v/ϕ, where v is the sound speed in air and ϕ =
49.410 kHz. In practice, it is sufficient to take into account only
the principal lobe of the pattern, and consider the waves to be
diffused over a radiation cone of 30◦ width (Fig. 21).
A single reading provides the information that one or
more obstacles are located somewhere along the 30◦ arc of
circumference of the radius R (Fig. 21). Hence, there is
evidence that cells located in the proximity may be ‘occupied’.
On the other hand, cells well inside the circular sector of radius
R are likely to be ‘empty’. To model this knowledge, we use
the Dempster–Shafer theory of evidence.
The evidence is obtained by projecting the raw ultrasonic
sensor responses onto the evidence grid through the sonar
profile model. This profile sonar model is a function of the angle
and the sonar range reading, as shown in Fig. 22.
The model converts the range information into probability
values. The model in Fig. 22 is given by Eqs. (40)–(45).
The sonar data interpreted by Dempster–Shafer’s theory
of evidence are collected and updated into a map using the
same theory of evidence. In our approach, the basic probability
assignment corresponding to a range reading r is obtained
directly using Eqs. (40)–(45).
Finally, each cell in the map is updated using Dempster’s
rule of combination. This rule allows us to combine
independent evidence about a certain event A, m 1 (A) and
m 2 (A). In our case, they will be the mentioned basic probability
assignments for the old map belief m t−1
M (A) and the current
sensor reading m tS (A). For the events E and O, the update rules
are:
t
m tM (E) = m t−1
M ⊕ m S (E)
t
m t−1 (E)m t (E) + m t−1
M (E)m S ({E, O})
= M t−1 S t
t
1 − m M (E)m S (O) − m t−1
M (O)m S (E)
t−1
m M ({E, O})m tS (E)
+
t−1
t
1 − m M (E)m tS (O) − m t−1
M (O)m S (E)
t
m tM (O) = m t−1
M ⊕ m S (O)
t
m t−1 (O)m t (O) + m t−1
M (O)m S ({E, O})
= M t−1 S t
t
1 − m M (E)m S (O) − m t−1
M (O)m S (E)
t−1
t
m M ({E, O})m S (O)
+
.
t−1
t
1 − m M (E)m tS (O) − m t−1
M (O)m S (E)
(46)
(47)
The next example illustrates the usage of Dempster–Shafer’s
theory of evidence for the map-building process.
Example 1. Let the robot be located in cell (14, 10) in the
beginning of the navigation process. The basic probability
assignments of the map cells have zero values before the start.
Then, sonars scan the environment and sonars S0 and S1 detect
some possible obstacles on distance r0 = 7 and r1 = 5, with
angles α0 = 0 and α1 = 3 (Fig. 23). In this example, R = 8 and
ε = 1.5.
998
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
(r0 = 6.5, r1 = 7, r15 = 7.5, α0 = 2, α1 = 5 and α15 = 4)):
2
2
15−2
+ 1.5−|8−6.5|
15
1.5
S0 (6.5)
= 0.376
m 8,8
(O) =
2
S0 (6.5)
m 8,8
(E) = 0
S (6.5)
S (6.5)
0
m 8,8
0
({E, O}) = 1 − m 8,8
(Z ) = 0.624,
2
2
15−5
+ 1.5−|8−7|
15
1.5
S1 (7)
= 0.278
m 6,10
(O) =
2
S1 (7)
m 6,10
(E) = 0
S (7)
Fig. 23. Initial position.
S (7)
1
1
({E, O}) = 1 − m 6,10
= 0.722,
m 6,10
2
2
15−4
+ 1.5−|8−7.5|
15
1.5
S15 (7.5)
m 5,14
(O) =
= 0.491
2
S15 (7.5)
m 5,14
(E) = 0
S (7.5)
15
m 5,14
S (7.5)
15
({E, O}) = 1 − m 5,14
= 0.509.
Evidence about occupancies of cells (8, 8) and (6, 10) are
updated using Dempster’s rules of combination (46) and (47):
t−1
m t8,8 (E) = m 8,8
⊕ m t8,8 (E) = 0
t
m t8,8 (O) = m t−1
8,8 ⊕ m 8.8 (O) = 0.723
m t8,8 ({E, O}) = 0.277,
t−1
m t6,10 (E) = m 6,10
⊕ m t6,10 (E) = 0
t−1
m t6,10 (O) = m 6,10
⊕ m t6.10 (O) = 0.519
Fig. 24. Occupancy determination based on sonar measurements in t = 2 s.
The new basic probability assignments for cells (8, 8) and
(6, 10) in the map become (the first lies in region I and the
second lies in region II):
S0 (7)
m 8,8
(O)
=
15−0
15
2
+
1.5−|8−7|
1.5
2
2
= 0.556
S (7)
0
m 8,8
(E) = 0
S (7)
S (7)
m t6,10 ({E, O}) = 0.481,
m t5,14 (Z ) = 0.491
m t5,14 (P) = 0
m t5,14 ({P, Z }) = 0.509.
From the new results it can be concluded that the evidence
about the occupancy of cells (8, 8) and (6, 10) is increased. This
process continues until the target is reached.
In the following section, the new path-planning algorithm is
introduced.
0
0
m 8,8
({E, O}) = 1 − m 8,8
(Z ) = 0.444,
6. Path planning
and
The solution of the obstacle avoidance problem in this paper
is a modified principle of acting attractive and repulsive forces.
S1 (5)
m 6,10
(O)
S1 (5)
m 6,10
(E)
S (5)
=0
=
15−3
15
2
+
8−1.5−5
10−1.5
2
2
6.1. Calculation of attractive and repulsive forces
= 0.336
S (5)
1
1
m 6,10
({E, O}) = 1 − m 6,10
= 0.664.
In the next moment, the robot is moving in a direction
depicted by the broken line and sonars scan the environment
again. This situation is given in Fig. 24.
The possibilities that cells (8, 8), (6, 10) and (5, 14) are
occupied is based on sonar measurements (S0 , S1 and S15
In this approach, environment obstacles exert a repulsive
force on the robot and the target position exerts an attractive
force. The amplitude of the repulsive force is defined as
F=
1
,
Rr2
(48)
where Rr is the distance between the current robot location and
the obstacle location. In this situation, the planning algorithm
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
Fig. 25. The concept of path planning based on repulsive and attractive forces.
calculates the following values (Fig. 25):
1xo = xo − xm
1yo = yo − ym
q
Rr = 1xo2 + 1yo2 ,
(49)
where 1xo and 1yo are coordinate distances between the
mobile robot position and the obstacle position. The projections
of force F on x and y axis are:
Fx = |F · cos(θ)|,
Fy = |F · sin(θ)|,
(50)
(51)
where θ denotes the angle between the robot velocity direction
and the repulsive force direction:
θ = arctan
1yo
.
1xo
(52)
The coordinates of the vector of the repulsive force are:
x + Fx , for 1xo < 0
xr = m
(53)
xm − Fx , for 1xo > 0,
y + Fy , for 1y p < 0
yr = t
(54)
yt − Fy , for 1y p > 0.
999
Fig. 26. Stochastic force acting.
is moved to another location. This parameter is related to the
radius R of the sonar model. In the following consideration, the
R is 4 m. In the case of a larger value of R, another value of κ
will be selected.
The resulting vector, which determines the new target
position of the robot, is obtained as a sum of the vectors
of repulsive and attractive forces (Fig. 25). The new target
coordinates of the robot are:
xn = xr + 1xt
yn = yr + 1yt .
(57)
To avoid a possible standstill which may arise if the robot,
the obstacle and the target aligned, we introduce a stochastic
force orthogonal to the planned trajectory when the sum of
forces is zero, and the robot is not yet at the target. This situation
is shown in Fig. 26 and explained by fuzzy rules (58).
The fuzzy rules for action of the stochastic force are:
If |Fa | = |F| and the angle between Fa and F
is less then 0.01 rad
then Fs is big and acts orthogonally on the robot.
In other cases, Fs is small.
(58)
In the following subsection, the proposed concept of the
pruning of relevant obstacles is demonstrated.
The attractive force is defined using Ra as
1xt = xt − xm
1yt = yt − ym
q
Ra = 1xt2 + 1yt2 .
(55)
In this paper, we proposed the following law for attractive
forces:
κ|Ra |, for |Ra | ≥ 1 m
Fa =
(56)
|Ra |,
for |Ra | < 1 m,
where κ = 5. This parameter is involved to reach the
target when obstacles (relevant obstacles which satisfy pruning
rules in the next subsection) are located in the circle with
radius 1 m and then they produce strong repulsive forces. The
discontinuity at a point of 1 m causes the orientation of the robot
to be slightly modified, since the new intermediate target point
6.2. Pruning of relevant obstacles
The number of obstacles in the environment may be large.
If all the obstacles exert a repulsive force, the calculation of the
field is extensive, and yet it may produce erratic trajectories.
Therefore, we introduce a pruning of obstacles with an aim to
preserve only those relevant for the trajectory planning. This
pruning is performed in a set of steps. In these steps, we use the
concept of the visibility field of the mobile robot [24,25].
The practical visibility field of a mobile robot here is a circle
with the radius rv = 4 m. However, in our approach we use only
a square inscribed in this circle. The reason is that the local map
has m×m points. This local map is now represented as an m×m
matrix, and each cell in the map is one matrix element.
1000
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
Fig. 27. The visibility region of a mobile robot using sonar sensors.
Due to this geometry, some obstacles will be in visibility in
the field given by
Rr < rv .
Fig. 28. The forces acting on the robot motion.
(59)
but they will not be taken into account. For example, in Fig. 27,
the obstacles 3, 4 and 5 satisfy (59). However, only obstacles 4
and 5 remain as relevant.
Next, all the obstacles in the square are not equally relevant
to the future robot motion towards the target. To pinpoint the
most relevant, we first define a circular area around the target, named target circle with a radius Ra [24]. The value Ra is
slightly larger than the distance between the robot and the target, as represented in Fig. 28 (Ra + 0.1). The extension of 0.1
ensures a safe region around the robot. We consider that only
the obstacles in the section where the target circle and the visibility square overlap are really relevant to the motion planning.
Then, among these obstacles, we take the one nearest to the
robot. The distance between the target and the obstacle is R p :
q
(60)
R p = (xt − xo )2 + (yt − yo )2 .
Fig. 29. The strong forces produced by an obstacle that is behind and near the
target. This force pulls the robot out from the target.
In our approach, the rule for the visibility of an obstacle
inside the square is given as:
If ((Ra + 0.1) > R p ) and (Rr < rv ) then
the obstacle is visible and it should influence the motion. (61)
In Fig. 28, only obstacle 3 influences the new target point
determination.
The further reduction of obstacles is still possible. An
obstacle located in the above-defined area (61) but behind the
current robot position, or behind the target, and not on the
direction of motion should not be taken into account. The force
produced by such an obstacle can be strong, but obviously it
should be neglected. This situation is illustrated in Fig. 29.
To solve this problem, we introduce a new circle around the
robot with a radius equal to the distance from the robot to the
target (Fig. 30). In this way, the obstacles located behind the
target and outside this circle are not considered and the robot
will not be pushed aside to go back.
So, we introduce a new restriction in the final visibility rule:
If ((Ra + 0.1) > R p ) and (Rr < rv ) and (Rr < Ra ) then
the obstacle is visible and it should influence the motion. (62)
Fig. 30. Introduction of a new circle around the target to avoid the influence of
the strong repulsive force.
Finally, in our example (Fig. 31) we have only one relevant
obstacle 3.
In the case that no obstacles are located on the robot motion
towards the target, its velocity is governed by the position
controller. When the distance between the robot and relevant
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
Fig. 31. General concept of determination of new target position.
Fig. 34. Illustration of a local minima problem.
Fig. 32. Dependence of robot velocity on distance between the robot and the
relevant obstacle.
Fig. 35. Identification of point a, in which the robot is trapped.
1001
6.3. Local minima problem solving
For local minima problem avoidance (Fig. 34), we introduce
an algorithm that does not require memorizing the already seen
environment. This algorithm is capable of identifying the local
minima situation during the robot’s motion, by recognizing its
trapped state (infinite loop). In this state, the robot oscilates
between two points.
This algorithm is described as follows:
Algorithm for a local minima avoidance problem.
Fig. 33. Movement when two relevant obstacles are in a 1 m circle.
obstacles, which satisfy above conditions, is less then 1 m, we
introduced the parameter k, which multiplies the velocities of
the left and the right wheels. Using this parameter, possible
collisions between the robot and obstacle and the robot turning
over are avoided. The graph of robot velocity versus the
distance between the robot and the relevant obstacle is shown
in Fig. 32.
In the situation represented in Fig. 33, two obstacles are
placed in a 1 m circle. The robot cannot pass between them
and it continues towards the target during a maneuver around
the obstacle so that it gets further away from the robot location
(smaller repulsive force). Hence the robot does not enter into an
oscillatory movement.
In the rest of the section, the steps for a local minima
problem solution are introduced.
Step 1: Calculate attractive and reflexive forces and their sum
(resultant force)
Step 2: If resultant force tends to push robot to go back then
do not take into consideration the attractive force and
keep the reflexive force constant and equal to the
closest obstacle distance
else apply the principle of attractive and reflexive
forces
end
Step 3: if robot has not reached target point then
go to Step 1
end
The above steps are executed until the robot reaches the
target. The algorithm turns the robot right at switching point
a (point at which the robot tends to go back) and the robot
continues to see the wall on its left until it arrives at switching
point b after it goes towards a target point using the principle
of attractive and reflexive forces (Fig. 35).
Simulation results of local minima avoidance using the
proposed algorithm are given in Fig. 36. In this case, the
1002
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
Fig. 36. Simulation results of local minima problem solution using the
proposed algorithm.
Fig. 37. Obstacle avoidance moving to the target.
Fig. 38. Wall following.
Fig. 39. Passing through a narrow door.
proposed algorithm executes a sequence of steps that pulls it
out of the trap.
In addition, more simulations are performed in the next
section to present the effectiveness of the proposed approach
in cluttered environment and environments with obstacle loops
and mazes.
7. Simulation results
To show the usefulness of the proposed approach, a series of
simulations has been conducted using an arbitrarily constructed
environment including obstacles. The robot has been modeled
as a small circle, and imaginary sensors (eight in number) are
placed in the form of an arc along the circumference of the
robot. The minimum distance obtained within the cone of each
sensor is considered as the distance of the obstacle from that
sensor, and it is available as an input to the algorithm. All
of the simulations are performed in the MATLAB/SIMULINK
environment.
In these simulations, the positions of all the obstacles in the
workspace are unknown to the robot. The robot is aware of
its start and finish positions only. Simulation results obtained
in seven different working scenarios (with different obstacle
constellations) are presented in Figs. 37–44.
Fig. 40. Finding a target partially surrounded by obstacles.
The proposed algorithm performs well in a cluttered
environment, as shown in Fig. 37.
The processes for wall following and passing through a
narrow door using our algorithm are shown in Figs. 38 and 39,
respectively.
From the results obtained, it can be concluded that the robot
successfully tracks the wall and passes through the narrow door.
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
Fig. 41. Finding a target surrounded by obstacles.
1003
Fig. 44. Finding a target in a more cluttered maze.
A new problem arrises if the environment consists of
concave obstacles and the robot gets into an infinite loop or
into a local minimum. An even more complex problem arises
when the obstacles are long and have many bends and kinks;
the target attracting and goal repulsing behavior conflict and
the robot also gets itself into an infinite loop (Fig. 43). The
effectiveness of the proposed algorithm for solving this problem
is illustrated in the same figure. In this way, the robot does not
get trapped. Finally, the behavior of the mobile robot in a more
cluttered environment is illustrated in Fig. 44.
These results clearly show that this system is able to navigate
in complex environments such as mazes.
8. Conclusions
Fig. 42. Finding a target under a long loop obstacle.
Fig. 43. Finding a target in a maze.
In all of the cases in which the target is surrounded by
cluttered obstacles, which form the convex loop, the proposed
algorithm, described by Eqs. (48)–(62), helps the robot to find
the target (Figs. 40 and 41). The algorithm works very well in
the case when a cluttered environment consists of walls in the
form of long loops, which is always convex in order to current
robot location (Fig. 42).
In this paper, we present a new mobile robot navigation
strategy based on the soft computing methodologies in an a
priori unknown environment. The aim was to obtain robust
robot control suitable for on-line applications with real-time
requirements. For this purpose, soft computing methodologies,
such as fuzzy logic and other reasoning techniques, were
successfully used.
A dynamic model of a mobile robot with nonholonomic
constraints is derived first. The special feature of this model is
that the main variables are the angular velocities of the wheels.
Due to this approach, the impossibility of lateral motion is
embedded into the model. In addition, such a model is easily
simulated. The proposed navigation system consists of three
control subsystems.
The low-level control of robot velocities is designed using
PI controllers. The efficiency of this controller is demonstrated
by various trajectory trackings.
The coefficients of the medium-level nonlinear backstepping
position controller are adjusted by a genetic algorithm. This
controller reaches good position-tracking performance, but
control torque values are too big. To solve this problem, a
new control law is introduced which provides velocity servo
inputs, and in this way it significantly decreases the control
input torques.
The high-level control system consists of sonar data
interpretation and fusion, map building, and path planning.
1004
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
The sonar data interpretation and fusion were realized using
the Dempster–Shafer theory of evidence. The local map is
represented by an occupancy grid with the updates obtained by
Dempster rules of combination.
An efficient local path planning algorithm is required to
achieve real-time operation. The proposed local planning is
based on repulsive and attractive forces and the pruning of
relevant obstacles by fuzzy rules. It shows robust and stable
performance and simulation results. For the local minima
avoidance problem, an algorithm that does not need to
memorize previous movement is proposed.
A possible extension of this work is the navigation of a
mobile robot in a dynamic environment.
References
[1] J. Borenstein, Y. Koren, The vector field histogram — fast obstacle
avoidance for mobile robots, IEEE Transactions on Robotics and
Automation 7 (1991).
[2] W. Chiang, J. Lee, Fuzzy Logic for the Applications to Complex Systems,
World Scientific, Singapore, 1996.
[3] D. Driankov, H. Hellendoorn, M. Reinfrank, An Introduction to Fuzzy
Control, Springer-Verlag, Berlin, 1996.
[4] G. Dudek, M. Jenkin, Computational Principles of Mobile Robotics,
Cambridge University Press, Cambridge, 2000.
[5] M. Egerstedt, X. Hu, A. Stotsky, Control of mobile platforms using a
virtual vehicle approach, IEEE Transactions on Automatic Control 46 (11)
(2001) 1777–1882.
[6] T. Hu, S.X. Yang, Real-time motion control of a nonholonomic mobile
robot with unknown dynamics, in: Proceedings of the Computational
Kinematics Conference, Seoul, Korea, 2001.
[7] H.P. Huang, P.C. Lee, A real-time algorithm for obstacle avoidance of
autonomous mobile robots, Robotica 10 (1992) 217–227.
[8] S. Ishikawa, A method of indoor mobile robot navigation by fuzzy control,
in: Proceedings of the International Conference on Intelligent Robot and
Systems, Osaka, Japan, 1991, pp. 1013–1018.
[9] M. Kam, X. Zhu, P. Kalata, Sensor fusion for mobile robot navigation,
Proceedings of the IEEE 85 (1) (1997) 108–119.
[10] Y.C. Kim, S.B. Cho, S.R. Oh, Map-building of a real mobile robot with
GA-fuzzy controller, International Journal of Fuzzy Systems 4 (2) (2002)
696–703.
[11] B. Kosko, Neural Networks and Fuzzy Systems, Prentice Hall, NJ, 1992.
[12] K.M. Krishna, P.K. Karla, Solving the local minima problem for a mobile
robot by classification of spatio-temporal sensory sequences, Journal of
Robotic Systems 17 (10) (2000) 549–564.
[13] B. Lacevic, J. Velagic, B. Perunicic, Evolution of parameters of nonlinear
position control for dynamic model of mobile robot with friction, in:
Proceedings of the 16th IFAC World Congress, Prague, Czech Republic,
3–8 June 2005, Paper no. 2682.
[14] V.J. Lumelsky, A comparative study on the path performance of mazesearching and robot motion planning algorithms, IEEE Transactions on
Robotics and Automation 7 (1991) 57–66.
[15] P. Morin, C. Samson, Application of backstepping techniques to timevarying exponential stabilisation of chained systems, European Journal of
Control 3 (1) (1997) 15–36.
[16] U. Nehmzow, Mobile Robotics: A Practical Introduction, in: Series on
Applied Computing, Springer-Verlag, London, UK, 2000.
[17] G. Oriolo, G. Ulivi, M. Vendittelli, Real-time map building and navigation
for autonomous robots in unknown environments, IEEE Transactions on
System, Man and Cybernetics part B 28 (3) (1998) 316–333.
[18] G. Oriolo, A. De Luca, M. Vendittelli, WMR control via dynamic feedback linearization: design, implementation and experimental validation,
IEEE Transactions on Control System Technology 10 (6) (2002) 835–852.
[19] D. Pagac, E. Nebot, H. Durrant-Whyte, An evidential approach
to probabilistic map-building, IEEE Transactions on Robotics and
Automation 14 (4) (1998) 623–629.
[20] M. Ribo, A. Pinz, A comparison of three uncertainty calculi for building
sonar-based occupancy grids, Robotics and Autonomous Systems 35
(2001) 201–209.
[21] O. Takahashi, R.J. Schilling, Motion planning in a plane using generalized
Voronoi diagrams, IEEE Transactions on Robotics and Automation 5
(1989) 143–150.
[22] H.G. Tanner, K.J. Kyriakopoulos, Backstepping for nonsmooth systems,
Automatica 39 (5) (2003) 1259–1265.
[23] S.G. Tzafestas, Advances in Intelligent Autonomous Systems, Kluwer,
Dordrecht, Boston, 1999.
[24] J. Velagic, B. Perunicic, M. Hebibovic, N. Osmic, Autonomous mobile
robot navigation system based on soft computing methodologies, in:
Proceedings of the IEEE International Conference on Mechatronics and
Robotics, MechRob2004, 13–15 September 2004, Aachen, Germany,
2004, pp. 695–701.
[25] J. Velagic, B. Lacevic, B. Perunicic, New concept of the fast
reactive mobile robot navigation using a pruning of relevant obstacles,
in: Proceedings of the IEEE International Symposium on Industrial
Electronics, ISIE 2005, 20–23 June 2005, Dubrovnik, Croatia, 2005,
pp. 161–166.
[26] A. Ziloouchian, M. Jamshidi, Intelligent Control Systems Using Soft
Computing Methodologies, CRC Press, Boca Raton, 2001.
Jasmin Velagic Ph.D. received a M.Sc.E.E. degree
from the Faculty of Electrical Engineering and
Computing, University of Zagreb, Croatia in 1999
and a Ph.D. degree from the Faculty of Electrical
Engineering, University of Sarajevo, in 2005. He was
a teaching assistant with the Faculty of Electrical
Engineering, University of Sarajevo, from 1997 until
2001. During 2001–2006, he was a senior assistant
at the same faculty. Since 2006, he has been an
assistant professor with the Department of Automatic Control and Electronics,
University of Sarajevo. His research interests include intelligent control, mobile
robotics, marine systems, industrial automation, and adaptive and robust
control. Dr. Velagic is a member of IEEE Control System and IEEE Robotics
and Automation Societies.
Bakir Lacevic received a Diploma in electrical engineering from the Faculty of Electrical Engineering,
University of Sarajevo, Bosnia and Herzegovina, in
2003. He is a teaching and research assistant at the
departments for Control Systems and Computer Science at the same faculty, and he is currently working
towards an M.S. degree. His research interests include
evolutionary computation, mobile robotics, and computational intelligence in control.
Professor Branislava Perunicic received her Candidate of Sciences degree (an equivalent to Ph.D.) from
the Institute of Control Problems of the Academy of
Sciences of the USSR in 1968. Her dissertation treated
conditions of the existence of sliding modes and invariance conditions in sliding mode motion which occurs
in Variable Structure Systems. She is currently professor of Electrical Engineering at the Department of
Electrical Engineering of the University of Sarajevo.
Her research interests are variable structure control, identification, and soft
computing applications in control. She has served as a reviewer of scientific
journals. Professor Perunicic is an elected member of the Academy of Sciences
of Bosnia and Herzegovina. She is also the IEEE Bosnia and Herzegovina section chair.