Professional Documents
Culture Documents
A Distributed Constraint Force Approach For Coordination of Multiple Mobile Robots
A Distributed Constraint Force Approach For Coordination of Multiple Mobile Robots
Abstract: A new approach to coordination of multiple mobile robots is presented in this paper.
The approach relies on the notion of constraint forces which are used in the development of
the dynamics of a system of constrained particles with inertia. A familiar class of dynamic,
nonholonomic robots are considered. The goal is to design a distributed coordination control
algorithm for each robot in the group to achieve, and maintain, a particular formation while
ensuring navigation of the group. The theory of constraint forces is used to generate a stable
control algorithm for each mobile robot that will achieve, and maintain, a given formation. The
advantage of the proposed method is that the formation keeping forces (constraint forces) cancel
only those applied forces which act against the constraints. Another feature of the proposed
distributed control algorithm is that it allows to add/remove other mobile robots into/from the
formation gracefully with simple modifications of the control input. Further, the algorithm is
scalable. To corroborate the theoretical approach, simulation results on a group of six robots
c
are shown and discussed. Copyright
2008 IFAC
12106
17th IFAC World Congress (IFAC'08)
Seoul, Korea, July 6-11, 2008
Consider a pair of robots i and j which share an edge Equation (14) alone does not uniquely determine the
in the information flow graph, i.e., (i, j) ∈ E. Denote constraint force, since we have only one equation and four
the constraint corresponding to the (i, j) edge in the unknowns (the 4 components of Fcij ). The widely used
formation graph G = (V, E) by φij (ri , rj ) = 0 for any procedure in dynamics is to use the principle of virtual
(i, j) ∈ E and i 6= j, with φij (ri , rj ) in some specific work (Goldstein [1953]) to obtain the constraint forces,
form, for example, the form that corresponds to the which states that the constraint forces do not add or
Euclidean distance between the two robot hands. Define remove energy. Therefore, to ensure that the constraint
the composite hand position vector of two communicating force does no work, we require that FcTij ṙij be zero for
robots by rij = [riT , rjT ]T ∈ R4 . The constraint function is every ṙij satisfying φ̇ij (rij , ṙij ) = 0, that is,
defined as
FcTij ṙij = 0, ∀ ṙij ∈ {ṙij | Aij (rij )ṙij = 0}. (15)
kri − rj k − dij
φij (rij ) = , ∀ (i, j) ∈ E, (7) From Eq. (15), it is clear that Fcij must be orthogonal
kri − rj k − rs
to the velocity vector ṙij . Since ṙij must lie in the null
where dij is the length of the edge (i, j) which is the desired space of Aij (rij ), the constraint force Fcij must lie in the
distance between the hand positions of the two robots in null space complement of Aij (rij ). Thus, the vector Fcij
the formation and rs is the safe distance between any two satisfying Eq. (15) can be expressed in the form
communicating robots. The structural constraint for this
pair of robots can be expressed as Fcij = ATij (rij )λij (16)
φij (rij ) = 0. (8) where λij is the Lagrange multiplier, which is obtained by
substituting (16) into (14),
Differentiating Eq. (7) once, we get the constraint velocity
as Aij (rij )ATij (rij )λij = −Ȧij (rij , ṙij )ṙij − Aij (rij )Fnij . (17)
∂φij (rij )
φ̇ij (rij , ṙij ) = ṙij := Aij (rij )ṙij (9) The constraint force for robots i and j are then given
∂rij by Fci = [I2 , Ø2 ]Fcij and Fcj = [Ø2 , I2 ]Fcij where I2
ij
where Aij (rij ) = ∂r ij∂φ (r )
is a specially structured 1 × 4 and Ø2 are the identity and zero matrices, respectively, of
ij
dimension two.
matrix called the constraint matrix, which is given by
Aij (rij ) = [aij , −aij ] (10) The discussion on the development of constraint forces
(dij −rs )(ri −rj ) T so far was based on the assumption that at the start of
with aij = (kri −rj k−rs )2 kri −rj k . the motion of the robots, the constraint equations are
satisfied. To consider arbitrary initial conditions for the
Differentiating φ̇ij (rij , ṙij ), we get the constraint acceler- robots, which do not satisfy the constraint equations, we
ation as will use the notion of feedback in the constraint acceler-
φ̈ij (rij , ṙij , r̈ij ) = Ȧij (rij , ṙij )ṙij + Aij (rij )r̈ij (11) ation equation; this will account for the mismatch in the
∂ φ̇ij (rij ,ṙij )
initial condition and appropriately compute the constraint
where Ȧij (rij , ṙij ) = ∂rij . force. This idea was used to prevent numerical drift in
12107
17th IFAC World Congress (IFAC'08)
Seoul, Korea, July 6-11, 2008
the simulation of dynamic equations with constraints in that ėij and φ̇ij are square integrable signals. Further, from
Witkin et al. [1990]. In the application of cooperative the dynamics of the constraint and the tracking error,
control of a group of robots, we generally require desired
formation of the group as well as navigation. Instead of φ̈ij = −kd φ̇ij − k2 λij (26)
solving for φ̈ij = 0 to determine the constraint force, as it ëij = −c1 eij − c2 ėij + ATij λij , (27)
was done earlier, the following equation will be used: we can conclude that both φ̈ij and ëij are bounded. There-
φ̈ij = −kd φ̇ij + gij (18) fore, ėij and φ̇ij converge to zero asymptotically by in-
where kd is a positive constant and the function gij is voking Barbalat’s...lemma....Further, we can show via direct
included to couple the constraint force and constraint calculation that φ ij and e ij are bounded by differentiat-
acceleration; note that gij acts like a force on a robot with ing Eqs. (26) and (27). Therefore, the signals φ̈ij and ëij
position given by φij . Therefore, the constraint force vector asymptotically converge to zero. From Eqs. (26) and (27),
for the two robots is calculated based on the following we can conclude that λij and eij converge to zero asymp-
equations: totically. Moreover, from the definition of the constraint
kr −r k−d k(ei −ej )+(rdi −rdj )k−dij
Fcij = ATij λij , (19) vector φij (rij ) = krii −rjj k−rijs = kri −rj k−rs ,
Aij ATij λij = −Ȧij ṙij − Aij Fnij − kd φ̇ij + gij . (20) asymptotic convergence of eij to zero implies asymptotic
k(rdi −rdj )k−dij
convergence of φij (rij ) to kri −rj k−rs , which is zero.
Next, we will derive the function gij based on the two
robots achieving, and maintaining, a formation with a Furthermore, since φ̇ij is bounded and
desired navigation trajectory. The navigational feedback lim φ̇ij (rij , ṙij ) = ∞, ∀ (i, j) ∈ E, (28)
control Fni acting on the i-th robot is chosen as kri −rj k→rs +
Fni = r̈di − c1 ei − c2 ėi (21) any pair of communicating robots will never enter the
unsafe region given by Ω = {rij : kri − rj k ≤ rs }.
where c1 and c2 are positive constants, ei = ri − rdi and
ėi = ṙi − ṙdi are navigational tracking errors, and rdi , ṙdi Note that the choice of gij = −k2 λij will result in the
and r̈di are the desired position, velocity, and acceleration, constrained force to be given by
respectively. The navigational force and tracking errors for Fcij = ATij λij , (29)
the j-th robot are given by replacing the index i with j. 1
λij = −Ȧij ṙij − Aij Fnij − kd φ̇ij . (30)
The constraint forces Fci and Fcj are calculated using (19) k2 + Aij ATij
and (20). The overall control input ui for the i-th robot in
Eq. (6) is given by The constraint force for robots i and j are then given by
Fci = [I2 , Ø2 ]Fcij and Fcj = [Ø2 , I2 ]Fcij . Note that the
ui = Fni + Fci . (22)
constraint forces on the two robots satisfy Fci = −Fcj ,
We select the function gij in (18) based on whether this that is,
control input tracks the desired navigation trajectories and [I2 , Ø2 ]ATij λij = −[Ø2 , I2 ]ATij λij . (31)
achieves, and maintains, the desired distance between the Since they are internal forces, addition of the i-th and j-th
two robots. We consider the following Lyapunov function dynamics will result in the cancelation of these forces for
candidate the two robots case.
1 1 1
Eij = k1 eTij eij + k2 ėTij ėij + φ̇2ij (23) 3.2 Distributed Algorithm for Multiple Mobile Robots
2 2 2
where k1 and k2 are positive constants and eij = [eTi , eTj ]T . As in the previous section, we consider the navigational
The derivative of Eij with respect to time is given by feedback control Fni acting on the i-th robot to be given
Ėij = k1 ėTij eij + k2 ėTij ëij + φ̇ij φ̈ij by (21). The constraint force acting on the i-th robot is
chosen as the total of the constraint force contribution
= k1 ėTij eij + k2 ėTij (Fnij + Fcij − r̈dij ) + φ̇ij (−kd φ̇ij + gij ) from all the robots which directly communicate with it,
= −k2 c2 ėTij ėij − kd φ̇2ij − (−k1 + c1 k2 )ėTij eij i.e., Fci is given by
X
T T
+ k2 ṙij Fcij − k2 ṙdij Fcij + φ̇ij gij . F c i = [I2 , Ø2 ] ATij λij , (32)
(i,j)∈E
Choosing k1 = k2 c1 we obtain
1
Ėij = −k2 c2 ėTij ėij − kd φ̇2ij − k2 ṙdTij ATij λij λij = − Ȧij ṙij − Aij Fn − kd φ̇ij . (33)
k2 + Aij ATij ij
T T
+ k2 ṙij Aij λij + φ̇ij gij .
For example, consider the formation shown in Fig. 2. The
Since ṙdij = [ṙdTi , ṙdTj ]T is the desired navigation velocity, constraint force applied on robot 2 is the summation of
it must satisfy ṙdTij ATij = 0. Further, choosing the constraint forces contributed from robots 1, 3, 4, and
5, that is,
gij = −k2 λij (24) Fc2 = [I2 , Ø2 ] (Fc21 + Fc23 + Fc24 + Fc25 ).
we get
Ėij = −k2 c2 ėTij ėij − kd φ̇2ij ≤ 0. (25)
The overall control input ui for the i-th robot in Eq. (6)
Therefore, Eij is a Lyapunov function. As a result, eij , ėij , is given by
and φ̇ij are bounded. From (23) and (25), we can conclude ui = Fni + Fci . (34)
12108
17th IFAC World Congress (IFAC'08)
Seoul, Korea, July 6-11, 2008
2 3 Therefore,
n
X n
X X
Ė = −k2 c2 ėTi ėi − kd φ̇2ij ≤ 0. (38)
i=1 i=1 (i,j)∈E,j>i
4 5 6 Using the same arguments as in the previous section, we
can conclude asymptotic convergence of ei , ėi , φij and φ̇ij
Fig. 2. Delta formation of a group of six robots to zero. Further, any pair of communicating robots will
never enter the unsafe region, under the assumption that
To show that this control input tracks the desired navi-
the initial distance between any pair of communicating
gation trajectories and achieves, and maintains, the given
robots is larger than the safe distance. The results of this
formation, we consider the following composite Lyapunov
section are summarized in the following theorem.
function candidate:
n n n Theorem 1. For a group of mobile robots given by the
1X 1X 1X X
E= k2 c1 eTi ei + k2 ėTi ėi + φ̇2ij . dynamics (1), the choice of the following control algorithm:
2 i=1 2 i=1 2 i=1
(i,j)∈E,j>i Fi
(35) = Hi−1 (ui − Gi ) (39)
τi
The derivative of E with respect to time is given by
n n n
ui = Fni + Fci (40)
Fni = r̈di − c1 ei − c2 ėi (41)
X X X X
Ė = k2 c1 ėTi ei + k2 ėTi ëi + φ̇ij φ̈ij
i=1 i=1 i=1 (i,j)∈E,j>i X [I2 , Ø2 ] ATij
Fci = T
−Ȧij ṙij − Aij Fnij − kd φ̇ij
Substituting the control law (34) and the dynamics of the k2 + Aij Aij
(i,j)∈E
robots (6), with Fci given by (32) and Fni given by (21),
(42)
into Ė, and simplifying, we get
n n will ensure that all signals are bounded and the signals ei ,
ėi , φij , and φ̇ij asymptotically converge to zero.
X X
Ė = k2 c1 ėTi ei + k2 ėTi (Fni + Fci − r̈di )
i=1 i=1
n Remark 1. Note that if new robots are added to the
formation with new edges in the formation graph, the
X X
+ φ̇ij (−kd φ̇ij − k2 λij ).
i=1 (i,j)∈E,j>i
constrained force Fci given by (42) will include additional
terms according to the new edge set.
Upon simplification, we can write Ė as
n
X n
X X n
X 4. SIMULATIONS
Ė = −k2 c2 ėTi ėi − kd φ̇2ij − k2 ṙdTi Fci
i=1 i=1 (i,j)∈E,j>i i=1 This section presents simulation results for a group of
six robots to achieve and maintain a delta formation
n n
as shown in Fig. 2. The distributed control law given
X X X
+ k2 ṙiT Fci − φ̇ij λij . (36)
i=1 i=1 (i,j)∈E,j>i
in Theorem 1 with constraint functions of the form (7)
is applied with a safe distance of rs = 0.22 m. Each
In Eq. (36) , we can show that the third and fourth terms robot in the group starts from an arbitrary location which
are identically equal to zero. Note that does not satisfy the constraint equations. The desired
n n
X X X distance of each edge in the delta formation is chosen
ṙiT Fci − φ̇ij λij = as 1 m. The inertial parameters are selected as mi =
i=1 i=1 (i,j)∈E,j>i 10 kg, Ji = 0.13 kg-m2 and Li = 0.1 m. The initial
n
X X n
X X positions of the six robots are given by [x1 (0), y1 (0)] =
ṙiT [I2 , Ø2 ]ATij λij − Aij ṙij λij . [−1, 1.4], [x2 (0), y2 (0)] = [−0.7, −0.9], [x3 (0), y3 (0)] =
i=1 (i,j)∈E i=1 (i,j)∈E,j>i [−0.2, 0.3], [x4 (0), y4 (0)] = [1, 2], [x5 (0), y5 (0)] = [0.1, 1],
Since the constraint force components between any pair of [x6 (0), y6 (0)] = [−0.18, 0], where the distance units are
robots satisfy (31), and since Aij = −Aji and λij = λji , all in meters; the starting orientation θi , linear speed vi
we have and angular speed ωi of the six robots is chosen to be
[ṙjT , Ø2 ]ATji λji = −[Ø2 , ṙjT ]ATji λji = [Ø2 , ṙjT ]ATij λij . zero. The desired navigation trajectory for each robot
within the delta formation is taken as a straight line with
Then, constant velocity. The control gain parameters for each
n n
X X X X robot in the distributed control algorithm are selected as
ṙiT [I2 , Ø2 ]ATij λij = T T
ṙij Aij λij . c1 = 0.4, c2 = 0.6, kd = 1.8, and k2 = 5. The result
i=1 (i,j)∈E i=1 (i,j)∈E,j>i is shown in Fig. 3; each robot in the group starts at the
Thus, we have initial position denoted by ◦ and the robots reach a desired
Xn n
X X delta formation while approaching the desired navigation
ṙiT Fci − φ̇ij λij = 0. (37) trajectory (dotted line). The corresponding inter-robot
i=1 i=1 (i,j)∈E,j>i distance is shown in Fig. 4, which indicates that the
12109
17th IFAC World Congress (IFAC'08)
Seoul, Korea, July 6-11, 2008
safe distance between two communicating robots is always Potential future work includes the use of a sensing region
maintained. around each mobile robot in which the robot is capable
of sensing the presence of other robots. This will facilitate
5
introducing the safe distance notion to all the robots which
come within the sensing region.
1
4 REFERENCES
2 3 D. E. Chang, S. C. Shadden, J. E. Marsden, and R. Olfati-
3 Saber. Collision avoidance for multiple agent systems.
y−position (m)
3.5
Control, pages 2968–2973, 2001.
3
Y. Liang and Ho-Hoon Lee. Decentralized formation con-
trol and obstacle avoidance for multiple robots with non-
holonomic constraints. In Proceedings of the American
2.5
Control Conference, pages 5596–5601, 2006.
S. G. Loizou, D. V. Dimarogonas, and K. J. Kyriakopoulos.
2
Decentralized feedback stabilization of multiple non-
holonomic agents. In Proceedings of IEEE International
1.5 Conference on Robotics and Automation, 2004.
R. Olfati-Saber and R. M. Murray. Distributed coopera-
1 tive control of multiple vehicle formations using struc-
tural potential functions. In The 15th IFAC World
0.5
Congress, 2002.
r = 0.22
s D. M. Stipanovic, P. F. Hokayem, M. W. Spong, and D. D.
Siljak. Cooperative avoidance control for multiagent
0
0 5 10 15 20 25 systems. ASME Journal of Dynamic Systems, Measure-
Time (second) ment, and Control, 129:699–707, 2007.
H. G. Tanner, A. Jadbabaie, and G. J. Pappas. Flocking in
Fig. 4. Distance between pairs of robots teams of nonholonomic agents. In N. Leonard S. Morse
and V. Kumar, editors, Cooperative Control, pages 229–
239. Springer, 2004.
5. CONCLUSIONS F. Udwadia and R. E. Kalaba. Analytical Dynamics, A
New Approach. Cambridge University Press, 1996.
Based on the notion of constraint forces, we have developed A. Witkin, M. Gleicher, and W. Welch. Interactive
a stable, distributed control algorithm for coordination of a dynamics. Computer Graphics, 24(2):11–21, 1990.
group of mobile robots. The dynamics of each mobile robot Y. Zou, P. R. Pagilla, and E. A. Misawa. Formation of a
with nonholonomic constraints is feedback linearized with group of vehicles with full information using constraint
the output as the off-wheel axis position (hand position) forces. ASME Journal of Dynamic Systems, Measure-
along the longitudinal orientation of the robot. Given a ment, and Control, 129:654–661, 2007.
formation, an information flow pattern, and a desired
trajectory, the distributed control algorithm developed
for each robot in the group is capable of achieving and
maintaining the formation along the desired trajectory
while maintaining a safe distance between communicating
robots. The algorithm is modular and scalable. Simulation
results on an example formation of a group of six mobile
robots were shown to corroborate the proposed algorithm.
12110