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

Decentralized Motion Planning with Collision Avoidance for a Team of UAVs under High Level Goals

Christos K. Verginis, Ziwei Xu and Dimos V. Dimarogonas The authors are with the Centre for Autonomous Systems and ACCESS Linnaeus Centre, KTH Royal Institute of Technology, Stockholm 10044, Sweden. Emails: {cverginis, dimos, ziwei}@kth.se.This work was supported by funding from the Knut and Alice Wallenberg Foundation, the Swedish Research Council (VR), the European Union’s Horizon 2020 Research and Innovation Programme under the Grant Agreement No. 644128 (AEROWORKS) and the H2020 ERC Starting Grant BUCOPHSYS.
Abstract

This paper addresses the motion planning problem for a team of aerial agents under high level goals. We propose a hybrid control strategy that guarantees the accomplishment of each agent’s local goal specification, which is given as a temporal logic formula, while guaranteeing inter-agent collision avoidance. In particular, by defining 33-D spheres that bound the agents’ volume, we extend previous work on decentralized navigation functions and propose control laws that navigate the agents among predefined regions of interest of the workspace while avoiding collision with each other. This allows us to abstract the motion of the agents as finite transition systems and, by employing standard formal verification techniques, to derive a high-level control algorithm that satisfies the agents’ specifications. Simulation and experimental results with quadrotors verify the validity of the proposed method.

I Introduction

Multi-agent systems have received a significant amount of attention over the last decades. The complexity of many tasks, such as assembling parts and heavy/large object transportation or manipulation, necessitates the employment of a group of robots, rather than a single one, since it offers greater versatility, redundancy and fault tolerance.

In the case of aerial vehicles, tasks involving area coverage/inspection or rescue missions point out the importance of using multi-agent setups. The standard problem of formation control for a team of aerial vehicles is addressed in [1, 2, 3, 4, 5, 6], whereas [7, 8, 9, 10, 11] consider leader-follower formation approaches, where the latter also treats the problem of collision avoidance with static obstacles in the environment; [12], [13] and [14] employ dynamic programming, Model Predictive Control and reachable set algorithms, respectively, for inter-agent collision avoidance. In [15] the cooperative evader pursuit problem is treated.

Ultimately, however, we would like the aerial robots to execute more complex high-level tasks, involving combinations of safety ("never enter a dangerous regions"), surveillance ("keep visiting regions AA and BB infinitely often") or sequencing ("collect data in region CC and upload it in region DD") properties. Temporal logic languages offer a means to express the aforementioned specifications, since they can describe complex planning objectives in a more efficient way than the well-studied navigation algorithms. Recently, the incorporation of temporal logic-based planning to the robotics and automation field has gained a considerable amount of attention, both in single- and multi-agent setups [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27]. Regarding aerial vehicles, [28] addresses the vehicle routing problem using MTL specifications and [29] approaches the LTL motion planning using MILP optimization techniques, both in a centralized manner. Markov Decision Processes are used for the LTL planning in [30]. The aforementioned works, however, consider discrete agent models and do not take into account their continuous dynamics.

Another important feature in multi-agent planning and control is the need for decentralization and minimization of inter-agent communication; centralized approaches, where a central system computes the overall team plan or cases where the agents communicate online with each other, can cause computationally expensive procedures, even for small robot teams. In the case of temporal logics, the use of product transition systems incorporating the states of all agents (as e.g., in [25, 17, 30]) can render the solution to the motion planning problem practically infeasible.

Moreover, the majority of works in the related literature of temporal logic-based motion planning considers point-agents (as, e.g. in [19, 24, 23]) and does not take into account potential collisions between them. The latter is a crucial safety property in real-time scenarios, where actual vehicles are used in the motion planning framework.

In this work, we propose a novel decentralized control protocol for the motion planning of a team of aerial vehicles under LTL specifications with simultaneous inter-agent collision avoidance. In particular, we extend previous work on decentralized navigation functions [31] to abstract the motion of each agent as a finite transition system. Then, we employ standard formal-verification techniques to derive plans that satisfy each agent’s LTL specification. The proposed control protocol is decentralized in the sense that each agent has limited sensing information and derives and executes its desired path without communicating with the other agents or knowing their respective goals/specifications. Simulation and experimental results with quadrotors verify the effectiveness of the proposed framework. To the best of the authors’ knowledge, this is the first approach that integrates temporal logic-based motion planning with decentralized navigation functions in an experimental framework with UAVs.

The rest of the paper is organized as follows: Section II introduces notation and preliminary background. Section III describes the problem formulation and the overall system’s model. The control strategy is presented in Section IV. Sections V and VI verify our approach through numerical simulations and experiments, respectively, and Section VII concludes the paper.

II Notation and Preliminaries

Vectors and matrices are denoted with bold lowercase and uppercase letters, respectively, whereas scalars are denoted with non-bold letters. The set of positive integers is denoted as \mathbb{N} and the real nn-coordinate space, with nn\in\mathbb{N}, as n\mathbb{R}^{n}; 0n\mathbb{R}^{n}_{\geq 0} is the set of real nn-vectors will all elements nonnegative; r(𝒄)\mathcal{B}_{r}(\boldsymbol{c}) denotes the ball of radius r0r\geq 0 and center 𝒄3\boldsymbol{c}\in\mathbb{R}^{3}; Moreover, given a set AA, the notation Å\mathring{A} denotes the interior of AA, 2A2^{A} is the set of all subsets of AA and, given a finite sequence a1,,ana_{1},\dots,a_{n} of elements in AA, with nn\in\mathbb{N}, we denote by (a1,,an)ω(a_{1},\dots,a_{n})^{\omega} the infinite sequence a1,,ana1,,ana_{1},\dots,a_{n}a_{1},\dots,a_{n}\dots created by repeating a1,,ana_{1},\dots,a_{n}. Finally, dn:n×n0d_{n}:\mathbb{R}^{n}\times\mathbb{R}^{n}\rightarrow\mathbb{R}_{\geq 0} is the nn-dimensional Euclidean distance, with nn\in\mathbb{N}.

II-A Specification in LTL

We focus on the task specification ϕ\phi given as a Linear Temporal Logic (LTL) formula. The basic ingredients of a LTL formula are a set of atomic propositions 𝒜𝒫\mathcal{AP} and several boolean and temporal operators. LTL formulas are formed accoding to the following grammar [32]: ϕ::=𝗍𝗋𝗎𝖾|a|ϕ1ϕ2|¬ϕ|ϕ|ϕ1ϕ2\phi::=\mathsf{true}\>|\>a\>|\>\phi_{1}\land\phi_{2}\>|\>\neg\phi\>|\>\bigcirc\phi\>|\>\phi_{1}\cup\phi_{2}, where a𝒜𝒫a\in\mathcal{AP} and \bigcirc (next), \cup (until). Definitions of other useful operators like \square (always), \lozenge (eventually) and \Rightarrow (implication) are omitted and can be found in [32].

The semantics of LTL are defined over infinite words over 2𝒜𝒫2^{\mathcal{AP}}. Intuitively, an atomic proposition ψ𝒜𝒫\psi\in\mathcal{AP} is satisfied on a word w=w1w2w=w_{1}w_{2}\dots if it holds at its first position w1w_{1}, i.e. ψw1\psi\in w_{1}. Formula ϕ\bigcirc\phi holds true if ϕ\phi is satisfied on the word suffix that begins in the next position w2w_{2}, whereas ϕ1ϕ2\phi_{1}\cup\phi_{2} states that ϕ1\phi_{1} has to be true until ϕ2\phi_{2} becomes true. Finally, ϕ\lozenge\phi and ϕ\square\phi holds on ww eventually and always, respectively. For a full formal definition of the LTL semantics, the reader is kindly referred to [32].

II-B Navigation Functions

Navigation functions, first introduced in [33], are real valued maps realized through cost functions, whose negated gradient field is attractive towards the goal configuration and repulsive with respect to obstacles. A navigation function can be formally defined as follows:

Definition 1

Let FRnF\subset R^{n} be a compact connected analytic manifold with boundary. A map ϕ:F[0,1]\phi:F\rightarrow\left[0,1\right] is a navigation function if: (1) It is analytic on FF, (2) it has only one minimum 𝐪𝐝F̊\boldsymbol{q_{d}}\in\mathring{F}, (3) its Hessian at all critical points (zero gradient field) is full rank and (4), lim𝐪𝐅ϕ(𝐪)=1\lim\limits_{\boldsymbol{q}\rightarrow\boldsymbol{\partial F}}\phi(\boldsymbol{q})=1.

Following [33], given a spherical workspace FF centered at 𝒒𝟎F\boldsymbol{q_{0}}\in F with radius r00r_{0}\geq 0, an initial position 𝒒𝒔F̊\boldsymbol{q_{s}}\in\mathring{F},a goal position 𝒒𝒅F̊\boldsymbol{q_{d}}\in\mathring{F} and MM spherical obstacles with center and radius 𝒒𝒋F\boldsymbol{q_{j}}\in F, rj0r_{j}\geq 0 respectively for j=1,,Mj=1,\cdots,M, a choice for a navigation function in FF is Φ:F[0,1]\Phi:F\rightarrow[0,1], with:

Φ(𝒒(t))=γ(𝒒)(γk(𝒒)+β(𝒒))1/k,\Phi(\boldsymbol{q}(t))=\dfrac{\gamma(\boldsymbol{q})}{(\gamma^{k}(\boldsymbol{q})+\beta(\boldsymbol{q}))^{1/k}}, (1)

where k>0k>0 is a design parameter, 𝒒:0F̊,γ:F̊0\boldsymbol{q}:\mathbb{R}_{\geq 0}\rightarrow\mathring{F},\gamma:\mathring{F}\rightarrow\mathbb{R}_{\geq 0}, with γ(𝒒)=𝒒𝒒𝒅2\gamma(\boldsymbol{q})=\lVert\boldsymbol{q}-\boldsymbol{q_{d}}\rVert^{2}, is the attractive potential towards the goal and β:F̊\beta:\mathring{F}\rightarrow\mathbb{R}, with β(𝒒)=j=0Mβj(𝒒)\beta(\boldsymbol{q})=\prod_{j=0}^{M}\beta_{j}(\boldsymbol{q}), is the repulsive potential from the workspace boundary and the obstacles, where β0(𝒒)=r02𝒒𝒒𝟎2\beta_{0}(\boldsymbol{q})=r_{0}^{2}-\lVert\boldsymbol{q}-\boldsymbol{q_{0}}\rVert^{2} and βj(𝒒)=𝒒𝒒𝒋2rj2,j=1,,M\beta_{j}(\boldsymbol{q})=\lVert\boldsymbol{q}-\boldsymbol{q_{j}}\rVert^{2}-r_{j}^{2},j=1,\cdots,M; Φ(𝒒)\Phi(\boldsymbol{q}) reaches its minimal value 0 only at 𝒒𝒅\boldsymbol{q_{d}} and its maximal value 11 at the boundaries of the workspace and the obstacles. It has been shown that by following the negated gradient 𝒒Φ-\nabla_{\boldsymbol{q}}\Phi, it is guaranteed for sufficiently large kk that limtγ(𝒒(t))=0\lim_{t\rightarrow\infty}\gamma(\boldsymbol{q}(t))=0 and β(𝒒(t))>0,t0\beta(\boldsymbol{q}(t))>0,\forall t\geq 0, for almost all initial positions 𝒒𝒔F̊\boldsymbol{q_{s}}\in\mathring{F}.

III System and Problem Formulation

Consider NN aerial agents operating in a static workspace that is bounded by a large sphere in 33-D space 𝒲=r0(𝒑𝟎)={𝒑3 s.t. 𝒑𝒑𝟎r0}\mathcal{W}=\mathcal{B}_{r_{0}}(\boldsymbol{p_{0}})=\{\boldsymbol{p}\in\mathbb{R}^{3}\text{ s.t. }\lVert\boldsymbol{p}-\boldsymbol{p_{0}}\rVert\leq r_{0}\}, where 𝒑𝟎3\boldsymbol{p_{0}}\in\mathbb{R}^{3} and r0>0r_{0}>0 are the center and radius of 𝒲\mathcal{W}. Within 𝒲\mathcal{W} there exist KK smaller spheres around points of interest, which are described by πk=rπk(𝒑𝝅𝒌)={𝒑3 s.t. 𝒑𝒑𝝅𝒌rπk}𝒲\mathcal{\pi}_{k}=\mathcal{B}_{r_{\pi_{k}}}(\boldsymbol{p_{\pi_{k}}})=\{\boldsymbol{p}\in\mathbb{R}^{3}\text{ s.t. }\lVert\boldsymbol{p}-\boldsymbol{p_{\pi_{k}}}\rVert\leq r_{\pi_{k}}\}\subset\mathcal{W}, where 𝒑𝝅𝒌3,rπk>0\boldsymbol{p_{\pi_{k}}}\in\mathbb{R}^{3},r_{\pi_{k}}>0 are the central point and radius, respectively, of πk\pi_{k}. We denote the set of all πk\pi_{k} as Π={π1,,πK}\Pi=\{\pi_{1},\dots,\pi_{K}\}. For the workspace partition to be valid, we consider that the regions of interest are sufficiently distant from each other and from the workspace boundary, i.e., d3(𝒑𝝅𝒌,𝒑𝝅𝒌)>4maxk{1,,K}(rπk)d_{3}(\boldsymbol{p_{\pi_{k}}},\boldsymbol{p_{\pi_{k^{\prime}}}})>4\max_{k\in\{1,\dots,K\}}(r_{\pi_{k}}) and d3(𝒑𝝅𝒌,𝒑𝟎)<r03rπk,k,k{1,,K}d_{3}(\boldsymbol{p_{\pi_{k}}},\boldsymbol{p_{0}})<r_{0}-3r_{\pi_{k}},\forall k,k^{\prime}\in\{1,\dots,K\} with kkk\neq k^{\prime}. Moreover, we introduce a set of atomic propositions Ψi\Psi_{i} for each agent i{1,,N}i\in\{1,\dots,N\} that indicates certain properties of interest of agent ii in Π\Pi and are expressed as boolean variables. The properties satisfied at each region πk\pi_{k} are provided by the labeling function i:Π2Ψi\mathcal{L}_{i}:\Pi\rightarrow 2^{\Psi_{i}}, which assigns to each region πk,k{1,,K}\pi_{k},k\in\{1,\dots,K\} the subset of the atomic propositions Ψi\Psi_{i} that are true in that region.

Refer to caption
Figure 1: Bounding sphere of an aerial vehicle.

III-A System model

Each agent i{1,,N}i\in\{1,\dots,N\} occupies a bounding sphere: ri(𝒑𝒊(t))={𝒑(t)𝒲 s.t. 𝒑(t)𝒑𝒊(t)ri}\mathcal{B}_{r_{i}}(\boldsymbol{p_{i}}(t))=\left\{\boldsymbol{p}(t)\in\mathcal{W}\text{ s.t. }\lVert\boldsymbol{p}(t)-\boldsymbol{p_{i}}(t)\rVert\leq r_{i}\right\}, where 𝒑𝒊:03\boldsymbol{p_{i}}:\mathbb{R}_{\geq 0}\rightarrow\mathbb{R}^{3} is the center and ri>0r_{i}>0 the radius of the sphere (Fig. 1). We also consider that ri<rπk,i{1,,N},k{1,,K}r_{i}<r_{\pi_{k}},\forall i\in\{1,\dots,N\},k\in\{1,\dots,K\}, i.e., the regions of interest are larger than the aerial vehicles. The motion of each agent is controlled via its centroid 𝒑𝒊\boldsymbol{p_{i}} through the single integrator dynamics:

𝒑˙𝒊=𝒖𝒊,i{1,,N}.\boldsymbol{\dot{p}_{i}}=\boldsymbol{u_{i}},i\in\{1,\dots,N\}. (2)

Moreover, we consider that agent ii has a limited sensing range of dsi>maxi,j={1,,N}(ri+rj)d_{s_{i}}>\max_{i,j=\{1,\dots,N\}}(r_{i}+r_{j}). Therefore, by defining the neighboring set 𝒩i={j{1,,N}, s.t. 𝒑i𝒑jdsi}\mathcal{N}_{i}=\{j\in\{1,\dots,N\},\text{ s.t. }\|\boldsymbol{p}_{i}-\boldsymbol{p}_{j}\rVert\leq d_{s_{i}}\}, agent ii knows at each time instant the position of all 𝒑𝒋,j𝒩i\boldsymbol{p_{j}},\forall j\in\mathcal{N}_{i} as well as its own position 𝒑i\boldsymbol{p}_{i}. The workspace is perfectly known, i.e., 𝒑𝝅𝒌,rπk\boldsymbol{p_{\pi_{k}}},r_{\pi_{k}} are known to all agents, for all k{1,,K}k\in\{1,\dots,K\}.

With the above ingredients, we provide the following definitions:

Definition 2

An agent i{1,,N}i\in\{1,\dots,N\} is in a region πk,k{1,,K}\pi_{k},k\in\{1,\dots,K\} at a configuration 𝐩𝐢\boldsymbol{p_{i}}, denoted as 𝒜i(𝐩𝐢)πk\mathcal{A}_{i}(\boldsymbol{p_{i}})\in\pi_{k}, if and only if ri(𝐩𝐢)rπk(𝐩𝛑𝐤)\mathcal{B}_{r_{i}}(\boldsymbol{p_{i}})\subseteq\mathcal{B}_{r_{\pi_{k}}}(\boldsymbol{p_{\pi_{k}}}).

Definition 3

Assume that 𝒜i(𝐩𝐢(t0))πk,i{1,,N},k{1,,K}\mathcal{A}_{i}(\boldsymbol{p_{i}}(t_{0}))\in\pi_{k},i\in\{1,\dots,N\},k\in\{1,\dots,K\} for some t00t_{0}\geq 0. Then there exists a transition for agent ii from region πk\pi_{k} to region πk,k{1,,K}\pi_{k^{\prime}},k^{\prime}\in\{1,\dots,K\}, denoted as πkiπk\pi_{k}\rightarrow_{i}\pi_{k^{\prime}}, if and only if there exists a finite tf0t_{f}\geq 0 and a bounded control trajectory 𝐮𝐢\boldsymbol{u_{i}} such that (i) 𝒜i(𝐩𝐢(tf))πk\mathcal{A}_{i}(\boldsymbol{p_{i}}(t_{f}))\in\pi_{k^{\prime}}, (ii) ri(𝐩𝐢(t))rπm(𝐩𝛑𝐦)=\mathcal{B}_{r_{i}}(\boldsymbol{p_{i}}(t))\cap\mathcal{B}_{r_{\pi_{m}}}(\boldsymbol{p_{\pi_{m}}})=\emptyset, and (iii) ri(𝐩𝐢(t))ri(𝐩𝐢(t))=,m{1,,K}\mathcal{B}_{r_{i}}(\boldsymbol{p_{i}}(t))\cap\mathcal{B}_{r_{i^{\prime}}}(\boldsymbol{p_{i^{\prime}}}(t))=\emptyset,\forall m\in\{1,\dots,K\} with mk,k,i{1,,N}m\neq k,k^{\prime},\forall i^{\prime}\in\{1,\dots,N\} with iii^{\prime}\neq i and t[0,tf]t\in\left[0,t_{f}\right].

Loosely speaking, an agent ii can transit between two regions of interest πk\pi_{k} and πk\pi_{k^{\prime}}, if there exists a bounded control trajectory 𝒖𝒊\boldsymbol{u_{i}} in (2) that takes agent ii from πk\pi_{k} to πk\pi_{k^{\prime}} while avoiding entering all other regions and colliding with the other agents.

III-B Specification

Our goal is to control the multi-agent system subject to (2) so that each agent’s behavior obeys a given specification over its atomic propositions Ψi\Psi_{i}.

Given a trajectory 𝒑𝒊(t)\boldsymbol{p_{i}}(t) of agent ii, its corresponding behavior is given by the infinite sequence βi=(𝒑𝒊(t),ψi)=(𝒑𝒊𝟏,ψi1)(𝒑𝒊𝟐,ψi2)\beta_{i}=(\boldsymbol{p_{i}}(t),\psi_{i})=(\boldsymbol{p_{i_{1}}},\psi_{i_{1}})(\boldsymbol{p_{i_{2}}},\psi_{i_{2}})\dots, with ψim2Ψi\psi_{i_{m}}\in 2^{\Psi_{i}} and 𝒜(𝒑𝒊𝒎)πkm,ψimi(πkm),km{1,,K},m\mathcal{A}(\boldsymbol{p_{i_{m}}})\in\pi_{k_{m}},\psi_{i_{m}}\in\mathcal{L}_{i}(\pi_{k_{m}}),k_{m}\in\{1,\dots,K\},\forall m\in\mathbb{N}.

Definition 4

The behavior βi=(𝐩𝐢(t),ψi)\beta_{i}=(\boldsymbol{p_{i}}(t),\psi_{i}) satisfies an LTL formula ϕ\phi if and only if ψiϕ\psi_{i}\models\phi.

III-C Problem Formulation

The control objectives are given for each agent separately as LTL formulas ϕi\phi_{i} over Ψi,i{1,,N}\Psi_{i},i\in\{1,\dots,N\}. An LTL formula is satisfied if there exists a behavior βi=(𝒑𝒊(t),ψi)\beta_{i}=(\boldsymbol{p_{i}}(t),\psi_{i}) of agent ii that satisfies ϕi\phi_{i}. Formally, the problem treated in this paper is the following:

Problem 1

Given a set of aerial vehicles NN subject to the dynamics (2) and NN LTL formulas ϕi,\phi_{i}, over the respective atomic propositions Ψi,i{1,,N}\Psi_{i},i\in\{1,\dots,N\}, achieve behaviors βi\beta_{i} that (i) yield satisfaction of ϕi,i{1,,N}\phi_{i},\forall i\in\{1,\dots,N\} and (ii) guarantee inter-agent collision avoidance.

IV Main Results

IV-A Continuous Control Design

The first ingredient of our solution is the development of a decentralized feedback control law that establishes a transition relation πkiπk,k,k{1,,K}\pi_{k}\rightarrow_{i}\pi_{k^{\prime}},\forall k,k^{\prime}\in\{1,\dots,K\} according to Def. 3. First, we provide an overview of the concept of Decentralized Navigation Functions, introduced in [31], that we will use in the subsequent analysis.

IV-A1 Decentralized Navigation Functions (DNFs)

Consider NN agents described by the position variables 𝒑𝒊(t)3\boldsymbol{p_{i}}(t)\in\mathbb{R}^{3}, bounding spheres ri(𝒑𝒊(t))\mathcal{B}_{r_{i}}(\boldsymbol{p_{i}}(t)), sensing radius dsi>0,i{1,,N}d_{s_{i}}>0,i\in\{1,\dots,N\} and dynamics as in (2). Each agent’s goal is to reach a desired position 𝒑𝒊𝒅3\boldsymbol{p^{d}_{i}}\in\mathbb{R}^{3} without colliding with the other agents. To this end, we employ the following class of decentralized navigation functions: ϕi:3N[0,1]\phi_{i}:\mathbb{R}^{3N}\rightarrow[0,1], with ϕi(𝒑)=γi(𝒑𝒊)+fi(Gi)(γi(𝒑𝒊)λi+Gi(𝒑))1/λi\phi_{i}(\boldsymbol{p})=\dfrac{\gamma_{i}(\boldsymbol{p_{i}})+f_{i}(G_{i})}{(\gamma_{i}(\boldsymbol{p_{i}})^{\lambda_{i}}+G_{i}(\boldsymbol{p}))^{1/\lambda_{i}}}, where 𝒑=[𝒑𝟏,,𝒑𝑵]T\boldsymbol{p}=[\boldsymbol{p_{1}},\dots,\boldsymbol{p_{N}}]^{T} and λi>0\lambda_{i}>0. The function γi:30\gamma_{i}:\mathbb{R}^{3}\rightarrow\mathbb{R}_{\geq 0} is defined as γi(𝒑𝒊)=𝒑𝒊(t)𝒑𝒊𝒅2\gamma_{i}(\boldsymbol{p_{i}})=\lVert\boldsymbol{p_{i}}(t)-\boldsymbol{p^{d}_{i}}\rVert^{2} and it represents the attraction of agent ii towards its goal position, with γi1(0)\gamma_{i}^{-1}(0) being the desired set. The term Gi(𝒑):3NG_{i}(\boldsymbol{p}):\mathbb{R}^{3N}\rightarrow\mathbb{R} is associated with the collision avoidance property of agent ii with the rest of the team and is based on the inter-agent distance function [31]: βij:3×3\beta_{ij}:\mathbb{R}^{3}\times\mathbb{R}^{3}\rightarrow\mathbb{R} with

βij(𝒑𝒊,𝒑𝒋)={𝒑𝒊𝒑𝒋2(ri+rj)2,if j𝒩idsi2(ri+rj)2,if j𝒩i,\beta_{ij}(\boldsymbol{p_{i}},\boldsymbol{p_{j}})=\left\{\begin{array}[]{ll}\lVert\boldsymbol{p_{i}}-\boldsymbol{p_{j}}\rVert^{2}-(r_{i}+r_{j})^{2},&\text{if }j\in\mathcal{N}_{i}\\ d^{2}_{s_{i}}-(r_{i}+r_{j})^{2},&\text{if }j\notin\mathcal{N}_{i},\end{array}\right.

that represents the distance between agents ii and j𝒩ij\in\mathcal{N}_{i}. Roughly speaking, GiG_{i} expresses all possible collisions between agent ii and the others and Gi1(0)G_{i}^{-1}(0) is the set we want to avoid. The term fi:f_{i}:\mathbb{R}\rightarrow\mathbb{R} is introduced in [31] and is used in this work in order to avoid inter-agent collisions in the case where γi0,γj0,i,j{1,,N}\gamma_{i}\rightarrow 0,\gamma_{j}\rightarrow 0,i,j\in\{1,\dots,N\} with 𝒑𝒊𝒅=𝒑𝒋𝒅,ij\boldsymbol{p^{d}_{i}}=\boldsymbol{p^{d}_{j}},i\neq j, i.e., when two or more agents have the same goal positions and they approach them simultaneously. Analytic expressions for GiG_{i} and fif_{i} can be found in [31]. With the aforementioned tools, the control law for agent ii is 𝒖𝒊=kiϕi(𝒑)𝒑𝒊\boldsymbol{u_{i}}=-k_{i}\dfrac{\partial\phi_{i}(\boldsymbol{p})}{\partial\boldsymbol{p_{i}}}, which, as shown in [31], drives all agents to their goal positions and guarantees inter-agent collision-avoidance.

IV-A2 Continuous Control Law


By employing the aforementioned ideas regarding DNFs and given that 𝒜i(𝒑𝒊(t0))\mathcal{A}_{i}(\boldsymbol{p_{i}}(t_{0})) for some t00t_{0}\geq 0, we propose a decentralized control law 𝒖𝒊\boldsymbol{u_{i}} for the transition πkiπk\pi_{k}\rightarrow_{i}\pi_{k^{\prime}}, as defined in Def. 3.

Initially, we define the set of "undesired" regions as Πk,k={πmΠ,m{1,,K}\{k,k}}\Pi_{k,k^{\prime}}=\{\pi_{m}\in\Pi,m\in\{1,\dots,K\}\backslash\{k,k^{\prime}\}\} and the corresponding free space k,k=𝒲\{rπ(𝒑𝝅)}πΠk,k\mathcal{F}_{k,k^{\prime}}=\mathcal{W}\backslash\{\mathcal{B}_{r_{\pi}}(\boldsymbol{p_{\pi}})\}_{\pi\in\Pi_{k,k^{\prime}}}. As the goal configuration we consider the centroid 𝒑𝝅𝒌\boldsymbol{p_{\pi_{k^{\prime}}}} of πk\pi_{k^{\prime}} and we construct the function γik:k,k0\gamma_{i_{k^{\prime}}}:\mathcal{F}_{k,k^{\prime}}\rightarrow\mathbb{R}_{\geq 0} with γik(𝒑𝒊)=𝒑𝒊𝒑𝝅𝒌2\gamma_{i_{k^{\prime}}}(\boldsymbol{p_{i}})=\lVert\boldsymbol{p_{i}}-\boldsymbol{p_{\pi_{k^{\prime}}}}\rVert^{2}. For the collision avoidance between the agents, we employ the function Gi:k,k×3(N1)G_{i}:\mathcal{F}_{k,k^{\prime}}\times\mathbb{R}^{3(N-1)}\rightarrow\mathbb{R} as defined in [31].

Moreover, we also need some extra terms that guarantee that agent ii will avoid the rest of the regions as well as the workspace boundary. To this end, we construct the function αik,k:k,k\alpha_{i_{k,k^{\prime}}}:\mathcal{F}_{k,k^{\prime}}\rightarrow\mathbb{R} with αik,k(𝒑𝒊)=αi,0(𝒑𝒊)mΠk,kαi,m(𝒑𝒊)\alpha_{i_{k,k^{\prime}}}(\boldsymbol{p_{i}})=\alpha_{i,0}(\boldsymbol{p_{i}})\prod_{m\in{\Pi}_{k,k^{\prime}}}\alpha_{i,m}(\boldsymbol{p_{i}}), where the function αi,0:k,k\alpha_{i,0}:\mathcal{F}_{k,k^{\prime}}\rightarrow\mathbb{R} is a measure of the distance of agent ii from the workspace boundary αi,0=(r0ri)2𝒑𝒊𝒑𝟎2\alpha_{i,0}=(r_{0}-r_{i})^{2}-\lVert\boldsymbol{p_{i}}-\boldsymbol{p_{0}}\rVert^{2} and the function αi,m:k,k\alpha_{i,m}:\mathcal{F}_{k,k^{\prime}}\rightarrow\mathbb{R} is a measure of the distance of agent ii from the undesired regions αi,m=𝒑𝒊𝒑𝒎2(ri+rm)2\alpha_{i,m}=\lVert\boldsymbol{p_{i}}-\boldsymbol{p_{m}}\rVert^{2}-(r_{i}+r_{m})^{2}.

With the above ingredients, we construct the following navigation function ϕik,k:k,k×3(N1)[0,1]\phi_{i_{k,k^{\prime}}}:\mathcal{F}_{k,k^{\prime}}\times\mathbb{R}^{3(N-1)}\rightarrow[0,1]:

ϕik,k(𝒑(t))=γik(𝒑𝒊)+fi(Gi)(γikλi(𝒑𝒊)+Gi(𝒑)αik,k(𝒑𝒊))1/λi\phi_{i_{k,k^{\prime}}}(\boldsymbol{p}(t))=\dfrac{\gamma_{i_{k^{\prime}}}(\boldsymbol{p_{i}})+f_{i}(G_{i})}{(\gamma_{i_{k^{\prime}}}^{\lambda_{i}}(\boldsymbol{p_{i}})+G_{i}(\boldsymbol{p})\alpha_{i_{k,k^{\prime}}}(\boldsymbol{p_{i}}))^{1/\lambda_{i}}} (3)

for agent ii, with λi>0\lambda_{i}>0 and the following vector field:

𝒄𝒊𝒌,𝒌(t)={kgiϕik,k(𝒑(t))𝒑𝒊(t),if πkπk0if πkπk\boldsymbol{c_{i_{k,k^{\prime}}}}(t)=\left\{\begin{array}[]{cc}-k_{g_{i}}\dfrac{\partial\phi_{i_{k,k^{\prime}}}(\boldsymbol{p}(t))}{\partial\boldsymbol{p_{i}}(t)},&\mbox{if }\pi_{k}\not\equiv\pi_{k^{\prime}}\\ 0&\mbox{if }\pi_{k}\equiv\pi_{k^{\prime}}\end{array}\right. (4)

for all tt0t\geq t_{0}, with kgi>0k_{g_{i}}>0 and fi(Gi)f_{i}(G_{i}) as defined in [31].

The navigation field (4) guarantees that agent ii will not enter the undesired regions or collide with the other agents and limt𝒑𝒊(t)=𝒑𝝅𝒌\lim_{t\rightarrow\infty}\boldsymbol{p_{i}}(t)=\boldsymbol{p_{\pi_{k^{\prime}}}}. The latter property of asymptotic convergence along with the assumption that ri<rπk,i{1,,N},k{1,,K}r_{i}<r_{\pi_{k}},\forall i\in\{1,\dots,N\},k\in\{1,\dots,K\}, implies that there exists a finite time instant ti,kft0t^{\scriptscriptstyle f}_{i,k^{\prime}}\geq t_{0} such that 𝒑𝒊(ti,kf)rπk(𝒑𝝅𝒌)\boldsymbol{p_{i}}(t^{\scriptscriptstyle f}_{i,k^{\prime}})\in\mathcal{B}_{r_{\pi_{k^{\prime}}}}(\boldsymbol{p_{\pi_{k^{\prime}}}}) and more specifically that 𝒜i(𝒑𝒊(ti,kf))πk\mathcal{A}_{i}(\boldsymbol{p_{i}}(t^{\scriptscriptstyle f}_{i,k^{\prime}}))\in\pi_{k^{\prime}}, which is the desired behavior. The time instant ti,kft^{\scriptscriptstyle f}_{i,k^{\prime}} can be chosen from the set Stk={tt0,𝒜i(𝒑𝒊(t))πk}S_{t_{k^{\prime}}}=\{t\geq t_{0},\mathcal{A}_{i}(\boldsymbol{p_{i}}(t))\in\pi_{k^{\prime}}\}.

Note, however, that once agent ii leaves region πk\pi_{k}, there is no guarantee that it will not enter that region again (note that Fk,kF_{k,k^{\prime}} includes πk\pi_{k}). Therefore, we define the set Π,k={πmΠ,m{1,,K}\{k}}\Pi_{\emptyset,k^{\prime}}=\{\pi_{m}\in\Pi,m\in\{1,\dots,K\}\backslash\{k^{\prime}\}\} and the corresponding free space ,k=𝒲\{rπ(𝒑𝝅)}πΠ,k\mathcal{F}_{\emptyset,k^{\prime}}=\mathcal{W}\backslash\{\mathcal{B}_{r_{\pi}}(\boldsymbol{p_{\pi}})\}_{\pi\in\Pi_{\emptyset,k^{\prime}}}, and we construct the function ϕi,k:,k×3(N1)[0,1]\phi_{i_{\emptyset,k^{\prime}}}:\mathcal{F}_{\emptyset,k^{\prime}}\times\mathbb{R}^{3(N-1)}\rightarrow[0,1]:

ϕi,k(𝒑(t))=γik(𝒑𝒊)+fi(Gi)(γikλi(𝒑𝒊)+Gi(𝒑)αi,k(𝒑𝒊))1/λi\phi_{i_{\emptyset,k^{\prime}}}(\boldsymbol{p}(t))=\dfrac{\gamma_{i_{k^{\prime}}}(\boldsymbol{p_{i}})+f_{i}(G_{i})}{(\gamma_{i_{k^{\prime}}}^{\lambda_{i}}(\boldsymbol{p_{i}})+G_{i}(\boldsymbol{p})\alpha_{i_{\emptyset,k^{\prime}}}(\boldsymbol{p_{i}}))^{1/\lambda_{i}}} (5)

where αi,k=αi,0(𝒑𝒊)mΠ,kαi,m(𝒑𝒊)\alpha_{i_{\emptyset,k^{\prime}}}=\alpha_{i,0}(\boldsymbol{p_{i}})\prod_{m\in\Pi_{\emptyset,k^{\prime}}}\alpha_{i,m}(\boldsymbol{p_{i}}), with corresponding vector field:

𝒄𝒊,𝒌(t)=kgiϕi,k(𝒑(t))𝒑𝒊(t),\boldsymbol{c_{i_{\emptyset,k^{\prime}}}}(t)=-k_{g_{i}}\dfrac{\partial\phi_{i_{\emptyset,k^{\prime}}}(\boldsymbol{p}(t))}{\partial\boldsymbol{p_{i}}(t)}, (6)

which guarantees that region πk\pi_{k} will be also avoided. Therefore, we develop a switching control protocol that employs (4) until agent ii is out of region πk\pi_{k} and then switches to (6) until t=ti,kft=t^{\scriptscriptstyle f}_{i,k^{\prime}}. Consider the following switching function:

s(x)=12(sat(2x1)+1)s(x)=\dfrac{1}{2}(\text{sat}(2x-1)+1) (7)

where sat:[1,1]\text{sat}:\mathbb{R}\rightarrow[-1,1] is the standard saturation function (sat(x)=x\text{sat}(x)=x, if |x|1;sat(x)=x/|x|\lvert x\rvert\leq 1;\text{sat}(x)=x/\lvert x\rvert, if |x|>1\lvert x\rvert>1), and the time instant ti,kt^{\prime}_{i,k} that represents the moment that agent ii is out of region πk\pi_{k}, i.e., ti,k=minStt^{\prime}_{i,k}=\min S_{t_{\not k}}, where St={tt0,ri(𝒑𝒊(t))rπk(𝒑𝝅𝒌)=}S_{t_{\not k}}=\{t\geq t_{0},\mathcal{B}_{r_{i}}(\boldsymbol{p_{i}}(t))\cap\mathcal{B}_{r_{\pi_{k}}}(\boldsymbol{p_{\pi_{k}}})=\emptyset\}. Note that ti,k<ti,kft^{\prime}_{i,k}<t^{\scriptscriptstyle f}_{i,k^{\prime}}, since d3(𝒑𝝅𝒌,𝒑𝝅𝒌)>4maxk{1,,K}(rπk),k,k{1,,K}d_{3}(\boldsymbol{p_{\pi_{k}}},\boldsymbol{p_{\pi_{k^{\prime}}}})>4\max_{k\in\{1,\dots,K\}}(r_{\pi_{k}}),\forall k,k^{\prime}\in\{1,\dots,K\} with kkk\neq k^{\prime}. Then, we propose the following switching control protocol 𝒖𝒊:[t0,ti,kf)3\boldsymbol{u_{i}}:[t_{0},t^{\scriptscriptstyle f}_{i,k^{\prime}})\rightarrow\mathbb{R}^{3}:

𝒖𝒊(t)={𝒄𝒊𝒌,𝒌(t),tT1(1s(ξi,k))𝒄𝒊𝒌,𝒌(t)+s(ξi,k)𝒄𝒊,𝒌(t),tT2\boldsymbol{u_{i}}(t)=\left\{\begin{array}[]{cc}\boldsymbol{c_{i_{k,k^{\prime}}}}(t),&t\in T_{1}\\ (1-s(\xi_{i,k}))\boldsymbol{c_{i_{k,k^{\prime}}}}(t)+s(\xi_{i,k})\boldsymbol{c_{i_{\emptyset,k^{\prime}}}}(t),&t\in T_{2}\end{array}\right. (8)

where T1=[t0,ti,k),T2=[ti,k,ti,kf)T_{1}=[t_{0},t^{\prime}_{i,k}),T_{2}=[t^{\prime}_{i,k},t^{\scriptscriptstyle f}_{i,k^{\prime}}) and ξi,k=\xi_{i,k}= tti,kνi\dfrac{t-t^{\prime}_{i,k}}{\nu_{i}}, where νi\nu_{i} is a design parameter indicating the time period of the switching process, with ti,kfti,k>νi>0t^{\scriptscriptstyle f}_{i,k^{\prime}}-t^{\prime}_{i,k}>\nu_{i}>0. Invoking the continuity of 𝒑𝒊(t)\boldsymbol{p_{i}}(t), we obtain limt(ti,kf)𝒑𝒊(t)=𝒑𝒊(ti,kf)rπk(𝒑𝝅𝒌)\lim_{t\rightarrow(t^{\scriptscriptstyle f}_{i,k^{\prime}})^{-}}\boldsymbol{p_{i}}(t)=\boldsymbol{p_{i}}(t^{\scriptscriptstyle f}_{i,k^{\prime}})\in\mathcal{B}_{r_{\pi_{k^{\prime}}}}(\boldsymbol{p_{\pi_{k^{\prime}}}}) and hence the control protocol (8) guarantees, for sufficiently small νi\nu_{i}, that agent ii will navigate from πk\pi_{k} to πk\pi_{k^{\prime}} in finite time without entering any other regions or colliding with other agents and therefore establishes a transition πkiπk\pi_{k}\rightarrow_{i}\pi_{k^{\prime}}. The proof of correctness of (3) and (5) follows closely the one in [31] and is therefore omitted.

IV-B High-Level Plan Generation

The next step of our solution is the high-level plan, which can be generated using standard techniques inspired by automata-based formal verification methodologies. In Section IV-A, we proposed a continuous control law that allows the agents to transit between any πk,πkΠ\pi_{k},\pi_{k^{\prime}}\in\Pi in the given workspace 𝒲\mathcal{W}, without colliding with each other. Thanks to this and to our definition of LTL semantics over the sequence of atomic propositions, we can abstract the motion capabilities of each agent as a finite transition system 𝒯i\mathcal{T}_{i} as follows [32]:

Definition 5

The motion of each agent i{1,,N}i\in\{1,\dots,N\} in 𝒲\mathcal{W} is modeled by the following Transition System (TS):

𝒯i=(Πi,Πiinit,i,Ψi,i),\mathcal{T}_{i}=(\Pi_{i},\Pi^{\text{init}}_{i},\rightarrow_{i},\Psi_{i},\mathcal{L}_{i}), (9)

where ΠiΠ\Pi_{i}\subseteq\Pi is the set of states represented by the regions of interest that the agent can be at, according to Def. 2, ΠiinitΠi\Pi^{\text{init}}_{i}\subseteq\Pi_{i} is the set of initial states that agent ii can start from, iΠi×Πi\rightarrow_{i}\subseteq\Pi_{i}\times\Pi_{i} is the transition relation established in Section IV-A, abbreviated as πkπk,πk,πkΠi\pi_{k}\rightarrow\pi_{k^{\prime}},\pi_{k},\pi_{k^{\prime}}\in\Pi_{i}, and Ψi,i\Psi_{i},\mathcal{L}_{i} are the atomic propositions and labeling function respectively, as defined in Section III.

After the definition of 𝒯i\mathcal{T}_{i}, we translate each given LTL formula ϕi,i{1,,N}\phi_{i},i\in\{1,\dots,N\} into a Büchi automaton 𝒞i\mathcal{C}_{i} and we form the product 𝒯~i=𝒯i×𝒞i\widetilde{\mathcal{T}}_{i}=\mathcal{T}_{i}\times\mathcal{C}_{i}. The accepting runs of 𝒯~i\widetilde{\mathcal{T}}_{i} satisfy ϕi\phi_{i} and are directly projected to a sequence of waypoints to be visited, providing therefore a desired path for agent ii. Although the semantics of LTL is defined over infinite sequences of atomic propositions, it can be proven that there always exists a high-level plan that takes a form of a finite state sequence followed by an infinite repetition of another finite state sequence. For more details on the followed technique, we kindly refer the reader to the related literature, e.g., [32].

Following the aforementioned methodology, we obtain a high-level plan for each agent as sequences of regions and atomic propositions pi=πi1πi2p_{i}=\pi_{i_{1}}\pi_{i_{2}}\dots and ψi=ψi1ψi2\psi_{i}=\psi_{i_{1}}\psi_{i_{2}}\dots with im{1,,K},ψim2Ψi,ψimi(πim),mi_{m}\in\{1,\dots,K\},\psi_{i_{m}}\in 2^{\Psi_{i}},\psi_{i_{m}}\in\mathcal{L}_{i}(\pi_{i_{m}}),\forall m\in\mathbb{N} and ψiϕi,i{1,,N}\psi_{i}\models\phi_{i},\forall i\in\{1,\dots,N\}.

The execution of (pi,ψi)(p_{i},\psi_{i}) produces a trajectory 𝒑𝒊(t)\boldsymbol{p_{i}}(t) that corresponds to the behavior βi=(𝒑𝒊(t),ψi)=(𝒑𝒊𝟏(t),ψi1)(𝒑𝒊𝟐(t),ψi2)\beta_{i}=(\boldsymbol{p_{i}}(t),\psi_{i})=(\boldsymbol{p_{i_{1}}}(t),\psi_{i_{1}})(\boldsymbol{p_{i_{2}}}(t),\psi_{i_{2}})\dots, with 𝒜i(𝒑𝒊𝒎)πim\mathcal{A}_{i}(\boldsymbol{p_{i_{m}}})\in\pi_{i_{m}} and ψimi(πim)\psi_{i_{m}}\in\mathcal{L}_{i}(\pi_{i_{m}}), m\forall m\in\mathbb{N}. Therefore, since ψiϕi\psi_{i}\models\phi_{i}, the behavior βi\beta_{i} yields satisfaction of the formula ϕi\phi_{i}. Moreover, the property of inter-agent collision avoidance is inherent in the transition relations of 𝒯i\mathcal{T}_{i} and guaranteed by the navigation control algorithm of Section IV-A. The previous discussion is summarized in the following theorem:

Theorem 1

The individual executions of (pi,ψi),i{1,,N}(p_{i},\psi_{i}),i\in\{1,\dots,N\}, that satisfy the respective ϕi\phi_{i}, produce agent behaviors βi,i{1,,N}\beta_{i},i\in\{1,\dots,N\} that (i) yield the satisfaction of all ϕi,i{1,,N}\phi_{i},i\in\{1,\dots,N\} and (ii) guarantee inter-agent collision avoidance, providing, therefore, a solution to Problem 1.

Remark 1

The proposed control algorithm is decentralized in the sense that each agent derives and executes its own plan without communicating with the rest of the team. The only information that each agent has is the position of its neighboring agents that lie in its limited sensing radius.

Refer to caption
Figure 2: Initial workspace of the simulation studies. The grey spheres represent the regions of interest while the black, green and red crosses represent agents 1,2 and 3, respectively, along with their bounding spheres.
Refer to caption
Figure 3: The resulting 33-dimensional control signals of the 33 agents for the simulation studies. Top: agent 11, middle: agent 22, bottom: agent 33.

V Simulation Results

To demonstrate the efficiency of the proposed algorithm, we consider N=3N=3 aerial vehicles ri(𝒑𝒊(t))\mathcal{B}_{r_{i}}(\boldsymbol{p_{i}}(t)), with ri=0.3r_{i}=0.3m, dsi=0.65d_{s_{i}}=0.65m, i={1,2,3}\forall i=\{1,2,3\}, operating in a workspace 𝒲=r0(𝒑𝟎)\mathcal{W}=\mathcal{B}_{r_{0}}(\boldsymbol{p_{0}}) with r0=10r_{0}=10m and 𝒑𝟎=[0,0,0]T\boldsymbol{p_{0}}=[0,0,0]^{T}m. Moreover, we consider K=5K=5 spherical regions of interest rπk(𝒑𝝅𝒌)\mathcal{B}_{r_{\pi_{k}}}(\boldsymbol{p_{\pi_{k}}}) with rπk=0.4r_{\pi_{k}}=0.4m, k={1,,5}\forall k=\{1,\dots,5\} and 𝒑π1=[0,0,2]T\boldsymbol{p}_{\pi_{1}}=[0,0,2]^{T}m, 𝒑π2=[1,9,5]T\boldsymbol{p}_{\pi_{2}}=[1,-9,5]^{T}m, 𝒑π3=[8,1,4]T\boldsymbol{p}_{\pi_{3}}=[-8,-1,4]^{T}m, 𝒑π4=[2,7,2]T\boldsymbol{p}_{\pi_{4}}=[2,7,-2]^{T}m and 𝒑π5=[7.5,2,3]T\boldsymbol{p}_{\pi_{5}}=[7.5,2,-3]^{T}m. The initial configurations of the agents are taken as 𝒑𝟏(0)=𝒑π1,𝒑𝟐(0)=𝒑π3,𝒑𝟑(0)=𝒑π4\boldsymbol{p_{1}}(0)=\boldsymbol{p}_{\pi_{1}},\boldsymbol{p_{2}}(0)=\boldsymbol{p}_{\pi_{3}},\boldsymbol{p_{3}}(0)=\boldsymbol{p}_{\pi_{4}} and therefore, 𝒜1(𝒑𝟏(0))π1,𝒜2(𝒑𝟐(0))π3\mathcal{A}_{1}(\boldsymbol{p_{1}}(0))\in\pi_{1},\mathcal{A}_{2}(\boldsymbol{p_{2}}(0))\in\pi_{3} and 𝒜3(𝒑𝟑(0))π4\mathcal{A}_{3}(\boldsymbol{p_{3}}(0))\in\pi_{4}. An illustration of the described workspace is depicted in Fig. 2.

Refer to caption
(a)
Refer to caption
(b)
Figure 4: Initial workspace for the first real experimental scenario. (a): The UAVs with the projection of their bounding spheres, (with blue and green), and the centroids of the regions of interest (with red). (b): Top view of the described workspace. The UAVs are represented by the blue and green circled X’s and the regions of interest by the red disks π1,,π4\pi_{1},\dots,\pi_{4}.

We consider that agent 22 is assigned with inspection tasks and has the atomic propositions Ψ2={insa,insb,insc,insd,obs}\Psi_{2}=\{``\text{ins}_{\text{a}}",``\text{ins}_{\text{b}}",``\text{ins}_{\text{c}}",``\text{ins}_{\text{d}}",``\text{obs}"\} with 2(π1)={obs},2(π2)={insa},2(π3)={insb},2(π4)={insc}\mathcal{L}_{2}(\pi_{1})=\{``\text{obs}"\},\mathcal{L}_{2}(\pi_{2})=\{``\text{ins}_{\text{a}}"\},\mathcal{L}_{2}(\pi_{3})=\{``\text{ins}_{\text{b}}"\},\mathcal{L}_{2}(\pi_{4})=\{``\text{ins}_{\text{c}}"\} and 2(π5)={insd}\mathcal{L}_{2}(\pi_{5})=\{``\text{ins}_{\text{d}}"\}, where we have considered that region π1\pi_{1} is an undesired ("obstacle") region for this agent. More specifically, the task for agent 22 is the continuous inspection of the workspace while avoiding region π1\pi_{1}. The corresponding LTL specification is ϕ2=(¬obs)(insainsbinscinsd)\phi_{2}=(\square\neg``\text{obs}")\land\square(\lozenge``\text{ins}_{\text{a}}"\land\lozenge``\text{ins}_{\text{b}}"\land\lozenge``\text{ins}_{\text{c}}"\land\lozenge``\text{ins}_{\text{d}}"). Agents 11 and 33 are interested in moving around resources scattered in the workspace and have propositions Ψ1=Ψ3={resa,resb,resc,resd,rese}\Psi_{1}=\Psi_{3}=\{``\text{res}_{\text{a}}",``\text{res}_{\text{b}}",``\text{res}_{\text{c}}",``\text{res}_{\text{d}}",``\text{res}_{\text{e}}"\} with 1(π1)=3(π1)={resa},1(π2)=3(π2)={resb},1(π3)=3(π3)={resc},1(π4)=3(π4)={resd}\mathcal{L}_{1}(\pi_{1})=\mathcal{L}_{3}(\pi_{1})=\{\text{res}_{\text{a}}\},\mathcal{L}_{1}(\pi_{2})=\mathcal{L}_{3}(\pi_{2})=\{\text{res}_{\text{b}}\},\mathcal{L}_{1}(\pi_{3})=\mathcal{L}_{3}(\pi_{3})=\{\text{res}_{\text{c}}\},\mathcal{L}_{1}(\pi_{4})=\mathcal{L}_{3}(\pi_{4})=\{\text{res}_{\text{d}}\} and 1(π5)=3(π5)={rese}\mathcal{L}_{1}(\pi_{5})=\mathcal{L}_{3}(\pi_{5})=\{\text{res}_{\text{e}}\}. We assume that resa``\text{res}_{\text{a}}" is shared between the two agents whereas resb``\text{res}_{\text{b}}" and rese``\text{res}_{\text{e}}" have to be accessed only by agent 11 and resc``\text{res}_{\text{c}}" and resd``\text{res}_{\text{d}}" only by agent 33. The corresponding specifications are ϕ1=¬(rescresd)(resareseresb)\phi_{1}=\square\neg(``\text{res}_{\text{c}}"\lor``\text{res}_{\text{d}}")\land\square\lozenge(``\text{res}_{\text{a}}"\bigcirc``\text{res}_{\text{e}}"\bigcirc``\text{res}_{\text{b}}") and ϕ3=¬(resbrese)(resarescresd)\phi_{3}=\square\neg(``\text{res}_{\text{b}}"\lor``\text{res}_{\text{e}}")\land\square\lozenge(``\text{res}_{\text{a}}"\bigcirc``\text{res}_{\text{c}}"\bigcirc``\text{res}_{\text{d}}"), where we have also included a specific order for the access of the resources. Next, we employ the off-the-shelf tool LTL2BA [34] to create the Büchi automata 𝒞i,i={1,2,3}\mathcal{C}_{i},i=\{1,2,3\} and by following the procedure described in Section IV-B, we derive the paths p1=(π1π5π2)ω,p2=(π3π2π5π4)ω,p3=(π4π1π3)ωp_{1}=(\pi_{1}\pi_{5}\pi_{2})^{\omega},p_{2}=(\pi_{3}\pi_{2}\pi_{5}\pi_{4})^{\omega},p_{3}=(\pi_{4}\pi_{1}\pi_{3})^{\omega}, whose execution satisfies ϕ1,ϕ2,ϕ3\phi_{1},\phi_{2},\phi_{3}. Regarding the continuous control protocol, we chose kgi=15,λi=5,i{1,2,3}k_{g_{i}}=15,\lambda_{i}=5,\forall i\in\{1,2,3\} in (4), (6) and the switching duration in (8) was calculated online as νi=0.1ti,k\nu_{i}=0.1t^{\prime}_{i,k}, where we assume that the large distance between the regions πk\pi_{k} (see Fig. 2) implies that ti,kf>1.1ti,kt^{\scriptscriptstyle f}_{i,k^{\prime}}>1.1t^{\prime}_{i,k} and thus, νi<ti,kfti,k\nu_{i}<t^{\scriptscriptstyle f}_{i,k^{\prime}}-t^{\prime}_{i,k}. The simulation results are depicted in Fig. 3 and 5. In particular, Fig. 5 illustrates the execution of the paths (π1π5π2)2π1,(π3π2π5π4)2π3π2π5(\pi_{1}\pi_{5}\pi_{2})^{2}\pi_{1},(\pi_{3}\pi_{2}\pi_{5}\pi_{4})^{2}\pi_{3}\pi_{2}\pi_{5} and (π4π1π3)2π4(\pi_{4}\pi_{1}\pi_{3})^{2}\pi_{4} by agents 1,21,2 and 33 respectively, where the superscript 22 here denotes that the corresponding paths are executed twice. Fig. 3 depicts the resulting control inputs ui,i{1,2,3}u_{i},\forall i\in\{1,2,3\}. The figures demonstrate the successful execution of the agents’ paths and therefore, satisfaction of the respective formulas with inter-agent collision avoidance.

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Refer to caption
(e)
Refer to caption
(f)
Refer to caption
(g)
Refer to caption
(h)
Figure 5: Execution of the paths (π1π5π2)2π1,(π3π2π5π4)2π3π2π5(\pi_{1}\pi_{5}\pi_{2})^{2}\pi_{1},(\pi_{3}\pi_{2}\pi_{5}\pi_{4})^{2}\pi_{3}\pi_{2}\pi_{5} and (π4π1π3)2π4(\pi_{4}\pi_{1}\pi_{3})^{2}\pi_{4} by agents 1,21,2 and 33, respectively, for the simulation studies.
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Refer to caption
(e)
Refer to caption
(f)
Figure 6: Execution of the paths (π2π4π3)1(\pi_{2}\pi_{4}\pi_{3})^{1} and (π4π3π2)1(\pi_{4}\pi_{3}\pi_{2})^{1} by agents 11 and 22, respectively for the first experimental scenario. (a), (d): π21π4,π42π3\pi_{2}\rightarrow_{1}\pi_{4},\pi_{4}\rightarrow_{2}\pi_{3}, (b), (e): π41π3,π32π2\pi_{4}\rightarrow_{1}\pi_{3},\pi_{3}\rightarrow_{2}\pi_{2}, (c), (f):π31π2,π22π4\pi_{3}\rightarrow_{1}\pi_{2},\pi_{2}\rightarrow_{2}\pi_{4}.
Refer to caption
Figure 7: The resulting 22-dimensional control signals of the 22 agents for the first experimental scenario. Top: agent 1, bottom: agent 2.

VI Experimental Results

The validity and efficiency of the proposed solution was also verified through real-time experiments. The experimental setup involved two remotely controlled IRIS+ quadrotors from 33D Robotics, which we consider to have sensing range dsi=0.65d_{s_{i}}=0.65m, upper control input bound |𝒖m|1\lvert\boldsymbol{u}_{m}\rvert\leq 1m/s, m{x,y,z}m\in\{x,y,z\}, and bounding spheres with radius ri=0.3r_{i}=0.3m, i{1,2}\forall i\in\{1,2\}. We considered two 22-dimensional scenarios in a workspace 𝒲={𝒑2 s.t. 𝒑2.5m}\mathcal{W}=\{\boldsymbol{p}\in\mathbb{R}^{2}\text{ s.t. }\lVert\boldsymbol{p}\rVert\leq 2.5\text{m}\}, i.e. 𝒑𝟎=[0,0]T\boldsymbol{p_{0}}=[0,0]^{T} and r0=2.5r_{0}=2.5m.

The first scenario included 44 regions of interest Π={π1,,π4}\Pi=\{\pi_{1},\dots,\pi_{4}\} in 𝒲\mathcal{W}, with rπk=0.4,k{1,,4}r_{\pi_{k}}=0.4,\forall k\in\{1,\dots,4\} and 𝒑𝝅𝟏=[0,0]T\boldsymbol{p_{\pi_{1}}}=[0,0]^{T}m, 𝒑𝝅𝟐=[1,0]T\boldsymbol{p_{\pi_{2}}}=[-1,0]^{T}m, 𝒑𝝅𝟑=[0,1.25]T\boldsymbol{p_{\pi_{3}}}=[0,1.25]^{T}m and 𝒑𝝅𝟒=[0.8,0.7]T\boldsymbol{p_{\pi_{4}}}=[0.8,-0.7]^{T}m. The initial positions of the agents were taken such that 𝒜1(𝒑𝟏(0))π2\mathcal{A}_{1}(\boldsymbol{p_{1}}(0))\in\pi_{2} and 𝒜2(𝒑𝟐(0))π4\mathcal{A}_{2}(\boldsymbol{p_{2}}(0))\in\pi_{4} (see Fig. 4). We also defined the atomic propositions Ψ1=Ψ2={obs,a,b,c}\Psi_{1}=\Psi_{2}=\{``\text{obs}",``a",``b",``c"\} with L1(π1)=L2(π1)={obs},L1(π2)=L2(π2)={a},L1(π3)=L2(π3)={b},L1(π4)=L2(π4)={c}L_{1}(\pi_{1})=L_{2}(\pi_{1})=\{``\text{obs}"\},L_{1}(\pi_{2})=L_{2}(\pi_{2})=\{``a"\},L_{1}(\pi_{3})=L_{2}(\pi_{3})=\{``b"\},L_{1}(\pi_{4})=L_{2}(\pi_{4})=\{``c"\}. In this scenario, we were interested in area inspection while avoiding the "obstacle" region, and thus, we defined the individual specifications with the following LTL formulas: ϕ1=ϕ2=¬obs(acb)\phi_{1}=\phi_{2}=\square\neg``\text{obs}"\land\square\lozenge(``a"\bigcirc``c"\bigcirc``b"). By following the procedure described in Section IV-B, we obtained the paths p1=(π2π4π3)ω,p2=(π4π2π3)ωp_{1}=(\pi_{2}\pi_{4}\pi_{3})^{\omega},p_{2}=(\pi_{4}\pi_{2}\pi_{3})^{\omega}. Fig. 6 depicts the execution of the paths (π2π4π3)1(\pi_{2}\pi_{4}\pi_{3})^{1} and (π4π2π3)1(\pi_{4}\pi_{2}\pi_{3})^{1} by agents 11 and 22, respectively, and Fig. 7 shows the corresponding input signals, which do not exceed the control bounds 11m/s. It can be deduced by the figures that the agents successfully satisfy their individual formulas, without colliding with each other.

The second experimental scenario included 33 regions of interest Π={π1,,π3}\Pi=\{\pi_{1},\dots,\pi_{3}\} in 𝒲\mathcal{W}, with rπk=0.4,k{1,,3}r_{\pi_{k}}=0.4,\forall k\in\{1,\dots,3\} and 𝒑𝝅𝟏=[1,1.7]T\boldsymbol{p_{\pi_{1}}}=[-1,-1.7]^{T}m, 𝒑𝝅𝟐=[1.3,1.3]T\boldsymbol{p_{\pi_{2}}}=[-1.3,1.3]^{T}m and 𝒑𝝅𝟑=[1.2,0]T\boldsymbol{p_{\pi_{3}}}=[1.2,0]^{T}m. The initial positions of the agents were taken such that 𝒜1(𝒑𝟏(0))π1\mathcal{A}_{1}(\boldsymbol{p_{1}}(0))\in\pi_{1} and 𝒜i(𝒑𝟐(0))π2\mathcal{A}_{i}(\boldsymbol{p_{2}}(0))\in\pi_{2} (see Fig. 8). We also defined the atomic propositions Ψ1=Ψ2={resa,resb,base}\Psi_{1}=\Psi_{2}=\{``\text{res}_{\text{a}}",``\text{res}_{\text{b}}",``\text{base}"\}, corresponding to a base and several resources in the workspace, with L1(π1)=L2(π1)={resa},L1(π2)=L2(π2)={base},L1(π3)=L2(π3)={resb}L_{1}(\pi_{1})=L_{2}(\pi_{1})=\{``\text{res}_{\text{a}}"\},L_{1}(\pi_{2})=L_{2}(\pi_{2})=\{``\text{base}"\},L_{1}(\pi_{3})=L_{2}(\pi_{3})=\{``\text{res}_{\text{b}}"\}. We considered that the agents had to transfer the resources to the "base" in π2\pi_{2}; both agents were responsible for resa``\text{res}_{\text{a}}" but only agent 11 should access resb``\text{res}_{\text{b}}". The specifications were translated to the formulas ϕ1=((resabase)(resbbase)),ϕ2=¬resb(resabase)\phi_{1}=\square(\lozenge(``\text{res}_{\text{a}}"\bigcirc``\text{base}")\land\lozenge(``\text{res}_{\text{b}}"\bigcirc``\text{base}")),\phi_{2}=\square\neg``\text{res}_{\text{b}}"\land\square\lozenge(``\text{res}_{\text{a}}"\bigcirc``\text{base}") and the derived paths were p1=(π1π2π3π2)ωp_{1}=(\pi_{1}\pi_{2}\pi_{3}\pi_{2})^{\omega} and p2=(π1π2)ωp_{2}=(\pi_{1}\pi_{2})^{\omega}. The execution of the paths (π1π2π3π2)1(\pi_{1}\pi_{2}\pi_{3}\pi_{2})^{1} and (π2π1)2(\pi_{2}\pi_{1})^{2} by agents 1 and 2, respectively, are depicted in Fig. 10, and the corresponding control inputs are shown in Fig. 9. The figures demonstrate the successful execution and satisfaction of the paths and formulas, respectively, and the compliance with the control input bounds.

Regarding the continuous control protocol in the aforementioned experiments, we chose kgi=3,λi=2k_{g_{i}}=3,\lambda_{i}=2 in (4), (6) and the switching duration in (8) as νi=0.1ti,k,i{1,2}\nu_{i}=0.1t^{\prime}_{i,k},\forall i\in\{1,2\}.

Refer to caption
(a)
Refer to caption
(b)
Figure 8: Initial workspace for the second experimental scenario. (a): The UAVs with the projection of their bounding spheres, (with red and green), and the regions of interest (blue disks). (b): Top view of the described workspace. The UAVs are represented by the red and green circled X’s and the regions of interest by the blue disks π1,,π3\pi_{1},\dots,\pi_{3}.
Refer to caption
Figure 9: The resulting 22-dimensional control signals of the 22 agents for the second experimental scenario. Top: agent 1, bottom: agent 2.
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Refer to caption
(e)
Refer to caption
(f)
Figure 10: Execution of the paths (π1π2π3π2)1(\pi_{1}\pi_{2}\pi_{3}\pi_{2})^{1} and (π2π1)2(\pi_{2}\pi_{1})^{2} by agents 11 and 22, respectively for the second experimental scenario. (a), (d): π11π2,π22π1\pi_{1}\rightarrow_{1}\pi_{2},\pi_{2}\rightarrow_{2}\pi_{1}, (b), (e): π21π3,π12π2\pi_{2}\rightarrow_{1}\pi_{3},\pi_{1}\rightarrow_{2}\pi_{2}, (c), (f): π31π2,π22π1\pi_{3}\rightarrow_{1}\pi_{2},\pi_{2}\rightarrow_{2}\pi_{1}.
Remark 2

Note that, although the limited available workspace in the experiments did not satisfy all the conditions regarding the distance between regions and the workspace boundary, as introduced in Section III, the two experimental scenarios were successfully conducted.

The simulations and experiments were conducted in Python environment using an Intel Core i7 2.4 GHz personal computer with 4 GB of RAM, and are clearly demonstrated in the video found in https://youtu.be/dO77ZYEFHlE, a compressed version of which has been submitted with this paper.

VII Conclusion and Future Work

In this work, we proposed a control strategy for the motion planning of a team of aerial vehicles under LTL specifications. By using decentralized navigation functions that guarantee inter-agent collision avoidance, we abstracted each agent’s motion as a finite transition system between regions of interest. Each agent then derived the plan that satisfies its given LTL formula through formal-verification techniques. Simulation studies and experimental results verified the efficiency of the proposed algorithm. Future efforts will be devoted towards considering more complex, second order dynamics, partially known environments and experiments with more agents.

References

  • [1] S. Liu, C. Wang, G. Liang, H. Chen, and X. Wu, “Formation control strategy for a group of quadrotors,” in IEEE International Conference on Information and Automation (ICIA), 2015.
  • [2] B. Yu, X. Dong, Z. Shi, and Y. Zhong, “Formation control for quadrotor swarm systems: Algorithms and experiments,” in Chinese Control Conference (CCC), 2013.
  • [3] N. Koeksal, B. Fidan, and K. Bueyuekkabasakal, “Real-time implementation of decentralized adaptive formation control on multi-quadrotor systems,” in European Control Conference (ECC), 2015.
  • [4] Z. Hou and I. Fantoni, “Composite nonlinear feedback-based bounded formation control of multi-quadrotor systems,” in European Control Conference (ECC), 2016.
  • [5] R. L. Pereira and K. H. Kienitz, “Tight formation flight control based on h-infinity approach,” in Mediterranean Conference on Control and Automation (MED), 2016.
  • [6] X. Dong, B. Yu, Z. Shi, and Y. Zhong, “Time-varying formation control for unmanned aerial vehicles: Theories and applications,” IEEE Transactions on Control Systems Technology, 2015.
  • [7] D. A. Mercado, R. Castro, and R. Lozano, “Quadrotors flight formation control using a leader-follower approach,” in European Control Conference (ECC), 2013.
  • [8] V. Roldao, R. Cunha, D. Cabecinhas, C. Silvestre, and P. Oliveira, “A novel leader-following strategy applied to formations of quadrotors,” in European Control Conference (ECC), 2013.
  • [9] S. Ulrich, “Nonlinear passivity-based adaptive control of spacecraft formation flying,” in American Control Conference (ACC), 2016.
  • [10] N. D. Hao, B. Mohamed, H. Rafaralahy, and M. Zasadzinski, “Formation of leader-follower quadrotors in cluttered environment,” in American Control Conference (ACC), 2016.
  • [11] K. A. Ghamry and Y. Zhang, “Formation control of multiple quadrotors based on leader-follower method,” in International Conference on Unmanned Aircraft Systems (ICUAS), 2015.
  • [12] Z. N. Sunberg, M. J. Kochenderfer, and M. Pavone, “Optimized and trusted collision avoidance for unmanned aerial vehicles using approximate dynamic programming,” in IEEE International Conference on Robotics and Automation (ICRA), 2016.
  • [13] A. Eskandarpour and V. J. Majd, “Cooperative formation control of quadrotors with obstacle avoidance and self collisions based on a hierarchical mpc approach,” in RSI/ISM International Conference on Robotics and Mechatronics (ICRoM), 2014.
  • [14] Y. Zhou and J. S. Baras, “Reachable set approach to collision avoidance for uavs,” in IEEE Conference on Decision and Control (CDC), 2015.
  • [15] A. Pierson, A. Ataei, I. C. Paschalidis, and M. Schwager, “Cooperative multi-quadrotor pursuit of an evader in an environment with no-fly zones,” in IEEE International Conference on Robotics and Automation (ICRA), 2016.
  • [16] M. M. Quottrup, T. Bak, and R. I. Zamanabadi, “Multi-robot planning : a timed automata approach,” in IEEE International Conference on Robotics and Automation (ICRA), 2004.
  • [17] S. G. Loizou and K. J. Kyriakopoulos, “Automated planning of motion tasks for multi-robot systems,” in IEEE Conference on Decision and Control, 2005.
  • [18] I. Filippidis, D. V. Dimarogonas, and K. J. Kyriakopoulos, “Decentralized multi-agent control from local ltl specifications,” in IEEE Conference on Decision and Control (CDC), 2012.
  • [19] M. Guo and D. V. Dimarogonas, “Multi-agent plan reconfiguration under local ltl specifications,” Internatinal Journal on Robotics Research, 2015.
  • [20] V. Nenchev and C. Belta, “Receding horizon robot control in partially unknown environments with temporal logic constraints,” in IEEE European Control Conference (ECC), 2016.
  • [21] S. Feyzabadi and S. Carpin, “Multi-objective planning with multiple high level task specifications,” in IEEE International Conference on Robotics and Automation (ICRA), 2016.
  • [22] M. Guo, J. Tumova, and D. V. Dimarogonas, “Hybrid control of multi-agent systems under local temporal tasks and relative-distance constraints,” in IEEE Conference on Decision and Control (CDC), 2015.
  • [23] G. E. Fainekos, A. Girard, H. Kress-Gazit, and G. J. Pappas, “Temporal logic motion planning for dynamic robots,” Automatica, 2009.
  • [24] M. Kloetzer and C. Belta, “Ltl planning for groups of robots,” in IEEE International Conference on Networking, Sensing and Control, 2006.
  • [25] A. Ulusoy, S. L. Smith, X. C. Ding, C. Belta, and D. Rus, “Optimality and robustness in multi-robot path planning with temporal logic constraints,” The International Journal of Robotics Research, 2013.
  • [26] Z. Zhang and R. V. Cowlagi, “Motion-planning with global temporal logic specifications for multiple nonholonomic robotic vehicles,” in American Control Conference (ACC), 2016.
  • [27] D. Aksaray, C.-I. Vasile, and C. Belta, “Dynamic routing of energy-aware vehicles with temporal logic constraints,” IEEE International Conference on Robotics and Automation (ICRA), 2016.
  • [28] S. Karaman and E. Frazzoli, “Vehicle routing problem with metric temporal logic specifications,” in IEEE Conference on Decision and Control (CDC), 2008.
  • [29] ——, “Complex mission optimization for multiple-uavs using linear temporal logic,” in American Control Conference (ACC), 2008.
  • [30] J. Xiaoting and N. Yifeng, “Robust strategy planning for uav with ltl specifications,” in Chinese Control Conference (CCC), 2016.
  • [31] D. V. Dimarogonas and K. J. Kyriakopoulos, “Decentralized navigation functions for multiple robotic agents with limited sensing capabilities,” Journal of Intelligent and Robotic Systems, 2007.
  • [32] C. Baier, J.-P. Katoen et al., Principles of model checking. MIT press Cambridge, 2008.
  • [33] D. E. Koditschek and E. Rimon, “Robot navigation functions on manifolds with boundary,” Advances in Applied Mathematics, 1990.
  • [34] P. Gastin and D. Oddoux, LTL2BA tool, 2012. [Online]. Available: http://www.lsv.ens-cachan.fr/ gastin/ltl2ba/.