This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Design and Experimental Evaluation of a Hierarchical Controller for an Autonomous Ground Vehicle with Large Uncertainties

Juncheng Li, Maopeng Ran, and Lihua Xie, Fellow, IEEE This work was supported by Delta-NTU Corporate Lab through the National Research Foundation Corporate Lab@University Scheme. (Juncheng Li and Maopeng Ran are co-first authors. Corresponding author: Lihua Xie.)J. Li, M. Ran, and L. Xie are with the School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore 639798, Singapore (email: juncheng001@ntu.edu.sg; mpran@ntu.edu.sg; elhxie@ntu.edu.sg).
Abstract

Autonomous ground vehicles (AGVs) are receiving increasing attention, and the motion planning and control problem for these vehicles has become a hot research topic. In real applications such as material handling, an AGV is subject to large uncertainties and its motion planning and control become challenging. In this paper, we investigate this problem by proposing a hierarchical control scheme, which is integrated by a model predictive control (MPC) based path planning and trajectory tracking control at the high level, and a reduced-order extended state observer (RESO) based dynamic control at the low level. The control at the high level consists of an MPC-based improved path planner, a velocity planner, and an MPC-based tracking controller. Both the path planning and trajectory tracking control problems are formulated under an MPC framework. The control at the low level employs the idea of active disturbance rejection control (ADRC). The uncertainties are estimated via a RESO and then compensated in the control in real time. We show that, for the first-order uncertain AGV dynamic model, the RESO-based control only needs to know the control direction. Finally, simulations and experiments on an AGV with different payloads are conducted. The results illustrate that the proposed hierarchical control scheme achieves satisfactory motion planning and control performance with large uncertainties.

Index Terms:
Autonomous ground vehicles (AGVs), trajectory planning and tracking, uncertainty, model predictive control (MPC), extended state observer (ESO).

I Introduction

Nowadays, autonomous ground vehicles (AGVs) are playing an ever-increasing role in both civilian and military fields. These devices can increase productivity, decrease costs and human faults. However, in real applications (e.g., material handling in warehouses), an AGV is characterized by uncertain and challenging operational conditions, such as different payloads, varying ground conditions, and manufacturing imperfection [2, 3]. In this paper, we aim to solve the motion planning and control problem of AGVs with large uncertainties.

In general, there are three basic phases and modules in the AGV motion planning and control system, i.e., path planning, trajectory tracking control, and dynamic control [4]. The planning phase generates a feasible path for the AGV to follow. In the literature, various kinds of planning algorithms have been developed, such as A algorithm [5], D algorithm [6], and rapidly exploring random trees (RRT) [7]. With a prior map of the environment, an AGV is able to plan a desired trajectory in real-time. The trajectory tracking control attempts to produce the velocity commands to enable the vehicle to track the planned path. So far, many approaches have been applied to AGV trajectory tracking control, such as classical PID control [8], sliding mode control [9], robust control [10], and intelligent control [2]. However, realistic constraints imposed by the AGV model and physical limits cannot be effectively handled in theses methods.

In fact, the AGV path planning and trajectory tracking control with constraints can be naturally formulated into a constrained optimal control problem [11]. Therefore, model predictive control (MPC), which is capable of systematically handling constraints, became a well-known method to solve the AGV path planning and trajectory tracking control problem [12, 13, 14, 15, 16]. In [15], a linear parameter varying MPC (LPV-MPC) strategy was developed for an AGV to follow the trajectory computed by an offline nonlinear model predictive planner (NLMPP). In [16], an MPC-based trajectory tracking controller which is robust against the AGV parameter uncertainties was proposed. The controller in [16] can be obtained by solving a set of linear matrix inequalities which are derived from the minimization of the worst-case infinite horizon quadratic objective function. Note that in [12, 13, 14, 15, 16], the trajectory tracking control is independent from the planning phase. However, a better integration between the path planning and trajectory tracking control would be helpful for enhancing the overall performance of an AGV. These observations motivate us to develop a novel MPC-based path planning and trajectory tracking control scheme for AGVs. The original rough path generated by a global planner is smoothed using MPC. A velocity planner is developed to assign the reference speed along the optimal path. Then an MPC-based trajectory tracking controller is designed to track the resulting trajectory. Since both the path planning and trajectory tracking control problems are solved using MPC-based methods, the AGV is expected to achieve better tracking performance.

Refer to caption
Figure 1: The proposed hierarchical control scheme for an AGV with large uncertainties.

The dynamic control, which performs in the AGV dynamic model level, aims to guarantee that the AGV moves according to the commands generated by the trajectory tracking controller. In practice, the AGV dynamic model is largely uncertain due to changing operational conditions. The active disturbance rejection control (ADRC), which is an efficient approach to handle uncertainties, has received an increasing attention in recent years [17, 18, 19]. The basic idea of ADRC is to view the uncertainties as an extended state of the system, and then estimate it using an extended state observer (ESO), and finally compensate it in the control action. In this paper, this idea is employed to design the AGV dynamic controller. A reduced-order ESO (RESO) is leveraged to estimate the uncertainties in the dynamic model of the AGV. On the theoretical side, we find that for general first-order uncertain nonlinear systems, the RESO-based ADRC controller only needs to know the sign of the control gain (i.e., the control direction). This is the weakest condition on the control gain compared with the existing ADRC literature (e.g., [20, 21, 22, 24, 23, 26, 27, 25]). More importantly, this feature of the RESO-based ADRC controller is vital to handle the possibly largely uncertain control gain in the AGV dynamic model.

The proposed overall control scheme for an AGV with large uncertainties has a hierarchical structure (see, Fig. 1), i.e., an MPC-based path planning and trajectory tracking control in the high-level to plan the trajectory and steer the vehicle, while the RESO-based dynamic control in the low-level to track the velocity commands and handle the uncertainties. To verify the effectiveness of the developed hierarchical controller, we implement it in an industrial AGV platform with different payloads. The main contributions of this paper are threefold.

  1. 1.

    An MPC-based path planning and trajectory tracking control strategy is developed for industrial AGVs. Compared with the existing results, the developed strategy enables a better integration between the path planning and trajectory tracking control to enhance the overall tracking performance.

  2. 2.

    A RESO-based dynamic controller is designed to handle the large uncertainties. It is proved that for a first-order uncertain nonlinear system, the RESO-based controller only needs to know the control direction. This is a new theoretical contribution, and makes the controller especially suitable for the AGV dynamic control, since in real applications such as material handling, the control gain of the AGV dynamic model is largely uncertain but its sign is fixed.

  3. 3.

    Experiments of an AGV with different payloads are conducted in a warehouse. The maximal payload in the experiments is about double the weight of the AGV itself. This indicates that large uncertainties exist in the AGV dynamics, and it is a very challenging scenario that has been rarely considered in the literature. The experimental results show that the proposed hierarchical control scheme is easy for implementation, satisfactory in motion planning and trajectory tracking control, and effective in handling large uncertainties.

The remainder of this paper is organized as follows. In Section II, the AGV system model and problem statement are presented. In Section III, the proposed MPC-based path planning and trajectory control approach is introduced. Section IV gives the design and analysis of the RESO-based controller. Simulation and experimental results are provided in Section V to demonstrate the effectiveness and superiority of the proposed hierarchical control scheme. Finally, Section VI concludes the paper.

II System Model and Problem Statement

Refer to caption
Figure 2: Schematic representation of the AGV.

The schematic representation of the AGV is depicted in Fig. 2. The mathematical model of the AGV, including the kinematic equations and the dynamic equations, can be expressed as

{x˙(t)=v(t)cos(θ(t)),y˙(t)=v(t)sin(θ(t)),θ˙(t)=ω(t),v˙(t)=Tr(t)+Tl(t)Mrωfe(t)M,ω˙(t)=lω(Tr(t)Tl(t))2Irωτe(t)I,\left\{\begin{aligned} \dot{x}(t)=&v(t)\cos(\theta(t)),\\ \dot{y}(t)=&v(t)\sin(\theta(t)),\\ \dot{\theta}(t)=&\omega(t),\\ \dot{v}(t)=&\frac{T_{r}(t)+T_{l}(t)}{Mr_{\omega}}-\frac{f_{\rm{e}}(t)}{M},\\ \dot{\omega}(t)=&\frac{l_{\omega}(T_{r}(t)-T_{l}(t))}{2Ir_{\omega}}-\frac{\tau_{\rm{e}}(t)}{I},\end{aligned}\right. (1)

where [x(t),y(t)]T[x(t),y(t)]^{\rm{T}} is the position of the AGV, θ(t)\theta(t) is the orientation, [x(t),y(t),θ(t)]T[x(t),y(t),\theta(t)]^{\rm{T}} represents the pose of the AGV with respect to the coordinate XYX-Y; v(t)v(t) and ω(t)\omega(t) are the linear and angular velocities, respectively; MM and II are the mass and moment of inertia of the AGV, respectively; 2lω2l_{\omega} and rωr_{\omega} are the distance between the two wheels and the radius of the wheel, respectively; Tr(t)T_{r}(t) and Tl(t)T_{l}(t) are the torques of the right and left wheels, respectively; fe(t)f_{\rm{e}}(t) and τe(t)\tau_{\rm{e}}(t) are the external disturbance force and torque, respectively.

Let vL{v_{L}} and vR{v_{R}} be the velocities of the left and right wheels of the AGV, respectively. Due to physical limitations, the velocities of the wheels are bounded by |vL|vmax\left|{v_{L}}\right|\leq v_{\max} and |vR|vmax\left|{v_{R}}\right|\leq v_{\max}, where vmaxv_{\max} is the maximal wheel speed. What is more, the linear and angular velocities of the AGV can be formulated as

v\displaystyle v =(vL+vR)/2,\displaystyle=({v_{L}}+{v_{R}})/2, (2a)
w\displaystyle w =(vRvL)/(2lw).\displaystyle=({v_{R}}-{v_{L}})/({2l_{w}}). (2b)

It follows from (2) that

|v|+lw|w|vmax.\left|v\right|+{l_{w}}\left|w\right|\leq{v_{\max}}. (3)

The inequality (3) defines a diamond-shaped domain constraint on vv and ww [13]. Besides, the path planning and trajectory tracking control are inherently coupled [11]. Thus the first problem to be solved in this paper is to design an optimal path planning and trajectory tracking control approach, with the motion constraints systematically handled.

On the other hand, it can be observed from (1) that the dynamics of the AGV suffer from the external disturbance force and torque (such as friction force and torque). Most importantly, in some real applications, the mass and moment of inertia of the AGV platform are largely uncertain, due to different payloads and load distributions. For example, in our experiments, the maximal payload of the AGV reaches double of its own weight (i.e., the mass of the AGV platform varies between M0M_{0} and 3M03M_{0}, where M0M_{0} is the own weight of the AGV). The second problem to be solved in this paper is to design a robust controller which is easy to implement and capable of handling the large uncertainties.

III MPC-based Trajectory Planning and Tracking Control

A global path consists of a sequence of waypoints. Each waypoint can be represented by ri=[xi,yi]Tr_{i}=[x_{i},y_{i}]^{\rm{T}}. If the total number of the waypoints is NrN_{r}, the path can be represented by a list 𝐫={ri}0Nr\mathbf{r}=\{r_{i}\}_{0}^{N_{r}}. A trajectory is a mapping between the time domain and space domain of the path. It can be represented by a list ν={ri,Ti}0Nr\nu=\{r_{i},T_{i}\}_{0}^{N_{r}}, where TiT_{i} is the reference time for the waypoint rir_{i}. In this paper, we assume a navigation map is prebuilt by simultaneous localization and mapping (SLAM), and a rough original path is obtained by a geometric path planning algorithm (e.g., A* algorithm). First, this original path is assigned with a constant reference velocity to execute an MPC-based optimization process, which is for improving the smoothness of the original path with all the constraints systematically handled. Then, based on the smoothed path, a reference velocity planner is developed to assign the AGV speed. Finally, the MPC-based trajectory tracking controller is designed.

III-A MPC-based Improved Path Planning

The main idea of the MPC-based improved path planning is generating an optimal path by simulating a tracking process using MPC along the original path. The new path is smoother than the original path, and is kinematically feasible for the AGV to follow.

Since only the spatial information is considered in the global path planning stage, a trajectory with a constant velocity is first generated based on the global path 𝐫={ri}0Nr\mathbf{r}=\{r_{i}\}_{0}^{N_{r}}. In our study, the resolution of the environment map is assumed to be high enough, so the distance between adjacent reference waypoints rk1r_{k-1} and rkr_{k} is small. The time interval Δtk\Delta t_{k} can be approximated by

Δtk=rk+1rkvc,\Delta t_{k}=\frac{{\left\|{r_{k+1}-r_{k}}\right\|}}{{{v_{c}}}}, (4)

where the reference velocity of the robot at position rkr_{k} is set to be a constant value vc{v_{c}}. Based on the time interval Δtk\Delta t_{k}, the corresponding reference time of each waypoint rkr_{k} can be expressed as

Tk={0,ifk=0i=0k1Δti,ifk(0,Nr]T_{k}=\left\{\begin{aligned} &~{}0,&&\mbox{if}\ k=0\\ &\sum\limits_{i=0}^{k-1}\Delta t_{i},&&\mbox{if}\ {k}\in(0,N_{r}]\end{aligned}\right. (5)

Then, an MPC-based tracking process is executed on the trajectory ν={ri,Ti}0Nr\nu=\{r_{i},T_{i}\}_{0}^{N_{r}} to generate a new path. The optimal trajectory tracking control problem at time TkT_{k} is formulated as

minu0,u1,,uH1\displaystyle\mathop{\min}\limits_{{u_{0}},{u_{1}},...,{u_{H-1}}} Jf(zH,rH)+i=0H1J(zi,ui,ri)\displaystyle J_{\textrm{f}}(z_{H},r_{H})+\sum\limits_{i=0}^{H-1}{J({z_{i}},{u_{i}},{r_{i}})} (6a)
s.t. z0=z(Tk),\displaystyle{z_{0}}=z(T_{k}), (6b)
zi+1=χ(zi,ui,Δtk+i),i[0,H1]\displaystyle{z_{i+1}}=\chi({z_{i}},{u_{i}},\Delta t_{k+i}),\;\ i\in[0,H-1] (6c)
zi,ui𝕌,i0\displaystyle{z_{i}}\in\mathbb{Z},\ {u_{i}}\in\mathbb{U},\quad\quad\quad\ \;\;\forall i\geq 0 (6d)

where J()J(\cdot) is the cost within the finite horizon HH and Jf()J_{\textrm{f}}(\cdot) is the terminal cost. Here zz is the pose of the AGV, and uu is the control input which consists of the linear and angular velocities. This optimization problem is solved under several constraints. Eq. (6b) represents the initial state constraint. The initial state z0z_{0} is given by current state z(Tk)z(T_{k}). Eq. (6c) represents the kinematic constraint which is used to predict the motion of the AGV. According to the kinematic equation in (1) and the reference trajectory, the kinematic constraint (6c) can be specified by

zi+1=zi+[cos(θi)0sin(θi)001]uiΔtk+i.z_{i+1}=z_{i}+\left[{\begin{array}[]{*{20}{c}}{\cos({\theta}_{i})}&0\\ {\sin({\theta}_{i})}&0\\ 0&1\\ \end{array}}\right]u_{i}\Delta t_{k+i}. (7)

Note that in (7), the time interval Δtk+i\Delta t_{k+i} should be small enough to reduce the discretization error. According to (4), it means that the trajectory should be adequately dense. Since the MPC predicts the AGV’s future trajectory within a fixed horizon, a denser trajectory will lead to a higher computational complexity. Therefore, in practice, there exists a tradeoff between the model discretization accuracy and the computational complexity. Besides, Eq. (6d) represents the state and control input constraints, where \mathbb{Z} and 𝕌\mathbb{U} are the feasible sets for zz and uu, respectively.

In the MPC framework, the cost function needs to be carefully defined to achieve satisfactory performance. For the path smoothing task, both tracking accuracy and smoothness of the control should be considered. Therefore, the complete cost function is designed as

i=1Hz~iTQiz~i+i=0H1(u~iTRiui~+ΔuiTSiΔui),\sum\limits_{i=1}^{H}{{{\widetilde{{z}}}_{i}^{\rm{T}}}}Q_{i}\widetilde{{z}}_{i}+\sum\limits_{i=0}^{H-1}({\widetilde{{u}}_{i}^{\rm{T}}}R_{i}\widetilde{{u_{i}}}+{\Delta u_{i}^{\rm{T}}}S_{i}{{\Delta{u_{i}}}}), (8)

where

z~i=rk+izi,\displaystyle\widetilde{{z}}_{i}=r_{k+i}-{z_{i}}, (9a)
u~i=uk+irefui,\displaystyle\widetilde{{u}}_{i}=u_{k+i}^{\rm{ref}}-{u_{i}}, (9b)
Δui=ui+1ui,\displaystyle\Delta{u}_{i}={u_{i+1}}-{u_{i}}, (9c)

and Qi3×3Q_{i}\in{\mathbb{R}^{3\times 3}}, Ri2×2R_{i}\in{\mathbb{R}^{2\times 2}}, and Si2×2S_{i}\in{\mathbb{R}^{2\times 2}} are positive definite weighting matrices. The cost function consists of three parts. z~i\widetilde{z}_{i} represents the distance between the state zz and the corresponding reference waypoint rr at time step ii, so the first part of the cost function penalizes the distance between the smoothed path and original path within the time horizon HH. u~i\widetilde{u}_{i} represents the difference between the control input uu and the reference velocity urefu^{\rm{ref}} at time step ii. Since a constant velocity vcv_{c} is used to generate the trajectory, here uref=[vc,0]Tu^{\rm{ref}}=[v_{c},0]^{\rm{T}}. Δui\Delta u_{i} represents the variation between two successive control inputs. The third part of the cost function penalizes the fluctuation of the control signal and makes the robot motion smoother.

Note that the optimization problem (6) is non-convex due to the inclusion of the non-convex constraint (6c). In this study, we use the interior point method [28] to solve the non-convex optimization problem (6). This method implements an interior point line search filter to find a local optimal solution. Since our objective is to find an optimal path close to the original path, the original path is leveraged to initialize the optimization problem, which makes it very likely to converge to the global optimal solution. The optimal predicted states 𝐳\bf{z}^{*} and control inputs 𝐮\bf{u}^{*} are denoted by

𝐳=[z1,z2,,zH]T,𝐮=[u0,u1,,uH1]T.{\ \;\bf{z}^{*}}=[z_{1}^{*},z_{2}^{*},...,z_{H}^{*}]^{\rm{T}},\ \;{\bf{u}^{*}}=[u_{0}^{*},u_{1}^{*},...,u_{H-1}^{*}]^{\rm{T}}. (10)

The predicted states 𝐳\bf{z}^{*} can be regarded as a new path which consists of HH waypoints. In the optimization problem, the tracking error and control input fluctuation have been penalized, so the new path should be both close to the original path and smooth enough. What is more, since the kinematic model and the velocity limits are considered during the optimization process, the new path is kinematically and physically feasible for the AGV.

If the prediction horizon HH is selected as the length of the original path NrN_{r}, the new optimal path 𝐫\mathbf{r}^{*} can be directly obtained by 𝐳\bf{z}^{*}. We denote this global optimal path as 𝐫Nr\mathbf{r}^{*}_{N_{r}}. However, in this case, the dimension (number of the decision variables) of the optimization problem is quite large and the computation will become time-consuming. Here, to solve this problem, we propose a piecewise path generation approach to achieve an efficient planning.

To begin with, a straightforward method is given. The MPC problem (6) within a proper time horizion HH is solved. Then, based on the optimization result, 𝐳\mathbf{z}^{*} is extracted to the new path, and the final predicted state zHz^{*}_{H} is used to update the initial constraint (6b) which generates the next MPC problem. This process is repeated until the whole original path is replaced by the optimal predicted states. However, the path generated in this way maybe not smooth at the piecewise points. To overcome this limitation, we overlap the time horizon of the successive optimization process. Specifically, in each optimization step, only the first HuH_{\rm{u}} elements of 𝐳\mathbf{z}^{*} is extracted to generate the new path and the initial state of the next MPC problem is set as zHuz^{*}_{H_{\rm{u}}}, where HuH_{\rm{u}} denotes the update horizon which satisfies Hu<HH_{\textrm{u}}<H. In this way, the obtained path 𝐫\mathbf{r}^{*} is smoother than the original path and close to the global optimal path 𝐫Nr\mathbf{r}^{*}_{N_{r}}. The proposed MPC-based improved path planning is summarized in Algorithm 1.

Algorithm 1 MPC-based improved path planning
1:Original path 𝐫={ri}0Nr,ri=[xi,yi]T\mathbf{r}=\{r_{i}\}_{0}^{N_{r}},r_{i}=[x_{i},y_{i}]^{\rm{T}}; Reference velocity vcv_{c}; Planning horizon HH; Update horizon HuH_{\textrm{u}}
2:function Simulated path improvement (𝐫\mathbf{r})
3:     Generate a trajectory ν={ri,Ti}0Nr\mathbf{\nu}=\{r_{i},T_{i}\}_{0}^{N_{r}} based on vcv_{c}
4:     Initial state z0r0z_{0}\leftarrow r_{0} and time step k0k\leftarrow 0
5:     while k<Nrk<N_{r} do
6:         Initialization: {z1,,zH}{rk+1,,rk+H}\{z_{1},\ldots,z_{H}\}\leftarrow\{r_{k+1},\ldots,r_{k+H}\}
7:         Solve the MPC problem (6), obtain 𝐳\bf{z}^{*} and 𝐮\bf{u}^{*}
8:         {rk,,rk+Hu1}{z1,zHu}\{r^{*}_{k},\ldots,r^{*}_{k+H_{\textrm{u}}-1}\}\leftarrow\{z^{*}_{1},\ldots z^{*}_{H_{\textrm{u}}}\}
9:         kk+Huk\leftarrow k+H_{\textrm{u}}
10:         z0zHuz_{0}\leftarrow z^{*}_{H_{\textrm{u}}}      
11:     return 𝐫={ri}0Nr,ri=[xi,yi,θi]T\mathbf{r^{*}}=\{r^{*}_{i}\}_{0}^{N_{r}},r_{i}^{*}=[x_{i}^{*},y_{i}^{*},\theta_{i}^{*}]^{\rm{T}}

III-B Reference Velocity Planning

In our approach, the trajectory generation is decomposed into spatial path generation and reference velocity (speed profile) planning. A reasonable and efficient reference velocity planning is necessary to obtain safe and comfortable navigation behavior. Based on the MPC-improved path, a velocity planner is developed in this subsection to assign the reference speed along the path, which completes the trajectory planning phase.

In real applications, the need for safe robot motion (e.g., to prevent rollover) should be considered. It is dangerous for an AGV to turn sharply at a high forward speed. However, the velocity constraint (3) cannot provide the guarantee of the safety. To solve this problem, we introduce a new parameter cv1c_{v}\geq 1 into the constraint (3), that is

|v|+lwcv|w|vmax.\left|{v}\right|+{l_{w}c_{v}}\left|{w}\right|\leq{v_{\max}}. (11)

By adjusting the parameter cvc_{v}, the velocity constraint (11) can satisfy different requirements of the safety level. The linear constraint (11) is utilized to generate the reference velocity (speed profile). Firstly, we approximate wiw_{i} based on the path 𝐫={ri}0Nr\mathbf{r}^{*}=\{r_{i}^{*}\}_{0}^{N_{r}}. Note that now each waypoint in the path is represented by ri=[xi,yi,θi]Tr_{i}^{*}=\left[x_{i}^{*},y_{i}^{*},\theta_{i}^{*}\right]^{\rm{T}}, where pi=[xi,yi]Tp_{i}^{*}=\left[x_{i}^{*},y_{i}^{*}\right]^{\rm{T}} denotes the reference position, and θi\theta_{i}^{*} denotes the reference heading angle of the AGV. Denote the distance between adjacent waypoints rir_{i}^{*} and ri+1r_{i+1}^{*} as did_{i}, and the arc length from the origin to the waypoint rir_{i}^{*} as sis_{i}. It can be computed that

di=pi+1pi,si=k=0i1dk.d_{i}=\left\|{p^{*}_{i+1}-p_{i}^{*}}\right\|,\ s_{i}=\sum\limits_{k=0}^{i-1}{d_{k}}. (12)

Since the time interval Δti\Delta t_{i} and the distance did_{i} are small, the reference velocity and time derivative of the heading angle can be approximated by

viref=diΔti,v_{i}^{\rm{ref}}={d_{i}\over\Delta t_{i}}, (13)
θ˙i=θi+1θiΔti.\dot{\theta}_{i}={\theta^{*}_{i+1}-\theta^{*}_{i}\over\Delta t_{i}}. (14)

According to (13) and (14), we obtain

θ˙i=θi+1θidiviref.\dot{\theta}_{i}={\theta^{*}_{i+1}-\theta^{*}_{i}\over d_{i}}v_{i}^{\rm{ref}}. (15)

It can be observed from the AGV kinematic equations in (1) that the term θ˙i\dot{\theta}_{i} represents wirefw_{i}^{\rm{ref}} in the planning phase. However, if θ˙i\dot{\theta}_{i} is approximated by the discrete difference equation (14), it may perform a discontinuous phenomenon and leads to an uncomfortable speed profile. To solve this problem, the polynomial curve fitting approach is leveraged to obtain a smooth reference velocity profile. The path 𝐫\mathbf{r}^{*} can be parameterized using the arc length along the path ss, e.g., 𝐫(si)=ri\mathbf{r}^{*}(s_{i})=r_{i}^{*}. Similarly, the heading angle can be also parameterized by θ(si)=θi\theta^{*}(s_{i})=\theta_{i}^{*}. A cubic polynomial curve fitting of heading angle θ\theta^{*} with respect to ss is given by

θ(s)=c3s3+c2s2+c1s+c0,\theta^{*}(s)=c_{3}s^{3}+c_{2}s^{2}+c_{1}s+c_{0}, (16)

where c0c_{0} to c3c_{3} are coefficients determined by minimizing the fit error [29]. Generally, a single polynomial function cannot represent a long path precisely. Therefore, a piecewise polynomial curve fitting is implemented. Note that

wref=dθdt=dθdsdsdt=dθdsvref.w^{\rm{ref}}={\frac{{\textrm{d}\theta^{*}}}{{\textrm{d}t}}}=\frac{{\rm{d}\theta^{*}}}{{\textrm{d}s}}\frac{{\textrm{d}s}}{{\textrm{d}t}}=\frac{{\rm{d}\theta^{*}}}{{\textrm{d}s}}v^{\textrm{ref}}. (17)

As a result, the constraint (11) can be rewritten as

|vref|+lwcv|dθdsvref|vmax.\left|{{v^{\rm{ref}}}}\right|+{l_{w}c_{v}}\left|{\frac{{\rm{d}\theta^{*}}}{{\textrm{d}s}}}v^{\rm{ref}}\right|\leq{v_{\max}}. (18)

For differential wheeled AGVs, it is assumed that vref0v^{\rm{ref}}\geq 0, which means the AGV can only move forward. Consider the time-efficiency of the planned trajectory, the reference velocity vrefv^{\rm{ref}} is likely to be selected as large as possible. Therefore, the smoothed reference velocity at waypoint rir_{i}^{*} is specificed by

viref=vmax1+|lwcvdθds|s=si|.v_{i}^{\rm{ref}}=\frac{v_{\max}}{1+\left|l_{w}c_{v}\left.\frac{\rm{d}\theta^{*}}{\textrm{d}s}\right|_{s=s_{i}}\right|}. (19)

This together with the MPC-improved path 𝐫\mathbf{r}^{*} yields the new trajectory ν={ri,Ti}0Nr\nu^{*}=\{r_{i}^{*},T_{i}^{*}\}_{0}^{N_{r}}, where the timing information is calculated by

Ti=k=0i1pk+1pkviref,i(0,Nr].T^{*}_{i}=\sum\limits_{k=0}^{i-1}{\frac{{\left\|{p^{*}_{k+1}-p^{*}_{k}}\right\|}}{{{v_{i}^{\rm{ref}}}}}},\ i\in(0,N_{r}]. (20)

Note that in this paper, the spatial and temporal planning of the trajectory are separated. More specifically, the path is first smoothed by optimization using a constant velocity vcv_{c}, and then the smoothed path is leveraged for the velocity planning. Our simulation and experimental experiences indicate that such a simple two-stage procedure suffices to achieve a satisfactory performance. In some cases, an iterative procedure between the path smoothing and velocity planning could further improve the performance, but with longer computation time.

III-C MPC-based Kinematic Controller

In the online kinematic control stage, due to some practical issues such as localization error, the control sequences generated in the trajectory planning stage cannot be directly applied. A trajectory tracking controller is needed to make the vehicle track the planned trajectory. What is more, those unnecessary aggressive maneuvers should also be avoided. Due to these considerations, the MPC-based trajectory tracking problem is formulated as

minu0,,uH1\displaystyle\centering\mathop{\min}\limits_{{u_{0}},\cdots,{u_{H-1}}}\@add@centering i=1Hz~iTQiz~i+i=0H1(u~iTRiui~+ΔuiTSiΔui)\displaystyle\sum\limits_{i=1}^{H}{{{\widetilde{{z}}}_{i}^{\rm{T}}}}Q_{i}\widetilde{{z}}_{i}+\sum\limits_{i=0}^{H-1}({\widetilde{{u}}_{i}^{\rm{T}}}R_{i}\widetilde{{u_{i}}}+{\Delta u_{i}^{\rm{T}}}S_{i}{{\Delta{u_{i}}}}) (21a)
z0=zc(t),\displaystyle{z_{0}}=z_{c}(t), (21b)
z1=χ(z0,u0,Tk+1t),\displaystyle{z_{1}}=\chi(z_{0},u_{0},T^{*}_{k+1}-t), (21c)
zi+1=χ(zi,ui,Δtk+i),i[0,H1]\displaystyle{z_{i+1}}=\chi({z_{i}},{u_{i}},\Delta t_{k+i}^{*}),\;\ i\in[0,H-1] (21d)
zi,ui𝕌,i0\displaystyle{z_{i}}\in\mathbb{Z},\ {u_{i}}\in\mathbb{U},\quad\quad\quad\ \;\;\forall i\geq 0 (21e)

where z~i=rk+izi\widetilde{{z}}_{i}=r_{k+i}^{*}-{z_{i}}, u~i=uk+irefui\widetilde{{u}}_{i}=u_{k+i}^{\rm{ref}}-{u_{i}} and Δui=ui+1ui\Delta{u_{i}}={u_{i+1}}-{u_{i}}. The optimal control problem needs to be solved at each sampling time. At time tt, the localization system gives the estimated state of the robot zc(t)z_{c}(t), which is used to update the initial constraint (21b). The index kk in the kinematic constraint (21c) and (21d) satisfies Tkt<Tk+1T^{*}_{k}\leq t<T^{*}_{k+1}. By solving (21), the optimal predicted states 𝐳\mathbf{z}^{*} and inputs 𝐮\mathbf{u}^{*} are obtained, then only the first element of 𝐮\mathbf{u}^{*} is applied to the AGV as the kinematic control input. At the next sampling time, the optimization problem (21) is rebuilt and solved again. The whole process is repeated until the goal position is reached.

IV RESO-based Dynamic Controller

The kinematic controller generates the commands of the linear and angular velocities (denoted by vrv_{r} and ωr\omega_{r}, respectively) for the AGV to track the planned trajectory. The objective of the dynamic controller is to make the actual AGV velocities vv and ω\omega follow vrv_{r} and ωr\omega_{r}, respectively. What is more, the large uncertainties (maybe introduced by friction, payloads, etc) in the dynamic equations of the AGV need to be properly handled. To accomplish this goal, we first design a RESO-based tracking controller for a class of general first-order uncertain nonlinear systems. Rigorous theoretical analysis is given to show that, the tracking error can be made arbitrary small under large uncertainties. This approach is then applied to design the dynamic controller for the AGV.

IV-A RESO-based Tracking Control for First-Order Uncertain Nonlinear Systems

Consider the following first-order uncertain nonlinear system

η˙(t)=f(η(t),ϖ(t))+b(η(t),ϖ(t))u(t),t0,\dot{\eta}(t)=f(\eta(t),\varpi(t))+b(\eta(t),\varpi(t))u(t),~{}t\geq 0, (22)

where η(t)\eta(t)\in\mathbb{R} is the state, ϖ(t)\varpi(t)\in\mathbb{R} is the external disturbance, f(),b():×f(\cdot),b(\cdot):\mathbb{R}\times\mathbb{R}\rightarrow\mathbb{R} are uncertain continuously differentiable functions. The objective of the control is to guarantee that the state of the system (22), η(t)\eta(t), tracks a given reference signal ϱ(t)\varrho(t).

Assumption A1: The external disturbance ϖ(t)\varpi(t) and its first derivative ϖ˙(t)\dot{\varpi}(t) are bounded.

Assumption A2: The reference signal ϱ(t)\varrho(t) and its first two derivatives are bounded.

Assumption A3: For all (η(t),ϖ(t))×(\eta(t),\varpi(t))\in\mathbb{R}\times\mathbb{R}, the control gain b()0b(\cdot)\neq 0, and its sign is fixed and known.

Note that large uncertainties exist in system (22), since the drift dynamics f(η(t),ϖ(t))f(\eta(t),\varpi(t)) is totally unknown, and only the sign of the control gain is known. Let b0(η(t)):b_{0}(\eta(t)):\mathbb{R}\rightarrow\mathbb{R} be a nominal function of the control gain b(η(t),ϖ(t))b(\eta(t),\varpi(t)). In this paper, we only require the signs of b()b(\cdot) and b0()b_{0}(\cdot) are the same. By Assumption A3 and without loss of generality, it is assumed that b(),b0()>0b(\cdot),b_{0}(\cdot)>0. For system (22), the total uncertainty is defined as

ξ(t)=f(η(t),ϖ(t))+(b(η(t),ϖ(t))b0(η(t)))u(t).\xi(t)=f(\eta(t),\varpi(t))+(b(\eta(t),\varpi(t))-b_{0}(\eta(t)))u(t). (23)

According to (22) and (23), a first-order RESO is designed as

ς˙(t)=1εL(η(t)ς(t))+b0(η(t))u(t),\dot{\varsigma}(t)=\frac{1}{\varepsilon}L(\eta(t)-\varsigma(t))+b_{0}(\eta(t))u(t), (24)

where ς(t)\varsigma(t)\in\mathbb{R} is the observer state, ε<1\varepsilon<1 is a small positive constant, and L>0L>0 is the observer gain. The output of the RESO (24) is

ξ^(t)=1εL(η(t)ς(t)),\hat{\xi}(t)=\frac{1}{\varepsilon}L(\eta(t)-\varsigma(t)), (25)

which, is the estimate of the total uncertainty ξ(t)\xi(t).

Based on the output of the RESO (24), the control is designed as

u(t)=K(η(t)ϱ(t))ξ^(t)+ϱ˙(t)b0(η(t))ψ(η(t),ϱ(t),ξ^(t)),u(t)=\frac{K(\eta(t)-\varrho(t))-\hat{\xi}(t)+\dot{\varrho}(t)}{b_{0}(\eta(t))}\triangleq\psi(\eta(t),\varrho(t),\hat{\xi}(t)), (26)

where K<0K<0. Furthermore, inherited from the previous high-gain observer results [23, 24, 20, 21], to protect the system from the peaking caused by the initial error and high-gain, the control to be injected into the system is modified as

u(t)=Musatε(ψ(η(t),ϱ(t),ξ^(t))Mu),u(t)=M_{u}\textrm{sat}_{\varepsilon}\left(\frac{\psi(\eta(t),\varrho(t),\hat{\xi}(t))}{M_{u}}\right), (27)

where MuM_{u} is the bound selected such that the saturation will not be invoked under state feedback [23, 24], i.e.,

Mu>supt[0,)|K(η(t)ϱ(t))f(η(t),ϖ(t))+ϱ˙(t)b(η(t),ϖ(t))|.M_{u}>\sup_{t\in[0,\infty)}\left|\frac{K(\eta(t)-\varrho(t))-f(\eta(t),\varpi(t))+\dot{\varrho}(t)}{b(\eta(t),\varpi(t))}\right|. (28)

The function satε():\textrm{sat}_{\varepsilon}(\cdot):\mathbb{R}\rightarrow\mathbb{R} is odd and defined by [24]

satε()={for01+1ε212εfor11+ε1+ε2for>1+ε\textrm{sat}_{\varepsilon}(\ell)=\left\{\begin{aligned} &\ell&&\textrm{for}~{}0\leq\ell\leq 1\\ &\ell+\frac{\ell-1}{\varepsilon}-\frac{\ell^{2}-1}{2\varepsilon}&&\textrm{for}~{}1\leq\ell\leq 1+\varepsilon\\ &1+\frac{\varepsilon}{2}&&\textrm{for}~{}\ell>1+\varepsilon\end{aligned}\right.

It can be observed that satε()\textrm{sat}_{\varepsilon}(\cdot) is nondecreasing, continuously differentiable with locally Lipschitz derivative, and satisfies |dsatε()d|1\left|\frac{\textrm{dsat}_{\varepsilon}(\ell)}{\textrm{d}\ell}\right|\leq 1 and |satε()sat()|ε2\left|\textrm{sat}_{\varepsilon}(\ell)-\textrm{sat}(\ell)\right|\leq\frac{\varepsilon}{2}, \forall\ell\in\mathbb{R}, where sat()\textrm{sat}(\cdot) is the standard unity saturation function denoted by sat()=sign()min{1,||}\textrm{sat}(\ell)=\textrm{sign}(\ell)\cdot\min\{1,|\ell|\}.

Theorem 1: Consider the closed-loop system formed of (22), (24), (25), and (27). Suppose Assumptions A1 to A3 are satisfied, and the initial conditions η(0)\eta(0) and ς(0)\varsigma(0) are bounded. Then for any σ>0\sigma>0, there exists ε>0\varepsilon^{{\dagger}}>0 such that for any ε(0,ε)\varepsilon\in(0,\varepsilon^{{\dagger}}),

|ξ(t)ξ^(t)|σ,t[T,),T>0,|\xi(t)-\hat{\xi}(t)|\leq\sigma,~{}t\in[T,\infty),~{}\forall T>0, (29)

and

limt|η(t)ϱ(t)|σ.\lim_{t\rightarrow\infty}|\eta(t)-\varrho(t)|\leq\sigma. (30)

Proof: See the Appendix. ∎

Remark 1: It is now well-realized that the ESO-based control (or ADRC) needs a good prior estimate of the control gain [20, 21, 24, 23, 26, 27, 25]. In other words, the nominal control gain b0(η(t))b_{0}(\eta(t)) should be “close” to the actual control gain b(η(t),ϖ(t))b(\eta(t),\varpi(t)). However, the results in Theorem 1 show that for the first-order uncertain nonlinear system (22), the RESO-based controller only relies on the knowledge of the control direction (i.e., the sign of b(η(t),ϖ(t))b(\eta(t),\varpi(t))). This result is very meaningful, since in practice it is much easier to obtain the knowledge of the control direction than an accurate prior estimate of the control gain. In [30], a similar conclusion was achieved via frequency-domain analysis for first-order linear uncertain systems. As far as the author’s knowledge goes, this paper is the first work that conducts rigorous time-domain analysis for RESO-based control for first-order uncertain nonlinear systems.

IV-B Dynamic Controller for an AGV with Large Uncertainties

For the AGV dynamic controller design, we first consider the following transformation:

uv(t)=Tr(t)+Tl(t),uω(t)=Tr(t)Tl(t).u_{v}(t)=T_{r}(t)+T_{l}(t),~{}u_{\omega}(t)=T_{r}(t)-T_{l}(t). (31)

Then the AGV dynamic model can be rewritten as

{v˙(t)=1Mrωuv(t)fe(t)M,ω˙(t)=lω2Irωuω(t)τe(t)I.\left\{\begin{aligned} \dot{v}(t)=&\frac{1}{Mr_{\omega}}u_{v}(t)-\frac{f_{\rm{e}}(t)}{M},\\ \dot{\omega}(t)=&\frac{l_{\omega}}{2Ir_{\omega}}u_{\omega}(t)-\frac{\tau_{\rm{e}}(t)}{I}.\end{aligned}\right. (32)

Note that in (32), the control gains for the AGV linear and angular velocities (i.e., 1Mrω\frac{1}{Mr_{\omega}} and lω2Irω\frac{l_{\omega}}{2Ir_{\omega}}) are largely uncertain due to different payloads, but their signs are fixed and known to the designer. Therefore, the developed RESO-based controller is capable of handling the large uncertainties in the AGV dynamic model.

By Theorem 1, the observers and controllers are designed as

{ς˙v(t)=1εL(v(t)ςv(t))+b0vuv(t),ξ^v(t)=1εL(v(t)ςv(t)),\left\{\begin{aligned} \dot{\varsigma}_{v}(t)=&\frac{1}{\varepsilon}L(v(t)-\varsigma_{v}(t))+b^{v}_{0}u_{v}(t),\\ \hat{\xi}_{v}(t)=&\frac{1}{\varepsilon}L(v(t)-\varsigma_{v}(t)),\end{aligned}\right. (33)
{ς˙ω(t)=1εL(ω(t)ςω(t))+b0ωuω(t),ξ^ω(t)=1εL(ω(t)ςω(t)),\left\{\begin{aligned} \dot{\varsigma}_{\omega}(t)=&\frac{1}{\varepsilon}L({\omega}(t)-\varsigma_{\omega}(t))+b^{\omega}_{0}u_{\omega}(t),\\ \hat{\xi}_{\omega}(t)=&\frac{1}{\varepsilon}L(\omega(t)-\varsigma_{\omega}(t)),\end{aligned}\right. (34)
uv(t)=Mvsatε(Kv(v(t)vr(t))ξ^v(t)+v˙r(t)Mvb0v),u_{v}(t)=M_{v}\textrm{sat}_{\varepsilon}\left(\frac{K_{v}(v(t)-v_{r}(t))-\hat{\xi}_{v}(t)+\dot{v}_{r}(t)}{M_{v}b^{v}_{0}}\right), (35)
uω(t)=Mωsatε(Kω(ω(t)ωr(t))ξ^ω(t)+ω˙r(t)Mωb0ω),u_{\omega}(t)=M_{\omega}\textrm{sat}_{\varepsilon}\left(\frac{K_{\omega}(\omega(t)-{\omega}_{r}(t))-\hat{\xi}_{\omega}(t)+\dot{\omega}_{r}(t)}{M_{\omega}b^{\omega}_{0}}\right), (36)

where b0vb_{0}^{v} and b0ωb_{0}^{\omega} are the nominal values of bv=1Mrωb^{v}=\frac{1}{Mr_{\omega}} and bω=lω2Irωb^{\omega}=\frac{l_{\omega}}{2Ir_{\omega}}, respectively; d^v(t)\hat{d}_{v}(t) and d^ω(t)\hat{d}_{\omega}(t) are the estimates of the uncertainties dv(t)fe(t)M+(bvb0v)uv(t)d_{v}(t)\triangleq-\frac{f_{\rm{e}}(t)}{M}+(b^{v}-b^{v}_{0})u_{v}(t) and dω(t)τe(t)I+(bωb0ω)uω(t)d_{\omega}(t)\triangleq-\frac{\tau_{\rm{e}}(t)}{I}+(b^{\omega}-b^{\omega}_{0})u_{\omega}(t), respectively; KvK_{v}, Kω<0K_{\omega}<0; MvM_{v} and MωM_{\omega} are the saturation bounds.

Finally, by (31), the actual control commands are obtained by

Tr(t)=12(uv(t)+uω(t)),Tl(t)=12(uv(t)uω(t)).T_{r}(t)=\frac{1}{2}(u_{v}(t)+u_{\omega}(t)),~{}T_{l}(t)=\frac{1}{2}(u_{v}(t)-u_{\omega}(t)). (37)
Refer to caption
Figure 3: Simulation scenario. The AGV moves from point A to point B, and then comes back to point C. The red arrows represent the orientations of the AGV at the three points.
Refer to caption
Figure 4: The original and MPC-improved paths.
Refer to caption
Figure 5: Velocity profile along the planned path.
Refer to caption
Refer to caption
Refer to caption
Figure 6: Planned (black dashed lines) and actual trajectories (red solid lines) of different planning and tracking control schemes: (a) MPC-based trajectory planning + PID tracking control; (b) Global planner A + MPC-based tracking control; (c) MPC-based trajectory planning and tracking control.
Refer to caption
Figure 7: Tracking errors: (a) MPC-based trajectory planning + PID tracking control; (b) Global planner A + MPC-based tracking control; (c) MPC-based trajectory planning and tracking control.

V Simulation and Experimental Evaluation

This section presents the simulation and experimental results of the proposed hierarchical control scheme. The MPC-based trajectory planning and tracking control algorithm is first implemented on Robot Operating System (ROS) to tune the parameters, and to verify its superiority. The effectiveness of the RESO-based dynamic controller in handling large uncertainties is then tested in Matlab/Simulink. Finally, experiments are conducted on an AGV in a warehouse environment with different payloads.

V-A Simulation Results

The stage simulator is used to build the simulation environment in ROS. An efficient optimization solver named Interior Point OPTimizer (IPOPT) [28] is employed to solve the MPC problem. The parameters in the MPC-based trajectory planning and tracking control algorithm are selected as vc=0.4m/sv_{c}=0.4\rm{m/s}, cv=4c_{v}=4, H=20H=20, Hu=10H_{\rm{u}}=10, Qi=diag{1,1,0.01}Q_{i}=\textrm{diag}\{1,1,0.01\}, Ri=diag{0.5,0.023}R_{i}=\textrm{diag}\{0.5,0.023\}, and Si=diag{0.1,0.05}S_{i}=\textrm{diag}\{0.1,0.05\}. The linear and angular velocities of the AGV are limited by 0v0.4m/s0\leq v\leq 0.4\rm{m/s} and 0.4rad/sw0.4rad/s-0.4\textrm{rad/s}\leq w\leq 0.4\textrm{rad/s}, respectively. We consider the scenario depicted in Fig. 3. The task of the AGV is to move from point A to point B, and then come back to point C. The original path generated by A* and the MPC-improved path are plotted in Fig. 4. It can be observed that the MPC-improved path enhances the smoothness of the original path. Fig. 5 shows the planned velocity profile. According to the colorbar, one can see that at the turning phase, the velocity is planned to be slow; along the straight lines, the velocity is planned close to the maximum speed.

To evaluate the advantage of the proposed design, three different planning and tracking control schemes are considered: 1) MPC-based trajectory planning + PID tracking control, 2) global planner (A*) + MPC-based tracking control, and 3) the proposed MPC-based trajectory planning and tracking control. To make a fair comparison, these three schemes use the same A* algorithm and their MPC parameters are also the same. The gains for the PID controllers in scheme 1) for the AGV linear and angular velocities are given by the triples (0.065, 0, 0.13) and (0.1, 0.05, 0.2), respectively. Simulation results of the three schemes on the kinematic model of the AGV are depicted in Figs. 6 and 7. The tracking error comparison is summarized in Table I. It can be observed that the proposed approach outperforms the other two approaches in terms of the maximum error emaxe_{\rm{max}}, mean error emeane_{\rm{mean}} and root mean square error (RMSE) ermsee_{\rm{rmse}}.

TABLE I: Tracking error comparison
Planning + Tracking emaxe_{\rm{max}} (m) emeane_{\rm{mean}} (m) ermsee_{\rm{rmse}} (m)
MPC + PID 0.047 0.015 0.020
A* + MPC 0.044 0.010 0.013
MPC + MPC 0.028 0.008 0.011

The parameters of the RESO-based dynamic controller are selected as ε=0.01\varepsilon=0.01, L=1L=1, b0v=b0ω=1b_{0}^{v}=b_{0}^{\omega}=1, Kv=Kω=5K_{v}=K_{\omega}=-5, and Mv=Mω=10M_{v}=M_{\omega}=10. The linear and angular velocity commands vrv_{r} and ωr\omega_{r} are generated from the MPC-based kinematic controller in Fig. 6c. For comparison, we also simulate a PID controller whose transfer function is given by kP+kI1s+kDkN1+kN1sk_{P}+k_{I}\frac{1}{s}+k_{D}\frac{k_{N}}{1+k_{N}\frac{1}{s}}, where KNK_{N} is the filter coefficient, and kPk_{P}, kIk_{I}, and kDk_{D} stand for the proportional, integral, and derivative gains, respectively. The gains of this PID controller are selected as kN=100.04k_{N}=100.04, kP=12.74k_{P}=12.74, kI=5.17k_{I}=5.17, and kD=0.88k_{D}=0.88, which are tuned by the PID Tuner function in Matlab/Simulink with an overshoot of zero and a rise time of 0.2 seconds. Consider two simulation cases: case 1) without payload and external disturbance; case 2) with payload (triple the weight of the AGV itself) and external disturbance (fe=0.2Mf_{e}=0.2M and τe=0.2I\tau_{e}=0.2I). Simulation results of the two cases are shown in Fig. 8. From this figure, one can see that in case 1) the RESO-based controller and PID controller achieve comparable performance; but in case 2) with large uncertainties, the RESO-based controller performs much better than the PID controller. The main reason for this improvement is that in the proposed RESO-based controller, the total uncertainties are estimated by the observer, and compensated for in the control action in real time. Fig. 9 depicts the performance of the RESO. It can be observed that the total uncertainties dvd_{v} and dωd_{\omega} are both well-estimated by the RESO in the two cases.

Refer to caption
Refer to caption
Figure 8: Performance of the RESO-based controller and PID controller: (a) case 1); (b) case 2).
Refer to caption
Refer to caption
Figure 9: Performance of the RESO: (a) case 1); (b) case 2).
Refer to caption
Figure 10: Experimental platform.
Refer to caption
Refer to caption
Figure 11: Trajectory planning: (a) map of the environment and the original path; (b) the MPC-improved path and the velocity profile.

V-B Experimental Results

In the experiment, the AGV (see Fig. 10) is mainly equipped with 1) a 2D LiDAR for localization; 2) a mini PC Intel® NUC to run the MPC-based trajectory planning and tracking control algorithm; 3) an ARM® STM32F103RC MCU to execute the RESO-based dynamic control algorithm; 4) a dual DC motor drive module WSDC2412D to drive the motors. The Adaptive Monte-Carlo Localization (AMCL) algorithm [31] is implemented to localize the AGV. The control frequencies of the high-level kinematic control and low-level dynamic control are 20Hz and 100Hz, respectively.

Experiments are conducted in a warehouse environment. Parameters of the proposed hierarchical controller are inherited from the simulation. Note that in our experiment setting, the actual input of the AGV dynamic model is the motor voltage rather than the torque. The dynamics of the DC motor can be approximated by a first-order inertial system with a small time constant [2]. Since the RESO-based controller is capable of handling large uncertainties and only relies on the sign of the control gain, in the implementation stage, the commands of the voltage of the DC motors are also given by (37). Fig. 11a illustrates the map of the environment and the original path generated by the A algorithm. Fig. 11b shows the MPC-improved path and the reference velocity. The maximal velocity of the AGV in the experiments is set as 0.6m/s. Figs. 12 and 13 depict the experimental results with 0 payload and 60kg payload, respectively. Note that 60kg payload is about double the weight of the AGV itself, which indicates large uncertainty corresponding to the AGV dynamics. Such uncertainty will increase the burden of the controller, and has stubborn effects on the overall control performance. However, from Figs. 12 and 13, one can observe that the AGV moves along the planned trajectory accurately, the commands generated by the MPC-based kinematic controller are well-tracked by the RESO-based dynamic controller, and the voltages of the two motors are also acceptable. Fig. 14 depicts the trajectory tracking error with 0 payload and 60kg payload. With 0 payload, the maximal tracking error is 0.071m, the average tracking error is 0.019m; with 60kg payload, the maximal tracking error is 0.105m, the average tracking error is 0.029m. The experimental video is available at https://youtu.be/SxdO9YXbiZs.

VI Conclusion

A hierarchical control scheme is proposed for AGVs with large uncertainties. The MPC-based trajectory planning and tracking control at the high level provides satisfactory trajectory and accurate kinematic tracking performance, while the RESO-based dynamic control at the low level handles the large uncertainties. The proposed hierarchical control scheme needs little information of the AGV dynamics, and is simple for implementation. Experimental results for an AGV with different payloads verified the effectiveness of the proposed approach in handling large uncertainties. In future studies, the focus will be on the extension of the hierarchical scheme to multiple-AGVs in complex manufacturing environment. The uncertainties caused by the environment and communication will be considered.

Refer to caption
Refer to caption
Refer to caption
Figure 12: Experimental results with 0 payload: (a) trajectory tracking; (b) response of the RESO-based dynamic controller; (c) motor voltage.
Refer to caption
Refer to caption
Refer to caption
Figure 13: Experimental results with 60kg payload: (a) trajectory tracking; (b) response of the RESO-based dynamic controller; (c) motor voltage.
Refer to caption
Figure 14: Trajectory tracking errors with different payloads: (a) 0 payload; (b) 60kg payload.

We need a lemma before giving the proof of Theorem 1. Define the tracking error e(t)=η(t)ϱ(t)e(t)=\eta(t)-\varrho(t), and a Lyapunov function candidate V(e(t))=12e2(t)V(e(t))=\frac{1}{2}e^{2}(t). Denote τ0=V(e(0))+1\tau_{0}=V(e(0))+1, and define two compact sets:

Ω0=\displaystyle\Omega_{0}= {e(t);V(e(t))τ0},\displaystyle\{e(t)\in\mathbb{R};V(e(t))\leq\tau_{0}\},
Ω1=\displaystyle\Omega_{1}= {e(t);V(e(t))τ0+1}.\displaystyle\{e(t)\in\mathbb{R};V(e(t))\leq\tau_{0}+1\}.

Note that Ω0Ω1\Omega_{0}\subseteq\Omega_{1} and e(0)e(0) is an internal point of Ω0\Omega_{0}. The following lemma shows that for sufficiently small ε\varepsilon, e(t)Ω1e(t)\in\Omega_{1}, t[0,)\forall t\in[0,\infty).

Lemma 1: Consider the closed-loop system formed of (22), (24), (25), and (27). Suppose Assumptions A1 to A3 are satisfied, and the initial conditions η(0)\eta(0) and ς(0)\varsigma(0) are bounded. Then there exists ε>0\varepsilon^{*}>0 such that for any ε(0,ε)\varepsilon\in(0,\varepsilon^{*}), e(t)Ω1e(t)\in\Omega_{1}, t[0,)\forall t\in[0,\infty).

Proof of Lemma 1: Since e(0)e(0) is an internal point of Ω0\Omega_{0}, and the control u(t)u(t) is bounded, there exits an ε\varepsilon-independent t0>0t_{0}>0 such that e(t)Ω0e(t)\in\Omega_{0}, t[0,t0]\forall t\in[0,t_{0}]. Lemma 1 will be proved by contradiction. Suppose Lemma 1 is false, then there exist t2>t1>t0t_{2}>t_{1}>t_{0} such that

{V(e(t1))=τ0,V(e(t2))=τ0+1,τ0V(e(t))τ0+1,t[t1,t2],V(e(t))τ0+1,t[0,t2].\left\{\begin{aligned} &V(e(t_{1}))=\tau_{0},\\ &V(e(t_{2}))=\tau_{0}+1,\\ &\tau_{0}\leq V(e(t))\leq\tau_{0}+1,~{}t\in[t_{1},t_{2}],\\ &V(e(t))\leq\tau_{0}+1,~{}t\in[0,t_{2}].\end{aligned}\right. (38)

Consider the RESO estimation error δ(t)=ξ(t)ξ^(t)\delta(t)=\xi(t)-\hat{\xi}(t). By (23)-(25), the dynamics of δ(t)\delta(t) can be formulated as111For notation simplicity, we omit the time symbol tt occasionally.

δ˙=\displaystyle\dot{\delta}= ξ˙ξ^˙\displaystyle\dot{\xi}-\dot{\hat{\xi}}
=\displaystyle= ξ˙1εL(f(η,ϖ)+b(η,ϖ)u1εL(ης)b0(η)u)\displaystyle\dot{\xi}-\frac{1}{\varepsilon}L\left(f(\eta,\varpi)+b(\eta,\varpi)u-\frac{1}{\varepsilon}L(\eta-\varsigma)-b_{0}(\eta)u\right)
=\displaystyle= ξ˙(t)1εL(f(η,ϖ)+(b(η,ϖ)b0(η))uξ^)\displaystyle\dot{\xi}(t)-\frac{1}{\varepsilon}L\left(f(\eta,\varpi)+(b(\eta,\varpi)-b_{0}(\eta))u-\hat{\xi}\right)
=\displaystyle= ξ˙1εL(ξξ^)\displaystyle\dot{\xi}-\frac{1}{\varepsilon}L(\xi-\hat{\xi})
=\displaystyle= ξ˙1εLδ.\displaystyle\dot{\xi}-\frac{1}{\varepsilon}L\delta. (39)

The differentiation of the extended state ξ(t)\xi(t) can be computed as

ξ˙=\displaystyle\dot{\xi}= dfdt(η,ϖ)+(dbdt(η,ϖ)db0dt(η))u\displaystyle\frac{\textrm{d}f}{\textrm{d}t}(\eta,\varpi)+\left(\frac{\textrm{d}b}{\textrm{d}t}(\eta,\varpi)-\frac{\textrm{d}b_{0}}{\textrm{d}t}(\eta)\right)u
+(b(η,ϖ)b0(η))u˙,\displaystyle+(b(\eta,\varpi)-b_{0}(\eta))\dot{u}, (40)

where

dfdt(η,ϖ)=\displaystyle\frac{\textrm{d}f}{\textrm{d}t}(\eta,\varpi)= (f(η,ϖ)+b(η,ϖ)u)fη(η,ϖ)+ϖ˙fϖ(η,ϖ),\displaystyle\left(f(\eta,\varpi)+b(\eta,\varpi)u\right)\frac{\partial f}{\partial\eta}(\eta,\varpi)+\dot{\varpi}\frac{\partial f}{\partial\varpi}(\eta,\varpi),
dbdt(η,ϖ)=\displaystyle\frac{\textrm{d}b}{\textrm{d}t}(\eta,\varpi)= (f(η,ϖ)+b(η,ϖ)u)bη(η,ϖ)+ϖ˙bϖ(η,ϖ),\displaystyle\left(f(\eta,\varpi)+b(\eta,\varpi)u\right)\frac{\partial b}{\partial\eta}(\eta,\varpi)+\dot{\varpi}\frac{\partial b}{\partial\varpi}(\eta,\varpi),
db0dt(η)=\displaystyle\frac{\textrm{d}b_{0}}{\textrm{d}t}(\eta)= (f(η,ϖ)+b(η,ϖ)u)b0η(η).\displaystyle\left(f(\eta,\varpi)+b(\eta,\varpi)u\right)\frac{\partial b_{0}}{\partial\eta}(\eta).

By (25) and (26), the control uu can be expressed as

u=Musatε(K(ηϱ)ξ^+ϱ˙Mub0(η)).u=M_{u}\textrm{sat}_{\varepsilon}\left(\frac{K(\eta-\varrho)-\hat{\xi}+\dot{\varrho}}{M_{u}b_{0}(\eta)}\right).

It follows that u˙\dot{u} can be computed as

u˙=\displaystyle\dot{u}= dsatε()d()1b02(η)((K(η˙ϱ˙)ξ^˙+ϱ¨)b0(η)\displaystyle\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{1}{b_{0}^{2}(\eta)}\left(\left(K(\dot{\eta}-\dot{\varrho})-\dot{\hat{\xi}}+\ddot{\varrho}\right)b_{0}(\eta)\right.
(K(ηϱ)ξ^+ϱ˙)db0dt(η))\displaystyle\left.-\left(K(\eta-\varrho)-\hat{\xi}+\dot{\varrho}\right)\frac{\textrm{d}b_{0}}{\textrm{d}t}(\eta)\right)
=\displaystyle= dsatε()d()1b0(η)(K(f(η,ϖ)+b(η,ϖ)uϱ˙)+ϱ¨)\displaystyle\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{1}{b_{0}(\eta)}\left(K\left(f(\eta,\varpi)+b(\eta,\varpi)u-\dot{\varrho}\right)+\ddot{\varrho}\right)
dsatε()d()1b02(η)db0dt(η)(Keξ+ϱ˙)\displaystyle-\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{1}{b_{0}^{2}(\eta)}\frac{\textrm{d}b_{0}}{\textrm{d}t}(\eta)\left(Ke-\xi+\dot{\varrho}\right)
dsatε()d()1b02(η)db0dt(η)δdsatε()d()1b0(η)1εLδ.\displaystyle-\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{1}{b_{0}^{2}(\eta)}\frac{\textrm{d}b_{0}}{\textrm{d}t}(\eta)\delta-\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{1}{b_{0}(\eta)}\frac{1}{\varepsilon}L\delta. (41)

By (VI) and (VI), one has

ξ˙=\displaystyle\dot{\xi}= dfdt(η,ϖ)+(dbdt(η,ϖ)db0dt(η))u\displaystyle\frac{\textrm{d}f}{\textrm{d}t}(\eta,\varpi)+\left(\frac{\textrm{d}b}{\textrm{d}t}(\eta,\varpi)-\frac{\textrm{d}b_{0}}{\textrm{d}t}(\eta)\right)u
+dsatε()d()b(η,ϖ)b0(η)b0(η)\displaystyle+\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{b(\eta,\varpi)-b_{0}(\eta)}{b_{0}(\eta)}
×(K(f(η,ϖ)+b(η,ϖ)uϱ˙)+ϱ¨)\displaystyle\times\left(K\left(f(\eta,\varpi)+b(\eta,\varpi)u-\dot{\varrho}\right)+\ddot{\varrho}\right)
dsatε()d()b(η,ϖ)b0(η)b02(η)db0dt(η)(Keξ+ϱ˙)\displaystyle-\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{b(\eta,\varpi)-b_{0}(\eta)}{b_{0}^{2}(\eta)}\frac{\textrm{d}b_{0}}{\textrm{d}t}(\eta)\left(Ke-\xi+\dot{\varrho}\right)
dsatε()d()b(η,ϖ)b0(η)b02(η)db0dt(η)δ\displaystyle-\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{b(\eta,\varpi)-b_{0}(\eta)}{b_{0}^{2}(\eta)}\frac{\textrm{d}b_{0}}{\textrm{d}t}(\eta)\delta
dsatε()d()b(η,ϖ)b0(η)b0(η)1εLδ.\displaystyle-\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{b(\eta,\varpi)-b_{0}(\eta)}{b_{0}(\eta)}\frac{1}{\varepsilon}L\delta. (42)

By Assumptions A1, A2, and the boundedness of e(t)e(t) in the time interval [0,t2][0,t_{2}], one can conclude from (VI) that there exist ε\varepsilon-independent positive constants C0C_{0} and C1C_{1} such that

δξ˙C0|δ|+C1δ21εLΔδ2,\delta\dot{\xi}\leq C_{0}|\delta|+C_{1}\delta^{2}-\frac{1}{\varepsilon}L\Delta\delta^{2}, (43)

where

Δ=dsatε()d()b(η,ϖ)b0(η)b0(η).\Delta=\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{b(\eta,\varpi)-b_{0}(\eta)}{b_{0}(\eta)}.

Consider the Lyapunov function candidate W(δ)=12δ2W(\delta)=\frac{1}{2}\delta^{2}. It follows from (VI) and (43) that

W˙(δ)=\displaystyle\dot{W}(\delta)= δ(ξ˙1εLδ)\displaystyle\delta\left(\dot{\xi}-\frac{1}{\varepsilon}L\delta\right)
\displaystyle\leq 1εL(1+Δ)δ2+C1δ2+C0|δ|.\displaystyle-\frac{1}{\varepsilon}L(1+\Delta)\delta^{2}+C_{1}\delta^{2}+C_{0}|\delta|. (44)

Note that the term 1+Δ1+\Delta satisfies

1+Δ=\displaystyle 1+\Delta= 1+dsatε()d()b(η,ϖ)b0(η)b0(η)\displaystyle 1+\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\frac{b(\eta,\varpi)-b_{0}(\eta)}{b_{0}(\eta)}
=\displaystyle= 1b0(η)[dsatε()d()b(η,ϖ)+(1dsatε()d())b0(η)].\displaystyle\frac{1}{b_{0}(\eta)}\left[\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}b(\eta,\varpi)+\left(1-\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\right)b_{0}(\eta)\right]. (45)

Since b(η,ϖ)b(\eta,\varpi) and b0(η)b_{0}(\eta) have the same sign, and 0dsatε()d()10\leq\frac{\textrm{dsat}_{\varepsilon}(\cdot)}{\textrm{d}(\cdot)}\leq 1, (VI) guarantees that 1+Δ>01+\Delta>0. It then follows from (VI) that there exists sufficiently small ε1>0\varepsilon_{1}>0 such that for any ε(0,ε1)\varepsilon\in(0,\varepsilon_{1}) and t[t0,t2]t\in[t_{0},t_{2}], |δ(t)|=O(ε)<K2τ0|\delta(t)|=O(\varepsilon)<-K\sqrt{2\tau_{0}}.

Next, we show that the function satε()\textrm{sat}_{\varepsilon}(\cdot) in (27) is out of saturation in the time interval [t0,t2][t_{0},t_{2}]. By the convergence of the RESO, one has

ξ^=f(η,ϖ)+(b(η,ϖ)b0(η))u+O(ε).\hat{\xi}=f(\eta,\varpi)+(b(\eta,\varpi)-b_{0}(\eta))u+O(\varepsilon). (46)

Therefore, up to an O(ε)O(\varepsilon) error, ψ(η,ϱ,ξ^)\psi(\eta,\varrho,\hat{\xi}) satisfies the equation

ψ+b(η,ϖ)b0(η)b0(η)Musatε(ψMu)\displaystyle\psi+\frac{b(\eta,\varpi)-b_{0}(\eta)}{b_{0}(\eta)}M_{u}\textrm{sat}_{\varepsilon}\left(\frac{\psi}{M_{u}}\right)\quad
=K(ηϱ)f(η,ϖ)+ϱ˙b0(η).\displaystyle=\frac{K(\eta-\varrho)-f(\eta,\varpi)+\dot{\varrho}}{b_{0}(\eta)}. (47)

This equation has a unique solution since 1+Δ>01+\Delta>0. Note that the saturation bound MuM_{u} satisfies (28). It can be obtained by direct substitution that the unique solution is

ψ=K(ηϱ)f(η,ϖ)+ϱ˙b(η,ϖ).\psi^{*}=\frac{K(\eta-\varrho)-f(\eta,\varpi)+\dot{\varrho}}{b(\eta,\varpi)}. (48)

Since the saturation bound MuM_{u} is selected to satisfy (28), one can conclude that for sufficiently small ε\varepsilon, ψ(η,ϱ,ξ^)\psi(\eta,\varrho,\hat{\xi}) will be in the linear region of the saturation function in the time interval [t0,t2][t_{0},t_{2}]. It follows that the time derivative of V(e)V(e) can be computed as

V˙(e)=\displaystyle\dot{V}(e)= e(η˙ϱ˙)\displaystyle e(\dot{\eta}-\dot{\varrho})
=\displaystyle= e(ξ+Keξ^)\displaystyle e\left(\xi+Ke-\hat{\xi}\right)
\displaystyle\leq Ke2+|e||δ|.\displaystyle Ke^{2}+|e|\cdot|\delta|. (49)

By (38), in the time interval [t1,t2][t_{1},t_{2}], 2τ0|e|2τ0+2\sqrt{2\tau_{0}}\leq|e|\leq\sqrt{2\tau_{0}+2}. This together with the relation |δ|<K2τ0|\delta|<-K\sqrt{2\tau_{0}} yields

V˙(e)K|e|(|e|+1K|δ|)<0,t[t1,t2],\dot{V}(e)\leq K|e|\left(|e|+\frac{1}{K}|\delta|\right)<0,~{}t\in[t_{1},t_{2}], (50)

which, contradicts (38). Thus there exists ε>0\varepsilon^{*}>0 such that for any ε(0,ε)\varepsilon\in(0,\varepsilon^{*}), e(t)Ω1e(t)\in\Omega_{1}, t[0,)\forall t\in[0,\infty). This completes the proof of Lemma 1. ∎

Based on Lemma 1, we are ready to state the proof of Theorem 1.

Proof of Theorem 1: By Lemma 1, e(t)Ω1e(t)\in\Omega_{1} for any ε(0,ε)\varepsilon\in(0,\varepsilon^{*}) and t[0,)t\in[0,\infty). It follows that (43) and (VI) hold for any ε(0,ε)\varepsilon\in(0,\varepsilon^{*}) and t[0,)t\in[0,\infty). By (VI), one has that for any σ>0\sigma>0 and T>0T>0, there exists ε1(0,ε]\varepsilon^{1}\in(0,\varepsilon^{*}] such that for any ε(0,ε1)\varepsilon\in(0,\varepsilon^{1}), |ξ(t)ξ^(t)|σ|\xi(t)-\hat{\xi}(t)|\leq\sigma, t[T,)t\in[T,\infty). By (VI), one can conclude that there exists ε(0,ε1]\varepsilon^{{\dagger}}\in(0,\varepsilon^{1}] such that (30) holds. This completes the proof of Theorem 1. ∎

References

  • [1]
  • [2] C. L. Hwang, C. C. Yang, and J. Y. Hung, “Path tracking of an autonomous ground vehicle with different payloads by hierarchical improved fuzzy dynamic sliding-mode control,” IEEE Transactions on Fuzzy Systems, vol. 26, no. 2, pp. 899-914, 2018.
  • [3] V. Digani, L. Sabattini, C. Secchi, and C. Fantuzzi, “Ensemble coordination approach in multi-AGV systems applied to industrial warehouses,” IEEE Transactions on Automation Science and Engineering, vol. 12, no. 3, pp. 922-934, 2015.
  • [4] N. H. Amer, H. Zamzuri, K. Hudha, and Z. A. Kadir, “Modelling and control strategies in path tracking control for autonomous ground vehicles: a review of state of the art and challenges,” Journal of Intelligent and Robotic Systems, vol. 86, no. 2, pp. 225-254, 2017.
  • [5] P. E. Hart, N. J. Nilsson, and B. Raphael, “A formal basis for the heuristic determination of minimum cost paths,” IEEE Transactions on Systems Science and Cybernetics, vol. 4, no. 2, pp. 100-107, 1968.
  • [6] A. Stentz, “The focussed D algorithm for real-time replanning,” in Proceedings of the International Joint Conference on Artificial Intelligence, 1995, pp. 1652-1659.
  • [7] S. M. LaValle and J. J. Kuffner Jr, “Randomized kinodynamic planning,” The International Journal of Robotics Research, vol. 20, no. 5, pp. 378-400, 2001.
  • [8] J. Villagra and D. Herrero-P´erez, “A comparison of control techniques for robust docking maneuvers of an AGV,” IEEE Transactions on Control Systems Technology, vol. 20, no. 4, pp. 1116-1123, 2012.
  • [9] Y. Wu, L. Wang, J. Zhang, and L. Li, “Path following control of autonomous ground vehicle based on nonsingular terminal sliding mode and active disturbance rejection control,” IEEE Transactions on Vehicular Technology, vol. 68, no. 7, pp. 6379-6390. 2019
  • [10] R. Wang, H. Jing, C. Hu, F. Yan, and N. Chen, “Robust HH_{\infty} path following control for autonomous ground vehicles with delay and data dropout,” IEEE Transactions on Intelligent Transportation Systems, vol. 17, no. 7, pp. 2042-2050, 2016.
  • [11] X. Li, Z. Sun, D. Cao, D. Liu, and H. He, “Development of a new integrated local trajectory planning and tracking control framework for autonomous ground vehicles,” Mechanical Systems and Signal Processing, vol. 87, pp. 118-137, 2017.
  • [12] H. Zheng, R. R. Negenborn, and G. Lodewijks, “Fast ADMM for distributed model predictive control of cooperative waterborne AGVs,” IEEE Transactions on Control Systems Technology, vol. 25, no. 4, pp. 1406-1413, 2016.
  • [13] Z. Sun and Y. Xia, “Receding horizon tracking control of unicycle type robots based on virtual structure,” International Journal of Robust and Nonlinear Control, vol. 26, no. 17, pp. 3900-3918, 2016.
  • [14] J. Ji, A. Khajepour, W. W. Melek, and Y. Huang, “Path planning and tracking for vehicle collision avoidance based on model predictive control with multiconstraints,” IEEE Transactions on Vehicular Technology, vol. 66, no. 2, pp. 952-964, 2016.
  • [15] E. Alcalá, V. Puig, J. Quevedo, and U. Rosolia, “Autonomous racing using linear parameter varying-model predictive control (LPV-MPC),” Control Engineering Practice, vol. 95, p.104270, 2020.
  • [16] S. Cheng, L. Li, X. Chen, J. Wu, and H. Wang, “Model-predictive-control-based path tracking controller of autonomous vehicle considering parametric uncertainties and velocity-varying,” IEEE Transactions on Industrial Electronics, published online, DOI: 10.1109/TIE.2020.3009585.
  • [17] J. Han, “From PID to active disturbance rejection control,” IEEE Transactions on Industrial Electronics, vol. 56, no. 3, pp. 900-906, 2009.
  • [18] Y. Huang and W. Xue, “Active disturbance rejection control: methodology and theoretical analysis,” ISA Transactions, vol. 53, no. 4, pp. 963-976, 2014.
  • [19] E. Sariyildiz, R. Oboe, and K. Ohnishi, “Disturbance observer-based robust control and its applications: 35th anniversary overview,” IEEE Transactions on Industrial Electronics, published online, doi: 10.1109/TIE.2019.2903752.
  • [20] M. Ran, Q. Wang, and C. Dong, “Active disturbance rejection control for uncertain nonaffine-in-control nonliner systems,” IEEE Transactions on Automatic Control, vol. 62, no. 11, pp. 5830-5836, 2017.
  • [21] M. Ran, Q. Wang, and C. Dong, “Stabilization of a class of nonlinear systems with actuator saturation via active disturbance rejection control,” Automatica, vol. 63, pp. 302-310, 2016.
  • [22] M. Ran, Q. Wang, C. Dong, and L. Xie, “Active disturbance rejection control for uncertain time-delay nonlinear systems,” Automatica, vol. 112, 108692.
  • [23] J. Lee, R. Mukherjee, and H. K. Khalil, “Output feedback stabilization of inverted pendulum on a cart in the presence of uncertainties,” Automatica, vol. 54, pp. 146-157, 2015.
  • [24] L. B. Freidovich and H. K. Khalil, “Performance recovery of feedback-linearization-based designs,” IEEE Transactions on Automatic Control, vol. 53, no. 10, pp. 2324-2334, 2008.
  • [25] T. Jiang, C. Huang, and L. Guo, “Control of uncertain nonlinear systems based on observers and estimators,” Automatica, vol. 59, pp. 35-47, 2015.
  • [26] B. Z. Guo and Z. L. Zhao, “On convergence of the nonlinear active disturbance rejection control for MIMO systems,” SIAM Journal on Control and Optimization, vol. 51, no. 2, pp. 1727-1757, 2013.
  • [27] D. Wu and K. Chen, “Design and analysis of precision active disturbance rejection control for noncircular turning process,” IEEE Transactions on Industrial Electronics, vol. 56, no. 7, pp. 2746-2753, 2009
  • [28] A. Wachter, “An interior point algorithm for large-scale nonlinear optimization with applications in process engineering,” Ph.D. dissertation, Carnegie Mellon University, 2003.
  • [29] G. W. Recktenwald, Numerical methods with MATLAB: implementations and applications, New Jersey: Prentice Hall, 2000.
  • [30] W. Xue and Y. Huang, “On frequency-domain analysis of ADRC for uncertain system,” in American Control Conference, 2013, pp. 6637-6642.
  • [31] D. Fox, “KLD-sampling: Adaptive particle filters and mobile robot localization,” in Advances in Neural Information Processing Systems, pp. 26–32, 2001.
  • [32]