Robotics and Autonomous Systems 54 (2006) 989–1004www.elsevier.com/locate/robot
A 3level autonomous mobile robot navigation system designed by usingreasoning/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 2006Available online 14 July 2006
Abstract
This paper describes how soft computing methodologies such as fuzzy logic, genetic algorithms and the Dempster–Shafer theory of evidencecan be applied in a mobile robot navigation system. The navigation system that is considered has three navigation subsystems. The lowerlevelsubsystem deals with the control of linear and angular volocities using a multivariable PI controller described with a full matrix. The positioncontrol of the mobile robot is at a medium level and is nonlinear. The nonlinear control design is implemented by a backstepping algorithmwhose parameters are adjusted by a genetic algorithm. We propose a new extension of the controller mentioned, in order to rapidly decrease thecontrol torques needed to achieve the desired position and orientation of the mobile robot. The highlevel subsystem uses fuzzy logic and theDempster–Shafer evidence theory to design a fusion of sensor data, map building, and path planning tasks. The fuzzy/evidence navigation basedon the building of a local map, represented as an occupancy grid, with the time update is proven to be suitable for realtime applications. Thepath planning algorithm is based on a modiﬁed potential ﬁeld method. In this algorithm, the fuzzy rules for selecting the relevant obstacles forrobot motion are introduced. Also, suitable steps are taken to pull the robot out of the local minima. Particular attention is paid to detection of therobot’s trapped state and its avoidance. One of the main issues in this paper is to reduce the complexity of planning algorithms and minimize thecost of the search. The performance of the proposed system is investigated using a dynamic model of a mobile robot. Simulation results show agood 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 itscapability to operate independently in unknown or partiallyknown environments. The autonomy implies that the robotis capable of reacting to static obstacles and unpredictabledynamic 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 forautonomous robot navigation is one of the major trends incurrent robotics research [23].
The robot has to ﬁnd a collisionfree trajectory betweenthe starting conﬁguration and the goal conﬁguration in a static
∗
Corresponding author. Tel.: +387 33 25 07 65; fax: +387 33 25 07 25.
Email address:
jasmin.velagic@etf.unsa.ba (J. Velagic).
or dynamic environment containing some obstacles. To thisend, the robot needs the capability to build a map of theenvironment,whichisessentiallyarepetitiveprocessofmovingto a new position, sensing the environment, updating the map,and planning subsequent motion.Most of the difﬁculties in this process originate in thenature of the real world [17]: unstructured environments
and inherent large uncertainties. First, any prior knowledgeabout the environment is, in general, incomplete, uncertain,and approximate. For example, maps typically omit somedetails and temporary features; also, spatial relations betweenobjects may have changed since the map was built. Second,perceptually acquired information is usually unreliable.Third, a realworld environment typically has complex andunpredictable dynamics: objects can move, other agents canmodify the environment, and apparently stable features maychange with time. Finally, the effects of control actions are not
09218890/$  see front matter c
2006 Elsevier B.V. All rights reserved.doi:10.1016/j.robot.2006.05.006
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 deﬁned as the combination of threebasic activities [4,16]:
•
Map building. This is the process of constructing a mapfrom sensor readings taken at different robot locations. Thecorrect treatment of sensor data and the reliable localizationof the robot are fundamental in the mapbuilding process.
•
Localization. This is the process of getting the actual robot’slocation from sensor readings and the most recent map. Anaccurate map and reliable sensors are crucial to achievinggood localization.
•
Path planning. This is the process of generating a feasibleand safe trajectory from the current robot location to agoal based on the current map. In this case, it is alsovery important to have an accurate map and a reliablelocalization.Path planning is one of the key issues in mobile robotnavigation. Path planning is traditionally divided into twocategories: global path planning and local path planning. Inglobal path planning, prior knowledge of the workspace isavailable [21]. Local path planning methods use ultrasonicsensors, laser range ﬁnders, and onboard vision systems toperceive the environment to perform online planning [1,8]. In
our paper, the workspace for the navigation of the mobile robotis assumed to be unknown and it has stationary obstacles only.In local path planning methods, particular attention is paidto local minima problem. This problem occurs when a robotnavigates 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 robotmust comprehend its repeated traversal through the sameenvironment, which involves memorizing the environment thathas already been seen [12].
The main contribution of this paper is the design of arobust autonomous mobile robot control system suitable foronline applications with realtime requirements by usingsoft computing methodologies. This system provides themobile robot that may navigate in an a priori unknownindoor environment using sonar sensor information. To achievethese requirements, the proposed system is hierarchicallyorganized into three distinct separated subsystems witharbitrary responsibility. At each level of this system, one ormore soft computing methodologies are adopted to solve itsspeciﬁc problems.A lowlevel velocity controller is developed using thestandard PI multivariable control law. The mediumlevelposition control law has to be nonlinear in order to ensurestability 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 parametervalues, we used a genetic algorithm. Both controllers are basedon a dynamic model of a differential drive mobile robot havingangular velocities as main variables.
Fig. 1. Mobile robot navigation system for realtime requirements.
A highlevel subsystem contains mapbuilding and pathplanning algorithms. In this paper, the application of anoccupancybased map [17] using Dempster–Shafer evidencetheory based on sonar measurements is demonstrated. Theintegration of sonar data is obtained by a lowlevel fusion [9].
The building of occupancy maps is well suited to path planningand obstacle avoidance [10]. In this paper, we propose a new
pathplanning approach based on the repulsive and attractiveforces, which sets the fuzzy rules for determining whichobstacles should have an inﬂuence on the mobile robot motion.Fuzzy logic offers the possibility to mimic expert humanknowledge [2,3,11,26]. This approach provides both obstacle
avoidance and targetfollowing behaviors and uses only thelocal information for decision making for the next action. Also,we propose a new algorithm for the identiﬁcation and solutionof the local minima situation during the robot’s traversal usingthe set of fuzzy rules.
2. Navigation system
The proposed threelevel control navigation system is shownin Fig. 1.The lowlevel velocity control system is composed of amultivariable PI controller and a dynamic model of a mobilerobot and actuators. At the medium level, the position controlsystem generates a nonlinear control law whose parametersare obtained using a genetic algorithm. The highlevel systemperforms mapbuilding and pathplanning tasks. This systemis in charge of sensor interpretation, sensor data fusion, mapbuilding, and path planning. All the modules are designed usingfuzzy logic and the Dempster–Shafer theory of evidence.Inthefollowingsections,thedesignofthenavigationsystemblocks from Fig. 1 is described.
3. Dynamics of mobile robot
In this section, a dynamic model of a nonholonomic mobilerobot with viscous friction will be derived ﬁrst. A typicalrepresentation of a nonholonomic mobile robot is shown inFig. 2.The robot has two driving wheels mounted on the sameaxis and a free front wheel. The two driving wheels are
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
991Fig. 2. The representation of a nonholonomic mobile robot.
independentlydrivenbytwoactuatorstoachievebothtransitionand orientation. The position of the mobile robot in theglobal frame
{
X
,
O
,
Y
}
can be deﬁned by the position of themass center of the mobile robot system, denoted by
C
, oralternatively by the position
A
, which is the center of themobilerobotgear,andtheanglebetweentherobot’slocalframe
{
x
m
,
C
,
y
m
}
and the global frame. The kinetic energy of thewhole structure is given by the following equation:
T
=
T
l
+
T
r
+
T
kr
,
(1)where
T
l
is the kinetic energy that is the consequence of puretranslation of the entire vehicle,
T
r
is the kinetic energy of rotation of the vehicle in the
XOY
plane, and
T
kr
is the kineticenergy of rotation of the wheels and rotors of the DC motors.The values of energy terms introduced can be expressed by Eqs.(2)–(4):
T
l
=
12
M
v
2
c
=
12
M
(
˙
x
2
c
+ ˙
y
2
c
),
(2)
T
r
=
12
I
A
˙
θ
2
,
(3)
T
kr
=
12
I
0
˙
θ
2
R
+
12
I
0
˙
θ
2
L
,
(4)where
M
is the mass of the entire vehicle,
v
c
is the linearvelocity of the vehicle’s center of mass
C
,
I
A
is the momentof inertia of the entire vehicle considering point
A
,
θ
is theangle that represents the orientation of the vehicle (Fig. 2),
I
0
isthe moment of inertia of the rotor/wheel complex, and d
θ
R
/
d
t
and d
θ
L
/
d
t
are the angular velocities of the right and lefthandwheels, respectively.Further, the components of the velocity of the point
A
canbe expressed in terms of d
θ
R
/
d
t
and d
θ
L
/
d
t
:
˙
x
A
=
r
2
(
˙
θ
R
+ ˙
θ
L
)
cos
θ,
(5)
˙
y
A
=
r
2
(
˙
θ
R
+ ˙
θ
L
)
sin
θ,
(6)
˙
θ
=
r
(
˙
θ
R
− ˙
θ
L
)
2
R
.
(7)Since
˙
x
C
= ˙
x
A
−
d
˙
θ
sin
θ
and
˙
y
C
= ˙
y
A
+
d
˙
θ
cos
θ
, where
d
is the distance between points
A
and
C
, it is obvious that theequations below follow:
˙
x
C
=
r
2
(
˙
θ
R
+ ˙
θ
L
)
cos
θ
−
d
˙
θ
sin
θ,
(8)
˙
y
C
=
r
2
(
˙
θ
R
+ ˙
θ
L
)
sin
θ
+
d
˙
θ
cos
θ.
(9)By substituting terms in Eq. (1) with expressions in Eqs.(2)–(9), the total kinetic energy of the vehicle can be calculatedin terms of d
θ
R
/
d
t
and d
θ
L
/
d
t
:
T
(
˙
θ
R
,
˙
θ
R
)
=
Mr
2
8
+
(
I
A
+
Md
2
)
r
2
8
R
2
+
I
0
2
˙
θ
2
R
+
Mr
2
8
+
(
I
A
+
Md
2
)
r
2
8
R
2
+
I
0
2
˙
θ
2
L
+
Mr
2
4
−
(
I
A
+
Md
2
)
r
2
4
R
2
˙
θ
R
˙
θ
L
.
(10)Now, the Lagrange equations:dd
t
∂
L
∂
˙
θ
R
−
∂
L
∂θ
R
=
τ
R
−
K
˙
θ
R
,
(11)dd
t
∂
L
∂
˙
θ
L
−
∂
L
∂θ
L
=
τ
L
−
K
˙
θ
L
,
(12)are applied.Here,
τ
R
and
τ
L
are right and left actuation torques and
K
d
θ
R
/
d
t
and
K
d
θ
L
/
d
t
are the viscous friction torques of rightand left wheelmotor systems, respectively.Finally, the dynamic equations of motion can be expressedas:
A
¨
θ
R
+
B
¨
θ
L
=
τ
R
−
K
˙
θ
R
,
(13)
B
¨
θ
R
+
A
¨
θ
L
=
τ
L
−
K
˙
θ
L
,
(14)where
A
=
Mr
2
4
+
(
I
A
+
Md
2
)
r
2
4
R
2
+
I
0
B
=
Mr
2
4
−
(
I
A
+
Md
2
)
r
2
4
R
2
.
(15)In this paper, we used a mobile robot with the followingparameters:
M
=
10 kg,
I
A
=
1 kg m
2
,
r
=
0
.
035 m,
R
=
0
.
175 m,
d
=
0
.
05 m,
m
0
=
0
.
2 kg and
I
0
=
0
.
001 kg m
2
.In the following section, a design for both velocity andposition controls will be established.
4. Position and velocity control designs
The function of this controller is to implement a mappingbetween the known information (e.g. reference position,velocity and sensor information) and the actuator commandsdesigned to achieve the robot task. For a mobile robot, thecontroller design problem can be described as follows: giventhe reference position
q
r
(
t
)
and velocity
˙
q
r
(
t
)
, design a controllaw for the actuator torques so that the mobile robot velocitymay track a given reference control path with a given smooth
992
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
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:
q
r
= [
x
r
y
r
θ
r
]
T
,
(16)where
˙
x
r
=
v
r
cos
θ
r
,
˙
y
r
=
v
r
sin
θ
r
,
˙
θ
r
=
ω
r
, and
v
r
>
0is the reference linear velocity and
ω
r
is the reference angularvelocity.
4.1. Position control
The trajectory tracking problem for a mobile robot is basedon a virtual reference robot [5] that has to be tracked (Fig. 3).
The tracking position error between the reference robot and theactual robot can be expressed in the robot frame as:
e
p
=
e
1
e
2
e
3
=
T
p
e
q
=
cos
θ
sin
θ
0
−
sin
θ
cos
θ
00 0 1
x
r
−
x y
r
−
y
θ
r
−
θ
,
(17)where
e
q
=
e
x
e
y
e
θ
T
.The dynamics of the position error derived in (17) ispostulated as:
˙
e
1
=
ω
e
2
+
u
1
,
˙
e
2
= −
ω
e
1
+
v
r
sin
e
3
,
˙
e
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 thevelocity control loop:
u
1
=
v
r
cos
e
3
+
k
1
e
1
k
4
+
e
21
+
e
22
,
u
2
=
ω
r
+
k
2
v
r
e
2
k
5
+
e
21
+
e
22
+
k
3
v
r
sin
e
3
k
6
+
e
23
,
(19)where
k
1
,
k
2
,
k
3
,
k
4
,
k
5
and
k
6
are positive parameters.Eq. (19) is a modiﬁed backstepping control law givenﬁrst in [6]. The modiﬁcation consists of the introduction of
denominators. In [6], Lyapunov’s stability theory was used
to prove that the control law that is considered provides auniformly bounded norm of error
e
p
(
t
)
. Theissueof rigorousproof of stability for the control law introduced (19) remainsopen. However, usage of this law is justiﬁed by simulationresults.The key problem in such a control design is to obtain controlcoefﬁcients
k
1
to
k
6
. To solve this problem, a genetic algorithmis used to ﬁnd the optimal values of those coefﬁcients. To applythis method, a lowlevel velocity controller has to be designedﬁrst.
4.2. Velocity control
The dynamics of the velocity controller is given by thefollowing equations in the Laplace domain:
τ
(
s
)
=
τ
R
(
s
)τ
L
(
s
)
=
1
r
g
1
(
s
)
g
2
(
s
)
g
1
(
s
)
−
g
2
(
s
)
e
v
(
s
)
e
ω
(
s
)
,
(20)where
e
v
(
s
)
is the linear velocity error and
e
ω
(
s
)
is theangular velocity error. This structure differs from previouslyused diagonal structures. Transfer functions
g
j
(
s
)
are chosento represent PI controllers:
g
1
(
s
)
=
K
1
1
+
1
T
i
1
s
·
R
,
g
2
(
s
)
=
K
2
1
+
1
T
i
2
s
·
R
.
(21)The particular choice of the adopted multivariable PIcontroller described by Eqs. (20) and (21) is justiﬁed with the
following theorem.
Theorem.
Torque control
(20)
ensures tracking servo inputs u
1
and u
2
with zero steadystate errors.
Proof.
When we substitute
˙
θ
R
with
ω
R
,
˙
θ
L
with
ω
L
, andconsider (20), we can write another form of (13) and (14):
As
+
K Bs Bs As
+
K
ω
R
(
s
)ω
L
(
s
)
=
1
r
g
1
(
s
)
g
2
(
s
)
g
1
(
s
)
−
g
2
(
s
)
u
1
(
s
)
−
v(
s
)
u
2
(
s
)
−
ω(
s
)
,
(22)where
ω
R
and
ω
L
can be expressed in terms of
ω
and
v
as:
ω
R
=
v
+
R
ω
r
, ω
L
=
v
−
R
ω
r
and then (22) can be transformed to:
As
+
K Bs Bs As
+
K
v(
s
)
+
R
ω(
s
)v(
s
)
−
R
ω(
s
)
=
g
1
(
s
)
g
2
(
s
)
g
1
(
s
)
−
g
2
(
s
)
u
1
(
s
)
−
v(
s
)
u
2
(
s
)
−
ω(
s
)
and further to:
α
1
(
s
) α
2
(
s
)α
1
(
s
)
−
α
2
(
s
)
v(
s
)ω(
s
)
=
g
1
(
s
)
g
2
(
s
)
g
1
(
s
)
−
g
2
(
s
)
u
1
(
s
)
u
2
(
s
)
,
(23)where
α
1
(
s
)
=
(
A
+
B
)
s
2
+
(
K
+
K
1
T
i
1
)
s
+
K
1
s
α
2
(
s
)
=
R
(
A
−
B
)
s
2
+
(
RK
+
K
2
T
i
2
)
s
+
K
2
s
.
(24)
J. Velagic et al. / Robotics and Autonomous Systems 54 (2006) 989–1004
993Fig. 4. Linear velocity step response.Fig. 5. Angular velocity step response.
The following equations could be easily derived from (23):
v(
s
)
=
g
1
α
1
u
1
(
s
)
=
G
1
u
1
(
s
)
=
K
1
T
i
1
s
+
K
1
(
A
+
B
)
s
2
+
(
K
+
K
1
T
i
1
)
s
+
K
1
u
1
(
s
)ω(
s
)
=
g
2
α
2
u
2
(
s
)
=
G
2
u
2
(
s
)
=
K
2
T
i
2
s
+
K
2
R
(
A
−
B
)
s
2
+
(
RK
+
K
2
T
i
2
)
s
+
K
2
u
2
(
s
).
(25)It is obvious that transfer functions
G
1
and
G
2
are static withgains equal to “1”, which completes the proof.The velocity control loop structure is shown in Fig. 1, as aninner loop. From the simulation results obtained (Figs. 4 and 5),
it can be seen that the proposed PI controller successfully tracksthe given linear and angular velocity proﬁles. The controllerparameters used for this simulation are
K
1
=
129
.
7749,
K
2
=
41
.
0233,
T
i
1
=
11
.
4018, and
T
i
2
=
24
.
1873, which are tunedusing standard GA.
4.3. Evolution of the coefﬁcients
In this paper, a simple genetic algorithm is used forparameter evolution of coefﬁcients
k
1
to
k
6
, which encodes intoa binary chromosome (Fig. 6).
Fig. 6. Chromosome structure.
If
e
x
(
t
)
,
e
y
(
t
)
and
e
θ
(
t
) (
0
<
t
<
t
s
)
are error functions,the objective function is calculated as in (26) [13]. Parameters
a
x
,
a
y
and
a
θ
are some positive real numbers.
N
is the numberof error samples. The mapping between the objective and theﬁtness function has not been performed, so it is obvious that thebetter individual has the smaller value of the objective function(ﬁtness). In order to evaluate the ﬁtness of the individual, it isnecessary to run the simulation:
F
=
a
x N
−
1
i
=
0
ln
1
+
e
x
it
s
N
+
a
y N
−
1
i
=
0
ln
1
+
e
y
it
s
N
+
a
θ
N
−
1
i
=
0
ln
1
+
e
θ
it
s
N
.
(26)Values of the objective function parameters are:
a
x
=
a
θ
=
1,
a
y
=
2,
N
=
1000 and
t
s
=
10 s.In (26), we have chosen the following criterion:
J
1
=
N
i
=
1
ln
(
1
+ 
e
i

),
(27)rather than the criteria that are normally used, given by (28) and(29):
J
2
=
N
i
=
1

e
i

(28)
J
3
=
N
i
=
1
e
2
i
.
(29)The criterion
J
1
penalizes more smaller errors (expected inthe stationary state) (Fig. 7) and consequently it ensures betterposition tracking.Error
e
θ
(
t
)
is calculated as follows:
e
θ
=
θ
r
−
θ,
if

θ
r
−
θ

<
min
(

θ
r
−
θ
−
2
π

,

θ
r
−
θ
+
2
π

)θ
r
−
θ
−
2
π,
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 preventsunnecessary fullcircle rotation. The coefﬁcient evolution is