Keywords

1 Introduction

As an important branch of general robotics, wheeled mobile robots (WMRs) have been intensely studied with many remarkable results in many fields, such as industrial automation, space research, etc. Based on the property of non-holonomic constraint, it is necessary to separate the model of WMR into two subsystems, including the kinematic subsystem and dynamic subsystem [1,2,3,4,5,6,7]. This method can obtain an easier control design for each control loop because less difficulties than the kinematic subsystem influence each subsystem is an under-actuated system, and the dynamic subsystem is influenced by disturbance, uncertainties. Moreover, the Backstepping technique is usually investigated for this cascade model by considering the Lyapunov function candidate sequentially from the kinematic subsystem to the whole system [1,2,3,4, 7]. Several developments have been mentioned in investigating control law, such as using the modified transform matrix and observer in [1], disturbance observer [2], extending to WMR model under slip [4], etc.

Furthermore, it should be verified that the model-based control in [3] utilized the Kronecker product to achieve control structure without considering the cascade model. On the other hand, authors in [7] proposed the MPC law to design the outer loop with theoretical analysis to be discussed. As we all know, the difficulties of investigating MPC in mobile robotic systems are solving the optimization problem and guaranteeing the stability of the MPC method. In order to solve these challenges, Lyapunov stability theory is still employed with an appropriate Lyapunov function candidate [5,6,7,8,9,10,11,12,13]. Thanks to the optimization problem is given in the MPC method. We can utilize this optimal function to be the Lyapunov function candidate is considering the stability problem. However, comparing the Lyapunov function in two sampling times should be investigated using the terminal controller, feasible region, feasibility problem [5,6,7,8,9,10,11,12,13]. There are two main approaches to implement this comparison. First, the Linear Matrix Inequalities (LMIs) technique is used as in [5, 13]. It can be seen that the LMIs are achieved after implementing the comparison. Second, the intermediate function is pointed out by the intermediate control scheme using a terminal controller [6,7,8,9,10,11,12]. It is worth noting that MPC law is almost applied for the kinematic subsystem in robotics [6,7,8,9,10,11,12].

In this paper, several robust control schemes are proposed for a perturbed WMR system with non-holonomic constraints. With the proposed optimization problem in the MPC approach, the controller is easier implemented with the fixed starting point of an optimization problem. On the other hand, the observer is discussed in the second robust control method. Furthermore, the solution of a two-time scale-based filter is also discussed in estimating the disturbance. The rest of this paper is organized as follows. Section 2 introduced the mathematical model of WMRs and the control objective. Two control designs are presented in Sect. 3. In Sect. 4, the simulation studies are carried out to confirm the proposed control schemes. Finally, the conclusion is given in Sect. 5.

2 Problem Formulations

As we all have known in traditional Euler-Lagrange theory, the mathematical model of Wheeled Mobile Robotics (WMRs) is written by the following dynamic equations [1,2,3,4]:

$$ \left\{ {\begin{array}{*{20}l} {M(\eta )\ddot{\eta } + C(\eta ,\dot{\eta })\dot{\eta } + B(\eta )\left( {F(\dot{\eta }) + \tau_{d} } \right) = B(\eta )\tau + J^{T} (\eta )\lambda } \hfill \\ {J(\eta )\dot{\eta } = 0} \hfill \\ \end{array} } \right. $$
(1)
$$ \eta = \left[ {\begin{array}{*{20}c} x & y & \theta \\ \end{array} } \right]^{T} $$
(2)

where \(\eta\) is the joint variables vector with \(x\) and \(y\), \(\theta\) to be defined the position, and orientation of the WMR in term of the \(x\) axis. The matrices \(M(q) \in \Re^{3 \times 3} ;C(q,\dot{q}) \in \Re^{3 \times 3} ;B(q) \in \Re^{3 \times 2}\) are the system inertia matrix, the centripetal, Corriolis torques vector, the input transformation matrix, respectively. It is similar to the work in [1,2,3,4], we achieve the two subsystems of WMRs to be described in (1), as follows:

$$ \dot{\eta } = S\left( \eta \right)\sigma $$
(3)
$$ D\left( \eta \right)S\left( \eta \right)\dot{\sigma } + C_{1} \left( {\eta ,\dot{\eta }} \right)\sigma = B\left( \eta \right)\tau $$
(4)

where \(S\left( \eta \right)\) solutions in the equation \(S^{T} \left( \eta \right)J^{T} \left( \eta \right) = 0\).

Remark 1:

It is worth noting that the consideration of WMRs as a cascade system (3, 4) is able to achieve an easier controller. However, due to eliminating the constraint coefficient \(\lambda\) in the model (3, 4), it follows that the implementation of motion/force control is impossible.

The control task in this paper is to find the vector of torque \(\tau\) with robust model predictive control (MPC) to ensure optimality principle and the tracking of trajectory. Moreover, this work is extended to output feedback control by adding more an appropriate observer. Thanks to the creation of separating this WMR model, we can establish the general cascade controller of WMR systems as described in Fig. 1.

Fig. 1.
figure 1

The cascade control scheme of WMR systems

3 Robust Control Design for WMRs

As we all have known in traditional Euler-Lagrange theory, In this section, several approaches to implementing robust controllers are introduced to guarantee the trajectory tracking problem. First, we employ robust model predictive control (RMPC) for the kinematic model to eliminate disturbance. Therefore, the MPC algorithm is established easily with the fixed starting point to be described in the optimization problem. Second, we handle the dynamic subsystem continuously with the development of an observer to obtain an output feedback control scheme. Third, a solution of estimating the disturbance by a two-time scale filter [2] is also mentioned to compare.

3.1 Robust Model Predictive Control for WMRs

The Model Predictive Control (MPC) approach is developed for the tracking error model of the kinematic subsystem. Due to the effect of the trigonometric operator in (3) in establishing the control design, the transformation matrix is used to obtain the following model:

$$ \left[ \begin{gathered} x_{e} \left( t \right) \hfill \\ y_{e} \left( t \right) \hfill \\ \theta_{e} \left( t \right) \hfill \\ \end{gathered} \right] = \left[ {\begin{array}{*{20}c} {c{\text{os}}\theta } & {\sin \theta } & 0 \\ { - \sin \theta } & {c{\text{os}}\theta } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right]\left[ \begin{gathered} x_{r} \left( t \right) - x\left( t \right) \hfill \\ y_{r} \left( t \right) - y\left( t \right) \hfill \\ \theta_{r} \left( t \right) - \theta \left( t \right) \hfill \\ \end{gathered} \right] $$
(5)

where \(\left[ {x_{r} \left( t \right),y_{r} \left( t \right),\theta_{r} \left( t \right)} \right]^{T}\) is the desired trajectory vector.

According to (5) and (3), the model can be written as:

$$ \frac{d}{dt}\left[ \begin{gathered} x_{e} \left( t \right) \hfill \\ y_{e} \left( t \right) \hfill \\ \end{gathered} \right] = \left[ {\begin{array}{*{20}c} 0 & \omega \\ { - \omega } & 0 \\ \end{array} } \right]\left[ \begin{gathered} x_{e} \left( t \right) \hfill \\ y_{e} \left( t \right) \hfill \\ \end{gathered} \right] + \left[ \begin{gathered} - \upsilon + \left( {\upsilon_{r} } \right)\cos \theta_{e} \hfill \\ \upsilon_{r} \sin \theta_{e} \hfill \\ \end{gathered} \right] $$
(6)
$$ \frac{d}{dt}\left[ \begin{gathered} x_{e} \left( t \right) \hfill \\ y_{e} \left( t \right) \hfill \\ \end{gathered} \right] = \left[ {\begin{array}{*{20}c} 0 & \omega \\ { - \omega } & 0 \\ \end{array} } \right]\left[ \begin{gathered} x_{e} \left( t \right) \hfill \\ y_{e} \left( t \right) \hfill \\ \end{gathered} \right] + u_{e} \left( t \right) $$
(7)

where \(u_{e} \left( t \right)\) is given by

$$ u_{e} \left( t \right) = \left[ {\begin{array}{*{20}l} { - \upsilon + \left( {\upsilon _{r} } \right)\cos \theta _{e} } \hfill \\ {\upsilon _{r} \sin \theta _{e} } \hfill \\ \end{array} } \right] $$
(8)

For the purpose of obtaining tracking problem, an MPC algorithm with a fixed starting point in the optimization problem can be shown as follows:

Algorithm 1:

  1. 1.

    At time \(t_{k} = k\delta\), collecting the actual state;

  2. 2.

    Solving the modified Optimization Problem to achieve the controller \(u_{e} \left( t \right)\)

    $$ \begin{aligned} \mathop {\arg \min }\limits_{{u\left( {\tau \left| {t_{k} } \right.} \right)}} J\left( {x_{e} ,y_{e} ,u_{e} } \right) = & \int\limits_{{t_{k} }}^{{t_{k} + T}} {L\left( {x_{e} \left( {\tau \left| {t_{k} } \right.} \right),y_{e} \left( {\tau \left| {t_{k} } \right.} \right),u_{e} \left( {\tau \left| {t_{k} } \right.} \right)} \right)} d\tau \\ & + g\left( {x_{e} \left( {t_{k} + T\left| {t_{k} } \right.} \right),y_{e} \left( {t_{k} + T\left| {t_{k} } \right.} \right)} \right);T = N\delta \\ & \mathop {\min }\limits_{{u\left( {\tau \left| {t_{k} } \right.} \right)}} J\left( {x_{e} ,y_{e} ,u_{e} } \right) \\ & = \int\limits_{{t_{k} }}^{{t_{k} + T}} {\left\{ {\left[ {x_{e}^{T} \left( {\tau \left| {t_{k} } \right.} \right),y_{e}^{T} \left( {\tau \left| {t_{k} } \right.} \right)} \right]Q\left[ \begin{gathered} x_{e} \left( {\tau \left| {t_{k} } \right.} \right) \hfill \\ y_{e} \left( {\tau \left| {t_{k} } \right.} \right) \hfill \\ \end{gathered} \right] + u_{e}^{T} \left( {\tau \left| {t_{k} } \right.} \right)Ru_{e}^{{}} \left( {\tau \left| {t_{k} } \right.} \right)} \right\}} d\tau \\ & + \frac{1}{2}\left[ {x_{e}^{T} \left( {\tau \left| {t_{k} } \right.} \right),y_{e}^{T} \left( {\tau \left| {t_{k} } \right.} \right)} \right]\left[ \begin{gathered} x_{e} \left( {\tau \left| {t_{k} } \right.} \right) \hfill \\ y_{e} \left( {\tau \left| {t_{k} } \right.} \right) \hfill \\ \end{gathered} \right] \\ \end{aligned} $$
    (9)
    $$ \begin{array}{*{20}l} {\quad \quad \quad \quad u\left( {\tau \left| {t_{k} } \right.} \right) \in U_{tube} = \left\{ {\left[ {\upsilon ,\omega } \right]^{T} :\frac{\left| \upsilon \right|}{a} + \frac{\left| \omega \right|}{b} \le \lambda_{tube} = \frac{1}{\sqrt 2 }} \right\}} \hfill \\ {Subject \,\, to\;x_{e} \left( {t_{k} + T\left| {t_{k} } \right.} \right)\& y_{e} \left( {t_{k} + T\left| {t_{k} } \right.} \right)} \hfill \\ {\quad \quad \quad \in \Omega_{tube} = \left\{ {\left[ {x_{e} ,y_{e} } \right]^{T} :k_{1} \left| {x_{e} } \right| + k_{2} \left| {y_{e} } \right| \le a\lambda_{tube} } \right\}} \hfill \\ \end{array} $$
    (10)

    where \(k_{1} ,k_{2}\) are selected from the matrix \(Q,R\) in cost function as described in Remark 3.

  3. 3.

    Apply this control input \(\left[ {\upsilon ,\omega } \right]^{T}\) to WMR system during the sampling time interval \(\left[ {t_{k} ,t_{k + 1} } \right)\).

  4. 4.

    Updating the time instant \(t_{k} \to t_{k + 1}\) and coming back step 1.

Theorem 1:

The control input under Algorithm 1 guarantee the ISS stability in the outer loop error subsystem.

Remark 3:

The key idea of Proof is utilizing the Lyapunov Candidate function being the minimum cost function in Algorithm 1. It enables us to compare Lyapunov function candidate in the sequent two steps with intermediate control input obtained from the terminal controller as above.

3.2 Robust Output Feedback Control for WMRs

In this section, the control design is realized from outer model to modified inner model with the first Lyapunov function being chosen as:

$$ V_{0} = \sqrt {1 + x_{e}^{2} + y_{e}^{2} } + \sqrt {1 + \overline{\phi }_{e}^{2} } - 2. $$
(11)

The modified inner model is use a new variable as:

$$ \overline{\phi }_{e} = \phi_{e} + \arcsin \left( {\frac{{k\left( t \right)y_{e} }}{{\sqrt {1 + x_{e}^{2} + y_{e}^{2} } }}} \right). $$
(12)

Therefore, we obtain the modified inner model as:

$$ \left[ {\begin{array}{*{20}c} {\dot{x}_{e} } \\ {\dot{y}_{e} } \\ {\dot{\phi }_{e} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\omega y_{e} + \nu + f_{1} } \\ { - \omega x_{e} - \frac{{k\left( t \right)\nu_{r} y_{e} }}{{\Gamma_{1} }} + f_{2} } \\ {\omega \left( {\frac{{k\left( t \right)x_{e} }}{{\Gamma_{1} }}} \right) + f_{3} - \nu \frac{{k\left( t \right)x_{e} y_{e} }}{{\Gamma_{1}^{2} \Gamma_{2} }}} \\ \end{array} } \right] $$
(13)

By using the observer in [1], we obtain the derivative of Lyapunov function \(V_{2}\) as:

$$ \begin{aligned} \dot{V}_{2} = & - k_{1} \frac{{x_{e}^{2} }}{{\Gamma_{1}^{2} }} - \frac{{k\left( t \right)\nu_{r} y_{e}^{2} }}{{\Gamma_{1}^{2} }} - k_{2} \frac{{\overline{\phi }_{e}^{2} }}{{\Gamma_{3}^{2} }} + \frac{{y_{e} f_{2} }}{{\Gamma_{1} }} - \tilde{\varpi }^{T} \left( {D_{R} + K + C} \right)\tilde{\varpi } - \alpha \tilde{m}\left( {\dot{\hat{m}} + \hat{u}_{1} \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\nu } } \right) \\ & - \beta \tilde{n}\left( {\dot{\hat{n}} + \hat{u}_{2} \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\omega } } \right) - \tilde{H}^{T} \Lambda \left( {\dot{\hat{H}} + \Lambda^{ - 1} Y_{c}^{T} \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\varpi } } \right) + \alpha \tilde{m}\left[ {\hat{u}_{1} \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{v} - u_{1} \tilde{v}} \right] + \beta \tilde{n}\left[ {\hat{u}_{2} \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\omega } - u_{2} \tilde{\omega }} \right]\, \\ & + \tilde{H}^{T} \left[ {\hat{Y}^{T}_{c} \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\varpi } - Y_{c} \tilde{\varpi }} \right] + \tilde{\varpi }^{T} \left( {\hat{Y}_{c} - Y_{c} } \right)\hat{H} + \tilde{\varpi }^{T} K\left( {\tilde{\varpi } - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\varpi } } \right) + \alpha \tilde{m}\left( {u_{1} - \hat{u}_{1} } \right)\tilde{v} \\ & + \beta \tilde{n}\left( {u_{2} - \hat{u}_{2} } \right)\tilde{\omega } \\ \end{aligned} $$
(14)

Remark 2:

The computation in (14) is different from the work in [1] with three additional terms:

  1. 1)

    \(- \tilde{\varpi }^{T} C\tilde{\varpi }\);

  2. 2)

    \(+ \tilde{\varpi }^{T} K\left( {\tilde{\varpi } - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\varpi } } \right)\);

  3. 3)

    \(+ \alpha \tilde{m}\left( {u_{1} - \hat{u}_{1} } \right)\tilde{v} + \beta \tilde{n}\left( {u_{2} - \hat{u}_{2} } \right)\tilde{\omega }\);

The fact is the output feedback control input \(\hat{U}\left( {\hat{\varpi }} \right) = - K\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\varpi } + \hat{Y}_{c} \hat{H} - \Omega\). The stability of the closed system is UUB because of the tracking effectiveness of the observer.

  1. A.

    Two Time-Scale Tracking Control for WMRs

With the cascade controller (Fig. 1) and the transforming method (5) in tracking error model, the work in [2] proposed the control structure (15) with disturbance observer (16). It should be noted that, the proposed controller in section B is different from [2] considering the State observer to develop output feedback controller.

$$ \begin{array}{*{20}l} {u = u^{*} + l} \hfill \\ {u^{*} = \left[ {\begin{array}{*{20}l} {e_{1} \cos \theta _{c} + e_{2} \sin \theta _{c} - \dot{\upsilon }_{r} + \dot{\upsilon }_{d} - Q_{2} \tilde{\upsilon }} \hfill \\ {e_{3} - \dot{\omega }_{r} + \dot{\omega }_{d} - Q_{3} \tilde{\omega }} \hfill \\ \end{array} } \right]} \hfill \\ \end{array} $$
(15)
$$ \left\{ {\begin{array}{*{20}l} {l = \frac{1}{\varepsilon }\left( {\hat{z} - z} \right)} \hfill \\ {\frac{d}{dt}\hat{z} = - \frac{1}{\varepsilon }\left( {\hat{z} - z} \right) + u + \dot{z}_{d} } \hfill \\ \end{array} } \right. $$
(16)

4 Simulation Studies

The mathematical model of Wheeled Mobile Robotics (WMRs) is written by the following dynamic equations [1,2,3,4]:

The simulation studies is demonstrated by Casadi tool for Algorithm 1 with modified optimization in the kinematic subsystem of a WMR:

  • \(v_{r} = 0.015(m/s);\omega_{r} = 0.04(rad/s);\xi_{r} (0) = \left[ {\begin{array}{*{20}c} 0 & 0 & {\pi /3} \\ \end{array} } \right]^{T} ;\) \(\xi_{f} (0) = \left[ {\begin{array}{*{20}c} {0.4} & { - 0.2} & { - \pi /2} \\ \end{array} } \right]^{T} ;\)

  • \(T = 1;\delta = 0.1; P = diag{\text{\{ }}0.4,0.4\} ;R = diag\{ 0.2;0.2\} ;\tilde{k}_{1} = \tilde{k}_{2} = 1.2;\)

  • \(\lambda_{tube} = 0.6636\), \(\Omega_{tube} = \left\{ {\tilde{p}_{e} :\left| {\tilde{x}_{e} } \right| + \left| {\tilde{y}_{e} } \right| < 0.0542} \right\}\), \(P_{fe} = \left\{ {p_{fe} (t):\left| {p_{fe} } \right| \le \left[ {\begin{array}{*{20}c} {0.0017} & {0.0017} \\ \end{array} } \right]^{T} } \right\}\).

The results show good behavior as described in the following Figs. 2 and 3. Moreover, the simulations are developed by two-time scale based robust control in Section C with the parameters as follows:

r = 0.098 m, b = 0.2 m, \(d = 0.3\,m\), \(m_{w} = 22\,kg\), \(m_{M} = 2\,kg\), \(I_{M} = 0.02\,kg.m^{2}\), \(I_{D} = 0.005\,kg.m^{2}\).

And the desired trajectory is chosen as

\(x_{r} \left( t \right) = t\); \( y_{r} \left( t \right) = sin\omega t\), with \(\omega = \frac{\pi }{180}\); \(\theta_{r} \left( t \right) = tan^{ - 1} \left( {\frac{\pi }{180}\left( {cos\frac{\pi }{180}\left( t \right)} \right)} \right)\).

The disturbance is inserted into WMRs: \(\tau_{d} = \left[ { {\text{sin}}\left( {\frac{1}{20}t} \right) ; 2{\text{sin}}\left( {\frac{1}{20}t} \right) } \right]\)

In this case, it can be seen that the good responses are shown in Figs. 4, 5, 6, 7, 8 and 9, with the improvement by a filter to be considered in two cases (Figs. 4 and 5). Finally, the proposed robust output feedback controller is implemented with high effectiveness in Figs. 10 and 11.

Fig. 2.
figure 2

The trajectory of a WMR using Robust MPC Law

Fig. 3.
figure 3

The control inputs of a WMR

Fig. 4.
figure 4

The response by two-time scale based robust control (no filter)

Fig. 5.
figure 5

The response by two-time scale based robust control (using filter)

Fig. 6.
figure 6

The response of trajectory (axis X) by two-time scale based robust control

Fig. 7.
figure 7

The response of trajectory (axis Y) by two-time scale based robust control

Fig. 8.
figure 8

The response of Trajectory (Direction Angle) by two-time scale based robust control

Fig. 9.
figure 9

The Tracking Error by two-time scale based robust control

Fig. 10.
figure 10

The response of Trajectory in Cartesian Coordinate by two-time scale based robust control (Circle)

Fig. 11.
figure 11

The response of Trajectory in Cartesian Coordinate by two-time scale based robust control (Rectangle)

5 Conclusion

We have proposed robust control schemes for WMRs, including robust MPC for the kinematic subsystem and output feedback control for the cascade model with disturbance. The MPC algorithm is presented with a modified optimization problem, and the extension for cascade controller is considered with an additional observer. The theoretical analysis is carried out as well as simulation studies are verified to show the efficiency of the proposed algorithm.