1. Introduction
Numerous researches in the area of formation control of multiple robots have been published in recent years. The importance of such cooperating systems arises from their several applications in mobile robots, unmanned aerial vehicles, autonomous underwater vehicles, aircraft, and satellites [Reference Lewis and Tan1]. Many interesting missions and tasks can be performed by using multiple mobile robots, such as exploration, surveillance, cooperative search, mapping of different environments, distributed manipulation, and moving large objects [Reference Das, Fierro, Kumar, Ostrowski, Spletzer and Taylor2]. In such missions, a group of robots may have several advantages over a single robot, including improving stability, flexibility, and reliability of the system [Reference Yamchi and Esfanjani3], saving time, and low cost.
There are several methods to categorize formation control. According to [Reference Oh, Park and Ahn4], formation control can be categorized, in terms of sensing capability, into position-, displacement-, and distance-based control. Furthermore, the classic strategies to control cooperative robotic systems can be divided into three main methods which include leader-follower, virtual structure, and behavior-based [Reference Chen and Ren5]. In this section, an overview of the related works using these approaches will be briefly presented.
The first approach is the leader-follower formation control [Reference Das, Fierro, Kumar, Ostrowski, Spletzer and Taylor2, Reference Zhao, Park, Moon and Lee6], where a leader robot is chosen to be provided with the appropriate sensors and path plans for the team. All other robots are controlled to follow the leader; more details on the leader-follower approach can be found on the survey paper [Reference Chung, Paranjape, Dames, Shen and Kumar7]. The main advantages of the leader-follower method are that it is simple and easy to implement. However, one drawback is that this method does not use any feedback from the followers to the leaders. Therefore, if one of the followers suffers from disturbance, the formation will not be kept. Another disadvantage is that the formation cannot be maintained in case of a leader’s failure. An algorithm is presented in [Reference Desai, Kumar and Ostrowski8] which enables a group of robots to change their formation while avoiding obstacles. An integrator backstepping-based controller through a new kinematic model for the leader-follower system using Cartesian coordinates instead of the generally used polar coordinates was presented in [Reference Li, Xiao and Cai9]. In [Reference Shi-Cai, Da-Long and Guang-Jun10], a robust leader-follower formation controller composed of a feedback linearization controller and a sliding mode compensator was presented. In [Reference Jin, Ramirez, Wee, Lee, Kim and Gans11], a decentralized switched system approach for the formation control of a multi-robot system was proposed. In addition, a collision avoidance controller was designed to avoid collision of the robots with each other or other obstacles during the motion. A combination of genetic algorithm and particle swarm optimization was applied to a multiple wheeled mobile robots (WMR) system in [Reference Kamel, Yu and Zhang12] to accomplish a fault-tolerant leader-follower formation control task. In [Reference Miao, Liu, Wang, Yi and Fierro13], a distributed formation control based on distributed estimation of the leader’s states by each follower was presented. Based on bearing-only observation and Kalman filter estimation, a leader-follower formation control was presented in [Reference Han, Sun and Lang14]. Recently, a distributed proportional-integral data-driven iterative learning control algorithm with velocity constraint for multiple nonholonomic WMRs formation problems has been proposed in [Reference Hou, Cui, Bu and Yang15]. In the previous work, leader-follower strategy and graph theory were designed based on the kinematics and the dynamics of the WMR.
The second method of formation control is the virtual structure which can be found in [Reference Abbaspour, Moosavian and Alipour16, Reference Rezaee and Abdollahi17]. This strategy of control first was suggested by [Reference Lewis and Tan1]. The basic concept of the virtual structure is based on the idea of a virtual rigid body which can be described by its center of mass. Each robot of the formation is located in a specific position on the virtual rigid body [Reference Young, Beard and Kelsey18]. One of the main advantages of the virtual structure approach is that it is easy to describe the formation. However, once one of the robot member experiences disturbance, there is a high chance of formation breaking. In [Reference Varghese and McKee19], two pattern transformation methods were proposed to maintain the formation of a swarm of robots. A new control algorithm that achieves the objective of trajectory tracking and formation maintenance via a combination of feedback linearization and PD controller was proposed in [Reference Abbaspour, Moosavian and Alipour20].
Behavior-based formation control is the third method [Reference Monteiro and Bicho21, Reference Antonelli, Arrichiello and Chiaverini22]. Using this approach, simple behaviors first are designed for every single robot such as formation maintenance, trajectory tracking, obstacle avoidance, and goal-seeking. Then, the relative importance of these behaviors is determined to generate more complex motion patterns. Although the behavior-based approach is suitable for large groups of agents, the mathematical analysis is difficult because of the complexity of the dynamics of a multi-robot system. Hence, the convergence of the multi-robot system to the desired formation is difficult to guarantee. In [Reference Balch and Arkin23, Reference Balch and Hybinette24], an overall behavior for a single robot to navigate towards the goal, at the same time, avoiding static obstacles and other moving robots and maintaining the formation of the group was proposed. Furthermore, in [Reference Balch and Hybinette24] a new class of potential functions was presented to allow each robot to organize itself and take its location in the geometric formation while moving to the goal in an obstacle field.
A robust formation control algorithm was proposed in [Reference Lee and Chwa25] using a combined structure of leader-follower and behavior-based formation control. The formation is guaranteed by keeping the distance and angle between each robot and its leader approximately constant. This algorithm uses only the relative positions between neighboring robots and obstacles. In [Reference Monteiro and Bicho21], nonlinear attractor dynamics and behavior generating were used to design controllers to allow the team of robots to move considering a predefined formation.
Model predictive control (MPC) is a modern control algorithm that has succeeded in WMRs in general and formation control, in particular, because it can solve the control problem considering constraints on control, states, and output variables [Reference El-Ferik, Siddiqui and Lewis26]. In [Reference Ettefagh, Naraghi, Towhidkhah and Izi27], Laguerre-based MPC was proposed for the trajectory tracking problem of a single WMR. In [Reference Kassaeiyan, Tarvirdizadeh and Alipour28], linear MPC (LMPC) and non-linear MPC (NMPC) techniques were utilized to control a tractor-trailer WMR system using the kinematic model of the system. In [Reference Kamel and Zhang29], a control law containing a combination of linear MPC and input-output linearization was proposed to achieve the formation task for a group of robots. However, the controller design employed the linearized kinematic model. A new distributed robust linear MPC system was presented in [Reference Kuwata, Richards, Schouwenaars and How30] in order to control a multivehicle. A distributed receding horizon control of a platoon of vehicles with nonlinear discrete-time dynamics was presented in [Reference Dunbar and Caveney31, Reference Franco, Magni, Parisini, Polycarpou and Raimondo32]. An embedded MPC system design for a group of micro aerial vehicles can be found in [Reference Baca, Loianno and Saska33]. The control system used a long prediction horizon to decrease position error and increase stability.
In this paper, the problem of trajectory tracking for a system of multiple WMRs while maintaining the desired formation and avoiding obstacles is discussed. The virtual structure formation control strategy is employed in order to guarantee the formation. Two levels are considered to solve this problem, the path planning level and controller design level. At the path planning level, the reference path of the virtual center (VC) of the formation is generated using the artificial potential field (APF) method which guarantees obstacle avoidance as well. Trajectory tracking and formation control are achieved using a novel control algorithm that seeks two goals. The first goal enables each robot to track its desired trajectory, while the other goal is responsible for generating the desired formation. One of the main advantages of virtual structure-based methods is that they can easily describe the formation, and once one of the members of the team cannot follow its desired trajectory, the loss of formation is notified immediately. However, as mentioned in [Reference Abbaspour, Moosavian and Alipour20], one of the problems of virtual structure-based methods is that when one of the robot members is subject to a considerable disturbance, there is a high chance of formation breaking. As a result, in the current study, we suggest an MPC-based technique that not only considers the trajectory which should be followed by each robot but also explicitly considers the formation error in the controller design. Consequently, as shown later, when one of the robots is confronted with a disturbance for a specified time interval, the formation is still kept. Consequently, by using the suggested method, one of the main issues of the virtual structure-based method is resolved. In addition to this, as illustrated later, in contrast to the previous research [Reference Abbaspour, Moosavian and Alipour20], the presented method can handle the control and state inequality constraints explicitly at the level of controller design. Finally, in the current paper, for the first time, the performance of three MPC-based methods, that is, traditional linear MPC, nonlinear MPC, and Laguerre MPC, for formation control of a team of nonholonomic WMRs is compared via various computer simulations. Consequently, the contributions presented in this paper are threefold:
-
- The performance of three MPC-based algorithms and [Reference Abbaspour, Moosavian and Alipour20] for formation control of nonholonomic WMRs is compared.
-
- The controller is designed considering the system dynamics, actuator saturation limits, and state inequality constraints.
-
- Based on a combination of MPC and virtual structure approaches, a formation controller is proposed that not only the trajectory tracking for each robot member is realized but also the formation is kept while some members of the robotic team are subject to severe environmental disturbance.
The paper is organized as follows. Section 2 defines both the kinematic and dynamic model for a single differential drive mobile robot. The path planning problem is considered in section 3. The control strategy and controller design are discussed in section 4. Section 5 discusses the performance evaluation criteria. Finally, the simulation results and the conclusion are reported in sections 6 and 7,respectively.
2. Wheeled Mobile Robot Modeling
In this section kinematic and dynamic equations of a single differential drive mobile robot will be presented. Assume that the WMR has two active wheels mounted on one axis and a front passive wheel. The vehicle configuration is described by three generalized coordinates: the Cartesian coordinates
$\left( {{x_c},{y_c}} \right)$
of the center of mass measured in the fixed reference frame and the angle
$\;\theta $
characterizing the orientation of the platform with respect to the axis X, see Fig. 1. The configuration vector is, therefore,
$\boldsymbol{q}\; = \;{\left[ {{x_c},{y_c},\theta } \right]^T}$
.
The kinematic model of a single differential drive mobile robot.

2.1 Kinematics model
Assume that the robot can only move along the vehicle longitudinal axis and the wheels roll without slipping in the horizontal plane. By considering these assumptions, the robot will have a kinematic constraint called a nonholonomic constraint. Assume that the center of mass of the mobile robot is at some position
$\left( {{x_c},{y_c}} \right)$
and orientation
$\varphi $
which can be expressed as a state vector
$\boldsymbol{q}(t) = {\left[ {\begin{array}{*{20}{c}}{{x_C}(t)}\quad {}{{y_C}(t)}\quad {}{\varphi (t)}\end{array}} \right]^T}$
. The pure rolling and non-slipping constraint can be expressed in the Pfaffian form as [Reference Siciliano and Khatib34]:
where
${\dot x_c}\;and\;{\dot y_c}$
are the robot velocity components in the Cartesian plane,
$\dot \varphi $
is the angular velocity, and d is the distance between A (the midpoint of the segment joining the centers of the two wheels) and c (the center of mass of the robot), see Fig. 2.
Single robot specification.

The above equation can be written in the matrix form
where
${{\textbf{A}}}({{\textbf{q}}}) = \left[ {sin}\varphi, {-cos}\varphi, {d} \right]$
, and
${\dot{\textbf{q}}} = {\left[ {{{\dot x}_c},{{\dot y}_c},\dot \varphi } \right]^T}$
denotes the velocities vector. Therefore, the kinematic model of the system can be written as the following
where
${{\textbf{v}}} = {\left[ {{{{{\dot{\unicode[Times]{x03B8}} }}}_{\textrm{r}}},{{{{\dot{\unicode[Times]{x03B8}} }}}_{\textrm{l}}}} \right]^{\textrm{T}}}{\textrm{and}}{{{\dot{\unicode[Times]{x03B8}} }}_{\textrm{r}}},{{{\dot{\unicode[Times]{x03B8}} }}_{\textrm{l}}}$
are the velocities of the right and the left wheels, respectively.
To derive the matrix
${{\textbf{S}}}({{\textbf{q}}})$
, the position of the center of mass can be written with respect to point A as follows
\begin{align}{y_c}(t) &= {y_a} + d{\textrm{sin}\varphi} \nonumber\\[6pt] \varphi (t) &= \varphi (t)\end{align}
Differentiating Eq. 4 with respect to time yields
\begin{align}\begin{array}{*{20}{c}}{{{\dot x}_c}(t) = v\textrm{cos}\varphi - d\omega \textrm{sin}\varphi }\\{{{\dot y}_c}(t) = v\textrm{sin}\varphi + d\omega \textrm{cos}\varphi }\\\, \, {\dot \varphi (t) = \omega \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \;\;\;\;\;}\end{array}\end{align}
where
$v$
and
$\omega $
are the linear and the angular velocities of the vehicle, respectively. Since the linear velocity of each wheel of the robot in the robot frame
$\left( {{{\textrm{X}}_p},\;{{\textrm{Y}}_p}} \right)$
is
${v_{r,l}} = r{\dot \theta _{r,l}}$
, then the linear and the angular velocities of the vehicle in the robot frame can be obtained as
where r is the radius of the driving wheel,
${\dot \theta _r},\;{\dot \theta _l}$
are the angular velocities of the right and left wheels, respectively, and b is half the distance between the two wheels centers.
By substituting Eq. 6 and Eq. 7 in Eq. 5, the kinematic model of the WMR in Eq. 3 can be derived by the following
\begin{align}{\dot{\textbf{q}}}(t) = \left[ \begin{array}{c@{\quad}c} \dfrac{r}{2b}\left( {b{\textrm{cos}}\varphi\,-\,d{\textrm{sin}}\varphi } \right) & {}\dfrac{r}{2b}\left( {b{\textrm{cos}}\varphi\,+\,d{\textrm{sin}}\varphi } \right) \\[9pt] \dfrac{r}{2b}\left( {b{\textrm{sin}}\varphi\,+\,d{\textrm{cos}}\varphi } \right) & {}\dfrac{r}{2b}(b{\textrm{sin}}\varphi\,-\,d{\textrm{cos}}\varphi) \\ \dfrac{r}{2b} & {}{ - \dfrac{r}{2b}}\end{array} \right]\left[ \begin{array}{c} {{{\dot \theta }_r}} \\[4pt] {{{\dot \theta }_l}} \end{array} \right]\end{align}
2.2 Dynamics model
In the following, the Lagrange formulation is used to obtain the dynamic model of the WMR system subject to the kinematic constraint in Eq. 2. The Lagrangian
$\mathcal{L}$
of a mechanical system is defined as the difference between its kinetic and potential energy
where
$T$
and
$U$
are the kinetic energy and the potential energy of the system, respectively. The Lagrange equations, in this case, are
where
${{\textbf{B}}}({{\textbf{q}}})$
is the input transformation matrix,
${{\boldsymbol\tau }} = \left[ {{\tau _r}{\tau _l}} \right]$
represents the actuating torques of the right and left wheels, and
${{\boldsymbol\lambda }}$
is a vector of Lagrangian multipliers. The term
${{\textbf{A}}}{({{\textbf{q}}})^T}{{\boldsymbol\lambda }}$
represents the vector of reaction forces at the generalized coordinate level.
The kinetic energy of the system can be written as
where
where m is the total mass of the robot,
${m_p}$
is the mass of the platform without the driven wheels and actuators,
${m_w}$
is the mass of the wheels and their actuators, and
${I_{zp}}\;and\;{I_{zw}}$
are the moments of inertia of the wheels and the platform, respectively.
Since the potential energy of the system is equal to zero, hence the Lagrangian function is equal to the kinetic energy that is,
$\mathcal{L}\left( {q,\dot q} \right) = T\left( {q,\dot q} \right)$
.
By substituting the kinetic energy in Eq. 11 into Eq. 10, we obtain the equation of motion of the WMR
where
${C_1},\;\;{C_{2,}}\;and\;{C_3}$
are coefficients related to the kinetic constraints. Eq. 12 can be written in the matrix form
where
\begin{align*}{{\textbf{M}}}({{\textbf{q}}}) = \left[ {\begin{array}{*{20}{c@{\quad}c@{\quad}c}}m & 0 & 0 \\ 0 & m & 0 \\ 0 & 0 & I\end{array}} \right]\end{align*}
\begin{align*}{{\textbf{C}}}({{{\textbf{q}}},{\dot{\textbf{q}}}}) = \left[ {\begin{array}{*{20}{c}}0\\0\\0\end{array}} \right]\end{align*}
\begin{align*}{{\textbf{B}}}({{\textbf{q}}}) = \left[ \begin{array}{c@{\quad}c} \!\!{{\textrm{cos}}\varphi } & {{\textrm{cos}}\varphi }\!\\ \!{sin}\varphi & {sin}\varphi \!\\ \!L & { -L}\end{array}\!\! \right]\end{align*}
\begin{align*}{{{\textbf{A}}}^T}({{\textbf{q}}}){{\boldsymbol\lambda }} = \left[ {\begin{array}{*{20}{c}}{{C_1}}\\{{C_2}}\\{{C_3}}\end{array}} \right]\end{align*}
It can be proven that the columns of
${{\textbf{S}}}({{\textbf{q}}})$
are the basis for the null space of
${{\textbf{A}}}({{\textbf{q}}})$
, so that
${{{\textbf{S}}}^T}({{\textbf{q}}}){{{\textbf{A}}}^T}({{\textbf{q}}}) = 0$
. Moreover, the Lagrange multiplier can be eliminated by pre-multiplying both sides of Eq. 13 by
${{{\textbf{S}}}^T}({{\textbf{q}}})$
. The reduced dynamic model is expressed as
where
By considering a new state variable
\begin{align}{{\textbf{x}}} = \left[ {\begin{array}{*{20}{c}}x\\[3pt]y\\[3pt] \varphi \\[3pt] {\begin{array}{*{20}{c}}{{{\dot \theta }_R}}\\[4pt] {{{\dot \theta }_L}}\end{array}}\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}\textbf{q}\\ \textbf{v}\end{array}} \right]\end{align}
the equation of motion in the state-space form can be represented as follows
where
3. Path Planning
3.1. Formation problem
Assume that the formation contains
$n$
identical nonholonomic WMRs, and the configuration vector of the desired VC of the group is
${{{\textbf{q}}}_{vc}} = {\left[ {{x_{vc}},{y_{vc}},{\varphi _{vc}}} \right]^T}$
. By the assumption that the VC acts like a real robot, its kinematic model is presented as follows
\begin{align}{\dot y_{vc}}(t) &= {v_{vc}}{\textrm{sin}}{\varphi _{vc}} \nonumber \\[6pt] {\dot{\varphi}_{vc}}(t) &= {\omega _{vc}}\end{align}
where
${v_{vc}}$
and
${\omega _{vc}}$
are linear and angular velocities of the VC, respectively.
By defining the desired position, orientation, and velocities of the VC in the fixed coordinate frame
${x_{vc}},{y_{vc}}$
[Reference Abbaspour, Moosavian and Alipour20], the desired position for each robot can be easily derived by the following equation
where
${x_i},\;{y_i}$
are two parameters that give the formation its desired shape, and
${x_{di}},\;{y_{di}}$
are the desired position of the i-th robot, see Fig. 3. The formation parameters can be time-varying for flexible formation shapes. Moreover, the desired orientation of each robot
${\varphi _{di}}$
is obtained using the kinematic constraint equation, Eq. 1.
The VC concept.

3.2. Path planning and obstacle avoidance
In the presence of obstacles, it is necessary to plan motions that enable the robot to reach the goal without colliding with them. An effective method for achieving that is the use of APFs. The total field is obtained by an attractive potential to the goal and repulsive potentials from the obstacles [Reference Spong, Hutchinson and Vidyasagar35]. As a result, the robot moves in configuration space under the influence of the total potential
${U_{total}}$
. To this end, at each robot configuration, the potential creates an artificial force equal to the negative of the gradient of the total potential which is obtained as a velocity input to the dynamic system of the VC. Therefore, the artificial force specifies the direction and the velocity of the VC planned motion.
As mentioned earlier, the total potential field
${U_{total}}\left( {{{{\textbf{q}}}_{vc}}} \right)$
is a combination of the attractive and the repulsive fields as follows
where
${U_{att}}\left( {{{{\textbf{q}}}_{vc}}} \right)$
is the attractive field and
${U_{rep}}\left( {{{{\textbf{q}}}_{vc}}} \right)$
is the repulsive field. The attractive and repulsive functions used in this paper are defined based on the new potential function proposed in [Reference Ge and Cui36]. The new repulsive functions are introduced by considering the relative distance between the robot and the goal in the calculation of the repulsive field. This approach was inspired by the fact that if the repulsive potentials converge to zero as the robot approaches the goal, then the goal will be at the global minimum.
The attractive and repulsive fields are given in the following equations:
\begin{align}{U_{rep}} = \left\{ {\begin{array}{*{20}{c@{\quad}l}}{\frac{1}{2}\eta {{\left( {\dfrac{1}{{{\rho _{ob}}}} - \dfrac{1}{{{\rho _0}}}} \right)}^2}{\rho _g}^n} {}& {{\rho _{ob}} \le {\rho _0}}\\0 {}& {{\rho _{ob}} \gt {\rho _0}}\end{array}} \right.\end{align}
where
$\xi $
is a positive scaling parameter,
$\eta $
is a positive scaling parameter,
${\rho _g}$
is the distance between the VC and the goal point,
${\rho _{ob}}$
is the distance between the VC and the obstacle, and.
${\rho _0}$
is chosen to be the minimum acceptable distance between the VC and the obstacle. To ensure that none of the robots of the formation collide with the obstacles,
${\rho _0}$
is determined as:
where
${r_{obs}}$
is the obstacle radius including the radius of the largest robot in the system and
$R$
is the radius of the formation which indicates the longest distance between the robots to the VC, which can be calculated using the following equation:
where
$n$
is the total number of robots. The path planning problem here can be solved as an optimization problem by finding the global minimum in the total field
${U_{total}}$
starting from the initial configuration
${{{\textbf{q}}}_{vc}}\left( {{t_0}} \right).$
The solution to this problem can be given by gradient descent. Thus, the desired velocity of the VC can be considered to be proportional to the negative of the gradient of
${U_{total}}\left( {{{{\textbf{q}}}_{vc}}} \right)$
as
where K is a positive constant.
4. Controller Design
4.1. Control strategy
The virtual structure approach has been implemented; therefore, the problem of formation control has been replaced with a problem of trajectory tracking. This means that if every robot of the group succeeds in tracking its trajectory, then the formation will be kept as desired. To this end, the MPC-based controllers are designed to solve the problem of trajectory tracking of a group of robots and formation maintenance. The cost function of each robot has a traditional formula that guarantees trajectory tracking. To guarantee formation maintenance in case that one or more of the robots is suffering from disturbance, an extra term is added to the cost function of the proposed controller for each robot. This term contains formation feedback from all other robots. In this way, the formation will be maintained even though some robots are disturbed by external disturbance.
First, the desired trajectory of the VC is generated according to its initial position, its goal, and the locations of the obstacles using APFs. In fact, the velocity of the VC is obtained using Eq. 24; then by the integration of it, the reference trajectory can be found. Next, each individual robot derives its own trajectory using Eq. 18. The next level is the control design where the dynamic equation of the robot is utilized to calculate the torques required to track the trajectory. That will be the first part of the cost function. The second part could use the information from other robots to maintain the formation shape which can be guaranteed by using a new cost function as follows
where the sub-index i indicates the i-th robot, with
$i\; = 1,2,\; \ldots \;n$
,
${J_{total}}^i$
is the total cost function,
${J_t}^i$
is the part of the cost function that guarantees the trajectory tracking, and
${J_f}^i$
is the part of the cost function that guarantees the formation maintenance. In the following, the control required to solve the problem of trajectory tracking and formation maintenance for a single robot is presented. Two different controllers are designed using the proposed control method as follows.
4.2. Linear model predictive control
Model predictive control systems are designed based on the mathematical model of the plant [Reference Wang37, Reference Camacho and Bordons38]. A state-space model is usually used to represent the control law. In [Reference Loehning, Reble, Hasenauer, Yu and Allgoewer39], a reduced-order model is proposed to control a high-dimensional linear system. Many papers, for example, [Reference Mayne40, Reference Magni, De Nicolao, Scattolini and Allgöwer41], provide different approaches to solve the problem of feedback MPC. The survey paper [Reference Mayne42] states some developments and achievements in MPC.
The main objective of the LMPC here is to track a reference trajectory
${{{\textbf{x}}}_r}(t)$
. In this case, the control algorithm is designed based on the linearization of the system around the desired trajectory
${{{\textbf{x}}}_r}(t)$
. To this end, the Taylor series expansion [Reference Farrell and Polycarpou43] of the system given by Eq. 16 is obtained around the desired trajectory
$({{{\textbf{x}}}_r}(t),{{{\textbf{u}}}_r}(t))$
such that
\begin{align}{\dot{\textbf{x}}} = {{\textbf{F}}}({{{\textbf{x}}}_r},{{{\textbf{u}}}_r}) + {\left. {\frac{{\partial {{\textbf{F}}}({{{\textbf{x}}},{{\textbf{u}}}})}}{{\partial {{\textbf{x}}}}}} \right|_{\begin{array}{*{20}{c}}{\textbf{x} = {{{\textbf{x}}}_r}}\\{\textbf{u} = {{{\textbf{u}}}_r}}\end{array}}}({{{\textbf{x}}} - {{{\textbf{x}}}_r}}) + {\left. {\frac{{\partial {{\textbf{F}}}({{{\textbf{x}}},{{\textbf{u}}}})}}{{\partial {{\textbf{u}}}}}} \right|_{\begin{array}{*{20}{c}}{x = {x_r}}\\{u = {u_r}}\end{array}}}\left( {{{\textbf{u}}} - {{{\textbf{u}}}_r}} \right) + \mathcal{F}\end{align}
where
${\mathcal{F}}$
contains the high order terms of the expansion which can be ignored in linear approximations. Therefore, system Eq. 16 after the linearization around the nominal trajectory
${{{\textbf{x}}}_r}(t)$
is expressed in the following form
where
${{{\textbf{X}}}_{{\textbf{e}}}}$
is the error vector of state variables,
${{{{\textbf{U}}}}_{{\textbf{e}}}}$
is the error vector of control variables with respect to the reference trajectory
$({{{\textbf{x}}}_r}(t),{{{\textbf{u}}}_r}(t))$
, and the matrices
${{{\textbf{A}}}_c}(t)$
and
${{{\textbf{B}}}_c}(t)$
are defined as follows
\begin{align}{{{\textbf{A}}}_c}(t) = {\left. {\frac{{\partial {{\textbf{F}}}({{{\textbf{x}}},{{\textbf{u}}}})}}{{\partial {{\textbf{x}}}}}} \right|_{\begin{array}{*{20}{c}}{\textbf{x} = {{{\textbf{x}}}_r}}\\{\textbf{u} = {{{\textbf{u}}}_r}}\end{array}}},{{{\textbf{B}}}_c}(t) = {\left. {\frac{{\partial {{\textbf{F}}}({{{\textbf{x}}},{{\textbf{u}}}})}}{{\partial {{\textbf{u}}}}}} \right|_{\begin{array}{*{20}{c}}{\textbf{x} = {{{\textbf{x}}}_r}}\\{\textbf{u} = {{{\textbf{u}}}_r}}\end{array}}}\end{align}
For simplicity of the framework and the advantage of using the classical linear quadratic regulator, the state-space model in discrete time is used. The state-space form of the system equation in discrete time can be described as follows [Reference Wang37]
where u is the manipulated variable or input variable, the matrices
${{{\textbf{A}}}_m},\;{{{\textbf{B}}}_{m,}}$
and
${{{\textbf{C}}}_m}$
are the space state matrices in discrete time, y is the process output, and
${{{\textbf{x}}}_m}$
is the state variable vector with assumed dimension m. Taking a difference operation on both sides of Eq. 29 yields
By defining the incremental of a variable
${{\textbf{v}}}(k)$
by:
Eq. 31 can be rewritten as:
where
$\Delta {{\textbf{u}}}(k)$
is the input to the incremental state-space model.
By choosing the following new state vector:
and noticing that:
$\Delta {{\textbf{y}}}({k + 1}) = {{\textbf{y}}}({k + 1}) - {{\textbf{y}}}(k)$
, the system in Eq. 32, 33 can be represented as:
\begin{align}\begin{array}{*{20}{c}}{\left[ {\begin{array}{*{20}{c}}{\Delta {{{\textbf{x}}}_m}({k + 1})}\\{{{\textbf{y}}}({k + 1})}\end{array}} \right] = \left[ {\begin{array}{*{20}{l@{\quad}l}}{{{{\textbf{A}}}_m}} & {}{\textbf{0}_m^T}\\{{{{\textbf{C}}}_m}_m} & {}{{{{\textbf{I}}}_{q \times q}}}\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{\Delta {{{\textbf{x}}}_m}(k)}\\ {{{\textbf{y}}}(k)}\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}{{{{\textbf{B}}}_m}}\\{{{{\textbf{C}}}_m}{{{\textbf{B}}}_m}}\end{array}} \right]\Delta {{\textbf{u}}}(k)}\\[10pt] {{{\textbf{y}}}(k) = \left[ {\begin{array}{*{20}{c}}{{\textbf{0}_{q \times m}}}\;\;\;\;\; {}{{{{\textbf{I}}}_{q \times q}}}\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{\Delta {{{\textbf{x}}}_m}(k)}\\{{{\textbf{y}}}(k)}\end{array}} \right]}\end{array}\end{align}
where q is the number of outputs. For simplicity, Eq. 35 can be rewritten as follows:
Consider the following vectors at the sampling instant
${k_i},\;{k_i} \gt 0$
:
where
${{\textbf{y}}}\left( {{k_i} + l|{k_i}} \right)$
is the predicted value of the output
${{\textbf{y}}}$
at
${k_i} + l$
with the given current information
${{{\textbf{x}}}_a}\left( {{k_i}} \right)$
. N
c is the control horizon standing for the number of parameters used to calculate the future control trajectory. This means that the future control variables are predicted for the N
c
number of samples. N
p is the predictive horizon which indicates the optimization window. N
p is also the number of future state variables predictions at each sampling instant
${k_i}$
given the current information
${{{\textbf{x}}}_a}({{k_i}})$
. The control horizon is always less than or equal to the prediction horizon;
${N_c} \le {N_p}$
.
After certain calculations, the vector Y is obtained as:
where
\begin{align}{{\textbf{F}}} = \left[ {\begin{array}{*{20}{c}}{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}}\\[4pt]{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}^2}\\[4pt]{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}^3}\\ \vdots \\{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}^{{N_p}}}\end{array}} \right]\end{align}
\begin{align}{\boldsymbol{\Phi }} = \left[ {\begin{array}{*{20}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c}}{{{{\textbf{C}}}_a}{{{\textbf{B}}}_a}} & {}\textbf{0} {}& \textbf{0} & {} \cdots & {}\textbf{0}\\{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}{{{\textbf{B}}}_a}} & {}{{{{\textbf{C}}}_a}{{{\textbf{B}}}_a}} & {}\textbf{0} {}& \cdots & {}\textbf{0}\\{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}^2{{{\textbf{B}}}_a}} & {}{{{{\textbf{C}}}_a}{{\textbf{A}}}{{{\textbf{B}}}_a}} {}& {{{{\textbf{C}}}_a}{{{\textbf{B}}}_a}} {}& \cdots & {}\textbf{0}\\ \vdots {}& \vdots & {} \vdots {}& \ddots & {} \vdots \\{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}^{{N_p} - 1}{{{\textbf{B}}}_a}} & {}{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}^{{N_p} - 2}{{{\textbf{B}}}_a}} {}& {{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}^{{N_p} - 3}{{{\textbf{B}}}_a}} {}& \cdots & {}{{{{\textbf{C}}}_a}{{{\textbf{A}}}_a}^{{N_p} - {N_c}}{{{\textbf{B}}}_a}}\end{array}} \right]\end{align}
The main objective of using the LMPC is to make the predictive output close enough or approximately equal to the setpoint signal which can be time-varying in the meaning of a reference trajectory. Therefore, the problem is translated to find the optimal solution for the control vector
${{\Delta }}{{{\textbf{U}}}}$
such that the error between the predictive output and its desired trajectory converges towards zero.
The problem here is a combination of trajectory tracking and formation keeping. To this end, the proposed cost function in Eq. 25 is used to achieve both trajectory tracking and formation keeping objective subject to inequality constraints:
\begin{align}\begin{array}{*{20}{c}}{\begin{array}{*{20}{c}}{\left| {\tau _r^i} \right| \le {\tau _{max}}}\\[5pt] {\left| {\tau _l^i} \right| \le {\tau _{max}}}\end{array}}\\[14pt] {\begin{array}{*{20}{c}}{\left| {\dot \theta _r^i} \right| \le {{\dot \theta }_{max}}}\\[5pt] {\left| {\dot \theta _l^i} \right| \le {{\dot \theta }_{max}}}\end{array}}\end{array}\end{align}
where
${\tau _{max}}$
is the maximum torque of the right and left wheels and
${\dot \theta _{max}}$
is the maximum angular velocity of the right and left wheels. The trajectory tracking cost function for the i-th robot is defined by
where
$i = 1,2, \ldots ,n$
, Q is a positive-definite weighting matrix, R is a positive semi-definite weighting matrix and
$\Delta {{{{\textbf{U}}}}^i}$
is the control increment for the i-th robot,
${{{\textbf{E}}}_t}^i$
is the tracking error for the i-th robot which is represented as
where
${{{\textbf{R}}}_s}^i$
is an
$\left( {N \times m} \right) \times 1\;$
vector that contains the setpoint information for an N step for the i-th robot, and
${{{\textbf{F}}}^i}$
is defined by Eq. 40 for the i-th robot.
In addition, the formation keeping cost function is described as
where P is a positive-definite diagonal weighting matrix and
${{{\textbf{E}}}_{f,j}}^i$
is the quasi-formation error between the i-th and the j-th robots and is obtained as
The total cost function can be rewritten in the following form
\begin{align}J & = \Delta {{{{\textbf{U}}}}^{i^T}}\!({{{\boldsymbol{\Phi }}^{i^T}}{{\textbf{q}}}{{\boldsymbol{\Phi }}^i} + {{\textbf{R}}} + (n - 1){{\boldsymbol{\Phi }}^{i^T}}{{\textbf{P}}}{{\boldsymbol{\Phi }}^i}}){{\Delta }}{{{{\textbf{U}}}}^i} - 2{\left( {{{{\textbf{R}}}_s}^i - {{{\textbf{F}}}^i}{{{\textbf{x}}}^i}({{k_m}})} \right)^T}{{\textbf{q}}}{{\boldsymbol{\Phi }}^i}\Delta {{{{\textbf{U}}}}^i} \nonumber\\ & \quad + {\left( {{{{\textbf{R}}}_s}^i - {{{\textbf{F}}}^i}{{{\textbf{x}}}^i}\left( {{k_m}} \right)} \right)^T}{{\textbf{q}}}\left( {{{{\textbf{R}}}_s}^i - {{{\textbf{F}}}^i}{{{\textbf{x}}}^i}\left( {{k_m}} \right)} \right) + \sum{}_{\substack{j = 1 \\ j \ne i}}^n \!\!\left(\!{-2{{\textbf{E}}}{{_{f,j}^{i}}}^T{{\textbf{P}}}{{\boldsymbol{\Phi }}^i}\Delta {{{{\textbf{U}}}}^i} + {{\textbf{E}}}{{_{f,j}^{i}}}^T{{\textbf{PE}}}_{f,j}^i} \right)\end{align}
where
${{\boldsymbol{\Phi }}^i}$
is defined by Eq. 41 for the i-th robot. Finding the optimal control signal
$\Delta {{{\textbf{U}}}}$
that minimizes the cost function in Eq. 47 subject to the constraints in Eq. 42 is a quadratic programming problem [Reference Wang37]. Hence, the cost function to minimize is written as follows
\begin{align}\begin{array}{*{20}{c}}{{J^i} = \dfrac{1}{2}\Delta {{{{\textbf{U}}}}^{i^T}}{{{\textbf{H}}}^{{\textbf{i}}}}\Delta {{{{\textbf{U}}}}^i} + {{{\textbf{f}}}^{i^T}}\Delta {{{{\textbf{U}}}}^i} + {r^i}}\\[5pt] {S.t\, \, \, \, \, \;{{{\textbf{M}}}^i}\Delta {{{{\textbf{U}}}}^i} \le {{\boldsymbol{\gamma }}^i}}\end{array}\end{align}
where
\begin{align*}{{{\textbf{f}}}^{i^T}} = - 2{\left( {{{{\textbf{R}}}_s}^i - {{{\textbf{F}}}^i}{{{\textbf{x}}}^i}\left( {{k_m}} \right)} \right)^T}{{\textbf{q}}}{{\boldsymbol{\Phi }}^i} - \mathop \sum \limits_{\substack{j = 1 \\ j \ne i}}^n 2{{\textbf{E}}}{_{f,j}^{i}}^T{{\textbf{P}}}{{\boldsymbol{\Phi }}^i},\, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \end{align*}
\begin{align*}{r^i} = {\left( {{{{\textbf{R}}}_s}^i - {{{\textbf{F}}}^i}{{{\textbf{x}}}^i}\left( {{k_m}} \right)} \right)^T}{{\textbf{q}}}\left( {{{{\textbf{R}}}_s}^i - {{{\textbf{F}}}^i}{{{\textbf{x}}}^i}\left( {{k_m}} \right)} \right) + \mathop \sum \limits_{\substack{j = 1 \\ j \ne i}}^n {{\textbf{E}}}{_{f,j}^{i}}^T{{\textbf{PE}}}_{f,j}^i\end{align*}
${{{\textbf{M}}}^i}$
is a matrix reflecting the constraints in Eq. 38 which are written in terms of
$\Delta {{{{\textbf{U}}}}^i}$
,
${{\boldsymbol{\gamma }}^i}$
is a vector representing the limits of the constrained variables, and
${r^i}$
is a constant. It is worth noting that terms that do not contain
$\Delta {{{{\textbf{U}}}}^i}$
can be treated as constant. In this work, the “quadprog” solver in MATLAB software was used to solve this linear quadratic programming problem.
4.3. Nonlinear model predictive control
NMPC is a strategy for constrained feedback control of nonlinear systems. The basic idea of the linear and nonlinear model predictive control is to predict and optimize the future behavior using the model of the system [Reference Camacho and Bordons38, Reference Lars and Jürgen44, Reference Maciejowski45].
For the simplicity and the advantage of using the classical linear quadratic regulator purposes, the system model in discrete time is used. The nonlinear state-space model described in Eq. 16 can be written in discrete time as follows
and the reference trajectory in discrete time is
Hence, the predictive state of the robot is obtained as
where for an arbitrary variable
${{\textbf{z}}}$
,
${{\textbf{z}}}({k + j{\textrm{|}}k})$
indicates the value of variable
${{\textbf{z}}}$
predicted at the
$k + j$
instant given the current information
${{\textbf{z}}}(k)$
.
The optimization problem is solved at every sampling time where the control sequence u each time is derived to bring the states close to the reference trajectory. The same total cost function in Eq. 25 is rewritten as
\begin{align}{J_{N,total}}^i = \mathop \sum \limits_{j = 1}^{Np} {l^i}({t,{{{\textbf{e}}}^i}(j),{{{\bar{\textbf{u}}}}^i}(j)}) + {G^i}({{{{\textbf{e}}}^i}({{N_p}})})\end{align}
where
${J_{N,total}}^i$
is the total cost function for the NMPC,
${l^i}({t,{{{\textbf{e}}}^i}(j),{{{\bar{\textbf{u}}}}^i}(j)}) = {J_{N,t}}^i + {J_{N,f}}^i$
, the first term
${J_{N,t}}^i$
is the part of the control that leads the i-th robot to follow its desired trajectory,
${J_{N,f}}^i$
is the other part of the control that guarantees formation keeping, and
${G^i}$
is the terminal cost function which is added to guarantee the stability of the closed-loop system. Also,
${{\bar{\textbf{u}}}^i}$
is the error vector of control input with respect to its reference value. The trajectory tracking cost function for the i-th robot is defined as
where
${{{\textbf{Q}}}_N}$
is a positive-definite weighting matrix,
${{{\textbf{R}}}_N}$
is a positive semi-definite weighting matrix, N is the prediction horizon which indicates the number of future variables predictions at each sampling instant
${k_i}$
given the current information
$x({{k_i}})$
, and
${{{\textbf{e}}}^i}({k + j{\textrm{|}}k})$
is the tracking error for the i-th robot represented as
Moreover, the formation maintaining part of the cost function is obtained as follows
where
${{{\textbf{P}}}_N}$
is a positive-definite diagonal weighting matrix and
${{{\textbf{e}}}_{f,l}}^i({k + j{\textrm{|}}k})$
is the quasi-formation error between the i-th robot and l-th robot which can be defined as
The terminal cost function is chosen as a positive-definite function as follows:
where
${{{\textbf{L}}}_N}$
is a positive-definite diagonal weighting matrix. The optimal control problem is chosen as
subject to
\begin{align} {{{\textbf{x}}}^i}({k + j + 1{\textrm{|}}k}) = {{\textbf{f}}}_d^i( {{{{\textbf{x}}}^i}({k + j{\textrm{|}}k})} &+ {{{{\textbf{u}}}^i}({k + j{\textrm{|}}k})}),for\;j = 0, \ldots ,{N_p} \nonumber \\ \left| {\tau _r^i} \right| & \le {\tau _{max}} \nonumber \\\left| {\tau _l^i} \right| & \le {\tau _{max}} \nonumber \\ \left| {\dot \theta _r^i} \right| & \le {{\dot \theta }_{max}} \\\left| {\dot \theta _l^i} \right| & \le {{\dot \theta }_{max}} \nonumber\\{{\textbf{x}}}(0) & = {{{\textbf{x}}}_0}\nonumber \\ {{{\textbf{x}}}^i}({k}\; +&\; {{N_p}}) \in {{{\mathbb {X}}_f}} \nonumber \end{align}
where
${V^{{i^*}}}$
is the optimal value of the cost function,
${\mathbb {X}_f}$
is the allowable terminal state constraints. The nonlinear optimal problem in Eq. 57 is solved for state
${{{\textbf{x}}}^i}$
at time instant
$k$
using the “fmincon” MATLAB solver, and the optimal control sequence is
The associated optimal state is
The model predictive control can be represented as follows
One way of ensuring (or enforcing) stability in MPC-based controllers is to add a terminal constraint that forces the state to assume a particular value at the end of the prediction horizon. [Reference Lars and Jürgen44, Reference Maciejowski45]. The stability analysis of the developed NMPC system is investigated in the Appendix.
5. Formation Evaluation Criteria
To calculate the total formation error, we consider the two following criteria.
-
1- Distance error between each pair:
$\forall \;i,\;j = 1,2, \ldots n\;and\;i \ne j$
, the pair of robots
$\left( {{R_i},\;{R_j}} \right)$
inner-robot distance
$dist\left( {{R_i},{R_j}} \right) = \sqrt {{{\left( {{x_{{R_i}}} - {x_{{R_j}}}} \right)}^2} + {{\left( {{y_{{R_i}}} - {y_{{R_j}}}} \right)}^2}} $
, and the desired inner-robot distance
${d_{{d_{ij}}}}$
, where
$\left( {{x_{{R_i}}},{y_{{R_i}}}} \right)$
is the i-th robot position and
$\left( {{x_{{R_j}}},{y_{{R_j}}}} \right)$
is the j-th robot position, we define the distance error between
${R_i}$
and
${R_j}$
as follows:
${e_{{d_{ij}}}} = dist\left( {{R_i},{R_j}} \right) - {d_{{d_{ij}}}}$
. The total distance error between robots can be expressed as follows
-
2- Order error: We can describe the topology of the formation using a directed graph, where the robots represent the vertices of the graph and the relations between the robots represent the directed edges that connect these vertices or nodes. We define the order error
${E_{{o_j}}} = {o_j} - {o_{{j_{des}}}}$
, where
${o_j}$
is a measure of the order of the j-th vertex in the real formation and
${o_{{j_{des}}}}$
is a measure of the order of the j-th vertex in the desired formation. It is possible to determine the order of the robots in the formation by using the outer product of the directed edges of the formation. The sign of the outer product determines the right direction or order of the target vertices. Therefore,
${o_j}$
and
${o_{{j_{des}}}}$
can be defined as
$\frac{{{V_{ij}} \times {V_{jk}}}}{{\left| {{V_{ij}} \times {V_{jk}}} \right|}}$
and
$\frac{{{V_{i{j_{des}}}} \times {V_{j{k_{des}}}}}}{{\left| {{V_{i{j_{des}}}} \times {V_{j{k_{des}}}}} \right|}}$
, respectively, where
${V_{ij}}$
and
${V_{i{j_{des}}}}$
are the real and desired vectors originating from the i-th robot toward the j-th robot, respectively. Also,
${V_{jk}}$
and
${V_{j{k_{des}}}}$
are the real and desired vectors originating from the j-th robot toward the k-th robot, respectively. The total order error may be written as
One may consider the weighted summation of these two errors to derive the total formation error. The proposed formation error is given as follows
where
${n_{pairs}}$
is the number of robots’ pairs which is equal to
$\frac{n}{2}\left( {n - 1} \right)$
, and
$\alpha $
is a user-defined weighting factor.
In order to achieve the desired geometric shape of the formation, the total formation error should approach zero. This can be achieved when the distance between each pair of the robots satisfies the following inner-robot distance condition
${e_{{d_{ij}}}} \cong 0,\;\;\forall i,j = 1,2, \ldots ,n$
and when the robots are in the right order
${E_{{o_j}}} \cong 0,\;\;\forall j = 1,2,\ldots,n$
.
Suppose that we have a system of 3 WMRs. It is obvious that there are two different formations that satisfy the inner-robot distance condition in a two-dimensional space. Figures 4 and 5 show the two possible formations counterclockwise and clockwise, respectively.
Counterclockwise formation.

Clockwise formation.

For a system with a larger number of robots, the possible formations are more than two. Therefore, these different formations should be taken into account to achieve the desired formation. To this end, the order error defined in criterion 2 for all vertices of the graph is utilized to measure the direction of formation. For instance, take the two formations in Figs. 4 and 5. Assume that the desired formation is shown in Figure 4 and the real one is shown in Fig. 5. With the assumption that the real inner-robot distances are approximately equal to the desired ones, we calculate
${o_{{j_{des}}}},\;{o_j}$
and
${E_{{o_j}}}$
for
$j = 1,\;2,\;3$
as follows
Similarly,
${o_{{2_{des}}}} = 1,\;\;{o_2} = - 1,\;\;{E_{{o_2}}} = 2$
and
${o_{{3_{des}}}} = 1,\;\;{o_3} = - 1,\;\;{E_{{o_3}}} = 2$
.
The previous example shows that the robots should satisfy the inner-distance condition; however, this is a necessary but not sufficient condition for formation keeping. The robots should be in the right order as well. Therefore, in addition to the inner-distance measure, the order criterion should be addressed.
6. Simulation
The simulation is accomplished using MATLAB software, where a group of WMRs is navigating from a start point to a goal point. The two controllers have been applied to enable the robots to track their desired trajectories, avoid obstacles, and maintain the desired formation. In order to evaluate the performance of the controllers, two kinds of disturbances are applied to the system, namely constant and harmonic. Four case studies are discussed in the following. Moreover, the results are compared with the feedback linearization and Laguerre MPC methods that are mentioned in the introduction.
Case study 1: illustration of the proposed method with the application of constant disturbance
The control approaches discussed in the previous section were successfully simulated using MATLAB software. The system consists of three nonholonomic differential drive WMRs. The three robots are identically the same, and each has the parameters shown in Table I.
Single robot properties.

The reference trajectory of the VC is generated using the proposed APF functions. The initial position and orientation of the VC are
${{{\textbf{x}}}_{vc}}({t_0}) = {\left[ {\begin{array}{*{20}{c}}{ - 0.2}\quad {}{ - 1.5}\quad {}0\end{array}} \right]^T}$
, and the goal pose for the VC to reach is
${{{\textbf{x}}}_{vc}}({t=60}) = {\left[ {\begin{array}{*{20}{c}}{2.2}\quad {}{4.8}\quad {}{2.18}\end{array}} \right]^T}$
. The APF parameters are
$K = 0.015,\eta = 5.4,\zeta = 8.28$
.
Suppose that the initial velocities of the robots are zeros. The initial position and orientation of each robot are
The desired trajectory of each robot is derived using Eq. 18; the formation parameters
${x_i},{y_i}$
are given as follows
The robots navigate from the initial positions to the goals through 3 obstacles. The position and radius for each obstacle are represented in Table II.
Obstacle specifications.

In addition, the APF parameters are
$K = 0.015,\eta = 0.69,\zeta = 0.9$
.
It is worth noting that constraints are designed for both input and state variables. Assume that the maximum linear velocity of each WMR is 0.6 m/s and the maximum output torque of the motor is 0.25 N.m, then the constraints on the wheels’ torques and the wheels’ velocities can be listed in Table III. This was obtained in both cases; however, the results will be shown only for the formation control case and for the first robot only.
Constraints on inputs and states.

The three robots are simulated using the previous parameters to perform a triangle formation. Each robot tracks a trajectory given in Eq. 19 without collision with obstacles. In addition, the team of robots should maintain the desired formation even when the system suffers from disturbance. In practice, robots may be exposed to different types of disturbance, such as unwanted external input or actuator fault. To illustrate that, we have supposed that the first robot is experiencing an unwanted input during some parts of its motion. To demonstrate the effectiveness of the proposed control method, two cases are discussed here:
-
Case 1.1: the robots use the control method in Eq. 25 without formation control cost function; that is,
${J_f}^i = 0,\;\;for\;i = 1,2,3$
-
Case 1.2: the formation control cost function is considered.
The aforementioned disturbance is applied to the first robot in both cases in the time interval [Reference Lee and Chwa25, Reference Spong, Hutchinson and Vidyasagar35] s where the total simulation time is 60 s and the sampling time is
${T_s} = 0.1 \,{\rm{s}}$
. To this end, the torque of the right wheel is multiplied by 0.7, and the torque of the left wheel is multiplied by 0.01.
The prediction horizon and control horizon are tuning parameters. According to [Reference Wang37], the prediction horizon,
$Np$
in LMPC and N in NMPC, should be chosen so that it is not too short or too long. Short horizons yield a system that is not necessarily stable. On the other hand, for a large prediction horizon, the system will encounter a numerical stability problem. Therefore, the prediction horizon is selected so that the system has a convenient performance. As for the control horizon, in the case of MPC, we have mentioned before that the control horizon should be less than or equal to the prediction horizon. To this end, a control horizon of 5 is chosen.
The Q and R matrices are tuning parameters that are chosen as a tradeoff between control effort and performance. The weighting matrix R is usually chosen as R = I, where I is the (
$2 \times 2$
) identity matrix. It is evident that increasing the weights of R will lead to a high control effort and reduce the closed-loop response speed [Reference Wang37]. There are many methods to choose the matrix Q in the literature such as the Riccati equation, Ziegler-Nichols, self-tuning, and manual tuning [Reference Camacho and Bordons38]. Several values for the Q matrix were tested manually before the weights are chosen such that the performance of the control system is acceptable. In order to have a fair comparison between the two controllers, the control parameters for both cases are given as follows
-
Case 1.1: without formation control
MPC
\begin{align*}{{\textbf{Q}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{110}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{140}\;\;\;\;\; {}{50}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{0.05}\;\;\;\;\; {}{0.05}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{{\textbf{R}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}1\;\;\;\;\; {}1\end{array}}\! \right]} \right),\;\;{{\textbf{P}}} = 0\end{align*}
\begin{align*}{N_p} = 10,\;\;{N_c} = 5\end{align*}
-
NMPC
\begin{align*}{{{\textbf{Q}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{110}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{140}\;\;\;\;\; {}{50}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{0.05}\;\;\;\;\; {}{0.05}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{{{\textbf{R}}}_N} = {\textrm{diag}}\left( {\left[ \!{\begin{array}{*{20}{c}}1\;\;\;\;\; {}1\end{array}}\! \right]} \right),\;\;{{{\textbf{P}}}_N} = 0,\end{align*}
\begin{align*}{{{\textbf{L}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{250}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{250}\;\;\;\;\; {}{0.5}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{0.05}\;\;\;\;\; {}{0.05}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{N_p}\; = 10\end{align*}
-
Case 1.2: with formation control
MPC
\begin{align*}{{\textbf{Q}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{110}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{140}\;\;\;\;\; {}{50}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{0.05}\;\;\;\;\; {}{0.05}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{{\textbf{R}}} = {\textrm{diag}}\left( {\left[ \!{\begin{array}{*{20}{c}}1\;\;\;\;\; {}1\end{array}}\! \right]} \right)\end{align*}
\begin{align*}{{\textbf{P}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{20}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{30}\;\;\;\;\; {}8\;\;\;\;\; {}{\begin{array}{*{20}{c}}{0.012}\;\;\;\;\; {}{0.012}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;\end{align*}
\begin{align*}{N_p} = 10,\;\;{N_c} = 5.\end{align*}
-
NMPC
\begin{align*}{{{\textbf{Q}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{110}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{140}\;\;\;\;\; {}{50}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{0.05}\;\;\;\;\; {}{0.05}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{{{\textbf{R}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}1\;\;\;\;\; {}1\end{array}}\! \right]} \right)\end{align*}
\begin{align*}{{{\textbf{P}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{20}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{30}\;\;\;\;\; {}8\;\;\;\;\; {}{\begin{array}{*{20}{c}}{0.012}\;\;\;\;\; {}{0.012}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;\end{align*}
\begin{align*}{{{\textbf{L}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{250}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{250}\;\;\;\;\; {}{0.5}\;\;\;\;\; {}{\begin{array}{*{20}{c}}{0.05}\;\;\;\;\; {}{0.05}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{N_p} = 10\end{align*}
Case 1.1: Without formation control
In the first case, when the formation maintaining concept is not taken into consideration in the cost function, the robots do not receive formation feedback from each other. Figures 6 and 7 illustrate the results of simulation LMPC and NMPC, respectively, for the first case. In the absence of disturbance, the three controllers are able to track the trajectories and maintain the formation successfully. It is seen that the robots are in the right order the whole simulation time. However, the simulation results indicate that the distance error between the three robots, for the two controllers, is relatively large in the interval when an external disturbance is exerted on one of the robots. In this interval, as mentioned earlier since there is no feedback information between the robots, the distance error between robots increases and the formation cannot keep the desired shape in the existence of disturbance. Nevertheless, the two controllers have yielded errors that converge to zero.
LMPC without formation control. (a) VC and robots’ trajectories. (b) The inner-distance error between the robots. (c) Error signals of robot 1. (d) Errors of robot 2. (e) Errors of robot 3.

NMPC without formation control. (a) VC and robots’ trajectories. (b) The inner-distance error between the robots. (c) Error signals of robot 1. (d) Errors of robot 2. (e) Errors of robot 3.

Using the virtual structure formation method can guarantee formation maintenance if all the robots succeed in tracking their desired trajectories. However, if one of the robots experiences disturbance, it will react to the error and try to get back to its desired path. Other robots will continue tracking their own trajectories without having any reaction to the errors of the first robot, and as a result, the formation will fail. The integrated time absolute errors for both controllers are compared and reported in Tables IV and V.
Integrated time absolute error of x, y, and angle, case study 1–1.

Integrated time absolute inner-distance error, case study 1–1.

Case 1.2: With formation control
In the second case, when the formation maintaining concept is implemented in the cost function, each robot receives feedback on the location of other robots. This helps the robots compensate for the inner-distance error. In some applications, such as moving an object, the formation task is more important than the trajectory tracking and this is where the importance of such a controller arises even if it causes larger errors in trajectory tracking. Figures 8 and 9 illustrate the results of simulation LMPC and NMPC, respectively, in the presence of formation control. This simulation illustrates that the robots try to maintain the formation rather than tracking the individual trajectories. Figures show that when the first robot has disturbance, the other two robots try to compensate for the inner-distance error which leads to a tracking error, that is, the robots change their paths related to the occurred disturbance to maintain the formation. The integrated time absolute errors for both controllers are compared and reported inTables VI and VII.
LMPC in the presence of formation control. (a) VC and robots’ trajectories. (b) The inner-distance error between the robots. (c) Error signals of robot 1. (d) Errors of robot 2. (e) Errors of robot 3.

NMPC in the presence of formation control. (a) VC and robots’ trajectories. (b) The inner-distance error between the robots. (c) Error signals of robot 1. (d) Errors of robot 2. (e) Errors of robot 3.

Integrated time absolute error of x, y, and angle, case study 1–2.

Integrated time absolute inner-distance error, case study 1–2.

It can be noticed that the tracking errors of the NMPC are large compared to those of LMPC when the system experiences disturbance. This is because the controller is trying to effectively compensate for the error resulting from the first robot. However, the inner-distance error of the NMPC is extremely small during the period when the system is disturbed. The maximum distance error between the robots of the NMPC is approximately less than 0.1 m, whereas the maximum distance error between the robots for the NMPC case is almost over 0.2 m. Furthermore, the initial inner-distance errors that occurred at the beginning of the simulation for the LMPC are large, while for the NMPC, there are no overshoots or undershoots. Simulation results show that the order error of all robots is zero during the whole simulation time for both controllers. It can be noticed that the tracking errors of NMPC without disturbance converge to zero faster compared with LMPC Therefore, NMPC shows better performance than the other control method.
Constraints on state and control variables
Since in practice the velocity of motors is limited, velocity constraints are considered. Figures 10-a and 10-b indicate the angular velocities of the right and left wheels for the first robot using LMPC and NMPC, respectively. It is worth mentioning that the constraints are applied for all three robots and both controllers. It is seen that the constraints are satisfied, and the velocities cannot exceed the limits defined as desirable when using the two control methods.
Angular velocities for robot 1 (a) LMPC. (b) NMPC.

Moreover, the torques of motors are limited in practice as well. Figures 11-a and 11-b show the constrained torques for the first robot using the two control methods LMPC and NMPC, respectively. The constraints are applied to all three robots and for both cases without and with formation control. It is seen that constraints on the control variables are satisfied. In addition, the control goals can be achieved when the input signals are constrained.
Wheels’ torques for robot1 (a) LMPC. (b) NMPC.

Case study 2: different types of formation
The simulation is run for many different trajectories and different formation geometries in the presence of obstacles. Figures 12-a, 12-b, and 12-c show the simulation results for a system consisting of four agents which navigate in an environment containing six obstacles in different radii where the proposed NMPC method is applied to the system. Another example can be seen in Figs. 13-a, 13-b, and 13-c where LMPC is applied to a five-agent system moving to its goal through five obstacles. The results show that the proposed control algorithm can be applied to a larger number of WMRs with different formation shapes in the presence of more obstacles. The two criteria mentioned in section 5 are shown in Figs. 12-b, 12-c, 13-b, and 13-c. Furthermore, the integrated time absolute error for both cases is reported in Tables VIII, IX, X, and XI. It is worth mentioning that the order error becomes zero for all robots after a short time for both cases.
NMPC case study 2. (a) VC and robots’ trajectories. (b) The inner-distance error between the robot.

LMPC case study 2. (a) VC and robots’ trajectories. (b) The inner-distance error between the robots.

Integrated time absolute error of x, y, and angle, case study 2–1.

Integrated time absolute inner-distance error, case study 2–1.

Integrated time absolute error of x, y, and angle, case study 2–2.

Integrated time absolute inner-distance error, case study 2–2.

Case study 3: the performance of the controllers in the case of applying time-varying disturbance during the whole simulation period
In this section, the performance of the proposed methods in the presence of harmonic disturbance is discussed. In addition, a comparison between Feed-Back Linearization (FBL) used in [Reference Abbaspour, Moosavian and Alipour20] and our new control methods is presented. There are many advantages of using the NMPC method over feedback linearization. NMPC uses the feedback of nonlinear systems to find the optimal control signals by predicting and optimizing the future behavior of the system. This leads to a system that is robust to the disturbance caused by the imperfect motors and sensors. In addition, the NMPC control system can operate with limits on control variables, state variables, and output variables. One of the drawbacks of feedback linearization is the lack of robustness to disturbances and uncertainties. Moreover, the control variables, state variables, and output variables cannot be constrained using FBL.
In this case study, NMPC and LMPC methods are simulated and compared to the control method presented in [Reference Abbaspour, Moosavian and Alipour20]. The system consists of three nonholonomic differential drive WMRs. The three robots are the same as in the first case study, see Table I.
However, a new reference trajectory of the VC is generated using the proposed APF functions. The initial position and orientation of the VC are
${\textbf{x}_{vc}}({t_0}) = {\left[ {\begin{array}{*{20}{c}}0\quad {}{ -3}\quad {}0\end{array}} \right]^T}$
, and the goal pose for the VC to reach is
${\textbf{x}_{vc}}({t=60}) = {\left[ {\begin{array}{*{20}{c}}{3.3}\quad {}{5.8}\quad {}{0.83}\end{array}} \right]^T}$
. The APF parameters are
$K = \;0.015,\;\eta = 5.4,\;\zeta = 5.52$
.
Suppose that the initial conditions of the robots are the desired ones. The desired trajectory of each robot is calculated using Eq. 18, where the formation parameters
${x_i},{y_i}$
are given as follows
The robots navigate from the initial positions to the goals through 3 obstacles. The position and radius for each obstacle can be found in Table XII.
It is worth noting that constraints were designed for both input and state variables, in the case of LMPC and NMPC. The same constraints on torques and velocities in Table III are used here. As for the FBL, we saturated the control signal so that it does not exceed the torques limits. However, the velocities cannot be constrained using the latter method.
To illustrate the robustness of the proposed control system against continuous harmonic disturbance and compare its performance with that of the control system in [Reference Abbaspour, Moosavian and Alipour20], a time-variant disturbance is added to the first robot for the whole simulation time. This is done by adding a disturbance sinusoidal term to the first robot wheels torques as
$\left[ {{\tau _{{1_{d,right}}}};\;{\tau _{{1_{d,left}}}}} \right] = \left[ {0.05\,{\textrm{sin}}(3t);\,0.05\,{\textrm{cos}}\left( {3t} \right)} \right]$
, where
${\tau _{{1_{d,right}}}}$
is the disturbing right wheel torque and
${\tau _{{1_{d,left}}}}$
is the disturbing left wheel torque of the first robot.
The simulation time is 60 s, and the sampling time is
${T_s} = 0.1 \,{\rm{s}}$
. The gains are chosen in the same range so that the comparison between the controllers is fair. The controllers’ parameters are as follows
-
NMPC
\begin{align*}{{{\textbf{Q}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{20}\quad {}{\begin{array}{*{20}{c}}{24}\quad {}8\quad {}{\begin{array}{*{20}{c}}{0.1}\quad {}{0.1}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),{{{\textbf{R}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}1\quad {}1\end{array}}\! \right]} \right),{N_p} = 10\end{align*}
\begin{align*}{{{\textbf{P}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{14}\quad {}{\begin{array}{*{20}{c}}{21}\quad {}{5.6}\quad {}{\begin{array}{*{20}{c}}{0.008}\quad {}{0.008}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),{{{\textbf{L}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{25}\quad {}{\begin{array}{*{20}{c}}{25}\quad {}{0.5}\quad {}{\begin{array}{*{20}{c}}{0.05}\quad {}{0.05}\end{array}}\end{array}}\end{array}}\!\! \right]} \right)\end{align*}
-
MPC
\begin{align*}{{\textbf{Q}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{32}\quad {}{\begin{array}{*{20}{c}}{36}\quad {}{10}\quad {}{\begin{array}{*{20}{c}}{0.025}\quad {}{0.025}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{{\textbf{R}}} = {\textrm{diag}}\left( {\left[ \!{\begin{array}{*{20}{c}}1\quad {}1\end{array}} \!\right]} \right),{N_p} = 10\end{align*}
\begin{align*}{{\textbf{P}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{12}\quad {}{\begin{array}{*{20}{c}}{16}\quad {}4\quad {}{\begin{array}{*{20}{c}}{0.005}\quad {}{0.005}\end{array}}\end{array}}\end{array}}\!\! \right]} \right)\end{align*}
-
FBL
\begin{align*}{{{\textbf{K}}}_p} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{24}\quad {}{\begin{array}{*{20}{c}}{28}\quad {}{12}\end{array}}\end{array}}\!\! \right]} \right),{{{\textbf{K}}}_v} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{6.5}\quad {}{\begin{array}{*{20}{c}}{6.5}\quad {}7\end{array}}\end{array}}\!\! \right]} \right)\end{align*}
\begin{align*}{K_K} = 0.015,{K_D} = 16.2,{K_S} = 21.6\end{align*}
Figures 14, 15, and 16 show the simulation result of NMPC, LMPC, and FBL, respectively. Figures 14-b, 15-b, and 16-b illustrate the distance errors between the robots using the three controllers. The order error is zero for all robots during the whole simulation time. The wheels’ velocities of the first robot are shown in Figs. 14-g, 15-g, and 16-g.
NMPC case study 3. (a) VC and robots’ trajectories. (b) The inner-distance error between the robots. (c) Errors of robot 1. (d) Errors of robot 2. (e) Errors of robot 3. (f) Wheels’ velocities for the first robot.

LMPC case study 3. (a) VC and robots’ trajectories. (b) The inner-distance error between the robots. (c) Errors of robot 1. (d) Errors of robot 2. (e) Errors of robot 3. (f) Wheels’ velocities for the first robot.

FBL case study 3. (a) VC and robots’ trajectories. (b) The inner-distance error between the robots. (c) Errors of robot 1. (d) Errors of robot 2. (e) Errors of robot 3. (f) Wheels’ velocities for the first robot.

It is seen that the NMPC can maintain the formation shape in the presence of harmonic and continuous disturbance. The maximum distance error between the robots, in this case, is less than 0.004 m. The errors of the robots are relatively small and oscillate around zero. As for the MPC, the errors are small and oscillate around zero as well.
On the other hand, the inner-distance error of the FBL method is larger and it is seen that there are large initial errors in the first 10 s of the simulation even though the robots start from initial conditions equal to the desired conditions at
$t = 0$
. In addition, Fig. 15-c shows the errors of the first robot that have incrementally increased during the simulation time and start to drift from zero after 30 s of the simulation. As a result, the distance errors between robots will be increasing as well. Therefore, the system may not be stable and the formation cannot be kept which can be seen clearly in Fig. 18-c.
As for the velocities, MPC methods can constrain the velocities so that they do not exceed the upper and lower limits. Nevertheless, the FBL method proposed in [Reference Abbaspour, Moosavian and Alipour20] cannot do that which leads to high velocities values that cannot be achieved practically because the wheels’ velocities are limited in practice.
The performance of the three controllers is also compared using the criteria in Tables XIII and XIV. From Table XIII, the errors of our proposed controllers are less by far than the controller proposed in [Reference Abbaspour, Moosavian and Alipour20]. As for the integrated time absolute inner-distance error which is reported in Table XIV, the distance errors of the NMPC and LMPC are significantly less than the FBL approach.
Given the above arguments, it can be concluded that both LMPC methods show a higher degree of robustness against time-variant and long-time disturbance than the FBL. Large initial errors are observed in the case of FBL when the system starts from initial conditions that are identical to the reference path. Therefore, it is better to start from initial conditions that are near enough, but not identical, to the reference trajectory, in the case of FBL.
Case study 4: comparison between our proposed controllers and Laguerre MPC
In this section, a comparison between Laguerre MPC [Reference Ettefagh, Naraghi, Towhidkhah and Izi27] and our new control methods is presented. Laguerre MPC method is applied to the linearized dynamic system unlike paper [Reference Ettefagh, Naraghi, Towhidkhah and Izi27] where the controller is applied to the linearized kinematic system. The main advantage of using Laguerre-based MPC over the traditional MPC is the reduction of computation times [Reference Wang46]. The control signal in the case of traditional MPC may use a very large number of parameters, leading to a heavy computational load. Alternatively, a more relevant approach is by using the Laguerre network in the design of MPC [Reference Wang37]. This will reduce the number of calculations. In fact, the traditional MPC uses a total number of decision variables equals
$m \times {N_p}$
where m is the number of inputs and
${N_p}$
is the prediction horizon, while the Laguerre-based MPC captures the control sequence using a smaller number of variables equals to
$m \times {N_c}$
where
${N_c}$
is the control horizon which is usually smaller than the predictive horizon
${N_p}$
.
In this case study, NMPC and LMPC methods are simulated and compared with the control method presented in [Reference Ettefagh, Naraghi, Towhidkhah and Izi27]. The system consists of three nonholonomic differential drive WMRs. The parameters of the three robots are the same as in the first case study, see Table I.
However, a new reference trajectory for the VC is generated using the proposed APF functions. The initial position and orientation of the VC are
${{{\textbf{x}}}_{vc}}({t_0}) = {\left[ {\begin{array}{*{20}{c}}3\;\;\;\; {}2\;\;\;\; {}0\end{array}} \right]^T}$
, and the goal point for the VC to reach is
${{{\textbf{x}}}_{vc}}({t=60}) = {\left[ {\begin{array}{*{20}{c}}9\;\;\;\; {}8\;\;\;\; {}0.03\end{array}} \right]^T}$
. The APF parameters are
$K = \;0.015,\;\;\eta = 7.2,\;\;\zeta = 3.8$
.
The initial position and orientation of each robot are
${{{\textbf{x}}}_1}({t_0}) = {\left[ {\begin{array}{*{20}{c}}{2.8}\;\;\;\; {}1\;\;\;\; {}{0.368}\end{array}} \right]^T},\;\;{{{\textbf{x}}}_2}({t_0}) = {\left[ {\begin{array}{*{20}{c}}4\;\;\;\; {}{0.6}\;\;\;\; {}{0.098}\end{array}} \right]^T},\;\;{{{\textbf{x}}}_3}({t_0}) = {\left[ {\begin{array}{*{20}{c}}{1.6}\;\;\;\; {}{0.3}\;\;\;\; {}{ -0.195}\end{array}} \right]^T}$
. The desired trajectory of each robot is calculated using Eq. 18, where the formation parameters
${x_i},{y_i}$
are given as follows
The robots navigate from the initial positions to the goals through 4 obstacles. The position and radius for each obstacle can be found in Table XV.
It is worth noting that constraints were designed for both input and state variables, in the case of LMPC, NMPC, and Laguerre-based MPC. The same constraints on torques and velocities in Table III are used here.
To illustrate the robustness of the proposed control system against disturbance and compare its performance with that of the control system in [Reference Ettefagh, Naraghi, Towhidkhah and Izi27], a disturbance is applied to the first robot in the time interval [Reference Lee and Chwa25, Reference Spong, Hutchinson and Vidyasagar35] s where the total simulation time is 60 s and the sampling time is
${T_s}\; = \;0.1\, {\rm{s}}$
. To this end, the torque of the right wheel is multiplied by 0.7, and the torque of the left wheel is multiplied by 0.01. The performance of the three aforementioned controllers can be seen in Figs. 17–21.
Trajectories for the virtual center of the formation and the real path of three robots using(a) NMPC. (b) LMPC. (c) Laguerre MPC.

Errors of the first robot using (a) NMPC. (b) LMPC. (c) Laguerre MPC.

Errors of the second robot using (a) NMPC. (b) LMPC. (c) Laguerre MPC.

Errors of the third robot using (a) NMPC. (b) LMPC. (c) Laguerre MPC.

The inner-distance errors between robots using (a) NMPC. (b) LMPC. (c) Laguerre MPC.

The gains are chosen in the same range so that the comparison between the controller performances be fair. The controllers’ parameters are as follow
-
NMPC
\begin{align*}{{{\textbf{Q}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{20}\quad {}{\begin{array}{*{20}{c}}{24}\quad {}8\quad {}{\begin{array}{*{20}{c}}{0.1}\quad {}{0.1}\end{array}}\end{array}}\end{array}}\!\!\! \right]} \right),\;{\;}{\textbf{R}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}1\quad {}1\end{array}}\! \right]} \right),\;\;{N_p} = 10\end{align*}
\begin{align*}{{{\textbf{P}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{14}\quad {}{\begin{array}{*{20}{c}}{21}\quad {}{5.6}\quad {}{\begin{array}{*{20}{c}}{0.008}\quad {}{0.008}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{{{\textbf{L}}}_N} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{25}\quad {}{\begin{array}{*{20}{c}}{25}\quad {}{0.5}\quad {}{\begin{array}{*{20}{c}}{0.05}\quad {}{0.05}\end{array}}\end{array}}\end{array}}\!\! \right]} \right)\end{align*}
-
LMPC
\begin{align*}{{\textbf{Q}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{32}\quad {}{\begin{array}{*{20}{c}}{36}\quad {}{10}\quad {}{\begin{array}{*{20}{c}}{0.025}\quad {}{0.025}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{{\textbf{R}}} = {\textrm{diag}}\left( {\left[ \!{\begin{array}{*{20}{c}}1\quad {}1\end{array}}\! \right]} \right),\;\;{N_p} = 10\end{align*}
\begin{align*}{{\textbf{P}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{12}\quad {}{\begin{array}{*{20}{c}}{16}\quad {}4\quad {}{\begin{array}{*{20}{c}}{0.005}\quad {}{0.005}\end{array}}\end{array}}\end{array}}\!\!\! \right]} \right)\end{align*}
-
Laguerre MPC
\begin{align*}{{\textbf{Q}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{52}\quad {}{\begin{array}{*{20}{c}}{67}\quad {}{30}\quad {}{\begin{array}{*{20}{c}}{0.063}\quad {}{0.063}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;{{\textbf{R}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}1\quad {}1\end{array}}\! \right]} \right),\;\;{N_p} = 10\end{align*}
\begin{align*}{{\textbf{P}}} = {\textrm{diag}}\left( {\left[\! {\begin{array}{*{20}{c}}{14}\quad {}{\begin{array}{*{20}{c}}{10.8}\quad {}4\quad {}{\begin{array}{*{20}{c}}{0.001}\quad {}{0.001}\end{array}}\end{array}}\end{array}}\!\! \right]} \right),\;\;a = \left[ {0.8;\,0.8} \right],\;\;N = \left[ {3;\,3} \right]\end{align*}
Obstacle specifications.

Integrated time absolute error of x, y, and angle, case study 3.

Integrated time absolute inner-distance error, case study 3.

Obstacle specifications.

Integrated time absolute error of x, y, and angle, case study 4.

Integrated time absolute inner-distance error, case study 4.

The proposed control strategy is successfully simulated in terms of Laguerre-based MPC. It is seen that the errors of the Laguerre-based MPC are greater than the errors of the other two controllers. Furthermore, the NMPC has the best performance. This is reasonable since the system to be controlled is nonlinear and the initial errors are relatively large. The conventional LMPC and Laguerre-based MPC both are based on the linearized dynamic system; therefore, large initial errors may yield an inaccurate approximation of the system which in turn can lead to a steady-state error which can be seen clearly in the results of both controllers, especially Laguerre-based MPC. However, the LMPC steady-state error is significantly small.
The performance of the three controllers is also compared using the criteria in Tables XVI and XVII. From Table XVI, the errors of our proposed controllers are less by far than the controller proposed in [Reference Ettefagh, Naraghi, Towhidkhah and Izi27]. As for the integrated time absolute inner-distance error which is reported in Table XVII, the inner-distance error of the NMPC is significantly less than the other two approaches.
7. Conclusion
In this paper, two formation control methods of a multi-robot system are presented. The nonlinear dynamic equations of the mobile robot are utilized to design these controllers. Only for the traditional MPC, the linearized dynamic system is derived from the nonlinear dynamics. The APF is used to generate the desired trajectory and to guarantee obstacle avoidance for the formation. Then, each robot trajectory is determined from the virtual structure approach. The simulation results emphasize the effectiveness of the control algorithm using the two controllers. Furthermore, the results are compared to the feedback linearization and Laguerre-based MPC methods. The results show that LMPC and NMPC are more stable and robust than the other two methods. Future research can include objectives such as formation control in a dynamic obstacle environment.
Conflicts of Interest
None.
Financial Support
None.
Ethical Considerations
None.
Author Contributions
Najla Nfaileh: Methodology, Investigation, Formal Analysis, Writing-Original Draft Preparation, Writing-Reviewing and Editing
Khalil Alipour: Supervision, Formal Analysis, Writing-Reviewing and Editing
Bahram Tarvirdizadeh: Supervision, Writing-Reviewing and Editing
Alireza Hadi: Supervision, Writing-Reviewing and Editing
Appendix: Stability analysis of NMPC
In this section, stability of the system is carried out. The Lyapunov direct method is utilized to derive the closed-loop stability properties of the NMPC problem described previously. For notational simplicity, we drop the superscript i and the dynamic model of the WMR Eq. 16 can be written as follows
Then, for computational simplicity, the discrete-time cost function is expressed in the form of continuous-time format as
where
$\chi = {N_p} \cdot {T_s}$
is the predictions horizon in time domain,
${{\textbf{e}}}(t) = {{\textbf{x}}}(t) - {{{\textbf{x}}}_{{\textbf{r}}}}(t)$
, and
${{{\textbf{x}}}_{{\textbf{r}}}}(t)$
is the reference trajectory in time domain. Then, the optimal control problem is written as follows
Subject to constraints in Eq. 58.
Stability theorem: Assume that the reference control input vector is bounded by
$\left| {\tau {{_r^i}_{ref}}} \right| \le {\tau _{max}}$
and
$\left| {\tau {{_l^i}_{ref}}} \right| \le {\tau _{max}}$
, and there is an optimal solution to the optimal control problem in Eq. 57 at
$t = 0$
. The NMPC controller for the dynamic system in Eq. (A1) is asymptotically stable if for each
${{{\textbf{x}}}_{{\textbf{e}}}} \in {\mathbb {X}_f}$
there exists a terminal state control input that satisfies the following inequality [Reference Mayne, Rawlings, Rao and Scokaert47, Reference Chen and Allgöwer48]
Proof:
The Lyapunov candidate function is chosen as the optimal value of the cost function in Eq. (A3) subject to the constraints in Eq. 58. that is,
Note that
$V( ,\textbf{0}) = 0$
. In addition,
$V\left( {t,{{\textbf{e}}}(t)} \right)$
is a positive-definite function since
$V\left( {t,{{\textbf{e}}}(t)} \right)$
Now we show that
$\dot V({t,{{\textbf{e}}}(t)})$
is negative-definite and
$V({t,{{\textbf{e}}}(t)})$
is nonincreasing along the system trajectories. To this end, we write the Lyapunov function for any time instant
$\zeta{\epsilon}[t,t+T_{s}]$
as follows
Now, we write the difference between the Lyapunov function for the two time instants
$t$
and
$t + {T_s}$
as follows
Integrating (A4) yields
By substituting in (A8), we have
The above relation indicates that
$\dot V\left( {t,{{\textbf{e}}}(t)} \right)$
is negative-definite.
Also, by repeating the inequality (A10), we can write
\begin{align*} -\!\mathop\int \nolimits_0^t \mathop \sum \limits_{\substack{j = 1 \\ l \ne i}}^n \left( {{{{\textbf{e}}}_{f,l}}{{^*}^T}(\sigma){{{\textbf{L}}}_N}{{{\textbf{e}}}_{f,l}}^*(\sigma)} \right)d\sigma \end{align*}
Based on the above results, it can be concluded that optimal cost function
$V\left( {t,{{\textbf{e}}}(t)} \right)$
is Lyapunov function for the developed controller which guarantees that the equilibrium point is asymptotically stable. Hence, the error signal
${{\textbf{e}}}(t)$
converges to zero when
$t \to \infty $
.
In summary, we proved that if the stability condition in inequality (A4) is satisfied, then the system is asymptotically stable.






























