You are on page 1of 14

Robotics and Autonomous Systems 55 (2007) 191204

www.elsevier.com/locate/robot

Nonlinear formation control of unicycle-type mobile robots


K.D. Do , J. Pan
School of Mechanical Engineering, The University of Western Australia, 35 Stirling Highway, Crawley, WA 6009, Australia
Received 14 December 2004; received in revised form 10 August 2006; accepted 20 September 2006
Available online 1 November 2006

Abstract
We investigate formation control of a group of unicycle-type mobile robots at the dynamics level with a little amount of inter-robot
communication. A combination of the virtual structure and path-tracking approaches is used to derive the formation architecture. Each individual
robot has only position and orientation available for feedback. For each robot, a coordinate transformation is first derived to cancel the velocity
quadratic terms. An observer is then designed to globally exponentially/asymptotically estimate the unmeasured velocities. An output feedback
controller is designed for each robot. The controller is designed in such a way that the path derivative is left as a free input to synchronize the
robots motion. Simulations illustrate the soundness of the proposed controller.
c 2006 Published by Elsevier B.V. All rights reserved.
Crown Copyright
Keywords: Formation; Path-tracking; Mobile robot; Nonlinear control; Output-feedback

1. Introduction
Over the last few years, formation control of multiple
vehicles has received a lot of attention from the control
community. Applications of vehicle formation control include
the coordination of multiple robots, unmanned air/ocean
vehicles, satellites, aircraft and spacecraft [119]. For example,
a group of mobile robots can be used to carry out tasks
that are difficult or not effective for a single robot to
perform alone. In the literature, there have been roughly three
methods to formation control of multiple vehicles: leaderfollowing, behavioral and virtual structure. Each approach
has its own advantages and disadvantages. In the leaderfollowing approach, some vehicles are considered as leaders,
whist the rest of robots in the group act as followers [69].
The leaders track predefined reference trajectories, and the
followers track transformed versions of the states of their
nearest neighbors according to given schemes. An advantage of
the leader-following approach is that it is easy to understand and
implement. In addition, the formation can still be maintained
even if the leader is perturbed by some disturbances. However,
a disadvantage is that there is no explicit feedback to the
formation, that is, no explicit feedback from the followers to the
Corresponding author. Tel.: +61 8 64883602; fax: +61 8 64881024.

E-mail address: duc@mech.uwa.edu.au (K.D. Do).

leader in this case. If the follower is perturbed, the formation


cannot be maintained. Furthermore, the leader is a single
point of failure for the formation. In the behavioral approach
[1,1015], few desired behaviors such as collision/obstacle
avoidance and goal/target seeking are prescribed for each
vehicle and the formation control is calculated from a weighting
of the relative importance of each behavior. The advantages
of this approach are: it is natural to derive control strategies
when vehicles have multiple competing objectives, and an
explicit feedback is included through communication between
neighbors. The disadvantages are: the group behavior cannot
be explicitly defined, and it is difficult to analyze the approach
mathematically and guarantee the group stability. In the virtual
structure approach, the entire formation is treated as a single
entity [1619]. When the structure moves, it traces out desired
trajectories for each agent in the group to track. Some similar
ideas based on the perceptive reference frame, the virtual
leader, and the formation reference point are given in [20,17,21]
respectively. The advantages of the virtual structure approach
are: it is fairly easy to prescribe the coordinated behavior for
the group, and the formation can be maintained very well during
the manoeuvres, i.e. the virtual structure can evolve as a whole
in a given direction with some given orientation and maintain a
rigid geometric relationship among multiple vehicles. However
requiring the formation to act as a virtual structure limits the
class of potential applications such as when the formation shape

c 2006 Published by Elsevier B.V. All rights reserved.


0921-8890/$ - see front matter Crown Copyright
doi:10.1016/j.robot.2006.09.001

192

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

is time-varying or needs to be frequently reconfigured, this


approach may not be the optimal choice. The virtual structure
and leader-following approaches require that the full state of the
leader or virtual structure be communicated to each member
of the formation. In contrast, a behavior-based approach is
decentralized and may be implemented with significantly less
communication.
Formation feedback has been recently introduced in the
literature [22,16,23,4]. In [23], a coordination architecture for
spacecraft formation control is introduced to incorporate the
leader-following, behavioral, and virtual structure approaches
to the multi-agent coordination problem. This architecture
can be extended to include formation feedback. In [16],
formation feedback is used for the coordinated control problem
for multiple robots. In [22], a Lyapunov formation function
is used to define a formation error for a class of robots
(double integrator dynamics) so that a constrained motion
control problem of multiple systems is converted into a
stabilization problem for one single system. The error feedback
is incorporated to the virtual leader through parameterized
trajectories. The strength of this approach is that the formation
error is guaranteed to be below a given upper bound under
certain assumptions. However, this approach results in a
steady state formation error during the manoeuvre, that is, the
formation error will always reach an equilibrium value which
is close to the given upper bound even if the initial formation
error is zero. Consequently, formation is only maintained within
a certain bound during the manoeuvre, which may not be proper
for the requirement of precise formation maintenance.
Stabilization and tracking control of single mobile robots
have received an extensive amount of attention [27,29,31,32,
35], to list just a few. Their objectives are mostly kinematic
models. Since mobile robots do not have direct control over
velocities, a static mapping implementation requires a highgain control law and cannot achieve global results, see [40]
(pp. 239245) for a discussion on general nonlinear systems.
Recently several authors focused on the dynamic model [24,
2931] using the backstepping technique [33] and feedback
linearization. In [29], a unified approach using a dynamic
oscillator was introduced to design a high-gain single controller
that solves both global exponential stabilization and tracking
for mobile robots. Global asymptotic output-feedback tracking
control of vehicles has been solved for the case of fully
actuated [38] (pp. 311334). The main difficulty of designing
an observer-based output-feedback for Lagrange systems in
general is because of the Coriolis matrix, which results in
quadratic cross terms of unmeasured velocities. In addition,
the nonholonomic constraints of mobile robots make the
output-feedback problem more challenging. For example,
many solutions proposed for robot manipulator control, see
for example [38] and references therein, cannot directly be
applied. Some recent results on output-feedback control of the
single degree of freedom and special Lagrange systems were
addressed in [36,37,28]. It is noted that the systems studied
in these papers can contain one square term of only one
unmeasured state. Although Besancon [28] gave an extension
to systems with more degrees of freedom but relied (see [28],

Theorem 5.1) on the solution of a differential equation, which


does not exist for more-than-one degrees of freedom in general
and for the mobile robot in question. Using a dynamic oscillator
as for the case of state feedback, an output feedback controller
that solves both stabilization and tracking for mobile robots
was proposed in [29]. However, the closed loop stabilization
and tracking errors are semi-globally uniformly ultimately
bounded. Recently, we developed a method [24] to design a
global output feedback controller that solved both stabilization
and tracking control for unicycle-type mobile robots. The
method is based on a nontrivial coordinate transformation and
backstepping technique.
This paper is aimed at a combination of the virtual structure
and path-tracking approaches to derive a control system for
formation control of a group of unicycle-type mobile robots.
The conventional virtual structure approach is modified so
that the formation shape can vary, i.e. the robots can change
their relative positions with respect to the center of the virtual
structure during the manoeuvre. The technique in [24] is
modified to design a global output feedback controller for each
robot based on a global exponential/asymptotic observer. The
output feedback controller is designed in such a way that the
derivative of the path parameter is left as an additional control
input to synchronize the formation motion. The control system
is derived in four stages: first, the dynamics of the virtual
structure are defined; second, the motion of the virtual structure
is translated into the desired motion for each robot; third, output
feedback tracking controller for each robot is derived; and
finally, formation feedback is introduced from each robot to the
virtual structure.
The rest of the paper is organized as follows. Problem
statement is presented in the next section. Section 3 designs an
observer to globally exponentially/asymptotically estimate the
unmeasured velocities. Control design is presented in Section 4.
Numerical simulations are given in Section 5. Section 6
concludes the paper. Appendix A gives proofs of the observer
design result. Proof of the main result is given in Appendix B.
2. Problem statement
2.1. Formation setup
A group of r mobile robots needs r individual reference
paths, which are parameterized so that when all the path
parameters are synchronized, the robots are in formation. A
modification of the conventional virtual structure approach
is used here to generate the reference paths. We consider a
virtual structure whose center moves along a reference path
0 (s0 ) = [xd0 (s0 ), yd0 (s0 )]T with s0 being the path parameter,
see Fig. 1. Since the structure under consideration is virtual,
the center does not have to be the center of gravity but can
be any convenient point. The shape of the virtual structure can
be varied by specifying the distance li (xd0 (si ), yd0 (si )) from
each place-holder to the center of the structure. This variance is
particularly meaningful in practice. For example, the formation
has to change its shape when the vehicles enter a tunnel. When
the structure moves along the path 0 (s0 ), the place-holders

193

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

Fig. 1. Formation coordinates.

generate reference paths i (si ) = [xdi (si ), ydi (si )]T , 1 i


r with si being the ith path parameter, given by:
i (si ) = 0 (si ) + R(d0 (si ))li (xd0 (si ), yd0 (si ))

(1)

Fig. 2. The ith two-wheel driven mobile robot and interpretation of path
tracking errors.


m 11i m 12i
,
Mi =
m 12i m 11i



d
0
0
Di = 11i
, Ci ( i ) =
0
d22i
ci i

where li (xd0 (si ), yd0 (si )) = [l xi (xd0 (si ), yd0 (si )), l yi (xd0 (si ),
yd0 (si ))]T , and


cos(d0 (si )) sin(d0 (si ))
R(d0 (si )) =
sin(d0 (si )) cos(d0 (si ))

ci = 0.5bi1ri2 m ci ai ,

0
0
d0 (si ) = arctan(yd0
(si ), xd0
(si )),

m 12i = 0.25bi2ri2 (m i bi2 Ii ),

0
xd0
(si )
0
yd0 (si )

(2)

m ci ai2

+ 2m wi bi2


ci i
,
0

m 11i = 0.25bi2ri2 (m i bi2 + Ii ) + Iwi ,


m i = m ci + 2m wi ,

= xd0 (s0 )/s0 |s0 =si,

Ii =

= yd0 (s0 )/s0 |s0 =si .

where m ci and m wi are the masses of the body and wheel with
a motor; Ici , Iwi and Imi are the moment of inertia of the body
about the vertical axis through Pci (center of mass), the wheel
with a motor about the wheel axis, and the wheel with a motor
about the wheel diameter, respectively; ai , bi and ri are defined
in Fig. 2; the nonnegative constants d j ji , j = 1, 2 are the damping coefficients; (xi , yi , i ) are the position (the coordinates of
the middle point, P0i , between the left and right driving wheels)
and orientation of the robot, 1i and 2i are the angular velocities of the wheels; vi and wi are the control torques applied
to the wheels of the robot; O X Y is the earth-fixed coordinate
system. When d j ji > 0, the robot is referred to as an internally
damped one. When d j ji = 0, it is internally un-damped.

Intuitively, one might set si (t) = t, i.e. the current time instant t
is used as the path parameter. However, the use of si as the path
parameter has an advantage that its time evolution, si , can be
treated as an additional control input. In [26], this additional
control input is utilized so that the overall control system for
single mobile robots possesses certain robustness with respect
to measurement error and external disturbances. In our paper,
we will use this additional control input for formation feedback
and synchronization of the path parameters, see Section 4.
It is noted that in the conventional virtual structure approach,
the distance from each place-holder to the structure center is
constant, i.e. the shape of the structure cannot be changed.
Having generated each reference path for each mobile robot,
the remaining tasks are to design a controller such that each
vehicle tracks its own desired path, and all the path parameters
of the reference paths are synchronized.
2.2. Mobile robot dynamics
The ith two-wheel driven (unicycle-type) mobile robot
(Fig. 2) has the following equations of motion [31]:
i = Ji (i )i
Mi i + Ci ( i )i + Di i = i

T

with i = xi yi i , i = 1i

T
vi wi .

T
ri cos(i ) sin(i ) bi1
,
Ji (i ) =
2 cos(i ) sin(i ) bi1

(3)

2.3. Control objective


Before presenting the control objective, we impose the
following assumption:
Assumption 1. (1) For each robot, only position (xi , yi ) and
orientation i are measurable.
(2) For each value of si , there exists a unique value of xdi (si )
and ydi (si ).
(3) There exist strictly positive constants 1i and 2i such that:
0

2i

T

, i

xdi2 + ydi2 1i ,
=

+ Ici + 2Imi

where

s0 2i

(4)

denoting /si .

Remark 1. Part (1) of Assumption 1 implies that we need to


design an output feedback control system. Part (2) means the
unique solvability of each individual path from its parameter.

194

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

qi11
qi11
qi12
qi12
qi12  
sin(i )vi +
wi
cos(i )vi +
sin(i )vi +
wi
vi
xi
yi
i
xi
yi
i
qi21
qi21
qi21
qi22
qi22
qi22 wi
cos(i )vi +
sin(i )vi +
wi
cos(i )vi +
sin(i )vi +
wi
xi
yi
i
xi
yi
i

bi ci


wi2

q
qi12

m 11i + m 12i
i11
=0
ci
qi21 qi22
vi wi
bi (m 11i m 12i )
i11

cos(i )vi +

Box I.

Part (3) of Assumption 1 means that each path is regular, and


that the virtual structure moves forward, i.e. we do not consider
the problem of stabilization.
Having discussed on how the reference path, see (1), for
each individual mobile robot is generated in Section 2.1, the
formation control objective boils down to design a control
system, under Assumption 1, such that
lim k((xi (t) xdi (t)), (yi (t) ydi (t)), (i (t) di (t)))k

=0

(5)

i = J i (i )vi
i (wi )vi D
i vi + B1 M1 i
v i = C
i

(6)

0 (s )/x 0 (s )). The objective (5) justifies


where di = arctan(ydi
i
di i
both position and orientation tracking tasks in the sense that
each robot moves on the path and its linear velocity is tangential
to its own path. On the other hand, the objective (6) guarantees
synchronization of all the path parameters, i.e. all the robots are
properly arranged.

3. Observer design
In this section, an observer is proposed to globally
asymptotically/exponentially estimate the robot unmeasured
velocities. For convenience of observer design and control
design, which will be presented in Section 4, we will first
convert the wheel velocities 1i and 2i to the linear, vi , and
angular,wi . Since the quadratic term in the robot dynamics, see
i (wi )vi in (8) below, causes difficulties in designing
the term C
a global and asymptotic/exponential observer, we will then
transform the convenient form of the robot dynamics, see
(8), to a new dynamics such that it is linear in unmeasured
state by introducing a global transformation. After an observer
is designed for this new dynamics, an estimate of the robot
unmeasured velocities, vi and wi , is reconstructed by inverting
the above global transformation.
We now convert the wheel velocities 1i and 2i to the
linear, vi , and angular, wi , velocities of the robot by the
relationship:



T
1 1 bi
1
vi = Bi i , with vi = vi wi , Bi =
. (7)
ri 1 bi

(8)

where

T
cos(i ) sin(i ) 0
,
J i (i ) =
0
0
1


0
bi ci /(m 11i + m 12i )wi
i =
C
,
ci /bi /(m 11i m 12i )wi
0
i = B1 M1 Di Bi .
D
i

and
lim (si (t) s0 (t)) = 0

With (7), we write (3) as

(9)

As discussed above, we first remove the quadratic velocity


terms in the second equation of (8) by introducing the following
coordinate change:
Xi = Qi (i )vi

(10)

where Qi (i ) is a globally invertible matrix with bounded


elements to be determined. Using (10), we write the second
equation of (8) as follows:
i (i )vi Qi (i )C
i (wi )vi ]
i = [Q
X
i vi + B1 M1 i ).
+ Qi (i )(D
i
i

(11)

Besancon [28] requires Qi (i ) with the above properties


i (i ) = Q i (i )C
i (wi ), i R3 , wi R, which
such that Q
does not exist as a simple calculation shows. Our method is
to cancel the square bracket in the right hand side of (11) for
all (i , vi ) R5 . We assume that qik j (i ), k = 1, 2, j = 1, 2
are the elements of Qi (i ). We now need to find qik j (i ), k =
1, 2, j = 1, 2 such that
i (i )vi Qi (i )C
i (wi )vi ] = 0,
[Q

(i , vi ) R5 .

(12)

Using the first equation of (8), we can write (12) as the equation
given in Box I, which further yields


qik1
qik1
cos(i ) +
sin(i ) vi2
xi
yi

qik1
qik2
qik2
+
+
cos(i ) +
sin(i )
i
xi
yi

ci qik2
vi wi

bi (m 11i m 12i )


qik2
bi ci qik1
+
wi2 = 0
(13)
+
i
m 11i + m 12i

195

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

for k = 1, 2. Clearly (13) holds if we choose qik j (i ), k =


1, 2, j = 1, 2 such that
qik1
qik1
cos(i ) +
sin(i ) = 0,
xi
yi
qik1
qik2
qik2
+
cos(i ) +
sin(i )
i
xi
yi
ci qik2

= 0,
bi (m 11i m 12i )
qik2
bi ci qik1
= 0.
+
i
m 11i + m 12i

(14)

A family of solutions of the above partial differential equations


(PDEs) is
qik1 = Cik1 sin(ci i i ) + Cik2 cos(ci i i ),
qik2 = bi (m 11i m 12i )i (Cik1 cos(ci i i )

(15)

Cik2 sin(ci i i ))
q
where i = 1/ m 211i m 212i , Cik1 and Cik2 are arbitrary
constants. Setting Ci11 = Ci22 = 0, Ci12 = Ci21 = 1 results in


q
qi12
Qi (i ) = i11
qi21 qi22


cos(ci i i ) bi i (m 11i m 12i ) sin(ci i i )
=
. (16)
sin(ci i i ) bi i (m 11i m 12i ) cos(ci i i )
This matrix is globally invertible and its elements are bounded.
We write (8) in the (i , Xi ) coordinates as
i = Gi (i )Xi
i = Di (i )Xi + Qi (i )B1 M1 i
X
i

(17)

1
where Gi (i ) = J i (i )Q1
i ( i ), Di ( i ) = Qi ( i )Di Qi ( i ). It
is seen that (17) is linear in the unmeasured states. If the robot
is internally damped a reduced-order observer, i.e. an observer
estimates Xi only, can be designed. To cover both damped and
un-damped cases, we use the following full-order observer:
i + K01i (i i )
i = Gi (i )X
i = Di (i )X
i + Qi (i )B1 M1 i + K02i (i i )
X
i
i

(18)

i are the estimates of i and Xi , respectively.


where i and X
The observer gain matrices K01i and K02i are chosen such that
Q01i = KT
01i P01i + P01i K01i is positive definite, and that
Gi (i )T P01i P02i K02i = 0

(19)

d11i and d22i , are strictly positive constants, the observer error
dynamics (20) is globally exponentially stable at the origin
for all i R3 . If the mobile robot is internally un-damped,
i.e. d11i = d22i = 0, the observer error dynamics (20) is
globally stable at the origin for all i R3 . Furthermore,
assume that the velocity wi (t) starting at wi (t0 ), 0 t0 t
is globally bounded, i.e. there exist a class-K function 0i and a
constant c0i such that |wi (t)| 0i (k(i (t0 ), vi (t0 ))k) + c0i :=
w Mi , 0 t0 t, (i (t0 ), vi (t0 )) R5 . Then the origin of (20)
is globally asymptotically stable for all i R3 .
Remark 2. The assumptions on existence of the solutions
of (17) and on boundedness of wi (t) are needed here to
establish global exponential/asymptotic stability of (20). These
assumptions will be relaxed when considering the overall
closed loop system, i.e. when an output-feedback controller is
introduced.

T
By defining v i = vi w i
being an estimate of the
velocity vector vi as

v i = Q1
i ( i )Xi

the velocity estimate error vector, v i = vi
satisfies

(21)
w i

T

= vi v i

v i = Q1
i ( i )Xi .

(22)

By differentiating both sides of (21) along the solutions of


i =
the second equation of (18), and noting from (21) that X
Qi (i )vi , we have
z }|
{
1
1 1

v i = Q1
i ( i )Xi + Qi ( i )(Di ( i )Xi + Qi ( i )Bi Mi i
+ K02i (i i ))
i (wi )vi D
i v i + B1 M1 i
= C
i
i
i)
+ Q1
i ( i )K02i ( i

i v i + B1 M1 i
= Ci (w i )vi D
i
i
i (w i )vi + Q1 (i )K02i (i i )
C
i

(23)

i (wi ) is linear in wi , see (9). We now write (8) in


since C
conjunction with (23) as
xi = cos(i )vi + cos(i )vi
yi = sin(i )vi + sin(i )vi
i = w i + w i
v i = vci + vi

(24)

with P01i and P02i being diagonal positive definite matrices.


From (18) and (17), we have

i = wci + wi
w

i K01i i ,
i = Gi (i )X
= D ( )X
i
X
i
i i i K02i

i (w i )vi + Q1 (i )K02i i
i = C
i

(25)

i = Xi X
i . We present the following
where i = i i , X
results, whose proofs are given in Appendix A.

and we have chosen the control torque




 
i (w i )vi + D
i v i + vci wci T
i = Mi Bi C

(26)

Proposition 1. Assume that the solutions of (17) exist, if the


mobile robot is internally damped, i.e. the damping coefficients,

with vci and wci being the new control inputs to be designed
in the next section.

(20)

where vi and wi are the first and second rows of i :

196

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

4. Path tracking error dynamics and control design

have

In this section, we will consider the dynamics (24) and


design controls vci and wci for the robot i to achieve the
formation control objective posed in Section 2. The actual
control vector i is then calculated from (26). The main ideas
of the control design are as follows:
(1) Tracking errors of the robot i are interpreted in a frame
attached to the reference path i (si ) such that the error
dynamics are of a triangular form to which the backstepping
technique [33] can be applied.
(2) The orientation error and estimate of the robot linear
velocity are used as virtual controls to stabilize the
tangential and cross-track errors interpreted in the frame
attached to the robot reference path. The reason that the
orientation error is not directly stabilized at this stage but is
treated as a virtual control to stabilize the cross-track error,
is to overcome difficulties caused by the nonholonomic
feature of the robot.
(3) The estimate of the robot angular velocity is then used as a
virtual control to stabilize the orientation error interpreted
in the frame attached to the frame attached to the robot
reference path.
(4) The controls vci and wci are finally designed to force the
actual estimates of the robot velocities to converge to their
virtual values by using the backstepping technique.
(5) The above control designs are carried out in such a way
that the derivative of the path parameter si for the robot i
is saved as an additional control input. This control input
is then used to synchronize all the path parameters. The
path parameter derivative, s0 , of the path of the virtual
structure center will be chosen as a function of the path
tracking errors of the robots and time. This choice means
that the control system takes mobility of each robot into
account, i.e. a formation feedback is exhibited in the control
system.

yei = vdi sin(ei ) xei (w i + w i )


ei = w i wdi + w i
v i = vci + vi

To prepare for the control design, we first interpret the path


tracking errors ((xi xdi ), (yi ydi ), (i di )) in the frame
Obi X bi Ybi , of which the origin Obi is a point on the path i (si ),
Obi X bi and Obi Ybi axes are parallel to the surge axis and sway
axis of the robot, respectively, see Fig. 2. In Fig. 2, the direction
of vdi is tangential to the path i (si ). From this figure, we
have [39]:

where we have defined


q
0
02 (s )
vdi = xdi2 (si ) + ydi
i si ,
wdi =

0 (s )y 00 (s ) x 00 (s )y 0 (s )
xdi
i di i
di i di i
02

02 (s )
xdi (si ) + ydi
i

(27)

ei = i di .
The physical interpretations of the new tracking errors
(xei , yei , ei ) defined in (27) are: xei is the tangential tracking
error, yei is the cross-tracking error, and ei is the heading error.
Differentiating both sides of (27) along the solution of (24), we

si .

(29)

In the above expressions, we refer to vdi and wdi as the desired


linear and angular velocities of the robot on the path. It is
noted that the speed of the robot on the path is specified by
si , and that (29) is well defined, see Assumption 1. From
(27) for any value of i , (xei , yei , ei ) = 0 if and only if
(xi , yi , i ) = (xdi , ydi , di ), we have therefore converted the
problem of output-feedback path tracking for the mobile robot
in question to a problem of stabilizing (28) at the origin.
4.2. Control design
It is seen that (28) is of the lower triangular structure with
respect to vi and w i , we use the backstepping technique [33] to
design vci and wci in three steps.
Step 1: Stabilizing the (xei , yei ) dynamics. In this step, we
consider vi and ei as controls. Define
vei = vi vi ,

ei = ei ei

(30)

where vi and ei are the virtual controls of vi and ei ,


respectively. Moreover, we define
(31)

where xe = [xe1 , xe2 , . . . , xer ]T , ye = [ye1 , ye2 , . . . , yer ]T , e


= [e1 , e2 , . . . , er ]T ; i (t, xe , ye , e ) is a strictly positive
function that specifies how fast the ith mobile robot should
move to maintain the formation since si is related to the desired
forward speed, see (29). This function will be specified later.
Substituting (30) and (31) into the first two equations of (28),
and choosing the virtual controls vi and ei as
k1i xei
+ vdi i cos(ei ),
1i


(32)
k2i yei
ei = arctan
1i
q
q
02 (s ) + y 0 2 (s ); k
where 1i = 1 + xei2 + yei2 , vdi = xdi
i
1i
di i
and k2i are positive constants, result in the (xei , yei ) error
dynamics
vi =

xei = (xi xdi ) cos(i ) + (yi ydi ) sin(i ),

(28)

i = wci + wi
w

s i = si i (t, xe , ye , e )

4.1. Path tracking error dynamics

yei = (xi xdi ) sin(i ) + (yi ydi ) cos(i ),

xei = vi vdi cos(ei ) + yei (w i + w i ) + vi

197

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

k1i xei
+ vei vdi s i cos(ei ) + yei (w i + w i ) + vi
1i
k2i vdi s i yei
k2i vdi i yei

=
(33)
2i
2i
+ vdi (s i + i )(sin( ei ) cos(ei )
+ (cos( ei ) 1) sin(ei )) xei (w i + w i )

xei =
yei

where 2i =

Substituting (36) into (35) yields


k3i ei
vdi i yei

(sin( ei ) cos(ei )
3i
1i ei
+ (cos( ei ) 1) sin(ei )) + (1 k2i xei 1i 2 )

ei =

2i

k2i vdi s i
(vdi i sin(ei )(1 + xei2 )
(wei + w i ) +
1i 22i
+ xei yei vdi i cos(ei ))
k2i xei yei
(vei + vi ) w di s i .

1i 22i

2 )y 2 .
1 + xei2 + (1 + k2i
ei

Step 2: Stabilizing the ei dynamics. In this step, we consider


w i as a control. Define
wei = w i wi

(34)

where wi is the virtual control of w i . From (30) and (32), the


first time derivative of ei is given by


(wi + wei + w i )
ei = 1 k2i xei 1i 2
2i
k2i
(vdi i sin(ei )(1 + xei2 )
1i 22i
xei yei (vi vdi i cos(ei )))
k2i vdi s i
+
(vdi i sin(ei )(1 + xei2 )
1i 22i
+ xei yei vdi i cos(ei ))
k2i xei yei

(vei + vi ) w di (i + s i ).
1i 22i
+

xej

(v j vd j (s j + j ) cos(ej ) + yej (w j + w j )

r
X
vi
j=1

r
X
vi

ej

j=1

yej

(vd j (s j + j ) sin(ej ) xej (w j + w j ))

(w j w d j (s j + j ) + w j ).

00

00

vci = k4i vei +


+

r
X
vi
j=1
r
X
j=1

vi
vi
i +
si
t

(k3i + |w di |i + k2i (3|vdi |i + k1i )

M
+ 2|vdi |i ) := wi
.

ej

(w j w d j j )

xei
k2i xei yei ei
+
(40)
1i
1i 22i

where k4i is a positive constant. The last two terms in (40) are
included to cancel the cross terms in xei and ei dynamics.
Substituting (40) into (39) gives
vei = k4i vei + vi

r
X
vi 
j=1
r
X
j=1

(37)

vi
(vd j j sin(ej ) xej w j )
yej

r
X
vi
j=1

v j vd j j cos(ej ) + yej w j

xej

(39)

From (39), we choose the control vci as

0 (s ))/(x 2 (s ) + y 2 (s )), k
ydi
i
3i is a positive constant. The
di i
di i
last term in (36) is included to cancel the cross term in the
yei -dynamics. It is noted that (36) is well defined since 1
R1
k2i xei 1i 2
> 0; sin( e )/ e = 0 cos( e )d
2i 1 k2i
R1
and (cos( e ) 1)/ e = 0 sin( e )d are smooth functions of
e . It is also of interest to note that the upper bound of wi is
given by

|wi | (1 k2i )

r
X
vi

+ v j )

2 ,w
0 (s )y (s ) x (s )
1 + ei
di = (xdi
i di i
di i

vi
vi
(s i + i )
si
t

vei = vci + vi

j=1

If the constant k2i is chosen such that 0 < k2i < 1, then from
(35) the virtual control wi is selected as

k3i ei
1
wi = (1 k2i xei 1i 2
)

+ w di i
2i
3i
k2i

(vdi i sin(ei )(1 + xei2 )


1i 22i
xei yei (vi vdi i cos(ei )))
vdi i yei

(sin( ei ) cos(ei )
1i ei

+ (cos( ei ) 1) sin(ei ))
(36)
where 3i =

Step 3: Stabilizing the (vei , wei ) dynamics. In this step, the


controls vci and wci are designed. From (30) and (32), the
time derivative of vei is given by

(35)

(38)

xej

vi
s i
si

vd j s j cos(ej ) + yej w j + v j

vi
(vd j s j sin(ej ) xej w j )
yej

r
X
vi
j=1

xei
k2i xei yei ei
(w d j s j + w j )
+
.
ej
1i
1i 22i
(41)

198

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

From (34) and (36), the time derivative of wei is given by


w ei = wci + wi

r
X
wi

xej

j=1

of (45) along the solutions of (33), (38), (41) and (44) is

wi
wi
(s i + i )
si
t

ej

j=1

2
+ k5i wei

xej

r
X
wi
j=1

1i =

v j vd j j cos(ej ) + yej w j

(w j w d j j ) (1 k2i xei 1i 2
2i )ei
(43)

where k5i is a positive constant. Substituting (43) into (42)


yields
w ei = k5i wei + wi

r
X
wi

r
X
wi

xej

j=1

j=1
r
X
j=1

yej

r
X

1i +

wi
s i
si

(vd j s j cos(ej ) + yej w j + v j )


(vd j s j sin(ej ) xej w j )

wi

(w d j s j + w j ) (1 k2i xei 1i 2
2i )ei .
ej
(44)

We now need to choose all the functions i (t, xe , ye , e ) and


the update law for s i so that (31) holds. To do this, we consider
the following Lyapunov function

22i j s j +

r q
X

1 + xei2 + yei2 +

q
2 2 + 0.5v 2
1 + ei
ei

2
+ k4i vei

21i s i

r
X

i (si s0 )(s i + i s0 ) (46)

xei
1
vi + (1 k2i xei 1i 2
i ei
2i )3i w
1i
k2i xei yei

vi ei + vi vei + wi wei
1i 22i 3i
r 
X
vi
vi

(yej w j + v j )vei
xej w j vei
xej
yej
j=1

vi
wi

yej w j + v j wei
w j vei +
ej
xej

wi
wi
xej w j wei
w j wei ,

yej
ej

(47)

k2i vdi yei


xei
vdi cos(ei )
1i
1i 2i
vdi yei

+
(sin(ei ) cos(ei )
1i
+ (cos( ei ) 1) sin(ei ))
k2i vdi
+
(vdi i sin(ei )(1 + xei2 )
1i 22i 3i
+ xei yei vdi i cos(ei )) ei
(48)

r
X
vi
vi
22i j =

vd j cos(ej )vei +
vd j sin(ej )vei
xej
yej
j=1
vi
wi

w d j vei
vd j cos(ej )vei
ej
xej

wi
wi
(49)
+
vd j sin(ej )vei
w d j vei .
yej
ej
P P
P P
By noting that ri=1 rj=1 22i j s j = ri=1 rj=1 22 ji s i , we
can write (46) as
21i =

V1 =

r
X
k1i xei2

21i

i=1

!
+

i=1
2
0.5wei

23i

i=1

2
k5i wei

r
X

k2i vdi i yei2


1i 22i

1i +

i=1

V1 =

r
X

2
k3i ei

i=1

i=1 j=1

(42)


wi
vd j j sin(ej ) xej w j
yej
ej

r X
r
X

wi
wi
i +
si
t

r
X
wi

j=1

1i 22i

where
(w j w d j (s j + j ) + w j ).

wci = k5i wei +

j=1
r
X

k2i vdi i yei2

i=1

From (42), the control wci is chosen as

21i
!

i=1

(v j vd j (s j + j ) cos(ej )

+ yej (w j + w j ) + v j )
r
X
vi

(vd j (s j + j ) sin(ej ) xej (w j + w j ))


w
ej
j=1
r
X
wi

r
X
k1i xei2

V1 =

r
X

r
X

2
k3i ei

23i

21i +

i=1

r
X

2
+ k4i vei

!
22 ji s i

j=1

i (si s0 )(s i + i s0 ).

(50)

i=1

+ 0.5i (si s0 )


(45)

where i is a positive constant. We note that the choice of


weighting on the path parameters in (45) is not unique. There
are many other choices discussed in [21]. The time derivative

From (50), we can choose


i = s0 ,

s i = s tanh 21i +

r
X

!
22 ji + i (si s0 )

j=1

(51)

199

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

where s is a positive constant to be selected later. We now can


choose s0 in two cases: the first case is with formation feedback
and the second case is without formation feedback as discussed
in Section 2.
For the case with formation feedback, s0 can be chosen as
(among many others [22])
s0 = 0 (t)(1 1 e

2 (tt0 )

yeT y ye

+ eT e ))

21i
!

i=1
2
+ k5i wei

r
X

k2i vdi i yei2

1i s

(52)

s < 0 (t)(1 1 )(1 3 )

(53)

then we have
si = s i + i
!
22 ji + i (si s0 )

+ 0 (t)(1 1 e2 (tt0 ) )
(1 3 tanh(xeT x xe + yeT y ye + eT e ))
s + 0 (t)(1 1 )(1 3 ) > 0.

r
X

(54)

For the case without formation feedback, s0 can be simply chosen as


(55)

0 (t)

where
is a strictly positive and bounded function, which
again specifies how fast the whole group of robots should move.
It is noted that in this case, the controls vci and wci are significantly
simplified in the sense that all the terms in the sum
Pr
(40), (43) and (51) are zero.
,
see
i=1
Remark 3. In the case with formation feedback, i.e. s0 is
chosen as in (52), each robot requires the path parameters,
measurements of position and orientation of itself and all other
robots in the group to be available for feedback. In the case
without formation feedback, i.e. s0 is chosen as in (55), each
robot requires only the path parameter and measurements of
position and orientation of itself for feedback. The trade-off is
that the mobility of each robot is taken into account for the
case with formation feedback but is not for the case without
formation feedback. For example, if some robots get saturated
or disturbed, formation cannot be achieved in the case without
formation feedback.

2
+ k4i vei

23i
21i +

r
X

i=1

+ i (si s0 ) tanh 21i +

22 ji

j=1

r
X

!
22 ji + i (si s0 ) .

j=1

(56)
We now state the main result of our paper, whose proof is given
in Appendix B.
Theorem 1. Under Assumption 1, the control inputs vi and
wi given by (26), (40) and (43), the observer (18) and (21), and
the path parameter update law (51) solve the control objective
(5) and (6).
Starting from the convenient dynamics (8), the observer
design and control design are summarized in Table 1:
5. Simulations
In this section we simulate formation control of a group of
three identical mobile robots to illustrate the effectiveness of the
proposed controller. The physical parameters of the robot taken
from [31], the observer and control gains, the initial conditions,
and the parameters involved the update of the path parameters
are as follows:
ri = 0.15,

j=1

2
k3i ei

1i 22i

2 (s ) + y 2 (s )
virtual structure is given by vd0 = xd0
0
d0 0 s0 . The
weighted positive definite matrices x , y , determining the
tracking errors are taken into account in the formation feedback.
All the constants 1 , 2 and 3 are nonnegative but 1 < 1
and 3 < 1. If 1 , 2 and 3 are positive, the choice of s0
in (52) has the following desired feature: when the tracking
errors are large, the virtual structure will wait for robots; when
the tracking errors converge to zero and the time increases, s0
approaches 0 (t), i.e. the center of the virtual structure moves
at the desired speed. Now we choose the constant s such
that

s0 = 0 (t)

r
X
k1i xei2

i=1

where 0 (t) is a strictly positive and bounded function.


This function specifies how fast the whole group of robots
should move, since the forward speed
of the center of the
q

= s tanh 21i +

V1 =

(1 3 tanh(xeT x xe

r
X

Substituting (51) into (50) yields

bi = 0.75,

ai = 0.3,

m ci = 30,

m wi = 1, Ici = 15.625, Iwi = 0.005, Imi = 0.0025,



T

T
1 (0) = 5 0 0 , 2 (0) = 5 5 0 ,

T
3 (0) = 5 5 0 ,

T
1 (0) = 2 (0) = 3 (0) = 0 0 ,

T


(57)
i (0) = 0 0 T ,
i (0) = 0 0 0 , X
P01i = diag(1, 1, 1), K01i = diag(1, 1, 1),
P02i = diag(1, 1),
si (0) = 2,

k1i = 1,

k4i = k5i = 2,
0 = 0.2,

T
K02i = (Ji (i )Q1
i ( i )) ,

k2i = 0.5;

i = 1,

k3i = 1.5,

i = diag(1, 1, 1),

1 = 2 = 0,

3 = 0.5,

s = 0.1.

The reference path of the center of the virtual structure is chosen


as 0 (s0 ) = (s0 , 0). The distances from the place-holders to the
center of the virtual structure are chosen as
l1 (xd0 (s1 ), yd0 (s1 )) = (0, 0),
l2 (xd0 (s2 ), yd0 (s2 )) = (3, 8 + 3 cos(0.5s2 )),

(58)

l3 (xd0 (s3 ), yd0 (s3 )) = (3, 8 + 3 sin(0.5s3 )).


These choices mean that the first place-holder coincides with
the center of the virtual structure which moves on a straight line,
and that the other two place-holders move on two sinusoidal
paths. The robots position and orientation, and path parameter

200

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

Table 1
Summary of the observer design and control design
Observer design:
i + K01i (i i )
i = Gi (i )X

i + Qi (i )B1 M1 i + K02i (i i )
Xi = Di (i )X
i

where
Gi (i ) = J i (i )Q1
i (i ),
i Q1 (i ),
Di (i ) = Qi (i )D
i


q
cos(ci i i ) bi i (m 11i m 12i ) sin(ci i i )
Qi (i ) =
, i = 1/ m 211i m 212i
sin(ci i i )
bi i (m 11i m 12i ) cos(ci i i )
Control design:


i (w i )vi + D
i v i + vci
i = Mi Bi C

wci

T 

where

v i = Q1
i (i )Xi ,

P
P

vci = k4i vei + svi i + tvi + rj=1 x vi (v j vd j j cos(ej ) + yej w j ) + rj=1 y vi vd j j sin(ej ) xej w j
i
ej
ej
P
k x y

x
+ rj=1 vi (w j w d j j ) ei + 2i ei ei2 ei ,
ej

1i

1i 2i

wci = k5i wei + swi i + twi + rj=1 xwi (v j vd j j cos(ej ) + yej w j )


i
ej
P
P

+ rj=1 ywi (vd j j sin(ej ) xej w j ) + rj=1 wi (w j w d j j ) (1 k2i xei 1i 2


2i )ei ,
ej
ej
with
q


k2i yei
k1i xei
2 + y2 ,
+ vdi i cos(ei ), ei = arctan
, 1i = 1 + xei
vi =
ei
1i
1i

k3i ei
k2i
2 1
2 ) x y ( v cos( )))
wi = (1 k2i xei 1i 2i )
+ w di i
(vdi i sin(ei )(1 + xei
ei ei vi
di i
ei
3i
1i 22i

q
q
v y
2 + (1 + k 2 )y 2 , = 1 + 2
di i ei (sin( ei ) cos(ei ) + (cos( ei ) 1) sin(ei )) , 2i = 1 + xei
3i
ei
2i ei
1i ei

vei = vi vi , ei = ei ei , wei = w i wi ,
q
0 (s )y 00 (s )x 00 (s )y 0 (s )
xdi
i di i
02 (s ) + y 02 (s ), w
di i di i ,
vdi = xdi
i
02
02
di i di =
xdi (si )+ydi (si )

xei = (xi xdi ) cos(i ) + (yi ydi ) sin(i ),


yei = (xi xdi ) sin(i ) + (yi ydi ) cos(i ),
ei = i di ,
i = s0 , s0 = 0 (t)(1 1 e2 (tt0 ) )(1 3 tanh(xeT x xe + yeT y ye + eT e )),
P
si = s tanh(21i + rj=1 22 ji + i (si s0 )) + 0 (t)(1 1 e2 (tt0 ) )(1 3 tanh(xeT x xe + yeT y ye + eT e )).

errors are plotted in Fig. 3. The path tracking errors and linear
velocities are plotted in Fig. 4. It is seen from these figures that
each robot asymptotically tracks its own path generated by the
virtual structure, and formation is successful, see the plot of
the path parameter errors. In addition, Fig. 4 (bottom subplot)
indicates that the first robot moves with a constant speed while
the other two robots move with varying speeds to maintain the
formation.
6. Conclusions
A methodology for formation control of a group of unicycletype mobile robots at the dynamics level has been addressed
in this paper. The main ingredients forming the results
are a combination of the virtual structure and path-tracking
approaches, a coordinate transformation derived to cancel the
velocity quadratic terms, and an output feedback controller
designed for each robot in such a way that the derivative of
the path parameter is left as a free input to synchronize the
formation motion. Future work is to extend the techniques
developed in this paper combined with our recent work [25]
to formation control of underactuated ships.

Appendix A. Proof of Proposition 1


We prove this proposition by considering the damped and
un-damped cases separately.
A.1. Damped case
Consider the Lyapunov function
T

i + X
V01i = T
i P02i Xi
i P01i

(59)

whose derivative along with the solutions of (20) and using (19)
satisfies
T

i X
V01i = T
i Q02i Xi
i Q01i
DT
i ( i )P02i

(60)

where Q02i =
+ P02i Di (i ). Since Di is pos1
1
itive definite and Di (i ) = Qi (i )B1
i Mi Di Bi Qi ( i )
with Qi (i ) being given in (16), and Q01i is a constant positive definite matrix, there exist strictly posi i (t))k
tive constants 0i and 0i such that k( i (t), X

(tt
)
0i
0

0i k( i (t0 ), Xi (t0 ))ke


, t t0 0. Global exponential stability of (20) holds for all i R3 because all elements of

201

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

Fig. 3. Top: Robot position and orientation in (x, y) plane. Bottom: Path parameter errors in the form of

Fig. 4. Top: Tracking errors in the form of

P3 q
2
1 (si s0 ) .

2 + y 2 + 2 . Bottom: Robot linear velocities v .


xei
i
ei
ei

J i (i ), Q1
i ( i ), Di ( i ) are bounded, independent from x i , yi ,
and depend on only sin(i ), cos(i ), sin(ci i i ), cos(ci i i )
and the robot parameters, as long as the solutions of (17) exist.
This also implies from (22) that

i (t))k 0i () with 0i () being a nonwhich implies k( i (t), X


i (t0 ))k. Next, we consider the
decreasing function of k( i (t0 ), X
Lyapunov function

i (t0 ))ke0i (tt0 ) ,


k(vi (t), w i (t))k 0i k( i (t0 ), X

i P02i X
i ) 02i T

i + X
V02i = 01i ( T
i P01i
i Gi ( i ) X i

t t0 0

(61)

where 0i is a positive constant. That is we can use (18) to


reconstruct v i , an estimate of vi from (21).

where 01i and 02i are positive constants to be picked such


that V02i is positive definite. Since Gi (i ) = J i (i )Q1
i ( i ), we
have
i )k2 V02i 02i M k( i , X
i )k2
02im k( i , X

A.2. Un-damped case

where
Note that in this Di (i ) = 0 since Di = 0. Hence the time
derivative of (59) along the solution of (20) and using (19) in
this case satisfies
i 0
V01i = T
i Q01i

(62)

(63)

02im = (01i min(m (P01i ), m (P02i ))


02i max(1, 1/(bi i (m 11i m 12i )))),
02i M = (01i max(m (P01i ), m (P02i ))
+ 02i max(1, 1/(bi i (m 11i m 12i )))).

(64)

202

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

Hence V02 is positive definite if 01i and 02i are picked, for
chosen P01i and P02i , such that

02im 02im
> 0.

(65)

By taking a derivative of (63) along the solution of (20) and


noting that Di (i ) = 0, we arrive at

where 03 is a large enough positive constant to be specified


later, and V01i is given in (59). Using (60) and (56), the
derivative of (71), satisfies
V21

1i 22i

2
k3i ei

23i
!

2
2
+ (k4i 2i )vei
+ (k5i 2i )wei

02i

(66)

ik ;
A1i kX

A3i := M (P01i )/m (P02i )

!
22 ji + i (si s0 )

j=1
r
X

!
22 ji + i (si s0 )

r
X

(03 m (Q01i ) 1i )k i k2

i=1

i k2 .
(03 m (Q02i ) 1i )kX
(67)

max(1, 1/(bi i (m 11i m 12i ))2 ),


T
T
i Gi ( i )i Xi
i Gi ( i )Xi =
i k2 );
A4i w Mi (1/(401i )k i k2 + 01i kX
A4i := max(1 + ci i , ci /(bi (m 11i m 12i )))
where 01i is a positive constant. Substituting (67) into (66)
yields
V02i (01i m (Q01i ) 02i (1/(401i )(A2i + A4i w Mi )
i k2 .
+ A3i ))k i k2 02i (A1i 01i (A2i + A4i w Mi ))kX
(68)
It is seen from (68) that we can pick small constants
01i , 01i and a large enough constant 02i such that (65) holds
and
i k2
V02i 02i k i k2 03i kX

r
X

j=1

01i

02i

21i +

tanh 21i +

A1i := min(1, 1/(bi i (m 11i m 12i ))2 ),


T

i k2 );
i k2 + 01i kX
T
i K Gi ( i )Xi A2i (1/(401i )k
A2i := m (K01i ) max(1, 1/(bi i (m 11i m 12i ))),
T
i A3i k i k2 ;
i Gi (i )T P1 Gi (i )P01i X

r
X
i=1

After some bounding calculation, we have


T
T

X
i Gi ( i ) Gi ( i )Xi

k2i vdi i yei2

21i

i=1

T
T

i 02i X
V02i = 01i T
i Gi ( i ) Gi ( i )Xi
i Q01i
T
T 1

T
02i T
i K Gi ( i )Xi + 02i
i Gi ( i ) P Gi ( i )P01i Xi
01i
T
i.
02i i Gi (i )X

r
X
k1i xei2

(69)

where 02i and 03i are positive constants, which in turn implies
global asymptotic stability of (20) in the un-damped case. Note
that (69) in general does not imply global exponential stability
of (20) since w Mi can depend on the initial conditions. 

(72)

We can now pick the constants 03 large enough and


2i small enough such that k4i 2i > 0, k5i
2i > 0, 03 m (Q01i ) 1i > 0, 03 m (Q02i ) 1i >
0. Then the inequality of (72) means that V21 (t)
i (t), si (t)
0, i.e. (xei (t), yei (t), ei (t), vei (t), wei (t), i (t), X
s0 (t)), is bounded. Applying Babarlats lemma, found in [34],
to (72) results in
i (t)) = 0
lim (xei (t), yei (t), ei (t), vei (t), wei (t), i (t), X
!
r
r
X
X
22 ji (t) + i (si (t) s0 (t)))
lim
(21i (t) +

j=1

i=1

tanh 21i (t) +

r
X

(73)

!
22 ji (t) + i (si (t) s0 (t))

= 0.

j=1

On the other hand, from the first equation of (73) and (48) and
(49), we have
!
r
X
22 ji (t) = 0.
(74)
lim 21i (t) +
t

j=1

From this fact, the second equation of (73) implies that


lim (si (t) s0 (t)) = 0

(75)

Appendix B. Proof of Theorem 1

Before proving Theorem 1, we note, upon tedious


completion of squares, from (47) and (22) that

which completes the proof of Theorem 1 for the damped case.

2
2
i k2 ) + 2i (vei
|1i | 1i (k i k2 + kX
+ wei
)

(70)

where 1i is some (large) positive constant and 2i is an


arbitrarily small positive constant. Now, to prove Theorem 1,
we consider damped and un-damped cases separately.
B.1. Damped case

r
X
i=1

In this case, we consider the Lyapunov function


V22 = 04 V1 +

r
X

V02i

(76)

i=1

For this case, we consider the following Lyapunov function


V21 = V1 + 03

B.2. Un-damped case

V01i

(71)

where V02i is given in (63), and 04 is a positive constant to be


picked later. We remind the reader that here we do not assume
wi (t) is bounded by w Mi as in the proof of Proposition 1. To
prepare for calculating the derivative of (76), we here do not

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

use the bound of T


i Gi ( i )Xi as in the last inequality of (67).
Instead, we proceed as follows


T
T
i Gi ( i )Xi =
i Gi ( i )i Xi
T
i
= i Gi (i )(w i + w i )X
i
= T
i )X
i Gi ( i )(wi + wei + w
T
T
i i Gi (i )wei X
i
= i Gi (i )(wi + w i )X
M
i k2 )
+ 0i 0i ())((1/401i )k i k2 + 01i kX
A4i (wi
2
2
+ 04 3i wei
+ 1/(404 3i )A24i 0i
()k i k2

(77)

M is defined in (37), and is a positive constant to


where wi
3i
be picked later. By using the first three inequalities of (67) and
(77), differentiating both sides of (76) yields

V22 04

r
X
k1i xei2
i=1

21i

k2i vdi i yei2


1i 22i
!

2
k3i ei

23i

2
2
+ k4i vei
+ (k5i 3i )wei

r
X

21i +

i=1

tanh 21i +

r
X

!
22 ji + i (si s0 )

j=1
r
X

!
22 ji + i (si s0 )

j=1

r
X

i k2 )
(k6i k i k2 + k7i kX

(78)

i=1

where
k6i = 01i m (Q01i ) 02i (1/(401i )A2i
M
+ A4i (wi
+ 0i 0i ())((1/401i )) + A3i )
2
1/(404 3i )A24i 0i
()

(79)

k7i = 02i (A1i 01i (A2i + A4i 01i )).


A close look at (79) shows that we can pick small enough 3i ,
04 , 01i and large enough 01i such that

k6i k6i
,

k7i k7i

(80)

where ki , i = 6, 7 are strictly positive constants. From (78)


and (80), using the same arguments as in the damped case, we
complete the proof of Theorem 1. Finally we note that all of the
constants 01i , 02i , 03 , 04 , 01i , 1i , 2i , 3i are used only
for proof. We do not need to choose them to implement the
proposed controller. 
References
[1] R.T. Jonathan, R.W. Beard, B.J. Young, A decentralized approach to
formation maneuvers, IEEE Transactions on Robotics and Automation 19
(2003) 933941.
[2] T.D. Barfoot, C.M. Clark, Motion planning for formations of mobile
robots, Robotics and Autonomous Systems 46 (2004) 6578.
[3] D.M. Stipanovica, G. Inalhana, R. Teo, C.J. Tomlina, Decentralized
overlapping control of a formation of unmanned aerial vehicles,
Automatica 40 (2004) 12851296.

203

[4] W. Ren, R.W. Beard, Formation feedback control for multiple spacecraft
via virtual structures, IEE Proceedings-Control Theory Application 151
(2004) 357368.
[5] H. Yamaguchi, Adaptive formation control for distributed autonomous
mobile robot groups, in: Proc. IEEE Int. Conf. Robotics and Automation,
Albuquerque, NM, 1997, pp. 23002305.
[6] P.K.C. Wang, Navigation strategies for multiple autonomous mobile
robots moving in formation, Journal of Robotic Systems 8 (2) (1991)
177195.
[7] P.K.C. Wang, F.Y. Hadaegh, Coordination and control of multiple
microspacecraft moving in formation, Journal of the Astronautical
Sciences 44 (3) (1996) 315355.
[8] J.P. Desai, J. Ostrowski, V. Kumar, Controlling formations of multiple
mobile robots, in: Proc. IEEE Int. Conf. Robotics and Automation,
Leuven, Belgium, 1998, pp. 28642869.
[9] M. Mesbahi, F.Y. Hadaegh, Formation flying control of multiple
spacecraft via graphs, matrix inequalities, and switching, AIAA Journal
Guidance, Control, Dynamics 24 (2) (2000) 369377.
[10] T. Balch, R.C. Arkin, Behavior-based formation control for multirobot
teams, IEEE Transactions on Robotics and Automation 14 (1998)
926939.
[11] M. Schneider-Fontan, M.J. Mataric, Territorial multirobot task division,
IEEE Transactions on Robotics and Automation 14 (1998) 815822.
[12] Q. Chen, J.Y.S. Luh, Coordination and control of a group of small mobile
robots, in: Proc. IEEE Int. Conf. Robotics and Automation, 1994, pp.
23152320.
[13] M. Veloso, P. Stone, K. Han, The CMUnited-97 robotic soccer team:
Perception and multi-agent control, Robotics and Autonomous Systems
29 (1999) 133143.
[14] L.E. Parker, ALLIANCE: An architecture for fault-tolerant multirobot
cooperation, IEEE Transactions on Robotics and Automation 14 (1998)
220240.
[15] K. Sugihara, I. Suzuki, Distributed algorithms for formation of geometric
patterns with many mobile robots, Journal of Robotic Systems 13 (3)
(1996) 127139.
[16] R.W. Beard, J. Lawton, F.Y. Hadaegh, A feedback architecture for
formation control, IEEE Transactions on Control Systems Technology 9
(2001) 777790.
[17] N.E. Leonard, E. Fiorelli, Virtual leaders, artificial potentials and
coordinated control of groups, in: Proc. IEEE Conf. Decision and Control,
Orlando, FL, 2001, pp. 29682973.
[18] W. Kang, N. Xi, A. Sparks, Formation control of autonomous agents in
3D workspace, in: Proc. IEEE Int. Conf. Robotics and Automation, San
Francisco, CA, 2000, pp. 17551760.
[19] M.A. Lewis, K.-H. Tan, High precision formation control of mobile robots
using virtual structures, Autonomous Robots 4 (1997) 387403.
[20] W. Kang, H.-H. Yeh, Co-ordinated attitude control of multisatellite
systems, International Journal of Robust and Nonlinear Control 12 (2002)
185205.
[21] R. Skjetne, S. Moi, T.I. Fossen, Nonlinear formation control of marine
craft, in: Proc. IEEE Conf. on Decision and Control, Las Vegas, NV, 2002,
pp. 16991704.
[22] P. Ogren, M. Egerstedt, X. Hu, A control Lyapunov function approach to
multiagent coordination, IEEE Transactions on Robotics and Automation
18 (2002) 847851.
[23] R.W. Beard, J. Lawton, F.Y. Hadaegh, A coordination architecture for
formation control, IEEE Transactions on Control Systems Technology 9
(2001) 777790.
[24] K.D. Do, Z.P. Jiang, J. Pan, A Global output-feedback controller
for simultaneous tracking and stabilization of mobile robots, IEEE
Transactions on Robotics and Automation 20 (2004) 589584.
[25] K.D. Do, J. Pan, Global path-tracking of underactuated ships with nonzero off-diagonal terms, Automatica 41 (2005) 8795.
[26] M. Egerstedt, X. Hu, A. Stotsky, Control of a car-like robot using a virtual
vehicle approach, in: Proceedings of the 37th Conference on Decision and
Control, 1998, pp. 15031507.
[27] A. Astolfi, Discontinuous control of nonholonomic systems, Systems and
Control Letters 27 (1996) 3745.

204

K.D. Do, J. Pan / Robotics and Autonomous Systems 55 (2007) 191204

[28] G. Besancon, Global output feedback tracking control for a class of


Lagrangian systems, Automatica 36 (2000) 19151921.
[29] W.E. Dixon, D.M. Dawson, E. Zergeroglu, A. Behal, Nonlinear Control
of Wheeled Mobile Robots, Springer, London, 2001.
[30] R. Fierro, F.L. Lewis, Control of a nonholonomic mobile robot:
backstepping kinematics into dynamics, in: Proceedings of the 34th
Conference on Decision and Control, 1995, pp. 38053810.
[31] T. Fukao, H. Nakagawa, N. Adachi, Adaptive tracking control of
nonholonomic mobile robot, IEEE Transactions on Robotics and
Automation 16 (2000) 609615.
[32] I. Kolmanovsky, N.H. McClamroch, Developments in nonholonomic
control problems, IEEE Control Systems Magazine 15 (1995) 2036.
[33] M. Krstic, I. Kanellakopoulos, P.V. Kokotovic, Nonlinear and Adaptive
Control Design, Wiley, New York, 1995.
[34] H. Khalil, Nonlinear Systems, Prentice Hall, 2002.
[35] T.C. Lee, K.T. Song, C.H. Lee, C.C. Teng, Tracking control of unicyclemodelled mobile robots using a saturation feedback controller, IEEE
Transactions on Control Systems Technology 9 (2) (2001) 305318.
[36] A. Loria, Global tracking control of one degree of freedom
EulerLagrange systems without velocity measurement, European
Journal of Control (1996) 144151.
[37] A. Loria, K. Melhem, Position feedback global tracking control of
EL systems: A state transformation approach, IEEE Transactions on
Automatic Control 47 (2002) 841847.
[38] H. Nijmeijer, T.I. Fossen (Eds.), New Directions in Nonlinear Observer
Design, Springer-Verlag, London, 1999.
[39] C. Samson, Velocity and torque feedback control of a nonholonomic
cart, in: Advanced Robot Control, in: C. Canudas de Wit (Ed.), Lecture
Notes in Control and Information Sciences, Springer-Verlag, Berlin, 1991,
pp. 125151.

[40] R. Sepulchre, M. Jankovic, P. Kokotovic, Constructive Nonlinear Control,


Springer-Verlag, New York, 1997.

K.D. Do obtained his ME-degree and Ph.D.


degree with Distinction in Mechanical Engineering
from The University of Wollongong and The
University of Western Australia in 1999 and 2003,
respectively. Currently, he is a research fellow
at the School of Mechanical Engineering, The
University of Western Australia. His research
areas are control of nonlinear systems, control of
multiple agents, control of land, air and ocean
vehicles, and control of systems governed by
partial differential equations.

Dr. J. Pan obtained his B.Sc. in physics from


Nanjing University, China in 1982. He obtained
his Ph.D. in acoustics from Adelaide University,
Australia 1989. From 1989 to 1991, he was
a research associate at Adelaide University and
worked on active control of noise and vibration.
Since 1991, Pan has become a lecturer, senior
lecturer, associate professor, and then professor at
the School of Mechanical Engineering, University
of Western Australia. His undergraduate teaching
covers dynamics, acoustics, vibration, control and
mechatronics. His research areas are room acoustics, structural acoustics and
active noise and vibration control. He is the director of Center for Acoustics,
Dynamics and Vibration.

You might also like