Design and Lyapunov Stability Analysis of A Fuzzy Logic Controller For Autonomus Road Following
Design and Lyapunov Stability Analysis of A Fuzzy Logic Controller For Autonomus Road Following
Research Article
Design and Lyapunov Stability Analysis of a Fuzzy
Logic Controller for Autonomous Road Following
Copyright q 2010 Yi Fu et al. This is an open access article distributed under the Creative
Commons Attribution License, which permits unrestricted use, distribution, and reproduction in
any medium, provided the original work is properly cited.
Autonomous road following is one of the major goals in intelligent vehicle applications. The
development of an autonomous road following embedded system for intelligent vehicles is the
focus of this paper. A fuzzy logic controller FLC is designed for vision-based autonomous road
following. The stability analysis of this control system is addressed. Lyapunov’s direct method
is utilized to formulate a class of control laws that guarantee the convergence of the steering
error. Certain requirements for the control laws are presented for designers to choose a suitable
rule base for the fuzzy controller in order to make the system stable. Stability of the proposed
fuzzy controller is guaranteed theoretically and also demonstrated by simulation studies and
experiments. Simulations using the model of the four degree of freedom nonholonomic robotic
vehicle are conducted to investigate the performance of the fuzzy controller. The proposed fuzzy
controller can achieve the desired steering angle and make the robotic vehicle follow the road
successfully. Experiments show that the developed intelligent vehicle is able to follow a mocked
road autonomously.
1. Introduction
Intelligent transportation systems ITSs are an emerging global phenomenon benefiting
public and private sectors alike. ITSs and intelligent vehicles can relieve congestion,
improve safety, and enhance productivity. The field of intelligent vehicles is rapidly growing
worldwide. Technologies involved with intelligent vehicles include sensing and control
technologies, communications, and computer informatics. Intelligent vehicles offer the
potential to significantly enhance safety and operational efficiency. As one component of
ITSs, intelligent vehicles use sensing and intelligent algorithms to understand the vehicle’s
immediate environment, either assisting the driver or fully controlling the vehicle 1.
Intelligent vehicles function at the control layer to enable the driver vehicle subsystem to
2 Mathematical Problems in Engineering
operate more effectively. Intelligent vehicles can help drivers in various ways: 1 collision
warning—to advise or warn the driver; 2 driver assistance—to partially control the vehicle
as an emergency intervention to avoid a collision; 3 automated driving—to fully control the
vehicle. Vehicles that can navigate autonomously in everyday traffic will become a reality in a
few decades. In this paper, we will focus on the development of embedded systems to realize
automated road following for intelligent vehicles.
A lot of highway accidents are caused by deviation from the road. Autonomous road
following is one of the major research topics in the area of intelligent vehicles. Because
of its potential in preventing accidents caused by human fatigue and performing tasks in
environments unreachable by human beings, a lot of road following methods for intelligent
vehicles have been proposed in the recent decades. Intelligent vehicles are robotic systems
that perceive the driving environment to assist the driver in safe vehicle operation by
providing driving assistance or full control of the vehicle. With the proposed research, we will
be able to develop an autonomous control system that can be used on cars to assist driving
or take the control of driving in order to avoid fatal accidents. Furthermore, the developed
intelligent vehicles can be used to perform tasks in an environment that is unreachable by
human beings.
Generally speaking, autonomous road following requires two major steps: road
feature extraction, and speed/steering control of the vehicles. The success of autonomous
road following requires the ability to continuously detect and extract useful road features, to
analyze road features, and to perform steering and speed control based on road conditions.
Computer-vision-based road feature extraction has been applied in intelligent vehicles
for road following widely because of its advantages in low-power consumption, compact
size, availability as a commercial product, cost effectiveness, and robustness 2. Numerous
image processing and feature extraction methods can be found in 3–7.
Control algorithms should be considered as an important issue in road following to
ensure safe and smooth rides. Although a lot of researches have been done on this topic, most
of them are based on traditional control theories such as PID 2 and nonlinear controllers 8.
The kinematic behavior of autonomous road following is typically nonlinear. Therefore linear
models usually fail to describe these systems efficiently. However, it is difficult to analyze
nonlinear mathematical models for autonomous road following schemes. Other methods
such as neural networks 9, 10 and reinforcement learning RL 11 approaches have
also been used in road following, but these approaches require learning procedures which
consume extra computation time.
Human drivers can drive a car smoothly with their driving expertise rather than
knowledge on control theories. This fact leads us to the fuzzy logic solution. Fuzzy logic
control is known to be an organized method to emulate human expertise in dealing with
imprecise data. It attempts to apply a human-like way of thinking in the application areas
and allows intermediate values to be defined with linguistic terms besides conventional
evaluations. It has been proven to be an effective and active method in solving control
problems during the past decades. Fuzzy logic is a logic much closer to human thinking
than traditional logic. It is a precise logic of imprecision and approximate reasoning. Fuzzy
logic controllers provide a means of converting a linguistic control strategy based on expert
knowledge into an automatic control strategy 12. In areas where conventional control
methods have difficulties because of the lack of precise quantitative data regarding the system
inputs and outputs, fuzzy logic controllers can process imprecise data and make rational
decisions by emulating human thinking and decision making capabilities. Fuzzy logic control
has been applied for intelligent vehicles in many areas such as car parking and vehicle
Mathematical Problems in Engineering 3
guidance. Various applications of fuzzy logic control in the field of intelligent vehicles can
be found in 13–17.
Safety and reliability are of great importance for intelligent vehicles especially if the
vehicles are used for transportation. Therefore, before applying any dynamical systems
to intelligent vehicles, the stability of these dynamical systems should be studied to
make sure they are stable. Several well-known methods could be used to analyze the
stability of a system, such as the Routh-Hurwitz stability criterion, the Lyapunov stability
criterion, the Nyquist criterion, finding poles directly, the root locus method, or the
Jury stability test for discrete-time control systems. Lyapunov stability theory is probably
the most used tool for stability analysis. A dynamic system is Lyapunov stable if all
solutions of the system which start near an equilibrium point remain near the point for
all time. However, it is difficult to find the suitable Lyapunov functions. There is no
general method to construct a Lyapunov function. Trial-and-error or mathematical/physical
methods are often used. Some useful approaches for finding Lyapunov functions are Sum
of Squares Decomposition 18, 19, convex search for storage functions 20, and variable
gradient method 21. However, these methods do not always lead to a desired Lyapunov
function.
In this paper, we will design an autonomous road following embedded system
for multiple intelligent vehicles. An intelligent vehicle which is capable of moving
between two lines on the road will be designed. A fuzzy logic controller FLC will be
developed to control the steering wheel of the vehicle for autonomous road following.
An FLC on a nonlinear system requires less computational power compared to traditional
nonlinear system applications. The resources required for building the embedded system
will be significantly reduced. Lyapunov’s direct method will be used to analyze the
stability of the control system. The “variable gradient” approach proposed in 21 will
be used to construct the Lyapunov function of this system. This control system will be
implemented on a vision-based intelligent vehicle which is able to perform road following
autonomously.
The rest of the paper is organized as follows. The kinematic model of the
vehicle is studied in Section 2. Section 3 presents the design of the FLC. Section 4
provides the proof of the stability using Lyapunov’s direct method. Experimental setup
for the vision-based intelligent vehicle is described in Section 5. Section 6 discusses
the simulation and experimental results. The last section of this paper concludes the
research.
y
Road centroid
xt , yt
P Left line
u1
φ R
S1
Sm
2
Φ u θd
θ
S2
y
Right line
u3 l
θ x
x
configuration of the robot, parameterized by the location of the front wheels. The kinematic
model of the robotic vehicle can be represented as
ẋ u3 cos θ,
ẏ u3 sin θ, 2.1
u3
θ̇ tan φ,
l
where u3 corresponds to the forward velocity of the vehicle and the angle of the vehicle body
with respect to the horizontal line is θ, the steering angle with respect to the vehicle body is φ,
x, y is the location of the center point of the front wheels, l is the length between the front
and the rear wheels.
Since the turn radius of the robot is quite large compared with the radius of the wheels,
referring to Figure 1, we have the following relations:
w
S1 R− cos φ φ,
2
Sm Rφ, 2.2
w
S2 R cos φ φ,
2
where S1 and S2 give the displacement distance traveled of the front left and front right
wheel, respectively, R is the turn radius of the center point of the front wheels, w is the
distance between wheels from center-to-center along the length between the two font wheels
or two back wheels, and φ is the angle of the turn in radians. Sm is the displacement at the
center point of the front wheels. Once we have established the simple geometry for the robotic
vehicle system, it is easy to develop algorithms for controlling the robot’s steering angle φ,
thus controlling the robot’s orientation θ. As the robot is considered as having a rigid body, to
develop a forward kinematic equation for the steering system, we start by specifying a frame
of reference in which an arbitrarily chosen point is treated as stationary. All other points in
Mathematical Problems in Engineering 5
the system are treated as moving relative to the reference point. Here we treat the center point
of the front wheels as the origin of the simulated robot’s frame of reference.
For the robotic vehicle that we are modeling, the turn angle of the front wheels has a
range of −π/6, π/6, that is, −π/6 ≤ φ ≤ π/6. By adjusting the steering angle φ, we can
control the velocity of both the front wheels
w w
Ṡ1 φ̇ R − cos φ φφ̇ sin φ,
2 2
2.3
w w
Ṡ2 φ̇ R cos φ − φφ̇ sin φ,
2 2
so that
u2 − u1 φ̇w cos φ − φ sin φ , 2.4
where u1 and u2 correspond to the forward velocity of the front left wheel and the front right
wheel, respectively.
The real-time path of the vehicle can be obtained by integrating 2.1. The angle of the
vehicle body with respect to the horizontal line at time t Δt could be derived first. If φ̇ / 0,
that is, u2 / u1 , the angle of the vehicle body with respect to the horizontal line at time t Δt
is given as
t Δt
u3
θt Δt θt tan φdt
l t
u3 t Δt
θt − lncos φ t 2.5
lφ̇
u3
θt − lncos φt Δt lncos φt ,
lφ̇
and if φ̇ 0, that is, u2 u1 , the angle of the vehicle body at time t Δt is given as
u3
θt Δt θt tan φΔt. 2.6
l
Next the position of the vehicle at time t Δt could be derived. If θ̇ / 0, that is, φ / 0,
the position of the moving vehicle at time t Δt is given as
u3
xt Δt xt sin θt Δt − sin θt,
θ̇
2.7
u3
yt Δt yt − cos θt Δt − cos θt,
θ̇
6 Mathematical Problems in Engineering
μi1,i
1
1
x1 w1 .
.
j1 .
μ1,j y1
1
μi2,i
2
2
. y2
x2 w2 .
.
j2
μ2,j
2 . .
. . .
. . . . . .
. . . .
. . . . .
. . yN
μiM,i
M
M
. .
xM wm .
j .
M
μM,j .
M
and if θ̇ 0, that is, φ 0, the position of the vehicle at time t Δt is given as
MF1 MF2
1
1
μm
2
μm
Cl 1 2 Cr
Cm 1 2 Cm
bm bm
wm xm
Each input is adjusted by a weight factor. Then the input vector can be presented as
w1 x1 w2 x2 · · · wM xM , 3.2
Fuzzification Layer
It converts the weighted crisp inputs to fuzzy variables. This layer has three nodes for each
input: one node defines the fuzzy membership functions MFs for the input; the other two
nodes represent the two triggered MFs for the input. Triangle MFs are used for fuzzy sets
except for the leftmost and the rightmost fuzzy set. The leftmost and rightmost MFs are
trapezoidal. Without loss of generosity, MFs for different fuzzy sets can have different triangle
or trapezoidal shapes. We constrain the maximum overlapping degree of two MFs to 50%.
Therefore the maximum number of triggered MFs is 2 and these two MFs must be adjacent.
An example of the MFs with five fuzzy sets is shown in Figure 3. We define MF1 and MF2
1 2
as the first and second triggered MF, and μm and μm as the membership value of the first
1 2
and second triggered MF of the input xm , respectively, then μm and μm can be calculated as
1 2
μm 1, μm 0, xm ≤ Cl ,
1 2
μm 0, μm 1, xm ≥ Cr ,
1
1 wm xm − Cm 3.3
μm max 0, 1 − 1
,
bm
2
2 Cm − wm xm 1 2
μm max 0, 1 − 2
, Cm ≤ xm ≤ Cm ,
bm
8 Mathematical Problems in Engineering
f
k
MFout 1
k
Fn
k t
Cn k
bn
Decision-Making Layer
For every output, each node in this layer selects a fuzzy control rule from the rule base
of this output and obtains the antecedent value of this rule based on triggered input MFs.
Each output has one rule base, which means in the case of N outputs there are N different
rule bases in total. For each output, rules are selected according to the predefined rule base
corresponding to this output. Thus, each node in this layer selects N rules from N different
rule bases. Each control rule is selected based on a combination of MFs. Each of these MFs is
one of the triggered MFs of an input. For example, if there are three inputs, two of which have
two triggered MFs while the other input has only one triggered MF, the number of selected
rules for each output is 4 2 × 2 × 1. The antecedent value of the selected rule k is computed
using AND fuzzy logic. Therefore, “min” operation is considered for composition of the FLC:
F k min μ1 , μ2 , . . . , μm , . . . , μM , 3.4
1 2
where μm is one of the triggered input MFs either μm or μm of xm , k 1, 2, . . . , K ∗ , and K ∗
is the number of selected rules.
Defuzzification Layer
This layer converts fuzzy values to crisp values and send them out as control outputs of the
FLC. Each node in this layer performs defuzzification for an output. Triangles are used for
the output MFs. Figure 4 shows an example of MFs for an output with three fuzzy sets. The
k
center of gravity COG algorithm is used to compute output crisp values. Let Cn be the
center of the kth triangle. The output yn can be computed as
k k
k Cn Fn dt
yn k
, 3.5
k Fn dt
Mathematical Problems in Engineering 9
Defuzzification
Inference
Fuzzification
Desired steering
angle θd engine
e τ Robotic θ
vehicle
− D ė
Rule base
k
where Fn is the antecedent value of the kth selected fuzzy rule for yn . As all the output MFs
k
are triangles, Fn dt can be obtained by computing the area of the trapezoid under the line
k
f Fn . Thus, 3.5 can be modified as
k k k k 2
C
k n b n F n − F n /2
yn 3.6
k k k 2
b
k n F n − F n /2
k
where bn is the base length of the kth output MF. Equation 3.6 simplifies the defuzzification
calculation by replacing derivatives with the computation of trapezoid areas.
NL NS ZO PS PL
1
−70 −35 0 35 70 e
a
NL NS ZO PS PL
1
−70 −35 0 35 70 ė
b
Figure 6: Input Membership functions. a Error MF. b Change-in-error MF.
ėφ
PL PS ZO NS NL
PL RL RL RL RS MD
PS RL RL RS MD LS
eφ ZO RL RS MD LS LL
NS RS MD LS LL LL
NL MD LS LL LL LL
Note: PL: Positive Large; PS: Positive Small; ZO: Zero; NS: Negative Small; NL: Negative Large; RL: Right Large turn right
sharply; RS: Right Small turn right gently; MD: Middle no turn; LL: Left Large turn left sharply; LS: Left Small turn
left gently.
the relation between the inputs and the output. Based on the membership functions of the
error and the change in error, twenty-five fuzzy rules are obtained.
Figure 7 shows output MFs. All MFs for the output are isosceles triangles with 50%
overlap between two neighboring MFs.
The defuzzification procedure maps the fuzzy output from the inference mechanism
to a crisp signal. We use the COG defuzzification method to combine the recommendations
represented by the implied fuzzy sets from all the rules. The crisp value is computed
according to 3.6.
e θ − θd x1 ,
4.1
ė θ̇ − θ̇d x2 ,
Mathematical Problems in Engineering 11
LL LS MD RS RL
1
where θd is the desired angle, and θ is the actual angle. From 2.1, we know that we need
to design the FLC to control the steering wheel so that θ can approach θd . The output of the
fuzzy controller Φ· is a function of x1 and x2 that can be represented by Φx1 , x2 . On the
intelligent vehicle, the control signal Φx1 , x2 is used to steer the front wheels. We assume
that the low-level tracking controller can output the motor torque to steer the front wheels
accordingly. Recall 2.1, we have
u3
ẋ1 x2 θ̇ − θ̇d tan φ − θ̇d ,
l
4.2
u3 1
ẋ2 θ̈ − θ̈d φ̇ − θ̈d .
l cos2 φ
T T
ẋ fx ẋ1 ẋ2 x2 ẋ2 . 4.3
gx h11 x1 h21 x2 h12 x1 h22 x2 . 4.4
∂2 V ∂2 V
, 4.5
∂xi xj ∂xj xi
12 Mathematical Problems in Engineering
or equivalently,
∂gi ∂gj
. 4.6
∂xj ∂xi
If we choose k 0, we have
1
gx g1 g2 h1 x1 h22 x2 . 4.9
Step 3. Find V̇ :
V̇ x ∇V · fx
gx · fx
1 x2 4.10
h1 x1 h22 x2
ẋ2
1 1 2 1 2 2
h x h x .
2 1 1 2 2 2
Mathematical Problems in Engineering 13
Therefore, we have
1 1 2 1 2 2
V x h x h x , 4.12
2 1 1 2 2 2
V̇ x h11 x1 x2 h22 x2 ẋ2 . 4.13
Step 5. Find h11 and h22 that make V > 0. From 4.12, V x > 0 only if h11 , h22 > 0. Let h11 h22
1, then we have
V̇ x x1 x2 x2 ẋ2 θ̇ − θ̇d θ θ̈ − θd − θ̈d . 4.14
Based on the “variable gradient” approach, we can derive the following Lyapunov
function:
1 2 1 2
V x x x , 4.15
2 1 2 2
where V : B → R for some > 0, where B {x ∈ R2 : |x| < } is a ball centered at the
origin with a radius of and | · | is a norm on R2 . Then the gradient of the Lyapunov function
is
∇V xt x1 x2 , 4.16
x2
V̇ x1 x2
ẋ2
x2 x1 ẋ2
4.17
θ̇ − θ̇d θ θ̈ − θd − θ̈d
u u3 1
3
tan φ − θ̇d θ − θd φ̇ − θ̈d .
l l cos2 φ
We would like V̇ ≤ 0, to prove stability, that is, to show that the fuzzy controller can achieve
and maintain the desired θd . In 4.17, u3 /l > 0, cos2 φ > 0. We assume that θ̇d is bounded,
and θ̈d 0. On the RC car, the steering angle −30◦ ≤ φ ≤ 30◦ .
We can always design the FLC, Φx1 , x2 , to adjust φ and φ̇ to achieve the following
conditions:
u3 1 u3
φ̇ ≥ θd − θ if tan φ − θ̇d > 0
l cos2 φ l
4.18
u3 1 u3
φ̇ ≤ θd − θ if tan φ − θ̇d < 0.
l cos2 φ l
5. Experimental Setup
In this section, the hardware setup of the prototype vehicle for autonomous road following is
presented. A fully automated robotic system is designed to control a motor vehicle using an
on board camera. The hardware system includes a camera associated with a frame grabber.
The camera is then connected to a Microchip PIC controller which controls the vehicle motion.
This system utilizes the camera with a frame-grabber and a built-in processor to grab pictures
of the road and to find the center of the road. Then it calculates the deviation between the
center of the car and the center of the road, and sends the result to an FLC. The FLC decides
how to turn the vehicle and sends out control signals to control the steering wheel. This
is implemented in a way that the vehicle can remain between two lines while simulating
highway motion.
40
30
20
y m 10
−10
−20
−30
0 10 20 30 40 50 60 70 80 90
x m
Error
5
0
Error ◦
−5
−10
−15
0 10 20 30 40 50 60 70
Time s
a
Change in error
Change in error ◦ /s
50
0
−50
−100
−150
−200
0 10 20 30 40 50 60 70
Time s
b
mark the road are in different colors from the rest of the road, using a multiple color tracking
algorithm, we are able to track each line individually. The minimum and maximum RGB
values for each line color are set in the camera code. Pixels within the RGB value range are
regarded as a part of the line. A filter is applied to filter out noise. The camera finds the
location and the width of each colored line in terms of pixels and calculates the centroid of
each colored line. The centroid of two colored lines is then used to calculate the position
16 Mathematical Problems in Engineering
Angle ◦
0
−5
−10
−15
−20
0 10 20 30 40 50 60 70
Time s
Actual trajectory
Figure 12: The road following result using the proposed method.
error which is sent to the microcontroller. Since the vehicle is supposed to remain in the
center of the two colored lines, error can be calculated if the centroid is not at the center
of the image. The camera is programmed using a variation of the C language. The error is
calculated according to one of the states described in Table 2. Centroids in the table refer to
the x coordinate of the image only. In the table, Cr represents the centroid of the red line,
Cy represents the centroid of the yellow line, Cw represents the centroid of the image, C
represents the centroid of the two lines, respectively.
5.4. Microcontroller
The PIC18F4431 microcontroller is used to interface with the camera and the car’s existing
circuitry. It receives the incoming position error from the RS-232 port located on the
CMUCam3 board. The microcontroller then uses the error to calculate the appropriate
steering signal, using the proposed FLC written in C language. The steering signal is then
output to the RC car’s circuit.
Mathematical Problems in Engineering 17
y inch
20
15
10
5
0
0 10 20 30 40 50 60 70 80 90 100
x inch
20
10
0
0 10 20 30 40 50 60 70 80 90 100
x inch
Error
5
4
3
Error
2
1
0
−1
0 10 20 30 40 50 60 70 80 90 100
Index
a
Change in error
6
Change in error
4
2
0
−2
−4
0 10 20 30 40 50 60 70 80 90 100
Index
b
trajectory while the dotted line represents the actual trajectory. The maximum absolute error
between the center line of the road and the actual trajectory of the intelligent vehicle is 1.55
inches. The root mean square error is 0.73 inches which is relatively small compared with the
width of the road which is 8 inches.
As a comparison, we also obtained simulation results for the vehicle moving at
0.9 m/s. Figure 14 shows the tracking performance of the vehicle. The desired trajectory is
the one used in the experiment. It can be seen that experiment results in Figure 13 match the
simulation results in Figure 14 very well. The maximum error in the experiment results is a
little larger. This is because in the real world, the camera takes some time to process the raw
data in order to obtain the error while in simulation the error is calculated instantaneously.
The error and change in error for both the experiment and the simulation are plotted
in Figures 15 and 16. From the figures, it can be seen that the error is larger when there is
a curve in the desired trajectory. This is because the desired trajectory is changing while the
actual trajectory is deviated from the desired trajectory. The designed fuzzy controller adjusts
to the changes and controls the vehicle to follow the trajectory successfully. It is also noted
that in the experiment results, the change in error is filtered thus it is smoother than the
simulated change in error.
Mathematical Problems in Engineering 19
Error
4
3
2
Error ◦
1
0
−1
−2
−3
0 10 20 30 40 50 60 70 80
Time s
a
Change in error
6
Change in error ◦ /s
4
2
0
−2
−4
−6
0 10 20 30 40 50 60 70 80
Time s
b
7. Conclusion
In this paper, an intelligent robotic vehicle which is capable of performing autonomous
road following is successfully developed. A vision system installed on the vehicle is used
to detect a curved road. An FLC is developed to control the steering wheel of the robotic
vehicle according to the deviation from the rods. The deviation of the vehicle from the road
is regarded as the error. The error and the change-in-error are used as the input of the
FLC. Based on human driving experience and experiments, the FLC makes decision on the
steering angle accordingly. An analysis and design of fuzzy control laws for steering control
of the nonholonomic robotic vehicle are presented. Lyapunov’s direct method is used to
guarantee the convergence of the steering error. Simulations using the four degree of freedom
nonholonomic robotic vehicle model are also conducted to investigate the performance and
stability of the fuzzy controller. Experiments demonstrate that the vehicle with the proposed
fuzzy controller can automatically follow the curved road.
Acknowledgment
Peter Miller, Matt Webb, and Chris Desjardins helped with the hardware setup.
References
1 R. Bishop, “Intelligent vehicle applications worldwide,” IEEE Transactions on Intelligent Systems, vol.
15, no. 1, pp. 78–81, 2000.
2 A. M. Zhang and R. A. Russell, “Dominant orientation tracking for path following,” in Proceedings of
IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3885–3889, August 2005.
20 Mathematical Problems in Engineering
3 D. Raviv and M. Herman, “A new approach to vision and control for road following,” in Proceedings
of the IEEE Workshop on Visual Motion, pp. 217–225, October 1991.
4 C. Thorpe, M. H. Hebert, T. Kanade, and S. A. Shafer, “Vision and navigation for the Carnegie-Mellon
Navlab,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 10, no. 3, pp. 362–373, 1988.
5 D. Raviv and M. Herman, “A unified approach to camera fixation and vision-based road following,”
IEEE Transactions on Systems, Man and Cybernetics, vol. 24, no. 8, pp. 1125–1141, 1994.
6 Z. Zhu, S. Yang, G. Xu, X. Lin, and D. Shi, “Fast road classification and orientation estimation using
omni-view images and neural networks,” IEEE Transactions on Image Processing, vol. 7, no. 8, pp. 1182–
1197, 1998.
7 R. Chapuis, R. Aufrere, and F. Chausse, “Accurate road following and reconstruction by computer
vision,” IEEE Transactions on Intelligent Transportation Systems, vol. 3, no. 4, pp. 261–270, 2002.
8 L. Beji and Y. Bestaoui, “An adaptive control method of automated vehicles with integrated
longitudinal and lateral dynamics in road following,” in Proceeding of the 2nd International Workshop
on Robot Motion and Control, pp. 201–206, October 2001.
9 S. Baluja, “Evolution of an artificial neural network based autonomous land vehicle controller,” IEEE
Transactions on Systems, Man, and Cybernetics, Part B, vol. 26, no. 3, pp. 450–463, 1996.
10 D. Y. Jeong, S. J. Park, S. H. Han, M. H. Lee, and T. Shibata, “A study on neural networks for vision-
based road following of autonomous vehicle,” IEEE International Symposium on Industrial Electronics,
vol. 3, pp. 1609–1614, 2001.
11 S.-Y. Oh, J.-H. Lee, and D.-H. Choi, “A new reinforcement learning vehicle control architecture for
vision-based road following,” IEEE Transactions on Vehicular Technology, vol. 49, no. 3, pp. 997–1005,
2000.
12 C. C. Lee, “Fuzzy logic in control systems: fuzzy logic controller I,” IEEE Transactions on Systems, Man,
and Cybernetics, vol. 20, no. 2, pp. 404–418, 1990.
13 T.-H. S. Li, S.-J. Chang, and Y.-X. Chen, “Implementation of human-like driving skills by autonomous
fuzzy behavior control on an FPGA-based car-like mobile robot,” IEEE Transactions on Industrial
Electronics, vol. 50, no. 5, pp. 867–880, 2003.
14 J. L. Arroyabe, G. Aranguren, L. A.L. Nozal, and J. L. Martin, “Autonomous vehicle guidance with
fuzzy algorithm,” in Proceedings of 26th Annual Conference of IEEE Industrial Electronics Society (IECON
’00), vol. 3, pp. 1503–1508, Nagoya, Japan, October 2000.
15 S. Yasunobu and Y. Murai, “Parking control based on predictive fuzzy control,” in Proceedings of the
3rd IEEE Conference on Fuzzy Systems, vol. 2, pp. 1338–1341, Orlando, Fla, USA, June 1994.
16 W. A. Daxwanger and G. K. Schmidt, “Skill-based visual parking control using neural and fuzzy
networks,” in Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, vol. 2,
pp. 1659–1664, Vancouver, Canada, October 1995.
17 M. C. Leu and T.-Q. Kim, “Cell mapping based fuzzy control of car parking,” in Proceedings of IEEE
International Conference on Robotics and Automation, vol. 3, pp. 2494–2499, Leuven, Belgium, May 1998.
18 P. A. Parrilo, Structured semidefinite programs and semialgebraic geometry methods in robustness and
optimization, Ph.D. thesis, Caltech, Pasadena, Calif, USA, 2000.
19 A. Papachristodoulou and S. Prajna, “On the construction of Lyapunov functions using the sum of
squares decomposition,” in Proceedings of the 41st IEEE Conference on Decision and Control, vol. 3, pp.
3482–3487, Las Vegas, Nev, USA, December 2002.
20 A. Megretski, Dynamics of Nonlenear Systems, Lecture Notes, Massachusetts Institute of Technology,
Cambridge, Mass, USA, 2003.
21 H. J. Marques, Nonlinear Control Systems: Analysis and Design, John Wiley & Sons, New York, NY, USA,
2003.
22 Y. Fu, H. Li, and M. Kaye, “Design and stability analysis of a fuzzy controller for autonomous road
following,” in Proceedings of IEEE Intelligent Vehicles Symposium, pp. 66–71, Xi’an, China, June 2009.