This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Capability Augmentation for Heterogeneous Dynamic Teaming
with Temporal Logic Tasks

Carter Berlind, Wenliang Liu, Alyssa Pierson, and Calin Belta This work was partially funded by the NSF under grant IIS-2024606 and a Boston University startup grantThe authors are with the Department of Mechanical Engineering, Boston University, Boston, MA, USA [email protected], [email protected], [email protected], [email protected]
Abstract

This paper considers how heterogeneous multi-agent teams can leverage their different capabilities to mutually improve individual agent performance. We present Capability-Augmenting Tasks (CATs), which encode how agents can augment their capabilities based on interactions with other teammates. Our framework integrates CAT into the semantics of Metric Temporal Logic (MTL), which defines individual spatio-temporal tasks for all agents. A centralized Mixed-Integer Program (MIP) is used to synthesize trajectories for all agents. We compare the expressivity of our approach to a baseline of Capability Temporal Logic Plus (CaTL+). Case studies demonstrate that our approach allows for simpler specifications and improves individual performance when agents leverage the capabilities of their teammates.

I Introduction

In this paper, we consider a team of agents with varying capabilities and individual tasks, i.e. each agent has a task that it alone is responsible for completing. We focus on tasks where agents need to traverse an environment to reach regions where they can fulfill service requests while avoiding dangerous regions. In certain cases, we identify that agents may be able to fulfill requests without being in the proper regions and stay safe in dangerous regions if they are accompanied by agents with complementary capabilities.

For example, consider a ground agent that must stay dry but travel through regions with water if it is carried by an aerial agent. Collaboration between these agents could improve their ability to satisfy their tasks. We call this capability-augmenting collaboration.

In this work, we focus on generating high-level motion plans for a team of agents using capability-augmenting collaboration. We assign the agents spatio-temporal tasks that include servicing requests and avoiding danger using a rich specification language and formulate a planner to generate trajectories for the team of agents. Our goal is to maximize the number of agents that complete their tasks and minimize the distance they travel.

Previous works explore agents satisfying tasks in heterogeneous teams [1, 2, 3, 4, 5]. [1] demonstrates improvements in rescues made in search and rescue settings, [2] shows improvements in coverage of domains where regions require different mobility capabilities, and [3] shows improvements resilience in networked systems. These works provide ample justification for further exploitation of heterogeneity in multi-agent systems. Works such as [6, 7, 8, 9, 10, 11, 12, 13] provide a foundation for how various tasks are allocated and completed using a team of robots based on agent capabilities. The authors of [6] assign tasks based on system resilience and energy efficiency use, and [7] and [8] assign tasks based on cooperation constraints between agents. In this paper, we build on these works by formalizing a method for agents with tasks that are already allocated to better leverage their heterogeneity through capability-augmenting collaboration.

We use Metric Temporal Logic (MTL) [14][15] to formalize the spatio-temporal tasks for the agents. MTL is a rich specification language that allows us to assign tasks based on concrete time intervals. Works such as [16, 17, 18, 19] offer task allocation and planning formulations for heterogeneous teams using temporal logic specifications. For instance, the authors of [16] defined specifications with Capability Temporal Logic plus (CATL+) in a disaster response scenario, and [17] defined a construction task for modular and reconfigurable robots using MTL. It is often difficult or intractable to specify that tasks can be satisfied using capability-augmenting collaboration in these formulations. We provide a detailed comparison between previous methods and ours in Section IV to demonstrate our method’s benefits.

In this paper we build on the tools designed for specification and verification of behaviors of teams of robots, such as [18, 20, 21, 17, 22, 23, 24, 25, 26, 27], by introducing a formalization for capability-augmenting collaboration using MTL. We use a special case of MTL in which we introduce Capability-Augmenting Tasks (CATs) to simplify the encoding of capability-augmenting collaboration. Specifically, the contributions of this work are as follows:

  1. 1.

    We formalize a planning problem for a team of heterogeneous agents using capability-augmenting collaboration in MTL.

  2. 2.

    We formulate a centralized Mixed Integer Program (MIP) to generate trajectories for the agents.

  3. 3.

    We demonstrate the benefit of capability-augmenting collaboration in satisfying individual tasks in comparison to systems where it is not used.

We formalize the problem of agents utilizing capability-augmenting collaboration and motivate the need to generate group trajectories in Sec. II. We present an approach for generating motion plans that satisfy as many individual tasks as possible while minimizing the distance the agents travel using an MIP in Sec. III. In Sec. IV, we compare the types of collaboration that our formulation can capture to previous work. Finally, we use a case study to demonstrate the benefits of using capability-augmenting collaboration in Sec. V.

II Problem Statement

In this section, we formalize the planning problem for a team of agents using capability-augmenting collaboration to satisfy individual tasks. First, we provide a model for the agents and environment. We then use this model to define individual tasks for the agents using metric temporal logic. We then introduce our method for encoding capability-augmenting collaboration using CATs. Finally, we use our model of the agents and environment, along with the MTL tasks, to formalize a planning problem that we can approach solving in the next section.

To create this formalization, we introduce some basic notation. In this work, we use 0\mathbb{R}_{\geq 0} to describe the set of non-negative real numbers, and 0\mathbb{Z}_{\geq 0} denotes the set of non-negative integers. |||\cdot| denotes the cardinality of a set. ||||1||\cdot||_{1} denotes the L-1 norm. Let 2S2^{S} denote the power set of set SS.

II-A System Model

In this section, we formalize a model for the agent and environment. We consider a group of heterogeneous agents operating in a partitioned 2D shared environment. In each region, there can either be a service request that an agent can satisfy by visiting that region, an indication that the region should be avoided, or neither. Formally, we define the environment as a tuple Env=(𝒬,E,Π,)Env=(\mathcal{Q},E,\Pi,\mathcal{L}), where 𝒬\mathcal{Q} is the set of nodes (vertices) corresponding to environment regions and E𝒬×𝒬E\subseteq\mathcal{Q}\times\mathcal{Q} is the set of directed edges such that (q,q)E(q,q^{\prime})\in E iff an agent can transition from node qq to node qq^{\prime}(this includes self-transitions). The environment we consider is a grid such that all transitions that are not self-transition are the same distance. For q𝒬q\in\mathcal{Q}, let adj(q)𝒬adj(q)\subset\mathcal{Q} be the set of nodes that are adjacent to node qq, i.e., qadj(q)(q,q)Eq^{\prime}\in adj(q)\iff(q,q^{\prime})\in E. Let Π\Pi be a set of labels that report the the service requests and indications of danger of the environment, and :𝒬2Π\mathcal{L}:\mathcal{Q}\mapsto 2^{\Pi} be a mapping that matches each node to a set of labels. Agents are asked to visit and avoid the features of the environment by referencing if it is in a node with a corresponding label.

We assume that the agents travel between nodes using existing edges. As they travel, they incur costs based on the number of transitions they take that are not self-transitions. The agents are synchronized using a central clock. At every time step the agents either transition to a new node or make a self-transition and stay in place. These transitions always take a single time step. Agents are indexed from a finite set {1,,NA}\{1,...,N_{A}\}, where NAN_{A} is the total number of agents in the environment.

We define an individual agent as a tuple aj=(𝒞j,qj(0))a_{j}=(\mathcal{C}_{j},q_{j}(0)), where 𝒞j\mathcal{C}_{j} is the set of capabilities of agent jj, j{1,,NA}j\in\{1,...,N_{A}\}. The capabilities of each agent determine how they collaborate with other agents (detailed in Sec. II-B and Sec. II-C). Let 𝒞global\mathcal{C}_{global} be the total set of capabilities held by all the agents in the system, i.e., 𝒞global=j{1,,NA}𝒞j\mathcal{C}_{global}=\cup_{j\in\{1,\ldots,N_{A}\}}\mathcal{C}_{j}. We define IcI_{c} as the set of indices of agents with a specific capability cc where c𝒞globalc\in\mathcal{C}_{global}, i.e. jIcc𝒞jj\in I_{c}\iff c\in\mathcal{C}_{j}. Let qj(k)𝒬q_{j}(k)\in\mathcal{Q} be the node occupied by agent jj at time kk, and qj(0)q_{j}(0) be the agent’s initial node. In this paper, we only consider the high-level motion plan, i.e., the transitions of robots between nodes. We assume any number of agents can be in the same node and take the same transitions simultaneously without worry of collision. The inter-agent collision can be avoided by using a lower-level controller tracking the high-level motion plan, which will be considered in future work. We define a group trajectory 𝐐𝒬Tp×NA\mathbf{Q}\in\mathcal{Q}^{T_{p}\times N_{A}} as the sequence of nodes every agent visits where 𝐐[k]=[q1(k),,qNA(k))]\mathbf{Q}[k]=[q_{1}(k),\ldots,q_{N_{A}}(k))] and TpT_{p} is the planning horizon (defined in Sec. II-D).

II-B MTL Specifications

Next, we define our language for specifying tasks for the agents. In this paper, we use MTL [14][15] to formally define an individual specification for each agent. We define the individual MTL specification for an agent jj over its trace. The trace of agent jj is defined as 𝐎j=𝐨j(0),𝐨j(1),,𝐨j(Tp)\mathbf{O}_{j}=\mathbf{o}_{j}(0),\mathbf{o}_{j}(1),...,\mathbf{o}_{j}(T_{p}), where 𝐨j(k)\mathbf{o}_{j}(k) is the observation of agent jj at time step kk, defined as

𝐨j(k)=((qj(k)),{njc(k)}c𝒞global).\mathbf{o}_{j}(k)=(\mathcal{L}(q_{j}(k)),\{n^{c}_{j}(k)\}_{c\in\mathcal{C}_{global}}).

Here, njc(k)n_{j}^{c}(k) is the number of agents with capability cc in the same node with agent jj at time step kk excluding agent jj:

njc(k)=iIcjβ(qi(k)=qj(k)),n_{j}^{c}(k)=\sum_{i\in I_{c}\setminus j}\beta\big{(}q_{i}(k)=q_{j}(k)\big{)},

where β\beta is a binary indicator function that returns 11 if a statement is true and 0 otherwise. The reason we include njc(k)n_{j}^{c}(k) is so we can evaluate tasks using capability-augmenting collaboration. The syntax of the MTL we use in this paper is defined as follows:

ϕ:=|AP|¬ϕ|\displaystyle\phi:=\top|\text{AP}|\neg\phi| ϕ1ϕ2|ϕ1ϕ2|\displaystyle\phi_{1}\land\phi_{2}|\phi_{1}\lor\phi_{2}|
[k1,k2]ϕ|[k1,k2]ϕ|ϕ1U[k1,k2]ϕ2.\displaystyle\lozenge_{[k_{1},k_{2}]}\phi|\square_{[k_{1},k_{2}]}\phi|\phi_{1}U_{[k_{1},k_{2}]}\phi_{2}. (1)

Here, k1,k20k_{1},k_{2}\in\mathbb{Z}_{\geq 0} are time bounds with k1k2<k_{1}\leq k_{2}<\infty. [k1,k2]\lozenge_{[k_{1},k_{2}]} is the temporal operator eventually, and [k1,k2]ϕ\lozenge_{[k_{1},k_{2}]}\phi requires that ϕ\phi has to be true at some point in the time interval [k1,k2][k_{1},k_{2}]. [k1,k2]\square_{[k_{1},k_{2}]} is the temporal operator always, and [k1,k2]ϕ\square_{[k_{1},k_{2}]}\phi requires that ϕ\phi must be true at all points in the time interval [k1,k2][k_{1},k_{2}]. U[k1,k2]U_{[k_{1},k_{2}]} is the temporal operator until, and ϕ1U[k1,k2]ϕ2\phi_{1}U_{[k_{1},k_{2}]}\phi_{2} requires that ϕ2\phi_{2} is true at some point in [k1,k2][k_{1},k_{2}] and ϕ1\phi_{1} is always true before that. ¬\neg, \land, and \lor are the negation, conjunction, and disjunction Boolean operators, respectively. AP is an atomic proposition. We will formally encode capability-augmenting collaboration into the atomic propositions in Section II-C. We use (𝐎j,k)ϕ(\mathbf{O}_{j},k)\models\phi to denote that the trace of agent jj satisfies the MTL formula ϕ\phi at time kk. The time horizon of a formula ϕ\phi, denoted as TϕT_{\phi}, is the smallest time point in the future for which the observation is required to determine the satisfaction of the formula. Formal definitions of the semantics, as well as the time horizon TϕT_{\phi} can be found in [14] and [15].

II-C Capability-Augmenting Task

In this subsection, we define a specific kind of atomic proposition called CATs that we use to formalize and encode capability-augmenting collaboration into MTL.

Definition 1 (Syntax of CATs).

The syntax of a CAT is defined as:

𝒞𝒜𝒯=π,{caug,maug},{cal,mal},\displaystyle\mathcal{CAT}=\langle\pi,\{c_{aug},m_{aug}\},\{c_{al},m_{al}\}\rangle, (2)

where πΠ\pi\in\Pi is a label, caug,cal𝒞globalc_{aug},c_{al}\in\mathcal{C}_{global} are two capabilities, maug,mal0m_{aug},m_{al}\in\mathbb{Z}_{\geq 0} are two non-negative integers.

Intuitively, an agent jj can satisfy the CAT (2) at time kk in two ways. The first is to reach a node labeled by a specified π\pi, i.e., π(qj(k))\pi\in\mathcal{L}(q_{j}(k)). In cases when agent jj cannot reach a node with label π\pi, the second way that the agent may be able to satisfy the CAT is that there are at least maugm_{aug} agents with a compatible capability caug𝒞globalc_{aug}\in\mathcal{C}_{global} and less than malm_{al} agents with capability cal𝒞globalc_{al}\in\mathcal{C}_{global} in the agent’s node qj(k)q_{j}(k) excluding itself. We refer to caugc_{aug} as an augmenting capability and calc_{al} as an availability-limiting capability. In other words, if the required number of agents with an augmenting capability caugc_{aug} are present and available in an agent’s node, then the agent can satisfy the CAT with their assistance without being in a node with the required label π\pi. The agents with the augmenting capability are unavailable if and only if there are no less than malm_{al} agents with the availability-limiting capability calc_{al} in the agent’s node excluding itself because we assume that the agents with the augmenting capability caugc_{aug} may be assisting other agents. We make this conservative assumption to ensure that generating trajectories based on CATs is tractable. We will address relaxing this assumption in future work. The second way to satisfy a CAT, i.e., satisfying it via collaboration, is referred to as capability-augmenting collaboration. The satisfaction of a CAT, referred to as the qualitative semantics, is formulated in the following definition.

Definition 2 (Qualitative Semantics of CAT).

The trace of agent jj satisfies a 𝒞𝒜𝒯=π,{caug,maug},{cal,mal}\mathcal{CAT}=\langle\pi,\{c_{aug},m_{aug}\},\{c_{al},m_{al}\}\rangle at time kk, i.e., (𝐎j,k)π,{caug,maug},{cal,mal}(\mathbf{O}_{j},k)\models\langle\pi,\{c_{aug},m_{aug}\},\{c_{al},m_{al}\}\rangle, if and only if:

π(qj(k))(njcaug(k)maugnjcal(k)<mal).\pi\in\mathcal{L}(q_{j}(k))\lor(n_{j}^{c_{aug}}(k)\geq m_{aug}\land n_{j}^{c_{al}}(k)<m_{al}). (3)

There are two special cases for a CAT. First, if mal>|Ical|m_{al}>|I_{c_{al}}|, which means that agents with capability caugc_{aug} are always available to collaborate, we remove cal,malc_{al},m_{al} from the CAT for simplicity, i.e., the CAT is denoted as π,{caug,maug},{}\langle\pi,\{c_{aug},m_{aug}\},\{\}\rangle. Second, if maug>|Icaug|m_{aug}>|I_{c_{aug}}|, which means that agents with capability caugc_{aug} can never collaborate with agent jj, we remove caug,maugc_{aug},m_{aug} from the CAT and turn it into π,{},{}\langle\pi,\{\},\{\}\rangle for simplicity. In both cases, the semantics (3) can be evaluated without the omitted components.

II-D Problem Formulation

We assign an MTL specification ϕj\phi_{j} defined over 𝐎j\mathbf{O}_{j} to each agent jj. We define ρ(𝐎j,ϕj,k)\rho(\mathbf{O}_{j},\phi_{j},k) to quantify the satisfaction of ϕj\phi_{j}, where ρ\rho maps a trace 𝐎j\mathbf{O}_{j}, an MTL formula ϕj\phi_{j}, and time step kk to either 11 or 1-1 depending on satisfaction. It is defined formally as follows:

ρ(𝐎j,ϕj,k)=\displaystyle\rho(\mathbf{O}_{j},\phi_{j},k)= {1,if 𝐎j[k]ϕj,1,if 𝐎j[k]ϕj.\displaystyle\left\{\begin{array}[]{lr}1,&\text{if }\mathbf{O}_{j}[k]\models\phi_{j},\\ -1,&\text{if }\mathbf{O}_{j}[k]\models\phi_{j}.\end{array}\right. (6)

This metric does not report the degree of satisfaction as a robustness metric would. Rather, it numerically captures Boolean satisfaction for individual agents. We determine the planning horizon from the individual specifications as Tp=maxj{1,,NA}(Tϕj)T_{p}=\max_{j\in\{1,...,N_{A}\}}(T_{\phi_{j}}). We evaluate the performance of agent jj using ρ(𝐎j,ϕj,0)\rho(\mathbf{O}_{j},\phi_{j},0) and an individual motion cost. The motion cost Jj:𝒬Tp×NA0J_{j}:\mathcal{Q}^{T_{p}\times N_{A}}\mapsto\mathbb{Z}_{\geq 0} is the number of transitions, excluding self-transitions, an agent takes and is formulated as:

Jj\displaystyle J_{j} (𝐐)=\displaystyle(\mathbf{Q})= (7)
k=0Tp1q𝒬qadj(q)\qβ((q,q)=(qj(k),qj(k+1))).\displaystyle\sum_{k=0}^{T_{p}-1}\sum_{q\in\mathcal{Q}}\sum_{q^{\prime}\in adj(q)\backslash q}\beta\big{(}(q,q^{\prime})=(q_{j}(k),q_{j}(k+1))\big{)}.

We define individual agent performance Pj:𝒬Tp×NA×ϕjP_{j}:\mathcal{Q}^{T_{p}\times N_{A}}\times\phi_{j}\mapsto\mathbb{R} as:

Pj(𝐐,ϕj)=Mρ(𝐎j,ϕj,0)Jj(𝐐),P_{j}(\mathbf{Q},\phi_{j})=M*\rho(\mathbf{O}_{j},\phi_{j},0)-J_{j}(\mathbf{Q}), (8)

where MM is a large enough positive number M0M\in\mathbb{R}_{\geq 0} to prioritize the satisfaction of ϕj\phi_{j}. Note that we use the nodes that makeup 𝐐\mathbf{Q} to solve for the sequence of observations 𝐎j\mathbf{O}_{j}, meaning that 𝐐\mathbf{Q} and ϕj\phi_{j} are enough to evaluate PjP_{j}. MM should be larger than the largest possible value of an individual cost Msup𝐐Jj(𝐐)M\geq\sup_{\mathbf{Q}}J_{j}(\mathbf{Q}). PjP_{j} is an aggregate metric used to evaluate both task satisfaction and accumulated cost.

Our objective is to find an optimal group trajectory 𝐐\mathbf{Q}^{*}, that utilizes the heterogeneous capabilities of the agents to maximize the agent performance and abide by all motion constraints. We solve for optimal trajectories as follows :

𝐐=\displaystyle\mathbf{Q}^{*}= argmax𝐐j{1,,NA}Pj(𝐐,ϕj),\displaystyle\operatorname*{arg\,max}_{\mathbf{Q}}\;\sum_{j\in\{1,...,N_{A}\}}P_{j}(\mathbf{Q},\phi_{j}), (9)
s.t.qj(k+1)adj(qj(k)),\displaystyle s.t.\;q_{j}(k+1)\in\;adj(q_{j}(k)),
j{1,,NA},k[0,,Tp1].\displaystyle\hskip 20.0pt\forall j\in\{1,...,N_{A}\},k\in[0,...,T_{p}-1].

We maximize agent performance rather than constraining the system to satisfy all individual specifications. We do so to allow as many agents as possible to satisfy their specifications when not all specifications are feasible.

Remark 1.

For simplicity, we assume the collaboration between agents does not affect the dynamics of the agents which are represented by the constraints in (9). The relaxation of this assumption will be investigated in future work.

Refer to caption
Figure 1: Example: An environment with two ground agents and an aerial agent. The aerial agent must take a picture in “Scenic” nodes and upload it in “Upload” nodes. The ground agent must reach “Goal” and avoid “Water”. In this case, the ground robots can also upload pictures, and the aerial robot can carry one ground robot over the water at a time.

Example: Consider a system composed of three agents (NA=3N_{A}=3) with one aerial and two ground robots (see Fig. 1). The aerial robot must reach a node with the label “Scenic” to take a picture and upload it to a database at a node with the label “Upload”. The ground robots must reach a region with the label “Goal” at some point and never touch “Water”. The ground robot can enter the “Water” regions if it is carried by an aerial agent. The ground robots have a wireless connection to the database that the aerial agent can use to upload its picture when they are together, independently of whether they are in a node with the label “Upload”. The aerial robot can carry one ground robot at a time. Agents plan their trajectories using a central computer, but cannot use it to send or receive images.

We assume that if an agent is in a node where it can perform actions such as taking and uploading pictures, either on its own or in a collaborating way, it does so automatically. All actions happen instantaneously.

The aerial robot has capability 𝒞1={“carry”}\mathcal{C}_{1}=\{\text{``carry"}\}. The ground agents have capabilities 𝒞2=𝒞3={“WiFi”,“wheels”}\mathcal{C}_{2}=\mathcal{C}_{3}=\{\text{``WiFi"},\text{``wheels"}\}. As shown in Fig. 1, the environment has labels Π={“Upload”,“Scenic”,“Water”,“Goal”}\Pi=\{\text{``Upload"},\text{``Scenic"},\text{``Water"},\text{``Goal"}\}.

We encode that aerial agent can carry the ground agent over water with a CAT ¬“Water”,{“carry”,1},{“wheels”,1}\langle\neg\text{``Water''},\{\text{``carry''},1\},\{\text{``wheels''},1\}\rangle defined over the ground robot. Here, with a slight abuse of notation, we use ¬π\neg\pi to denote a label that is assigned to all nodes that are not labeled by π\pi, i.e., (¬π)(q)π(q)(\neg\pi)\in\mathcal{L}(q)\iff\pi\not\in\mathcal{L}(q). This CAT allows the aerial agent to assist the ground robot over water if there are no other ground robots in the same node. The CAT defined over the aerial robot that encodes the aerial agent’s ability to upload pictures using a ground robot is “Upload”,{“WiFi”,1},{}\langle\text{``Upload''},\{\text{``WiFi''},1\},\{\}\rangle. These CATs provide a succinct encoding that captures capability-augmenting collaboration.

The aerial agent’s specification is to take a picture at “Scenic” in the first 6 time-steps and then upload it within 4 time-steps. The ground agents’ specification is to visit “Goal” in the first 10 time-steps and always avoid “Water” unless carried by an aerial agent. These specifications are encoded as follows:

ϕ1=\displaystyle\phi^{1}= [0,6](“Scenic”,{},{}\displaystyle\lozenge_{[0,6]}(\langle\text{``Scenic"},\{\},\{\}\rangle
[0,4]“Upload”,{“WiFi”,1},{}),,\displaystyle\land\lozenge_{[0,4]}\langle\text{``Upload"},\{\text{``WiFi"},1\},\{\}\rangle),, (10)
ϕ2=ϕ3=\displaystyle\phi^{2}=\phi^{3}= [0,10]“Goal”,{},{}\displaystyle\lozenge_{[0,10]}\langle\text{``Goal"},\{\},\{\}\rangle
[0,10]¬“Water”,{“carry”,1},{“wheel”,1}.\displaystyle\land\square_{[0,10]}\langle\neg\text{``Water"},\{\text{``carry"},1\},\{\text{``wheel"},1\}\rangle. (11)

In this section, we defined capability-augmenting collaboration as a method for agents to utilize each other’s capabilities to satisfy individual specifications. In the next section, we synthesize a Mixed Integer Program to find optimal group trajectories for the agents.

III Approach

III-A Overview

In the previous section, we formulated the problem of synthesizing a group trajectory that satisfies individual MTL specifications using capability-augmenting collaboration as an optimization problem (9). In this section, we detail our approach for solving (9) using a Mixed Integer Program (MIP). To do this, we first need to encode the group trajectories as decision variables and ensure that their motion is constrained as seen in (9). Next, we need to generate variables that allow us to determine the satisfaction of the CATs. Finally, we need to use these variables to solve (9).

III-B Mixed Integer Program Formulation

In this subsection, we define a Mixed Integer Program (MIP) that finds a group trajectory for the agents. The discrete environment and binary and integer elements of the CAT encoding make using an MIP necessary for generating optimal group trajectories.

To begin with, we formulate MIP motion constraints for the individual agents. We define binary decision variables for motion as zj,(q,q),k{0,1},j{1,,NA},(q,q)E,k[0,,Tp]z_{j,(q,q^{\prime}),k^{\prime}}\in\{0,1\},\;\forall j\in\{1,...,N_{A}\},\;(q,q^{\prime})\in E,k^{\prime}\in[0,...,T_{p}]. If zj,(q,q),k=1z_{j,(q,q^{\prime}),k^{\prime}}=1 then, agent jj moves from node qq to node qq^{\prime} at time kk^{\prime}. Otherwise, a different transition is taken. This means that if zj,(q,q),k=1z_{j,(q,q^{\prime}),k}=1, then qj(k)=qq_{j}(k)=q^{\prime} and qq^{\prime} is and element of the group trajectory 𝐐\mathbf{Q}. The motion constraints for the trajectory generated at time-step 0 are as follows:

zj,(q,q),0=β(q=qj(0)),j{1,,NA},q𝒬,\displaystyle z_{j,(q,q),0}=\beta(q=q_{j}(0)),\;\;\forall j\in\{1,...,N_{A}\},q\in\mathcal{Q}, (12)
(q,q)Ezj,(q,q),k=1,j{1,,NA},k[0,,Tp],\displaystyle\sum_{(q,q^{\prime})\in E}z_{j,(q,q^{\prime}),k^{\prime}}=1,\forall j\in\{1,...,N_{A}\},k^{\prime}\in[0,...,T_{p}], (13)
q{q|qadj(q)}zj,(q,q),k=qadj(q)zj,(q,q),k+1,\displaystyle\sum_{q^{\prime}\in\{q^{\prime}|q\in adj(q^{\prime})\}}z_{j,(q^{\prime},q),k^{\prime}}=\sum_{q^{\prime}\in adj(q)}z_{j,(q,q^{\prime}),k^{\prime}+1},
j{1,,NA},k[0,,Tp1],q𝒬.\displaystyle\hskip 30.0pt\forall j\in\{1,...,N_{A}\},k^{\prime}\in[0,...,T_{p}-1],q\in\mathcal{Q}. (14)

Constraint (12) encodes an initial node for the agent using the MIP variables. Constraint (13) enforces that an agent may only take one transition at a time. Constraint (14) enforces that agents must either stay in place or move to an adjacent node. These three constraints combined are equivalent to the motion constraint in (9).

We determine qj(k)q_{j}(k) for each agent jj at each time step kk, i.e. which nodes are included in 𝐐\mathbf{Q}, as follows where ind(q)ind(q) retrieves the index of a node qq:

ind(qj(k))=q𝒬\displaystyle ind(q_{j}(k))=\sum_{q\in\mathcal{Q}} ((q{q|qadj(q)}(zj,(q,q),k))ind(q)),\displaystyle\Big{(}\big{(}\sum_{q^{\prime}\in\{q^{\prime}|q\in adj(q^{\prime})\}}(z_{j,(q^{\prime},q),k})\big{)}*ind(q)\Big{)},
j{1,,NA},k[0,,Tp].\displaystyle\forall j\in\{1,...,N_{A}\},k\in[0,...,T_{p}]. (15)

To evaluate (9), we need to evaluate ρ\rho and JjJ_{j} in terms of our MIP variables. Evaluating these allows us to solve (9) through solving (8). To find ρ\rho, we start by encoding the evaluation of CATs into MIP variables. For an individual CAT, we need to retrieve the agents in IcaugI_{c_{aug}} and IcalI_{c_{al}} that are in the same node as agent jj using (16). We assign each node a unique index ind(q){1,,NQ}ind(q)\in\{1,...,N_{Q}\} where NQN_{Q} is the total number of nodes, i.e. NQ=|𝒬|N_{Q}=|\mathcal{Q}|. Let αj,kj\alpha^{j}_{j^{\prime},k} represent a binary variable that indicates if agent jj^{\prime} is in the same node as agent jj at time step kk. We determine αj,kj\alpha^{j}_{j^{\prime},k} for agents jj^{\prime} with capabilities caugc_{aug} and calc_{al} as follows:

1αj,kjind(qj(k))ind(qj(k))1,\displaystyle\hskip 10.0pt1-\alpha^{j}_{j^{\prime},k}\leq||ind(q_{j}(k))-ind(q_{j^{\prime}}(k))||_{1}, (16)
jIcaug\j,k[0,,Tp]\displaystyle\hskip 60.0pt\forall j^{\prime}\in I_{c_{aug}}\backslash j,k\in[0,...,T_{p}]
NQ(1αj,kj)ind(qj(k))ind(qj(k))1,\displaystyle N_{Q}*(1-\alpha^{j}_{j^{\prime},k})\geq||ind(q_{j}(k))-ind(q_{j^{\prime}}(k))||_{1},
jIcaug\j,k[0,,Tp],\displaystyle\hskip 60.0pt\forall j^{\prime}\in I_{c_{aug}}\backslash j,k\in[0,...,T_{p}],
1αj′′,kjind(qj(k))ind(qj′′(k))1,\displaystyle\hskip 10.0pt1-\alpha^{j}_{j^{\prime\prime},k}\leq||ind(q_{j}(k))-ind(q_{j^{\prime\prime}}(k))||_{1},
j′′Ical\j,k[0,,Tp],\displaystyle\hskip 60.0pt\forall j^{\prime\prime}\in I_{c_{al}}\backslash j,k\in[0,...,T_{p}],
NQ(1αj′′,kj)ind(qj(k))ind(qj′′(k))1,\displaystyle N_{Q}*(1-\alpha^{j}_{j^{\prime\prime},k})\geq||ind(q_{j}(k))-ind(q_{j^{\prime\prime}}(k))||_{1},
j′′Ical\j,k[0,,Tp].\displaystyle\hskip 60.0pt\forall j^{\prime\prime}\in I_{c_{al}}\backslash j,k\in[0,...,T_{p}].

Finally, we retrieve the number of agents with capability caugc_{aug} and cnac_{na} in the same node as agent jj as follows:

njcaug(k)=jIcaug\jαj,kj,k[0,,Tp],\displaystyle n^{c_{aug}}_{j}(k)=\sum_{j^{\prime}\in I_{c_{aug}}\backslash j}\alpha^{j}_{j^{\prime},k},\forall k\in[0,...,T_{p}], (17)
njcal(k)=j′′Ical\jαj′′,kj,k[0,,Tp].\displaystyle n^{c_{al}}_{j}(k)=\sum_{j^{\prime\prime}\in I_{c_{al}}\backslash j}\alpha^{j}_{j^{\prime\prime},k},\forall k\in[0,...,T_{p}].

Next, we define binary variables for the components of the CAT. Let zj,aug,k{0,1}z_{j,aug,k}\in\{0,1\} be a binary variable that is 11 if there are at least maugm_{aug} agents with capability caugc_{aug}in the same node as agent jj at time kk otherwise it is 0. Let zj,al,k{0,1}z_{j,al,k}\in\{0,1\} be a binary variable that is 11 if less than malm_{al} agents with capability calc_{al} are in the same node as agent jj at time kk otherwise it is 0. We determine the value of these variables as follows:

zj,aug,knjcaug(k)maug+1|Icaug\j|,k[0,,Tp],\displaystyle z_{j,aug,k}\geq\frac{n^{c_{aug}}_{j}(k)-m_{aug}+1}{|I_{c_{aug}}\backslash j|},\forall k\in[0,...,T_{p}], (18)
zj,aug,knjcaug(k)maug,k[0,,Tp],\displaystyle z_{j,aug,k}\leq\frac{n^{c_{aug}}_{j}(k)}{m_{aug}},\forall k\in[0,...,T_{p}],
1zj,al,knjcal(k)mal+1|Ical\j|,k[0,,Tp],\displaystyle 1-z_{j,al,k}\geq\frac{n^{c_{al}}_{j}(k)-m_{al}+1}{|I_{c_{al}}\backslash j|},\forall k\in[0,...,T_{p}],
1zj,al,knjcal(k)mal,k[0,,Tp].\displaystyle 1-z_{j,al,k}\leq\frac{n^{c_{al}}_{j}(k)}{m_{al}},\forall k\in[0,...,T_{p}].

Let zj,π,k{0,1}z_{j,\pi,k}\in\{0,1\} be a binary variable that is 11 if agent jj is in a region with label π\pi and 0 otherwise. Let 1(π)\mathcal{L}^{-1}(\pi) be the set of nodes with label π\pi, i.e. q1(π)π(q)q\in\mathcal{L}^{-1}(\pi)\iff\pi\in\mathcal{L}(q). We determine the value of zj,π,kz_{j,\pi,k} as follows:

zj,π,k=q1(π)q{q|qadj(q)}zj,(q,q),k,k[0,Tp].\displaystyle z_{j,\pi,k}=\sum_{q\in\mathcal{L}^{-1}(\pi)}\;\sum_{q^{\prime}\in\{q^{\prime}|q\in adj(q^{\prime})\}}z_{j,(q^{\prime},q),k},\forall k\in[0,...T_{p}]. (19)

To quantify the satisfaction of tasks ϕj\phi_{j}, we use ρ(𝐎j,ϕj,k)\rho(\mathbf{O}_{j},\phi_{j},k). We find ρ(𝐎j,ϕj,k)\rho(\mathbf{O}_{j},\phi_{j},k) as a function of our decision variables as follows:

ρ(𝐎j,CAT,k)\displaystyle\rho(\mathbf{O}_{j},\text{CAT},k) =2(max(zj,π,k,\displaystyle=2*(\max(z_{j,\pi,k}, (20)
min(zj,aug,k,zj,al,k))0.5),\displaystyle\hskip 10.0pt\min(z_{j,aug,k},z_{j,al,k}))-0.5),
ρ(𝐎j,¬CAT,k)\displaystyle\rho(\mathbf{O}_{j},\neg\text{CAT},k) =ρ(𝐎j,CAT,k),\displaystyle=-\rho(\mathbf{O}_{j},\text{CAT},k),
ρ(𝐎j,ϕ1ϕ2,k)\displaystyle\rho(\mathbf{O}_{j},\phi_{1}\land\phi_{2},k) =min(ρ(𝐎j,ϕ1,k),ρ(𝐎j,ϕ2,k)),\displaystyle=\min(\rho(\mathbf{O}_{j},\phi_{1},k),\rho(\mathbf{O}_{j},\phi_{2},k)),
ρ(𝐎j,ϕ1ϕ2,k)\displaystyle\rho(\mathbf{O}_{j},\phi_{1}\lor\phi_{2},k) =max(ρ(𝐎j,ϕ1,k),ρ(𝐎j,ϕ2,k)),\displaystyle=\max(\rho(\mathbf{O}_{j},\phi_{1},k),\rho(\mathbf{O}_{j},\phi_{2},k)),
ρ(𝐎j,[k1,k2]ϕ,k)\displaystyle\rho(\mathbf{O}_{j},\lozenge_{[k_{1},k_{2}]}\phi,k) =maxk[k+k1,k+k2]ρ(𝐎j,ϕ,k),\displaystyle=\max_{k^{\prime}\in[k+k_{1},k+k_{2}]}\rho(\mathbf{O}_{j},\phi,k^{\prime}),
ρ(𝐎j,[k1,k2]ϕ,k)\displaystyle\rho(\mathbf{O}_{j},\square_{[k_{1},k_{2}]}\phi,k) =mink[k+k1,k+k2]ρ(𝐎j,ϕ,k).\displaystyle=\min_{k^{\prime}\in[k+k_{1},k+k_{2}]}\rho(\mathbf{O}_{j},\phi,k^{\prime}).
ρ(𝐎j,ϕ1U[k1,k2]ϕ2,k)\displaystyle\rho(\mathbf{O}_{j},\phi_{1}U_{[k_{1},k_{2}]}\phi_{2},k) =maxk[k+k1,k+k2](min(ρ(𝐎j,ϕ2,k),\displaystyle=\max_{k^{\prime}\in[k+k_{1},k+k_{2}]}(\min(\rho(\mathbf{O}_{j},\phi_{2},k^{\prime}),
mink′′[k,k]ρ(𝐎j,ϕ1,k′′))).\displaystyle\hskip 50.0pt\min_{k^{\prime\prime}\in[k,k^{\prime}]}\rho(\mathbf{O}_{j},\phi_{1},k^{\prime\prime}))).

We can calculate the individual costs, JjJ_{j}, using the binary variables as follows:

Jj(𝐐)=k=0Tp1q𝒬qadj(q)\qzj,(q,q),k.\displaystyle J_{j}(\mathbf{Q})=\sum_{k=0}^{T_{p}-1}\sum_{q\in\mathcal{Q}}\sum_{q^{\prime}\in adj(q)\backslash q}z_{j,(q,q^{\prime}),k}. (21)

Note that this returns the same value as (7). The constraints in (III-B)-(17) provide us with infrastructure to determine the satisfaction of individual CATs. We use (III-B)-(19) to evaluate the satisfaction of tasks. Using (20) and (21) we can evaluate agent performance as defined in (8). Finally, (12)-(14) provide the motion constraints found in (9). This accounts for all the pieces required to solve for an optimal group trajectory 𝐐\mathbf{Q}^{*} as defined in (9).

III-C Algorithm

The algorithm that formalizes a procedure for generating group trajectories for a team of heterogeneous agents is given in Algorithm 1

Algorithm 1 Algorithm for Generating Group Trajectories
1:Initialize agents and environment (Section II-A).
2:Assign agents tasks using MTL (Sections II-B and II-C).
3:Generate binary transition variables (zj,(q,q),kz_{j,(q,q^{\prime}),k}) for each agent at each time step.
4:Generate variables that indicate that agents are in the same node (αj,kj\alpha^{j}_{j^{\prime},k}) for each agent.
5:Generate variables used to evaluate the MTL tasks (zj,π,kz_{j,\pi,k}, zj,aug,kz_{j,aug,k}, and zj,al,kz_{j,al,k}) for CAT in each agent’s individual MTL specification at each time step.
6:Generate MIP constraints ((12)-(19)).
7:Formulate task performance using the binary variables ((20),(21)).
8:Solve MIP to receive optimal group trajectories.

IV Comparison with Existing Formulations

In this section, we compare our ability to capture collaboration between agents to previous formulations. We consider the formulations in [16, 18, 19, 17].

We begin with Capability Temporal Logic Plus (CaTL+) as it is a very rich specification language for heterogeneous teams of agents. We consider a disaster response scenario similar to the case study in [16]. This example has a set of six agents in a 3x3 grid. Two agents are aerial and four are ground. The agents must pick up and deliver medical supplies to villages affected by an earthquake. The agents initialize across a river from the villages. There is a bridge over the river that must be inspected by an aerial agent before the ground agents can use it. Only two ground robots can use the bridge at a time. In [16], the scenario is designed to show the ability to express the need to inspect the bridge before the ground agents use it, a limit on the number of ground agents on the bridge at a time, and a timed delivery task.

In this case, we consider an environment with labels Π={“Supply”,“Bridge”,“Water”,“Village 1”,“Village 2”}\Pi=\{\text{``Supply"},\text{``Bridge"},\text{``Water"},\text{``Village 1"},\text{``Village 2"}\}. The aerial agents have indices 11 and 22 and the ground agents have indices 363-6. The aerial agents have capabilities 𝒞j={“inspection”,“delivery”},j{1,2}\mathcal{C}_{j}=\{\text{``inspection'',\text{``delivery"}}\},\forall j\in\{1,2\}. The ground agents have capabilities 𝒞j={“wheels”,“delivery”},j{3,,6}\mathcal{C}_{j}=\{\text{``wheels''},\text{``delivery"}\},\forall j\in\{3,...,6\}. This is depicted in Figure 2.

Refer to caption
Figure 2: Case Study 1: The agents must pick up supplies in the “Supply” node and deliver them to “Village 1” and “Village 2”. Ground robots must avoid “Water” nodes and cannot visit the “Bridge” node until it is inspected by an aerial agent. Only two ground agents can visit “Bridge” at a time

In contrast to CaTL+ which creates a single global specification that is assigned to all agents, we specify a task for each agent. The first aerial agent’s specification is to visit “Village 1” in the first 10 time-steps and not reach “Village 1” until it acquires supplies at “Supply”. The other aerial agent has roughly the same specification except it must visit “Village 2”. The first two ground agents’ specifications are to visit “Village 1” within the first ten time-steps, not to reach “Village 1” until it acquires supplies at “Supply”, never to visit “Water”, and to not visit the bridge at the same time as two other agents with capability “Wheels”. The other two ground agents have roughly the same specifications except the agents must visit “Village 2” instead of “Village 1”. In this case, the CAT encodes the constraint on the maximum number of ground agents on the bridge. Note that we can not capture the constraint that an inspection agent must reach the bridge before the ground agents. This is a constraint that can be captured by CaTL+ by specifying that agents with the capability “wheels” do not visit “Bridge” until it is visited by an agent with the capability “inspection”. We cannot capture this because our formulation is focused on collaboration when agents are in the same node. We show our encoding using CATs for the aerial and ground agents respectively as follows:

ϕ1=\displaystyle\phi^{1}= [0,10]“Village 1”,{},{}\displaystyle\lozenge_{[0,10]}\langle\text{``Village 1"},\{\},\{\}\rangle (22)
(¬“Village 1”,{},{}\displaystyle\land(\langle\neg\text{``Village 1"},\{\},\{\}\rangle
U[0,10]“Supply”,{},{}),\displaystyle U_{[0,10]}\langle\text{``Supply"},\{\},\{\}\rangle),
ϕ3=ϕ4=\displaystyle\phi^{3}=\phi^{4}= [0,10]“Village 1”,{},{}\displaystyle\lozenge_{[0,10]}\langle\text{``Village 1"},\{\},\{\}\rangle (23)
(¬“Village 1”,{},{}\displaystyle\land(\langle\neg\text{``Village 1"},\{\},\{\}\rangle
U[0,10]“Supply”,{},{})\displaystyle U_{[0,10]}\langle\text{``Supply"},\{\},\{\}\rangle)
[0,10](¬“Water”,{},{})\displaystyle\land\square_{[0,10]}(\langle\neg\text{``Water"},\{\},\{\}\rangle)
¬(“Bridge”,{},{}\displaystyle\land\neg(\langle\text{``Bridge"},\{\},\{\}\rangle
¬“Bridge”,{“wheels”,2},{}).\displaystyle\land\langle\neg\text{``Bridge"},\{\text{``wheels"},2\},\{\}\rangle).

However, if we allow the aerial agents to carry one ground agent over “Water” at a time, then this cannot be easily expressed in CaTL+ but can be with our formulation. CaTL+ can specify that multiple agents visit a node labeled “Water”, but directly specify that they meet in the same node. To specify this, we need to specify that they can meet in every state marked “Water” explicitly. This quickly becomes intractable. In our formulation, the ground agents’ tasks become

ϕ3=ϕ4=\displaystyle\phi^{3}=\phi^{4}= [0,10]“Village 1”,{},{}\displaystyle\lozenge_{[0,10]}\langle\text{``Village 1"},\{\},\{\}\rangle (24)
(¬“Village 1”,{},{}\displaystyle\land(\langle\neg\text{``Village 1"},\{\},\{\}\rangle
U[0,10]“Supply”,{},{})\displaystyle U_{[0,10]}\langle\text{``Supply"},\{\},\{\}\rangle)
[0,10](¬“Water”,{“carry”,1},\displaystyle\land\square_{[0,10]}(\langle\neg\text{``Water"},\{\text{``carry"},1\},
{“wheels”,1})¬(“Bridge”,{},{}\displaystyle\{\text{``wheels"},1\}\rangle)\land\neg(\langle\text{``Bridge"},\{\},\{\}\rangle
¬“Bridge”,{“wheels”,2},{}).\displaystyle\land\langle\neg\text{``Bridge"},\{\text{``wheels"},2\},\{\}\rangle).

This shows a clear example of the differences in expressivity between the two formulations. The specifications given by Capability Temporal Logic (CaTL) [18] is a subset of CaTL+. This means that any difficulties experienced in specifying how agents collaborate in CaTL+ are also experienced in CaTL. In CaTL a specified number of agents with a specified capability must visit nodes with a specific atomic proposition (which are similar to labels in our formulation) simultaneously and stay there for a specified amount of time. This makes specifying that agents can satisfy a task without visiting regions with a specific label very difficult.

A similar problem arises in [19] and [17] where tasks focus on agents with a specified capability to spend a certain amount of time in regions with a specific label or proposition. This, again, makes it difficult to specify how agents can satisfy tasks without reaching nodes with a specific label or proposition. However, these formulations all consider global tasks, meaning it is possible to specify constraints such as the inspection in the example, where one agent must visit a node before a different agent.

Our formulation provides the tools to specifically capture capability-augmenting collaboration, which is difficult to express in previous formulations. Next, we show the benefit of this collaboration using a characteristic case study.

V Case Study

In this section, we use a characteristic case study to demonstrate the effectiveness of the methods defined in the previous sections. We show that the use of CATs improves the individual agent performance of agents at satisfying temporal logic specifications. All simulations were run on a computer with 12 i7-8700K CPUs @ 3.70GHz and 15.5 GB of RAM. We used Gurobi as our solver.

V-A Case Study, Aerial and Ground System

In our case study, we focus on the system with one aerial and two ground agents that we used as an example in the Problem Statement.We use this case study to demonstrate the benefit of using our encoding for capability-augmenting collaboration. Each agent starts in the same node near the environment’s center. The aerial agent has an index of 11 and the ground robots have indices of 22 and 33.

In this case study, we use an MM value of M=50M=50 when solving (9). The initial node for each agent is the third row and third column of the environment shown in Figure 1. For the three-agent case, we found a solution to this problem in an average of 5.43s5.43s for thirty trials. Each agent completed its task in every trial The average movement for all agents across all trials was 3.333.33 transitions. This means that the average individual agent performance was 46.6746.67. An example solution is shown in Figure 3. A solver not using CATs, i.e. task satisfaction is solely determined by the labels of the agents’ nodes, could only find solutions for two of the three agents. The motion cost of 22 meaning the average individual agent performance was 14.6714.67. The average runtime for the solver not using CATs was 0.41s0.41s. This shows a clear improvement in agent performance when using CATs in this case. However, the runtime using CATs was higher.

Refer to caption
Figure 3: Example solution for the three agent case of case study 2. We show the trajectory for the ground agents’ using the rectangles and show the aerial agent’s trajectory with ovals. In each rectangle and oval, we specify the exact time steps that the agent occupied the node. We see the aerial agent carry one ground agent over the water at time step 1, then the other at time step 2. The aerial agent takes pictures at time steps 5 -7 and uploads an image using the ground agent at time step 10. The ground robots reach their goal nodes at time steps 2 and 3.

Additionally, we increased the number of agents to 5 with 2 aerial agents and 3 ground agents. For this case, we experienced an average runtime of 67.81s67.81s over thirty trials. Once again each agent finished its task in every trial when using CATs. We experience an average motion of 3.23.2 transitions for each agent across all trials. This means that the average agent performance was 46.8046.80. For the solver not using CATs, only three of the five agents satisfied their tasks and the average motion cost was 1.81.8. This means the average individual agent performance was 8.208.20. We experienced improvements in agent performance with the increased number of agents when using CATs.

To further investigate the performance of our formulation, we use the tasks given in (10) and (11) and randomize our environment. We generate increasingly large environments to show the effects of CATs as the environment increases in size. We compare this to a system that does not use capability-augmenting collaboration when solving for a trajectory. The results for agent performance are shown in Figure 4. This figure shows the individual agent performance metric defined in (8). These results demonstrate that the use of CATs consistently results in improved individual agent performance. As the environment becomes larger, the desirable nodes (“Scenic”, “Upload”, and “Goal”) become more spread out, making tasks more difficult to satisfy. The use of capability-augmenting collaboration improved the ability of agents to satisfy their tasks in these trials by allowing them to use each other’s capabilities when the desirable nodes are harder to reach.

Refer to caption
Figure 4: Case Study 2 Results. Each environment size was tested 20 times with three agents in random initial nodes and randomized labels. We randomized labels so that roughly 60%60\% of the nodes were “Water”, 1%1\% of the nodes were “Upload”, 1%1\% of the nodes “Scenic”, and 1%1\% of the nodes were “Goal”. Environments are required to contain at least one of each label. The two formulations were tested in the same random environments. Here, larger agent performance indicates that an agent is better able to satisfy a task. In this case, negative agent performance can only be achieved when the majority of agents in a trial do not satisfy their individual specifications.

VI Conclusion

In this paper, we defined a method to encode capability-augmenting collaboration between agents into the language of MTL by introducing CATs. We formulated a mixed integer program to solve problems using CATs. We demonstrated the capabilities of this encoding to find trajectories using case studies.

In this case, we used CATs in individual tasks to show how heterogeneous agents could leverage each other’s capabilities to improve their agent performance. Future work may include creating a global specification formulation that allows individual agents to improve their agent performance using CATs. Additionally, we focus on the problem of generating high-level trajectories for the agents. Future work may focus on creating low-level controllers for agents that utilize these high-level trajectories.

References

  • [1] S. S. O V, R. Parasuraman, and R. Pidaparti, “Impact of heterogeneity in multi-robot systems on collective behaviors studied using a search and rescue problem,” in 2020 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), pp. 290–297, 2020.
  • [2] S. Kim and M. Egerstedt, “Heterogeneous coverage control with mobility-based operating regions,” in 2022 American Control Conference (ACC), pp. 2148–2153, 2022.
  • [3] R. K. Ramachandran, J. A. Preiss, and G. S. Sukhatme, “Resilience by reconfiguration: Exploiting heterogeneity in robot teams,” in 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 6518–6525, 2019.
  • [4] P. Twu, Y. Mostofi, and M. Egerstedt, “A measure of heterogeneity in multi-agent systems,” in 2014 American Control Conference, pp. 3972–3977, 2014.
  • [5] A. Prorok, M. A. Hsieh, and V. Kumar, “The impact of diversity on optimal control policies for heterogeneous robot swarms,” IEEE Transactions on Robotics, vol. 33, no. 2, pp. 346–358, 2017.
  • [6] G. Notomista, S. Mayya, Y. Emam, C. Kroninger, A. Bohannon, S. Hutchinson, and M. Egerstedt, “A resilient and energy-aware task allocation framework for heterogeneous multirobot systems,” IEEE Transactions on Robotics, vol. 38, no. 1, pp. 159–179, 2022.
  • [7] T. Miyano, J. Romberg, and M. Egerstedt, “Globally optimal assignment algorithm for collective object transport using air–ground multirobot teams,” IEEE Transactions on Control Systems Technology, pp. 1–8, 2023.
  • [8] T. Miyano, J. Romberg, and M. Egerstedt, “Distributed optimal assignment algorithm for collective foraging,” in 2022 American Control Conference (ACC), pp. 4713–4720, 2022.
  • [9] X. Jia and M. Q.-H. Meng, “A survey and analysis of task allocation algorithms in multi-robot systems,” in 2013 IEEE International Conference on Robotics and Biomimetics (ROBIO), pp. 2280–2285, 2013.
  • [10] M. Dias, R. Zlot, N. Kalra, and A. Stentz, “Market-based multirobot coordination: A survey and analysis,” Proceedings of the IEEE, vol. 94, no. 7, pp. 1257–1270, 2006.
  • [11] S. Berman, A. Halasz, M. A. Hsieh, and V. Kumar, “Optimized stochastic policies for task allocation in swarms of robots,” IEEE Transactions on Robotics, vol. 25, no. 4, pp. 927–937, 2009.
  • [12] N. Iijima, A. Sugiyama, M. Hayano, and T. Sugawara, “Adaptive task allocation based on social utility and individual preference in distributed environments,” Procedia Computer Science, vol. 112, pp. 91–98, 2017. Knowledge-Based and Intelligent Information & Engineering Systems: Proceedings of the 21st International Conference, KES-20176-8 September 2017, Marseille, France.
  • [13] L. Antonyshyn, J. Silveira, S. Givigi, and J. Marshall, “Multiple mobile robot task and motion planning: A survey,” ACM Comput. Surv., vol. 55, feb 2023.
  • [14] R. Koymans, “Specifying real-time properties with metric temporal logic,” Real-time systems, vol. 2, no. 4, pp. 255–299, 1990.
  • [15] G. E. Fainekos and G. J. Pappas, “Robustness of temporal logic specifications for continuous-time signals,” Theoretical Computer Science, vol. 410, no. 42, pp. 4262–4291, 2009.
  • [16] W. Liu, K. Leahy, Z. Serlin, and C. Belta, “Robust multi-agent coordination from catl+ specifications,” in 2023 American Control Conference (ACC), pp. 3529–3534, 2023.
  • [17] G. A. Cardona, D. Saldaña, and C.-I. Vasile, “Planning for modular aerial robotic tools with temporal logic constraints,” in 2022 IEEE 61st Conference on Decision and Control (CDC), pp. 2878–2883, 2022.
  • [18] K. Leahy, Z. Serlin, C.-I. Vasile, A. Schoer, A. M. Jones, R. Tron, and C. Belta, “Scalable and robust algorithms for task-based coordination from high-level specifications (scratches),” IEEE Transactions on Robotics, vol. 38, no. 4, pp. 2516–2535, 2022.
  • [19] A. T. Buyukkocak, D. Aksaray, and Y. Yazıcıoğlu, “Planning of heterogeneous multi-agent systems under signal temporal logic specifications with integral predicates,” IEEE Robotics and Automation Letters, vol. 6, no. 2, pp. 1375–1382, 2021.
  • [20] K. Leahy, A. Jones, and C.-I. Vasile, “Fast decomposition of temporal logic specifications for heterogeneous teams,” IEEE Robotics and Automation Letters, vol. 7, no. 2, pp. 2297–2304, 2022.
  • [21] D. Sun, J. Chen, S. Mitra, and C. Fan, “Multi-agent motion planning from signal temporal logic specifications,” IEEE Robotics and Automation Letters, vol. 7, no. 2, pp. 3451–3458, 2022.
  • [22] P. Schillinger, M. Bürger, and D. V. Dimarogonas, “Simultaneous task allocation and planning for temporal logic goals in heterogeneous multi-robot systems,” The International Journal of Robotics Research, vol. 37, no. 7, pp. 818–838, 2018.
  • [23] M. Cai, K. Leahy, Z. Serlin, and C.-I. Vasile, “Probabilistic coordination of heterogeneous teams from capability temporal logic specifications,” IEEE Robotics and Automation Letters, vol. 7, no. 2, pp. 1190–1197, 2022.
  • [24] X. Luo and M. M. Zavlanos, “Temporal logic task allocation in heterogeneous multirobot systems,” IEEE Transactions on Robotics, vol. 38, no. 6, pp. 3602–3621, 2022.
  • [25] A. Ulusoy, S. L. Smith, X. C. Ding, and C. Belta, “Robust multi-robot optimal path planning with temporal logic constraints,” in 2012 IEEE International Conference on Robotics and Automation, pp. 4693–4698, 2012.
  • [26] Y. Kantaros and M. M. Zavlanos, “Sampling-based optimal control synthesis for multirobot systems under global temporal tasks,” IEEE Transactions on Automatic Control, vol. 64, no. 5, pp. 1916–1931, 2019.
  • [27] R. Bai, R. Zheng, Y. Xu, M. Liu, and S. Zhang, “Hierarchical multi-robot strategies synthesis and optimization under individual and collaborative temporal logic specifications,” Robotics and Autonomous Systems, vol. 153, p. 104085, 2022.