Resilience is a property that robotic systems need to exhibit in order to be successfully deployed in the real world over long periods of time. When conditions are not nominal—because the environment is unknown, unstructured, non-stationary, or because functionalities have been lost due to system failures—resilience is the property that allows robots to react and recover by structurally changing their behavior or their objective in order to survive, in a robotic sense.
Heterogeneity can also contribute favorably to resilience. Consider an example scenario where a heterogeneous multi-robot system consisting of ground and aerial mobile robots, is tasked with carrying objects to specified locations in the environment. Unexpected weather conditions might lead to high speed winds in the environment, which might prevent aerial robots from making further progress towards the accomplishment of their goal. In such a case, heterogeneity will allow the robot team to achieve the desired objective despite the unexpected conditions.
The following constraint-optimization formulation is amenable to encode a resilient robot behavior in
multi-task execution scenarios:
$$
\begin{aligned}
\underset{u,\delta,\alpha}{\mathrm{minimize}} ~~& \| u \|^2 + \kappa_1 \| \delta \|^2 + \kappa_2 \|
\alpha-\alpha_0 \|^2\\
\mathrm{subject~to} ~~& g_{task,1}(x,u) \le \delta_1\\
~~& \quad\vdots\\
~~&g_{task,M}(x,u) \le \delta_M\\
~~&g_{energy}(x,E,u) \le 0\\
~~&P(\alpha)\delta\le0.
\end{aligned}
$$
Each task is encoded by means of the constraint function \(g_{task,i}\), where \(\delta_i\) is the slack
variable corresponding to task \(i\), used to prioritize tasks. The allocation of tasks to robots is
performed through the constraint \(P(\alpha)\delta\le0\). The allocation vector \(\alpha_0\) indicates a
desired allocation, evaluated based on the capabilities that different robots have at executing different
tasks.
It is interesting to notice that the allocation \(\alpha\) is an optimization variable evaluated online
alongside the control input \(u\) required by the robots to execute the allocated tasks. This feature allows
the allocation algorithm to adapt to varying environmental conditions and render the multi-robot system
resilient to failures and unexpected phenomena. The videos below showcase resilient robot teams in
multi-task execution scenarios and subject to internal failures and unexpected environmental phenomena.
References