Keywords

1 Introduction

Recently, the cooperative control of multiple mobile robots has received a great deal of attention due to its wide application prospects, including cooperative surveillance, large object move, troop hunting, etc. Compared with single robot, multiple mobile robots can finish certain works more accurately, efficiently and robustly. As a typical cooperative control problem, formation control of multiple mobile robots is the foundation of other coordination problems. The control strategies are mainly behavior-based control [1], leader–follower-based control [2], artificial potential-based control [3, 4], virtual structure-based control [5], etc.

Due to the existence of nonholonomic constraint and nonlinear characteristics, the control of mobile robots is more difficult. With the development of cooperative control theory in networked system, these strategies have been used to realize the formation control of multiple mobile robots. In [6, 7], the theories of cascaded systems and communication graph are applied to design control law for nonholonomic kinematic systems, which can guarantee the system globally exponential stability. In [8], based on a new transformation, a distributed control scheme is developed to achieve the desired control objectives.

Most of control algorithms proposed in previous works can guarantee that multi-agent systems asymptotically converge to desired motion, that is, convergence time is infinite. Obviously, finite-time control algorithms with a faster convergence rate are more optimal. Previous works on finite-time control are mainly about first-order and second-order multi-agent system. In [9], finite-time state consensus problem for first-order multi-agent systems is researched and distributed protocols are presented. In [1012], a distributed protocol is proposed to solve the finite-time consensus problem for second-order agent dynamics. For multiple nonholonomic mobile robots, some finite-time control algorithms were prposed. In [13], the problem of finite-time leader-following consensus is discussed, but one of control inputs is forced to be the reference signal artificially for a given period of time. In [14, 15], the finite-time tracking control problem is solved when the leader’s state is available to each follower. In [16], a kind of finite-time formation control algorithm is proposed. However, it excludes the case where the observer’s value is zero.

Inspired by aforementioned articles, we mainly investigate the distributed finite-time formation control problem for multiple mobile robots. The contributions of this paper are as follows. The control algorithm is distributed. Each robot can only obtain its neighbors’ information. Besides the desired trajectory is considered as a virtual leader whose information is available to a subset of mobile robots. We design an estimator to estimate the leader’s state in finite time. And based on the estimated values of estimator, a finite-time formation controller is designed for each mobile robot, the controller can guarantee that the group of mobile robots converges to desired formation, and the centroid of formation converges to desired trajectory in finite time.

The rest of this paper is organized as follows. In Sect. 2, the model of nonholonomic mobile robots and preliminaries used in this paper are given. In Sect. 3, some main results on distributed formation control problem for multiple mobile robots are established. The simulation results are presented in Sect. 4. Finally, conclusion is drawn in Sect. 5.

2 Problem Statement

Notation

Let \( \text{diag}(w) = \text{diag}(w_{1} , \ldots ,w_{n} ) \), \( 1_{n} = [1,1 \ldots 1]^{T} \in R^{n} \). \( \lambda_{\hbox{min} } ( \cdot ) \) and \( \lambda_{\hbox{max} } ( \cdot ) \) are the smallest and largest eigenvalues of the matrix, respectively. For any vectors \( a = [a_{1} , \ldots ,a_{n} ]^{T} \) and \( b = [b_{1} , \ldots ,b_{n} ]^{T} \), denote \( a \odot b = \left[ {a_{1} b_{1} , \ldots ,a_{n} b_{n} } \right]^{T} \), Let \( \text{sig}(x)^{\alpha } = \text{sign}(x)\left| x \right|^{\alpha } \), where \( \alpha > 0 \), \( x \in R \), and \( \text{sign}( \cdot ) \) is the sign function, If \( x_{i*} = [x_{i1} , \ldots ,x_{in} ]^{T} \in R^{n} \), then \( \text{sig}(x_{i*} )^{\alpha } = \text{sign}(x_{i*} ) \odot \left| {x_{i*} } \right|^{\alpha } \), where \( \text{sign}(x_{i*} ) = \) \( [\text{sign}(x_{i1} ), \ldots ,\text{sign}(x_{in} )]^{T} \) and \( \left| {x_{i*} } \right|^{\alpha } = [\left| {x_{i1} } \right|^{\alpha } , \ldots ,\left| {x_{in} } \right|^{\alpha } ]^{T} \).

2.1 Algebraic Graph Theory

As done in [17], for a group of n nonholonomic mobile robots, if each mobile robot is a node, we can represent the communication between the robots by a weighted directed graph \( G = ({\mathcal{V} },E,A) \), where \( {\mathcal{V}} = \{ v_{1} ,v_{2} , \ldots ,v_{n} \} \) is a node set representing the mobile robots, and \( E\,\subseteq\,{\mathcal{V}} \times {\mathcal{V}} \) is an edge set. The weighted adjacency matrix is defined as \( A = [a_{ij} ] \in R^{n \times n} \), where \( a_{ij} \) denotes the edge weight from \( v_{i} \) to \( v_{j} \). if \( (v_{i} ,v_{j} ) \in E \), then \( a_{ij} > 0 \), Otherwise \( a_{ij} = 0 \). The set of neighbors of node \( v_{i} \) is denoted by \( N_{i} = \{v_{j} \in {\mathcal{V}}:(i,j) \in E,i \ne j\} \). Furthermore, The matrix \( L = D - A \) is called Laplacian matrix of G, where \( D = \text{diag}\{ d_{1} ,d_{2} , \ldots ,d_{n} \} \) with \( d_{i} = \sum\nolimits_{j = 1}^{n} {a_{ij} } \). Weighted directed graph G is said to satisfy the detail-balanced condition [17] in weights if there exist some scalars \( w_{i} > 0 \) with \( i = 1,2 \ldots ,n \) satisfying \( w_{i} a_{ij} = w_{j} a_{ji} \) for all \( i,j = \) \( 1,2 \ldots ,n \).

Assume that a desired trajectory is regard as a virtual leader. Let B denote the connection weight between robot i and the virtual leader, where \( B = \text{diag}(b_{1} ,b_{2} , \ldots ,b_{n} ) \). If robot i can obtain information of the virtual leader, then \( b_{i} = 1 \), otherwise \( b_{i} = 0 \).

2.2 Problem Formulation

Consider a group of n nonholonomic mobile robots labeled as \( i = 1,2, \ldots ,n \). The kinematics of robot i can be described by:

$$ \left\{ {\begin{array}{*{20}c} {\dot{x}_{i} = v_{i} \cos \theta_{i} } \\ {\dot{y}_{i} = v_{i} \sin \theta_{i} } \\ {{\dot{\theta}}_{i} = \omega_{i} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} } \\ \end{array} } \right. $$
(1)

where \( (x_{i} ,y_{i} ) \) is the position coordinates of robot i, \( \theta_{i} \) is the heading angle, and \( (v_{i} ,\omega_{i} ) \) represent the linear velocity and the angular velocity of robot i. It is well-known that the system (1) satisfies the pure roll without slipping constraint, i.e., \( \dot{y}_{i} \cos \theta_{i} - \dot{x}_{i} \sin \theta_{i} = 0 \).

Suppose that the n mobile robots converge to the desired formation pattern F, \( (p_{0x} ,p_{0y} ) \) is the centroid of the formation pattern F, \( (p_{ix} ,p_{iy} ) \) is the position vectors of robots i relative to the centroid of formation pattern F, which satisfies

$$ \sum\limits_{i = 1}^{n} {\frac{{p_{ix} }}{n} = p_{0x} } ,\sum\limits_{i = 1}^{n} {\frac{{p_{iy} }}{n} = p_{0y} } $$

Without loss of generality, we assume that \( p_{0x} = 0,p_{0y} = 0 \). The desired trajectory is considered as a virtual leader 0, which can be described by:

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{0} = v_{0} (t)\cos \theta_{0} } \hfill \\ {\dot{y}_{0} = v_{0} (t)\sin \theta_{0} } \hfill \\ {\dot{\theta }_{0} = \omega_{0} (t)} \hfill \\ \end{array} } \right. $$
(2)

where \( (v_{0} (t),\omega_{0} (t)) \) are known time-varying functions.

Now, our control problem is defined as designing a controller for mobile robot i based on its state and its neighbors’ state, such that the group of robots converges to a desired formation pattern F and the centroid of formation converges to the desired trajectory in finite-time T, that is to say,

$$ \begin{aligned} & \mathop {\lim }\limits_{t \to T} \left[ {\begin{array}{*{20}c} {x_{i} (t) - x_{j} (t)} \\ {y_{i} (t) - y_{j} (t)} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {p_{ix} - p_{jx} } \\ {p_{iy} - p_{jy} } \\ \end{array} } \right] \\ & \mathop {\lim }\limits_{t \to T} (\theta_{i} - \theta_{0} ) = 0 \\ & \mathop {\lim }\limits_{t \to T} \left( {\sum\limits_{i = 1}^{n} {\frac{{x_{i} (t)}}{n} - x_{0} (t)} } \right) = 0 \\ & \mathop {\lim }\limits_{t \to T} \left( {\sum\limits_{i = 1}^{n} {\frac{{y_{i} (t)}}{n} - y_{0} (t)} } \right) = 0 \\ \end{aligned} $$

Before the introduction of the distributed control algorithm, some necessary assumptions which mobile robot system should satisfy, and lemmas are listed.

Assumption 1

\( \left| {u_{10} } \right| > 0 \), \( \left| {\dot{u}_{10} } \right| \le \kappa \), \( \left| {\dot{u}_{20} } \right| \le \kappa \).

Assumption 2

Weighted directed graph \( G \) is strongly connected and detail-balanced, and there is at least one robot which can obtain the leader’s information.

Lemma 1

([18]) For any \( x_{i} \in R \), \( i = 1,2, \ldots n \), \( 0 < p \le 1 \) , the following inequalities hold

$$ \left( {\sum\limits_{i = 1}^{n} {\left| {x_{i} } \right|} } \right)^{p} \le \sum\limits_{i = 1}^{n} {\left| {x_{i} } \right|}^{p} \le n^{1 - p} \left( {\sum\limits_{i = 1}^{n} {\left| {x_{i} } \right|} } \right)^{p} $$

Lemma 2

([19]) Consider the system

$$ \dot{x} = f(x,t),\;f(0,t) = 0,\;x \in R^{n} $$

Suppose there are \( C^{1} \) function \( V(x) \) defined on a neighborhood \( \hat{U} \subset R^{n} \) of the origin. If the function \( V(x) \) is positive definite and \( \dot{V}(x) + cV^{\alpha } (x) \le 0 \) on \( \hat{U} \) where \( c > 0 \) and \( 0 < \alpha < 1 \) are real numbers, then the origin of system is locally finite time stable. The setting time depending on the initial state \( x(0) = x_{0} \) , satisfies \( T(x_{0} ) \le \frac{{V(x_{0} )^{1 - \alpha } }}{c(1 - \alpha )} \) . If \( V(x) \) is also radially unbounded and \( \hat{U} = R^{n} \) , the system is globally finite time stable.

Lemma 3

([20]) If Assumption 2 holds, then the matrix \( diag(w)(L + B) \) is positive definite.

3 Main Results

In this section, the finite-time formation control problem for system (1) is solved. First, a finite-time distributed estimator is proposed to estimate the virtual leader’s state. Second, a distributed formation control law is designed to make the mobile robots converge to the desired state in finite time.

For the controller design, we define the following transformation:

$$ \left\{ {\begin{array}{*{20}l} {x_{1i} = \theta_{i} } \hfill \\ {x_{2i} = (x_{i} - p_{ix} )\sin \theta_{i} - (y_{i} - p_{iy} )\cos \theta_{i} } \hfill \\ {x_{3i} = (x_{i} - p_{ix} )\cos \theta_{i} + (y_{i} - p_{iy} )\sin \theta_{i} } \hfill \\ {u_{1i} = \omega_{i} } \hfill \\ {u_{2i} = v_{i} - x_{2i} \omega_{i} } \hfill \\ \end{array} } \right. $$
(3)

Using the above-coordinate transformation, the system (1) is transferred into the following form:

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{1i} = u_{1i} } \hfill \\ {\dot{x}_{2i} = u_{1i} x_{3i} } \hfill \\ {\dot{x}_{3i} = u_{2i} } \hfill \\ \end{array} } \right. $$
(4)

where \( 0 \le i \le n \) , \( u_{i} = [u_{1i} ,u_{2i} ]^{T} \) and \( x_{i} = [x_{1i} ,x_{2i} ,x_{3i} ]^{T} \) are the control input and state of mobile robot i after the coordinate transformation, respectively.

Defining the formation error vector as \( \tilde{x}_{i} { = }\left[ {\tilde{x}_{1i} ,\tilde{x}_{2i} ,\tilde{x}_{3i} } \right]^{T} \), the formation error dynamics can be derived as following:

$$ {\kern 1pt} \left\{ {\begin{array}{*{20}l} {\dot{\tilde{x}}_{1i} = u_{1i} - u_{1 0} } \hfill \\ {\dot{\tilde{x}}_{2i} = u_{10} \tilde{x}_{3i} + x_{3i} (u_{1i} - u_{10} )} \hfill \\ {\dot{\tilde{x}}_{3i} = u_{2i} - u_{20} } \hfill \\ \end{array} } \right. $$
(5)

We divide formation error dynamics (5) into a first-order subsystem (6),

$$ \dot{\tilde{x}}_{1i} = u_{1i} - u_{1 0} $$
(6)

and a second-order subsystem (7)

$$ \left\{ {\begin{array}{*{20}l} {\dot{\tilde{x}}_{2i} = u_{10} \tilde{x}_{3i} + x_{3i} (u_{1i} - u_{10} )} \hfill \\ {\dot{\tilde{x}}_{3i} = u_{2i} - u_{20} } \hfill \\ \end{array} } \right. $$
(7)

Based on the transformation (3), the objective is converted into designing a distributed control laws \( u_{i} = [u_{1i} ,u_{2i} ]^{T} \) to stabilize the closed-loop system (6) and (7) in a finite time.

3.1 Distributed Finite-Time Estimator

In the following, based on sliding mode control method, we construct distributed finite-time estimator for each mobile robot to estimate the virtual leader’s information.

Theorem 1

For mobile robot system (6)–(7), if Assumption 1 and 2 hold, we design the distributed finite-time estimator as follows:

$$ \left\{ {\begin{array}{*{20}l} {\dot{\hat{u}}_{1i} = - k_{1} \left( {\sum\limits_{{j \in N_{i} }} {a_{ij} (\hat{u}_{1i} - \hat{u}_{1j} )} + b_{i} (\hat{u}_{1i} - u_{10} )} \right) - k_{2} {\text{sign}}\left( {\sum\limits_{{j \in N_{i} }} {a_{ij} (\hat{u}_{1i} - \hat{u}_{1j} )} + b_{i} (\hat{u}_{1i} - u_{10} )} \right)} \hfill \\ {\dot{\hat{u}}_{2i} = - k_{1} \left( {\sum\limits_{{j \in N_{i} }} {a_{ij} (\hat{u}_{2i} - \hat{u}_{2j} )} + b_{i} (\hat{u}_{2i} - u_{20} )} \right) - k_{2} {\text{sign}}\left( {\sum\limits_{{j \in N_{i} }} {a_{ij} (\hat{u}_{2i} - \hat{u}_{2j} )} + b_{i} (\hat{u}_{2i} - u_{20} )} \right)} \hfill \\ \end{array} } \right. $$
(8)

where \( i = 1,2 \ldots ,n \), \( k_{1} ,k_{2} > 0 \), \( \hat{u}_{1i} ,\hat{u}_{2i} \) are the estimated information of the leader for the robot i, and then \( \hat{u}_{1i} = u_{10} ,\hat{u}_{2i} = u_{20} \) for \( \forall t > T_{1} \).

Proof

Let \( k_{2} > \kappa \), \( \hat{u}_{1*} = [\hat{u}_{1 1} , \ldots ,\hat{u}_{1n} ]^{T} \), \( \hat{u}_{2*} = [\hat{u}_{2 1} , \ldots ,\hat{u}_{2n} ]^{T} \), \( \bar{u}_{1*} = \hat{u}_{1*} - u_{10} 1_{n} \), \( \bar{u}_{{2*}} = \hat{u}_{{2* }} - u_{20} 1_{n} \), \( N = \text{diag}(L + B,L + B) \), \( \bar{u} = [\bar{u}_{1*} ,\bar{u}_{2*} ]^{T} \), \( f_{0} = [u_{10} 1_{n}^{T} ,u_{20} 1_{n}^{T} ]^{T} \)

From (8), the estimator error can be rewritten in a compact form as

$$ \dot{\bar{u}} = - k_{1} N\bar{u} - k_{2} \text{sign}(N\bar{u}) - \dot{f}_{0} $$
(9)

Choose the Lyapunov candidate function as

$$ V_{1} = \frac{1}{2}\bar{u}^{T} M^{T} \bar{u} $$

The derivative of \( V_{1} \) along system (9) is

$$ \begin{aligned} \dot{V}_{1} & = - k_{1} \bar{u}^{T} N^{T} WN\bar{u} - k_{1} \bar{u}^{T} N^{T} W{\text{sign}}(N\bar{u}) - \bar{u}^{T} N^{T} W\dot{f}_{0} \\ & \quad \le - \lambda_{\hbox{min} } (W)\left( {k_{1} \bar{u}^{T} N^{2} \bar{u} + (k_{2} - \kappa )\left\| {\bar{u}^{T} N} \right\|_{1} } \right) \\ & \quad \le - \lambda_{\hbox{min} } (W)\left( {k_{1} \bar{u}^{T} N^{2} \bar{u} + (k_{2} - \kappa )\left\| {\bar{u}^{T} N} \right\|_{2} } \right) \\ & \quad \le - \lambda_{\hbox{min} } (W)\left( {\frac{{2\lambda_{\hbox{min} } (M)k_{1} V_{1} }}{{\lambda_{\hbox{max} }^{2} (W)}} + \frac{{\sqrt 2 (k_{2} - \kappa )\sqrt {\lambda_{\hbox{min} } (M)} }}{{\lambda_{\hbox{max} } (W)}}\sqrt {V_{1} } } \right) \\ \end{aligned} $$

By calculating the differential inequality, we can get

$$ \sqrt {V_{1} } \le \left( {\sqrt {V_{1} (0)} + \frac{{(k_{2} - \kappa )\lambda_{\hbox{max} }^{{}} (W)}}{{\sqrt {2k_{1} \lambda_{\hbox{min} } (M)} }}} \right)e^{{ - \lambda_{\hbox{min} } (W)\frac{{\lambda_{\hbox{min} } (M)}}{{\lambda_{\hbox{max} }^{2} (W)}}t}} - \frac{{(k_{2} - \kappa )\lambda_{\hbox{max} }^{{}} (W)}}{{\sqrt {2k_{1} \lambda_{\hbox{min} } (M)} }} $$

Since \( k_{2} > \kappa \), we can conclude that \( V_{1} \) reaches zero in finite time, which implies that \( V_{1} = 0 \), \( \forall t \ge T_{1} \), where \( T_{1} = \frac{{\lambda_{\hbox{max} }^{2} (W)}}{{\lambda_{\hbox{min} } (W)\lambda_{\hbox{min} } (M)}}\ln (1 + \frac{{\sqrt {2k_{1} \lambda_{\hbox{min} } (M)V_{1} (0)} }}{{(k_{2} - \kappa )\lambda_{\hbox{max} }^{{}} (W)}}) \). That is to say, \( \hat{u}_{1i} = u_{10} \), \( \hat{u}_{2i} = u_{20} \), \( \forall t \ge T_{1} \), \( i = 1,2 \ldots ,n \). This completes the proof.

Remark 1

From the expression of convergence time \( T_{1} \), the parameter \( k_{2} \) can affect the convergence speed of the system (9). With a larger \( k_{2} \), the convergence speed is faster, but chattering phenomenon of system (9) will be more obvious caused by the discontinuity of \( {\text{sign}}( \cdot ) \) function. So, we need to consider the control precision and convergence speed comprehensively when choosing parameter \( k_{2} \).

3.2 Distributed Finite-Time Formation Control Law

Based on the estimated values for desired state of the virtual leader 0, a finite-time formation controller is designed for each mobile robot.

Theorem 2

Consider mobile robot system (6)–(7), if Assumption 1 and 2 hold, we design finite-time control law as follows:

$$ u_{1i} = \hat{u}_{1i} - {\text{sig}}(\varepsilon_{1i} )^{\alpha } $$
(10)
$$ u_{2i} = \hat{u}_{2i} - \hat{u}_{ 1i} {\text{sig}}(\varepsilon_{2i} )^{{\frac{\alpha }{2 - \alpha }}} - {\text{sig}}(\varepsilon_{3i} )^{\alpha } $$
(11)

where \( i = 1,2 \ldots ,n \), \( 0 < \alpha < 1 \), \( \varepsilon_{1i} = \sum\limits_{{j \in N_{i} }} {a_{ij} (x_{1i} - x_{1j} ) + b_{i} (x_{1i} - x_{10} )} \), \( \varepsilon_{2i} = \sum\limits_{{j \in N_{i} }} {a_{ij} (x_{2i} - x_{2j} ) + b_{i} (x_{2i} - x_{20} )} \), \( \varepsilon_{3i} = \sum\limits_{{j \in N_{i} }} {a_{ij} (x_{3i} - x_{3j} ) + b_{i} (x_{3i} - x_{30} )} \) , then \( x_{1i} = x_{10} \), \( x_{2i} = x_{20} \) and \( x_{3i} = x_{30} \) for \( \forall t > T_{1} + T_{2} + T_{3} \).

Proof

In the following part, we will prove Theorem 2 in two steps. Firstly, we will prove subsystem (6) is not divergent when \( t < T_{1} \), and subsystem (6) is finite-time stability when \( t > T_{1} \). Secondly, we will prove subsystem (7) is not divergent when \( t < T_{1} + T_{2} \), and subsystem (7) is finite-time stability when \( t > T_{1} + T_{2} \).

First, we prove subsystem (6) is not divergent when \( t < T_{1} \), and subsystem (6) is finite-time stability when \( t > T_{1} \).

Let \( x_{1*} = \left[ {x_{11} , \cdots ,x_{1n} } \right]^{T} \), \( \tilde{x}_{1*} = x_{1*} - 1_{n} x_{10} \), \( \varepsilon_{1*} = [\varepsilon_{11} , \ldots ,\varepsilon_{1n} ]^{T} \). Consider the Lyapunov function

$$ V_{2} = \frac{1}{2}\tilde{x}_{{1* }}^{T} \tilde{x}_{{1*}} $$

The derivative of \( V_{2} \) along system (6) is

$$ \dot{V}_{2} = \tilde{x}_{{ 1* }}^{T} \dot{\tilde{x}}_{{ 1* }} = \tilde{x}_{{ 1* }}^{T} (\hat{u}_{{1* }} - u_{10} 1_{n} ) - \tilde{x}_{{ 1* }}^{T} {\text{sig}}(\varepsilon_{{1* }} )^{\alpha } $$

Since \( \hat{u}_{1i} \) converges to zero in finite time \( T_{1} \), \( \hat{u}_{1i} \) will be bounded in any time, i.e., there is a positive constant C 1, such that \( \left\| {\hat{u}_{1*} - u_{10} 1_{n} } \right\|_{2} \le C_{1} \), we have

$$ \dot{V}_{2} \le C_{1} \left\| {\tilde{x}_{ 1 *}^{T} } \right\|_{2} + n^{1 - \alpha } \left\| {\left( {L + B} \right)} \right\|_{F}^{\alpha } \left\| {\tilde{x}_{ 1 *} } \right\|_{2}^{1 + \alpha } $$

When \( \left\| {\tilde{x}_{ 1 *}^{T} } \right\|_{2} \le 1 \), we have

$$ \dot{V}_{2} \le L_{1} $$

where \( L_{1} = n^{1 - \alpha } \left\| {\left( {L + B} \right)} \right\|_{F}^{\alpha } + C_{1} \). However, when \( \left\| {\tilde{x}_{ 1 *}^{T} } \right\|_{2} = \eta_{2} \ge 1 \), we have

$$ \begin{aligned} & \dot{V}_{2} \le C_{1} \eta_{2} + n^{1 - \alpha } \left\| {\left( {L + B} \right)} \right\|_{F}^{\alpha } \eta_{2}^{1 + \alpha } \\ & \quad \le 2C_{1} V_{2} + 2n^{1 - \alpha } \left\| {\left( {L + B} \right)} \right\|_{F}^{\alpha } V_{2} \\ & \quad \le L_{2} V_{2} \\ \end{aligned} $$

where \( L_{2} = 2C_{2} + 2n^{1 - \alpha } \left\| {\left( {L + B} \right)} \right\|_{F}^{\alpha } \). Thus, for any \( \tilde{x}_{{1* }} \), we have \( \dot{V}_{2} \le L_{2} V_{2} + L_{1} \). After some manipulation, we can further get \( V_{2} \le \left( {V_{2} (0) + \frac{{L_{1} }}{{L_{2} }}} \right)e^{{L_{2} t}} - \frac{{L_{1} }}{{L_{2} }} \). Hence, \( \tilde{x}_{{1*}} \) is bounded when \( t < T_{1} \).

From Theorem 1, when \( t \ge T_{1} \), \( \hat{u}_{1i} = u_{10} \), then control law (10) is equivalent to the following:

$$ u_{1i} = u_{10} - {\text{sig}}(\varepsilon_{1i} )^{\alpha } $$

Closed-loop system (6) can be rewritten in a compact form as:

$$ \dot{\tilde{x}}_{{1* }} = - {\text{sig}}(\varepsilon_{{1* }} )^{\alpha } $$
(12)

Choose the Lyapunov candidate function as

$$ V_{3} = \frac{1}{2}x_{{1* }}^{T} (L + B)^{T} {\text{diag}}(w)x_{{1* }} $$

The derivative of \( V_{3} \) along system (11) satisfies

$$ \begin{aligned} \dot{V}_{3} & = - x_{{1* }}^{T} (L + B)^{T} {\text{diag}}(w){\text{sig}}(\varepsilon_{{1* }} )^{\alpha } \\ & \le - \lambda_{\hbox{min} } ({\text{diag}}(w))\left( {\frac{{2\lambda_{\hbox{min} } ({\text{diag}}(w)(L + B))}}{{\lambda_{\hbox{max} }^{2} ({\text{diag}}(w))}}} \right)^{{\frac{1 + \alpha }{2}}} V_{3}^{{\frac{1 + \alpha }{2}}} \\ \end{aligned} $$

where \( \rho_{1} > 0,0 < \frac{1 + \alpha }{2} < 1 \). By Lemma 2, we have \( V_{3} \) will converge to zero in finite time, it can be concluded that \( x_{1i} = x_{10} \), \( \forall t > T_{1} + T_{2} \), \( i = 1,2 \ldots ,n \). where \( T_{2} \le \frac{{2^{{\frac{1 - \alpha }{2}}} \lambda_{\hbox{max} }^{1 + \alpha } ({\text{diag}}(w))V_{3} (0)^{{\frac{1 - \alpha }{2}}} }}{{(1 - \alpha )\lambda_{\hbox{min} } ({\text{diag}}(w))\left( {\lambda_{\hbox{min} } ({\text{diag}}(w)(L + B))} \right)^{{\frac{1 + \alpha }{2}}} }} \).

Next, we will prove subsystem (7) is not divergent when \( t < T_{1} + T_{2} \), and subsystem (7) is finite-time stability when \( t > T_{1} + T_{2} \).

Let \( x_{{ 2* }} = [x_{ 21} , \ldots ,x_{ 2n} ]^{T} \), \( \tilde{x}_{{ 2* }} = x_{{ 2* }} - 1_{n} x_{ 20} \), \( x_{{ 3* }} = [x_{ 31} , \ldots ,x_{ 3n} ]^{T} \), \( \tilde{x}_{{ 3* }} = x_{{ 3* }} - 1_{n} x_{ 30} \). Consider the Lyapunov function

$$ V_{4} = \frac{1}{2}\tilde{x}_{{2* }}^{T} \tilde{x}_{{2* }} + \frac{1}{2}\tilde{x}_{{3* }}^{T} \tilde{x}_{{3* }} $$

The derivative of \( V_{4} \) along system (7) is

$$ \begin{aligned} \dot{V}_{4} & = \tilde{x}_{{2* }}^{T} \dot{\tilde{x}}_{{2* }} + \tilde{x}_{{3* }}^{T} \dot{\tilde{x}}_{{3* }} \\ & = u_{10} \tilde{x}_{{2* }}^{T} \tilde{x}_{{3* }} + \tilde{x}_{{2* }}^{T} \tilde{u}_{{1* }} \tilde{x}_{{3* }} { + }\tilde{x}_{{2* }}^{T} \tilde{u}_{{1* }} x_{30} { + }\tilde{x}_{{3* }}^{T} \left( {\hat{u}_{{2* }} - u_{20} 1_{n} - \hat{u}_{{1* }} {\text{sig}}(\varepsilon_{{2* }} )^{{\frac{\alpha }{2 - \alpha }}} - {\text{sig}}(\varepsilon_{{3* }} )^{\alpha } } \right) \\ \end{aligned} $$

Since \( u_{1i} ,\hat{u}_{1i} \) converge to \( u_{10} \) and \( \hat{u}_{2i} \) converges to \( u_{20} \) in finite time \( T_{1} + T_{2} \), \( u_{1i} ,\hat{u}_{1i} \) and \( \hat{u}_{2i} \) will be bounded in any time, i.e., there is a positive constant C 2, such that \( \left\| {\hat{u}_{{1*}} - u_{10} 1_{n} } \right\|_{2} \le C_{2} \), \( \left\| {\tilde{u}_{{1* }} } \right\|_{F} \le C_{2} \), \( \left\| {\hat{u}_{{1* }} } \right\|_{F} \le C_{2} \), \( \left\| {\hat{u}_{{2* }} - u_{20} 1_{n} } \right\|_{2} \le C_{2} \).

$$ \begin{aligned} & \dot{V}_{4} \le C_{2} \left\| {\tilde{x}_{{2* }}^{T} } \right\|_{2} \left\| {\tilde{x}_{{3* }} } \right\|_{2} + C_{2} \left\| {\tilde{x}_{{2* }}^{T} } \right\|_{2} \left\| {\tilde{x}_{{3* }} } \right\|_{2} { + }C_{2}^{2} \left\| {\tilde{x}_{{2* }}^{T} } \right\|_{2} { + }C_{2} \left\| {\tilde{x}_{{3* }}^{T} } \right\|_{2} \\ & \quad + C_{2} n^{{\frac{2 - 2\alpha }{2 - \alpha }}} \left\| {\left( {L + B} \right)} \right\|_{F}^{{\frac{\alpha }{2 - \alpha }}} \left\| {\tilde{x}_{{3* }} } \right\|_{2} \left\| {x_{{2* }} } \right\|_{2}^{{\frac{\alpha }{2 - \alpha }}} + n^{1 - \alpha } \left\| {\left( {L + B} \right)} \right\|_{F}^{\alpha } \left\| {\tilde{x}_{{3* }} } \right\|_{2}^{1 + \alpha } \\ \end{aligned} $$

When \( \left\| {\left( {\tilde{x}_{{2* }}^{T} ,\tilde{x}_{{3* }}^{T} } \right)^{T} } \right\|_{2} \le 1 \), we have

$$ \dot{V}_{4} \le L_{3} $$

where \( L_{3} = n^{1 - \alpha } \left\| {\left( {L + B} \right)} \right\|_{F}^{\alpha } + 3C_{2} { + }C_{2}^{2} + C_{2} n^{{\frac{2 - 2\alpha }{2 - \alpha }}} \left\| {\left( {L + B} \right)} \right\|_{F}^{{\frac{\alpha }{2 - \alpha }}} \). However, when \( \left\| {\left( {\tilde{x}_{{2* }}^{T} ,\tilde{x}_{{3* }}^{T} } \right)^{T} } \right\|_{2} = \eta_{2} \ge 1 \), we have

$$ \begin{aligned} & \dot{V}_{4} \le C_{2} \eta_{2}^{2} + C_{2} \eta_{2}^{2} { + }C_{2}^{2} \eta_{2} {\kern 1pt} { + }C_{2} \eta_{2} + C_{2} n^{{\frac{2 - 2\alpha }{2 - \alpha }}} \left\| {(L + B)} \right\|_{F}^{{\frac{\alpha }{2 - \alpha }}} \eta_{2}^{{\frac{2}{2 - \alpha }}} + n^{1 - \alpha } \left\| {(L + B)} \right\|_{F}^{\alpha } \eta_{2}^{1 + \alpha } \\ & \quad \le 6C_{2} V_{4} + 2n^{1 - \alpha } \left\| {(L + B)} \right\|_{F}^{\alpha } V_{4} { + 2}C_{2}^{2} V_{4} + 2C_{2} n^{{\frac{2 - 2\alpha }{2 - \alpha }}} \left\| {(L + B)} \right\|_{F}^{{\frac{\alpha }{2 - \alpha }}} V_{4} \\ & \quad \le L_{4} V_{4} \\ \end{aligned} $$

where \( L_{4} = 6{\text{C}}_{2} + 2n^{1 - \alpha } \left\| {\left( {L + B} \right)} \right\|_{F}^{\alpha } {\text{ + 2C}}_{2}^{2} + 2{\text{C}}_{2} n^{{\frac{2 - 2\alpha }{2 - \alpha }}} \left\| {\left( {L + B} \right)} \right\|_{F}^{{\frac{\alpha }{2 - \alpha }}} \). Thus, for any \( \tilde{x}_{{2* }} \) and \( \tilde{x}_{{3* }} \), we have \( \dot{V}_{4} \le L_{4} V_{4} + L_{3} \). After some manipulation, we can further get \( V_{4} \le (V_{4} (0) + \frac{{L_{4} }}{{L_{3} }})e^{{L_{4} t}} - \frac{{L_{4} }}{{L_{3} }} \). Hence, \( \tilde{x}_{{2* }} ,\tilde{x}_{{3* }} \) is bounded when \( t < T_{1} + T_{2} \).

When \( t \ge T_{1} { + }T_{ 2} \), \( \hat{u}_{1i} = u_{10} \), \( \hat{u}_{2i} = u_{20} \), \( u_{1i} = u_{10} \), then control law (11) becomes

$$ u_{2i} = u_{20} - u_{10} {\text{sig}}(\varepsilon_{2i} )^{{\frac{\alpha }{2 - \alpha }}} - {\text{sig}}(\varepsilon_{3i} )^{\alpha } $$

Closed-loop system (7) can be obtained as

$$ \left\{ {\begin{array}{*{20}l} {\dot{\varepsilon }_{{2* }} = u_{10} \varepsilon_{{3* }} } \hfill \\ {\dot{\varepsilon }_{{3* }} = - (L + B){\text{sig}}(\varepsilon_{{3* }} )^{\alpha } - u_{10} (L + B){\text{sig}}(\varepsilon_{{2* }} )^{{\frac{\alpha }{2 - \alpha }}} } \hfill \\ \end{array} } \right. $$
(13)

Choose the Lyapunov candidate function as

$$ V_{5} = \frac{1}{2}\varepsilon_{{3* }}^{T} ((L + B){\text{diag}}(w))^{ - 1} \varepsilon_{{3* }} + \frac{2 - \alpha }{2}\left( {\left| {\varepsilon_{{2* }}^{{^{{\frac{1}{2 - \alpha }}} }} } \right|} \right)^{T} ({\text{diag}}(w))^{ - 1} \left( {\left| {\varepsilon_{{2* }}^{{^{{\frac{1}{2 - \alpha }}} }} } \right|} \right) $$

Let \( f(\varepsilon_{3*} ){\kern 1pt} = - \varepsilon_{3*}^{T} ({\text{diag}}(w))^{ - 1} {\text{sig}}\left( {\varepsilon_{3*} } \right)^{\alpha } \). For any \( k > 0 \), we obtain

$$ V_{5} \left( {k^{2 - \alpha } \varepsilon_{{2* }} ,k\varepsilon_{{3* }} } \right) = k^{2} V_{5} \left( {\varepsilon_{{2* }} ,\varepsilon_{{3* }} } \right) $$
(14)

and

$$ f\left( {k\varepsilon_{{3* }} } \right) = k^{1 + \alpha } f\left( {\varepsilon_{{3* }} } \right) $$
(15)

When \( V_{5} \left( {\varepsilon_{{2* }} ,\varepsilon_{{3* }} } \right) > 0 \), let \( k = \left( {V_{5} (\varepsilon_{{2* }} ,\varepsilon_{{3* }} )} \right)^{{ - \frac{1}{2}}} \) in (15), we can get

$$ \begin{aligned} \frac{{f(\varepsilon_{{3* }} )}}{{\left( {V_{5} (\varepsilon_{{2* }} ,\varepsilon_{{3* }} )} \right)^{{\frac{1 + \alpha }{2}}} }} & = f\left( {\left( {V_{5} (\varepsilon_{{2* }} ,\varepsilon_{{3* }} )} \right)^{{ - \frac{1}{2}}} \varepsilon_{{3* }} } \right) \\ & \quad \le \hbox{max} f\left( {\left( {V_{5} (\varepsilon_{{2* }} ,\varepsilon_{{3* }} )} \right)^{{ - \frac{1}{2}}} \varepsilon_{{3* }} } \right) \\ & = - c \\ \end{aligned} $$

where \( c \ge 0 \). Since \( \{ (\varepsilon_{2*}^{T} ,\varepsilon_{3*}^{T} )^{T} :c = 0\} = \{ (0^{T} ,0^{T} )^{T} \} \), we have \( V_{5} \left( {\varepsilon_{2*}, \varepsilon_{3*} } \right) = 0 \). Conflict with prerequisite condition \( V_{5} \left( {\varepsilon_{2*} ,\varepsilon_{3*} } \right) > 0 \). So, it is easy to obtain that \( c > 0 \). Then, we obtain \( f\left( {\varepsilon_{3*} } \right){\kern 1pt} \le - c\left( {V_{5} \left( {\varepsilon_{2*} ,\varepsilon_{3*} } \right)} \right)^{{\frac{1 + \alpha }{2}}} \) with \( \alpha \in (0,1) \). Second, we will prove that when \( V_{5} \left( {\varepsilon_{2*} ,\varepsilon_{3*} } \right) = 0 \), we have \( (\varepsilon_{2*}^{T} ,\varepsilon_{3*}^{T} )^{T} = (0^{T} ,0^{T} )^{T} \). Then it can be obtained that \( f\left( {\varepsilon_{3*} } \right){\kern 1pt} \le - c\left( {V_{5} \left( {\varepsilon_{2*} ,\varepsilon_{3*} } \right)} \right)^{{\frac{1 + \alpha }{2}}} \).

Moreover, the derivative of \( V_{5} \) along system (13) is

$$ \begin{aligned} \dot{V}_{5} & = \varepsilon_{3*}^{T} ((L + B){\text{diag}}(w))^{ - 1} \dot{\varepsilon }_{3*} + \left( {\left| {\varepsilon_{2*}^{{^{{\frac{1}{2 - \alpha }}} }} } \right|} \right)^{T} ({\text{diag}}(w))^{ - 1} ({\text{sig}}(\varepsilon_{2*} )^{{\frac{\alpha - 1}{2 - \alpha }}} \odot \dot{\varepsilon }_{2*} ) \\ & = - \varepsilon_{3*}^{T} ({\text{diag}}(w))^{ - 1} {\text{sig}}(\varepsilon_{3*} )^{\alpha } - u_{10} \varepsilon_{3*}^{T} ({\text{diag}}(w))^{ - 1} {\text{sig}}(\varepsilon_{2*} )^{{\frac{\alpha }{2 - \alpha }}} \\ & \quad + u_{10} \left( {{\text{sig}}(\varepsilon_{2*} )^{{\frac{\alpha }{2 - \alpha }}} } \right)^{T} ({\text{diag}}(w))^{ - 1} \varepsilon_{3*} \\ & = - \varepsilon_{3*}^{T} ({\text{diag}}(w))^{ - 1} {\text{sig}}(\varepsilon_{3*} )^{\alpha } \le 0 \\ \end{aligned} $$

Hence, \( \dot{V}_{5} \left( {\varepsilon_{{2* }} ,\varepsilon_{{3* }} } \right) = f\left( {\varepsilon_{{3* }} } \right){\kern 1pt} \le - c\left( {V_{5} \left( {\varepsilon_{2*} ,\varepsilon_{3*} } \right)} \right)^{{\frac{1 + \alpha }{2}}} \). By lemma 2, we have \( V_{5} \) will converge to 0 in finite time \( T_{3} \), it can be concluded that \( x_{2i} = x_{20} \), \( x_{3i} = x_{30} \), \( \forall t > T_{1} + T_{2} + T_{3} \), \( i = 1,2 \ldots ,n \), where \( T_{3} = \frac{2}{c(1 - \alpha )}\left( {V_{5} \left( {\varepsilon_{{2* }} (0),\varepsilon_{{3* }} (0)} \right)} \right)^{{\frac{1 - \alpha }{2}}} \). This completes the proof.

Hence, by Theorems 1 and 2 we conclude that nonholonomic mobile robot system (1) is finite-time stability under distributed control laws (10) and (11). Thus, the formation control problem is solvable in finite time \( T = T_{1} + T_{2} + T_{3} \).

Remark 2

\( \left| {\dot{u}_{10} } \right| \le \kappa \), \( \left| {\dot{u}_{20} } \right| \le \kappa \), it means the line velocity and angular velocity of virtual leader not only can be constants, but also can be time-varying functions. So, the control algorithm proposed in this paper can guarantee the group of mobile robots moves along with the desired trajectory generated by a virtual leader whose line velocity and angular velocity are varying.

4 Simulation Results

In this section, some simulation results are presented to illustrate the effectiveness of the proposed theoretical results.

We consider mobile robots system (1) with \( n = 6 \), the information exchange topology among mobile robots is shown in Fig. 1, define \( {\text{diag}}(w) = {\text{diag}}(3,1,2,1,1,3) \). Obviously, \( {\text{diag}}(w)(L + B) \) is positive definite. Hence Assumption 2 holds.

Fig. 1
figure 1

The desired formation pattern and the information exchange among mobile robots

Example 1

The desired trajectory is generated by system (1) with \( v_{0} = 5 \) m/s, \( \omega_{0} = 0.5 \) rad/s. The initial state of the virtual leader 0 is \( [x_{0} (0),y_{0} (0),\theta_{0} (0)]^{T} = \) \( [0, - 10,0]^{T} \). The desired formation pattern F is \( (p_{1x} ,p_{1y} ) = ( - 1,\sqrt 3 ) \), \( (p_{2x} ,p_{2y} ) = (1,\sqrt 3 ) \), \( (p_{3x} ,p_{3y} ) = (2,0) \), \( (p_{4x} ,p_{4y} ) = (1, - \sqrt 3 ) \), \( (p_{5x} ,p_{5y} ) = \) \( ( - 1, - \sqrt 3 ) \) and \( (p_{6x} ,p_{6y} ) = \) \( ( - 2,0) \). According to the procedure detailed in the proof of Theorem 1, estimator gain can be calculated. So, the gain parameters for each mobile robot are chosen as \( k_{1} = 3 \), \( k_{2} = 0.5 \), \( \alpha = 0. 8 \). The response curves of each mobile robot system (1) under control laws (10) and (11) are given in Fig. 2, 3 and 4. It is shown from Fig. 2 that the formation pattern of six robots is converge to the desired formation and the centroid of formation converges to the desired trajectory. Figure 3 shows that the angular velocity \( \omega_{i} \) and velocity \( v_{i} \) of six mobile robots converge to angular velocity \( \omega_{0} \) and line velocity \( v_{0} \) of the virtual leader. Position errors and heading errors are presented in Fig. 4, from which it is easy to see that after a few seconds the position error and heading error converge to \( (p_{ix} ,p_{iy} ) \) and 0, respectively.

Fig. 2
figure 2

Formation pattern of six robots at some time, the desired trajectory and the trajectory of centroid formation

Fig. 3
figure 3

Line velocity and angular velocity of six robot

Fig. 4
figure 4

Position errors and heading errors of six robots

Example 2

The desired trajectory is generated by system (1) with \( \omega_{0} = 1 \) rad/s, \( v_{0} = 3\sin \;t\cos \;t \) m/s. The initial state of the leader 0 is \( [x_{0} (0),y_{0} (0),\theta_{0} (0)]^{T} = [1,0,0]^{T} \). The desired formation pattern F is \( (p_{1x} ,p_{1y} ) = \frac{1}{5\sqrt 3 }( - 1,\sqrt 3 ) \), \( (p_{2x} ,p_{2y} ) = \) \( \frac{1}{5\sqrt 3 }(1,\sqrt 3 ) \), \( (p_{3x} ,p_{3y} ) = \frac{1}{5\sqrt 3 }(2,0) \), \( (p_{4x} ,p_{4y} ) = \frac{1}{5\sqrt 3 }(1, - \sqrt 3 ) \), \( (p_{5x} ,p_{5y} ) = \) \( \frac{1}{5\sqrt 3 }( - 1, - \sqrt 3 ) \) and \( (p_{6x} ,p_{6y} ) = \frac{1}{5\sqrt 3 }( - 2,0) \). Following the procedure detailed in the proof of Theorem 1, the estimator gain can be calculated. So, the gain parameter for each robot are chosen as \( k_{1} = 1,k_{2} = 9,\alpha = 0.6 \). The response curves of each mobile robot system (1) under control laws (10) and (11) are given in Figs. 5, 6 and 7, form which it is easy to see that six mobile robots achieve desired formation pattern, the trajectory of centroid formation pattern converges to desired trajectory, and the angular velocity \( \omega_{i} \) and velocity \( v_{i} \) of six mobile robots converge to \( \omega_{0} \), \( v_{0} \).

Fig. 5
figure 5

Formation pattern of six robots at some time, the desired trajectory and the trajectory of centroid of formation

Fig. 6
figure 6

Line velocity and angular velocity of six robots

Fig. 7
figure 7

Position error and heading error of six robots

5 Conclusion

In this paper, the distributed finite-time formation control problem for multiple nonholonomic mobile robots has been studied. And a distributed finite-time estimator and a distributed finite-time formation controller are proposed to solve it. The simulation results show the feasibility of the proposed algorithm. However, the communication topology is connected and balanced-detail and the communication delay is not considered. So, the future work will focus on studying the unified controller to overcome these constraints.