1 Introduction

One of the most prominent research topics on distributed multi-robot system is the formation control problem. Significant efforts have been made on the circular formation control and circumnavigation control problems. In circular formation control problem, robots remain in their positions after the formation is generated, while in circumnavigation control problem, they still encircle around the target. In this sense, circular formation control could be regarded as a special case of circumnavigation control when the circumnavigation speed equals to zero.

There are already many studies on circumnavigation control (or circular formation control) problems. Most of the existing studies only consider the case where robots are distributed evenly on the formation (i.e., equal spacing), such as [3, 7, 14]. In addition, the control algorithms proposed in these studies are only applicable on the 2D plane. Nevertheless, [1] proposes algorithms which are still effective in 3D space. The formation spacing, however, is fixed and equal. Although this is effective for a homogeneous multi-robot system, it may not be sufficient for a heterogeneous one where robots have different properties, such as maximum movement speeds. [9] and [10] propose a distributed control law for a multi-robot system to form a circular formation with any desired spacing among robots. However, it assumes that the robots are placed initially on a prescribed circle and the control algorithm is not applicable in the 3D space. Another major disadvantage is that the desired spacing, which is a global quantity, should be specified for each robot beforehand. If the specified spacing does not sum up to \(2 \pi \), or if robots are informed of inconsistent specified spacing, they will form an erroneous formation. Moreover, to the best of our knowledge, there are no studies concerning dynamic spacing for a heterogeneous multi-robot system.

In this study, we suppose that mobile robots are heterogeneous in terms of their kinematics abilities, such as maximum locomotion speeds, etc. In a scenario where these mobile robots need to entrap a hostile target, their inter-robot spacing should be different for better performance; those robots with lower mobility are supposed to gather together with smaller spacing than those with higher mobility, so the probability for the target to flee away from the formation is lower. We also consider the deterioration of individual performance due to physical worn-out or damage. Therefore, their spacing should be varied in a dynamic way during the circumnavigation process. Based on this, the goal of this paper is to propose a new distributed circumnavigation control algorithm which is able to control a group of heterogeneous mobile robots from any initial positions to circumnavigate a target with dynamic spacing in the 3D space.

The main contribution of this work is twofold. First, this paper proposes the concept of utility and formation guideline. Based on these two new concepts, we design a distributed circumnavigation control algorithm which enables robots to adjust their spacing dynamically according to the local variations of their utilities; a pre-specified desired spacing is not necessary (but it is necessary for studies such as [1, 9, 10]). The control algorithm is distributed and applicable for a heterogeneous multi-robot system of arbitrary size. Second, the distributed control algorithm does not require robots to be placed initially on a prescribed circular trajectory (but it is required in [9, 10]). Their initial positions can be arbitrarily chosen in the 3D space rather than being restricted on a 2D plane (which is the case in [9, 10]). In addition, the control algorithm can respond effectively to the situation where robots quit or join the circumnavigation process (but it is not studied in much literature such as [3, 8,9,10]).

The remainder of this paper is organized as follows. Section 2 introduces the circumnavigation control problem based on utilities and derives its corresponding mathematical formulation. Section 3 proposes the circumnavigation control algorithm. In Sect. 4, simulation and real-robot experiments are performed and results are analysed. Finally, Sect. 5 concludes the paper and summarizes the future work.

Fig. 1.
figure 1

The body reference frame with the target S as the origin.

Fig. 2.
figure 2

Robots’ projections and the target S on the XSY plane.

Fig. 3.
figure 3

The interpretation of the formation guideline.

2 Problem Formulation

The research question is that a group of \(n \; (n\ge 2)\) mobile robots, denoted by \(r_{i},\; i=1,...\,,n\), encircle a target in 3D space with dynamic spacing on a circular formation. Note that \(r_i\) is only used to represent the ith robot for convenience of narration; it does not correspond to any physical quantities. Suppose each mobile robot is modelled by a 3D kinematic point:

$$\begin{aligned} \dot{{ p}}_{i} (t)={ u}_{i} (t),\; \; i=1,...\,,n, \end{aligned}$$
(1)

where \(u_{i} (t)\) is the control input to the robot \(r_{i} \) and \(p_{i} (t)\in {\mathbb {R}}^{3} \) is its position in the world reference frame \(\mathcal {W}\). In this problem, robots are required to maintain on the same plane with the encircled target which is modelled by another kinematic point. Therefore, a (target) body reference frame \(\mathcal {B}\) centred at the target S is introduced (see Fig. 1). In addition, the cylindrical coordinate system is preferred to the commonly used Cartesian coordinate system since the former itself embodies three elements of interest: the distance between the projection of the robot on the XSY plane to the target (\(\rho \)), the height relative to the XSY plane (z) and the angle between the X-axis and the line joining the projection of the robot on the XSY plane with the target (\(\varphi \)). The cylindrical coordinates for \(r_{i}\) is denoted by \(q_{i} =(\rho _{i} ,\varphi _{i} ,z_{i} )^{T} \) (see Fig. 1). To relate the cylindrical coordinates with the Cartesian coordinates, a vector function is defined as \( { q}({ p})=(\rho ({ p}),\varphi ({ p}),z({ p}))^{T}, \) where \({ p}\in {\mathbb {R}}^{3} \) is a generic vector with components \(p_{x} ,p_{y} ,p_{z}\). \(\rho ( p)=\sqrt{p_{x}^{2} +p_{y}^{2} } \), \(\varphi (p)=\mathrm{tan}^{\mathrm{-1}} (p_{y} /p_{x} )\) and \(z(p)=p_{z}\). Note that \(\varphi \in [0,2\pi )\). The Jacobian matrix of the vector function will be used later, which is \( J=\frac{\partial { q}}{\partial { p}^{T} } = \left[ \begin{array}{ccc} {\frac{p_{x} }{\sqrt{p_{x}^{2} +p_{y}^{2} } } } &{} {\frac{p_{y} }{\sqrt{p_{x}^{2} +p_{y}^{2} } } } &{} {0} \\ {\frac{-p_{y} }{p_{x}^{2} +p_{y}^{2} } } &{} {\frac{p_{x} }{p_{x}^{2} +p_{y}^{2} } } &{} {0} \\ {0} &{} {0} &{} {1} \end{array} \right] .\) For better analysis, we label the robots in the counter-clockwise direction according to their initial (angular) positions (\(\varphi _i\)) in \(\mathcal {B}\) as shown in Fig. 2. Note that the subscript \(i^{-}\) and \(i^{+}\) represent the indices of the neighboring robots of \(r_i\) in the clockwise and counter-clockwise direction respectively. Especially, if \(i=n\), \(i^{+} =1\), and if \(i=1\), \(i^{-}=n\). \(\varDelta _{i} > 0\) represents the difference between the angular positions of \(r_{i^{+}}\) and that of \(r_{i}\). In particular,

$$\begin{aligned} \varDelta _i = {\left\{ \begin{array}{ll} \varphi _{i^+} -\varphi _i , &{} i=1,\dots ,n-1,\\ \varphi _1 - \varphi _n +2\pi , &{} i=n. \end{array}\right. } \end{aligned}$$
(2)

Also note that \(\sum _{i=1}^{n}\varDelta _{i} = 2\pi ,\)

Before giving the definition of the circumnavigation problem with dynamic spacing, we propose the concept of utility.

Definition 1

(Utility). In a heterogeneous multi-robot system, given different kinds of robots, a robot’s utility \(\mu (t) \ge 0\) is determined by a given criterion (such as its maximum movement speed). The utility reflects the weight of the robot in the circumnavigation process at time t.

For example, suppose a robot’s maximum movement speed is the criterion. Let \(\mu _i(t)=\frac{v_{mi}(t)}{v_{M}}, i=1,\dots ,n\), where \(v_{mi}(t)\) is the maximum movement speed of \(r_i\) and \(v_{M}\) is the possible greatest movement speed in the heterogeneous multi-robot system. Then \(\mu _i(t) \in [0, ~1], i=1,\dots ,n\). When \(\mu _i(t) = 0\), the robot \(r_i\) cannot continue the circumnavigation process with other robots. In this case, its neighboring robots will neglect its role in the circumnavigation process. \(\mu _i(t)\) will increase or decrease due to the enhancement or damage of the robot’s locomotion capabilities. To explain directly how utilities are utilized to enable dynamic spacing among robots, we simply regard the utility of a robot to be proportional to its maximum movement speed. For simplicity of writing, the symbol t is neglected from \(\mu \) unless it causes confusion. The circumnavigation control problem based on utilities is defined as follows:

Definition 2

(Circumnavigation Control Problem Based on Utilities). In a heterogeneous multi-robot system composed of \(n\; (n\ge 2)\) mobile robots, each of the robot’s dynamics are modelled by (1). Suppose \(f_i :\mathbb {R}^{n+1} \rightarrow (0, 2 \pi ), \; i=1,\dots ,n,\) is a smooth function of time and the utilities of robots, which maps utilities to the final holistic formation spacing. Assume \(\mathop {\text {lim }}\limits _{t\rightarrow \infty } f_i(t, \mu _1,\dots ,\mu _n)\) exists, the circumnavigation control problem based on utilities is to seek control laws satisfying the following asymptotic conditions:

$$\begin{aligned} \mathop {\lim }\limits _{t \rightarrow \infty } \rho _{i} (t)&= \rho ^{*} \end{aligned}$$
(3)
$$\begin{aligned} \mathop {\lim }\limits _{t\rightarrow \infty } \varDelta _{i} (t)&= \mathop {\lim }\limits _{t\rightarrow \infty } f_i \end{aligned}$$
(4)
$$\begin{aligned} \mathop {\lim }\limits _{t\rightarrow \infty } \dot{\varphi }_{i} (t)&=\omega ^{*} \end{aligned}$$
(5)
$$\begin{aligned} \mathop {\lim }\limits _{t\rightarrow \infty } z_{i} (t)&=z^* \end{aligned}$$
(6)

Here, \(\mu _i >0\), \(\rho ^{*}>0\), \(\omega ^{*} \in \mathbb {R}\) and \(z^{*} \in \mathbb {R}\). \(\rho ^{*}\), \(\omega ^{*}\) and \(z^{*}\) denote the circumnavigation radius, the angular speed and the circumnavigation height respectively.

In this paper, it is required that all robots and the target remain in the same plane in the end. Therefore, the default value of \(z^{*}\) is 0. However, \(z^*\) can be different for different robots. Equation (4) manifests that the final formation spacing is not specified manually as proposed in [9] or [13], but instead, it is determined by the \(f_i\) function, which will be referred to as f function for simplicity. Note that \(f_i\) function depends on the utilities of other robots instead of calculating by each robot alone. The advantage of eliciting the f function is that the spacing among robots can be dynamically adjusted corresponding to the variations of robots’ utilities.

The expression of the f function is determined by a formation guideline. It is proposed under specific physics background representing the relationship between the utilities of robots and the final formation spacing. In this paper, we suppose that multiple heterogeneous robots circumnavigate a target and try to prevent it from fleeing. In Fig. 3, four robots \(r_1,\dots ,r_4\) rotate around a target denoted by O. Suppose that the target is intelligent enough to determine the best fleeing points denoted by A, B, C and D in the figure. Obviously, the best fleeing points are related to the utility (i.e., the maximum movement speeds) of robots. The position of A, for instance, is calculated by \(\angle AOr_2 = \frac{\mu _2}{\mu _1+\mu _2}\). We also suppose that the probability of capturing the target by a robot is inversely proportional to the time spent on moving from its initial position along the circular trajectory at its maximum speed to the best fleeing point. Therefore, the formation guideline can be defined as

Formation Guideline 1

In the final circumnavigation formation formed by robots, when the target tries to escape via any of the best fleeing point, the two robots adjacent to the best fleeing point have the same probability of capturing the target.

To understand the above formation guideline, taking Fig. 3 for example, it means the travelling time for \(r_1\) and \(r_2\) to arrive at the best fleeing point A along the circular trajectory at their maximum speeds (i.e., \(\mu _1\) and \(\mu _2\) resp.) is the same, or the travelling time for \(r_2\) to arrive at A or B along the circular trajectory at its maximum speed (i.e., \(\mu _2\)) is identical, and hence, the probability of capturing the target is equal. Following this, it can be derived that \(\frac{\mu _i}{\mu _i + \mu _{i^+}} \varDelta _{i} = \frac{\mu _i}{\mu _i + \mu _{i^-}} \varDelta _{i-}\). According to this equation, the relationship between the final desired formation spacing and the utilities is \(\varDelta _{1}:\varDelta _{2}:\dots :\varDelta _{n} = (\mu _1+\mu _2):(\mu _2+\mu _3):\dots :(\mu _n+\mu _1).\) Therefore, given \(\mu _1,\dots ,\mu _n\), the formation spacing can be determined, and the f function is expressed as follows:

$$\begin{aligned} f_i(t, \mu _{1},\dots ,\mu _{n}) = \frac{\mu _i + \mu _{i^+}}{\sum _{k=1}^{n} \mu _k}\pi . \end{aligned}$$
(7)

Other formation guidelines can be similarly definedFootnote 1.

Remark 1

Note that formation guidelines only reflect the relationship between the utilities of robots and the final formation spacing; it does not determine the utilities of robots.

3 Utility-Based Circumnavigation Control Algorithm

First we define a rotational matrix \(R_{b}\), which is the representation of the body reference frame \(\mathcal {B}\) with respect to the world reference frame \(\mathcal {W}\). Therefore, the following equation calculates the cylindrical coordinates of \(r_i\) in the frame \(\mathcal {B}\): \( q_{i} ={ q}(R_{b}^{T} ({ p}_{i} -{ p}_{b} )) , \) where \({ p}_{i} \) and \({ p}_{b} \) are the Cartesian coordinates of \(r_i\) and the target in the frame \(\mathcal {W}\) respectively. Then the derivative of \(q_i\) is the dynamics of robots in the cylindrical coordinates, which is \( \dot{{ q}}_{i} ={ J}_{i} [\dot{R}_{b}^{T} ({ p}_{i} -{ p}_{b} )+R_{b}^{T} (\dot{{ p}}_{i} -\dot{{ p}}_{b} )] , \) where \({ J}_{i} \) is the Jacobian matrix as shown in Sect. 2, i.e., \({ J}_{i} =\frac{\partial { q}}{\partial {p}^{T} } \left| \begin{array}{c} {} \\ {{p}=R_{b}^{T} ({ p}_{i} -{ p}_{b} )} \end{array}\right. \). Note that \(\det (J)=\frac{1}{\sqrt{p_{x}^{2} +p_{y}^{2}}}\) as long as \(p_{x}^{2} +p_{y}^{2} \ne 0\). This means \({ J}_{i} \) is invertible as long as the distance between \(r_i\) and the target is non-zero. This condition can always be guaranteed since the initial positions of the robots and the target do not coincide, and by designing appropriate control algorithms, the distance can be guaranteed to be non-zero all the time. By letting

$$\begin{aligned} { u}_{i} =\dot{{ p}}_{i} =\dot{{ p}}_{b} +R_{b} ({ J}_{i} ^{-1} { v}_{i} -\dot{R}_{b}^{T} ({ p}_{i} -{ p}_{b} )) , \end{aligned}$$
(8)

we can switch our focus to the new control input in the cylindrical coordinates \({ v}_{i} =\dot{{ q}}_{i} =(\dot{\rho }_{i} ,\dot{\varphi }_{i} ,\dot{z}_{i} )^{T}\) [1]. The advantage of transforming to this control input is that we can control \(\rho _{i} \), \(\varphi _{i}\) and \(z_{i}\) separately, which are the three main variables in the circumnavigation problem.

Notations. For positive integers m and n, \(M_{n}\) and \(M_{m \times n}\) are a set of all \(n \times n\) and \(m \times n\) real matrices. If all the entries in a matrix is nonnegative, this matrix is called nonnegative. We denote \(I_{d}\) as the \(d \times d\) identity matrix. \( \varvec{1}\) and \(\varvec{0}\) are vectors of all 1’s or 0’s of suitable dimensions respectively. The underlying directed graph (or digraph) of a nonnegative matrix \(M\in M_{n}\), denoted by \(\mathcal {G}(M)\), is the directed graph with the vertex set \(\{ v_{i} \} ,i\in \{ 1,...,n\} \), such that there is a directed edge in \(\mathcal {G}(M)\) from \(v_{j}\) to \(v_{i}\) if and only if \(m_{ij} \ne 0\). A directed graph is called strongly connected if for every pair of vertices, there is a directed path between them [4]. The following is a preliminary result related to any strongly connected digraph.

Lemma 1

(Theorem 3 of [6]). Assume G is a strongly connected digraph with Laplacian L satisfying \(Lw_{r} =\varvec{0}\), \(w_{l} ^{T} L=\varvec{0}\) and \(w_{l} ^{T} w_{r} =1\). Then \(R=\mathop {\text {lim }}\limits _{t\rightarrow \infty } \exp (-Lt)=w_{r} w_{l} ^{T} \in M_{n}.\)

Theorem 1

Consider a multi-robot system with robot dynamics described by (1) and (8), by introducing the control input \({ v}_{i} =\dot{{ q}}_{i} =(\dot{\rho }_{i} ,\dot{\varphi }_{i} ,\dot{z}_{i} )^{T}\) into (8), where

$$\begin{aligned} \dot{\rho }_{i}&=k_{\rho } (\rho ^{*} -\rho _{i} ), \end{aligned}$$
(9)
$$\begin{aligned} \dot{z}_{i}&=-k_{z} z_{i}, \end{aligned}$$
(10)
$$\begin{aligned} \dot{\varphi }_{i}&=\omega ^{*} +k_{\varphi } (\bar{\varphi }_{i} -\varphi _{i} ). \end{aligned}$$
(11)

Note that \(k_{\rho } \), \(k_{z} \) and \(k_{\varphi }\) are positive gains, and

$$\begin{aligned} \bar{\varphi }_{i} = {\left\{ \begin{array}{ll} \varphi _{i^-} +\frac{\mu _{i^-}+\mu _i}{\mu _{i^+}+2\mu _i+\mu _{i^-}} (\varDelta _i +\varDelta _{i^-}), &{} i=2,3,\dots ,n, \\ \varphi _{i^-} +\frac{\mu _{i^-}+\mu _i}{\mu _{i^+}+2\mu _i+\mu _{i^-}}(\varDelta _i +\varDelta _{i^-}) -2\pi , &{} i=1, \end{array}\right. } \end{aligned}$$
(12)

where \(\mu _i\) is the utility of the robot \(r_i\) and it is piecewise constant. If the f function is shown as (7) (Formation Guideline 1), the circumnavigation control problem based on utilities encoded by (3), (4), (5) and (6) can be solved with exponential convergence speed.

Proof

It is obvious that (9) and (10) do not rely on the states of other robots, and they are basically P control laws with reference input \(\rho ^{*}\) and 0 respectively. So according to the classical control theory, \(\rho _{i} \) and \(z_{i} \) will converge exponentially to \(\rho ^{*} \) and 0 respectively.

Since \(\mu _i, ~i=1,\dots ,n,\) is piecewise constant, it is obvious that \(\mathop {\text {lim }}\limits _{t\rightarrow \infty } f_i\) exists. We define \(\bar{\varphi }=[\bar{\varphi }_{1} \;...\; \bar{\varphi }_{n} ]^{T} \) and \(\varphi =[\varphi _{1} \;...\; \varphi _{n} ]^{T} \), so (11) and (12) can be written into compact forms respectively as follows:

$$\begin{aligned} \dot{\varphi }=\omega ^{*} \varvec{1}+k_{\varphi } (\bar{\varphi }-\varphi ), \end{aligned}$$
(13)
$$\begin{aligned} \bar{\varphi }=A\varphi +b, \end{aligned}$$
(14)
$$\begin{aligned} A=\left[ \begin{array}{ccccccc} {0} &{} {\frac{\mu _n + \mu _1 }{\mu _2 + 2 \mu _1 + \mu _n} } &{} {0} &{} {\ldots } &{} {0} &{} {0} &{} {\frac{\mu _1 + \mu _2 }{\mu _2 + 2 \mu _1 + \mu _n } } \\ {\frac{\mu _2 + \mu _3 }{\mu _3 + 2 \mu _2 + \mu _1} } &{} {0} &{} {\frac{\mu _1 + \mu _2 }{\mu _3 + 2 \mu _2 + \mu _1 } } &{} {\ldots } &{} {0} &{} {0} &{} {0} \\ {\vdots } &{} {\vdots } &{} {\vdots } &{} {\vdots } &{} {\vdots } &{} {\vdots } &{} {\vdots } \\ {\frac{\mu _{n-1} + \mu _n }{\mu _1 + 2 \mu _n + \mu _{n-1} } } &{} {0} &{} {0} &{} {\ldots } &{} {0} &{} {\frac{\mu _n + \mu _1 }{\mu _1 + 2 \mu _n + \mu _{n-1} } } &{} {0} \end{array} \right] \end{aligned}$$
(15)

where \(A\in M_{n}\) is shown as (15), and \(b=2\pi \left[ \begin{array}{ccccc} {\frac{-(\mu _1 + \mu _2) }{\mu _2 + 2 \mu _1 + \mu _n } }&{0}&{\ldots }&{0}&{\frac{\mu _{n-1} + \mu _n }{\mu _1 +2 \mu _n + \mu _{n-1} } } \end{array} \right] ^T. \)

During each time period where \(\mu _i\) is constant, A and b are constant matrix and vector respectively. Note that matrix A is a row stochastic matrix and furthermore, it could be considered as the adjacency matrix [4] corresponding to a weighted directed ring denoted by \(\mathcal {G}(A)\). It can be readily verified that \(\mathcal {G}(A)\) is strongly connected. Next we define the error signal as

$$\begin{aligned} e_{\varphi } =\bar{\varphi }-\varphi =(A-I_{n} )\varphi +b=-L_{p} \varphi +b, \end{aligned}$$
(16)

where \(L_{p} =I_{n} -A\), which is the Laplacian matrix of \(\mathcal {G}(A)\). Since \(L_p\) is constant at each time period, the derivative of \(e_{\varphi } \) is \(\dot{e}_{\varphi } =-L_{p} \dot{\varphi }\). By substituting (13) and (16) into this equation, we further obtain the error dynamics as

$$\begin{aligned} \dot{e}_{\varphi } =-\omega ^{*} L_{p} \varvec{1}-k_{\varphi } L_{p} e_{\varphi } =-k_{\varphi } L_{p} e_{\varphi }. \end{aligned}$$
(17)

Note that 1 is the right eigenvector associated with the zero eigenvalue of \(L_{p} \), so \(-\omega ^{*} L_{p} \varvec{1}=0\). The solution to (17) is \(e_{\varphi } (t)=\exp (-k_{\varphi } L_{p} t)e_{\varphi }(0)\). According to Lemma 1 and also note that \(k_{\varphi } >0\) only affects the convergence speed but not the convergence value, we have \(\mathop {\text {lim }}\limits _{t\rightarrow \infty } e_{\varphi } (t)=w_{r} w_{l} ^{T} e_{\varphi }(0)\), where \(L_{p} w_{r} =\varvec{0},\; w_{l} ^{T} L_{p} =\varvec{0}\) and \(w_{l} ^{T} w_{r} =1\). By substituting (16) into this equation, we obtain the following:

$$\begin{aligned} \mathop {\lim }\limits _{t\rightarrow \infty } e_{\varphi } (t)=w_{r} (-w_{l} ^{T} L_{p} \varphi +w_{l} ^{T} b)=w_{l} ^{T} bw_{r}. \end{aligned}$$
(18)

Let \(w_{r} =\varvec{1} \) and \( w_{l} =\frac{w_{L}}{\sum _{w_L}},\) where the \(i^{th}\) entry of \(w_{L} \) is

$$\begin{aligned} \left[ w_{L_i} =(\mu _{i^+} + 2 \mu _i + \mu _{i^-})\mathop {\prod }\limits _{j=1,j\ne i,i^{-} }^{n} (\mu _{j} + \mu _{j^+}) \right] , \end{aligned}$$

and \(\sum _{w_L}=\sum _{i=1}^{n}w_{L_i}\). It can be easily verified that \(w_{l}^{T} \)and \(w_{r} \) are the left and right eigenvector of the Laplacian matrix \(L_{p} \) associated with the zero eigenvalue respectively, and \(w_{l} ^{T} w_{r} =1\). Therefore, (18) becomes \(\mathop {\text {lim }}\limits _{t\rightarrow \infty } e_{\varphi } (t)=\varvec{0}\), or \(\mathop {\text {lim }}\limits _{t\rightarrow \infty } \varphi (t)=\mathop {\text {lim }}\limits _{t\rightarrow \infty } \bar{\varphi }(t). \) According to (13), the circumnavigation speed of each robot converges to the desired angular speed \(\omega ^{*} \). In addition, under this condition, \(\bar{\varphi }_{i} \) is replaced by \(\varphi _{i} \) in (12) and therefore, for robots with indices \(i=2,...,n\), the equation \(\varphi _{i} =\varphi _{i^-} +\frac{\mu _{i^-}+\mu _i}{\mu _{i^+}+2\mu _i+\mu _{i^-}} (\varDelta _i +\varDelta _{i^-}) \) further becomes \(\frac{\varDelta _{i} }{\varDelta _{i^{-} } } =\frac{\mu _{i} + \mu _{i^+} }{\mu _{i} + \mu _{i^-}}. \) This means a sequence of equations \(\frac{\varDelta _{n} }{\varDelta _{n-1} } =\frac{\mu _n + \mu _1 }{\mu _{n-1} + \mu _n } ,...,\frac{\varDelta _{2} }{\varDelta _{1} } =\frac{\mu _2 + \mu _3 }{\mu _1 + \mu _2 } \). Assuming \(\varDelta _{1} =k(\mu _1 + \mu _2) ,\; k\ne 0\), we have \(\varDelta _{i} =k (\mu _{i} + \mu _{i^+}), i=2,...,n\). According to \(\sum _{i=1}^{n}\varDelta _{i} = 2\pi ,\), it follows that \(2 k \sum _{i=1}^{n} \mu _i = 2 \pi \), and hence \(k=\pi / \sum _{i=1}^{n} \mu _i\). Therefore, \(\varDelta _{i} =(\mu _{i} + \mu _{i^+}) \pi / \sum _{i=1}^{n} \mu _i = f_i(t, \mu _{1},\dots ,\mu _{n})\). So the formation spacing expressed by (4) and (7) can be achieved.

Remark 2

Since (9), (10), (11) and (17) typically admit a linear system, the convergence is global and exponential. In fact, for the convergence of \(e_\varphi \), a Lyapunov function can be defined as \(V(e_\varphi )=e_\varphi ^T P e_\varphi \), where \(P=\text {diag}\{w_l\}\), so the global and exponential convergence can also be proved using the Lyapunov theorem.

Remark 3

In the definition of circumnavigation control problem based on utilities, (4) contains the utilities of all robots. However, it can be seen from (12) that each robot only needs to obtain the utilities of its two neighboring robots. Moreover, it should be noted that robots do not know what the holistic expected formation is; the actual formation (or spacing) among robots adapt dynamically to the variations of the local utilities of neighboring robots. In addition, when a robot joins or leaves the formation, according to (11) and (12), the spacing among robots will adjust dynamically through local update of the utilities of neighboring robots. To sum up, the utility-based circumnavigation control algorithm does not rely on the number of robots, and it is able to dynamically adjust the formation spacing dependent on the change of utilities.

Remark 4

When \(\mu _\theta =0\), the robot \(r_\theta \) has quitted from the circumnavigation process, and therefore the communication topology has changed. The change of communication topology means the indices of the neighboring robots alter accordingly. When \(\mu _2=0\), for example, the neighboring robots of \(r_3\) change from \(r_2\) and \(r_4\) to \(r_1\) and \(r_4\). In this way, the circumnavigation control algorithm based on utilities can well adapt to the cases where there are local variations on utilities or where robots join or quit from the formation. The formation spacing can adjust dynamically based on the selected formation guideline, achieving distributed formation reconfiguration.

Another problem that is worth considering is whether robots preserve their initial orders during the whole circumnavigation process. For the next theorem, the definition of a Metzler matrix [5] is given. For a real matrix \(M = [m_{ij}] \in M_n\), if all its off-diagonal elements are non-negative, i.e., \(m_{ij} \ge 0, i \ne j\), M is a Metzler matrix.

Theorem 2

During the circumnavigation process, robots always keep their initial orders in the formation. In other words, \(\varDelta _i(t) > 0, i=1,\dots ,n\), for \(t \ge 0\).

Proof

According to (2), (11) and (12), for \(i=1,\dots ,n\), it follows that

$$\begin{aligned} \begin{aligned} \dot{\varDelta }_i {} = {}&k_\varphi \left[ \frac{\mu _{i} + \mu _{i^+}}{\mu _{i^{*}} + 2 \mu _{i^+} + \mu _{i} } \varDelta _{i^+} - \left( \frac{\mu _{i^+} + \mu _{i^{*}} }{\mu _{i^{*}}+ 2 \mu _{i^+} + \mu _{i}} \right. \right. \\&+ \left. \left. \frac{\mu _{i^-} + \mu _{i} }{\mu _{i^+} + 2 \mu _{i} + \mu _{i^-} } \right) \varDelta _{i} + \frac{\mu _{i} + \mu _{i^+} }{\mu _{i^+} + 2 \mu _{i} + \mu _{i^-} } \varDelta _{i^-} \right] , \end{aligned} \end{aligned}$$
(19)

where \(i^*\) represents \((i^+)^+\), which is the index of the second adjacent robot for the robot \(r_i\) in the counter-clockwise direction. Let \(\varDelta = [\varDelta _1 \dots \varDelta _n]^T\), then (19) can be rewritten as \(\dot{\varDelta } = k_\varphi M_\varDelta \varDelta ,\) where \(M_\varDelta \) is shown in (20).

$$\begin{aligned} \begin{aligned}&M_{\varDelta }=\\&\left[ \begin{array}{cccc} {\frac{-(\mu _2 + \mu _3) }{\mu _3 + 2 \mu _2 + \mu _1}+\frac{-(\mu _n + \mu _1) }{\mu _2 + 2 \mu _1 + \mu _n} } &{} {\frac{\mu _1 + \mu _2 }{\mu _3 + 2 \mu _2 + \mu _1 }} &{} {\ldots } &{} {\frac{\mu _1 + \mu _2 }{\mu _2 + 2 \mu _1 + \mu _n } } \\ {\frac{\mu _2 + \mu _3 }{\mu _3 + 2 \mu _2 + \mu _1 } } &{} {\frac{-(\mu _3 + \mu _4) }{\mu _4 + 2 \mu _3 + \mu _2}+\frac{-(\mu _1 + \mu _2) }{\mu _3 + 2 \mu _2 + \mu _1} } &{} {\ldots } &{} {0} \\ {\vdots } &{} {\vdots } &{} {\vdots } &{} {\vdots } \\ {\frac{\mu _n + \mu _1 }{\mu _2 + 2 \mu _1 + \mu _n } } &{} {0} &{} {\ldots } &{} {\frac{-(\mu _1 + \mu _2) }{\mu _2 + 2 \mu _1 + \mu _n}+\frac{-(\mu _{n-1} + \mu _n) }{\mu _1 + 2 \mu _n + \mu _{n-1}} } \end{array} \right] . \end{aligned} \end{aligned}$$
(20)

Therefore, the solution of \(\varDelta (t)\) is \(\varDelta (t) = \exp (k_\varphi M_\varDelta t) \varDelta (0).\) Since \(M_\varDelta \) is a Metlzer matrix, it has been proved that \(\exp (k_\varphi M_\varDelta t)\) is a non-negative matrix. In addition, due to \(\varDelta (0) > 0\), it follows that \(\varDelta (t) > 0, ~t \ge 0\), which means that robots always keep their initial orders in the formation.

Remark 5

The significance of this theorem is that it provides a preliminary result for collision avoidance. In other words, if robots are treated as mass points, then collision will not happen since they always keep their initial orders. For real robots with geometric shape, given sufficiently large spacing, the collision will not happen, but this will need further investigation.

4 Experimental Results and Analysis

Although it is claimed that formation guidelines correspond to specific physics backgrounds, in the experiment, we do not try to reproduce the specific scenarios. This is because the emphasis here is the stability of the circumnavigation control algorithm based on utilities, and how the global formation spacing reacts dynamically to the variation of the utilities. In the experiments, robots’ utilities are supposed to be proportional to its maximum movement speed. However, how the utilities are calculated from the maximum movement speeds is not the interest of the study. Instead, the variation of the utilities are manually specified. Readers can think of an increase in the utilities as an update of robots’ locomotion capabilities, while the decrease means the deterioration of performance due to worn-out or damage of robotsFootnote 2.

4.1 Experiment with Soccer Robots

In this experiment, four soccer-playing robots [11, 12] are used and Formation Guideline 1 is adopted. Since the soccer-playing robots have omnidirectional movement abilities and they can reach any given velocity instantly, their dynamics can be regarded as the first-integrator model given in (1). In addition, an omnidirectional vision system is equipped on each robot with algorithms for self-localization and the recognition of a yellow football [2]. The position and velocity of the robot itself and the position and velocity of the football are obtained by its own omnidirectional vision system. Moreover, robots are only allowed to receive information from its neighboring robots and the information is transmitted using wireless communication.

Fig. 4.
figure 4

The real robot experiment. (a)–(d) illustrate the positions of robots at 4 s (Stage 1), 19 s (Stage 2), 39 s (Stage 3) and 61 s (Stage 4) respectively. (Color figure online)

Fig. 5.
figure 5

The data plots of the real robot experiment. (Color figure online)

The utilities of robots \(r_1\), \(r_3\) and \(r_4\) remain 20 throughout the whole circumnavigation process, while the utility of the robot \(r_2\) varies according to a piecewise constant function. That is, \(\mu _2=1, ~(0 \le t<15); ~\mu _2=20, ~(15 \le t<30); ~\mu _2=50, ~(30 \le t < 45); ~\mu _2=0, ~(t \ge 45)\). For convenience, the four time ranges are denoted by Stage 1, 2, 3 and 4 respectively. Following Formation Guideline 1, it can be calculated the final expected spacing for the four stages is \([62~~62~~118~~118]^T\), \([90~~90~~90~~90]^T\), \([114~~114~~66~~66]^T\) and \([120~~120~~120]^T\) (unit: degree) correspondingly. Note that at Stage 4, the robot \(r_2\) quits from the circumnavigation process as its utility becomes zero. In this experiment, robots’ initial positions are randomly chosen. The experiment parameters are \(\rho ^*=2\) m, \(w^*=0.5\) rad/s, \(k_\varphi =2.5\) and \(k_\rho =2\).

The circumnavigation process is shown in Fig. 4. It demonstrates the positions of robots at different stages. The yellow lines connecting each robot’s center indicate the formation shape. The ball in the middle of the field is the target to be encircled, which is marked by a red circle. The corresponding data plots are shown in Fig. 5. Since robots move on the ground, the error plot of \(-z\) is omitted. In Fig. 5d, the red, green, blue and black solid lines connecting the centres of robots represent the formation shapes at Stage 1, 2, 3 and 4 respectively. The dashed lines originated from robots are their trajectories. Note that since \(r_2\) quits from the formation at Stage 4 (\(\mu _2=0\)), the data related to \(r_2\) is not plotted after 45 s. The circumnavigation radii, angular speeds and formation spacing converge to but fluctuate around the desired values at each stage (see Fig. 5a, b and c respectively). Noticeably, at the last intersection (45 s), the circumnavigation radius and spacing for the robot \(r_1\) deviate significantly from the desired values due to the absence of the robot \(r_2\) in the formation, but the variations diminish rapidly subsequently (see Fig. 5a and c). The robot \(r_4\) is hardly affected as it is not a neighboring robot of \(r_2\). In Fig. 5d, the black dot at the center is the real position of the target and the cluster of pink dots are the perceived positions of the target by \(r_1\). This manifests that information noise increases the uncertainty of the perceived information. Although there are fluctuations due to the information noise, the real spacing converges to the expected spacing at each stage (see Fig. 5c).

5 Concluding Remarks and Future Work

This paper proposes a distributed control law for a multi-robot system to realize circumnavigation process with dynamic spacing based on utilities. Unlike most of the existing study, in this paper, the spacing is not fixed and equal but they are dynamic, which is useful if robots are heterogeneous (e.g. with different kinematics capabilities). The theoretical analysis using graph theory along with the experiments prove the effectiveness of the proposed circumnavigation control algorithm based on utilities.

Although Theorem 2 implies that robots will not collide with each other since their orders are unchanged during the circumnavigation process, this claim is based on the assumption that robots are considered as mass points. The collision avoidance problem taking into account the physical dimensions of robots will be studied in the future.