*4.2. Adaptive MPC Controller*

The path tracking of ATVs is controlled using the adaptive MPC algorithm, which adopts the LPV formulation instead of the non-linear model of the tracking error. Based on the information about scheduling variables, the LPV model in Equation (6) updates its state-space models. As defined in Section 3, *ρ* = [*υ<sup>r</sup>* ˙ *θr*] is used as the scheduling variable based on the reference path given by the path planner. Using the Equations (7) and (8), the system matrices *A<sup>k</sup>* and *Bu<sup>k</sup>* can be calculated at any instant *k*. Throughout the prediction horizon, the adaptive MPC controller could accurately predict the evolution of vehicle states. Thus, the LPV tracking error model in Equation (6) enables the MPC controller to balance computing complexity and efficiency.

To obtain a feasible control action *u*, the MPC controller must solve a quadratic optimization problem at each instant *k*. The values of past states *xk*, the past control action *uk*−<sup>1</sup> and the disturbance vector *r<sup>k</sup>* are available to predict the system states *xk*+<sup>1</sup> based on the related matrix coefficients *A<sup>k</sup>* and *Buk*. The optimization problem can be formulated as follows:

$$\begin{aligned} \min\_{\Delta \mathbf{U}} \mathbf{J}\_k &= \sum\_{i=1}^{H\_p - 1} (\mathbf{x}\_{k+i}^T \mathbf{Q} \mathbf{x}\_{k+i} + \Delta \mathbf{u}\_k \mathbf{}^T \mathbf{R} \Delta \mathbf{u}\_k) \\ \text{s.t.}\\ \mathbf{x}\_{k+i+1} &= \mathbf{x}\_{k+i} + (A\_k \mathbf{x}\_{k+i} + \mathbf{B}\_{\mathbf{u}k} \mathbf{u}\_{k+i} + \mathbf{B}\_r r\_{k+i}) dt \\ \mathbf{u}\_{k+i} &= \mathbf{u}\_{k+i-1} + \Delta \mathbf{u}\_{k+i} \\ \Delta \mathbf{U} &\in \Delta \Pi \\ \mathbf{U} &\in \Pi \\ \hat{\mathbf{x}} &= \hat{\mathbf{x}}\_k \end{aligned} \tag{15}$$

where *x* = [*ex ey e<sup>θ</sup> e<sup>ψ</sup> γ*] *<sup>T</sup>* is the state vector for the nominal system; *x<sup>k</sup>* denotes the estimated state vector at the time instant *k*. *r* = [*υ<sup>r</sup>* ˙ *θr*] *<sup>T</sup>* is the disturbance vector given by the proposed path planner. *Hp* denotes the prediction horizon. *<sup>Q</sup>* ∈ R5×<sup>5</sup> and *<sup>R</sup>* ∈ R2×<sup>2</sup> are semi-positive diagonal weighting coefficients for the state and control action increments to obtain a convex cost function, respectively. *u* = [*υ γ*˙ ] denotes the vector of the control action. Δ*u* denotes the vector of the increment of the control actions. *U* and Δ*U* denote the sequence

of the control actions and their increments through the prediction horizon. Π and ΔΠ denote the physical limit on the articulation angular rate and its increments, respectively.

If the optimization problem in Equation (15) could be successfully solved, then a sequence of control input increments can be obtained as Δ*U* = [Δ*u<sup>k</sup>* Δ*uk*+<sup>1</sup> ... Δ*ut*+*Hp*−1] *T*. Based on the past control action *uk*−1, the control action at the current time instant *k* is the summation of the past control action *<sup>u</sup>k*−<sup>1</sup> and the control increment <sup>Δ</sup>*uk* from the sequence Δ*U* as follows:

$$
\mathfrak{u}\_k = \mathfrak{u}\_{k-1} + \Delta \mathfrak{u}\_k \tag{16}
$$

#### *4.3. Track-Speed Control*

Based on the control action *u<sup>k</sup>* obtained by Equation (16), the longitudinal control of ATVs is performed by adjusting the tracks of both front and rear unit of ATVs. To achieve the desired longitudinal speed and avoid the excessive track slip, the speeds difference of different tracks, [*υ<sup>r</sup> f l*, *<sup>υ</sup><sup>r</sup> f r*, *<sup>υ</sup><sup>r</sup> rl*, *<sup>υ</sup><sup>r</sup> rr*] can be obtained by the calculation method developed in [15,30]:

$$\begin{aligned} v\_{fl}^{\prime} &= \upsilon + \frac{\upsilon \sin \gamma}{2(L\_f + L\_r \cos \gamma)} - \frac{\upsilon \dot{\gamma} B}{2(L\_f + L\_r \cos \gamma)} \\ v\_{fr}^{\prime} &= \upsilon - \frac{\upsilon \sin \gamma}{2(L\_f + L\_r \cos \gamma)} + \frac{\upsilon \dot{\gamma} B}{2(L\_f + L\_r \cos \gamma)} \\ v\_{rl}^{\prime} &= \upsilon \cos \gamma + \frac{\upsilon L\_r \sin \gamma^2}{2(L\_f + L\_r \cos \gamma)} + \frac{\upsilon B \sin \gamma}{2(L\_f + L\_r \cos \gamma)} + \frac{\dot{\gamma} L\_r (2L\_f \sin \gamma - B \cos \gamma)}{2(L\_f + L\_r \cos \gamma)} \\ v\_{rr}^{\prime} &= \upsilon \cos \gamma + \frac{\upsilon L\_r \sin \gamma^2}{2(L\_f + L\_r \cos \gamma)} - \frac{\upsilon B \sin \gamma}{2(L\_f + L\_r \cos \gamma)} + \frac{\dot{\gamma} L\_r (2L\_f \sin \gamma + B \cos \gamma)}{2(L\_f + L\_r \cos \gamma)} \end{aligned} \tag{17}$$

where *γ* and *γ*˙ denote the articulation angle and articulation angular rate. *B* denotes the width of the front unit of ATVs. *υ<sup>r</sup> f l* and *<sup>υ</sup><sup>r</sup> f r* denote the left and right tracks longitudinal speeds of the front vehicle, and *υ<sup>r</sup> rl* and *<sup>υ</sup><sup>r</sup> rr* denote the linear speeds of tracks of the rear vehicle. The velocities of four tracks of the articulated vehicle are obtained from Equation (17), which ensures that the longitudinal speed of the front unit of ATVs is equal to the desired longitudinal velocity given by the adaptive MPC controller. It is worth noting that the track speeds given by Equation (17) could not deal with the lateral slippage of the tracks well. Therefore, the lateral motion of the vehicle may occur in the steering maneuver that causes the lateral tracking error.

#### **5. Simulation and Discussion**
