Keywords

1 Introduction

The omnidirectional mobile robot (OMR) is a special type of robot different from the traditional two-wheeled robot because of its flexibility. In recent years, with the rapid development of mobile robot technology, OMRs have received wide attention and are used in various fields such as industrial production, logistics, transport, military surveillance, and environmental detection. The problem of dynamic modeling has been studied extensively [1,2,3]. The controller needs to be designed to ensure that the robot moves in the desired trajectory. Many proposed controllers for omnidirectional robots include PID, fuzzy, and sliding controller [4,5,6,7,8,9,10]. However, these controllers did not consider the parameter uncertainty and external interference problems that exist widely in the real system, which would make the controller unable to achieve the desired performance in real applications. An adaptive control technique is the adaptive backstepping controller that has received much attention in the past decade. The controller’s main advantages are smoothing, robustness, fast response, and good transient concerning system uncertainties and external disturbances. Besides, an adaptive tuner based on the Lyapunov synthesis method [11,12,13] was added in Controller to guarantee the controlled system’s stability.

However, the state constraints have not been studied in the above documents in the actual system due to the limitation of robot motion space, safe speed. Ignoring these limitations will cause the designed controller to fail to achieve the desired tracking performance and even cause collision damage to the robot. Therefore, in practical application, it is necessary to study the method control method for tracking the trajectory of an omnidirectional mobile robot with state constraints.

Recently, for state-constrained systems, the Barrier Lyapunov function effectively deals with state constraints [14,15,16,17]. Bai et al. [15] proposed an adaptive controller to solve the full state constraint for DC motor. Meng et al. [17] designed an adaptive controller based on a radial basis function neural network, realizing the time-varying state constraint of a multi-input multi-output nonlinear system. Ding et al. [18] approximate the unknown wheeled robot model through the neural network and propose a state-limited fully adaptive neural network controller that can realize the effective tracking of the reference trajectory of a two-wheeled differential mobile robot. In summary, so far, there is no related research report on trajectory tracking and control of omnidirectional mobile robots in limited conditions input state requirements of the omnidirectional mobile robot during path tracking. State constraint conditions are introduced into the controller design process to ensure that the robot’s position, posture, speed, and other motion states are always within the limits of the specified constraints. So that the robot can operate efficiently and safely; on the other hand, by designing an anti-saturation compensator satisfying the state constraints.

2 Kinematics and Dynamics of OMR

The following equation gives the kinematics of the robot is

$$ \left[ {\begin{array}{*{20}c} {\dot{\emptyset }_{1} } \\ {\dot{\emptyset }_{2} } \\ {\dot{\emptyset }_{3} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\omega_{1} } \\ {\omega_{2} } \\ {\omega_{3} } \\ \end{array} } \right] = \frac{1}{r}H\left( \theta \right)\left[ {\begin{array}{*{20}c} {\dot{x}} \\ {\dot{y}} \\ {\dot{\theta }} \\ \end{array} } \right] $$
(1)

with

$$ H = H\left( \theta \right) = \left[ {\begin{array}{*{20}c} { - S_{\theta } } & {C_{\theta } } & l \\ { - S_{{\theta + \frac{2\pi }{3}}} } & {C_{{\theta + \frac{2\pi }{3}}} } & l \\ { - S_{{\theta - \frac{2\pi }{3}}} } & {C_{{\theta - \frac{2\pi }{3}}} } & l \\ \end{array} } \right] $$
(2)

where \(r\) and \(\omega_{i} , i = 1, 2, 3\) are the radius and the angular velocities of the wheels. \(S_{\theta }\) is \(\sin \theta\), \(C_{\theta } \) is \(\cos \theta\), \(S_{{\theta + \frac{2\pi }{3}}}\) is \(\sin \left( {\theta + \frac{2\pi }{3}} \right)\), and \(C_{{\theta + \frac{2\pi }{3}}}\) is \(\cos \left( {\theta + \frac{2\pi }{3}} \right)\) (Fig. 1).

Matrix \(R\) is the non-singular matrix for each \(\theta \in R\). The inverse matrix \(R^{ - 1}\) is expressed as following,

$$ H^{ - 1} = \frac{2}{3}\left[ {\begin{array}{*{20}c} { - S_{\theta } } & { - S_{{\theta + \frac{2\pi }{3}}} } & { - S_{{\theta - \frac{2\pi }{3}}} } \\ {C_{\theta } } & {C_{{\theta + \frac{2\pi }{3}}} } & {C_{{\theta - \frac{2\pi }{3}}} } \\ \frac{1}{2l} & \frac{1}{2l} & \frac{1}{2l} \\ \end{array} } \right], $$
(3)
Fig. 1.
figure 1

Omnidirectional mobile robot: (a) the photo, (b) motion coordinates.

The translation can be obtained by Newton’s second law of motion from which the linear and angular momentum balance equations are expressed as,

$$ \left[ {\begin{array}{*{20}c} {\ddot{x}_{P} } \\ {\ddot{y}_{P} } \\ \end{array} } \right] = \frac{1}{m}\mathop \sum \limits_{i = 1}^{3} \vec{F}_{i} $$
(4)
$$ \ddot{\theta } = \frac{l}{J}\mathop \sum \limits_{i = 1}^{3} F_{i} { } $$
(5)

where \(F_{i}\) are the tractive force of i’th wheel, respectively. Define \(P = \left[ {x_{P} y_{P} \theta } \right]^{T}\) is the robot position in coordinate system, \(F = \left[ {F_{1} F_{2} F_{3} } \right]^{T}\) it yields

$$ M\ddot{P} = H^{T} F $$
(6)

To drive the wheels, the torque \(\tau_{i}\) and driving voltage \(u_{i}\) for the DC motor is expressed as,

$$ \tau_{i} = \alpha_{1} u_{i} - \beta_{i} \omega_{i} $$
(7)

and

$$ F_{i} = \frac{{\tau_{i} }}{r}, F_{i} = \frac{{\alpha_{i} u_{i} - \beta_{i} \omega_{i} }}{r} $$
(8)

Note that \(\omega = \frac{1}{r}R^{T} \dot{C}\), the Eq. (6) can be rewritten

$$ {\ddot{\text{P}}} = \frac{1}{r}H^{T} au - \frac{1}{{r^{2} }}H^{T} bH{\dot{\text{P}}} $$
(9)

where

$$ \begin{aligned} & u = \left[ {u_{1} u_{2} u_{3} } \right]^{T} , \\ & a = \left[ {\begin{array}{*{20}c} {\alpha_{1} /m} & 0 & 0 \\ 0 & {\alpha_{2} /m} & 0 \\ 0 & 0 & {\alpha_{3} /J} \\ \end{array} } \right],\;\;b = \left[ {\begin{array}{*{20}c} {\beta_{1} /m} & 0 & 0 \\ 0 & {\beta_{2} /m} & 0 \\ 0 & 0 & {\beta_{3} /J} \\ \end{array} } \right], \\ \end{aligned} $$
(10)

3 Controller Design

3.1 Proposed Control Algorithm

A robust adaptive controller is designed for an OMR with uncertain parameters.

Step 1: Define the state variables as \(x_{1} = {\text{P}}\) and \(x_{2} = \dot{P}\) then we write the model of system (12) in state-space form as follows

$$ ~\left\{ {\begin{array}{*{20}l} {\dot{x}_{1} = x_{2} ~} \hfill \\ {\dot{x}_{2} = \frac{1}{r}H^{T} au - \frac{1}{{r^{2} }}H^{T} bRx_{2} ~} \hfill \\ {y~~ = x_{2} ~} \hfill \\ \end{array} } \right. $$
(11)

The inequality is given as follows

$$ \log \frac{{k^{2} }}{{k^{2} - x^{2} }} \le \frac{{x^{2} }}{{k^{2} - x^{2} }} \quad \, \left( {\left| x \right| < k} \right) $$
(12)

Assume that the desired trajectory satisfies \(\left| {\xi_{d} } \right| < k_{d}\). The system tracking error is defined as,

$$ e_{1} = x_{1} - {\upxi }_{d} ,\; \dot{e}_{1} = x_{2} - {\dot{\xi }}_{d} $$
(13a)

By introducing \(e_{2} = x_{2} - \nu_{1}\), where \({\upnu }_{1} {\upnu }_{1}\) is the designed virtual control to be designed later on

$$ e_{2} = x_{2} - \nu_{1} ,\;\dot{e}_{1} = e_{2} + \nu_{1} - \dot{\xi }_{d} ,\;\dot{e}_{2} = \dot{x}_{2} - \dot{\nu }_{1} $$
(13b)

The virtual control is designed as

$$ \nu_{1} = - k_{1} \left( {k_{a1}^{2} - e^{2} } \right)e + {\dot{\xi }}_{d} $$
(14)

To ensure the stability, Barrier Lyapunov function candidate

$$ V_{1} = \frac{1}{2}\log \frac{{k_{a1}^{2} }}{{k_{a1}^{2} - e_{1}^{2} }} $$
(15)

The time derivative

$$ \begin{aligned} \dot{V}_{1} & = \frac{{e_{1} \dot{e}_{1} }}{{k_{a1}^{2} - e_{1}^{2} }} = \frac{{e_{1} \left( {e_{2} + \nu_{1} - \xi_{d} } \right)}}{{k_{a1}^{2} - e_{1}^{2} }} \\ & = \frac{{e_{1} \left( {e_{2} - k_{1} \left( {k_{a1}^{2} - e^{2} } \right)e + \dot{\xi }_{d} - \dot{\xi }_{d} } \right)}}{{k_{a1}^{2} - e_{1}^{2} }} = - ke_{1}^{2} + \frac{{e_{1} e_{2} }}{{k_{a1}^{2} - e_{1}^{2} }} \\ \end{aligned} $$
(16)

where \(\frac{{e_{1} e_{2} }}{{k_{a1}^{2} - e_{1}^{2} }}\) will be cancelled in the following step.

Step 2: In the second step, the actual control input will be described. The time derivative of the error variable \(e_{2} = x_{2} - \nu_{1}\) is

$$ \dot{e}_{2} = \dot{x}_{2} - \dot{\nu }_{1} $$
(17)

From Eq. (14), we obtain

$$ \dot{e}_{2} = \frac{1}{r}H^{T} au - \frac{1}{{r^{2} }}H^{T} bHx_{2} - \dot{\nu }_{1} $$
(18)

Design a desired control input

$$ u^{*} = r\left[ {H^{T} a} \right]^{ - 1} \left( { - k_{2} e_{2} + \frac{1}{{r^{2} }}H^{T} bRx_{2} + \dot{\nu }_{1} } \right) $$
(19)

Because the parameters \({\text{aa}}\) and \({\text{bb}}\) are not available, \({\text{u}}^{*} {\text{u}}^{*}\) cannot be implemented in practice. To solve this problem, the estimated parameters are used to approximated of \({\text{u}}^{*} {\text{u}}^{*}\).

Define that \(\tilde{a} = \hat{a} - a, \tilde{b} = \hat{b} - b\). The proposed adaptive control algorithm is expressed as,

$$ u = r\left[ {H^{T} \hat{a}} \right]^{ - 1} \times \left( { - \frac{{e_{1} (k_{a2}^{2} - e_{2}^{2} ) + k_{2} e_{2} }}{{k_{a1}^{2} - e_{1}^{2} }} + \frac{1}{{r^{2} }}H^{T} \hat{b}Hx_{2} + \dot{\nu }_{1} } \right) $$
(20)

The proposed adaptive algorithms are describe as,

$$ \mathop {\hat{a}}\limits = \frac{1}{r}\frac{{e_{2} }}{{k_{a2}^{2} - e_{2}^{2} }} H^{T} u $$
(21)
$$ \mathop {\hat{b}}\limits = \frac{{e_{2} }}{{k_{a2}^{2} - e_{2}^{2} }} \frac{1}{{r^{2} }}H^{T} Rx_{2} $$
(22)

3.2 Stability Analysis

Theorem:

Consider the dynamic system (11) with the error tracking given by (13a, b) under the novel adaptive controller (20), the update control laws (2122) such that all signals are bounded in the system, then the stability is achieved.

Proof:

The Lyapunov function is defined as follows for entire system,

$$ V_{2} = V_{1} + \frac{1}{2}\log \frac{{k_{a2}^{2} }}{{k_{a2}^{2} - e_{2}^{2} }} + \frac{1}{2}\tilde{a} + \frac{1}{2}\tilde{b} $$
(23)

The time derivative of \(V_{2}\) and

$$ \begin{aligned} ~\dot{V}_{2} & = \dot{V}_{1} + \frac{{e_{2} \dot{e}_{2} }}{{k_{{a2}}^{2} - e_{2}^{2} }} + \tilde{a}\dot{\hat{a}} + \tilde{b}\dot{\hat{b}}~~ \\ ~ & = - ke_{1}^{2} + \frac{{e_{1} e_{2} }}{{k_{{a1}}^{2} - e^{2} }} + \frac{{e_{2} \dot{e}_{2} }}{{k_{{a2}}^{2} - e_{2}^{2} }} + \tilde{a}\dot{\hat{a}} + \tilde{b}\dot{\hat{b}} \\ & = - ke_{1}^{2} + \frac{{e_{1} e_{2} }}{{k_{{a1}}^{2} - e^{2} }} + \frac{{e_{2} \left( {\frac{1}{r}H^{T} \left( {\hat{a} - \tilde{a}} \right)u - \frac{1}{{r^{2} }}H^{T} bRx_{2} ~~ - \dot{\nu }_{1} } \right)}}{{k_{{a2}}^{2} - e_{2}^{2} }} + \tilde{a}\dot{\hat{a}} + \tilde{b}\dot{\hat{b}}~ \\ \end{aligned} $$
(24)

From proposed controller Eq. (20)

$$ \begin{aligned} & = - ke_{1}^{2} - k_{2} e_{2}^{2} + \frac{{e_{2} \left( {\frac{1}{r}H^{T} \tilde{a}u + \frac{1}{{r^{2} }}H^{T} \hat{b}Hx_{2} - \frac{1}{{r^{2} }}H^{T} bHx_{2} } \right)}}{{k_{a2}^{2} - e_{2}^{2} }} + \tilde{a}\mathop {\hat{a}}\limits + \tilde{b}\mathop {\hat{b}}\limits \\ & = - ke_{1}^{2} - k_{2} e_{2}^{2} + \frac{{e_{2} \frac{1}{r}H^{T} \tilde{a}u}}{{k_{a2}^{2} - e_{2}^{2} }} + \tilde{a}\mathop {\hat{a}}\limits + \frac{{e_{2} \frac{1}{{r^{2} }}H^{T} \tilde{b}Hx_{2} }}{{k_{a2}^{2} - e_{2}^{2} }} + \tilde{b}\mathop {\hat{b}}\limits \\ \end{aligned} $$
(25)

From the adaptive algorithm Eq. (22, 23), we have

$$ V_{2} = - ke_{1}^{2} - k_{2} e_{2}^{2} < 0 $$
(26)

Remark

For the system (11) of omnidirectional mobile robots with full-state constraints, if the initial conditions satisfy \(e_{1} \left( 0 \right) \in {\overline{\Omega }}_{1} \triangleq \left\{ {\left| {x_{1} } \right| < k_{a1} , i = 1, 2, 3} \right\}\) and \(e_{2} \left( 0 \right) \in {\overline{\Omega }}_{2} \triangleq \left\{ {\left| {x_{2} } \right| < k_{a2} , i = 1, 2, 3} \right\}\), all signals will be uniformly bounded with the controller (20) and the adaptive (21, 22). The desired trajectory is bound \(\left| {\xi_{d} } \right| < k_{d}\), \(\left| {\dot{\xi }_{d} } \right| < k_{d2}\), so \(\nu_{1}\) is also bounded by the Eq. (14). Introduce that \(k_{b1} = k_{a1} + k_{d}\), \(k_{b2} = k_{a2} + k_{v}\). From the Eq. (13a, b), we conclude that the state constraints will never be violated with suitable parameters, which means \(\left| {x_{1} } \right| < k_{b1}\), \(\left| {x_{2} } \right| < k_{b2}\). The tracking error will converge to a sufficiently small compact set to zero. The objectives of the controller are fulfill.

4 Simulation Results

The actual and nominal values of the parameters in the omnidirectional mobile robot model can be used for the dynamics model. The parameters of the omnidirectional mobile robot model are m  = 4 kg, J  = 10.0 kgm2, r  = 0.1 m, l  = 0.5 m, d   = 0.1 m, δ   = 0.1, a1 = 1, a2 = 1, a3 = 1, b1 = 0.1, b2 = 0.1, b3 = 0.1, λ0 = 0.1, \(\varLambda\) =  2I, ϕ  =  π/6, ks = 1.0. The initial state of the wheeled robot is chosen as [X(0) Y(0) \(\theta \left( 0 \right)\)]T = [0.5 0.8 0.1 0.0 0.0 0.0]T. The desired trajectory is a circle given by \(C_{d}\) = [2cos(1t), 2sin(1t)].

Figure 2 shows the trajectory tracking errors of the robot. The figure indicate that the errors can converge to the small neighborhood of the origin, and the errors is always in the bounded interval. Figure 3 shows that the robot tracks along the desired trajectory at initial and full time. Figure 4 shows that the robot’s angle has a quick response at the initial moment. The robot’s angle is 1 rad at the starting point, and the desired angle is 0 rad. It only takes about 1 s for the robot to follow the desired angular trajectory. The proposed tracking controller is the effective and quick responsive. Figure 5 shows the voltages applied to the three motors of the three wheels. The voltage signal is smooth and reaches a maximum value of 80 V. As the robot track desired trajectory, the applied voltage values are limited to –2.5 V to 2, 5 V. It is proven that the proposed controller works efficiently. Figures 6 and 7 show the changes in the estimated values of the adaptive parameters \(\hat{a}_{i}\) and \(\hat{b}_{i}\). From the figures it can be seen that the parameters of the model update to the stable value after 0.05 s. To illustrate the effectiveness of the controller (20) in handling state constraints. The error convergence rate of \(e_{2}\) is greatly reduced, as shown in Fig. 8. In Fig. 8, \(e_{2}\) can converge to the vicinity of the origin in the range of 0–1.5 s. Therefore, from the controller (20) it is shown that the Barrier Lyapunov method avoids the occurrence of conditions that exceed the state constraints, and ensures the implementation of the desired trajectory tracking of the robot under state constraints.

Fig. 2.
figure 2

The tracking error

Fig. 3.
figure 3

The path tracking

Fig. 4.
figure 4

Path tracking of the theta (\(\theta )\).

Fig. 5.
figure 5

The control voltage for motors

Fig. 6.
figure 6

The estimated parameter \(\hat{a}_{i}\)

Fig. 7.
figure 7

The estimated parameter \(\hat{b}_{i}\)

Fig. 8.
figure 8

The tracking error \(e_{2i}\)

5 Conclusions

To solve the problem of state constraint in the trajectory tracking process of an omnidirectional mobile robot, this paper proposes an adaptive tracking control method, which solves the problem of state constraint during the tracking trajectory of the robot with Barrier Lyapunov function. At the same time, an adaptive algorithm was proposed to estimate the unknown parameters of the system. Through simulation analysis, it is shown that the proposed method has better robustness and tracking trajectory. The next work is to design the tracking controller of an omnidirectional mobile robot when there are time-varying state constraints and input saturation, and combine it with perturbation observation nonlinearities to improved system dynamics.