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

A fully distributed motion coordination strategy for multi-robot systems with local information

Pian Yu and Dimos V. Dimarogonas This work was supported in part by the Swedish Research Council (VR), the Swedish Foundation for Strategic Research (SSF) and the Knut and Alice Wallenberg Foundation (KAW).The authors are with School of Electrical Engineering and Computer Science, KTH Royal Institute of Technology, 10044 Stockholm, Sweden. [email protected], [email protected]
Abstract

This paper investigates the online motion coordination problem for a group of mobile robots moving in a shared workspace. Based on the realistic assumptions that each robot is subject to both velocity and input constraints and can have only local view and local information, a fully distributed multi-robot motion coordination strategy is proposed. Building on top of a cell decomposition, a conflict detection algorithm is presented first. Then, a rule is proposed to assign dynamically a planning order to each pair of neighboring robots, which is deadlock-free. Finally, a two-step motion planning process that combines fixed-path planning and trajectory planning is designed. The effectiveness of the resulting solution is verified by a simulation example.

I Introduction

One challenge for multi-robot systems (MRSs) is the design of coordination strategies between robots that enable them to perform operations safely and efficiently in a shared workspace while achieving individual/group motion objectives [1]. This problem was originated from 1980s and has been extensively investigated since. In recent years, the attention that has been put on this problem has grown significantly due to the emergence of new applications, such as smart transportation and service robotics. The existing literature can be divided into two categories: path coordination and motion coordination. The former category plans and coordinates the entire paths of all the robots in advance, while the latter category focuses on decentralized approaches that allow robots to resolve conflicts online as the situation occurs111In some literatures, these two terms are also used interchangeably. In this paper, we try to distinguish between the two as explained above. [2]. This paper aims at developing a fully distributed strategy for multi-robot motion coordination (MRMC).

Depending on how the controller is synthesized for each robot, the literature concerning MRMC can further be classified into two types: the reactive approach and the planner-based approach. Typical methods that generate reactive controllers consist of potential-field approach [3], sliding mode control [4] and control barrier functions [5]. These reactive-style methods are fast and operate well in real-time. However, it is well-known that these methods are sensitive to deadlocks that are caused by local minima. Moreover, guidance for setting control parameters is not analyzed formally when explicit constraints on the system states and/or inputs are presented [2]. Apart from the above, other reactive methods include the generalized roundabout policy [6] and a family of biologically inspired methods [7].

An early example of the planner-based method is the work of Azarm and Schmidt [8], where a framework for online coordination of multiple mobile robots was proposed. Based on this framework, various applications and different motion planning algorithms are investigated. Roughly speaking, the motion planning algorithms used in planner-based approaches can be divided into two types: fixed-path planning [9, 10] and trajectory planning [8, 11, 12], while the former one differs from the latter one in that the motions for individual robots are fixed along specific paths. Guo and Parker [11] proposed a MRMC strategy based on the D algorithm [12]. In this work, each robot has an independent goal position to reach and know all path information. In [13], a distributed bidding algorithm was designed to coordinate the movement of multiple robots, which focuses on area exploration. In the work of Liu [10], conflict resolution at intersections was considered for connected autonomous vehicles, where each vehicle is required to move along a pre-planned path. In general, the fixed-path planning method is more efficient. Its major disadvantage, however, lies in the fact that it fails more often. A literature review on MRMC can be found in [1].

In this paper, we investigate the MRMC problem on a realistic setup. Robots are assumed to have limited sensing capabilities and both velocity and input constraints are considered. Conflicts are assumed to be local and can occur at arbitrary locations in the workspace. To cope with this setup, a fully distributed MRMC strategy is proposed. The contributions of this paper can be summarized as follows. Building on top of a cell decomposition, a formal definition of spatial-temporal conflict is introduced first. This definition characterizes when replanning is required for each robot. Then, a simple rule is proposed for online planning order assignment, which is deadlock-free when only local information is available to each robot. Finally, a two-step motion planning process is proposed, i.e., the fixed-path planning is activated first while the trajectory planning is activated if and only if the fixed-path planning returns no feasible solution, which allows us to leverage both the benefits of fixed-path planning and trajectory planning.

The remainder of the paper is organized as follows. In Section II, notation and preliminaries on graph theory are introduced. Section III formalizes the considered problem. Section IV presents the proposed solution in detail, which is verified by simulations in Section V. Conclusions are given in Section VI.

II Preliminaries

II-A Notation

Let :=(,)\mathbb{R}:=(-\infty,\infty), 0:=[0,)\mathbb{R}_{\geq 0}:=[0,\infty), and 0:={0,1,2,}\mathbb{Z}_{\geq 0}:=\{0,1,2,\ldots\}. Denote n\mathbb{R}^{n} as the nn dimensional real vector space, n×m\mathbb{R}^{n\times m} as the n×mn\times m real matrix space. Let |λ|\left|\lambda\right| be the absolute value of a real number λ\lambda, x\|x\| and A\|A\| be the Euclidean norm of vector xx and matrix AA, respectively. Given a set Ω\Omega, 2Ω2^{\Omega} denotes its powerset and |Ω||\Omega| denotes its cardinality. Given two sets Ω1,Ω2\Omega_{1},\Omega_{2}, the set (Ω1,Ω2)\mathcal{F}(\Omega_{1},\Omega_{2}) denotes the set of all functions from Ω1\Omega_{1} to Ω2\Omega_{2}. The operators \cup and \cap represent set union and set intersection, respectively. In addition, we use \wedge to denote the logical operator AND and \vee to denote the logical operator OR. The set difference ABA\setminus B is defined by AB:={x:xAxB}A\setminus B:=\{x:x\in A\;\wedge\;x\notin B\}. Given a point xnx\in\mathbb{R}^{n} and a constant r0r\geq 0, the notation (x,r)\mathcal{B}(x,r) represents a ball area centered at point xx and with radius rr.

II-B Graph Theory

Let 𝒢={𝒱,}\mathcal{G}=\{\mathcal{V},\mathcal{E}\} be a digraph with the set of nodes 𝒱=1,2,,N\mathcal{V}={1,2,\dots,N}, and {(i,j):i,j𝒱,ji}\mathcal{E}\subseteq\{(i,j):i,j\in\mathcal{V},j\neq i\} the set of edges. If (i,j)(i,j)\in\mathcal{E}, then node jj is called a neighbor of node ii and node jj can receive information from node ii. The neighboring set of node ii is denoted by 𝒩i={j𝒱|(j,i)}\mathcal{N}_{i}=\{j\in\mathcal{V}|(j,i)\in\mathcal{E}\}. A graph is called undirected if (i,j)(j,i)(i,j)\in\mathcal{E}\Leftrightarrow(j,i)\in\mathcal{E}, and a graph is called connected if for every pair of nodes (i,j)(i,j), there exists a path which connects ii and jj, where a path is an ordered list of edges such that the head of each edge is equal to the tail of the following edge.

III Problem Formulation

Consider a group of NN mobile robots, whose dynamics are given by:

x˙i(t)=vi(t)cos(θi(t)),y˙i(t)=vi(t)sin(θi(t)),θ˙i(t)=ωi(t),v˙i(t)=Fi(t),ω˙i(t)=τi(t),i=1,2,,N.\begin{array}[]{l}\dot{x}_{i}(t)=v_{i}(t)\cos(\theta_{i}(t)),\\ \dot{y}_{i}(t)=v_{i}(t)\sin(\theta_{i}(t)),\\ \dot{\theta}_{i}(t)=\omega_{i}(t),\\ \dot{v}_{i}(t)=F_{i}(t),\\ \dot{\omega}_{i}(t)=\tau_{i}(t),\quad i=1,2,\ldots,N.\end{array} (1)

where pi:=(xi,yi)p_{i}:=(x_{i},y_{i}) is the Cartesian position, θi\theta_{i} is the orientation, vi,ωiv_{i},\omega_{i} are respectively the tangential velocity and the angular velocity, FiF_{i} is the force input, and τi\tau_{i} is the torque input of robot ii. For convenience, we define ξi:=(xi,yi,θi,vi,ωi)\xi_{i}:=(x_{i},y_{i},\theta_{i},v_{i},\omega_{i}) and ui:=(Fi,τi)u_{i}:=(F_{i},\tau_{i}). Then, (1) can be written as ξi˙=f(ξi,ui)\dot{\xi_{i}}=f(\xi_{i},u_{i}), where f(ξi,ui)=(vicos(θi),visin(θi),ωi,0,0)+(0,0,0,ui)f(\xi_{i},u_{i})=(v_{i}\cos(\theta_{i}),v_{i}\sin(\theta_{i}),\omega_{i},0,0)+(0,0,0,u_{i}). The velocity and input of each robot ii are subject to the constraints

|vi(t)|\displaystyle|v_{i}(t)| vimax,|ωi(t)|ωimax,\displaystyle\leq v_{i}^{\max},|\omega_{i}(t)|\leq\omega_{i}^{\max}, (2)
|Fi(t)|\displaystyle|F_{i}(t)| Fimax,|τi(t)|τimax,t0.\displaystyle\leq F_{i}^{\max},|\tau_{i}(t)|\leq\tau_{i}^{\max},\forall t\geq 0.

Let 𝕍i:={vi:|vi|vimax},𝕎i:={ωi:|ωi|ωimax}\mathbb{V}_{i}:=\{v_{i}:|v_{i}|\leq v_{i}^{\max}\},\mathbb{W}_{i}:=\{\omega_{i}:|\omega_{i}|\leq\omega_{i}^{\max}\} and 𝕌i:={(Fi,τi):|Fi|Fimax,|τi|τimax}\mathbb{U}_{i}:=\{(F_{i},\tau_{i}):|F_{i}|\leq F_{i}^{\max},|\tau_{i}|\leq\tau_{i}^{\max}\}.

Given a vector ξi\xi_{i}, define the projection operator 𝚙𝚛𝚘𝚓pi(ξi):52\verb"proj"_{p_{i}}(\xi_{i}):\mathbb{R}^{5}\to\mathbb{R}^{2} as a mapping from ξi\xi_{i} to its first 2 components pip_{i}. A curve 𝝃i:[0,T[5{\bm{\xi}}_{i}:[0,T[\to\mathbb{R}^{5} is said to be a trajectory of robot ii if there exists input ui(t)𝕌iu_{i}(t)\in\mathbb{U}_{i} satisfying 𝝃˙i(t)=f(𝝃i(t),ui(t))\dot{\bm{\xi}}_{i}(t)=f({\bm{\xi}}_{i}(t),u_{i}(t)) for all t[0,T[t\in[0,T[. A curve pi:[0,T[2\textbf{p}_{i}:[0,T[\to\mathbb{R}^{2} is a position trajectory of robot ii if pi(t)=𝚙𝚛𝚘𝚓pi(𝝃i(t)),t[0,T[\textbf{p}_{i}(t)=\verb"proj"_{p_{i}}({\bm{\xi}}_{i}(t)),\forall t\in[0,T[. Given a time interval [t1,t2],t1<t2[t_{1},t_{2}],t_{1}<t_{2}, the corresponding position trajectory is denoted by pi([t1,t2])\textbf{p}_{i}([t_{1},t_{2}]).

Supposing that the sensing radius of each robot is the same, given by R>0R>0, then the communication graph formed by the group of robots is undirected. The neighboring set of robot ii at time tt is given by 𝒩i(t)={j:xi(t)xj(t)R,j𝒱,ji}\mathcal{N}_{i}(t)=\{j:\|x_{i}(t)-x_{j}(t)\|\leq R,j\in\mathcal{V},j\neq i\}, so that j𝒩i(t)i𝒩j(t),ij,tj\in\mathcal{N}_{i}(t)\Leftrightarrow i\in\mathcal{N}_{j}(t),i\neq j,\forall t. The group of robots are working in a common workspace 𝕏2\mathbb{X}\subset\mathbb{R}^{2}, which is populated with mm closed sets OiO_{i}, corresponding to obstacles. Let 𝕆=iOi\mathbb{O}={\cup}_{i}O_{i}, then the free space 𝔽\mathbb{F} is defined as 𝔽:=𝕏𝕆\mathbb{F}:=\mathbb{X}\setminus\mathbb{O}.

Each robot ii is subject to its own task specification φi\varphi_{i} (in this work, we consider φi\varphi_{i} to be a reach-avoid type of task expressed as a linear temporal logic (Chapter 5 [15]) formula). Given a position trajectory pi\textbf{p}_{i}, the satisfaction relation is denoted by piφi\textbf{p}_{i}\models\varphi_{i}. Given the position pip_{i} of robot ii, we refer to its footprint ϕ(pi)\phi(p_{i}) as the set of points in 𝕏\mathbb{X} that are occupied by robot ii in this position. The objective of the system is to ensure that the task specification φi\varphi_{i} of each robot is satisfied efficiently (in the sense that a pre-defined objective function, e.g., JiJ_{i}, is minimized), while safety (no inter-robot collision) of the system is guaranteed.

Note that in this paper, it is assumed that each robot is not aware of the existence of other robots. Moreover, each robot has only local view and local information. Under these settings, the MRMC problem has to be broken into local distributed motion coordination problems and solved online for individual robots. Let pj([t,tj(t)]),j𝒩i(t)\textbf{p}_{j}([t,t_{j}^{*}(t)]),j\in\mathcal{N}_{i}(t) be the local position trajectory of robot jj that is available to robot ii at time tt, where tj(t)t_{j}^{*}(t) is determined by tt. Then, the (online) motion coordination problem for robot ii is formulated as

minJi(ξi,ui)\displaystyle\min\quad J_{i}(\xi_{i},u_{i}) (3a)
subject to
(1),(2)andpiφi,\displaystyle(\ref{x}),(\ref{cons})\;\text{and}\;\textbf{p}_{i}\models\varphi_{i}, (3b)
ϕ(pi(t))ϕ(pj(t))=,j𝒩i(t),t[t,tj(t)],\displaystyle\phi(p_{i}(t^{\prime}))\cap\phi(p_{j}(t^{\prime}))=\emptyset,\forall j\in\mathcal{N}_{i}(t),\forall t^{\prime}\in[t,t_{j}^{*}(t)], (3c)

where constraint (3c) means that two robots can not arrive at the same cell at the same time for all t[t,tj(t)]t^{\prime}\in[t,t_{j}^{*}(t)], thus guarantees no inter-robot collision occurs.

IV Solution

The proposed solution to the motion coordination problem (3) consists of two layers: 1) an initialization layer and 2) an online coordination layer.

IV-A Structure of each robot

Before moving on, the structure of each robot is presented. Each robot ii is equipped with four modules, the decision making module, the motion planning module, the control module and the communication module. The first three modules work sequentially while the communication module works in parallel with the first three.

Each robot ii has two states: Active and Passive (see Fig. 1). Robot ii enters Active state when a task specification is active, and it switches to Passive state if and only if the task specification is completed. When robot ii is in Passive state, all the four modules are off and it will be viewed as a static obstacle. At the time instant that robot ii enters Active state, the motion planning module is activated and an initial (optimal) plan is synthesized (explained later). During online implementation, robot ii tries to satisfy its task specification safely by resolving conflicts with other robots. This is done by following some mode switching rules encoded into a Finite State Machine (FSM). Each FSM has the following three modes:

  • Free: Robot moves as planned. This is the normal mode, in which there is no conflict detected.

  • Busy: Robot enters this mode when conflicts are detected.

  • Emerg: Robot starts an emergency stop process.

In Fig. 1, the transitions between different modes of the FSM are also depicted. Initially, robot ii is in Free mode. Once conflict neighbors (will be defined later) are detected, robot ii switches to Busy mode and the motion planning module is activated to solve the conflicts, otherwise, robot ii stays in Free mode. When robot ii is in Busy mode, it switches back to Free mode if the motion planning module returns a feasible solution, otherwise (e.g., no feasible plan is found), robot ii switches to Emerg mode. Note that when robot ii switches to Emerg mode, it will come to a stop but with power-on. This means that robot ii will continue monitoring the environment and restart (switches back to Free mode) the task when it is possible.

Refer to caption
Figure 1: Transitions of robot ii.

IV-B Initialization

Denote by t0it_{0}^{i} the task activation time of robot ii. Then, robot ii enters Active state at t0it_{0}^{i}. Once robot ii is Active, it first finds an optimal trajectory 𝝃i\bm{\xi}_{i} (without the knowledge of other robots) such that the corresponding position trajectory piφi\textbf{p}_{i}\models\varphi_{i}. The trajectory planning problem for a single robot can be solved by many existing methods, such as search/sampling based method [16, 17], automata-based method [18] and optimization-based method [19, 20]. We note that the details of initial trajectory planning is not the focus of this paper. We refer to interested readers to corresponding literatures and the references therein.

IV-C Decision making

IV-C1 Conflict detection

Supposing that a cell decomposition is given over the workspace 𝕏\mathbb{X}. The cell decomposition is a partition of 𝕏\mathbb{X} into finite disjoint convex regions Φ:={X1,,XM1}\Phi:=\{X_{1},\ldots,X_{M_{1}}\} with 𝕏=l=1M1Xl\mathbb{X}=\cup_{l=1}^{M_{1}}X_{l}. Given a set S2S\subset\mathbb{R}^{2}, define the map Q:22ΦQ:\mathbb{R}^{2}\to 2^{\Phi} as

Q(S):={XlΦ:XlS},Q(S):=\{X_{l}\in\Phi:X_{l}\cap S\neq\emptyset\}, (4)

which returns the set of cells in Φ\Phi that intersect with SS. The cell decomposition can be computed exactly or approximately using existing approaches (Chapters 4-5 [14]). The choice depends on the particular models used for obstacles and other constraints.

The notation pi([t,))\textbf{p}_{i}([t,\rightarrow)) represents the position trajectory of robot ii from time tt onwards. Given a position trajectory pi([t1,t2])\textbf{p}_{i}([t_{1},t_{2}]) and a (set of) cell(s) ΦlΦ{\Phi}_{l}\subset\Phi, the function Γ:(0,2)×2Φ20\Gamma:\mathcal{F}(\mathbb{R}_{\geq 0},\mathbb{R}^{2})\times 2^{\Phi}\to 2^{\mathbb{R}_{\geq 0}}, defined as

Γ(pi([t1,t2]),Φl):={t[t1,t2]:ϕ(pi(t))Φl},\Gamma(\textbf{p}_{i}([t_{1},t_{2}]),{\Phi}_{l}):=\{t\in[t_{1},t_{2}]:\phi(\textbf{p}_{i}(t))\cap{\Phi}_{l}\neq\emptyset\}, (5)

gives the time interval that robot ii occupies Φl{\Phi}_{l}. Let tct_{c} be the current time and tifl:=mint>tc{pi(t)(pi(tc),R)}t_{i}^{fl}:=\min_{t>t_{c}}\{\textbf{p}_{i}(t)\notin\mathcal{B}(p_{i}(t_{c}),R)\} be the first time that robot ii leaves its sensing area (pi(tc),R)\mathcal{B}(p_{i}(t_{c}),R). Then, denote by Si(tc):=t[tc,tifl]Q(ϕ(pi(t)))S_{i}(t_{c}):=\cup_{t\in[t_{c},t_{i}^{fl}]}Q\big{(}\phi(\textbf{p}_{i}(t))\big{)} the set of cells traversed by robot ii within the time interval [tc,tifl][t_{c},t_{i}^{fl}]. Similarly, for each j𝒩i(tc)j\in\mathcal{N}_{i}(t_{c}), let tjflt_{j}^{fl} be the first time that robot jj leaves its sensing area (pj(tc),R)\mathcal{B}(p_{j}(t_{c}),R) and Sj(tc)S_{j}(t_{c}) the set of cells traversed by robot jj within [tc,tjfl][t_{c},t_{j}^{fl}]. Then, the conflict region between robot ii and jj at time tct_{c} is defined as

Ci,j(tc)=Si(tc)Sj(tc).C_{i,j}(t_{c})=S_{i}(t_{c})\cap S_{j}(t_{c}). (6)

According to (5), the time interval that robot i(j)i(j) occupies the conflict cell XlCi,j(tc)X_{l}\in C_{i,j}(t_{c}) is given by Γ(pi([tc,tifl]),Xl)(Γ(pj([tc,tjfl]),Xl))\Gamma(\textbf{p}_{i}([t_{c},t_{i}^{fl}]),X_{l})\big{(}\Gamma(\textbf{p}_{j}([t_{c},t_{j}^{fl}]),X_{l})\big{)}. Then, we have the following definition.

Definition 1

We say that there is a spatial-temporal conflict between robot ii and jj at time tt if XlCi,j(tc)\exists X_{l}\in C_{i,j}(t_{c}) such that Γ(pi([tc,tifl]),Xl)Γ(pj([tc,tjfl]),Xl)\Gamma(\textbf{p}_{i}([t_{c},t_{i}^{fl}]),X_{l})\cap\Gamma(\textbf{p}_{j}([t_{c},t_{j}^{fl}]),X_{l})\neq\emptyset.

Based on Definition 1, define the set of conflict neighbors of robot ii at time tct_{c}, denoted by 𝒩~i(tc)\tilde{\mathcal{N}}_{i}(t_{c}), as

𝒩~i\displaystyle\tilde{\mathcal{N}}_{i} (tc):={j𝒩i(tc):XlCi,j(tc)s.t.\displaystyle(t_{c}):=\{j\in\mathcal{N}_{i}(t_{c}):\exists X_{l}\in C_{i,j}(t_{c})\;\text{s.t.}
Γ(pi([tc,tifl]),Xl)Γ(pj([tc,tjfl]),Xl)}.\displaystyle\Gamma(\textbf{p}_{i}([t_{c},t_{i}^{fl}]),X_{l})\cap\Gamma(\textbf{p}_{j}([t_{c},t_{j}^{fl}]),X_{l})\neq\emptyset\}.

Robot ii switches to Busy mode if and only if the set of conflict neighbors is non-empty (i.e., 𝒩~i(tc)\tilde{\mathcal{N}}_{i}(t_{c})\neq\emptyset). The conflict detection process is outlined in Algorithm 1.

Algorithm 1 Conflict Detection
1:Sj(tc),Γ(pj([tc,tjfl]),Xl),XlSj(tc),j𝒩i(tc){i}S_{j}(t_{c}),\Gamma(\textbf{p}_{j}([t_{c},t_{j}^{fl}]),X_{l}),\forall X_{l}\in S_{j}(t_{c}),\forall j\in\mathcal{N}_{i}(t_{c})\cup\{i\}.
2:𝒩~i(tc)\tilde{\mathcal{N}}_{i}(t_{c}).
3:Initialize 𝒩~i(tc)=\tilde{\mathcal{N}}_{i}(t_{c})=\emptyset.
4:for j𝒩i(tc)j\in\mathcal{N}_{i}(t_{c}) do
5:     if XlSi(tc)Sj(tc)\exists X_{l}\in S_{i}(t_{c})\cap S_{j}(t_{c}) s.t. Γ(pi([tc,tifl]),Xl)Γ(pj([tc,tjfl]),Xl)\Gamma(\textbf{p}_{i}([t_{c},t_{i}^{fl}]),X_{l})\cap\Gamma(\textbf{p}_{j}([t_{c},t_{j}^{fl}]),X_{l})\neq\emptysetthen
6:         𝒩~i(tc)=𝒩~i(tc){j}\tilde{\mathcal{N}}_{i}(t_{c})=\tilde{\mathcal{N}}_{i}(t_{c})\cup\{j\},
7:     end if
8:end for
9:if 𝒩~i(tc)\tilde{\mathcal{N}}_{i}(t_{c})\neq\emptyset then
10:     Robot ii switches to Busy mode.
11:end if

IV-C2 Determine planning order

Based on the neighboring relation, the graph 𝒢(tc)={𝒱,(tc)}\mathcal{G}(t_{c})=\{\mathcal{V},\mathcal{E}(t_{c})\} formed by the group of robots is naturally divided into one or multiple connected subgraphs, and the motion planning is conducted in parallel within each connected subgraph in a sequential manner. In order to do that, a planning order needs to be decided within each connected subgraph. In this work, we propose a simple rule to assign priorities between each pair of neighbors.

The number of neighbors of robot ii at time tct_{c} is given by |𝒩i(tc)||\mathcal{N}_{i}(t_{c})|. Denote by Ci,𝒩i(tc)(tc):=j𝒩i(tc){Ci,j(tc)}C_{i,\mathcal{N}_{i}(t_{c})}(t_{c}):=\cup_{j\in\mathcal{N}_{i}(t_{c})}\{C_{i,j}(t_{c})\} the entire conflict region of robot ii at time tct_{c}. Let

T¯i(tc)=minXlCi,𝒩i(tc)(tc){min{𝒯i(Xl)}}\underline{T}_{i}(t_{c})=\min_{{X}_{l}\in C_{i,\mathcal{N}_{i}(t_{c})}(t_{c})}\left\{\min\{\mathcal{T}_{i}(X_{l})\}\right\} (7)

be the earliest time that robot ii enters a conflict cell. Then, we have the following definition.

Definition 2

We say that robot ii has advantage over robot jj at time tct_{c} if

1) |𝒩i(tc)|>|𝒩j(tc)||\mathcal{N}_{i}(t_{c})|>|\mathcal{N}_{j}(t_{c})|; OR

2) |𝒩i(tc)|=|𝒩j(tc)||\mathcal{N}_{i}(t_{c})|=|\mathcal{N}_{j}(t_{c})| and T¯i(tc)<T¯j(tc)\underline{T}_{i}(t_{c})<\underline{T}_{j}(t_{c}).

Let 𝒴i(tc)\mathcal{Y}_{i}(t_{c}) be the set of neighbors that have higher priority than robot ii at time tct_{c}. The planning order determination process is outlined in Algorithm 2.

Algorithm 2 Determine planning order
1:𝒩i(tc),Pi0\mathcal{N}_{i}(t_{c}),P_{i}^{0} and T¯j(tc),Pj0,j𝒩i(tc)\underline{T}_{j}(t_{c}),P_{j}^{0},j\in\mathcal{N}_{i}(t_{c}).
2:𝒴i(tc)\mathcal{Y}_{i}(t_{c}).
3:Initialize 𝒴i(tc)=\mathcal{Y}_{i}(t_{c})=\emptyset.
4:Compute T¯i(tc)\underline{T}_{i}(t_{c}) according to (7),
5:for j𝒩i(tc)j\in\mathcal{N}_{i}(t_{c}) do,
6:     if jj is in Passive state or Emerg mode then,
7:         𝒴i(tc)=𝒴i(tc)j\mathcal{Y}_{i}(t_{c})=\mathcal{Y}_{i}(t_{c})\cup j,
8:     else
9:         if jj has advantage over ii then,
10:              𝒴i(tc)=𝒴i(tc)j\mathcal{Y}_{i}(t_{c})=\mathcal{Y}_{i}(t_{c})\cup j,
11:         else
12:              if neither robot ii nor jj has advantage over the other and Pj0>Pi0P_{j}^{0}>P_{i}^{0} then,
13:                  𝒴i(tc)=𝒴i(tc)j\mathcal{Y}_{i}(t_{c})=\mathcal{Y}_{i}(t_{c})\cup j,
14:              end if
15:         end if
16:     end if
17:end for
Proposition 1 (Deadlock-free)

The planning order assignment rule given in Algorithm 2 will result in no cycles, i.e., {qm}1k^,k^2\nexists\{q_{m}\}_{1}^{\hat{k}},{\hat{k}}\geq 2 such that qk^𝒴q1q_{\hat{k}}\in\mathcal{Y}_{q_{1}} and qm1𝒴qm,m=2,,k^q_{m-1}\in\mathcal{Y}_{q_{m}},\forall m=2,\ldots,{\hat{k}}.

Remark 1

The rationale behind our rule can be explained as follows. The total time required to complete the motion planning is given by K𝒪(dt)K\mathcal{O}(dt), where 𝒪(dt)\mathcal{O}(dt) represents the time complexity of one round of motion planning and KK represents the number of rounds (if multiple robots conduct motion planning in parallel, it is counted as one round), which is determined by the priority assignment rule being used (e.g., if fixed priority is used, the number of rounds is K=NK=N). In our rule, we assign the robot with more neighbors the higher priority, and in this way, the minimal number of rounds can be achieved. Furthermore, if two conflict robots have the same number of neighbors, then the one that arrives earlier at the conflict region should have higher priority.

IV-D Motion planning

The motion planning module consists of two submodules, i.e., fixed-path planning and trajectory planning. The fixed-path planning is activated first while the trajectory planning is activated if and only if the fixed-path planning returns no feasible solution.

IV-D1 Fixed-path planning

To define the fixed-path planning problem formally, the following notations are required. Denote by gi2\textbf{g}_{i}\subset\mathbb{R}^{2} the path of robot ii, which is a one dimensional manifold (curves in position space) that can be parameterized using the distance sis_{i} along the path, then gi(si)2\textbf{g}_{i}(s_{i})\in\mathbb{R}^{2}. In this case, the path starts at gi(0)\textbf{g}_{i}(0), the tangent vector g˙i(si)=gi/si\dot{\textbf{g}}_{i}(s_{i})=\partial\textbf{g}_{i}/\partial s_{i} has unit length. The velocity profile of robot ii is denoted by si(t)s_{i}(t), which is a mapping from time to distance along the path. Before starting to plan, robot ii needs to wait for the updated plan from the set of neighbors that have higher priority than robot ii (i.e., j𝒴i(tc)j\in\mathcal{Y}_{i}(t_{c})) and consider them as moving obstacles. Denoted by pj+([tc,))\textbf{p}_{j}^{+}([t_{c},\rightarrow)) the updated position trajectory of robot jj and let tjfl+t_{j}^{fl+} be the first time that robot jj leaves its sensing area (pj(tc),R)\mathcal{B}(p_{j}(t_{c}),R) according to pj+([tc,))\textbf{p}_{j}^{+}([t_{c},\rightarrow)). Then, one can define Sj+(tc)S_{j}^{+}(t_{c}) as the set of cells traversed by robot jj within [tc,tjfl+][t_{c},t_{j}^{fl+}].

Definition 3

We say there is a spatial conflict between robot ii and j,j𝒴i(tc)j,j\in\mathcal{Y}_{i}(t_{c}) before (after) the fixed-path planning if Si(tc)Sj+(tc)S_{i}(t_{c})\cap S_{j}^{+}(t_{c})\neq\emptyset (Si+(tc)Sj+(tc)S_{i}^{+}(t_{c})\cap S_{j}^{+}(t_{c})\neq\emptyset).

Due to the fixed-path property, one can conclude that Si(tc)Sj+(tc)=Si+(tc)Sj+(tc)=S_{i}(t_{c})\cap S_{j}^{+}(t_{c})=\emptyset\Rightarrow S_{i}^{+}(t_{c})\cap S_{j}^{+}(t_{c})=\emptyset. Therefore, in fixed-path planning, only the higher priority neighbors that have spatial conflict with robot ii before the fixed-path planning need to be considered. Based on this observation, we define Ci,j+(tc):=Si(tc)Sj+(tc)C_{i,j}^{+}(t_{c}):=S_{i}(t_{c})\cap S_{j}^{+}(t_{c}) as the (updated) set of conflict cells between robot ii and jj at time tct_{c} and let 𝒴~i(tc):={j𝒴i(tc):Ci,j+(tc)}\tilde{\mathcal{Y}}_{i}(t_{c}):=\{j\in\mathcal{Y}_{i}(t_{c}):C_{i,j}^{+}(t_{c})\neq\emptyset\} be the set of higher priority robots that have spatial conflict with robot ii. Denote by gitc:=pi([tc,))\textbf{g}_{i}^{t_{c}}:=\textbf{p}_{i}([t_{c},\rightarrow)) the path of robot ii at time tct_{c}. Then, the fixed-path planning problem (FPPP) is formulated as follows:

minJi(ξi,ui)\displaystyle\min\quad J_{i}(\xi_{i},u_{i}) (8a)
subject to
g˙itc(si)s˙iΠ(gitc),\displaystyle\dot{\textbf{g}}_{i}^{t_{c}}(s_{i})\dot{s}_{i}\in\Pi(\textbf{g}_{i}^{t_{c}}), (8b)
gitc(si(t))Xl,tΓ(pj+([tc,tjfl+]),Xl),j𝒴~i(tc),XlCi,j+(tc),\displaystyle\begin{aligned} \textbf{g}_{i}^{t_{c}}(s_{i}(t))\notin&X_{l},\;t\in\Gamma(\textbf{p}_{j}^{+}([t_{c},t_{j}^{fl+}]),X_{l}),\\ &\forall j\in\tilde{\mathcal{Y}}_{i}(t_{c}),\forall X_{l}\in C_{i,j}^{+}(t_{c}),\end{aligned} (8c)

where sis_{i} is the speed profile that needs to be optimized and Π(gitc)\Pi(\textbf{g}_{i}^{t_{c}}) is defined as

Π(gitc)\displaystyle\Pi(\textbf{g}_{i}^{t_{c}}) :={g˙itc(si)s˙i:vi𝕍i,ωi𝕎i,ui𝕌i,s.t.,\displaystyle:=\{\dot{\textbf{g}}_{i}^{t_{c}}(s_{i})\dot{s}_{i}:\exists v_{i}\in\mathbb{V}_{i},\omega_{i}\in\mathbb{W}_{i},u_{i}\in\mathbb{U}_{i},s.t.,
g˙itc(si)s˙i=(cos(θi),sin(θi))vi,θ˙i=ωi,(v˙i,ω˙i)=ui}.\displaystyle\dot{\textbf{g}}_{i}^{t_{c}}(s_{i})\dot{s}_{i}=(\cos(\theta_{i}),\sin(\theta_{i}))v_{i},\dot{\theta}_{i}=\omega_{i},(\dot{v}_{i},\dot{\omega}_{i})=u_{i}\}.

IV-D2 Trajectory planning

If fixed-path planning returns no feasible solution, then it is necessary to replan the trajectory (path and velocity profile). The trajectory planning problem (TPP) can be formulated as follows:

minJi(ξi,ui),\displaystyle\min\quad J_{i}(\xi_{i},u_{i}), (9a)
subject to
(3b),\displaystyle(\ref{c3}), (9b)
𝚙𝚛𝚘𝚓pi(ξi(t))Xl,tΓ(pj+([tc,tjfl+]),Xl),j𝒴i(tc),XlSj+(tc)Q((pi(tc),R)).\displaystyle\begin{aligned} \verb"proj"_{p_{i}}&(\xi_{i}(t))\notin X_{l},\;t\in\Gamma(\textbf{p}_{j}^{+}([t_{c},t_{j}^{fl+}]),X_{l}),\\ &\forall j\in\mathcal{Y}_{i}(t_{c}),\forall X_{l}\in S_{j}^{+}(t_{c})\cap Q(\mathcal{B}(p_{i}(t_{c}),R)).\end{aligned} (9c)

If both FPPP (8) and TPP (9) return no feasible solution, robot ii switches to Emerg mode. In this mode, robot ii will continue monitoring the environment, and once the TPP (9) becomes feasible, it will switch back to Free mode. The motion planning process is outlined in Algorithm 3.

Remark 2

Various existing optimization toolboxes, e.g., IPOPT [22], ICLOCS2 [23], and algorithms, e.g., the configuration space-time search [24] and the Hamilton-Jacobian reachability-based motion planning [25] can be utilized to solve (8) and (9). We note that, in general (no matter which method is used), the computational complexity of TPP (9) is much higher than that of FPPP (8).

Algorithm 3 Motion Planning
1:Sj+(tc),Γ(pj+([tc,tjfl+]),Xl),j𝒴i(tc){i},XlSj+(tc)S_{j}^{+}(t_{c}),\Gamma(\textbf{p}_{j}^{+}([t_{c},t_{j}^{fl+}]),X_{l}),\forall j\in\mathcal{Y}_{i}(t_{c})\cup\{i\},\forall X_{l}\in S_{j}^{+}(t_{c}).
2:pi+([tc,))\textbf{p}_{i}^{+}([t_{c},\rightarrow)).
3:Compute 𝒴~i(tc)\tilde{\mathcal{Y}}_{i}(t_{c}) and solve the FPPP (8),
4:if Solution obtained (denoted by sis_{i}^{*}), then
5:     pi+([tc,))=gitc(si)\textbf{p}_{i}^{+}([t_{c},\rightarrow))=\textbf{g}_{i}^{t_{c}}(s_{i}^{*}),
6:     Robot ii switches to Free mode,
7:else
8:     Solve the TPP (9),
9:     if Solution obtained (denoted by 𝝃i{\bm{\xi}}_{i}^{*}then,
10:         pi+([tc,))=𝚙𝚛𝚘𝚓pi(𝝃i)\textbf{p}_{i}^{+}([t_{c},\rightarrow))=\verb"proj"_{p_{i}}({\bm{\xi}}_{i}^{*}),
11:         Robot ii switches to Free mode,
12:     else
13:         Robot ii switches to Emerg mode,
14:         if The TPP (9) is feasible, then
15:              Robot ii switches to Free mode,
16:         end if
17:     end if
18:end if
Remark 3

Due to the distributed fashion of the solution and the locally available information, the proposed MRMC strategy is totally scalable in the sense that the computational complexity of the solution is not increasing with the number of robots. In addition, it is straightforward to extend the work to MRSs scenarios where moving obstacles are presented.

Remark 4

We assume that the deceleration (i.e., negative force input) that each robot can take when switching to Emerg mode is unbounded. This guarantees that no inter-robot collision will occur during the emergency stop process since in the worst case, the robot can stop immediately. The problem of safety guarantees under bounded deceleration in Emerg mode will be studied in future work.

V Simulation

We illustrate the results of the paper on a MRS consisting of N=7N=7 robots. The velocity and input constraints for each robot are given by |vi|2m/s,|ωi|115rad/s,|Fi|2m/s2,|τi|115rad/s2|v_{i}|\leq 2m/s,|\omega_{i}|\leq 115rad/s,|F_{i}|\leq 2m/s^{2},|\tau_{i}|\leq 115rad/s^{2} and the sensing radius is R=5mR=5m. The common workspace for the group of robots is depicted in Fig. 2 (xyxy axis), where the gray areas represent the obstacles and a grid representation with grid size 0.5m0.5m is implemented as cell decomposition. For each robot, the task specification is given by φi:=¬𝕆Xif,i\varphi_{i}:=\square\neg\mathbb{O}\wedge\lozenge\square X_{i}^{f},\forall i, where XifX_{i}^{f} (marked as colored region in Fig. 2) represents the target set for robot ii, while ¬\neg, \square and \lozenge are respectively “negation”, “always” and “eventually” operators in a linear temporal logic formula.

The initial optimal trajectories for each robot are depicted in Fig. 2, where the colored arrows show the moving direction of each robot. It can be seen that conflicts (i.e., inter-robot collisions) occur between robot pairs (1,3),(1,7),(4,5)(1,3),(1,7),(4,5) and (3,6)(3,6). During online implementation, conflicts are detected by each robot and replanning is conducted by robots 1, 4 and 6 at time instants 19.7s,7.5s19.7s,7.5s and 8.4s8.4s, respectively. In the motion planning module, the ICLOCS2 [23] toolbox is implemented to solve the FPPP (8) and the TPP (9). The real-time moving trajectory for each robot is shown in Fig. 3, where all the conflicts are resolved.

Refer to caption
Figure 2: The initial optimal trajectories of each robot.

The real-time evolution of velocities (vi,ωi)(v_{i},\omega_{i}) and inputs (Fi,τi)(F_{i},\tau_{i}) for each robot are given in Fig. 4 and Fig. 5, respectively. One can see that the tangential and angular velocity constraints and the force and torque input constraints are satisfied by all robots at all times. All the simulations were run in Matlab 2018b on a DELL laptop of 2.6GHz using Intel Core i7.

Refer to caption
Figure 3: The real-time trajectories of each robot.
Refer to caption
Figure 4: The real-time evolution of viv_{i} and ωi\omega_{i}.
Refer to caption
Figure 5: The real-time evolution of FiF_{i} and τi\tau_{i}.

VI Conclusion

In this paper, the online MRMC problem is considered. Under the assumptions that each robot has only local view and local information, and subject to both velocity and input constraints, a fully distributed motion coordination strategy was proposed for steering individual robots in a common workspace, where each robot is assigned independent task specifications. It was shown that the proposed strategy can guarantee collision-free motion of each robot. A next step is to perform real-world experiments.

Acknowledgement

The authors would like to thank Yulong Gao for valuable discussions.

References

  • [1] Z. Yan, N. Jouandeau, and A. A. Cherif, A survey and analysis of multi-robot coordination, International Journal of Advanced Robotic Systems, 10(12): 399, 2013.
  • [2] L. E. Parker, Path planning and motion coordination in multiple mobile robot teams, Encyclopedia of complexity and system science, 2009: 5783-5800.
  • [3] O. Khatib, Real-time obstacle avoidance for manipulators and mobile robots, The International Journal of Robotics Research, 5(1): 90-98, 1986.
  • [4] L. Gracia, F. Garelli, and A. Sala, Reactive siding-mode algorithm for collision avoidance in robotic systems, IEEE Transactions on Control Systems Technology, 21(6): 2391-2399, 2013.
  • [5] L. Wang, D. A. Ames, and M. Egerstedt, Safety barrier certificates for collisions-free multirobot systems, IEEE Transactions on Robotics, 33(3): 661-674, 2017.
  • [6] L. Pallottino, V. G. Scordio, A. Bicchi, and E. Fazzoli, Decentralized cooperative policy for conflict resolution in multivehicle systems, IEEE Transactions on Robotics, 23(6): 1170-1183, 2007.
  • [7] G. A. Bekey, Autonomous Robots: From Biological Inspiration to Implementation and Control. MIT press, 2005.
  • [8] K. Azarm, G. Schmidt, Conflict-free motion of multiple mobile robots based on decentralized motion planning and negotiation, Proceedings of International Conference on Robotics and Automation, 4: 3526-3533, 1997.
  • [9] T. Siméon, S. Thierry, and J. P. Lauumond, Path coordination for multiple mobile robots: A resolution-complete algorithm, IEEE Transactions on Robotics and Automation, 18(1): 42-49, 2002.
  • [10] C. Liu, W. Zhan, and M. Tomizuka, Speed profile planning in dynamic environments via temporal optimization, 2017 IEEE Intelligent Vehicles Symposium, 2017: 154-159.
  • [11] Y. Guo, and L. E. Parker, A distributed and optimal motion planning approach for multiple mobile robots, Proceedings 2002 IEEE International Conference on Robotics and Automation (Cat. No. 02CH37292), 3: 2612-2619, 2002.
  • [12] A. Stentz, Optimal and efficient path planning for partially known environments, Intelligent Unmanned Ground Vehicles, Springer, Boston, MA, 1997: 203-220.
  • [13] W. Sheng, Q. Yang, J. Tan, and N Xi, Distributed multi-robot coordination in area exploration, Robotics and Autonomous Systems, 54(12): 945-955, 2006.
  • [14] J. C., Latombe, Robot motion planning, Springer Science & Business Media. Vol. 124, 2012.
  • [15] C. Baier and J. P. Katoen, Principles of model checking. MIT press, 2008.
  • [16] B. Subhrajit, Search-based path planning with homotopy class constraints, Twenty-Fourth AAAI Conference on Artificial Intelligence, 2010: 1230-1237.
  • [17] S. M. LaValle and J. J. Kuffner Jr, Rapidly-exploring random trees: Progress and prospects, Algorithmic and Computational Robotics: New Directions, 2000: 293-308.
  • [18] M. M. Quottrup, T. Bak, and R. I. Zamanabadi, Multi-robot planning: A timed automata approach, IEEE International Conference on Robotics and Automation (ICRA), 5: 4417-4422, 2004.
  • [19] T. M. Howard, C. J. Green, and A. Kelly, Receding horizon model-predictive control for mobile robot navigation of intricate paths, Field and Service Robotics, 2010: 69-78.
  • [20] J. Schulman, J. Ho, A. X. Lee, I. Awwal, H. Bradlow, and P. Abbeel, Finding Locally Optimal, Collision-Free Trajectories with Sequential Convex Optimization, Proceedings of the Robotics: Science and Systems Conference, 9(1): 1-10, 2013.
  • [21] J. P. Van Den Berg, and M. H. Overmars, Prioritized motion planning for multiple robots, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2005: 430-435.
  • [22] A. Wächter and L. Biegler, IPOPT-an interior point OPTimizer, 2009.
  • [23] Y. Nie, O. Faqir, and E. C. Kerrigan. ICLOCS2: Solve your optimal control problems with less pain, in Proc. 6th IFAC Conference on Nonlinear Model Predictive Control, 2018.
  • [24] D. Parsons, J. Canny, A motion planner for multiple mobile robots, IEEE International Conference on Robotics and Automation, 1990: 8-13.
  • [25] M. Chen, S. Bansal, J. F. Fisac, and C. J. Tomlin, Robust Sequential Trajectory Planning Under Disturbances and Adversarial Intruder, IEEE Transactions on Control Systems Technology, 27(4): 1566-1582, 2018.
  • [26] M. Bennewitz, W. Burgard, and S. Thrun, Finding and optimizing solvable priority schemes for decoupled path planning techniques for teams of mobiel robots, Robotics and Autonomous Systems, 41(2):89-99, 2002.