You are on page 1of 11


2, APRIL 2007 211

A Fuzzy-Logic-Based Approach for Mobile Robot

Path Tracking
Gianluca Antonelli, Senior Member, IEEE, Stefano Chiaverini, Senior Member, IEEE, and
Giuseppe Fusco, Member, IEEE

Abstract—One important problem in autonomous robot naviga- law is adopted and [3], [4] using the dynamic feedback lineariza-
tion is the effective following of an unknown path traced in the tion technique. A recursive technique for nonholonomic sys-
environment in compliance with the kinematic limits of the ve- tems in chained form, based on the backstepping paradigm, was
hicle, i.e., bounded linear and angular velocities and accelerations.
In this case, the motion planning must be implemented in real- proposed in [5], while a sliding-mode-based approach, which is
time and must be robust with respect to the geometric character- robust to bounded external disturbances, has been presented in
istics of the unknown path, namely curvature and sharpness. To [6], [7]. An interesting experimental comparison study of sev-
achieve good tracking capability, this paper proposes a path fol- eral control laws proposed in the literature has been recently
lowing approach based on a fuzzy-logic set of rules which emu- presented in [8].
lates the human driving behavior. The input to the fuzzy system is
represented by approximate information concerning the next bend A trajectory can be seen as a path to be described with a given
ahead the vehicle; the corresponding output is the cruise velocity time law; nevertheless, in a number of applications (e.g., road
that the vehicle needs to attain in order to safely drive on the path. following) only the path is strictly specified while the time law
To validate the proposed algorithm two completely different exper- can be changed from the preplanned one or can be freely gen-
iments have been run: in the first experiment, the vehicle has to per- erated in run time. In particular, the degree of freedom on the
form a lane-following task acquiring lane information in real-time
using an onboard camera; in the second, the motion of the vehicle choice of the time law can be used to accomodate both the kine-
is obtained assigning in real-time a given time law. The obtained matic constraints imposed by nonholonomy and the bounds on
results show the effectiveness of the proposed method. the linear and angular velocity and accelerations allowed by the
Index Terms—Fuzzy control, mobile robots, motion planning, actuating system. Consequently, there is a velocity-dependent
navigation, path tracking. lower bound on the radius of curvature that can be achieved by
the vehicle and the robot might not be able to follow a curve path
during a too fast motion. Hence, different approaches to the path
I. INTRODUCTION tracking problem in presence of kinematic and/or dynamic con-
straints have been proposed, see for example [9]–[11].

I N the field of industrial and service robotics, the problem

of wheel-based mobile robot navigation has attracted con-
siderable attention in the recent years. Solution techniques to
This paper focuses its attention to solving the problem of au-
tonomous path tracking in the framework of fuzzy logic [12]. In
fact, the adoption of such an approach leads to the use of fuzzy
this complex problem involve handling many issues including modules whose design is simple, rapid, inexpensive, and easily
among the others acquisition and processing of sensory data, maintained because the rules can be linguistically interpreted by
decision making, trajectory planning, and motion control. a human expert. For these reasons, over the latest decade, fuzzy
From the motion control point of view, one major problem logic has been widely used for mobile robots control to handle
is the development of good and robust trajectory tracking algo- both general navigation problems, see, e.g., [13]–[17], and spe-
rithms in a variety that must also cover the many different types cific motion control problems, such as, e.g., parking problems
of mobile robots. In fact, various mobility configurations can be [18]–[20].
found depending, e.g., on the number and type of the wheels, Among the papers addressing path tracking control, [21]
their actuation, the single- or multibody vehicle structure, etc.; uses very few and simple fuzzy rules to adjust the gains of a
however, the most widely adopted mobility schemes can be an- linear controller, whereas [22] develops a complex adaptive
alyzed in terms of an unicycle-like kinematics. fuzzy system that learns from experiments while a human is
As it is well known, see, e.g., [1], an unicycle-like mobile driving the vehicle. The technique proposed in [23] builds
robot under perfect rolling constraints is a nonholonomic system instead a number of rules to directly assign the steering and
for which, e.g., pure lateral motion is not permitted. Several speed commands to the vehicle.
papers have addressed the trajectory tracking problem for uni- Following the preliminary work in [24]–[26], this paper com-
cycle-type wheeled robots, e.g., [2] where a nonlinear feedback bines a velocity controller with a simple fuzzy system that limits
on-line the advancing speed of the vehicle so as to allow following
an assigned path in compliance with the holding kinematic con-
Manuscript received December 22, 2004; revised July 20, 2005 and October
20, 2005. straints. To accomplish this task, the linguistic variables curve
The authors are with the Dipartimento di Automazione, Elettromagnetismo, and distance are introduced, that give information concerning
Ingegneria dell’Informazione e Matematica Industriale, Università degli the relevant geometric characteristics of the path ahead the robot.
Studi di Cassino, 03043 Cassino (FR), Italy (e-mail:;; The implemented fuzzy rules are inspired by the behavior of a
Digital Object Identifier 10.1109/TFUZZ.2006.879998 human driver who modulates the speed on the basis of the ahead
1063-6706/$25.00 © 2007 IEEE

It is assumed that the vehicle is subject to the following kine-

matics limits

A discrete-time version of the dynamic model (1) is

Fig. 1. Top-view sketch of a differential-drive mobile robot with relevant vari- (3)

where denotes the th time sample, is the sampling

knowledge of the path to follow, such as, e.g., slow down while ap- period and . Let further define as
proaching a narrow bend. The developed approach can be easily
tailored to different vehicles of unicycle-like kinematics since it
directly uses the velocity and acceleration limit values; more- (4)
over, it can be used with paths assigned by any means (e.g., by
a trace in the environment, by a sequence of set points, or by the vehicle position at .
an analytical expression). To demonstrate application of the pro-
posed method, two different experimental case studies run on a III. PROPOSED FUZZY PATH FOLLOWING SCHEME
mobile robot Magellan Pro, manufactured by Real World Inter- An effective solution to the on-line path following problem
face [27], are reported. In the first experiment, the vehicle has for mobile robots relies on the adoption of a fuzzy logic-based
to follow a lane traced on the floor that is acquired in real-time approach. The use of fuzzy logic techniques to face the problem
using an onboard camera; the lane information is elaborated by of controlling wheel-based mobile robots has been effectively
a fuzzyfication module and aggregated information on the next proposed by many authors in the last decade [14], [21], [26],
bend and its distance are processed by a fuzzy inference system [28]–[30]. Following this trend, this paper proposes an on-line
(FIS). In the second experiment, the motion of the vehicle is as- path following approach that embeds a fuzzy strategy to drive
signed through a sequence of set points output by a trajectory the mobile robot along a path in presence of velocity and accel-
planner; in this case, the fuzzyfication module extracts the path eration limits.
information from the data sequence and then sends the estimated The core of the implemented FIS is given by a simple obser-
curvature and distance to the same FIS as the one in the first ex- vation: to safely drive the vehicle along a path the advancing
periment. The obtained results demonstrate the effectiveness of vehicle velocity can be adjusted according to two information
the proposed technique. about the incoming path, namely, how narrow and how far is
the next bend. Since these concepts are vague, the introduction
II. MODELING of fuzzy rules might be an appropriate tool to handle this fuzzy-
The proposed technique is developed with reference to a
The motion data are first processed by the fuzzyfication
differential-drive mobile robot, hereafter called also vehicle;
module to obtain the values of the relevant linguistic variables.
a schematic view of the robot that highlights the choice of the
For example, in the case of a vision-based motion control (see,
relevant variables is reported in Fig. 1. The two wheels of the
e.g., [31], [32]) the fuzzyfication module derives curvature and
robot are independently controlled by motors, and a rear castor
distance of the next bend from the images grabbed by a video
wheel prevents the robot from tipping over as it moves on a plane.
camera installed on board the vehicle. Details on this stage are
It is assumed that the masses and inertias of the wheels are
given in Section III-A.
negligible and that the center of mass of the robot is located
According to the value of the linguistic variables received, the
in the middle of the axis connecting the rear wheels. Let ,
FIS outputs the value of the current advancing velocity needed
denote the coordinates of the center of mass, is the heading
to keep the estimated path: . A conservative
angle measured from the horizontal axis, is the magnitude of
behavior has been implemented using very simple rules that are
the translational velocity of the center of the mass, and is the
detailed in Section III-B.
angular velocity of the robot, respectively. It is assumed that
The advancing velocity is finally sent to the Velocities module
the wheels do not slide, that is the vector is orthogonal to the
which computes the linear and angular velocity references for
axis connecting the rear wheels. This assumption imposes an
the motion controller of the vehicle. This is explained in Sec-
nonholonomic constraint on the motion of the robot of the form
tion III-C.
A concise block-scheme representation of the proposed path
tracking structure is reported in Fig. 2. The Desired Path block
The robot kinematic equations are then represented by represents a generic input to the overall system; for a lane fol-
lowing problem, it can be either an high level motion command
(e.g., move along the path seen in the camera view) or a detailed
(1) position trajectory. It must be remarked that the overall fuzzy
algorithm acts as an input for the low-level dynamic controller,

Fig. 2. Block structure of the proposed path-following algorithm.

The fuzzyfication module sends to the FIS the linguistic vari-

able curve defined as


where represents an estimate of the curvature of the next bend

ahead the vehicle. When the curvature of the upcoming bend
equates the maximum curvature achievable by the vehicle at
Fig. 3. Membership function of the normalized variable curve. the current advancing velocity, is zero. Therefore, positive
values of represent a measure of how much the curvature
of the next bend to be tracked exceeds the steering capability
of the vehicle at the current advancing velocity, i.e., they give
a measure of narrowness of the upcoming curve. On the other
hand, negative values of mean that the next bend ahead can
be safely tracked at the current advancing speed and represent
a measure of smoothness of the upcoming curve. To ensure a
larger degree of manoeuvrability than that allowed when
, a conservative choice for the curve definition is then
Fig. 4. Membership function of the normalized variable distance.

that thus does not need to be changed in order to implement with ; this corresponds to underestimating the maximum
the proposed approach. Moreover, the fuzzyfication module re- achievable curvature.
quires information of the current vehicle position that may come In addition to (7), to quantify how far is the next bend on the
either from the robot odometry or from external sensors de- path, the fuzzyfication module relies on the linguistic variable
pending on the specific experiments. distance, , which is a measure of the time distance between the
next bend and the vehicle.
In the remainder, two different implementation of this module
A. Fuzzyfication Module
will be presented in the experimental case study.
To quantify how narrow is the next bend on the path, the
fuzzyfication module relies on path curvature information. In B. FIS
particular, the ratio The proposed path tracking algorithm uses a FIS to emulate
the human driving behavior. For example, if at time the fuzzy-
fication module estimates a large value of and a small value
(5) of , the FIS commands the velocities module to slow down the
vehicle since a narrow bend is going to be engaged. Then, the
output of the FIS is the new maximum allowed value for the
represents the current curvature of the motion trajectory as the
linear velocity, i.e., the one that substituted in (6) gives ,
inverse of its radius of curvature. Equation (5) clearly shows that
see (7).
tracking of narrow bends requires a relatively high angular ve-
The membership functions of the two normalized variables
locity with low linear velocity. Moreover, for any given constant
and are shown in Figs. 3 and 4, respectively. Both member-
linear velocity, the presence of a limit imposed on the angular
ship functions are triangular to simplify defuzzyfication. Notice
velocity brings to an upper bound on the curvature achiev-
that the linguistic variable curve is normalized so that a curve
able by the vehicle, given by
whose curvature is the maximum achievable at the current ad-
vancing velocity (that gives ) is placed at 0.5; therefore,
membership of a curve to the sets smooth, appropriate, narrow
is evaluated against the threshold value 0.5 of the normalized

for the membership functions and , for the case of set

smooth, is reported in Fig. 6.

C. Velocities Module
The velocities module determines the reference value of the
linear and angular velocities to be fed to the motion controller
of the vehicle. To this aim, let first compute the quantities

Fig. 5. Fuzzy surface for the membership functions distance and curve when (9)
 is small.
where the subscript “des” denotes the desired value of the vari-
able, and are control gains, and is obtained by
integration of . It can be recognized that in absence of
kinematic limits the control action


guarantees fulfillment of the path constraint. However, these

values and/or the corresponding time derivatives may exceed
Fig. 6. Fuzzy surface for the membership functions  and distance when curve their limits.
is smooth.
Starting from the motion references in (11) it is possible to
extract the values of and that comply with the bounds
(2), in which output by the FIS takes the role of , as
curve. Analogously, the membership sets close, medium, far of follows.
the variable have been computed considering the minimum The first step is aimed at replacing the reference values (11)
time needed to stop the vehicle at the current velocity with the with other values inside the velocity limits; namely,
given acceleration bound.
The fuzzy rules reported in the following are aimed at in- if
creasing the value given by (6) at time , by appropriately de- if
creasing when the vehicle is approaching a narrow bend.
1. ; (13)
2. ; if
3. (14)
4. (15)
where . Notice that a modification of the angular
velocity causes a rotation of the vector .
At this point, the goal of the second step is to satisfy the linear
It is worth noting that, due to the hierarchical approach, all the
and angular acceleration constraints. According to (12)–(15),
nine possible cases are compacted in five rules.
this is obtained with the choice
The case of stopping at the end of the path has also to be ex-
plicitly taken into account. In this case, a fuzzy PD-like action is if
implemented which considers, together with the above-defined if
variable distance, an additional variable expressed through a (17)
linear combination of position and velocity errors. In detail, the if
five rules above must include the operator “and” with the con- (18)
dition ; in other words, the five rules above
are active if the vehicle follows the desired path in a satisfactory
way. Conversely, if the condition is true, the fol- Remarkably, by construction, it is
lowing two additional rules have to be considered
. besides
The fuzzy surface for the membership functions and , for
the case of set small, is reported in Fig. 5. The fuzzy surface

Fig. 7. Implementation of the scaling technique when linear velocity and ac-
celeration are saturated.

Fig. 9. Sample image acquired during a lane-following experiment.

A. Visual Lane-Following Experiments

The video acquisition system is composed by a ccd mono-
chrome camera with a frame-grabber mounted on the vehicle,
working at a sampling frequency of 2 Hz. Because of the low
sampling frequency the maximum linear velocity has been
limited to 0.2 m/s, so as to allow lane detection in real-time. A
sample image acquired during one of the experiments is shown
in Fig. 9. The quality of the image is poor and the resolution
is low (160 120 pixels); moreover, high distortion on the
image’s borders is experienced.
Fig. 8. The Magellan Pro mobile robot. To model the camera view a pin-hole projection is assumed
[32]. Let define as the effective focal
lengths and as the principal point, both expressed in
pixels. The vector is a point in
We can then finally set
the camera reference frame, expressed in meters. The pin-hole
projection is defined as
Notice that if only the linear velocity is lowered in this
process, the desired path is kept. However, when the angular
velocity or the accelerations are lowered the path is lost. This is In pixels, it is
the case when a narrow, unknown curve is encountered at high
Fig. 7 illustrates the operation of the velocities module con- (22)
sidering only the linear velocity and acceleration constraints.
First, the value of is computed. If exceeds The given point can be expressed in a different reference frame,
, the vector is obtained by simply scaling the vector e.g., a vehicle-fixed frame, by the known relation
. In Fig. 7, the acceleration is supposed to be
larger than ; the vector is then computed on the
basis of an allowed value of . Since the vector
is not parallel to the vector , the path tracking capability where is the rotation from the vehicle-fixed to the
is not guaranteed in this case. camera-fixed frame and is the vector connecting the
camera-fixed frame to the vehicle-fixed frame expressed in the
IV. EXPERIMENTAL RESULTS camera frame. For our specific experimental set-up a calibra-
tion procedure has been followed, using a software toolbox de-
The vehicle used in the experiments is the Magellan Pro mo- veloped by J.-Y. Bouguet and inspired by [34]. The following
bile robot, shown in Fig. 8, manufactured by Real World Inter- numerical values have been obtained
face [27]. The low level controller, working at a sampling fre-
quency of 40 Hz, is derived from the controller reported in [33].
The tracking error is affected by friction, gear backlash, wheel
slippage and other undesired effects, e.g., a strong overshoot in
the step response of the native PID controllers of the wheels.
The control gains in (8)–(10) have been selected as and with the camera-fixed frame rotated of 26 deg with respect to
. the axis of the vehicle-fixed frame. The radial distortion has

Fig. 12. Output of the FIS algorithm for the lane-following experiment. It can
Fig. 10. View on the ground plane (in vehicle-fixed coordinates) of the image be recognized that the algorithm requires to slow down the vehicle in presence
in Fig. 9. The filled area is the map of the image area; the extracted lane and its of the bend and then to accelerate when the bend is terminated.
interpolation are also shown.

Fig. 11. Normalized input curve of the FIS algorithm for the lane-following

been neglected. The conversion from the image’s pixels to the

vehicle-fixed frame, and further to an inertial-fixed frame, is
correctly defined since all the relevant points are on the ground.
Fig. 10 shows how the image data reported in Fig. 9 are
projected on the ground plane with reference to the vehicle-
fixed frame. The lane is modeled as a third-order polynomial Fig. 13. Case of the lane-following experiment. Top: Reference (solid) and
measured (dashdotted) linear velocity. Bottom: Reference (solid) and measured
[32] whose coefficients are obtained through interpolation of (dashdotted) angular velocity. The time history is affected by the noise coming
the points recognized as owning to the lane (see the tick line in from the features extraction that suffers from the poor resolution and low sam-
Fig. 10). Due to the poor quality of the image and the low sam- pling frequency of the vision system.
pling frequency, those are further smoothed by a first-order filter
and used to generate the reference angular velocity. Notice that
velocity, the bend cannot be engaged keeping the desired path.
image processing techniques for lane extraction are out of the
For this specific experiment the input is most of the time.
scope of this paper and this problem is not discussed here. More-
At this point, the FIS must command the vehicle to decrease
over, from the geometric representation of the lane the value of
its velocity; this can be recognized in Fig. 12, where the output
is extracted.
of the FIS is plotted. It can be easily seen, in fact, that across the
The case study has been developed for a curvature of the lane
high-curvature portion of the path the velocity is quickly slowed
of about 3 for the mobile robot traveling at a maximum
down from the nominal value of 0.2 m/s to the value of 0.15 m/s;
speed of
afterward, leaving the bend, the cruise velocity is progressively
restored to its nominal value.
Fig. 13 shows the linear and angular velocities of the vehicle.
The maximum angular velocity has been set to It can be recognized that, for this specific experimental study,
the linear velocity is close to the FIS output while the angular
velocity is affected by the noise of the lane-extraction algorithm.
The total path executed by the vehicle, drawn with respect to
an inertial frame, is reported in Fig. 14.
Notice that, due to the low velocity bounds resulting from the Finally, to investigate the robustness of the proposed ap-
timing of the visual lane-detection system, the acceleration proach with respect to different operating conditions, a number
bounds of the vehicle are never engaged in these experiments. of experiments have been run by changing the lighting and
In Fig. 11, the input to the FIS is shown. Around varying the motion control gains; these resulted in the set of
the algorithm detects a narrow bend; in fact, at the current linear paths plotted in Fig. 15. It must be remarked that, due to the lack

Fig. 14. Path traced by the vehicle during the lane-following experiment.

Fig. 16. Desired path in the first experiment of tracking a planned trajectory.

Fig. 15. Paths traced by the vehicle during different lane-following experi-
ments with different light conditions and low level control gains. The paths have
been reconstructed by means of the sole odometry.

Fig. 17. Desired path in the second experiment of tracking a planned trajectory.

of an absolute position measurement system, the plotted inertial

coordinates have been obtained by resorting to dead-reckoning
techniques by always assuming the initial position of the ve-
hicle as the origin of the inertial frame. Therefore, due to the
different starting positions and the odometric errors, the plots
suggest a lower repeatability than the one actually obtained
in the experiments. As a matter of fact, we can report that the
vehicle always followed correctly the lane, which shows the
reliability of the developed algorithm.

B. Planned-Trajectory Tracking Experiments

Fig. 18. Case of the S-shaped path. Real (solid) and virtual (dashdotted) time.
With reference to a Cartesian inertial frame, the desired path
in (8) is assigned through the functions
, respectively; thus, the curvature along this path is not
continuous. On the other hand, the second path is 8-shaped and
(24) presents a continuously varying curvature.
while the desired linear velocity of the mobile robot is The assumed time law requires that both paths have to be ex-
ecuted in 15 s, which is a specification too demanding with re-
spect to the imposed limits. To guarantee that the vehicle tracks
(25) the desired paths without exceeding the limits, the proposed
approach uses the fuzzyfication module to slow down the tra-
The velocity and acceleration limits are set to the values jectory generation by resorting to the concept of virtual time
proposed in [25], [26]. The fuzzyfication module, thus, accom-
plishes the objective of determining an estimate of and that
can be easily retrieved using the value of in the time
steps allowed by the eventual contraction of the virtual time.
Two types of desired test paths have been considered; they 1) Results for the S-shaped Path: In this experiment, the ve-
are shown in Fig. 16 and in Fig. 17. In particular, the first path hicle has to follow the path shown in Fig. 16. As can be seen in
is S-shaped with three rectilinear tracts joined by two bends of Fig. 18, at the beginning of the motion the straight line is fea-
constant curvature values, equal to and sible and thus the virtual time is clamped to the real time; for this

Fig. 19. Real (solid) and desired (dashdotted) path after t = 7 s from the
start-up time for the S-shaped path.

Fig. 21. Case of the S-shaped path. Top: Reference (solid) and measured (dash-
dotted) linear velocity. Bottom: Reference (solid) and measured (dashdotted)
angular velocity.

Fig. 20. Case of the S-shaped path. Fuzzy module output: v .

reason, there is no forward knowledge of the incoming first bend

and path tracking cannot be guaranteed at the maximum speed.
On the other hand, while the first bend is executed a time warp is
generated; therefore, when the second bend is approached some
knowledge of its curvature is available. This forward knowledge
is exploited by the fuzzy module that changes the time law so as
to slow down the vehicle before the second bend is approached. Fig. 22. Real (solid) and desired (dashdotted) path for the S-shaped path.
From the analysis of Fig. 19 it can be recognized that, at
, the time warp is already acting. In detail, Fig. 20 shows
that from to the fuzzy module commands of the motion planning that is ensured by the use of the proposed
the vehicle to slow down by suitably shaping , since the in- fuzzy module.
coming bend cannot be achieved with the current velocity (see 2) Results for the 8-shaped Path: The path considered in this
also Fig. 21 and consider (6)). It can be recognized that the algo- second experiment is shown in Fig. 17. Similarly to the case of
rithm outputs smooth and bounded reference values while, due the S-shaped path, at the beginning of the motion the the virtual
to tracking errors and low-resolution measurement, the actual time is clamped to the real time and, without forward knowledge
ones are quite noisy. In Fig. 22 the complete performed path is of the incoming first bend, path tracking cannot be guaranteed at
shown. It can be recognized that, due to the forward knowledge the maximum speed. As seen in Fig. 24, after about 5 s from the
of the path, the vehicle engages the second bend with an appro- start of the motion the time warp is introduced; in fact, Fig. 25
priate velocity value. The velocities module is applied, at each shows a snapshot of the experiment at from the start time,
sample time, with the current value of in order to take ben- where the planned vehicle position is well beyond the actual
efit of the forward knowledge of the trajectory. one. It must be remarked that forward knowledge of the path
As concerns the linear and angular acceleration, both inside ahead the vehicle will be always available afterward, since the
the allowed range, their time histories are shown in Fig. 23. virtual time never recovers the real time.
Notice that, in order to severely test the proposed algorithm, The human-like behavior of the fuzzy module in driving the
we have considered the occurrence of an unexpected bend; nev- mobile robot can be recognized from the time history of its
ertheless, in a real application some forward knowledge of the output variable shown in Fig. 26. During the motion along
path can be assumed. On the other hand, the case of a blind bend, the rectilinear tracts of the path, the fuzzy module commands the
as in this case study, has demonstrated the conservative behavior vehicle to move with the maximum allowed value of its linear

Fig. 26. Case of the 8-shaped path. Fuzzy module output: v .

Fig. 23. Case of the S-shaped path. Top: Linear acceleration. Bottom: angular

Fig. 27. Case of the 8-shaped path. Top: Reference (solid) and measured (dash-
Fig. 24. Case of the 8-shaped path. Real (solid) and virtual (dashdotted) time. dotted) linear velocity. Bottom: Reference (solid) and measured (dashdotted)
angular velocity.

Fig. 28. Real (solid) and desired (dashdotted) path for the 8-shaped path.
Fig. 25. Real (solid) and desired (dashdotted) path after t = 6 s from the
start-up time for the 8-shaped path.
velocities are reported in Fig. 27. Also in this second experi-
ment, it can be recognized that the algorithm outputs smooth
velocity. Conversely, when the vehicle is approaching a visible and bounded reference values while, due to tracking errors and
(i.e., known) bend, the fuzzy module lowers the linear velocity low-resolution measurement, the actual ones are quite noisy.
of the vehicle according to the estimated curvature of the bend. After about 40 s from the beginning of the experiment, the ve-
Then, the overall time history of presents a constant, de- hicle has completed the desired path. The actual path described
creasing and increasing shaping, respectively, between two ex- together with the desired one are depicted in Fig. 28 for compar-
treme values. The linear and angular reference and measured ison. Finally, Fig. 29 reports the time histories of the linear and

[7] J.-M. Yang and J.-H. Kim, “Sliding mode control for trajectory tracking
of nonholonomic wheeled mobile robots,” IEEE Trans. Robot. Autom.,
vol. 15, pp. 578–587, Jun. 1999.
[8] B. Kim and P. Tsiotras, “Controllers for unicycle-type wheeled robots:
theoretical results and experimental validation,” IEEE Trans. Robot.
Autom., vol. 18, pp. 294–307, Jun. 2002.
[9] T.-C. Lee, K.-T. Song, C.-H. Lee, and C.-C. Teng, “Tracking control
of unicycle-modeled mobile robots using a saturation feedback
controller,” IEEE Trans. Contr. Syst. Technol., vol. 9, pp. 305–318,
[10] C. Webers and U. Zimmer, “Robust tracking under uncertainties,” in
Proc. MTS/IEEE Conf. Exhib. OCEANS 2000, Providence, RI, 2000,
vol. 3, pp. 2107–2113.
[11] H. Xu and S. Yang, “Tracking control of a mobile robot with kinematic
and dynamic constraints,” in Proc. IEEE Int. Symp. Computat. Intell.
Robot. Autom., Alberta, Canada, 2001, pp. 125–130.
[12] D. Driankov, H. Hellendoorn, and M. Reinfrank, An Introduction to
Fuzzy Control. Berlin, Germany: Springer-Verlag, 1995.
[13] E. Aguirre and A. Gonzàlez, “Fuzzy behaviors for mobile robot navi-
gation: Design, coordination and fusion,” Int. J. Approx. Reas., vol. 25,
pp. 255–289, 2000.
[14] D. Driankov and A. Saffiotti, Fuzzy Logic Techniques for Autonomous
Vehicle Navigation. New York: Physica-Verlag, 2001.
[15] H. Maaref and C. Barret, “Sensor-based fuzzy navigation of an au-
tonomous mobile robot in an indoor environment,” Contr. Eng. Prac-
Fig. 29. Case of the 8-shaped path. Top: Linear acceleration. Bottom: angular tice, vol. 8, pp. 757–768, 2000.
acceleration. [16] M. Maeda, M. Shimakawa, and S. Murakami, “Predictive fuzzy control
of an autonomous mobile robot with forecast learning function,” Fuzzy
Sets Syst., vol. 72, pp. 51–60, 1995.
[17] X. Yang, M. Moallen, and R. Patel, “An improved fuzzy logic based
angular acceleration that, as expected, are inside their allowed navigation system for mobile robots,” in Proc. IEEE/RSJ Int. Conf. In-
range. tell. Robots Syst., Las Vegas, NV, 2003, pp. 1709–1714.
[18] I. Baturone, F. Moreno-Velo, S. Sànchez-Solano, and A. Ollero, “Au-
tomatic design of fuzzy controllers for car-like autonomous robots,”
V. CONCLUSION IEEE Trans. Fuzzy Syst., vol. 12, pp. 447–465, 2004.
[19] T.-H. Li and S.-J. Chang, “Autonomous fuzzy parking control of a car-
In this paper, a navigation algorithm for differential-drive like mobile robots,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans,
mobile robots has been presented. It is based on the adoption vol. 33, no. 4, pp. 451–465, 2003.
of a FIS module which exploits the information concerning [20] T.-H. Li, S.-J. Chang, and Y.-X. Chen, “Implementation of human-
like driving skills by autonomous fuzzy behavior control on an FPGA-
the knowledge of the curvature of the desired path ahead the based car-like mobile robot,” IEEE Trans. Ind. Electron., vol. 50, pp.
vehicle and the distance between the next bend and the vehicle 867–880, 2003.
to safely drive the vehicle. The output of the fuzzy module [21] T. Lee, H. Lam, F. Leung, and P. Tam, “A practical fuzzy logic con-
troller for the path tracking of wheeled mobile robots,” in Proc. IEEE
is the maximum value of the linear velocity; based on this, Ann. Conf. Ind. Electron. Soc., Denver, CO, 2001, pp. 574–579.
a velocities module computes the vehicle motion references [22] O. Sánchez, A. Ollero, and G. Heredia, “Adaptive fuzzy control for
that satisfy the bounds on the linear/angular velocities and automatic path tracking of outdoor mobile robots. Application to romeo
3r,” in Proc. 6th Int. Conf. Fuzzy Syst., Barcelona, Spain, 1997, pp.
accelerations. The reported experimental results obtained in two 593–599.
different experimental conditions prove the effectiveness of the [23] J. Baltes and R. Otte, “A fuzzy logic controller for car-like mobile
proposed algorithm. Future work will concern the improvement robots,” in Proc. IEEE Int. Symp. Computat. Intell. Robot. Automat.,
Monterey, CA, 1999, pp. 89–94.
of the fuzzyfication module so that more elaborated scenario [24] G. Antonelli and S. Chiaverini, “Experiments of fuzzy lane following
can be consider such as motion in traffic or through moving for mobile robots,” in Proc. 2004 Amer. Contr. Conf., Boston, MA, Jun.
obstacles. 2004, pp. 1079–1084.
[25] G. Antonelli, S. Chiaverini, and G. Fusco, “Real-time path tracking
for unicycle-like mobile robots under velocity and acceleration con-
REFERENCES straints,” in Proc. 2001 Amer. Contr. Conf., Arlington, VA, Jun. 2001,
[1] I. Kolmanovsky and N. McClamroch, “Developments in nonholonomic pp. 119–124.
control problems,” IEEE Contr. Syst. Mag., vol. 15, no. 6, pp. 20–36, [26] ——, “Experiments of fuzzy real-time path planning for unicycle-like
1995. mobile robots under kinematic constraints,” in Proc. 2002 IEEE
[2] C. Samson and K. A. Abderrahim, “Feedback control of a nonholo- Int. Conf. Rob. Autom., Washington, DC, May 2002, pp.
nomic wheeled cart in Cartesian space,” in Proc. 1991 IEEE Int. Conf. 2147–2152.
Robot. Autom., Sacramento, CA, 1991, pp. 1136–1141. [27] Real World Interface [Online]. Available:
[3] B. d’Andrea Novel, G. Bastin, and G. Campion, “Control of nonholo- [28] S. Bentalba, A. E. Hajjaji, and A. Rachid, “Fuzzy control of a mobile
nomic wheeled mobile robots by state feedback linearization,” Int. J. robot: A new approach,” in Proc. 1997 IEEE Int. Conf. Contr. Applicat.,
Robot. Res., vol. 14, no. 6, pp. 543–559, 1995. Hartford, CT, 1997, pp. 69–72.
[4] G. Oriolo, A. De Luca, and M. Vendittelli, “WMR control via dynamic [29] B. Lakehal, Y. Amirat, and J. Pontnau, “Fuzzy steering control of a mo-
feedback linearization: Design, implementation, and experimental bile robot,” in Proc. IEEE Int. Conf. Indust. Autom. Contr.: Emerging
validation,” IEEE Trans. Contr. Syst. Technol., vol. 10, pp. 835–852, Technol., Taipei, Taiwan, 1995, pp. 383–386.
2002. [30] G. Schuster, “Simulation of fuzzy motion controlled four-wheel steered
[5] Z.-P. Jiang and H. Nijmeijer, “A recursive technique for tracking con- mobile robot,” in Proc. IEEE Int. Conf. Intell. Eng. Syst., Budapest,
trol of nonholonomic systems in chained form,” IEEE Trans. Autom. Hungary, 1997, pp. 89–94.
Control, vol. 44, pp. 265–279, 1999. [31] A. Das, R. Fierro, V. Kumar, B. Southall, and C. Taylor, “Real-time
[6] A. Bloch and S. Drakunov, “Tracking in nonholonomic dynamic vision-based control of a nonholonomic mobile robot,” in Proc.
system via sliding modes,” in Proc. 36th IEEE Conf. Decision Control, 2001 IEEE Int. Conf. Robot. Autom., Seoul, Korea, May 2001, pp.
New Orleans, LA, 1995, pp. 2103–2106. 1714–1719.

[32] B. Southall and C. Taylor, “Stochastic road shape estimation,” in Stefano Chiaverini (SM’02) was born in Naples,
Proc. 8th IEEE Int. Conf. Comput. Vision, Vancouver, CA, 2001, pp. Italy, on December 5, 1961. He received the Laurea
205–212. degree and the Ph.D. degree in electronics engi-
[33] A. De Luca, G. Oriolo, and M. Vendittelli, “Stabilization of the unicycle neering from the University of Naples, in 1986 and
via dynamic feedback linearization,” in Proc. 6th IFAC Symp. Robot 1990, respectively.
Contr., Wien, A, Sep. 2000, pp. 397–402. Currently, he is a Professor of Automatic Control
[34] Z. Zhang, “Flexible camera calibration by viewing a plane from with the Engineering Faculty, University of Cassino,
unknown orientations,” in Proc. 7th IEEE Int. Conf. Comput. Vision, Italy, where he is Vice Head of the Department of
Kerkyra, GR, Sep. 1999, pp. 20–27. Automation, Electromagnetics, Information Engi-
neering and Industrial Mathematics. His research
interests include manipulator inverse kinematics
techniques, redundant manipulator control, cooperative robot systems,
force/position control of manipulators, underwater robotic systems, and mobile
robotic systems. He has published more than 140 international journal and
conference papers. He is coeditor of the book Complex Robotic Systems (New
York: Springer-Verlag, 1998) and coauthor of the book Fondamenti di Sistemi
Dinamici (Milan, Italy: McGraw-Hill, 2003).
Dr. Chiaverini was an Associate Editor of the IEEE TRANSACTIONS ON
ROBOTICS AND AUTOMATION from January 2000 to February 2004, and since
August 2004, has been an Editor of the IEEE/ASME TRANSACTIONS ON
Gianluca Antonelli (SM’06) was born in Rome,
Italy, on December 19, 1970. He received the Laurea
degree in electronic engineering and the Research
Doctorate degree in electronic engineering and Giuseppe Fusco (M’02) was born in Naples, Italy,
computer science from the University of Naples in in 1961. He received the Laurea degree in electrical
1995 and 2000, respectively. engineering from the University of Naples.
He currently is an Associate Professor at the Uni- He is currently an Associate Professor of Control
versity of Cassino, Cassino, Italy. His research in- Engineering with the Faculty of Engineering of the
terests include simulation and control of underwater University of Cassino, Cassino, Italy. He has pub-
robotic systems, force/motion control of robot ma- lished 60 international journal and conference papers.
nipulators, multirobot systems, identification. He has His field of research deals with power systems adap-
published about 80 international journal and conference papers, he is author of tive control. He is coauthor of the monograph Adap-
the book Underwater Robots (New York: Springer-Verlag, 2003, 2006). tive Voltage Control in Power Systems (New York:
Dr. Antonelli has been an Associate Editor of the IEEE TRANSACTIONS ON Springer-Verlag, 2006) within the series “Advances
ROBOTICS since September 1, 2005. in Industrial Control.”