2.6.2. Completion Time Optimisation

Additionally to full coverage, the multi-robot system is asked to perform the exploration in minimal time. Therefore, from (4), the minimal completion time condition can be expressed as:

$$\min \mathcal{T} \mid \nexists X\_i(\mathcal{T}), \text{sen}\_i(\mathcal{T}) \bigcap E\_{\text{unknown}} \neq \mathcal{Q} \tag{5}$$

2.6.3. Isolation Avoidance

In multi-robot exploration missions, the individual isolation situations (when a robot becomes unconnected from any other) are non-desirable. The key motivations to avoid them are (i) When robots are unconnected they have no possibilities to coordinate their actions, hence they could visit the same regions. Therefore, keeping the fleet connected is a way to decrease inefficiency; (ii) Damages or inner failures during isolation periods can lead to information losses. Therefore, keeping the fleet connected is also a way to decrease the risk of re-work and to prevent time performance degradation, consequently.

Thus, in addition to (5), the last of possible individual disconnections should be minimised. To this end, concepts of graph theory are borrowed in order to model a time-varying network topology of mobile robots. Such network is represented employing an undirected graph defined as G(*t*)=(V, E(*t*)) where the nodes V = {1 ... *M*} represent the robots *Ri* | *i* ∈ [1..*M*] and the edges E(*t*) = {*i*, *j* | *i*, *j* ∈ V, *j* ∈ N*i*(*Eknown*(*t*), *t*)} represent the operative communication links between any pair of robots *Ri*, *Rj* .

The function N*i*(*Eknown*(*t*), *t*) = {*j* | Γ*i*(*j*, *Eknown*(*t*), *t*) > 0} computes the neighbours of a robot *i* at time *t*. From this it is possible to define the isolation situations of any robot *i* like the periods when the corresponding node *i* has no incident edges (*degree*(*i*) = 0). Furthermore, isolation situations may repeat several times along the exploration.

In Figure 4 an example of an exploration timeline concerning disconnections is depicted.

**Figure 4.** Disconnection events representation. The disconnection events *dEk* can appear distributed along the exploration timeline. Its last is variable and depends on the movements realised by the fleet during the exploration. The starting and ending times of each disconnection are represented by the timestamps *t i sk* and *t i ek*, respectively.

From this model, the expression for the disconnection last optimisation may be obtained as follows:

$$\min \sum\_{i \in \mathcal{V}} \sum\_{k} \Delta dE\_k \tag{6}$$

where : *k* indexes the disconnection events *dE*

Δ*dEk* = *t i ek* − *t i sk*, represents the last of the disconnection event *dEk t i sk* = min *tk* | N*i*(*Eknown*(*t*), *tk*) = ∅, represents the starting time of the disconnection *dEk t i ek* = max *tk* | N*i*(*Eknown*(*t*), *tk*) = ∅, represents the ending time of the disconnection *dEk*

#### **3. Auto-Adaptive Multi-Objective Task Selection Approach**

In this section, a novel multi-objective based approach for multi-robot exploration missions is introduced. As was mentioned above, in exploration missions the best choice for the robots is to visit the places where the gain of information can be potentially higher. Gaining information is, actually, the only way to conclude the exploration task. Therefore, the connection between path-cost-based target selection strategies and the completion time performance obtained resides in the fact that this way the fleet expand its territorial knowledge potentially faster. Besides, when the environment presents communication restrictions, individual failures or incoordinations can lead to inefficiency more likely.

In order to make the system robust and efficient, a decentralised and asynchronous coordination mechanism is defined. An auto-adaptive multi-objective task utility function is defined in accordance with both the task identification method presented in Section 2.4 and the objectives of the exploration problem defined in Section 2.6. Its primary purpose is to integrate travelling costs and connectivity levels finding solutions with a right balance between the benefit of visiting the closer targets and the usefulness of keeping the team connectivity level as high as possible.

Furthermore, to make the system more flexible, an analytic approach through which the relative importance of each goal is set independently of the scenarios, is followed. As a result, an auto-adaptive procedure—where the human operator is asked to use his application field expertise in order to influence the robot decisions defining a criterion to balance the importance of both objectives—is developed. Several proofs of correctness on such a procedure are conducted demonstrating that the robots are always capable of auto-adapt the objectives weights to select the tasks accordingly with the human-operator criterion.

#### *3.1. Task Utility Function*

This function will guide the optimal task distribution search regarding well-balanced solutions where both the travelling cost and the team connectivity level are considered to evaluate the current targets. The objectives are implemented using utility functions such as (i) *path* utility function takes the travelling costs to deliver a notion of how beneficial—concerning distance—the tasks under consideration are; (ii) *connectivity* utility function gives the robots a connectivity awareness ability.

The *task* utility function <sup>Φ</sup>*<sup>i</sup>* : [0, 1] <sup>×</sup> *<sup>T</sup>* <sup>×</sup> *<sup>R</sup><sup>M</sup>* <sup>×</sup> *<sup>S</sup>m*×*<sup>n</sup>* <sup>→</sup> [0, 1], is defined as follows:

$$\Phi\_i(\mathfrak{a}, T\_j, \mathbb{R}, E\_{known}) = \mathfrak{a} \cdot \Psi\_i(T\_j, E\_{known}) + \beta \cdot \Omega\_i(T\_j, \mathbb{R}) \tag{7}$$
 
$$\text{s.t.}$$
 
$$1 \le i \le M = |\mathbb{R}|, 1 \le j \le N = |T|$$
 
$$\mathfrak{a} + \beta = 1 \mid \mathfrak{a}, \beta \in [0, 1]$$

Given the current state of the fleet *R* and the current environment knowledge *Eknown*, the function Φ*<sup>i</sup>* estimates the utility obtained by a robot *Ri* in case of selecting the task *Tj*. The current fleet state refers to both the location of the assigned tasks in case of assigned robots and the robot positions otherwise. The terms Ψ and Ω represent *path* utility and *connectivity* utility functions, respectively. The weights *α* and *β* work as tuning parameters that permit to adjust the kind of solutions the system will search for. If *α* = 1 during the whole exploration, then the system would only intent to spread out the fleet. On the contrary, if *α* = 0 then the system would always search for potentially fully connected

solutions. Otherwise, when (0 < *α* < 1) the system will balance both *path* utility and *connectivity* utility. As a result, sometimes the robots could choose other tasks than the closest to favour the team connectivity level. This possibility is deeply analysed further below in Section 4.

Although in this double-objective function the symbol *β* could be substituted by 1 − *α*, it is preserved for the sake of generality: if the weighted sum had more than two terms, it would not be possible to express all weights as *α* functions.
