# Cooperative Receding Horizon 3D Coverage Control
with a Team of Networked Aerial Agents

Savvas Papaioannou, Panayiotis Kolios, Theocharis Theocharides,
Christos G. Panayiotou and Marios M. Polycarpou The authors are with the KIOS
Research and Innovation Centre of Excellence (KIOS CoE) and the Department of
Electrical and Computer Engineering, University of Cyprus, Nicosia, 1678,
Cyprus. E-mail:{papaioannou.savvas, pkolios, ttheocharides, christosp,
<EMAIL_ADDRESS>
This work was undertaken as part of the GLIMPSE project EXCELLENCE/0421/0586
which is co-financed by the European Regional Development Fund and the
Republic of Cyprus through the Research and Innovation Foundation’s RESTART
2016-2020 Programme for Research, Technological Development and Innovation and
supported by the European Union’s Horizon 2020 research and innovation
programme under grant agreement No 739551 (KIOS CoE), and from the Government
of the Republic of Cyprus through the Cyprus Deputy Ministry of Research,
Innovation and Digital Policy.

###### Abstract

This work proposes a receding horizon coverage control approach which allows
multiple autonomous aerial agents to work cooperatively in order cover the
total surface area of a 3D object of interest. The cooperative coverage
problem which is posed in this work as an optimal control problem, jointly
optimizes the agents’ kinematic and camera control inputs, while considering
coupling constraints amongst the team of agents which aim at minimizing the
duplication of work. To generate look-ahead coverage trajectories over a
finite planning horizon, the proposed approach integrates visibility
constraints into the proposed coverage controller in order to determine the
visible part of the object with respect to the agents’ future states. In
particular, we show how non-linear and non-convex visibility determination
constraints can be transformed into logical constraints which can easily be
embedded into a mixed integer optimization program.

##  I Introduction

The recent technological advances in unmanned aerial vehicle (UAV) technology
has led to a transformative impact in various application domains [2, 3, 4,
7]. Specifically, during the last decade the problem of coverage path planning
(CPP) [8] with UAVs has gained a lot of attention. Notably, the work in [20]
proposes a coverage path planning method for a single UAV agent that optimizes
the UAV’s turning motion in planar convex polygonal areas, whereas in [21] the
authors consider a fixed-wing UAV, and utilize algorithms for the Chinese
postman problem in order to compute an Eulerian path that covers all cells in
the region of interest. An information theoretic terrain coverage planning
approach is proposed in [23] for a single fixed-wing UAV agent, whereas in
[24] a spatiotemporal clustering-based coverage approach is proposed for
assigning regions of interest that need to be covered to a team of
heterogeneous UAVs. The problem of multi-UAV CPP is also investigated in [26]
emphasizing on the energy efficiency of the mission. The multi-agent CPP
problem for terrain coverage with workload balancing has recently been
investigated in [27], and in [28, 29] the coverage problem is investigated for
3D cuboid-like objects of interest. Despite the continuous advancements in
this domain, there is still work to be done until this technology reaches the
required level of maturity to enable autonomous coverage missions. The
majority of UAV-based CPP approaches discussed above, and found in the
literature, steer their focus towards covering mainly 2D planar areas and
terrains[32, 33, 31], and not 3D objects. Moreover, coverage planning
approaches which rely on simple geometric patterns (e.g., back-and-forth and
zig-zag motions) [35], usually fail to generalize in 3D environments. Existing
3D coverage planning techniques often require specialized types of objects
e.g., cuboids-like structures [28], and mainly utilize UAVs equipped with
fixed, and uncontrollable sensors [36] thus reducing the problem to a standard
path-planning problem which does not accounts for the complexities of coverage
control in 3D settings.

To tackle some of the challenges discussed above, in this work we propose a
coverage controller which enables a team of autonomous UAV agents to compute
cooperative finite-length look-ahead trajectories by jointly optimizing their
kinematic and camera control inputs in order to cover in 3D the total surface
area of an object of interest. In order to generate the look-ahead coverage
plans we simulate the physical behavior of light in order to determine the
visible parts of the object with respect to the future states of the agents,
and we show how non-linear and non-convex visibility determination constraints
can be transformed into logical constraints which can be embedded into a mixed
integer optimization problem.

The rest of the paper is organized as follows. Section II develops the system
model, Section III formulates the problem tackled, and Section IV discusses
the details of the proposed approach. Finally, Section V evaluates the
proposed approach, and Section VI concludes the paper, and discusses future
directions.

##  II Preliminaries

###  II-A Agent Kinematic Model

We assume that a cooperative team of $N$ autonomous networked aerial agents
denoted by $j\in[1,..,N]$, operate inside a bounded 3D environment
$\mathcal{E}\subset\mathbb{R}^{3}$, with discrete-time kinematics given by the
following linear state-space model:

$x^{j}_{k}=\begin{bmatrix}\boldsymbol{1}_{3\times 3}&\Delta
T\times\boldsymbol{1}_{3\times 3}\\\ \boldsymbol{0}_{3\times
3}&(1-\gamma)\times\boldsymbol{1}_{3\times
3}\end{bmatrix}x^{j}_{k-1}+\begin{bmatrix}\boldsymbol{0}_{3\times 3}\\\
\frac{\Delta T}{m}\times\boldsymbol{1}_{3\times 3}\end{bmatrix}u^{j}_{k},$ (1)

which is abbreviated hereafter as
$x^{j}_{k}~{}=~{}Ax^{j}_{k-1}~{}+~{}Bu^{j}_{k}$, where
$x^{j}_{k}=[(x_{k}^{j,\mathbf{p}})^{\top},(x_{k}^{j,\mathbf{v}})^{\top}]^{\top}\in\mathcal{X}\subset\mathbb{R}^{6}$
denotes agent’s $j$ kinematic state at time-step $k$, which is composed of
position (i.e., $x_{k}^{j,\mathbf{p}}\in\mathbb{R}^{3}$), and velocity (i.e.,
$x_{k}^{j,\mathbf{v}}\in\mathbb{R}^{3}$) components, in the 3D cartesian
coordinate system. It is assumed that the agents are controllable, and that
can be commanded to execute a certain direction and speed through the control
input $u^{j}_{k}\in\mathcal{U}\subset\mathbb{R}^{3},j\in[1,..,N]$ which
denotes the applied input force. In Eq. (1) the parameter $\Delta T$ denotes
the sampling interval, $\gamma$ models the air resistance coefficient, and
finally $m$ is agent’s $j$ mass, which without loss of generality is assumed
to be the same for all agents. In this work it is assumed that all agents
maintain a wireless communication link with a central mobile base-station
which is used for information exchange.

###  II-B Agent Camera Model

Each agent $j\in[1,..,N]$ is equipped with a camera system attached to a
gimbal device which allows the 3D rotation of the camera’s finite field-of-
view (FOV). In this work, the camera’s FOV is modelled as a regular right
pyramid which exhibits four triangular lateral faces and a rectangular base.
The camera optical center is positioned directly above the centroid of the
rectangular FOV base. In essence, the camera’s FOV is determined in this work
by the parameter set $(\ell,w,r)$, where $\ell$ and $w$ are the length and
width of the FOV rectangular base respectively, and $r$ (i.e., the height of
the pyramid) determines the FOV range. Let the five FOV vertices of a downward
facing camera, centered at the origin of the 3D cartesian coordinate system to
be given by the 3-by-5 matrix $\mathcal{V}_{0}$ as:

$\mathcal{V}_{0}=\begin{bmatrix}-\frac{\ell}{2}&\frac{\ell}{2}&\frac{\ell}{2}&-\frac{\ell}{2}&0\\\
\frac{w}{2}&\frac{w}{2}&-\frac{w}{2}&-\frac{w}{2}&0\\\ -r&-r&-r&-r&0\\\
\end{bmatrix}.$ (2)

The FOV is rotated in 3D space by commanding the gimbal controller to execute
sequentially two elemental rotations i.e., one rotation by angle
$\theta\in[0,\pi)$ around the $y-$axis, followed by a rotation
$\phi\in[0,2\pi)$ around the $z-$axis. Therefore, at each time-step $k$ the
agent $j$ with position $x_{k}^{j,\mathbf{p}}$ can rotate the camera’s FOV
anywhere inside the surveillance region, via the following geometric
transformation:

$\\!\\!\mathcal{V}^{j}_{k}(\theta^{j}_{k},\phi^{j}_{k},x_{k}^{j,\mathbf{p}})^{i}\\!=\\!R_{z}(\phi^{j}_{k})R_{y}(\theta^{j}_{k})\mathcal{V}^{i}_{0}\\!+\\!x_{k}^{j,\mathbf{p}},\forall
i\\!\in\\![1,..,5]$ (3)

where $\mathcal{V}^{i}_{0}$ denotes the $i_{\text{th}}$ column of
$\mathcal{V}_{0}$, and therefore
$\mathcal{V}^{j}_{k}(\theta^{j}_{k},\phi^{j}_{k},x_{k}^{j,\mathbf{p}})^{i}$ is
the corresponding rotated and translated vertex of the FOV. The parameters
$\theta^{j}_{k}$ and $\phi^{j}_{k}$ are the input rotation angles, and
$R_{y}(\alpha)$, $R_{z}(\alpha)$ represent the basic 3-by-3 rotation matrices
[37] which rotate vectors by an angle $\alpha$ around the $y-$ and $z-$axis
respectively. We assume that the gimbal device is bounded to operate within a
predefined finite set of admissible input rotation angles
$\Xi=\Theta\times\Phi=\\{(\theta,\phi)|\theta\in\Theta,\phi\in\Phi\\}$, where
$\times$ denotes the Cartesian product on the finite sets $\Theta$ and $\Phi$.
Therefore, the camera FOV of each agent $j$ can take, at each time-step $k$,
one out of $|\Xi|$ possible configurations ($|\Xi|$ denotes the cardinality of
the set $\Xi$).

Finally, it is assumed that at each time-step $k$ a finite set of (straight)
light-rays, which model the direction of the propagation of light, enter the
camera’s optical center and cause matter to be imaged. The set of light-rays
captured through the agent’s camera FOV
$\mathcal{V}^{j}_{k}(\theta^{j}_{k},\phi^{j}_{k},x_{k}^{j,\mathbf{p}})$ is
denoted in this work as
$\mathcal{L}^{j}_{k}(\theta^{j}_{k},\phi^{j}_{k},x_{k}^{j,\mathbf{p}})=\\{\Lambda^{j}_{k,1},..,\Lambda^{j}_{k,n}\\}$,
where $\Lambda^{j}_{k,i}$ denotes the individual light-ray in the set which is
further given by the line-segment:

$\Lambda^{j}_{k,i}=\lambda^{j}_{k,i}+d(x_{k}^{j,\mathbf{p}}-\lambda^{j}_{k,i}),~{}\forall
d\in[0,1],$ (4)

where $x_{k}^{j,\mathbf{p}}$ is the light-ray’s end point which enters the
camera’s optical center at time-step $k$, $\lambda^{j}_{k,i}$ is a fixed point
on the camera’s FOV base denoting the ray’s origin, and $d$ is a scalar. Note
here that every FOV state
$\mathcal{V}^{j}_{k}(\theta^{j}_{k},\phi^{j}_{k},x_{k}^{j,\mathbf{p}})$
generates a different set of light-rays
$\mathcal{L}^{j}_{k}(\theta^{j}_{k},\phi^{j}_{k},x_{k}^{j,\mathbf{p}})$.

The goal of the agents is to cover with their cameras the total surface area
$\partial\mathcal{O}$ of a known object of interest
$\mathcal{O}\in\mathcal{E}$. This object’s surface area has been triangulated
into a finite set of non-overlapping triangular facets $\tau\in\mathcal{T}$,
where $\mathcal{T}$ is the object’s surface triangle mesh. Consequently, our
aim becomes the generation of cooperative coverage trajectories which cover
all facets $\tau\in\mathcal{T}$.

##  III Problem Formulation

Given a team of $N$ cooperative agents $j=[1,..,N]$, find the joint kinematic
(i.e., input force $u^{j}_{k},\forall j$) and camera (i.e., rotation angles
$(\theta^{j}_{k},\phi^{j}_{k}),\forall j$) control inputs over a sufficiently
large planning horizon of length $K^{\prime}$ time-steps which result in the
optimal coverage of the total surface area $\mathcal{T}$ of the object of
interest $\mathcal{O}$. A high-level formulation of the coverage problem
discussed above is shown in Problem (P1), posed as an optimal control problem.
As shown in Problem (P1), we are seeking to find the agents’ joint control
inputs $\\{u^{j}_{k},~{}\theta^{j}_{k},~{}\phi^{j}_{k}\\}_{j=1}^{N}$ over a
finite planning horizon $k=[1,..,K^{\prime}]$ of length $K^{\prime}$ time-
steps which optimize a mission related objective function (e.g., the coverage
elapsed time) denoted as $\mathcal{F}_{\text{mission}}$, and shown in Eq.
(5a), subject to the set of coverage constraints shown in Eq. (5b)-(5c).

(P1)Coverage Problem
$\displaystyle~{}~{}~{}\underset{\\{u^{j}_{k},~{}\theta^{j}_{k},~{}\phi^{j}_{k}\\}_{j=1}^{N}}{\arg\min}~{}\mathcal{F}_{\text{mission}}$
(5a) subject to: $k\in[1,..,K^{\prime}]$, $j\in[1,..,N]$ $\displaystyle
x^{j}_{k}=A^{k}x^{j}_{0}+\sum_{\kappa=1}^{k}A^{k-\kappa}Bu^{j}_{\kappa}$
$\displaystyle\forall k,\forall j$ (5b) $\displaystyle\exists\kappa\leq
K^{\prime}:\tau\in\bigcup_{j=1}^{N}\bigtriangleup\left(\mathcal{V}^{j}_{\kappa}(\theta^{j}_{\kappa},\phi^{j}_{\kappa},x_{\kappa}^{j,\mathbf{p}})\right)$
$\displaystyle\forall\tau\in\mathcal{T}$ (5c)

The constraint in Eq. (5b) is due to the agent’s kinematic model as discussed
in Sec. II-A which has been obtained from the recursive application of Eq. (1)
for time-steps $k=[1,..,K^{\prime}]$, with a known initial state
$x^{j}_{0}=\bar{x}^{j}$. The next constraint shown in Eq. (5c) ensures that
the total surface area $\mathcal{T}$ of the object of interest is
cooperatively covered by the agents during the mission. In order to achieve
this we require that for each facet $\tau\in\mathcal{T}$ there exists a time-
step $\kappa\leq K^{\prime}$ for which $\tau$ resides within the convex-hull
(indicated by the $\triangle$ operator) of some agent’s camera FOV. In essence
we require that each facet $\tau$ is covered by some agent $j$. However, in
order to be able plan accurate look-ahead coverage trajectories, we first need
to determine which parts of the object are actually visible given the future
states of the agents (i.e., determine the visible area given the predicted
camera poses). In that sense, the constraint in Eq. (5c) is actually
incomplete since it does not indicate what is the observable FOV. In the next
section we show how we have incorporated visibility determination constraints
into Problem (P1), in an effort to generate cooperative look-ahead coverage
plans.

##  IV Cooperative Receding Horizon 3D Coverage Control

The coverage planning problem discussed in the previous section is quite
challenging to be solved efficiently. In particular, observe that a feasible
solution to this problem is directly coupled with the length of the planning
horizon $K^{\prime}$ i.e., if $K^{\prime}$ is too short, then no feasible
solution may exist, while if $K^{\prime}$ is too long then the computational
complexity increases unnecessarily. For the reasons discussed above, Problem
(P1) is re-formulated as a receding horizon optimal control problem in where
the joint control inputs over all agents $j=[1,..,N]$ are computed in an on-
line fashion at each time-step $k$ inside a rolling finite planning horizon
$K$ i.e.,
$\\{u^{j}_{k+\kappa|k},~{}\theta^{j}_{k+\kappa|k},~{}\phi^{j}_{k+\kappa|k}\\},\forall\kappa\in[1,..,K]$.
As a result, at each time-step $k$ the agents plan finite-length look-ahead
coverage trajectories $x^{j}_{k+\kappa|k},\kappa=[1,..,K]$, where the notation
$x_{\kappa|k}$ denotes the predicted agent state at time-step $\kappa\geq k$,
which was computed at time-step $k$.

Figure 1: Illustrative example of the visibility determination problem, where
$x_{\kappa}^{j,\mathbf{p}}$ is the future predicted agent position at time-
step $k+\kappa|k$, and $\mathcal{V}_{\kappa}$ is the predicted FOV
configuration at the same time-step. With the FOV pose shown in the figure the
facet indicated with $\times$ is not visible as there is no light-ray that can
be traced back to it i.e., all light-rays are blocked. On the other hand the
facet indicated with a $\star$ can be observed as shown.

###  IV-A Visibility Determination

In order to generate the agents’ future coverage trajectories over a finite
planning horizon $K$, we first need to have a way of determining which parts
of the object’s surface area are visible given the future planned states of
the agents at time-steps $k+\kappa|k,\kappa\in[1,..,K]$, abbreviated for
simplicity as $\kappa$. Intuitively, the facet $\tau\in\mathcal{T}$, is
visible through the agent’s $j$ camera FOV
$\mathcal{V}^{j}_{\kappa}(\theta^{j}_{\kappa},\phi^{j}_{\kappa},x_{\kappa}^{j,\mathbf{p}})$
at time-step $\kappa$ when: a) $\tau$ resides inside the convex-hull of the
agent’s camera FOV i.e.,
$\tau\in\triangle\left(\mathcal{V}^{j}_{\kappa}(\theta^{j}_{\kappa},\phi^{j}_{\kappa},x_{\kappa}^{j,\mathbf{p}})\right)$,
and b) there exists a light-ray
$\Lambda^{j}_{\kappa,i}\in\mathcal{L}^{j}_{\kappa}(\theta^{j}_{\kappa},\phi^{j}_{\kappa},x_{\kappa}^{j,\mathbf{p}})$
which enters the camera’s optical center and can be traced back to facet
$\tau$. On the other hand, when no light-ray can be traced back to $\tau$,
indicates that the specific facet is not visible since the propagation of
light is blocked. Specifically, the notion of visibility can now be defined as
follows: The facet $\tau\in\mathcal{T}$ is visible through the agent’s $j$
camera FOV
$\mathcal{V}^{j}_{\kappa}(\theta^{j}_{\kappa},\phi^{j}_{\kappa},x_{\kappa}^{j,\mathbf{p}})$
at the future time-step $\kappa$ when:

$\exists\Lambda^{j}_{\kappa,i}\in\mathcal{L}^{j}_{\kappa}(\theta^{j}_{\kappa},\phi^{j}_{\kappa},x_{\kappa}^{j,\mathbf{p}}):\Lambda^{j}_{\kappa,i}\oplus\mathcal{T}=\tau,$
(6)

where the operator $\oplus$ returns the facet $\tau\in\mathcal{T}$ which
intersects last with the light-ray $\Lambda^{j}_{\kappa,i}$; otherwise it
returns $\emptyset$ if no facet $\tau$ intersects with the light-ray. Let us
denote the equation of the plane which contains facet $\tau$ as
$\alpha_{\hat{\tau}}\cdot x=\beta_{\hat{\tau}}$, where
$\hat{\tau}\in[1,..,|\mathcal{T}|]$ is the index pointing to facet
$\tau\in\mathcal{T}$, $\alpha_{\hat{\tau}}\in\mathbb{R}^{3}$ is the unit
outward normal vector to the plane containing $\tau$, $x\in\mathbb{R}^{3}$,
$\beta_{\hat{\tau}}$ is a scalar, and the notation $a\cdot b$ denotes the dot
product of the vectors $a$ and $b$. Subsequently, the operation
$\Lambda^{j}_{\kappa,i}\oplus\tau$ finds the intersection point (if exists)
between the light-ray $\Lambda^{j}_{\kappa,i}$ which is given by Eq. (4), and
the plane which contains facet $\tau$ as follows:

$\displaystyle\alpha_{\hat{\tau}}\cdot[\lambda^{j}_{\kappa,i}+d(x_{\kappa}^{j,\mathbf{p}}-\lambda^{j}_{\kappa,i})]=\beta_{\hat{\tau}}\implies$
(7a) $\displaystyle
d=\frac{\beta_{\hat{\tau}}-\alpha_{\hat{\tau}}\cdot\lambda^{j}_{\kappa,i}}{\alpha_{\hat{\tau}}\cdot(x_{\kappa}^{j,\mathbf{p}}-\lambda^{j}_{\kappa,i})},$
(7b)

where Eq. (7a) is the result of the substitution of $\Lambda^{j}_{\kappa,i}$
for $x$ in the equation of the plane which contains facet $\tau$, and then in
Eq. (7b) we solve for $d$. Consequently, if the denominator of Eq. (7b) is
equal to zero, the light-ray $\Lambda^{j}_{\kappa,i}$ and the facet $\tau$ are
parallel which results in either no visibility (i.e.,
$\beta_{\hat{\tau}}-\alpha_{\hat{\tau}}\cdot\lambda^{j}_{\kappa,i}\neq 0$) or
distorted view (i.e., when
$\beta_{\hat{\tau}}-\alpha_{\hat{\tau}}\cdot\lambda^{j}_{\kappa,i}=0$). In
essence, we are interested in the scenario where there exists a single point
intersection between the light-ray $\lambda^{j}_{\kappa,i}$ and the plane
which contains the facet $\tau$ i.e., when
$\alpha_{\hat{\tau}}\cdot(x_{\kappa}^{j,\mathbf{p}}-\lambda^{j}_{\kappa,i})\neq
0$ and $d\in[0,1]$ which indicates the visibility of $\tau$ by the light-ray
$\lambda^{j}_{\kappa,i}$ i.e., the light-ray is not blocked and traces back to
$\tau$, as illustrated in Fig. 1.

The procedure discussed above must be evaluated at each time-step inside the
planning horizon for all pairwise combinations of light-rays
$\lambda^{j}_{\kappa,i}\in\mathcal{L}^{j}_{\kappa}(\theta^{j}_{\kappa},\phi^{j}_{\kappa},x_{\kappa}^{j,\mathbf{p}})$,
and facets $\tau\in\mathcal{T}$ which not only is computationally expensive,
but also requires the integration of non-convex and non-linear constraints
which are challenging to be handled efficiently during optimization. In order
to bypass this challenge, in this work we follow an alternative procedure
which allows us to first learn a set of state-dependant constraints for
determining visibility, and subsequently incorporating these constraints into
the coverage planning optimization problem as logical constraints.

To achieve this the environment $\mathcal{E}$ is first decomposed into a 3D
grid $\tilde{\mathcal{E}}$ consisting of a finite number of disjoint cells
i.e., $\tilde{\mathcal{E}}=\\{c_{1},..,c_{|\tilde{\mathcal{E}}|}\\}$, such
that $\bigcup_{i=1}^{|\tilde{\mathcal{E}}|}c_{i}=\tilde{\mathcal{E}}$. Then,
within each cell $c\in\tilde{\mathcal{E}}$, we randomly sample the agent
states i.e., $(x^{\mathbf{p}},\theta,\phi)$ and then the visibility
determination procedure discussed above i.e., Eq. (7b) is performed for
various configurations of the FOV state
$\mathcal{V}(\theta,\phi,x^{\mathbf{p}})$ to identify the visible facets
$\tau$. Let us denote with $\tilde{\mathcal{L}}_{\hat{c}}$ the set of light-
rays that have been obtained from the application of $N_{r}$ random joint
combinations of the parameter set
$(x^{\mathbf{p}},\theta,\phi)_{i},~{}i=[1,..,N_{r}]$ inside cell $c$ i.e.,
$\tilde{\mathcal{L}}_{\hat{c}}=\bigcup_{i=1}^{N_{r}}\\{\Lambda:\Lambda\in\mathcal{L}^{i}_{\hat{c}}(\theta_{i},\phi_{i},x_{i}^{\mathbf{p}})\\}$,
where $\hat{c}\in[1,..,|\tilde{\mathcal{E}}|]$ is the index pointing to cell
$c\in\tilde{\mathcal{E}}$,
$\mathcal{L}^{i}_{\hat{c}}(\theta_{i},\phi_{i},x_{i}^{\mathbf{p}})$ is the set
of light-rays given by the camera pose obtained with the $i_{\text{th}}$ set
of control inputs $(\theta_{i},\phi_{i})$, for the agent location
$x_{i}^{\mathbf{p}}$ sampled within cell $c$. We then learn the following
logical visibility determination constraints:

$\rho_{\hat{c},{\hat{\tau}}}=1\iff\exists\Lambda\in\tilde{\mathcal{L}}_{\hat{c}}:\Lambda\oplus\mathcal{T}=\tau,~{}\forall\hat{c},\hat{\tau}$
(8)

Once the constraints above are learned, we can determine the visibility of
facet $\tau$, by utilizing the binary variable $\rho_{\hat{c},\hat{\tau}}$
which is activated when there exists a light-ray $\Lambda$ which traces back
to facet $\tau$ when the agent is within the cell $c$.

###  IV-B Coverage Objective Function

Let us assume that each facet $\tau\in\mathcal{T}$ can be uniquely identified
by the agent $x^{j}_{k+\kappa|k}$, and thus its state (i.e., observed/covered
or unobserved) can be associated with the binary variable
$\hat{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}\in\\{0,1\\}$ which indicates
that facet $\tau$ (indexed by $\hat{\tau}\in[1,..,|T|]$), is planned to be
observed and covered by agent $j$, with the FOV rotation $\xi\in\Xi$ (indexed
by $\hat{\xi}\in[1,..,|\Xi|]$) at the future time-step
$k+\kappa|k,\kappa\in[1,..,K]$ of the planning horizon (abbreviated simply as
$\kappa$ throughout the paper). As a reminder the FOV rotaion $\xi\in\Xi$ maps
to a certain set of rotation angles $(\theta,\phi)$ i.e.,
$\xi=(\theta,\phi)\in\Theta\times\Phi$ as discussed in Sec. II-B. The
cooperative coverage objective function $\mathcal{F}_{\text{mission}}$ to be
optimized over the planning horizon $k+\kappa|k,\kappa\in[1,..,K]$, shown in
Eq. (10a), can now be defined as
$\mathcal{F}_{\text{mission}}=\sum_{j=1}^{N}F^{j}$, where $F^{j}$ is agent’s
$j$ own coverage objective function which is further given by:

$F^{j}=\mathcal{D}(x_{k+1|k}^{j,\mathbf{p}},\tau^{j}_{\star})-\sum_{\kappa=1}^{K}\sigma(\kappa)\sum_{\hat{\xi}=1}^{|\Xi|}\sum_{\hat{\tau}=1}^{|\mathcal{T}|}\hat{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k},$
(9)

which essentially is minimized when all facets $\tau\in\mathcal{T}$ are
planned to be covered inside the planning horizon i.e.,
$\hat{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}=1,\forall\hat{\tau}$, assuming
a sufficiently large enough value of $K$. Otherwise, $F^{j}$ incentivizes the
agent to generate a trajectory which covers as many facets as possible inside
the planning horizon. The time-dependent term $\sigma(\kappa)$ penalizes
facets that are covered later in the horizon i.e.,
$\sigma(\kappa)=K-(\kappa-1)$ or any other penalty scheme can be used.
Finally, the term
$\mathcal{D}(x_{k+1|k}^{j,\mathbf{p}},\tau^{j}_{\star})=||x_{k+1|k}^{j,\mathbf{p}}-\tau^{j}_{\star}||^{2}_{2}$
drives the agent $j$ towards the centroid of its nearest unobserved facet
$\tau^{j}_{\star}$, in order to make sure that the mission can progress
particularly in the events where no facets can be reached for coverage inside
the planning horizon.

(P2)Cooperative 3D Coverage
$\displaystyle~{}~{}~{}~{}\underset{\\{u^{j}_{k+\kappa|k},~{}\theta^{j}_{k+\kappa|k},~{}\phi^{j}_{k+\kappa|k}\\}_{j=1}^{N}}{\arg\min}~{}\mathcal{F}_{\text{mission}},$
(10a) subject to: $\kappa\in[1,..,K]$ $\displaystyle
x^{j}_{k+\kappa|k}=Ax^{j}_{k+\kappa-1|k}+Bu^{j}_{k+\kappa|k}$
$\displaystyle\forall\kappa,j$ (10b) $\displaystyle x^{j}_{k|k}=x^{j}_{k|k-1}$
$\displaystyle\forall\kappa,j$ (10c)
$\displaystyle\mathcal{V}^{j}_{\hat{\xi},k+\kappa|k}=\tilde{\mathcal{V}}^{j}_{\hat{\xi},k+\kappa|k}+x_{k+\kappa|k}^{j,\mathbf{p}}$
$\displaystyle\forall\kappa,\hat{\xi},j$ (10d)
$\displaystyle\sum_{\hat{\xi}=[1,..,|\Xi|]}\nu^{j}_{\hat{\xi},k+\kappa|k}=1$
$\displaystyle\forall\kappa,j$ (10e) $\displaystyle
b^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}=1\iff\tau\in\bigtriangleup\left(\mathcal{V}^{j}_{\hat{\xi},k+\kappa|k}\right)$
$\displaystyle\forall\hat{\tau},\kappa,\hat{\xi},j$ (10f)
$\displaystyle\bar{b}^{j}_{\tau,\xi,k+\kappa|k}=\nu^{j}_{\hat{\xi},k+\kappa|k}~{}\wedge~{}$
$\displaystyle\forall\hat{\tau},\kappa,\hat{\xi},\hat{c},j$ (10g)
$\displaystyle\hskip
42.67912pt(b^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}\wedge~{}\rho_{\hat{c},{\hat{\tau}}}\wedge\tilde{\rho}^{j}_{\hat{c}})$
$\displaystyle\hat{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}\leq\bar{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}+\mathcal{Q}(\tau)$
$\displaystyle\forall\hat{\tau},\kappa,\hat{\xi},j$ (10h)
$\displaystyle\sum_{j}\sum_{\hat{\xi}}\sum_{\kappa}\hat{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}\leq
1$ $\displaystyle\forall\hat{\tau}$ (10i) $\displaystyle
x_{k+\kappa|k}^{j,\mathbf{p}}\notin\bigtriangleup(\psi)$
$\displaystyle\forall\psi\in\Psi,\kappa,j$ (10j) $\displaystyle
x_{k+\kappa|k}^{j,\mathbf{p}}\notin\bigcup_{i\neq
j=1}^{N}\bigtriangleup(\mathcal{A}^{i})$ $\displaystyle\forall\kappa,j$ (10k)

###  IV-C Constraints

The generation of look-ahead trajectories is achieved with the constraints
shown in Eq. (10b)-(10c), by appropriately selecting the control inputs
$u^{j}_{k+\kappa|k}$ inside the horizon for all agents, according to the
kinematic model as discussed in Sec. II-A. The constraint shown in Eq. (10d)
rotates and translates agent’s $j$ camera FOV inside the planning horizon.
More specifically, $\mathcal{V}^{j}_{\hat{\xi},k+\kappa|k}$ denotes the
$\hat{\xi}_{\text{th}}\in[1,..,|\Xi|]$ configuration of the camera’s FOV
vertices at the future time-step $\kappa$. The set of all possible $|\Xi|$ FOV
rotations is precomputed as
$\tilde{\mathcal{V}}^{j,i}_{\hat{\xi},k+\kappa|k}=R_{z}(\phi^{j}_{k+\kappa|k})R_{y}(\theta^{j}_{k+\kappa|k})\mathcal{V}^{i}_{0},\forall
i\in[1,..,5],\forall\hat{\xi}\in[1,..,|\Xi|]$, where
$(\theta^{j}_{k+\kappa|k}\in\Theta,\phi^{j}_{k+\kappa|k}\in\Phi)\in\Xi$, and
then translated to the agent’s position $x_{k+\kappa|k}^{j,\mathbf{p}}$ as
shown in Eq. (10d). Next, the binary variable
$\nu^{j}_{\hat{\xi},k+\kappa|k}\in\\{0,1\\}$ indicates which of the $|\Xi|$
camera FOV configurations is active at time-step $\kappa$, to avoid double
counting the same facet with different FOV configurations. This is achieved
with the constraint shown in Eq. (10e).

To determine whether facet $\tau$ resides inside the agent’s $j$,
$\hat{\xi}_{\text{th}}$ camera FOV configuration at time-step $\kappa$ i.e.,
$\tau\in\bigtriangleup(\mathcal{V}^{j}_{\hat{\xi},k+\kappa|k})$ first observe
that an arbitrary point $p\in\mathcal{E}$ which belongs to the convex-hull
defined by the camera FOV vertices $\mathcal{V}$ satisfies the following
system of linear inequalities: $\alpha_{n}\cdot p\leq\beta_{n},~{}\forall
n=[1,..,5]$, where $\alpha_{n}\cdot p=\beta_{n}$ is the equation of the plane
which contains the $n_{\text{th}}$ face of the FOV (with 5 faces in total),
$\alpha_{n}$ is the unit outward normal vector to the plane containing the
$n_{\text{th}}$ FOV face, and $\beta_{n}$ is a constant. Any point
$p\in\mathcal{E}$ which satisfies the aforementioned system of inequalities is
contained within the convex-hull of $\mathcal{V}$, and therefore can be
potentially observed by the agent (provided it is visible). Subsequently, the
binary variable $b^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}\in\\{0,1\\}$ shown in
Eq. (10f) is activated when facet $\tau$ resides inside the
$\hat{\xi}_{\text{th}}$ camera FOV configuration of agent $j$ at time-step
$\kappa$. This functionality can be defined as shown below:

$\displaystyle\alpha^{j}_{n,\hat{\xi},\kappa}\cdot\tau+o^{j}_{n,\hat{\tau},\hat{\xi},\kappa}(M-\beta^{j}_{n,\hat{\xi},\kappa})\leq
M,~{}\forall n,\hat{\tau},\hat{\xi},\kappa,$ (11a) $\displaystyle
5b^{j}_{\hat{\tau},\hat{\xi},\kappa}-\sum_{n=1}^{5}o^{j}_{n,\hat{\tau},\hat{\xi},\kappa}\leq
0,~{}\forall\kappa,\hat{\xi},\hat{\tau}.$ (11b)

Figure 2: The figure shows an illustrative example of the proposed cooperative
receding horizon 3D coverage controller with a team of 3 agents.

where $k+\kappa|k$ is abbreviated as $\kappa$,
$\alpha^{j}_{n,\hat{\xi},\kappa}$ and $\beta^{j}_{n,\hat{\xi},\kappa}$ are the
plane equation coefficients, containing the $n_{\text{th}}$ FOV face of the
$\hat{\xi}_{\text{th}}$ FOV configuration, of the $j$ agent at time-step
$\kappa$, $o^{j}_{n,\hat{\tau},\hat{\xi},\kappa}\in\\{0,1\\}$ is an auxiliary
binary variable which is activated when the $n_{\text{th}}$ inequality is true
i.e.,
$\alpha^{j}_{n,\hat{\xi},\kappa}\cdot\tau\leq\beta^{j}_{n,\hat{\xi},\kappa}$,
and $M$ is a large positive constant that ensures the constraint is valid when
$o^{j}_{n,\hat{\tau},\hat{\xi},\kappa}=0$. Finally,
$b^{j}_{\hat{\tau},\hat{\xi},\kappa}$ is activated to satisfy Eq. (11b) when
$o^{j}_{n,\hat{\tau},\hat{\xi},\kappa}=1,\forall n$ thus indicating that facet
$\tau$ resides inside the $\hat{\xi}_{\text{th}}$ camera FOV configuration of
agent $j$. For brevity facet $\tau$ is represented by its centroid in this
formulation.

The logical conjunction shown in Eq. (10g) makes sure that agent $j$ does not
activates more than one camera FOV configurations at each time-step $\kappa$,
with the binary variable $\nu^{j}_{\hat{\xi},k+\kappa|k}$. The constraint in
Eq. (10g) also checks whether the facet $\tau$ which resides inside the
agent’s FOV is visible via the learned visibility determination variable
$\rho_{\hat{c},\hat{\tau}}$. Subsequently, the logical conjunction
$\nu^{j}_{\hat{\xi},k+\kappa|k}\wedge(b^{j}_{\tau,\xi,k+\kappa|k}\wedge~{}\rho_{\hat{c},{\hat{\tau}}}\wedge\tilde{\rho}^{j}_{\hat{c}})$
becomes true when at time-step $\kappa$ facet $\tau$ resides within the
convex-hull of the active FOV configuration $\xi$ (as indicated by the
variables $\nu^{j}_{\hat{\xi},k+\kappa|k}$ and $b^{j}_{\tau,\xi,k+\kappa|k}$),
and at the same time the agent position $x_{k+\kappa|k}^{j,\mathbf{p}}$
resides within the cell $c$ (as indicated by the binary variable
$\tilde{\rho}^{j}_{\hat{c}}$) from which it has been determined that the facet
$\tau$ is visible via the learned visibility variable
$\rho_{\hat{c},{\hat{\tau}}}$. The constraint shown in Eq. (10h) is used for
avoiding the duplication of work (i.e., avoiding to cover facets that have
been covered in the past). To achieve this, the function
$\mathcal{Q}:\mathcal{T}\rightarrow\\{0,1\\}$ keeps track of all the facets
that have been covered by the agents up to the current time-step $k$.
Therefore any facet $\tau$ that has been covered by any agent $j$ results in
$\mathcal{Q}(\tau)=1$. Consequently, the binary variable
$\hat{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}$ in Eq. (10h) is maximized for
facet $\tau$ either through $\mathcal{Q}(\tau)$ or via
$\bar{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}$. For this reason, the agent
$j$ has no incentive to plan a coverage trajectory for facet $\tau$ inside the
planning horizon, when $\mathcal{Q}(\tau)=1$ since the binary variable
$\hat{b}^{j}_{\hat{\tau},\hat{\xi},k+\kappa|k}$ is maximised through
$\mathcal{Q}(\tau)$.

The constraint shown in Eq. (10i) makes sure that during the planning horizon
the facet $\tau$ is not planned to be covered more than once by the same or
multiple agents, and then the constraints shown in Eq. (10j) ensure that the
agents avoid collisions with the obstacles $\psi\in\Psi$ in the environment,
including the object of interest. This is achieved by enforcing the agent
position $x_{k+\kappa|k}^{j,\mathbf{p}}$ to reside outside the convex-hull of
all obstacles $\psi\in\Psi$ at all time-steps $\kappa$. Assuming that the
convex-hull of obstacle $\psi$, which is represented as a triangle mesh
$\mathcal{T}_{\hat{\psi}}$ (where $\hat{\psi}\in[1,..,|\Psi|]$ is the index of
$\psi$) is given by the intersection of $n_{\hat{\psi}}$ half-spaces, where
the $i_{\text{th}}$ half-space is associated with the plane equation
$\alpha^{{\hat{\psi}}}_{i}\cdot
p=\beta^{{\hat{\psi}}}_{i},~{}i\in[1,..,n_{\hat{\psi}}],p\in\mathcal{E}$,
which divides the 3D space into two parts, the obstacle avoidance constraints
for all obstacles can be defined as follows:

$\displaystyle\alpha^{{\hat{\psi}}}_{i}\cdot
x_{k+\kappa|k}^{j,\mathbf{p}}+Mz^{j,{\hat{\psi}}}_{k+\kappa|k,i}>\beta^{{\hat{\psi}}}_{i},~{}\forall
j,\kappa,i,{\hat{\psi}},$ (12)
$\displaystyle\sum_{i=1}^{n_{\hat{\psi}}}z^{j,{\hat{\psi}}}_{k+\kappa|k,i}\leq(n_{\hat{\psi}}-1),~{}\forall
j,\kappa,{\hat{\psi}}$ (13)

where $z^{j,{\hat{\psi}}}_{k+\kappa|k,i}\in\\{0,1\\}$ is a binary variable
which indicates when activated that $\alpha^{{\hat{\psi}}}_{i}\cdot
x_{k+\kappa|k}^{j,\mathbf{p}}>\beta_{i}^{{\hat{\psi}}}$ is not true. Therefore
when $z^{j,{\hat{\psi}}}_{k+\kappa|k,i}=1,\forall i\in[1,..,n_{\hat{\psi}}]$
indicates that agent $j$ resides within the convex-hull of obstacle $\psi$ at
time-step $\kappa$. Consequently, a collision is avoided with obstacle $\psi$
at time-step $\kappa$ when $\exists
i\in[1,..,n_{\hat{\psi}}]:z^{j,{\hat{\psi}}}_{k+\kappa|k,i}=0$ which is
achieved with the constraint in Eq. (13). The same principle is applied to
implement collision avoidance constraints amongst the team of agents as shown
in Eq. (10k), which requires that during all time-steps the agent’s $j$
positional state must reside outside the convex-hull of agent’s $i$ safety
area $\mathcal{A}^{i},i\neq j,i\in[1,..,N]$, where $\mathcal{A}^{i}$ is the
inscribed dodecahedron around $x_{k+\kappa|k}^{i,\mathbf{p}}$ which
approximates a spherical safety area with certain radius around the agent
[38]. Finally, the mission is terminated when
$\sum_{\tau\in\mathcal{T}}\mathcal{Q}(\tau)=|\mathcal{T}|$.

##  V Evaluation

###  V-A Simulation Setup

For the evaluation of the proposed approach we assume agents with identical
capabilities. Subsequently, the agent’s $j$ kinematic model parameters $\Delta
T$, $\gamma$, and $m$ are set to 1s, 0.2, and 1.05kg respectively. The agent
velocity $x_{k}^{j,\mathbf{v}}$ is bounded within the interval $[-12,12]$m/s,
whereas the kinematic control input $u^{j}_{k}$ is bounded within the interval
$[-10,10]$N. The agent camera FOV model parameters $(\ell,w,r)$ are set to
$(10,10,16)$m, and the gimbal rotation angles $\theta$ and $\phi$ take their
values from the finite sets $\Theta=\\{30,90,150\\}$deg, and
$\Phi=\\{30,105,180,255,330\\}$ respectively, leading to $|\Xi|=15$ possible
camera FOV configurations. The 3D environment $\mathcal{E}$ is bounded in each
dimension in the interval $[0,100]$m, and the object of interest to be covered
is given by the Gaussian function
$f(x,y)=A\exp\left(-\left(\frac{(x-x_{o})^{2}}{2\sigma^{2}_{x}}+\frac{(y-y_{o})^{2}}{2\sigma^{2}_{y}}\right)\right)$,
with $(x_{o},y_{o})=(45,45)$, $\sigma^{2}_{x}=\sigma^{2}_{y}=80$, and $A=40$,
which has been Delaunay triangulated into $|\mathcal{T}|=220$ triangular
facets. For the visibility determination constraints we have used 50 light
rays i.e.,
$|\mathcal{L}^{j}_{k}(\theta^{j}_{k},\phi^{j}_{k},x_{k}^{j,\mathbf{p}})|=50$,
$N_{r}$ was set to 100, and the procedure described in Sec. IV-A was conducted
on a discretized version of the environment $\tilde{\mathcal{E}}$, composed of
$|\tilde{\mathcal{E}}|=1000$ non-overlapping 3D cuboid cells. The planning
horizon in the following experiments has been set to $K=5$.

###  V-B Simulation Experiment

An illustrative example of the proposed approach with 3 UAV agents is shown in
Fig. 2. Specifically, Fig. 2(a) shows the object of interest to be covered.
Without loss of generality, and in order to aid the analysis and visual
clarity of this demonstration, we only require that a random subset of facets
$\tilde{\mathcal{T}}\subseteq\mathcal{T}$ needs be covered by the agents,
instead of the full triangle mesh $\mathcal{T}$, thus we randomly sample 18
facets ($|\tilde{\mathcal{T}}|=18$) as shown in Fig. 2(a) marked with dark
gray color. Figure 2(b) shows the controller’s output for agent 1 at time-step
$k=3$, with the executed trajectory shown in green color, and the predicted
trajectory shown in black. The figure illustrates the generated finite-length
look-ahead trajectory (i.e., kinematic and camera states) of agent 1 inside
the planning horizon $k+\kappa|k,~{}k=3,\kappa=[1,..5]$. Then Fig. 2(c) shows
the time-steps at which the facets $\tau\in\tilde{\mathcal{T}}$ have been
covered by the agents (both in 3D and top-down view), color-coded based on the
coverage time. Figure 2(d) shows in detail (front and back view of the object
of interest) the kinematic trajectories of the 3 agents during the coverage
mission, indicating the time-steps at which the agents cover the object’s
facets with different color. Finally, Fig. 2(e) shows the camera FOV
configurations of each agent used during the coverage mission.

##  VI Conclusion

We have proposed a cooperative coverage controller for 3D environments which
allows a team of networked UAV agents to work cooperatively in order to cover
the total surface area of an object of interest. We have formulated the
coverage planning problem as a receding horizon optimal control problem which
jointly optimizes the kinematic and camera control inputs over all agents,
under duplication of work constraints and visibility determination
constraints. Future work will investigate the extension of the proposed
approach to a distributed system, and study how uncertainty can be handled
using robust control techniques.

## References

  * [1] S. Papaioannou, P. Kolios, C. G. Panayiotou, and M. M. Polycarpou, “Cooperative simultaneous tracking and jamming for disabling a rogue drone,” in _2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_. IEEE, pp. 7919–7926.
  * [2] S. Papaioannou, P. Kolios, and G. Ellinas, “Downing a rogue drone with a team of aerial radio signal jammers,” in _2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_. IEEE, pp. 2555–2562.
  * [3] S. Papaioannou, P. Kolios, T. Theocharides, C. G. Panayiotou, and M. M. Polycarpou, “Unscented optimal control for 3d coverage planning with an autonomous uav agent,” in _2023 International Conference on Unmanned Aircraft Systems (ICUAS)_ , 2023, pp. 703–712.
  * [4] R. S. de Moraes and E. P. de Freitas, “Multi-UAV based crowd monitoring system,” _IEEE Transactions on Aerospace and Electronic Systems_ , vol. 56, no. 2, pp. 1332–1345, 2020.
  * [5] S. Papaioannou, P. Kolios, T. Theocharides, C. G. Panayiotou, and M. M. Polycarpou, “Towards Automated 3D Search Planning for Emergency Response Missions,” _Journal of Intelligent & Robotic Systems_, vol. 103, no. 1, pp. 1–19, 2021.
  * [6] ——, “3D Trajectory Planning for UAV-based Search Missions: An Integrated Assessment and Search Planning Approach,” in _2021 International Conference on Unmanned Aircraft Systems (ICUAS)_. IEEE, 2021, pp. 517–526.
  * [7] S. M. S. M. Daud, M. Y. P. M. Yusof, C. C. Heo, L. S. Khoo, M. K. C. Singh, M. S. Mahmood, and H. Nawawi, “Applications of drone in disaster management: A scoping review,” _Science & Justice_, vol. 62, no. 1, pp. 30–42, 2022\.
  * [8] E. Galceran and M. Carreras, “A survey on coverage path planning for robotics,” _Robotics and Autonomous Systems_ , vol. 61, no. 12, pp. 1258–1276, 2013.
  * [9] H. Choset and P. Pignon, “Coverage path planning: The boustrophedon cellular decomposition,” in _Field and Service Robotics_. Springer, 1998, pp. 203–209.
  * [10] E. U. Acar, H. Choset, A. A. Rizzi, P. N. Atkar, and D. Hull, “Morse decompositions for coverage tasks,” _The International Journal of Robotics Research_ , vol. 21, no. 4, pp. 331–344, 2002.
  * [11] E. Acar, H. Choset, and J. Y. Lee, “Sensor-based coverage with extended range detectors,” _IEEE Transactions on Robotics_ , vol. 22, no. 1, pp. 189–198, 2006.
  * [12] R. Mannadiar and I. Rekleitis, “Optimal coverage of a known arbitrary environment,” in _2010 IEEE International Conference on Robotics and Automation_. IEEE, 2010, pp. 5525–5530.
  * [13] Y. Gabriely and E. Rimon, “Spanning-tree based coverage of continuous areas by a mobile robot,” in _Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation_ , vol. 2, 2001, pp. 1927–1933 vol.2.
  * [14] G. Cannata and A. Sgorbissa, “A minimalist algorithm for multirobot continuous coverage,” _IEEE Transactions on Robotics_ , vol. 27, no. 2, pp. 297–312, 2011.
  * [15] M. D. Phung, C. H. Quach, T. H. Dinh, and Q. Ha, “Enhanced discrete particle swarm optimization path planning for uav vision-based surface inspection,” _Automation in Construction_ , vol. 81, pp. 25–33, 2017.
  * [16] C. Gao, Y. Kou, Z. Li, A. Xu, Y. Li, and Y. Chang, “Optimal multirobot coverage path planning: ideal-shaped spanning tree,” _Mathematical Problems in Engineering_ , vol. 2018, 2018.
  * [17] P. Wang, K. Gupta, and R. Krishnamurti, “Some complexity results for metric view planning problem with traveling cost and visibility range,” _IEEE Transactions on Automation Science and Engineering_ , vol. 8, no. 3, pp. 654–659, 2011.
  * [18] A. Janchiv, D. Batsaikhan, B. Kim, W. G. Lee, and S.-G. Lee, “Time-efficient and complete coverage path planning based on flow networks for multi-robots,” _International Journal of Control, Automation and Systems_ , vol. 11, no. 2, pp. 369–376, 2013.
  * [19] E. Tolstaya, J. Paulos, V. Kumar, and A. Ribeiro, “Multi-robot coverage and exploration using spatial graph neural networks,” in _2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_. IEEE, 2021, pp. 8944–8950.
  * [20] Y. Li, H. Chen, M. J. Er, and X. Wang, “Coverage path planning for UAVs based on enhanced exact cellular decomposition method,” _Mechatronics_ , vol. 21, no. 5, pp. 876–885, 2011.
  * [21] A. Xu, C. Viriyasuthee, and I. Rekleitis, “Efficient complete coverage of a known arbitrary environment with applications to aerial operations,” _Autonomous Robots_ , vol. 36, no. 4, pp. 365–381, 2014.
  * [22] W. L. Pearn and C. Liu, “Algorithms for the chinese postman problem on mixed networks,” _Computers & operations research_, vol. 22, no. 5, pp. 479–489, 1995.
  * [23] L. Paull, C. Thibault, A. Nagaty, M. Seto, and H. Li, “Sensor-driven area coverage for an autonomous fixed-wing unmanned aerial vehicle,” _IEEE Transactions on Cybernetics_ , vol. 44, no. 9, pp. 1605–1618, 2014.
  * [24] J. Chen, C. Du, Y. Zhang, P. Han, and W. Wei, “A clustering-based coverage path planning method for autonomous heterogeneous UAVs,” _IEEE Transactions on Intelligent Transportation Systems_ , 2021.
  * [25] Y. Choi, Y. Choi, S. Briceno, and D. N. Mavris, “Energy-constrained multi-UAV coverage path planning for an aerial imagery mission using column generation,” _Journal of Intelligent & Robotic Systems_, vol. 97, no. 1, pp. 125–139, 2020.
  * [26] M. Theile, H. Bayerlein, R. Nai, D. Gesbert, and M. Caccamo, “UAV coverage path planning under varying power constraints using deep reinforcement learning,” in _2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_ , pp. 1444–1449.
  * [27] L. Collins, P. Ghassemi, E. T. Esfahani, D. Doermann, K. Dantu, and S. Chowdhury, “Scalable coverage path planning of multi-robot teams for monitoring non-convex areas,” in _2021 IEEE International Conference on Robotics and Automation (ICRA)_ , pp. 7393–7399.
  * [28] S. Papaioannou, P. Kolios, T. Theocharides, C. G. Panayiotou, and M. M. Polycarpou, “UAV-based receding horizon control for 3d inspection planning,” in _2022 International Conference on Unmanned Aircraft Systems (ICUAS)_ , 2022, pp. 1121–1130.
  * [29] ——, “Distributed search planning in 3-d environments with a dynamically varying number of agents,” _IEEE Transactions on Systems, Man, and Cybernetics: Systems_ , vol. 53, no. 7, pp. 4117–4130, 2023.
  * [30] T. M. Cabreira, L. B. Brisolara, and P. R. Ferreira Jr, “Survey on coverage path planning with unmanned aerial vehicles,” _Drones_ , vol. 3, no. 1, p. 4, 2019.
  * [31] C. S. Tan, R. Mohd-Mokhtar, and M. R. Arshad, “A comprehensive review of coverage path planning in robotics using classical and heuristic algorithms,” _IEEE Access_ , vol. 9, pp. 119 310–119 342, 2021.
  * [32] S. Papaioannou, P. Kolios, T. Theocharides, C. G. Panayiotou, and M. M. Polycarpou, “Integrated guidance and gimbal control for coverage planning with visibility constraints,” _IEEE Transactions on Aerospace and Electronic Systems_ , 2022, doi:10.1109/TAES.2022.3199196.
  * [33] ——, “Integrated ray-tracing and coverage planning control using reinforcement learning,” in _2022 IEEE 61st Conference on Decision and Control (CDC)_ , 2022, pp. 7200–7207.
  * [34] I. Maza and A. Ollero, “Multiple UAV cooperative searching operation using polygon area decomposition and efficient coverage algorithms,” in _Distributed Autonomous Robotic Systems 6_. Springer, 2007, pp. 221–230.
  * [35] T. M. Cabreira, C. Di Franco, P. R. Ferreira, and G. C. Buttazzo, “Energy-aware spiral coverage path planning for UAV photogrammetric applications,” _IEEE Robotics and automation letters_ , vol. 3, no. 4, pp. 3662–3668, 2018.
  * [36] R. Almadhoun, T. Taha, L. Seneviratne, and Y. Zweiri, “A survey on multi-robot coverage path planning for model reconstruction and mapping,” _SN Applied Sciences_ , vol. 1, no. 8, pp. 1–24, 2019.
  * [37] G. Taubin, “3d rotations,” _IEEE Computer Graphics and Applications_ , vol. 31, no. 6, pp. 84–89, 2011.
  * [38] S. Papaioannou, P. Kolios, and G. Ellinas, “Distributed estimation and control for jamming an aerial target with multiple agents, doi: 10.1109/TMC.2022.3207589,” _IEEE Transactions on Mobile Computing_ , 2022\.