Content uploaded by Jorge Peña Queralta

Author content

All content in this area was uploaded by Jorge Peña Queralta on Sep 11, 2019

Content may be subject to copyright.

Distributed Progressive Formation Control with One-Way

Communication for Multi-Agent Systems

Jorge Pe˜

na Queralta2, Li Qingqing1,2, Tuan Nguyen Gia2, Hannu Tenhunen3, Z. Zou1and Tomi Westerlund2

1School of Information Science and Technology, Fudan University, China

2Department of Future Technologies, University of Turku, Finland

3Department of Electronics, KTH Royal Institute of Technology

Emails: {jopequ, tunggi, tovewe}@utu.ﬁ, {qingqingli16, zhuo}@fudan.edu.cn, hannu@kth.se

Abstract—The cooperation of multiple robots towards a com-

mon goal requires a certain spatial distribution, or formation

conﬁguration, of the agents in order to succeed. Centralized

controllers that have information about the absolute or relative

positions of all agents, or distributed approaches using commu-

nication to share system-wide information between agents, are

able to calculate optimal individual paths. However, this reserves

important computational resources as the number of agents in

the system increases. We address the problem of distributed

formation control with minimal communication and minimal

computational power required. The algorithm introduced in

this paper progressively generates a directed path graph to

uniquely assign formation positions to all agents. The beneﬁts of

the proposed algorithm compared to previous include the need

for one-way communication only, low computational complexity,

ability to converge without any a priori assignments under certain

geometric conditions and need for limited sensing information

only. The algorithm can be deployed to computationally con-

strained devices, enabling its deployment in robots with simpler

hardware architectures. The ability to converge and distributively

assign positions, or roles, with only one-way communication

makes this algorithm robust during deployment, at which time

all agents are equivalent and anonymous. Moreover, we account

for limited communication and sensing range, and agents only

need to have information about other agents in their vicinity in

order to make decisions. Communication is simple and allows

for scalability without an impact on performance or convergence

latency, with a linear dependence on the number of agents.

Agents only need to broadcast their status to other neighboring

agents and do not reply any message. Finally, this algorithm

enables almost-arbitrary conﬁgurations. The main limitation for

the choice of formation conﬁguration is that all pairs of points

forming an edge in the polygonal line deﬁning the boundary of

the convex hull must be within sensing range.

Index Terms—Multi-Agent Systems; Formation Control; Dis-

tributed Control; Progressive Formation Control; Distributed

Role Assignment; Multi-Agent Cooperation;

I. INTRODUCTION

The robotics ﬁeld often ﬁnds its inspiration in nature [1].

This has had a signiﬁcant impact on ﬁelds such as swarm

robotics [2], [3], or multi-agent and multi-robot systems [4],

[5]. With part of the robotics community aiming at developing

robots with capabilities that match or even outperform those

of nature [6], others explore the possibilities of creating

complex behaviour from relatively simple robots [7], [8]. The

coordination of multiple robots can originate in robust robotic

systems with the ability of complex behaviour [9]. We explore

one of the basic elements of multi-robot cooperation and

collaboration: formation control or pattern conﬁguration [10].

Multi-robot and multi-agent systems have been increas-

ingly studied by the research community over the past few

decades [11]–[14]. Formation control algorithms are one of

the key aspects for collaborative operation in multi-agent

systems [15], [16]. Cooperation of multiple agents to perform

a predeﬁned task often involves the deﬁnition of a speciﬁc

spatial distribution of the agents [17]. Hence the interest in

formation control algorithms for multi-robot and multi-agent

systems as the basis towards advanced collaboration.

A. Background and Related Works

Formation control algorithms can be broadly classiﬁed as

a function of the variables that agents actively control when

converging to the desired conﬁguration [14]. These variables

are often an absolute position in a global reference frame [18],

[19]; a relative position, or displacement, with respect to other

agents and measured in a local reference frame [20], [21]; or

the distance or bearing to neighboring agents [22]–[25]. Equiv-

alently to the case of distance-based formation control, other

approaches propose the use of inter-agent bearing instead [25].

Alternatively, both distance and bearing have been used for

non-holonomic formation control problems [26].

A formation control problem typically has two differentiated

parts: (i) the assignment of positions or roles; and (ii) the

deﬁnition of control laws that ensures convergence towards

the assigned objectives for all units in the system [27], [28].

The second step can also be considered as path planning

in a multi-robot scenario. In order for a group of agents

to converge to a predeﬁned conﬁguration, positions in the

formation have to be ﬁrst assigned to individual agents via a

bijective correspondence. This can be done a priori, in the case

that agents are indexed and preassigned to a certain position,

or decided after deploying agents to their initial positions [29]–

[34]. This step is not necessary if all positions in the formation

are equivalent from the point of view of the controlled variable,

as is the case of ﬂocking [35]. In this paper, we propose an

algorithm that allows agents to autonomously self-assign their

objective position after deployment, and use the assignment

of local neighbors to perform autonomous path planning and

converge to the objective conﬁguration. We have focused

on a solution that requires less a priori information given

to agents because of the effect this has on scalability and

deployment ﬂexibility. In terms of scalability, the proposed

algorithm requires a time complexity that is linear with respect

to the number of agents to complete the position assignment

of all agents. Regarding ﬂexibility, problems can arise with a

large number of agents converging towards a given formation

conﬁguration. If positions have been assigned a priori, an

unfavourable initial distribution where agents are far from their

objective position might signiﬁcantly increase the time needed

for convergence and total travelled distance in the system.

Centralized algorithms that use relative or global positioning

of all agents to calculate the individual optimal paths have been

traditionally used [14]. However, distributed approaches have

gained increasing popularity over the past decades, enabling

operation in more diverse environments. We propose a dis-

tributed formation control algorithm that requires no a priori

position assignments and minimal one-way communication

between agents. Positions are assigned autonomously by the

agents in a progressively through a directed acyclic graph.

Different distributed approaches exist depending on the

communication within the agents, and the a priori informa-

tion given such as predeﬁned position assignments. If no

assignments are made, when no communication is allowed,

only formation conﬁgurations where all positions have an

equivalent deﬁnition in terms of their neighbors is possible.

This is the case of ﬂocks, where distance between neighbors

is constant, or regular polygons, where the angle between the

positions of the two nearest neighbors is also constant [35],

[36]. When agents can achieve consensus through communica-

tion, then arbitrary formation shapes are possible. This can be

done either by using system-wide communication to achieve

consensus or via local interactions only. In the former case,

auction mechanisms have been used to perform task allocation,

which is equivalent to assign positions in a formation [37],

[38]. Regarding the latter scenario, a very interesting approach

has been proposed by Pinciroli et al., in which positions are

assigned progressively via local interactions between neigh-

boring agents [29], [30]. The authors propose a solution that

is easily scalable, robust, and speciﬁcally suited for the natural

scenario where agents are deployed progressively and not at

once. Moreover, only minimal communication is required at

the time of joining the formation, and a given agent only needs

to exchange information with two agents that are already part

of the objective conﬁguration. Compared to their approach,

we propose a method that reduces further the amount of nec-

essary communication. The proposed algorithm only requires

one-way communication by broadcasting status information.

However, this simpliﬁcation limits the number of possible

conﬁgurations. We prove that if the set of initial positions

of deployed agents is a convexly layered set with a constraint

below the agents’ sensing range, then agents converge to the

objective formation. This mainly requires that agents can be

assigned to the vertices of a series of convex polygonal layers,

such that they follow an inclusion relation, and all pairs of

agents forming a polygon edge are within sensing range.

The progressive position assignment inherently introduces

latency in the system when compared to algorithms that

do not require communication between agents [32], [34].

However, it also allows us to ensure the existence of consensus

during the position assignment and enables the convergence

to almost arbitrary conﬁgurations. Distributed formation con-

trol algorithms that require, to some extent, communication

between agents and measuring the relative positioning of

neighboring agents often rely on situated communication [33],

[39]. This type of communication refers to data exchanges

using wireless technology and devices capable of estimating

the relative position of a message sender. Two-way situated

communication enables mutual localization of agents. Other

approaches have been proposed for very-large-scale systems

where individual positions are not assigned but instead a

certain number of agents must be located in a particular area

or volume in space. This idea, introduced by Bandyopadhyay

et al., uses probability distributions to deﬁne the formation

conﬁguration [31]. Even though agents do not communicate

to achieve consensus regarding their objective positions, they

need to be aware of the global spatial distribution of the

swarm.

Our work has been partially inspired from previous works

from Pinciroli et al. [29], [30]. Nevertheless, the differences

are signiﬁcant. First, we propose a method that requires

only one-way communication. Second, we also assume that

agents share a common orientation reference. This, which

can be implemented via inexpensive magnetometers or other

kind of inertial sensors or digital compasses, enables us to

deﬁne conﬁgurations with a predeﬁned orientation. This has

an important impact when agents should move towards a

given direction after or while converging towards the objective

conﬁguration. Furthermore, our algorithm does not require of

a predeﬁned pair of identiﬁed agents which are necessary for

assigning the rest of roles in Pinciroli’s work. Instead, we

propose a method that enables autonomous self-assignment of

all roles or positions in the objective pattern.

B. Contribution and Organization

The main contributions of this paper are the following: (i)

the deﬁnition of an algorithm that enables distributed and

autonomous position assignment in multi-robot systems with

one-way communication; (ii) the introduction of a control

law that ensures convergence and utilizes the information ac-

quired during the position assignment; and (iii) the simulation

and analysis of multiple scenarios and pattern conﬁgurations

showing that our proposed approach is scalable and. A more

realistic simulation has been implemented and analyzed using

the Robot Operating System (ROS), the Gazebo simulator

and the RotorS module for dynamics modelling in another

paper [33]. These tools enable a more advanced modelling of

unmanned aerial vehicle (UAV) dynamics and simulation and

have allowed us to demonstrate the efﬁciency and applicability

of our algorithm. Nonetheless, in this paper we focus on the

theoretical foundations of our algorithm and on analyzing its

performance and scalability for different objective patterns and

initial distributions of an increasing number of agents.

The rest of this paper is organized as follows. Section

II introduces the formation control problem and notation

used within the paper. Also, a methodology for labeling the

positions in a formation via the creation of a directed path

graph is introduced. In Section III, we present an algorithm

to progressively assign the positions through the creation of

an analogous path graph when agents are deployed. Section

IV, we propose a basic control law that ensures convergence,

with simulation results illustrated in Section V. Section VI

concludes the paper and outlines future work directions.

II. PRO BL EM FO RM UL ATIO N

In this paper, we use the following notation. We use

[N] = {k∈Z+:k≤N}to denote the set of the ﬁrst

Npositive integers. Given a set of vectors x1, . . . , xN∈Rn,

x= [xT

1, . . . , xT

N]∈RnN denotes the stacking of the vectors.

Given a set of points in Rn, the convex envelope, hull or

closure is the smallest convex set containing all points. We

denote by Conv(q)the convex hull of qand by δConv(q)

its boundary. The algorithms presented in this paper are for-

mulated for two-dimensional formation control, and therefore

we implicitly assume n= 2 and all points belong to R2.

Consider a planar formation conﬁguration deﬁned as a set

of points, represented by a set q= [q1, . . . , qN]∈R2N. Given

a set of Nagents with positions p(t) = [p1(t), . . . , pN(t)] ∈

R2N, we address the problem of achieving a spatial distribu-

tion equivalent to qwith respect to a translation.

Problem 1 (Formation Objective).Given an objective point

set qand a set of agents represented by their positions p(t),

we consider that the formation has been achieved at a time

t=t0if a permutation σ: [N]→[N]exists such that

kpi(t0)−p0(t0) + qσ(i)−qσ(0)k< ε

k˙pi(t0)k< δ (1)

for predeﬁned constants ε, δ > 0that represent the maximum

error allowed for positions and speed. We assume that agents

are able to measure the position of any other agent in line of

sight up to a predeﬁned sensing distance δs.

In order to solve Problem 1, we provide a methodology

for uniquely assigning a position in the formation to each

agent through the deﬁnition of a directed path graph. One-

way communication is used to progressively assign positions

in the formation. The deﬁnition of the path graph requires the

following two conditions, where the sensing range of agents

is taken into account.

Assumption 1. The set of points can be divided in a set

of Lconvex polygons, or layers, {l1,...,lL}such that the

polygonal areas they delimit {Al1, . . . , AlL}, deﬁned as com-

pact sets in R2, follow a strict inclusion relation Al1⊃

Al2⊃ ·· · ⊃ AlL. Any two consecutive points in a given

layer are separated by a distance smaller than the agents’

maximum sensing distance, klki −lk(i+1 mod Lk)k< δs. We

denote by Lkthe number of points if the k-th layer, and

deﬁne lk={lk1, . . . , lkLk}in an order such that any pair

of consecutive points (lki, lk(i+1 mod Lk))deﬁnes an edge of

the convex polygon.

(b)Assignmentorder

13

14

12

11

112

23 22 21

111

110

32 31

15 19

24

16 18

25

17

(a)Identifiers,layers

Fig. 1. Representation of convex layers in a 2D point set and SDPG

generation. Non straight connections between nodes are merely illustrative.

Assumption 2. For each point lki,1≤k < L, there exists

1≤j≤Lk+1 such that klki −l(k+1)jk< δsand klki −

l(k+1)(j+1 mod Lk+1 )k< δs. Equivalently, we assume that for

each point lki,1< k ≤L, there exists 1≤j≤Lk−1such

that klki −l(k−1)jk< δsand klki −l(k−1)(j+1 mod Lk−1)k< δs.

This essentially implies that, for each point, there are at least

two points in the previous and next layer within sensing range,

unless the point is in the ﬁrst or last layer. If there is a single

point in the innermost layer, then at least three other points

must be within sensing range. Intermediate layers cannot have

one or two points only, as any three points form a triangle and

all triangles are convex polygons.

The parameter δs>0is a lower limit of the agents’ sensing

range. This value is different in each application scenario and

should be chosen lower than the real range to ensure agents

are able to sense their neighbors consistently through time.

The ﬁrst layer l1is the boundary of the convex hull or

convex envelope of the point set l. Therefore, we can easily

calculate the points in any layer using the following relations:

l1=δConv(q),lk=δConv

q\[

1≤k0<k

lk0

∀1< k ≤L

(2)

The convex hull of a ﬁnite point set in R2, or R3, can be

calculated in O(nlog h)time with Chan’s algorithm, where

his the output size, i.e., the number of points deﬁning the

convex hull [40].

Deﬁnition 1 (Convexly layered set).Given a set of points in

the plane, represented by a stacked vector q= [qT

1, . . . , qT

N]∈

R2N, and a distance δs∈R, δs>0, we deﬁne the pair (q, δs)

as a convexly layered set with constraint δsif Assumption 1

and Assumption 2 hold.

We should note than given any set q, there always exists a

value δslarge enough such that (q, δs)is a convexly layered

set with constraint δs. This can be easily proven from the

deﬁnition of lkin Eq. 2, as the layers can be calculated ﬁrst

and then the minimum sensing range is obtained from the

conditions in Deﬁnition 1. Figure 1 (a) shows three convex

layers for a set of 19 points. The ﬁrst digit of each node’s

identiﬁer references the layer number {1,2,3}and the rest of

digits are unique for each layer, with layer sizes {12,5,2}.

This identiﬁers have been merely chosen for illustration pur-

poses; in a real application, a sequence of increasing natural

numbers can be used as agents are given a priori information

about the objective conﬁguration. This information can then

include the number of agents in each layer.

We can now deﬁne a directed path graph on the point layer

that uniquely assigns identiﬁers to each point progressively.

The directed path graph is generated as follows. First, a node is

chosen as the graph root. Any edge node can be chosen at this

point. A node is an edge node if it is a point qi= (qix, qiy)that

belongs to the convex hull and there exist constants m, n ≥0,

deﬁning a line f(x) = mx+n, and constants s1, s2∈ {−1,1},

such that the edge node qibelongs to the line, all other points

in the set belong to only one of the two half-planes deﬁned

by the line, and other points that belong to the line belong to

only one of the two half-lines in which qidivides the line.

Mathematically, this means that

qiy=f(qix)

qjy≤s1f(qjx)∀j∈[N], j 6=i

∀j6=i|qjy=f(qjx) =⇒qjx< s2qix

(3)

Second, a clockwise or counterclockwise assignment direction

is chosen. This direction is used in all layers to deﬁne the

order in which identiﬁers are assigned to points in the set.

Finally, starting at the graph root, the next node in the graph

is one of the two points that share an edge with the root in the

outer layer, chosen accordingly with the assignment direction.

The assignment continues iteratively in the same direction

through the outer layer until all points in the layer have been

assigned an identiﬁer. When the last point in the ﬁrst layer

has been identiﬁed, the assignment continues to inner layers

by choosing the closest point in the next layer and repeating

the same process as in the ﬁrst layer. This process continues

until all points in the set have been assigned a position.

Deﬁnition 2 (SDPG from a convexly layered set).Given a

convexly layered set (q, δs), we deﬁne a Spiral Directed Path

Graph (SDPG) following the next steps:

1. Choose an edge node as the graph root, and constants

m, n, s1, s2that uniquely deﬁne the point within the set q.

The constants m, s1, s2will be used by agents to self decide

whether they are the root node after deployment. The value

nis not necessary because we consider any conﬁguration

equivalent with respect to a translation. Therefore, any line

from the set of parallel lines deﬁned by mcan be used to

uniquely identify the root, together with constants s1, s2.

2. Choose an assignment direction, clockwise or counter-

clockwise.

3. Identify the nodes following the assignment direction,

starting from the root node, and following the previous in-

dications when all nodes in a layer have been identiﬁed.

A path graph is a tree where only two nodes have degree

one, and all other nodes have degree two. Because the SDPG

is a directed graph, the root and terminal nodes have degree

one. All nodes except the root have a parent node, and all

nodes except the terminal have a child node.

To solve Problem 1, we ﬁrst assign a unique identiﬁer to

the positions in a given formation conﬁguration by generating

an SDPG. Then agents perform a progressive self-assignment

of positions until an equivalent SDPG is generated from the

moment they are deployed. This analog process is deﬁned in

Section III. At this point, agents actively control their position

with respect to the nodes they are connected with in the

SDPG according to the displacement deﬁned in the objective

formation conﬁguration. The desired pattern is achieved when

all agents error are below a predeﬁned threshold. However,

agents are not aware of the global error due to the lack of

communication, and local errors are used instead to estimate

the global system state.

Figure 1 (b) shows the SDPG generated from a given set

of points as the desired formation conﬁguration. The edge

node is given by constants m= 0, n =q1y, deﬁning a line

f(x) = q1y, where q1is the point with identiﬁer 11. The

half-plane where all other points lay is deﬁned by s1= 1.

The value s2is not relevant in this case because there is no

other point in the line, i.e., qjy6=q1y∀j6= 1. However,

the origin choice might affect the graph generation in the

agent set when assigning positions in the corresponding SDPG.

Therefore, even if not signiﬁcant, a value for s2∈ {±1}must

be chosen. The assignment direction is counter-clockwise in

this case. We use the term spiral to refer to the directed path

graph because of the decreasing distance to the center of mass

when considering different layers, even though this does not

necessarily happen within a certain layer.

III. PROG RE SS IV E POSITION ASS IG NM EN T ALGORITHM

In this section, we describe a position assignment algorithm

that only requires one-way, minimal communication between

agents. One-way communication is used to enable the assign-

ment of positions in a random spatial distribution of agents.

Suppose a set of Nagents with positions represented by

p(t)=[pT

1(t), . . . , pT

N(t)] ∈R2Nand maximum sensing

range δsis given. An objective formation conﬁguration is

deﬁned by a point set q= [qT

1, . . . , qT

N]∈R2N. We assume

that the set p(0), together with the agent sensing range δs, is

a convexly layered set {p(0), δs}.

During the position assignment process, agents can have

one of three different states: (1) Assigned: agents that know

their position and identiﬁer; (2) Known layer: agents with

unassigned position but that are aware of their layer; and (3)

Unknown layer: agents with unknown layer.

All agents in the outer layer are in the known layer state

immediately after deployment, and all other agents in the

unknown layer state. Agents continuously transmit their state

through a broadcast signal. Situated communication can be

used to both transmit the signal and measure the position

of other agents [39]. The broadcasted signal is used by

neighboring agents to track the position of the transmitting

agent while, at the same time, make decisions with respect

to their objective position. If an agent is in the assigned

state, then the broadcast signal includes information about its

objective position. We assume that if agent iis able to receive

agent j’s signal at a certain time, then agent jis able to receive

agent’s isignal at the same time.

The progressive position assignment (PPA) then proceeds

as follows: (1) With the same constants m, s1, s2used in the

deﬁnition of the SDPG from the objective conﬁguration, each

agent in position pi= (pix, piy)checks if the three conditions

in Equation 3 hold for n=piy−pixm. with f(x) = mx +n.

If an agent ifulﬁlls all three conditions, with f(x) = m(x−

pix) + piy, then the agent is the root node and it changes its

state to assigned.(2) The root agent starts broadcasting signal.

Then, there are two agents next to it in the outer layer which

self-decide whether they are or not the next node in the graph

based on the assignment direction. In the case of a positive

decision, then the next node starts broadcasting signal as well.

After all nodes in the outer layer have a position assigned, then

nodes in the next layer can automatically change their state to

known layer.(3) Finally, each node starts to actively control

its position immediately after it is in the assigned state.

Theorem 1 (Uniqueness of the PPA).Let p∈R2Nrepresent

the spatial distribution of a set of Nagents with sensing

range δs>0, and capable of one-way communication by

continuously broadcasting a signal over time. If {p, δs}is

a convexly layered set, then the position assignment process

deﬁned by the previous three steps uniquely assigns a position

to each agent.

Proof. Positions are self-assigned in an autonomous way by

agents, based on the positions and states of neighboring agents.

Therefore, in order to prove the theorem, we ﬁrst need to

demonstrate that a single agent will self-assign itself the role

of graph root, and that at every step the appropriate agent, and

only that agent, will self-assign the next node in the SDPG.

Suppose there are two agents such that, immediately after

deployment, claim that they are the root agent. Let pi, pjbe the

two positions of such agents. Without any loss of generality,

we can assume j > i. With constants m, s1, each of the points

deﬁnes a half-plane. If both half-planes are the same, then pi

and pjlay on the same line. If agents iand jare within

sensing range, then s2has different value for each of them

and this is a contradiction. If they are not able to sense each

other, then there exists another agent in the outer layer with

position pk,i < k < j, such that it belongs to the half-plane

deﬁned by the piand pj. If it belongs to the boundary, then the

same problem arises with the sign of s2(and new points can

be equally generated if kis not within sensing range of both

iand j). If it belong to the interior of the half-plane, then

the segment pipjis outside of the convex outer layer, and

this contradicts the deﬁnition of convex polygon and breaks

Asumption 1.

If the half-planes are not the same, we can assume without

any loss of generality, and based on the value of s2, that the

half-plane generated by piis contained within the half-plane

generated by pj. This necessarily means that they do not sense

each other. Let kbe now the nearest edge to iin the outer layer,

such that it is between iand j. Then pknecessarily belongs

to the half-plane deﬁned by pibased on Eq. 3. However, then

pipj, which lies completely outside of that same half-plane, is

not within the outer layer and a contradiction arises.

The above implies that all agents in the external layer can

be uniquely identiﬁed following the SDPG generation, without

two agents claiming to have the same objective position. Now

we just need to prove that a single agent in the next layer will

claim to have the appropriate objective position. The problem

can be reduced to prove that a single agent will claim to be

the closest to the last agent identiﬁed in the outer layer. Let

pibe the position of the last agent assigned to the outer layer,

and assume that two agents in position pj,pkclaim to be the

closest. Both pjand pkknow that they are in the next layer in

the same manner than initially all agents in the outer layer are

aware of that, since all these have been already identiﬁed. If pj

and pkare within sensing range, then they can both masure the

other’s distance to pi, and only one will claim to be the closest.

In case of equivalent distance, the decision is made based on

the assignment direction. Therefore, for agents jand kto make

the claim, they cannot be within sensing range of each other.

Based on Assumptions 1 and 2, this means there is at least one

other agent hin the same layer in between. However, because

his farther from i, it is outside the triangular area formed by

agents i, j, k. This implies that the segment pjpklays outside

any convex poligonal area with vertices including pj, pk, ph,

that also leaves pioutside. This contradicts the deﬁnition of

convex polygon, and we started assuming that pj, pk, ph.

As previously noted, all agents except the root have a parent

node, and the root can be uniquely identiﬁed. This allows us to

propose a control law for each agent based on a basic leader-

follower formation, where the parent is the leader and the

agent itself is the follower. We assume that the parent and

child nodes of any agent, which are within sensing range at

time t= 0, stay within sensing range at any time t0>0. If

a new objective conﬁguration is required, then agents loose

their assignments and the process is restarted.

IV. CON TROL INPUT

We propose a control law that enables agents to converge

to the objective conﬁguration while avoiding inter-agent col-

lisions. A natural solution is for agents to actively control

the displacement with respect to their parent node in the path

graph. However, this has the disadvantage of increasing the

system error with small drifts in the displacement of each

parent-child pair. We propose a methodology for reducing

the system error after individual agent errors are below a

certain threshold, but its analysis is not wihin the scope of

this paper. The main contribution of this paper is on the

progressive assignment algorithm that uniquely generates a

SDPG given an spatial distribution of agents, and not on

the control input that enables convergence. Multiple leader-

follower formation control solutions exist in the literature and

——(a) Objective formation F1 ——(b) Initial positions ——(c) Agent paths ——(d) Agent errors

Fig. 2. Illustration of 13 agents in random initial positions converging towards the formation conﬁguration F1 deﬁned in (a).

——(a) Objective formation F2 ——(b) Initial positions ——(c) Agent paths ——(d) F2 errors

Fig. 3. Illustration of 13 agents in random initial positions converging towards the formation conﬁguration F1 deﬁned in (a).

can be easily adapted to work with our proposed progressive

position assignment algorithm [14], [26], [41], [42].

Let qbe a set of Npoints representing the objective

formation, and p(t)the position of Nagents actively trying

to converge to a spatial conﬁguration equivalent to qwith

respect to a translation ~

dp(t). Without any loss of generality,

we assume ~

dp=q0−p0(t)and agents are indexed such

that pi(t)−−−→

t→∞ qi+~

dp. Let pi

j(t)be the position of

agent jmeasured by agent iin its local reference frame,

pi

j(t) = pj(t)−pi(t). Then, agent i’s objective is fulﬁlled at

time t0, from the point of view of a leader-follower formation,

if pi

i−1(t0) = qi−1−qi, for i > 1. Let Nibe the set of agents

that agent iis able to sense. Necessarily, this set contains at

least the parent node, pi−1∈ Ni∀i > 0.

In order to test the feasibility of this method, we propose a

simple control law based on a single integrator model, ˙pi=ui,

where uiis the control input for agent i. For agent i= 0, a

trivial solution is to have ui= 0 f orallt > 0. For all other

agents, a simple follower equation can be written generically

as ui=ϕ(pi

i−1(t)−qi−1+qi)such that is ensures asymptotical

convergence towards the objective displacement. This function

should minimize a cost function such as

(4)

Ji(t) = γ1kpi

i−1(t)−qi−1+qik2

+γ2X

j<i, j ∈Nikpi

j(t)−qj+qik2+γ3k˙pik2

In this paper, we use γ2= 0. However, we introduce this

term as a proposal to reduce the overall system error when

the parent-child displacement is already within a predeﬁned

limit. We introduce the constraint j < i because the smaller

the index, the smaller the agent position error due to less ac-

cumulated drift. Moreover, agents with smaller index converge

faster as they are closer to the static root node from the point

of view of the directed path graph. Therefore, agents can take

as reference any other agents that they can sense, and that

precede them in the SDPG.

For collision avoidance, we use a potential such as [43]:

Vij (t) =

min (0,kpi

j(t)k2−R2

kpi

j(t)k2−r2)!2

kpi

j(t)k> r

∞ kpi

j(t)k< r

(5)

where R, r represent the warning and danger distance, re-

spectively. These constants are deﬁned in a way such that an

agent actively tries to avoid another agent when the distance

that separates them is smaller than the warning distance, and

it must never be below or equals to the danger distance.

During the simulations we assume that, for any given agent

other than the root, its parent agent is always within sensing

range. However, this is unrealistic as even line of sight could

be lost when another agent passes by through both. To solve

this, since parent agents are also able to measure the position

of their child agent, we propose to reduce the parent speed

closer to 0 as the distance between parent and child increases

towards the sensing range or a predetermined limit.

V. EX PE RI ME NTAL RESULTS

In order to test the feasibility and effectiveness of the pro-

posed algorithm, we have run a set of simulations to analyze

——(a) Objective formation F3 ——(b) Objective formation F4

Fig. 4. Objective distributions F3 anf F4 utlized in the experimental

simulations.

F1 F2 F3 F4

0

200

400

——(c)

Fig. 5. Boxplot illustrating the number of iterations (vertical axis) needed

to converge to different objective patterns. In each simulation, the initial

distribution of agents is either random (red) or has been generated adding

noise to the objective distribution (blue). In the horizontal axis, each of the

objective formation conﬁgurations introduced in Figures 2, 3 and 4.

——(a) Collision avoidance in F1 ——(a) Collision avoidance in F2

Fig. 6. Collision avoidance triggers

10 20 30

0

200

400

600

800

——(a) Random initial distributions

10 20 30

0

200

400

600

800

——(b) Noise in initial distribution

Fig. 7. Number of iterations converging to a random conﬁguration

its performance under favorable and unfavorable conditions.

Figures 2 and 3 show two example conﬁgurations, F1 and

F2, with 13 agents each. Both conﬁgurations can be divided

in a set of three convex layers. In both cases, random initial

distributions have been used. These two examples serve as an

initial illustration of the feasibility of our proposed algorithm.

Figure 6 shows the number of agents that have at least one

neighboring agent closer than the warning distance.

Common to all simulation results presented in this paper are

the following parameters. When distributing agents randomly,

a minimum distance of 15 is kept between agents. The inter-

agent warning distance to avoid collisions is set to 8, and the

danger distance to 4. The maximum speed of agents is 1. The

assignment direction is counterclockwise, and the root node

is chosen with constants m= 0, s1= 1, s2= 1. In order to

avoid that agents lose sight of their parent node, we have also

successfully tested a modiﬁcation of the collision avoidance

scheme in which roles are assigned a priority based on their

distance to the root node in the graph. When the collision

avoidance potential is activated, only the agent with lower

priority actively avoids the collision. Moreover, if a parent

node notices that its follower is getting to a distance near

the maximum sensing range, it can reduce its speed until the

distance is reduced.

In Figures 5 and 7, we analyze how the objective conﬁgura-

tion and the initial distribution of agents affect the performance

of the algorithm in terms of time to convergence. Figure 5 (c)

summarizes the number of iterations needed to converge to the

objective formations F1, F2, F3 and F4 over 800 simulations,

100 for each conﬁguration and type of initial distribution.

In red is shown the results of simulations where the initial

distribution of agents is random over an area similar to the

objective one. Formation F1 clearly requires less time. This is

due to the sparse distribution of agents in space. Formations

F2, F3 and F4 show similar complexity, with F4 requiring

fewer iterations presumably due to the lower number of agents.

The box graphs in blue show the number of iterations needed

to converge in the case in which the initial positions of

agents are calculated by adding a random drift to the objective

positions. In this case, the space sparsity of the formation does

not play such a signiﬁcant role, as the initial distribution is

similar. Therefore, very similar complexity is shown by the

different formations.

In Figure 7, we show the result of running 280 simulations

for 2 different types of initial distributions and 7 different

number of agents. The objective conﬁguration is a random

distribution of Nagents over an area with side length Lgrid =

50√2pN/5. In Figure 7 (a), the initial distribution of agents

is also random over an area of the same size. However, in

(b), agents are individually deployed nearby the objective

distribution, in areas of side length 30. This resembles the

idea of adding noise to the objective system. We can see that

the complexity of the system rapidly grows in the case of a

random distribution, while the number of iterations increases

slower when the shapes are more similar. In a real scenario,

a person deploying agents in an objective scenario probably

has an idea of the ﬁnal spatial distribution that agents will

converge to. Therefore, it is natural to expect that the original

distribution is not totally random and is in some way correlated

to the objective distribution.

VI. CONCLUSION AND FUTURE WO RK

We have presented a distributed progressive formation

control algorithm that enables a wide range of formation

conﬁgurations. Any formation conﬁguration is possible if the

sensing range enables the deﬁnition of a convexly layered

set. Compared to a previous progressive formation control

algorithm proposed by Pinciroli et al., our approach requires

only one-way communication, and all agents are equivalent

and anonymous upon deployment. Therefore, the proposed

methodology does not require any agent to have a preassigned

role or objective position. Furthermore, we assume that agents

share a common orientation reference. This enables conver-

gence to a formation conﬁguration with respect to a transla-

tion, keeping the desired orientation. Finally, we propose a

control law based on a leader-follower scheme that requires

only the same information utilized during the role assignment

process. The algorithm is lightweight and can be implemented

in resource constrained devices.

Future work will include an implementation of the proposed

algorithm in terrestrial and aerial vehicles, introducing the

dynamics of different agents and adapting control inputs

accordingly. The algorithms introduced in this paper will be

also extended to 3D formation control.

ACKNOWLEDGMENT

This work has been supported by NFSC grant No.

61876039, and the Shanghai Platform for Neuromorphic and

AI Chip (NeuHeilium).

REFERENCES

[1] G. A. Bekey. Autonomous robots: from biological inspiration to

implementation and control. MIT press, 2005.

[2] E. Sahin. Swarm robotics: From sources of inspiration to domains of

application. In Int. workshop on swarm robotics. Springer, 2004.

[3] Y. Tan, et al. Research advance in swarm robotics. Defence Technology,

9(1):18–39, 2013.

[4] C. W. Reynolds. Flocks, herds and schools: A distributed behavioral

model, volume 21. ACM, 1987.

[5] R. Olfati-Saber. Flocking for multi-agent dynamic systems: Algo-

rithms and theory. Technical report, CALIFORNIA INST OF TECH

PASADENA CONTROL AND DYNAMICAL SYSTEMS, 2004.

[6] M. Hutter et al. Anymal-a highly mobile and dynamic quadrupedal

robot. In IEEE/RSJ IROS. IEEE, 2016.

[7] G. Beni. From swarm intelligence to swarm robotics. In International

Workshop on Swarm Robotics, pages 1–9. Springer, 2004.

[8] M. Brambilla et al. Swarm robotics: a review from the swarm

engineering perspective. Swarm Intelligence, 7(1):1–41, 2013.

[9] J. Kennedy. Swarm intelligence. In Handbook of nature-inspired and

innovative computing, pages 187–219. Springer, 2006.

[10] M. Egerstedt et al. Formation constrained multi-agent control. IEEE

Transactions on Robotics and Automation, 17(6):947–951, Dec 2001.

[11] Y. Q. Chen and Z Wang. Formation control: a review and a new

consideration. In IEEE/RSJ IROS, 2005.

[12] J. M . Hendrickxet al. Directed graphs for the analysis of rigidity

and persistence in autonomous agent systems. International Journal

of Robust and Nonlinear Control: IFAC-Afﬁliated Journal, 2007.

[13] B. D. O. Anderson et al. Rigid graph control architectures for

autonomous formations. IEEE Control Systems Magazine, 2008.

[14] K. K. Oh et al. A survey of multi-agent formation control. Automatica,

53, 10 2014.

[15] Reza Olfati-Saber, J Alex Fax, and Richard M Murray. Consensus and

cooperation in networked multi-agent systems. Proceedings of the IEEE,

95(1):215–233, 2007.

[16] Wei Ren and Yongcan Cao. Distributed coordination of multi-agent

networks: emergent problems, models, and issues. Springer Science &

Business Media, 2010.

[17] T. Balch et al. Social potentials for scalable multi-robot formations. In

ICRA. IEEE, 2000.

[18] W. Ren and E. Atkins. Distributed multi-vehicle coordinated control via

local information exchange. International Journal of Robust and Non-

linear Control: IFAC-Afﬁliated Journal, 17(10-11):1002–1033, 2007.

[19] T. Van den Broek et al. Formation control of unicycle mobile robots: a

virtual structure approach. In 48h IEEE CDC. IEEE, 2009.

[20] Guanghui Wen et al. Distributed consensus of multi-agent systems

with general linear node dynamics and intermittent communications.

International Journal of Robust and Nonlinear Control, 2014.

[21] S Coogan and M. Arcak. Scaling the size of a formation using relative

position feedback. Automatica, 48(10):2677–2685, 2012.

[22] Myoung-Chul Park et al. Control of undirected four-agent formations

in 3-dimensional space. In 52nd IEEE CDC. IEEE, 2013.

[23] R. Olfati-Saber and R. M. Murray. Distributed cooperative control of

multiple vehicle formations using structural potential functions. IFAC

Proceedings Volumes, 35, 2002. 15th IFAC World Congress.

[24] K. K. Oh et al. Formation control of mobile agents based on inter-agent

distance dynamics. Automatica, 47(10), 2011.

[25] N. Shiell et al. A bearing-only pattern formation algorithm for swarm

robotics. In Swarm Intelligence. Springer International Publishing, 2016.

[26] S. A. Barogh and H. Werner. Cascaded formation control using angle

and distance between agents with orientation control (part 1 and part 2).

In UKACC 11th International Conference on Control, Aug 2016.

[27] N. Michael et al. Distributed multi-robot task assignment and formation

control. In IEEE ICRA. IEEE, 2008.

[28] M. Ji et al. Role-assignment in multi-agent coordination. nternation-

alJournal of Assistive Robotics and Mechatronics, 7(1):32–40, 2006.

[29] C. Pinciroli et al. Decentralized progressive shape formation with robot

swarms. In DARS, pages 433–445. Springer, 2018.

[30] Guannan Li et al. Decentralized progressive shape formation with robot

swarms. Autonomous Robots, Oct 2018.

[31] S. Bandyopadhyay et al. Probabilistic and distributed control of a large-

scale swarm of autonomous agents. IEEE Transactions on Robotics,

33(5):1103–1123, Oct 2017.

[32] J. Pe˜

na Queralta et al. Communication-free and index-free distributed

formation control algorithm for multi-robot systems. Procedia Computer

Science, 2019.

[33] C. McCord et al. Distributed Progressive Formation Control for Multi-

Agent Systems: 2D and 3D deployment of UAVs in ROS/Gazebo with

RotorS. In European Conference on Mobile Robots (ECMR), 2019.

[34] J. Pe˜

na Queralta et al. Towards designing index-free formation control.

Master’s thesis, University of Turku, Finland, and Fudan University,

China, 2018.

[35] G. V´

as´

arhelyi et al. Outdoor ﬂocking and formation ﬂight with

autonomous aerial robots. In IEEE/RSJ IROS, 2014.

[36] S. L. Smith et al. Stabilizing a multi-agent system to an equilateral

polygon formation. In 17th MTNS, 2006.

[37] M. Hoeing et al. Auction-based multi-robot task allocation in comstar.

In Proceedings of the 6th AAMAS, pages 280:1–280:8, 2007.

[38] D. Morgan et al. Swarm assignment and trajectory optimization

using variable-swarm, distributed auction assignment and sequential

convex programming. The International Journal of Robotics Research,

35(10):1261–1285, 2016.

[39] Kasper Støy. Using situated communication in distributed autonomous

mobile robotics. In Proceedings of the Seventh Scandinavian Conference

on Artiﬁcial Intelligence, SCAI ’01, pages 44–52. IOS Press, 2001.

[40] T. M. Chan. Optimal output-sensitive convex hull algorithms in two and

three dimensions. Discrete & Computational Geometry, 1996.

[41] J. Ghommam et al. Cascade design for formation control of non-

holonomic systems in chained form. Journal of the Franklin Institute,

348(6):973 – 998, 2011.

[42] L. Consolini et al. Leader–follower formation control of nonholonomic

mobile robots with input constraints. Automatica, 44, 2008.

[43] S. Ahmadi Barogh et al. Formation control of non-holonomic agents

with collision avoidance. In American Control Conference, 2015.