Controlling a triangular flexible formation
of autonomous agents. ⋆
Hector Garcia de Marina ∗ Zhiyong Sun ∗∗ Ming Cao ∗∗∗
Brian D.O. Anderson ∗∗∗∗,∗∗

arXiv:1704.00534v1 [cs.SY] 3 Apr 2017

∗

University of Toulouse, Ecole Nationale de l’Aviation Civile (ENAC)
Toulouse 31000, France.
∗∗
Data61-CSIRO and Research School of Engineering, Australian
National University, Canberra ACT 2601, Australia.
∗∗∗
Engineering and Technology Institute Groningen (ENTEG),
University of Groningen 9747, the Netherlands.
∗∗∗∗
School of Automation, Hangzhou Dianzi University, Hangzhou
310018, China.

Abstract: In formation control, triangular formations consisting of three autonomous agents
serve as a class of benchmarks that can be used to test and compare the performances of
different controllers. We present an algorithm that combines the advantages of both positionand distance-based gradient descent control laws. For example, only two pairs of neighboring
agents need to be controlled, agents can work in their own local frame of coordinates and the
orientation of the formation with respect to a global frame of coordinates is not prescribed. We
first present a novel technique based on adding artificial biases to neighboring agents’ range
sensors such that their eventual positions correspond to a collinear configuration. Right after, a
small modification in the bias terms by introducing a prescribed rotation matrix will allow the
control of the bearing of the neighboring agents.
Keywords: Formation control, Distributed control, Multi-agent system.
1. INTRODUCTION

search for compromise among the advantages of both
formation control techniques.

The theory of rigidity and in particular the concepts
of infinitesimal and minimal rigidity have been proven
to be very useful in formation control with the goal to
define and achieve prescribed shapes by just controlling the
distances between neighboring agents (see Anderson et al.
(2008) and Krick et al. (2009)). The popular distancebased gradient descent algorithm for rigid formations has
appealing properties. For example, the agents can work
in their own local frame of coordinates, the system can
be made robust against biased sensors, and since the
orientation of the desired shape is not prescribed, one can
induce rotational motions to the formation as presented
in Garcia de Marina et al. (2015, 2016). In comparison,
position-based formation control needs a common frame of
coordinates and the steady-state orientation of the shape
is restricted, which implies that a free rotational motion
is not allowed; however, the same formation shape can be
achieved by fewer pairs of neighboring agents in positionbased than in distance-based control. This prompts a

The minimum total number of pairs of neighboring agents
in a distance-based rigid formation control system is given
by the necessary conditions for infinitesimal and minimal
rigidity, which is equal to 2n − 3 for 2D scenarios, where n
is the total number of agents. This is directly related to the
necessary number of inter-agent distances to be controlled
such that the desired shape is (at least locally) uniquely
defined. For example, the triangle is the simplest rigid
shape in the 2D case and the necessary number of desired
distances to define such a shape is three. On the other
hand, one can achieve a desired triangular shape by just
controlling (the relative positions rather than distances of)
two neighboring agent pairs in the position-based setup.
We illustrate these basic concepts in Figure 1.

⋆ The work of Hector Garcia de Marina was supported by Mistrale project, http://mistrale.eu. The work of Zhiyong Sun and
Brian Anderson was supported by the Australian Research Council Grants DP160104500, DP130103610 and the Prime Ministers
Australia Asia Incoming Endeavour Postgraduate Award. The work
of Cao was supported in part by the European Research Council (ERC-StG-307207) and the Netherlands Organization for Scientific Research (NWO-vidi-14134). E-mails: hgdemarina@ieee.org;
{zhiyong.sun,brian.anderson}@anu.edu.au; m.cao@rug.nl.

This paper focuses on triangular formations consisting of
three agents. This apparently simple setup has been considered as a benchmark in formation control (see Cao et al.
(2007); Anderson et al. (2007); Cao et al. (2008); Liu et al.
(2014); Mou et al. (2014)), since it allows detailed rigorous
analysis for novel techniques as we aim at in this work.
This provides a starting point in order to achieve more
general formations. The goal of this paper is to propose an
algorithm that combines the advantages of both distanceand position-based control, i.e., agents employ their own
local frames of coordinates, no prescribed orientation for
the desired shape (so rotational motions are allowed) and

2. NON-RIGID FORMATION OF THREE AGENTS

d3
z2
z1

d2

2.1 Gradient descent distance-based formation control

d1
(a)

(b)

Fig. 1. The same triangular shape depicted by the three
agents (dots) can be achieved by controlling the two
vectors z1 and z2 (position-based control) or the three
distances d1 , d2 and d3 (distance-based control). Note
that in a) the orientation of the triangle is prescribed
while it is not in b).
smaller number of controlled pairs of neighboring agents
than in distance-based minimally rigid formations.
The novelty of this algorithm lies in exploiting the sensingerror-induced collective motion, e.g., those caused by biased range sensors among neighboring agents. For example, it has been reported in Mou et al. (2016) that small
constant biases in range sensors for a rigid formation cause
the whole team of agents to converge to a distorted version
of the desired shape and eventually it will exhibit some
steady-state motion. On the other hand, it has been shown
in Garcia de Marina et al. (2016) that one can introduce
artificially such biases in order to steer the desired rigid
formation in a controlled way.
This paper will first study the effect of these biases in a
flexible (or non-rigid) distance-based formation of three
agents, i.e., we control only two distances instead of three
for a rigid triangular formation. We prove that if the range
measurements between agents are not perfectly accurate
then the three agents converge to collinear positions. This
is somewhat counter-intuitive since for a non-rigid formation the steady-state shape is, depending on the initial
conditions, arbitrary within a constraint set. Furthermore,
we will show that depending on the value of these biases,
the eventual collinear formation will move with a constant
velocity or remain stationary. In our first step, we take
advantage of this effect in order to align the three agents
with the desired distances between them. Then, we will
show how a small modification in this biased control law
can achieve the control of the angle between the two
relative vectors of the flexible formation, leading to the
control of a stationary desired triangular shape with no
restriction on its orientation.
In the following section we introduce some notations,
briefly review the (exponential) stability of formation
systems under the flexible shape and introduce the biases
in the range measurements. We continue in Section 3
analyzing the consequences of such biases in the control of
a non-rigid formation. We introduce a technique motivated
by Mou et al. (2016), where the authors study nonminimally but infinitesimally rigid formations by reducing
the problem to minimally rigid ones. In this paper since we
are dealing with fewer pairs of neighboring agents than in
minimally rigid setups, we instead augment our formation
to a minimally rigid one in order to study the stability of a
biased non-rigid formation. In Section 4 we introduce and
analyze a modified version of the biased algorithm in order
to control triangular shapes. We finish the paper with
simulations in Section 5 and some conclusions in Section
6.

We consider a team of three agents governed by the firstorder kinematic model
ṗi = ui ,
(1)
2
where pi ∈ R is the position of the agent i = {1, 2, 3},
and ui ∈ R2 is the control action over agent i.
Let us define the two vectors

∆

∆

(2)
z 1 = p1 − p2 , z 2 = p2 − p3 ,
which are the relative positions corresponding to the
two links available to the agents. For each link one can
construct a potential function Vk , k ∈ {1, 2} with its
minimum at the desired distance dk , so that the gradient of
such functions can be used to control inter-agent distances
distributively. We consider the following shape potential
function
1
(3)
Vk (zk ) = (||zk || − dk )2 ,
2
with the following gradient along zk
∇zk Vk (zk ) = ẑk (||zk || − dk ),
(4)
∆

where ẑk = ||zzkk || . We then apply to each agent i in (1) the
following gradient descent control
ui = −∇pi

2
X

Vk (zk ),

(5)

k=1

and by denoting the distance error for the kth link by
ek = ||zk || − dk ,
(6)
we arrive at the following dynamics

ṗ1 = −ẑ1 e1
(7)
ṗ = ẑ1 e1 − ẑ2 e2
 2
ṗ3 = ẑ2 e2 .

System (7) has some interesting properties. For example,
the agents can employ their own local systems of coordinates, i.e., a global or common frame of coordinates is
not necessary, and collision avoidance is guaranteed among
pairs of neighboring agents (Oh et al. (2015)). For tree
graph topology, one can prove the (almost global) exponential convergence of the error system, i.e., the signals
e1 (t) and e2 (t) both converge to zero exponentially fast if
the agents do not start at the same positions (Dimarogonas
and Johansson (2008); Sun et al. (2016)).
It is clear that although the error signals e1 (t) and e2 (t)
converge to zero, the final relative positions may not
guarantee any prescribed shapes as one would like to have
for minimally rigid formations. In particular, agents p1 and
p3 will lie somewhere on a circumference with the center at
p2 and the radius as d1 and d2 respectively. More precisely,
the relative positions converge to the set
∆

Z = {z : ||zk || = dk , ∀k ∈ {1, 2}}.
(8)
Furthermore, the exponential convergence of e(t) and z(t)
to the origin and Z, respectively, implies that ṗ1 (t) and
ṗ2 (t) converge to zero exponentially fast, therefore the
agents converge to only one stationary shape among all
the ones defined by Z, i.e., all the agents eventually stop.

2.2 Biases in distance-based formation control
It is clear from (5) with Vk as in (3) that neighboring
agents i and j share the same potential Vk in the implementation of the gradient formation control. Let us focus
on agent i whose control is
2
X
uki ,
ui = −
k=1

where uki is the corresponding gradient ∇pi Vk . More precisely, for the link k where i and j are neighbors we have
that
(9)
uki = ∇pi Vk = ẑk (||zk || − dk )

(10)
ukj = ∇pj Vk = −ẑk (||zk || − dk ).
However, when the range sensors of the two agents are
biased with respect to each other by a constant µk , without
loss of generality, the pair (9)-(10) should be modified as
uki = ẑk (||zk || − dk + µk )

(11)

ukj = −ẑk (||zk || − dk ).
(12)
The effects of these biases on undirected rigid formations
have been studied in Mou et al. (2016) and how to remove
or take advantage of them have been shown in Garcia de
Marina et al. (2015, 2016). Flexible formations have not
received much attention for formation control problems as
the rigid ones since the sets like (8) do not define (locally)
uniquely any shape. Nevertheless, we will show that the
intentional introduction of biases (following the spirit of
Garcia de Marina et al. (2016)) can make these apparently
flexible formations appealing for formation control.
3. BIASED NON-RIGID FORMATION OF THREE
AGENTS: CONVERGING TO A COLLINEAR
STEADY-STATE
Let us consider biases in the range sensors of the agents
in system (7). In particular, as it has been shown in (11)(12), we can always write these biases from the point of
view of agent 2, namely
ṗ2 = ẑ1 (e1 + µ1 ) − ẑ2 (e2 − µ2 ),
(13)
which leads to the following biased system

ṗ1 = −ẑ1 e1
(14)
ṗ = ẑ1 e1 − ẑ2 e2 + µ1 ẑ1 + µ2 ẑ2
 2
ṗ3 = ẑ2 e2 .
We shall now study the effect of imposing a special
condition on the biases. This condition will be achievable
if we are free to introduce biases into the controls, namely
µ1 = −µ2 = c,
(15)
for some constant c ∈ R\{0}. These biases can be considered as a parametric disturbance to the following closedloop system involving the dynamics of z and e derived
from (14):

ż1 = −2ẑ1 e1 + ẑ2 e2 − cẑ1 + cẑ2



ż2 = −2ẑ2 e2 + ẑ1 e1 + cẑ1 − cẑ2
(16)

ė = −2e1 + ẑ1T ẑ2 e2 − c + cẑ1T ẑ2

 1
ė2 = −2e2 + ẑ2T ẑ1 e1 − c + cẑ2T ẑ1 .
As we have discussed, one can derive the exponential
stability of the closed-loop system (16) with c = 0 (Dimarogonas and Johansson (2008)). Therefore the stability

of (16) for small values of c is not compromised but at the
cost of (probably) shifting its equilibrium from the one
described in (8).
One realizes by a quick inspection in (14) together with
(15) 1 that e1 = e2 = 0 with ẑ1 = ẑ2 = ẑ ∗ is an
equilibrium for the system (16), implying that all the
agents are stationary. Note that the agents are collinear
with agent 2 in the middle for this configuration. We define
this equilibrium for (16) by
∆

(17)
Ud = {z, e : (e1 = e2 = 0) ∧ (ẑ1 = ẑ2 )}.
However, a more careful inspection of (16) reveals that
there is another equilibrium corresponding to e1 = e2 =
∗
− 2c
3 with ẑ1 = −ẑ2 = ẑ , i.e., agents 1 and 3 converge
to the same side of agent 2. This implies by inspecting
(14) that the whole formation is travelling with velocity
∗
ṗi = 2c
3 ẑ , ∀i = {1, 2, 3}. We define this equilibrium for
(16) by
2c
∆
(18)
Uu = {z, e : (e1 = e2 = − ) ∧ (ẑ1 = −ẑ2 )}.
3
Proposition 1. Consider the closed-loop system (16) derived from the biased flexible formation control (14). If
µ1 = −µ2 = c with c ∈ R\{0}, then the only two
equilibrium sets for (16) are Ud and Uu .
Proof. By using the last two equations of (16) one has
that the following condition holds at the equilibrium
(2 + ẑ1T ẑ2 )(e2 − e1 ) = 0,
(19)
from which one can derive that regardless of ẑ1 and ẑ2 ,
one has that e1 = e2 = e∗ at an equilibrium. Note that
this condition implies that the norms of z1 and z2 at the
equilibrium are constant. We are going to check that such
a situation can only occur at the equilibrium. For example,
it might be possible that both vectors could be rotating
while keeping their norms constant. Let us write the first
two equations of system (16) and require that the error
signals are constant
 2e∗ − c e∗ + c 

 
 
−
∗
∗
d z1

||z2 ||  ⊗ I  z1 , (20)
1 ||
=  e||z
∗
∗


2
+c
2e − c
z2
dt z2
−
∗
∗
||z1 ||
||z2 ||
where I2 is the 2×2 identity matrix, the symbol ⊗ denotes
the Kronecker product, and we have that ||z1 ||∗ and ||z2 ||∗
are constant since e1 = e2 = e∗ . Note that we have
1
split ẑ{1,2} = ||z{1,2}
||∗ z{1,2} . It is clear that the matrix
in (20) cannot be skew-symmetric since the off-diagonal
terms always have the same sign, therefore we discard the
possibility of rotations for z1 and z2 when the error signals
are constant. Therefore ė1 = ė2 = 0 implies that the time
derivatives ż1 = ż2 = 0 as well. By using the first two
equations in (16) we can derive the following condition at
an equilibrium of (16)
(ẑ2∗ − ẑ1∗ )(3e∗ + 2c) = 0,
(21)
∗
∗
where z1 and z2 are two fixed vectors for z1 and z2 such
that e∗1 = e∗2 = e∗ .
1

For arbitrary values of µ1 and µ2 the results of this paper apply
as well but with different steady-state values for e1 and e2 . For the
sake of simplicity and clarity we only consider the case where (15)
holds. For more details, we refer to Mou et al. (2016) and Garcia de
Marina et al. (2016).

It is clear from (21) that we only have two possible
equilibrium sets. Let us check the case ẑ1∗ = ẑ2∗ . By
checking the equilibrium of the third equation in (16) one
can quickly derive that e∗ = 0. So we have checked the
equilibrium Ud . For the second case e∗ = − 2c
3 , one can
check in the first equation in (16) that for its equilibrium
the relation ẑ1∗ = −ẑ2∗ must be satisfied. So we have
checked the equilibrium Uu . 
One may wonder about the stability of Ud and Uu . In fact,
if one is interested in having the three agents in a collinear
fashion while they are stationary it would be desirable to
know that at least Ud is locally stable. We will see this fact
in more detail in the following subsection.
3.1 Stability analysis of the error system
By inspecting the system (16) one realizes that the error
system for the flexible formation is not autonomous. This
is due to the fact that the term
1
ẑ1T ẑ2 =
(||p3 − p1 ||2 − ||z1 ||2 − ||z2 ||2 ), (22)
2||z1 ||||z2 ||

depends on ||p3 − p1 ||2 and it cannot be written as a
function of e1 and e2 . It would be desirable to handle
a system involving only scalar variables than a mixture
of scalar and vectorial ones as in (16). The key idea for
starting the stability analysis of (16) is by including the
following states
∆

e3 = ||z3 || − d3 ,

∆

z 3 = p3 − p1 ,

where one can choose the value for d3 depending on the
equilibrium to be studied. For example, for the equilibrium
Ud we set d3 = d1 + d2 . The inclusion of these states
∆
will make the augmented system for the error vector e =
T
[e1 e2 e3 ] autonomous and therefore easier to analyze.
Let us first write the dynamics of e derived from (14)

T
T
ė1 = −2e1 + ẑ1 ẑ2 e2 − c + cẑ1 ẑ2
T
T
(23)
ė = −2e2 + ẑ2 ẑ1 e1 − c + cẑ2 ẑ1
 2
T
T
ė3 = ẑ3 ẑ1 e1 + ẑ3 ẑ2 e2 .

By employing the relation (22) and similarly for ẑ3T ẑ2 and
ẑ3T ẑ1 one can derive the following self-contained dynamics
for the error system

ė1 = −2e1 − c






(e2 + c) (e3 + d3 )2 − (e1 + d1 )2 − (e2 + d2 )2


+


2(e1 + d1 )(e2 + d2 )


ė = −2e − c


2
2



(e1 + c) (e3 + d3 )2 − (e1 + d1 )2 − (e2 + d2 )2
+

2(e1 + d1 )(e2 + d2 )





e1 (e2 + d2 )2 − (e1 + d1 )2 − (e3 + d3 )2


ė3 =


2(e1 + d1 )(e3 + d3 )





(e
+
d
)2 − (e2 + d2 )2 − (e3 + d3 )2
e

1
1
2


.
+
2(e2 + d2 )(e3 + d3 )
(24)
Now we linearize the system (24) at the equilibrium Ud or
equivalently e = 0 for d3 = d1 + d2 . We first compute the
partial derivatives of

(e3 + d3 )2 − (e1 + d1 )2 − (e2 + d2 )2
(25)
2(e1 + d1 )(e2 + d2 )

(e3 + d3 )2 − (e1 + d1 )2 − (e2 + d2 )2
∂f (e)
|e=0 = −
|e=0
∂e1
2(e1 + d1 )2 (e2 + d2 )
2(e1 + d1 )
−
|e=0
2(e1 + d1 )(e2 + d2 )
1
d1 + d2
d2 − d21 − d22
−
=−
=− 3
2d21 d2
d2
d1 d2
2
2
2
∂f (e)
d − d1 − d2
1
d1 + d2
|e=0 = − 3
−
=−
∂e2
2d1 d22
d1
d1 d2
d3
d1 + d2
∂f (e)
|e=0 =
=
,
∂e3
d1 d2
d1 d2
that in combination with
d2 − d21 − d22
f (0) = 3
= 1,
(26)
2d1 d2
helps us to arrive at the Jacobian matrix defining the
linearization of the autonomous system (24) at e = 0 as
below
#
"
−2 − ca 1 − ca ca
(27)
Je = 1 − ca −2 − ca ca ,
−1
−1
0
f (e) =

2
where a = dd11+d
d2 is always positive. Note that for the
particular case c = 0 we have that in (27) the error signals
e1 and e2 do not depend on e3 and the points e1 = e2 = 0
are stable regardless of e3 . In fact, in such a case we have
a flexible shape where the steady state of e3 will depend
on the initial conditions p(0), i.e., the agents converge to
the set (8).
Remark 1. Note that by just adding a bias in a range
sensor, no matter how small it is, we are linking the
dynamics of the error signals e1 and e2 with e3 . This has an
important implication since in practice it is not common
(or arguably possible) to have perfect measurements in
the agents’ sensors. Therefore, to have a truly flexible
formation in practice would be quite challenging without
any further action in (7). A technique employing estimators in order to remove the biases has been introduced in
Garcia de Marina et al. (2015).

In order to check the stability of the origin of system (24)
we compute the characteristic polynomial of (27)
P (λ) = −λ(2 + ca + λ)2 − 2ca(1 − ca) − 2ca(2 + ca + λ)
+ λ(1 − ca)2
= (λ + 1)(λ + 3)(λ + 2ca),
(28)
therefore we can conclude that for any positive (negative) c the equilibrium Ud is locally exponentially stable
(unstable). The same analysis can be done for checking
the stability of Uu which is unstable (stable) for positive
(negative) values of c. We summarize these findings with
the following proposition.
Proposition 2. Consider system (14) for positive values of
c = µ1 = −µ2 , then the equilibria Ud and Uu for system
(16) are (exponentially) stable and unstable respectively.
The converse holds for negative values of c.
Remark 2. For negative values of c we have that the
agents not only converge to a collinear formation but by
inspecting (14) we have that ṗi (t) → z ∗ 3c
2 , as t → ∞, ∀i ∈
{1, 2, 3}, i.e., the agents will travel with a constant velocity.



ṗ1


“z3 ”
θ

z1

z2

3

Fig. 2. The triangular shape can be defined by setting the
norms ||z1 || = d1 , ||z2 || = d2 and the angle θ between
z1 and z2 .
Remark 3. Checking the eigenvalues given by P (λ) show
that one cannot increase the convergence speed by increasing c. Conversely it can be made arbitrarily slow by
choosing a small positive c. In fact, the effect of a small
bias in the range sensors of system (7) will be practically
noticed after a sufficiently long time.
4. FLEXIBLE TRIANGULAR SHAPE
In this section we are going to show that the previous
setup for collinear formations is just a particular case of a
general setup where we can design controllers to achieve a
prescribed angle between z1 and z2 .
Consider the following system

ṗ1 = −ẑ1 e1
ṗ = ẑ1 e1 − ẑ2 e2 + W (θ)ẑ1 − ẑ2 ,
 2
ṗ3 = ẑ2 e2 .

(29)

where

W (θ) =

ṗ2


ṗ




cos θ − sin θ
,
sin θ cos θ

(30)

is a rotation matrix. One can check that the two cases
µ1 = −µ2 = 1 and µ1 = µ2 = −1 in (14) are in
fact particular cases of (29) with θ = 0 and ±π radians
respectively. In fact, the angle θ defines the prescribed
angle between ẑ1 and ẑ2 in a target formation and note
that the agents are not required to measure the actual
angle between z1 and z2 . We proceed to show that the
agents indeed can employ their own local frames.
Lemma 3. The agents in system (29) can employ their own
local frames of coordinates.
Proof. Consider yij for the position of agent j with
respect to a fixed local frame of coordinates for agent i with
j, i ∈ {1, 2, 3}. Therefore, there exists a rotation matrix
Ri and a translation vector τi such that yij = Ri pj + τi .
Note that the vectors τi with i ∈ {1, 2, 3} vanish for the
calculation of z1 and z2 and the rotation matrices do not
affect the value of e1 and e2 . Hence, agent 2 measures
the signals R2 z1 , R2 z2 and we have that W (θ)R2 z2 =
R2 W (θ)z2 since rotation matrices commute in 2D. Thus,
for agent 2 in global coordinates we have that
ṗ2 = R2T (R2 ẑ1 e1 − R2 ẑ2 e2 + R2 W (θ)ẑ1 − R2 ẑ2 )
= ẑ1 e1 − ẑ2 e2 + W (θ)ẑ1 − ẑ2 .
(31)

Therefore, one can conclude that the control action of
agent 2 does not need any global information, e.g., a
common frame of coordinates. The same reasoning can
be applied to agents 1 and 3. .
For the sake of convenience for the stability analysis, let
us reformulate (29) as

= −ẑ1 e1

θ
θ
= ẑ1 e1 − ẑ2 e2 + W ( )ẑ1 − W ( )T ẑ2 .
2
2
= ẑ2 e2 ,

(32)

Note that we are still defining the same desired steadystate angle between ẑ1 and ẑ2 . The corresponding augmented error system derived from (32), with 2 d23 = d21 +
d22 + 2d1 d2 cos θ, is given by

θ
θ T

T
T
T

ė1 = −2e1 + ẑ1 ẑ2 e2 − ẑ1 W ( )ẑ1 + ẑ1 W ( ) ẑ2

2
2
θ
θ T
T
T
T
)
ẑ
+
ẑ
W
( )ẑ1
ė
=
−2e
+
ẑ
ẑ
e
−
ẑ
W
(
2
2
2

2
2 1 1
2

2
2


ė3 = ẑ3T ẑ2 e2 + ẑ3T ẑ1 e1 .
(33)

In order to analyze the stability of the linearization of (33)
around e = 0 we need to work out some technical results
first.
Lemma 4. Consider the matrix
#
"
p1 p2 a
M = p2 p1 a ,
b c 0
where p1 , p2 , a, b, c ∈ R with p1 > 0, p1 > p2 and p21 > p22 ,
so the second principal minor of M is positive definite.
Consider a small perturbation a < 0. If (b + c) > 0, then
−M is Hurwitz.

Proof. First we note that if a = 0 the three eigenvalues
of M are defined by the two positive eigenvalues λ1 and
λ2 of its 2x2 leading principal submatrix and λ3 = 0.
Therefore a small perturbation a will not change the sign
of the positive eigenvalues of M but we do not know about
the sensitivity of the zero eigenvalue λ3 with respect to the
disturbance a. In order to check such sensitivity we derive
the characteristic polynomial of M
P (λ) = −λ(p1 − λ)2 + abp2 + acp2 − ab(p1 − λ) + λp22
− ac(p1 − λ)

= λ p22 − (p1 − λ)2 + a(b + c) + a(b + c)(p2 − p1 ).
(34)
Note that a can be chosen arbitrarily small. Since λ3 is a
continuous function of a, it can also be made arbitrarily
small, so |p1 | ≫ |λ3 | and |(p22 − p21 )| ≫ |a(b + c)|. Then,
without affecting the analysis of the sign of the perturbed
λ̃3 , we can approximate the first bracket in (34) by (p22 −
p21 ). Therefore we can look at
P (λ̃3 ) ≈ λ̃3 (p22 − p21 ) + a(b + c)(p2 − p1 ) = 0,

(35)

in order to check the sign of the perturbed λ̃3 . We note
that under the assumptions in the statement of the lemma
one concludes that for a small negative a the eigenvalue
λ̃3 becomes positive. Hence −M is Hurwitz.
Remark 4. The Jacobian in (27) fits the description of the
matrix M in Lemma 4. Note that from Proposition 2 the
sign of λ̃3 from (27) only depends on the sign of a and not
on its magnitude.
We now work out a series of calculations that will be
needed for the calculation of the Jacobian matrix of (33)
at e = 0. Consider the expression
2 Note z points at agent 2 and z starts at agent 2, therefore we
1
2
will have cos(π − θ) = − cos(θ) in the law of cosines for Figure 2.

ẑ2T W (α)ẑ1 = cos(γ − α),

(36)

∂ ẑ2T W (α)ẑ1
∂ cos(γ(e) − α)
=
,
∂e
∂e

(37)

where γ is the actual angle between z1 and z2 and α ∈ R
is a constant angle.We also have that

with
γ(e) = arccos



(e3 + d3 )2 − (e1 + d1 )2 − (e2 + d2 )2
2(e1 + d1 )(e2 + d2 )



,

(38)
and note that γ(0) = θ. Therefore by applying the chain
rule
∂ cos(γ(e) − α)
∂γ(e)
|e=0 = − sin(γ(e) − α)
|e=0
∂e1
∂e1


2
2d1
d − d2 − d22
1
−
− 3 21
= sin(θ − α) √
2d1 d2
d1 d2
1− cos2 θ

sin(θ − α) d1 + d2 cos θ
=: a1
(39)
=−
sin(θ)
d1 d2


∂ cos(γ(e) − α)
sin(θ − α) d2 + d1 cos θ
=: a2
|e=0 = −
∂e2
sin(θ)
d1 d2
(40)
sin(θ − α) d3
∂ cos(γ(e) − α)
|e=0 =
=: a3 .
(41)
∂e3
sin θ
d1 d2
Remark 5. We highlight again that α is a constant parameter that can be chosen arbitrarily. For example, the
computation of a3 for θ = 0, i.e., d3 = d1 + d2 , and α = 0
becomes
sin(θ − 0) d1 + d2
d1 + d2
lim a3 (θ) = lim
=
,
(42)
θ→0
θ→0
sin θ
d1 d2
d1 d2
which is consistent with the values obtained for the Jacobian in (27).
Similarly as in (14) with (15), we also introduce a gain
c > 0 in (32) multiplying the terms W ( θ2 )ẑ1 and W ( θ2 )T ẑ2 .
Now we are ready to present our main result.
Theorem 5. For the system

ṗ1 = −ẑ1 e1





θ
θ
(43)
ṗ2 = ẑ1 e1 − ẑ2 e2 + c W ( )ẑ1 − W ( )T ẑ2

2
2


ṗ3 = ẑ2 e2 ,
∆

its equilibrium defined by the set U = {p1 , p2 , p3 :
W (θ)ẑ1 − ẑ2 = 0, ||z1 || = d1 , ||z2 || = d2 }, for every
θ ∈ (−π, π) is locally exponentially stable for a sufficiently
small c > 0.

Proof. We first note that the study of the stability of the
equilibrium Ud corresponds to checking the eigenvalues of
the Jacobian of the autonomous augmented error system
(33), with the introduced gain c, at e = 0. The Jacobian
is given by


−2 + ca1
cos(θ) + ca2 ca3
−2 + ca2
ca3 
 cos(θ) + ca
Je =  d + d cos1θ d + d cos
(44)
,
θ
1
2
2
1
−
−
0
d3
d3
where a1 , a2 and a3 are as in (39)-(41) respectively. We
notice that the following expression

d1 + d2 cos θ d2 + d1 cos θ
+
)=
d3
d3
d1 (1 + cos θ) + d2 (1 + cos θ)
,
(45)
−
d3
is always negative for θ ∈ (−π, π). Since α = θ2 one
can also check that (41) is always positive. Indeed, the
second principal minor is not symmetric (negative definite)
anymore because of the added small perturbations ca1
and ca2 , but its eigenvalues are still with real negative
part and bounded from zero for all θ. Furthermore, the
diagonal elements and off-diagonal elements of the second
principal minor are very similar respectively for a very
small c > 0. Therefore from the eigenvalue sensitivity
analysis in Lemma 4 one can derive that indeed (44)
is Hurwitz for a very small gain c > 0. Note that the
local exponential convergence of the augmented e(t) to the
origin implies that the agents’ velocities in (32) converge
to zero as well, so the agents converge to fixed positions.
Remark 6. Note that in system (43), the set of collinear
positions for all the agents is not invariant. Therefore, it
outperforms in that sense the distance-based control of
rigid formations, where if the agents start collinear, they
remain collinear.
−(

5. SIMULATIONS
In this section we validate the results in Proposition 2 and
Theorem 5. We first show in Figure 3 that for µ1 = −µ2 =
1 in system (14) the equilibrium Ud is stable, where all
the agents converge to collinear positions with ẑ1 = ẑ2 .
The desired distances are d1 = 30 and d2 = 10, and the
agents 1, 2 and 3 are marked with red, green and blue
colors respectively. We then show in Figure 4 that the
equilibrium Uu is stable for µ2 = −µ1 = 1. Note that
the agents do not stop moving and the distance errors
converge both to 23 .
We move on to control a triangular shape by employing
the results from Theorem 5. The desired angle betwen ẑ1
and ẑ2 has been set to 60 degrees. The evolution of the
agents can be seen in Figure 5, where the left inner plot
shows the evolution of the inter-angle and the right inner
plot the evolution of the distance errors.
6. CONCLUSIONS
We have presented a formation control algorithm for
achieving triangular shapes. The algorithm is based on
a new technique derived from the biased distance-based
gradient descent control of two links. The algorithm enjoys
the advantages of both position-based and distance-based
formation controls. Current research is aimed at providing a systematic approach for achieving stable arbitrary
shapes consisting of more than three agents in non-rigid
formation. We have already made some progress for chain
topologies Garcia de Marina et al. (2017).
REFERENCES
Anderson, B.D.O., Yu, C., Fidan, B., and Hendrickx,
J. (2008). Rigid graph control architectures for autonomous formations. IEEE Control Systems Magazine,
28, 48–63.

−10

e1

e2
100

20

40
60
Time [s]

80

100
50

3.0
2.5
2.0
1.5
1.0
0.5
0.0
0 10 20 30 40 50 60 70
Time [s]

Error e

0

3.0
2.5
2.0
1.5
1.0
0.5
0.0
−0.5
−1.0
0

Angle between z1 and z2

Error e

10

3.0
2.5
2.0
1.5
1.0
0.5
0.0
−0.5
−1.0
0

e1

10

20

e2

30 40 50
Time [s]

60

70

−20
0
−30

−40
−60

−50

−40

−30

−20

0

−10

10

20

Fig. 3. Simulation result from Proposition 2. If µ1 =
−µ2 = 1, then the equilibrium set Ud is stable and
all the agents stop eventually once the distance errors
converge to zero (shown in the inner plot). In this
equilibrium, we recall that ẑ1 = ẑ2 , therefore we have
that the agent 2 marked in green will finish between
the other two agents.

Error e

60

40

20

3.0
2.5
2.0
1.5
1.0
0.5
0.0
−0.5
−1.0
0

e1

20

0

40
60
Time [s]

e2

80

100

−20

−40

−60

−100

−50

0

50

Fig. 4. Simulation result from Proposition 2. If µ2 =
−µ1 = 1, then the equilibrium set Uu is stable and the
formation describes a steady-state collective motion
(denoted by the black arrow) in the direction of ẑ2 .
Note that ẑ1 = −ẑ2 , therefore the agent 2 marked in
green is leading the motion. Both distance errors e1
and e2 (in the inner plot) converge to 32 , regardless of
the prescribed distances.
Anderson, B.D.O., Yu, C., Dasgupta, S., and Morse, A.S.
(2007). Control of a three-coleader formation in the
plane. Systems & Control Letters, 56(9), 573–578.
Cao, M., Morse, A.S., Yu, C., Anderson, B.D.O., and
Dasgupta, S. (2007). Controlling a triangular formation
of mobile autonomous agents. In Decision and Control,
2007 46th IEEE Conference on, 3603–3608. IEEE.
Cao, M., Yu, C., Morse, A.S., Anderson, B.D.O., and
Dasgupta, S. (2008). Generalized controller for directed
triangle formations. IFAC Proceedings Volumes, 41(2),
6590–6595.
Dimarogonas, D.V. and Johansson, K.H. (2008). On
the stability of distance-based formation control. In
Decision and Control, 2008. CDC 2008. 47th IEEE
Conference on, 1200–1205. IEEE.
Garcia de Marina, H., Cao, M., and Jayawardhana, B.
(2015). Controlling rigid formations of mobile agents un-

−50

−50

0

50

Fig. 5. Simulation result from Theorem 5. In addition
to the distance control between agents 1, 2 and 2, 3
(right inner plot), the agent 2 marked in green color
is controlling the angle between ẑ1 and ẑ2 (left inner
plot). Note that the final orientation of the shape is
not controlled and depends on the initial conditions.
der inconsistent measurements. Robotics, IEEE Transactions on, 31(1), 31–39.
Garcia de Marina, H., Jayawardhana, B., and Cao, M.
(2016). Distributed rotational and translational maneuvering of rigid formations and their applications. IEEE
Transactions on Robotics, 32(3), 684–697.
Garcia de Marina, H., Jayawardhana, B., and Cao, M.
(2017). Distributed algorithm for controlling scale-free
polygonal formations. In proceedings of the 2017 IFAC
World Congress. IFAC.
Krick, L., Broucke, M.E., and Francis, B.A. (2009). Stabilization of infinitesimally rigid formations of multi-robot
networks. International Journal of Control, 82, 423–439.
Liu, H., Garcia de Marina, H., and Cao, M. (2014).
Controlling triangular formations of autonomous agents
in finite time using coarse measurements. In 2014 IEEE
International Conference on Robotics and Automation
(ICRA), 3601–3606. IEEE.
Mou, S., Belabbas, M.A., Morse, A.S., Sun, Z., and Anderson, B.D.O. (2016). Undirected rigid formations are
problematic. IEEE Transactions on Automatic Control,
61(10), 2821–2836.
Mou, S., Morse, A.S., Belabbas, M.A., and Anderson,
B.D.O. (2014). Undirected rigid formations are problematic. In 53rd IEEE Conference on Decision and
Control, 637–642.
Oh, K.K., Park, M.C., and Ahn, H.S. (2015). A survey of
multi-agent formation control. Automatica, 53, 424–440.
Sun, Z., Mou, S., Anderson, B.D.O., and Cao, M. (2016).
Exponential stability for formation control systems with
generalized controllers: A unified approach. Systems &
Control Letters, 93, 50–57.

