  In the context of heterogeneous multi-robot teams deployed for executing
multiple tasks, this paper develops an energy-aware framework for allocating
tasks to robots in an online fashion. With a primary focus on long-duration
autonomy applications, we opt for a survivability-focused approach. Towards
this end, the task prioritization and execution -- through which the allocation
of tasks to robots is effectively realized -- are encoded as constraints within
an optimization problem aimed at minimizing the energy consumed by the robots
at each point in time. In this context, an allocation is interpreted as a
prioritization of a task over all others by each of the robots. Furthermore, we
present a novel framework to represent the heterogeneous capabilities of the
robots, by distinguishing between the features available on the robots, and the
capabilities enabled by these features. By embedding these descriptions within
the optimization problem, we make the framework resilient to situations where
environmental conditions make certain features unsuitable to support a
capability and when component failures on the robots occur. We demonstrate the
efficacy and resilience of the proposed approach in a variety of use-case
scenarios, consisting of simulations and real robot experiments.
