You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/252056969

Backstepping control of wheeled mobile robots

Conference Paper · October 2011

CITATIONS READS

12 1,905

3 authors:

Bogdan. Dumitrascu A. Filipescu


Universitatea Dunarea de Jos Galati Universitatea Dunarea de Jos Galati
17 PUBLICATIONS 101 CITATIONS 97 PUBLICATIONS 546 CITATIONS

SEE PROFILE SEE PROFILE

Viorel Mînzu
Universitatea Dunarea de Jos Galati
108 PUBLICATIONS 462 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Computational Intelligence Tools Used to Solve Optimal Control Problems View project

Study and control of a water treatment system by ultraviolet radiation: Implementation on an embedded target View project

All content following this page was uploaded by Viorel Mînzu on 04 April 2015.

The user has requested enhancement of the downloaded file.


Backstepping Control of Wheeled Mobile Robots

B. Dumitrascu, A. Filipescu, V. Minzu, A. Filipescu Jr.

Abstract— A trajectory tracking controller based on the anywhere in a household, the only unreachable area being
backstepping technique for the PowerBot wheeled mobile the stairs. A lot of household wheeled mobile robots are
robot using the kinematic model is proposed in this paper. already commercially available like autonomous cleaning
The PowerBot is an automated differential drive guided robots or mowing robots, but we can expect a lot more
vehicle specially designed and equipped for autonomous, household tasks to be performed by wheeled mobile robots
intelligent delivery and handling of large payloads. The
as technology allows for cheaper robots. For this reasons
PowerBot is an ideal platform for laboratory and research
tasks involving delivery, navigation and manipulation thanks
research on wheeled mobile robots has been a very active
to its top speed of 1.6 m/s and payload capacity of up to 100 kg. field.
Simulations and real-time are used to validate the proposed Wheeled mobile robots are characterized by
controller and the results prove the effectiveness of the nonholonomic systems, a class of systems that cannot be
controller. stabilized by smooth static state feedback laws [1].
Backstepping control is one of the most important
I. INTRODUCTION methods for stabilizing a nonholonomic system. The control

W HEELED mobile robots are becoming a part of our


daily lives due to the progress in technology that
leads to more complex and also cheaper robots. Mobile
problem for nonlinear systems has been researched by
Kolmanovsky et al. [5] and Slotine et al. [12].
Backstepping is a recursive procedure that breaks a
robots were, at first, restricted to research or mostly military design problem for the whole system into a sequence of
applications due to their high prices, but nowadays a lot of design problems for lower order systems. Backstepping for
cheap robots are available that are affordable to the general nonlinear systems was researched by several researchers
consumer. Wheeled mobile robots are the most important like Shi [2] and Khalil [11]. The method proved to be
type of mobile robots. They are easy to build reliable, effective for the control problem of wheeled mobile robots
cheaper than other types of mobile robots and can move [3], [4], [6], [8], [9], [10], [13].
along most surfaces. More and more household applications
and industrial applications employ wheeled mobile robots.
The industry uses them mainly to transport components
from an assembly line to another, or from the assembly line
to the storage and loading bay, but they are also used for
various other tasks, like welding, painting or inspecting
hard to reach areas or dangerous areas for a humans to
enter, depending on the equipment attached to the wheeled
mobile robot. Wheels allow robots to travel almost

This work of Bogdan Dumitrascu was supported by Project


POSDRU/88/1.5/S/61445.
Bogdan Dumitrascu is PhD student in Control Systems with the
Department of Automation and Electrical Engineering, University
“Dunarea de Jos” of Galati, Domneasca 47, 800008, Galati, Romania
(email: dumi_b20@yahoo.com).
Fig. 1. PowerBot wheeled mobile robot
Adrian Filipescu is prof. PhD supervisor with the Department of
Automation and Electrical Engineering, University “Dunarea de Jos” of
Galati, Romania (email: Adrian.Filipescu@ugal.ro). In this paper a backstepping controller for the PowerBot
Viorel Minzu is professor with the Department of Automation and (Fig. 1) wheeled mobile robot, from Adept Mobile Robots
Electrical Engineering, University “Dunarea de Jos” of Galati, Romania Inc. [14] is presented. The PowerBot is an automated
(e-mail: Viorel.Minzu@ugal.ro).
differential drive guided vehicle specially designed and
Adriana Filipescu Jr. is master student in Control Systems with the
Departament of Automation and Electical Engineering, University equipped for autonomous, intelligent delivery and handling
“Dunarea de Jos” of Galati, (e-mail: adriana_filipescu@yahoo.ca). of large payloads. It is a part of the MobileRobots Pioneer
family of mobile robots, which are research and
development platforms that share a common architecture, The kinematic model for the robot can be expressed as:
foundation software, and employ artificial intelligence-  xr  cos  r 0
based client-server robotics controls. The PowerBot has a  y    sin 0    vr  . (1)
top speed of 1.6 m/s and can carry a payload of up to 100  r  r   

 r   0 1   r
kg. It is an ideal platform for laboratory and research tasks
involving delivery, navigation and manipulation. The kinematic model of the robot can also be expressed
The PowerBot has a sturdy aluminum body, balanced as:
drive system (two-wheel differential with balancing  x r  v r  cos r

casters), reversible DC motors, motor control and drive  y r  v r  sin  r . (2)
electronics, high resolution motion encoders, and a long-life  
 r   r
battery power, all managed by an onboard controller and
intelligent mobile-robot server software. In order to solve the trajectory tracking problem a
The BowerBot is controlled using an advanced interface controller, capable of calculating the inputs v,  so that the
for applications called ARIA. ARIA is released under GNU robot tracks a desired trajectory, has to be designed. For
Public License and complete with fully documented C++ this purpose a virtual robot, with the desired
libraries and source code. ARIA is the ideal platform for trajectory qd t   xd t  yd t  d t T , is considered. The
integration of robot-control software, since it neatly handles kinematic model of the considered virtual robot is:
the lowest-level details of client-server interactions,  xd  cos  d 0
 y    sin  v 
0    d  ,
including serial communications, command and server-
 d  d (3)
information packet processing, cycle timing, and 
d   0 1   d 
multithreading.
where Pd  xd , yd ,d  represents the desired pose, vd the
II. PROBLEM FORMULATION desired linear velocity, d the desired angular velocity.
The model of the PowerBot wheeled mobile robot is Equation (3) can be expressed as:
presented in Fig. 2. The model takes into account the two
 x d  v d  cos d
diametrically opposed drive wheels of radius R, the distance 
between the wheels ( 2 L ), the angular speeds of the drive  y d  v d  sin  d (4)
d   d
wheels (L ,R ) , the center point (CP) of the robot. The pose
of the robot is considered P  xr , yr ,r  , where xr The controller has to be designed to minimize the
tracking errors presented in Fig. 3.
represents the position on the x axis, yr the position on the
The tracking errors presented in Fig. 3 can be expressed
y axis and  r the heading of the robot, vr represents the as [7]:
linear velocity while r represents the angular velocity of  xe   cos  d sin d 0  xr  xd 
the robot.  y    sin cos  0   y  y 
 e  d d   r d (5)
e   0 0 1  r   d 

Fig. 3. Trajectory tracking errors


Fig. 2. Kinematic model of PowerBot
 xe  vd  vr  cos  e  d  ye 1

 y e  vr  sin  e  d  xe (6) 
  r    ye  vr cos( s e )ds  k3   e
0
(15)

     where k 2 , k 3  0 .
 e r d

III. BACKSTEPPING CONTROLLER V (t , xe , ye ,e )  k1   2d  ye2  k2 x e2  k3   e2 . (16)


The backstepping controller for the PowerBot wheeled
mobile robot for the global tracking problem [4] is designed IV. SIMULATION RESULTS
using the kinematic model of the robot (2). Simulation results are presented in this section in order to
In order to design the backstepping controller the validate the proposed control law. Experiments carried out
velocity control laws v and  in the form: on the trajectory tracking problem of wheeled mobile robots
shows the effectiveness of the proposed backstepping
v  v( xe , ye , e , vd , d , vd ,  d ) (7) controller.
The control program is written in C++ and run on a Pc,
  ( xe , ye , e , vd , d , vd ,  d ) (8) with sampling time set to Ts=100 ms. All the simulations
were made using MobileSim. MobileSim is a software
designed to simulate the behavior of
must be found such that the closed-loop trajectory defined
MobileRobots/ActivMedia platforms produced by Mobile
by (6) and (7), (8) are uniformly bounded and converge to
Robots Inc. and their environments, for debugging and
zero.
experimentation with ARIA.
The integrator backstepping is used to design the
The control architecture used to command the robot is
controller because ye is not directly controlled in the error
presented in Fig. 4. A trajectory planner is used to calculate
tracking model (6). The functions xe  k1  d  ye and the desired speed and angular velocity. The trajectory
 e  0 are stabilizing functions for the y e system of (6). resulted after running the planner is presented in Fig.5.
The simulation required the PowerBot to follow the
A change of variable is used:
trajectory from Fig.5. The values of k1 , k 2 ,k 3 was set to 1.
xe  xe  k1  d  ye (9) In Fig. 6 the trajectory simulated in MobileSim is
presented. Fig. 7 presents the real and the desired trajectory
where k1  0 is a constant.
of the simulated robot. The robot is capable of tracking the
Using (9) in (6), the equation of xe changes to: desired trajectory with low tracking errors.
xe  vd  vr  cos  e  d  ye  k1   d  ye  The trajectory tracking error on the X-axis ( x e ) is
(10)
 k1  d  (d  xe  vr  sin  e ) presented in Fig. 8. The trajectory tracking error on the Y-
axis ( Ye ) is presented in Fig.9. In Fig. 10 the heading error
A new change of variable is introduced: (  e ) is presented. From Fig. 9 and Fig. 10 is obvious that
during the linear segment of the trajectory the lateral and
u  vr  cos e  d  ye  heading errors were kept to zero and small lateral errors
(11)
 k1  d  (d  xe  vr  sine ) were present in the curved sections of the trajectory.

vc
Consider the Lyapunov function: vd
ωd ωc
1 1 1
V (t , xe , ye ,e )   xe   ye  e (12) Trajectory Backstepping
2 2 2 Planner Controller
with   0 .
xd
xe
yd ye v
V (t , xe , y e ,  e )  k1   
2
d y e2  xe ( d  y e  v1  v) θd
θe ω

1 (13) Error
1
   e  [  y e  v r 0 cos(s   e )ds   r   d ] Calculation
xCG
Odometry
 yCG
The resulting controls are: θCG

v  u  y e   d  k 2  xe (14) Fig. 4 Control architecture


Path
2

0.1

1.5 0.05

x[m]
1
-0.05
y [m]

-0.1
0.5

-0.15

0 -0.2
0 5 10 15 20 25 30
Time[s]

Fig. 8 Trajectory tracking error on the X-axis


-0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
0.08
x [m]
0.06
Fig.5 Desired Trajectory
0.04

0.02

y[m]
0

-0.02

-0.04

-0.06

-0.08
0 5 10 15 20 25 30
time[s]

Fig. 9 Trajectory tracking error on the Y-axis

10

4
Heading error [deg]

Fig.6 MobileSim Simulated trajectory 2

-2
2.5
Real trajectory -4

Desired trajectory -6
2
-8

-10
0 5 10 15 20 25 30
1.5 Time[s]

Fig. 10 Heading error


y[m]

1
In Fig. 11 the real speed, desired speed and calculated
speed are presented. Fig. 12 presents the angular velocity of
0.5
the robot, the desired angular velocity and the calculated
angular velocity.
0
It can be seen from figs. 7-10 that the trajectory tracking
errors are small and the desired trajectory is followed, and
-0.5
-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
from Fig. 11 that the real linear velocity is similar to the
x[m] desired velocity and the calculated velocity and from Fig.
Fig. 7 Real and desired trajectories 12 that the angular velocity is similar to the calculated and
desired velocities.
even in the linear section of the trajectory. In Fig. 17 the
real speed, desired speed and calculated speed are
0.5 presented. Fig. 18 presents the angular velocity of the robot,
the desired angular velocity and the calculated angular
0.4
velocity. It can be seen that the trajectory tracking errors,
although larger than the simulated ones, are small, the real
0.3
Speed[m/s]

velocities are close to the desired velocities and the desired


0.2 trajectory is followed.
2.5
0.1 Real trajectory
Desired trajectory
Real Speed 2
0
Desired Speed
Calculated Speed
1.5
-0.1
0 5 10 15 20 25 30
Time[s]

y[m]
1
Fig. 11 Linear velocities
0.5
1

0.8
0

0.6

-0.5
0.4 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
x[m]
0.2
w[rad/s]

0 Fig. 13 Real and desired trajectories


-0.2
1

-0.4 0.8
Angular Velocity
-0.6 Desired Angular Velocity 0.6
Calculated Angular Velocity
-0.8 0.4
0 5 10 15 20 25 30
Time[s]
0.2
x[m]

0
Fig. 12 Angular velocities
-0.2

V. REAL TIME RESULTS -0.4

-0.6
Real-time results are presented in this section in order to
-0.8
validate the proposed control law. Experiments carried out
on the trajectory tracking problem of wheeled mobile robots -1
0 5 10 15 20 25 30
Time[s]
shows the effectiveness of the backstepping controller.
The test was carried out on the PowerBot mobile
Fig. 14 Trajectory tracking error on the X-axis
platform. The control program was written in C++ and run
on a Pc, with sampling time set to Ts  100ms . A wireless
0.08
network was used to facilitate communication between the
robot and the PC. The command architecture is presented in 0.06

Fig. 4 and the desired trajectory is identical to the one from 0.04
the simulations.
0.02
Fig.13. shows the desired trajectory with a blue
interrupted line and with a continuous red line the resulted
y[m]

trajectory. The desired trajectory is tracked by the robot -0.02


with small positioning errors. Fig.14. shows the tracking
-0.04
error on the X-axis, an significant error is present in the
trajectory tracking in the first 5 seconds of the trajectory but -0.06

the error is reduced afterwards and kept close to zero. Fig. -0.08
15 shows the error on the Y-axis and the heading error is 0 5 10 15
time[s]
20 25 30

displayed in fig. 16, from these figures it can be seen that


the lateral errors and heading errors are small and present Fig. 15 Trajectory tracking error on the Y-axis
VI. CONCLUSION
A backstepping controller for the PowerBot wheeled
10
mobile robot based on its kinematic model is presented. The
controller is tested using both simulations and real-time
5
tests.
A trajectory was generated using a trajectory planner and
Heading error [deg]

the results obtained both in simulation and real-time are


0 presented.
In both cases the trajectory tracking errors are small
enough and the velocities of the PowerBot match those of
-5 the desired trajectory.
From the presented tests it can be concluded that the
backstepping algorithm proposed for the PowerBot is
-10 effective.
0 5 10 15 20 25 30
Time[s] REFERENCES
Fig. 16 Heading error [1] R. Brockett, “Control theory and singular Riemannian geometry,” in
New Directions in Applied Mathematicss, P. Hilton and G.Young,
Ed. New York: Springer-Verlagl, 1981, pp. 11-27.
[2] H. Shi, “A novel scheme for the design of backstepping control for a
0.9 class of nonlinear systems”, Applied Mathematical Modelling vol.
35, 2011, pp. 1893-1903.
0.8 [3] C. Chen, “Backstepping control design and its applications to
0.7 vehicle lateral control in automated highway systems”, University of
California at Berkeley, 1996.
0.6 [4] J. P. Jiang and H. Nijmeier, “Tracking control of mobile robots: a
case study in backstepping”, Automatica, vol. 33, 1997, pp. 1393-
Speed[m/s]

0.5
1399.
0.4 [5] I. Kolmanovsky and N. McClamroch, ”Developments in
nonholonomic control problems”, IEEE Control Systems, vol. 15,
0.3 1995, pp. 20-36.
0.2
[6] Z. Qiang, L. Zengbo, C. Yao, “A back-stepping based trajectory
tracking controller for a non-chained nonholonomic spherical
0.1 robot”, Chinesse Journal of Aeronautics vol 21, 2008, pp. 472-480.
Real Speed
[7] Y. Kanayama, Y. Kimura, F. Miyazaki and T. Noguchi, “A stable
0 Desired Speed
tracking control scheme for an autonomous mobile robot”,
Calculated Speed
-0.1
Proceedeings of the IEEE International Conference on Robotics and
0 5 10 15 20 25 30 Automation, 1990, pp.384-389.
Time[s] [8] H.G. Tanner, K.J. Kyriakopoulos, “Backstepping for nonsmooth
Fig. 17 Linear velocities systems”, Automatica, vol. 39, 2003, pp.1259-1265.
[9] H.G. Tanner, K.J. Kyriakopoulos, “Discontinuous backstepping for
stabilization of nonholonomic mobile robots, Proceedings of the
1.2
2002 IEEE International Conference on Robotics and Automation,
1 may, 2002, pp. 3948-3953.
[10] F. Mnif, “Recursive backsteping stabilization of a wheeled mobile
0.8 robot”, International Journal of Advanced Robotic Systems, vol. 1 ,
2004, pp. 287-294.
0.6
[11] H.K. Khail, “Nonlinear systems, 2nd edition, Prentice Hall, New
0.4 Jersey, 1996
[12] J. J. E. Slotine and W. Li, “Applied nonlinear control”, Prentice
w[rad/s]

0.2 Hall, London, 1991.


[13] F. Takanori, A. Norihiko, h. Wang, “ Adaptive Tracking control of
0
nonholonomic Mobile robots: a backstepping approach”, Journal of
-0.2 Robotics Society of Japan, vol.19, 2001, pp. 271-276.
[14] http://www.mobilerobots.com
-0.4
Angular Velocity
-0.6 Desired Angular Velocity
Calculated Angular Velocity
-0.8
0 5 10 15 20 25 30
Time[s]

Fig. 18 Angular velocities

View publication stats

You might also like