Professional Documents
Culture Documents
Vision Based Autonomous Path Tracking of
Vision Based Autonomous Path Tracking of
http://i-lab.org.au/conference
Vision Based Autonomous Path Tracking of a
Mobile Robot using Fuzzy Logic
Abstract—In this paper we present an algorithm for au- Mobile robot path tracking can be compared to driving a
tonomous path tracking of a mobile robot to track straight and car along a road. The road consists of straight and curved
curved paths traced in the environment. The algorithm uses a segments or bends. The driver has to control two parameters
fuzzy logic based approach for path tracking so that human of the vehicle in order to drive safely along the road. One of
driving behavior can be emulated in the mobile robot. The method parameters is the speed of the vehicle which can be controlled
combines a fuzzy steering controller, which controls the steering
angle of the mobile robot for path tracking, and fuzzy velocity
by using the accelerator and the brake. The other parameter
controller which controls the forward linear velocity of the mobile is the heading of the vehicle which can be controlled using
robot for safe path tracking. The inputs to the fuzzy system are the steering wheel. The experienced driver (expert) know how
given by the vision system of the mobile robot. A camera is used to appropriately control the speed and steering of the vehicle
to capture images of the path ahead of the mobile robot and the based on the road ahead of the vehicle. If the car approaches
vision system determines the lateral offset, heading error and the a bend of some constant curvature then a constant amount of
curvature of the path. We perform experiments using a mobile steering must be applied to track the bend. The authors in [10]
robot platform. In the first experiment the mobile robot is able referred to this exception handling. On a straight road however,
to successfully track a straight path. This shows the effectiveness the driver may have to make fine adjustments to the steering
of the fuzzy steering controller. We also perform experiments on to keep the car on track, and may increase the speed of the
paths containing curved sections. The fuzzy velocity controller
was able to command appropriate speed for safe tracking of the
car. This was referred to as compensation control in [10].
path ahead of the robot. The effectiveness of the fuzzy velocity An expert driver may make decisions based on a vague
controller is shown in this experiment. set of rules such as “if aggressive steering is required then
reduce speed” or “if gentle steering is required, then increase
I. I NTRODUCTION speed” or “if bend is narrow then reduce speed”. To handle
In the area of mobile robot navigation, there exists many such vagueness in information, perhaps the most appropriate
problems that robotics researchers have addressed using dif- solution to path tracking problem is by using a fuzzy logic
ferent techniques. One such problem is the path tracking based approach. In fact, research in autonomous highway
problem where the mobile robot navigates by following a path driving has also considered using fuzzy logic based approach.
traced on the ground in the robot environment. Path tracking The authors in [10] have used a fuzzy logic controller to
problem is most relevant to mobile robots in industrial and control the steering of a car for autonomous highway driving.
manufacturing environment as well as to mobile robots in The dynamic model of the mobile robot is highly non-linear
agriculture applications [1]. and it is further affected by undesired effects such as wheel
slippage, gear backlash and sensor noise. A fuzzy logic based
Several papers have addressed the problem of path tracking controller is well suited for non-linear control applications as
for nonholonomic mobile robots e.g., [2], in which the authors the dynamic model of the plant is not required. For this reason
have attempted the trajectory tracking problem by designing and because fuzzy logic based controller is easier to design and
an adaptive tracking controller and [3], in which the authors implement, many authors e.g., in [9] have used this approach
have successfully used the backstepping technique. Another for path tracking of mobile robots. The authors in [11], used a
interesting approach is the sliding mode control approach [4] to fuzzy inference system (FIS) to control the advancing velocity
tracking in which the authors have represented the kinematics of the mobile robot to successfully track a path.
of a nonholonomic mobile robot in polar coordinates. Recently
it has been noted that the mobile robot path tracking problem This paper focuses on mobile robot navigation problem,
has been addressed using vision based approaches [5]–[9], in particular solving the problem of autonomously tracking
that is using a vision sensor. Vision sensors can provide extra a continuous path traced on the ground in the mobile robot
information about the characteristics of the path ahead of the environment. We explore a fuzzy logic based approach mainly
mobile robot, instead of just determining whether the mobile because human driving behavior can be emulated using simple
robot is to the left or right of the path as with infrared sensors. fuzzy control rules and since no explicit dynamics model of
In [7], the mobile robot approaches a target point whereby the the mobile robot is required in this approach. In our approach
coordinate of the point is extracted from the image of the path. the images of the path ahead of the robot is captured using a
y 1
ω c
P
v
eh
y el
b x
ϕ l L
θ
Fig. 2. Sketch showing the parameters of the path used in the proposed
x algorithm
Actual
Vision el Fuzzy ϕ Fuzzy v Low Mobile Path
Steering Velocity Level
System eh Controller Controller Controller Robot
Camera
techniques determines the lateral error and heading error of the Negative Positive
mobile robot. The lateral error is in meters whereas heading 1
error is in radians. The errors are inputs to the fuzzy steering
controller. The vision system of the mobile robot also estimates
membership
the curvature of the path ahead of the robot. The estimated
curvature is one of the inputs to the fuzzy velocity controller. 0.5
The output of the fuzzy steering controller and fuzzy velocity
controller is the steering angle and forward linear velocity
respectively. It can be noted that the outputs of the two fuzzy
controllers are reference inputs to the low level controller 0
which regulates the left and the right wheel velocities of −M 0 M
the mobile robot to achieve the reference linear velocity and error, change of error
steering angle. The following subsections gives details about
the design of the fuzzy steering and fuzzy velocity controller. Fig. 4. Membership function plots for error e1 (k) and change in error e2 (k)
ϕ
0
use the algebraic product for the fuzzy AND operation to
compute the firing strength of each rule as
−10
Φi = µA1i (e1 (k))µA2i (e2 (k)) (10) 1
1
where Φi is the firing strength of rule i and µA1i is the degree 0 0.5
0
of membership of input e2 (k) in set A1i and µA2i is the degree e2 −0.5
of membership of the input e2 (k) in set A2i . The crisp steering −1−1 e1
angle output is computed in the defuzzification step. We used
the popular weighted average method given in (11) to compute Fig. 5. Non-linear control surface of the steering fuzzy controller
the crisp value of the steering angle. It can be noted that due to
the structure of the membership function for error and change
of error, the denominator in (11) is always one. The structure case, a dynamic model of the mobile robot needs to be made
of the fuzzy steering controller is similar to the fuzzy PD and a suitable method of optimization needs to be selected.
controller with variable proportional and derivative gains [13]. There are other factors such as the optimization criteria or the
PN fitness function needs to be obtained and constrains need to
Φi ui (k) be set as tunning fuzzy controller parameters is a constrained
ϕ(k) = i=1 PN (11)
optimization problem. In addition, the optimization method
i=1 Φi
itself has several parameters that needs to be selected carefully.
The values of the parameters of the fuzzy steering con- Optimization of the controller parameters requires experience
troller are chosen as follows. We choose M = 1 since the error and time. The optimization of the fuzzy controller parameters
and change of error can be normalized in the range [−1, 1]. The is outside the scope of this work. However, we can confirm that
parameters p1 = p4 = 1 and p2 = p3 = 0. The explanation the parameters that we selected resulted in a stable controller.
behind this choice is as follows. The choice of these variables
resulted in the simplest steering angle control rules. If error
and change of error are both positive, then it means that the B. Fuzzy Velocity Control
path is to the left of the robot and the robot is moving further
towards the right away from the path. Therefore, the controller The fuzzy velocity controller compensates for the increase
output must approach the positive maximum value of steering in the angular velocity above the kinematic limit of the mobile
angle to steer the robot towards the left to track the path. robot by appropriately reducing the forward linear velocity of
Similarly, if error and change of error are both negative, then the mobile robot. There are two inputs to the fuzzy velocity
it means that the path is to the right of the robot and the controller which are steering and bend. The linguistic variable
robot is moving further away from the path towards the left. steering refers to the amount of steering angle applied by the
In this case the controller output must approach the negative fuzzy steering controller. The steering angle of the mobile
maximum value of the steering angle to steer the robot towards robot can be used to determine the angular velocity of the
the right to track the path. However, if error is positive and robot at current forward velocity using the equation in (3).
change of error is negative, then the controller steering angle A kinematic limit on the angular velocity ωmax , of the mobile
output must approach zero as the mobile robot is in the process robot such that |ω| ≤ ωmax brings to an upper limit the steering
of moving towards the path. The same is the case if error angle ϕ, such that |ϕ| ≤ ϕmax , to maintain the angular velocity
is negative and change of error is positive. It must be noted limit of the mobile robot at current forward linear velocity.
that the human driving behavior is reflected in the four cases v
discussed here. The fuzzy rule base given in Table I shows all ωmax = tan(ϕmax ) (12)
l
the N = 4 possible rules of the fuzzy inference system. We
set the parameters a1 = 9.00 and a2 = −0.02. This is based However, the fuzzy steering controller may command a greater
on several experiments. The four simple control rules can be steering angle to track an upcoming bend in the mobile robot
visually seen in the three dimensional non-linear controller path. The linguistic variable steering then refers to the amount
surface in Fig. 5. by which the commanded steering angle exceeds ϕmax , and is
given by ∆ϕ in (13).
The optimal values of the parameters a1 and a2 can be
obtained by using an offline optimization algorithm. In such ∆ϕ = |ϕ| − ϕmax (13)
Gentle Appropriate Aggressive Wide Medium Narrow
1 1
membership
membership
0.5 0.5
0 0
−1.0 −0.5 0 0.5 1.0 0 0.5 1.0
steering (∆ϕ) bend (c̄)
Fig. 6. Membership function for steering Fig. 7. Membership function for bend
0.2
0.2
y (m)
0
y (m)
0
−0.2
−0.2
−0.4
−0.4
0 0.5 1 1.5 2
x (m)
−0.2 0 0.2 0.4 0.6 0.8 1
x (m)
Fig. 12. The position (x, y) of the mobile robot in relation to the actual path
traced on the ground for straight path tracking
Fig. 10. Projection of the points owning to the path onto ground plane. These
points are shown as red squares. The trapezoid shows the area of the ground
captured by the camera. The blue line is the curve that has been fit through 1.5 3.33 m−1
the points owning to the path. 2.00 m−1
1.43 m−1
el 1
0.1 eh
y (m)
0 0.5
error
−0.1 0
0 0.5 1 1.5 2
−0.2 x (m)
0 2 4 6 8 10 12 Fig. 13. The trajectory followed by the mobile robot while tracking three
t (sec) different path containing bend of different curvatures
Fig. 11. Lateral (el ) and heading (eh ) error of the mobile robot for tracking
a straight path C. Curved Path Tracking
We performed a series of experiments on curved paths of
different curvature value. In this experiment, a section of the
through the points and using the model of the path described
mobile robot path was curved and had a constant curvature
in [16].
while the rest of the path was straight. We selected three dif-
ferent curvature values for the three paths. The three different
curvature values are 3.33 m−1 , 2.00 m−1 and 1.43 m−1 . The
B. Straight Path Tracking curved section for each of the three paths started from the same
point. This can be seen from the combined plots in Fig. 13 for
Our first experiment was tracking a straight path traced each of the three trajectory taken by the mobile robot. The
on the ground. The initial position of the mobile robot was path taken by the mobile robot was determined by the use of
about 0.1 meters offset from the path on the ground. The odometry only. It was also assumed that initial position of the
lateral error and the heading error for a duration of about 12 mobile robot is (0, 0).
seconds is shown in Fig. 11. It can be seen that the lateral
error approached zero in about 2 seconds. It must also be In addition, the velocity of the mobile robot for the duration
noted there is no overshoot in the lateral position error. This of the experiment for each of the three paths was also acquired.
is a feature of the derivative term of the fuzzy PD controller. The velocity is plotted in Fig. 14. The plots show that the
The heading error also stabilized with very little overshoot velocity of the mobile robot was reduced by the fuzzy velocity
and is within ±1 %. The small error is encountered because controller while tracking the curved section of the path. It
of the nonholonomic constrain of the mobile robot and because can be noted from Fig. 13 that the curved section of the
more weight is given to the lateral error. The lateral error is in path was encountered after about 1 m of straight path. At
meters while the heading error is in radians. The plot showing a velocity of 0.2 m/s, the mobile robot approaches the bend
the position of the mobile robot in relation to the tracked or the curved section after 5 seconds. Thus, to safely track
path is given in Fig. 12. This plot was obtained by the use the curved section of the path the velocity fuzzy controller
of robot odometry only. Techniques such as dead reckoning reduces the linear forward velocity of the mobile robot. The
which involved setting the initial (x, y) position of the robot three plots in Fig. 14a, Fig. 14b and Fig. 14c shows the velocity
as (0, 0) were used to obtain this plot. profile of the mobile robot for curvatures 3.33 m−1 , 2.00 m−1
0.2 0.2 0.2
v (m/s)
v (m/s)
0.1 0.1 0.1
0 0 0
0 5 10 15 0 5 10 15 0 5 10 15
t (sec) t (sec) t (sec)
(a) (b) (c)
Fig. 14. Forward linear velocity of the mobile robot while tracking a path of three different curvatures of (a) 3.33 m−1 (b) 2.00 m−1 and (c) 1.43 m−1
and 1.43 m−1 respectively. It can be seen that the greater the [2] J.-h. Li and S.-a. Wang, “Adaptive trajectory tracking control of wheeled
curvature value, the more the velocity controller reduces the mobile robots with nonholonomic constraint,” Journal of Electronic and
linear forward velocity. After the mobile robot exits the curved Technology of China, vol. 3, no. 4, pp. 342–347, 2005.
section, the velocity controller accelerates the mobile robot to [3] 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,”
0.2 m/s. IEEE Trans. Control Syst. Technol., vol. 9, no. 2, pp. 305–318, Mar
2001.
V. C ONCLUSION [4] D. Chwa, “Sliding-mode tracking control of nonholonomic wheeled
mobile robots in polar coordinates,” IEEE Trans. Control Syst. Technol.,
The contribution of this paper is summarized as follows. vol. 12, no. 4, pp. 637–644, 2004.
We have proposed a fuzzy logic based method for autonomous [5] Y. Ma, J. Kosecka, and S. Sastry, “Vision guided navigation for
path tracking of a mobile robot. The proposed method is a nonholonomic mobile robot,” in Proc. 36th IEEE Conference on
designed using fuzzy rules that emulate human driving behav- Decision and Control, vol. 3, Dec 1997, pp. 3069–3074.
ior. The path tracking algorithm is for tracking straight and [6] A. Cherubini, F. Chaumette, and G. Oriolo, “An image-based visual
curved paths of different curvatures. Path information such as servoing scheme for following paths with nonholonomic mobile robots,”
lateral position of the path with respect to the mobile robot, in 10th International Conference on Control, Automation, Robotics and
Vision (ICARCV 2008), Dec 2008, pp. 108–113.
the heading of the robot with respect to the direction of the
[7] A. Rezoug and M. Djouadi, “Visual based lane following for non-
tangent line to the path and the curvature of the path ahead holonomic mobile robot,” in IEEE EUROCON 2009, May 2009, pp.
of the robot is estimated by vision system of the robot using 902–907.
images of the path captured by a camera. The fuzzy logic based [8] G. Antonelli and S. Chiaverini, “Experiments of fuzzy lane following
approach is taken by designing two fuzzy systems, one for for mobile robots,” in Proc. 2004 American Control Conference, vol. 2,
steering control and the other for velocity control. The steering June 2004, pp. 1079–1084.
controller controls the steering angle of the mobile robot while [9] T. H. Lee, H. Lam, F. H. F. Leung, and P.-S. Tam, “A practical fuzzy
the velocity controller controls the forward linear velocity of logic controller for the path tracking of wheeled mobile robots,” IEEE
Control Syst. Mag., vol. 23, no. 2, pp. 60–65, Apr 2003.
the mobile robot. Experiments are performed on a mobile robot
[10] J. Guo, P. Hu, L. Li, and R. Wang, “Design of automatic steering
platform. The performance of the two combined controller controller for trajectory tracking of unmanned vehicles using genetic
is shown through the experiments on different paths. Firstly, algorithms,” IEEE Trans. Veh. Technol., vol. 61, no. 7, pp. 2913–2924,
the mobile robot is able to successfully track a straight path, Sept 2012.
which shows the effectiveness of the fuzzy steering controller. [11] G. Antonelli, S. Chiaverini, and G. Fusco, “A fuzzy-logic-based ap-
Secondly, the advantages of the fuzzy velocity controller is proach for mobile robot path tracking,” IEEE Trans. Fuzzy Syst., vol. 15,
shown by tracking a path with curved section. The fuzzy no. 2, pp. 211–221, April 2007.
velocity controller is able to reduce the velocity of the mobile [12] H. Ying, “The takagi-sugeno fuzzy controllers using the simplified
linear control rules are nonlinear variable gain controllers,” Automatica,
robot to safely track the bend in the path. vol. 34, no. 2, pp. 157–167, 1998.
[13] ——, “Constructing nonlinear variable gain controllers via the takagi-
ACKNOWLEDGMENT sugeno fuzzy control,” IEEE Trans. Fuzzy Syst., vol. 6, no. 2, pp. 226–
234, May 1998.
The authors wish to thank the Faculty Research Committee,
[14] J.-Y. Bouguet. (2013) Camera calibration toolbox for matlab. [Online].
of Faculty of Science, Technology and Environment at the Available: http://www.vision.caltech.edu/bouguetj/calib doc/
University of the South Pacific for their grant of $5012.12 [15] Z. Zhang, “Flexible camera calibration by viewing a plane from
FJD under the vote code 6C373-1351-70306-00 towards this unknown orientations,” in Proc. Seventh IEEE International Conference
study. on Computer Vision, vol. 1, 1999, pp. 666–673.
[16] B. Southall and C. Taylor, “Stochastic road shape estimation,” in Proc.
R EFERENCES Eighth IEEE International Conference on Computer Vision, vol. 1,
2001, pp. 205–212.
[1] S. Hiremath, F. van Evert, G. van der Heijden, C. ter Braak, and
A. Stein, “Image-based particle filtering for robot navigation in a maize
field.”