Keywords

1 Introduction

During recent few years, omnidirectional mobile robots have been widely applied in different fields of society, such as the mobile platform, factory automation, logistics transportation, military affairs and environmental exploration. Comparing with the nonholonomic robots such as car-like mobile robots, the omnidirectional mobile robot have the ability of three degree-of-freedom motion in the plane, which can provide the superior maneuvering capability. Tracking control problems of omnidirectional mobile robots, which have attracted the interest of many researchers, are significant in the practical application.

Many control methods have been proposed such as sliding mode control [1], fuzzy control [2], adaptive control [3], model predictive control [4] and their combinations. Due to the ideal assumptions and the complex environment, model uncertainties and external disturbances are significant factors which have effects on the tracking performance, and these factors should be considered during designing the control strategy. An adaptive fuzzy terminal sliding-mode tracking controller for omnidirectional mobile robots with system uncertainties and external disturbances was presented in [5], in which the adaptive estimation scheme was used to adjust parameter vector and the switching law of sliding mode with fuzzy logic was given to constitute the control strategy. Alakshendra [6] proposed an adaptive higher-order sliding mode controller for the trajectory tracking based on dynamics with unknown bounded uncertainties, and the adaptive law was designed. Comparing with the PID controller and the adaptive robust sliding mode controller, this control strategy had better tracking performance. Moreover, system parameters of dynamics are assumed unknown, and the adaptive sliding mode controller with smooth switching law was designed to handle structured and unstructured uncertainties in [7], in which this controller was able to improve tracking behaviors and avoid the singularity of control inputs. In practical engineering applications, in order to guarantee the safety or meet requirements of the operating environment, state constraints of omnidirectional mobile robots should be taken into account. A novel adaptive control strategy was proposed for nonlinear pure-feedback systems in [8], and the BLF with tracking errors was introduced to avoid violating the state constraints. In [9], an adaptive neural network was employed to approximate dynamic model of the uncertain robot system, and the control method was given based on barrier Lyapunov method to ensure the boundedness of all signals, thus, state constraints held all the time and the tracking error would be tuned into a sufficiently small compact set with suitable parameters of controller.

This paper mainly focuses on the tracking problem of omnidirectional mobile robots with state constraints. The adaptive law is designed for unknown bounded disturbances caused by simplified assumptions of dynamics and complex environment, so that the reliability, stability, robustness and safety of trajectory tracking are improved. And the controller based on barrier Lyapunov function guarantees the full-state constraints which indicates that the states will never exceed the limitations. All signals in the closed-loop system are proved to be uniformly bounded and stability of tracking is guaranteed. Comparing with existing results, this paper contributes to the novel solution of states constraints of omnidirectional mobile robots with disturbances.

The rest of the paper is organized as follows. The Sect. 2 introduces the kinematic model and the dynamic model of the three-wheel omnidirectional mobile robots with model uncertainties and external disturbances. In the Sect. 3, the controller with the adaptive law based on barrier Lyapunov function is given, and the stability of tracking system is analyzed. The simulation is presented to show the validity of the control strategy in Sect. 4. In the end, the Sect. 5 summarizes the whole paper and draws the conclusions.

2 Kinematics and Dynamics of Omnidirectional Mobile Robots

As shown in Fig. 1, the three-wheel omnidirectional mobile robot, which is composed of three omnidirectional wheels, servo driving systems, and the control motion control card, is considered in this paper. The kinematic model is shown as Eq. (1).

Fig. 1
figure 1

The structure of three-wheel structure of the robot (left) and the force analysis (right)

$$ \left( {\begin{array}{*{20}c} {\dot{x}} \\ {\dot{y}} \\ {\dot{\theta }} \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {\cos \theta } & { - \sin \theta } & 0 \\ {\sin \theta } & {\cos \theta } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right)\left( {\begin{array}{*{20}c} {v_{x} } \\ {v_{y} } \\ \omega \\ \end{array} } \right) $$
(1)

\( X_{w} OY_{w} \) represents the world coordinate and \( X_{m} O_{m} Y_{m} \) is the coordinate system of the mobile robot. The position of the center of the robot in Cartesian coordinates is \( (x,y) \) and \( \theta \) is the robot orientation in world coordinate. \( (v_{x} ,v_{y} ) \) here denotes robot’s longitudinal velocity and transverse velocity, and \( \omega \) represents the rotate speed of the robot. \( L \) is the plane distance from the center of the robot to the center of the omnidirectional wheel. The driving force from the driving wheel can be described as \( D_{i} (i = 1,2,3) \). \( F \) is the resultant force of driving forces and \( \phi \) is the direction angle of the resultant force. As a matter of fact, the kinematics of all kinds of omnidirectional robots can be expressed as Eq. (1).

The dynamics of this kind of three-wheel omnidirectional mobile robot can be derived by using Newton’ Second Law. The Eq. (2) can be obtained with similar derivation process in [6].

$$ \left( {\begin{array}{*{20}c} {\dot{v}_{x} } \\ {\dot{v}_{y} } \\ {\dot{\omega }} \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {a_{1} v_{x} } \\ {a_{1} v_{y} } \\ {a_{3} \omega } \\ \end{array} } \right) + \left( {\begin{array}{*{20}c} {a_{2} \omega v_{y} } \\ { - a_{2} \omega v_{x} } \\ 0 \\ \end{array} } \right) + \left( {\begin{array}{*{20}c} { - b_{1} } & { - b_{1} } & {2b_{2} } \\ {\sqrt 3 b_{1} } & { - \sqrt 3 b_{1} } & 0 \\ {b_{2} } & {b_{2} } & {b_{2} } \\ \end{array} } \right)\left( {\begin{array}{*{20}c} {\tau_{1} } \\ {\tau_{2} } \\ {\tau_{3} } \\ \end{array} } \right) $$
(2)

According to the kinematics (1) and dynamics (2), we can describe the motion of omnidirectional mobile robots as

$$ \begin{aligned} & \dot{x}_{1} = J(\theta )x_{2} \\ & \dot{x}_{2} = Ax_{2} + a_{2} S(x_{2} ) + B\tau \\ \end{aligned} $$
(3)

where the variables and parameters are defined as follows:

$$ \begin{aligned} & x_{1} = (x,y,\theta )^{T} , \, x_{2} = (v_{x} ,v_{y} ,\omega )^{T} , \, S(x_{2} ) = (\omega v_{y} , - \omega v_{x} ,0)^{T} , { }\tau = (\tau_{1} ,\tau_{2} ,\tau_{3} )^{T} , \\ & A = diag\{ a_{1} ,a_{1} ,a_{3} \} , \, a_{1} = - 3c/(3I_{\omega } + 2mr^{2} ), \, a_{2} = 2mr^{2} /(3I_{\omega } + 2mr^{2} ), \\ & a_{3} = - 3cL^{2} /(3I_{\omega } L^{2} + I_{v} r^{2} ), \, b_{1} = kr/(3I_{\omega } + 2mr^{2} ), \, b_{2} = krL/(3I_{\omega } L^{2} + I_{v} r^{2} ), \\ \end{aligned} $$
$$ J(\theta ) = \left( {\begin{array}{*{20}c} {\cos \theta } & { - \sin \theta } & 0 \\ {\sin \theta } & {\cos \theta } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right), \, \quad B = \left( {\begin{array}{*{20}c} { - b_{1} } & { - b_{1} } & {2b_{2} } \\ {\sqrt 3 b_{1} } & { - \sqrt 3 b_{1} } & 0 \\ {b_{2} } & {b_{2} } & {b_{2} } \\ \end{array} } \right) $$

Assume that each wheel has the same property and the same size. \( m \) is the mass of the robot and \( I_{v} \) is the moment of Inertia of the robot. The moment of each wheel can be defined as \( I_{w} \), and \( r \) is the radius of the wheel. Besides, \( c \) denotes the viscous friction factor of the wheel and \( k \) represents the gain factor of the driving wheel. The input torques are described as \( \tau_{i} \).

Considering the model uncertainties and external disturbance, we can get the dynamics as \( \dot{x}_{2} = (A + \Delta A)x_{2} + (a_{2} + \Delta a_{2} )S(x_{2} ) + (B + \Delta B)\tau + w(x,t) \). In order to deal with this problem, we define \( d(x,t) = \Delta Ax_{2} + \Delta a_{2} S(x_{2} ) + \Delta B\tau + w(x,t) \) where \( d(x,t) = (d_{1} ,d_{2} ,d_{3} )^{T} \) and the boundedness \( d \) of \( d(x,t) \) is unknown with \( \left| {d_{i} } \right| \le d_{t} \). Thus, the robot system with model uncertainties and external disturbance can be expressed as (4).

$$ \begin{aligned} & \dot{x}_{1} = J(\theta )x_{2} \\ & \dot{x}_{2} = Ax_{2} + a_{2} S(x_{2} ) + B\tau + d(x,t) \\ \end{aligned} $$
(4)

The tracking control problem with full-state constraints is that suitable control law should be designed to track the desired trajectory \( (x_{d} ,y_{d} ,\theta_{d} ) \) and the state constraints \( \left| x \right| < k_{x} , \, \left| y \right| < k_{y} , \, \left| \theta \right| < k_{\theta } , \, \left| {v_{x} } \right| < k_{vx} , \, \left| {v_{y} } \right| < k_{vy} , \, \left| \omega \right| < k_{\omega } \) are not violated, where \( k_{c1} = (k_{x} ,k_{y} ,k_{\theta } )^{T} , \, k_{v1} = (k_{vx} ,k_{vy} ,k_{\omega } )^{T} \) are positive constants. Assume that the desired trajectory satisfies \( \left| {x_{d} } \right| \le k_{xd} < k_{x} , \, \left| {y_{d} } \right| \le k_{yd} < k_{y} , \, \left| {\theta_{d} } \right| \le k_{\theta d} < k_{\theta } , \)

\( \left| {v_{xd} } \right| \le k_{vxd} < k_{vx} , \, \left| {v_{yd} } \right| \le k_{vyd} < k_{vy} , \, \left| {\omega_{d} } \right| \le k_{\omega d} < k_{\omega } \), where \( k_{c2} = (k_{xd} ,k_{yd} ,k_{\theta d} )^{T} , \, \) \( k_{v2} = (k_{vxd} ,k_{vyd} ,k_{\omega d} )^{T} \) are positive constants.

3 Controller Design

Consider the kinematics and dynamics of the robot (4). An adaptive controller based on barrier Lyapunov method is given to handle the full-state constraints and disturbances. Two inequalities are given as follows.

$$ 0 \le \left| x \right| - x\,\tan \,h(\varepsilon x) \le \frac{l}{\varepsilon }\quad (\varepsilon > 0,l = e^{ - (l + 1)} ) $$
(5)
$$ \log \frac{{k^{2} }}{{k^{2} - x^{2} }} \le \frac{{x^{2} }}{{k^{2} - x^{2} }}\quad (\left| x \right| < k) $$
(6)

Denote \( z_{11} = x - x_{d} , \, z_{12} = y - y_{d} , \, z_{13} = \theta - \theta_{d} \), \( z_{21} = v_{x} - \alpha_{11} , \, z_{22} = v_{y} - \alpha_{12} , \, z_{23} \) \( = \omega - \alpha_{13} \), which also can be expressed as \( z_{1} = x_{1} - x_{1d} , \, z_{2} = x_{2} - \alpha_{1} \). Choose a barrier Lyapunov function as

$$ V_{1} = \frac{1}{2}\sum\limits_{i = 1}^{3} {\log \frac{{k_{1i}^{2} }}{{k_{1i}^{2} - z_{1i}^{2} }}} $$
(7)

where \( k_{1} = (k_{11} ,k_{12} ,k_{13} )^{T} = \left| {k_{c1} } \right| - \left| {k_{c2} } \right| \) are positive constants. Differentiating Eq. (7) will lead to \( \dot{V}_{1} = \sum\limits_{i = 1}^{3} {\frac{{z_{1i} \dot{z}_{1i} }}{{k_{1i}^{2} - z_{1i}^{2} }}} \) and \( \dot{z}_{1} = J(\theta )(z_{2} + \alpha_{1} ) - (\dot{x}_{d} ,\dot{y}_{d} ,\dot{\omega }_{d} )^{T} \). Design the auxiliary variables as \( \alpha_{1} = J^{T} (\theta )[(\dot{x}_{d} ,\dot{y}_{d} ,\dot{\theta }_{d} )^{T} - (k_{a1} z_{11} ,k_{a2} z_{12} ,k_{a3} z_{13} )^{T} ] \), where \( k_{ai} (i = 1,2,3) \) are positive constants, thus we can obtain

$$ \dot{V}_{1} = \sum\limits_{i = 1}^{3} {\frac{{z_{1i} \dot{z}_{1i} }}{{k_{1i}^{2} - z_{1i}^{2} }} = } - \sum\limits_{i = 1}^{3} {\frac{{k_{ai} z_{1i}^{2} }}{{k_{1i}^{2} - z_{1i}^{2} }} + \sum\limits_{i = 1}^{3} {\frac{{z_{1i} J_{i} (\theta )z_{2} }}{{k_{1i}^{2} - z_{1i}^{2} }}} } $$
(8)

In order to deal with the disturbances, we denote the unknown boundary as \( d = d_{t} \), and the estimate error is described as \( \tilde{d} = \hat{d} - d \). Then we choose a barrier Lyapunov function based on (7).

$$ V_{2} = V_{1} + \frac{1}{2}\sum\limits_{i = 1}^{3} {\log \frac{{k_{2i}^{2} }}{{k_{2i}^{2} - z_{2i}^{2} }}} + \frac{1}{2}\tilde{d}^{2} $$
(9)

It is obviously to get \( \dot{z}_{2} = Ax_{2} + a_{2} S(x_{2} ) + B\tau + d(x,t) - \dot{\alpha }_{1} \) by differentiating \( z_{2} \). And we get \( \dot{\alpha }_{1} = \dot{J}^{T} (\theta )[(\dot{x}_{d} ,\dot{y}_{d} ,\dot{\theta }_{d} )^{T} - (k_{a1} z_{11} ,k_{a2} z_{12} ,k_{a3} z_{13} )^{T} ] + J^{T} (\theta )[(\ddot{x}_{d} ,\ddot{y}_{d} ,\ddot{\theta }_{d} )^{T} \) \( - (k_{a1} \dot{z}_{11} ,k_{a2} \dot{z}_{12} ,k_{a3} \dot{z}_{13} )^{T} ] \). Design the input torques as follows.

$$ \begin{aligned} & \tau = - B^{ - 1} [K_{b} z_{2} + Ax_{2} + a_{2} S(x_{2} ) + \hat{d}\tanh (\varepsilon z_{2} ) + (h_{1} ,h_{2} ,h_{3} )^{T} - \dot{\alpha }_{1} ] \\ & h_{1} = (k_{21}^{2} - z_{21}^{2} )(\frac{{z_{11} \cos \theta }}{{k_{11}^{2} - z_{11}^{2} }} + \frac{{z_{12} \sin \theta }}{{k_{12}^{2} - z_{12}^{2} }}) \\ & h_{2} = (k_{22}^{2} - z_{22}^{2} )( - \frac{{z_{11} \sin \theta }}{{k_{11}^{2} - z_{11}^{2} }} + \frac{{z_{12} \cos \theta }}{{k_{12}^{2} - z_{12}^{2} }}) \\ & h_{3} = \frac{{z_{13} (k_{23}^{2} - z_{23}^{2} )}}{{k_{13}^{2} - z_{13}^{2} }} \\ \end{aligned} $$
(10)

\( K_{b} = diag\{ k_{b1} ,k_{b2} ,k_{b3} \} \) and \( k_{bi} > 0(i = 1,2,3) \). Differentiate the Eq. (9) and substitute (10) into \( \dot{V}_{2} \). We can obtain the (11) following \( \left| {d_{i} } \right| \le d \) and the inequality (5).

$$ \dot{V}_{2} \le - \sum\limits_{i = 1}^{3} {\frac{{k_{ai} z_{1i}^{2} }}{{k_{1i}^{2} - z_{1i}^{2} }} - } \sum\limits_{i = 1}^{3} {\frac{{k_{bi} z_{2i}^{2} }}{{k_{2i}^{2} - z_{2i}^{2} }} - } \sum\limits_{i = 1}^{3} {\frac{{\tilde{d}z_{2i} \tanh (\varepsilon z_{2i} )}}{{k_{2i}^{2} - z_{2i}^{2} }}} + \frac{l}{\varepsilon }\sum\limits_{i = 1}^{3} {\frac{d}{{k_{2i}^{2} - z_{2i}^{2} }}} + \tilde{d}\dot{\hat{d}} $$
(11)

The adaptive law is designed for unknown boundary as Eq. (12).

$$ \dot{\hat{d}} = \sum\limits_{i = 1}^{3} {\frac{{z_{2i} \tan \,h(\varepsilon z_{2i} )}}{{k_{2i}^{2} - z_{2i}^{2} }}} - \gamma_{d} \hat{d} $$
(12)

Substituting the adaptive law (12) and the inequality (6) into (11) will lead to the inequality (13) with the equation \( \tilde{d}\hat{d} = (\tilde{d}^{2} + \hat{d}^{2} - d^{2} )/2 \).

$$ \dot{V}_{2} \le - \sum\limits_{i = 1}^{3} {[\log \frac{{k_{ai} k_{1i}^{2} z_{1i}^{2} }}{{k_{1i}^{2} - z_{1i}^{2} }} + } \log \frac{{k_{bi} k_{2i}^{2} z_{2i}^{2} }}{{k_{2i}^{2} - z_{2i}^{2} }}] - \frac{{\gamma_{d} }}{2}\tilde{d}^{2} + \frac{l}{\varepsilon }\sum\limits_{i = 1}^{3} {\frac{d}{{k_{2i}^{2} - z_{2i}^{2} }}} + \frac{{\gamma_{d} }}{2}d^{2} $$
(13)

Therefore, (13) can be expressed as (14), and we can draw the theorem.

$$ \begin{aligned} & \dot{V}_{2} \le - \rho V_{2} + C \\ & \rho = \hbox{min} \{ 2k_{ai} k_{1i}^{2} ,2k_{bi} k_{2i}^{2} ,\gamma_{d} \} (i = 1,2,3) \\ & C = \frac{l}{\varepsilon }\sum\limits_{i = 1}^{3} {\frac{d}{{k_{2i}^{2} - z_{2i}^{2} }}} + \frac{{\gamma_{d} }}{2}d^{2} \\ \end{aligned} $$
(14)

Theorem 1

For the system (4) of omnidirectional mobile robots with full-state constraints, if the initial conditions satisfy \( z_{1i} (0) \in \overline{\Omega }_{1} \triangleq \{ \left| {z_{1i} } \right| < k_{1i} , \, i = 1,2,3\} \) and \( z_{2i} (0) \in \overline{\Omega }_{2} \triangleq \{ \left| {z_{2i} } \right| < k_{2i} , \, i = 1,2,3\} \) , all signals \( \{ z_{1i} ,z_{2i} ,d,i = 1,2,3\} \) will be uniformly bounded with the controller (10) and the adaptive law (12). And the state constraints will never be violated with suitable parameters, which means \( \left| {x_{1} } \right| < k_{c1} , \, \left| {x_{2} } \right| < k_{v1} \) . The tracking error will converge to a sufficiently small compact set to zero with large \( \varepsilon \) and small \( \gamma_{d} \).

4 Simulation Results

The parameter values of the system model are \( I_{v} = 11.25\,{\text{kgm}}^{2} , \, I_{w} = 0.02108\,{\text{kgm}}^{2} , \) \( m = 9.4\,{\text{kg}},\,c = 5.983 \times 10^{ - 6} \,{\text{kgm}}^{2} /{\text{s}},\,k = 1.0,\,L = 0.178\,{\text{m}},\,r = 0.0245\,{\text{m}} \). Initial positions of robot are \( (x(0),y(0),\theta (0) = ( - 0.5,0.2,0.1) \) and the desired trajectory can be described as \( x_{d} = 0.75\sin (2\pi t/45) \) \( y_{d} = \sin (4\pi t/45) \) and \( \theta_{r} = \pi \,\cos (\pi t/16)/4 \). Besides, the parameters are chosen as \( k_{1} = (0.2,0.5,\pi )^{T} , \, k_{2} = (0.2,0.4,0.2)^{T} , \, \) \( k_{ai} = 1.5, \, k_{bi} = 2.0, \, \hat{d}_{0} = 0.2, \, \varepsilon = 3.0, \, \) \( l = 0.2785, \, \gamma_{d} = 4,k_{11} = 0.6, \, k_{12} = 0.3, \, k_{13} = 0.8, \, \) \( k_{21} = k_{22} = k_{23} = 1.2 \). The disturbance is expressed as \( d_{i} (x,t) = 0.05\cos (t/50) \).

Figure 2 shown that the \( z_{1i} \) and \( z_{2i} \) will are bounded. \( z_{1i} \) will converge to a enough small compact set, which means the tracking errors will be sufficiently small. The tracking trajectory, input torques, the adaptive parameter are shown in Fig. 3. Simulation results validate the effectiveness of the proposed method.

Fig. 2
figure 2

Tracking errors of \( z_{1i} \) and \( z_{2i} \) using the proposed controller with the adaptive law

Fig. 3
figure 3

Tracking trajectory, input torques, the adaptive parameter and the tendency of \( \alpha_{1i} \)

5 Conclusions

In this paper, trajectory tracking of omnidirectional mobile robots with full-state constraints was considered. The control scheme combined the barrier Lyapunov function with adaptive technique to achieve the great tracking performance subject to state constraints. An adaptive estimation law was proposed for disturbances of dynamics in practical systems to improve the robustness of control systems. Meanwhile, the stability of the closed-loop system was analyzed. And simulation results demonstrated the efficiency and availability of the proposed control strategy. In future work, input saturations of robots should be considered to satisfy the real system, and more complicated situations, such as time delay and time-varying state constraints, can be researched to achieve superior tracking performance.