Autopilot Design for an Unmanned Surface Vehicle Based on Backstepping Integral Technique with Experimental Results

Abrougui Helmi Nejim Samir

Helmi Abrougui, Samir Nejim (2023). Autopilot Design for an Unmanned Surface Vehicle Based on Backstepping Integral Technique with Experimental Results. Journal of Marine Science and Application, 22(3): 614-623. https://doi.org/10.1007/s11804-023-00356-4
Citation: Helmi Abrougui, Samir Nejim (2023). Autopilot Design for an Unmanned Surface Vehicle Based on Backstepping Integral Technique with Experimental Results. Journal of Marine Science and Application, 22(3): 614-623. https://doi.org/10.1007/s11804-023-00356-4

Autopilot Design for an Unmanned Surface Vehicle Based on Backstepping Integral Technique with Experimental Results

https://doi.org/10.1007/s11804-023-00356-4
  • Abstract

    Controller tuning is the correct setting of controller parameters to control complex dynamic systems appropriately and with high accuracy. Therefore, this study addressed the development of a method for tuning the heading controller of an unmanned surface vehicle (USV) based on the backstepping integral technique to enhance the vehicle behavior while tracking a desired position for water monitoring missions. The vehicle self-steering system (autopilot system) is designed theoretically and tested via a simulation. Based on the Lyapunov theory, the stability in the closed-loop system is guaranteed, and the convergence of the heading tracking errors is obtained. In addition, the designed control law is implemented via a microcontroller and tested experimentally in real time. Conclusion, experimental results were carried out to verify the robustness of the designed controller when disturbances and uncertainties are introduced into the system.

     

    Article Highlights
    ● Nonlinear heading controller design using backstepping integral technique.
    ● Controller tuning.
    ● Autopilot system design for self-steering an Unmanned Surface Vehicle for waypoint tracking.
  • In the past decade, physicists have developed several mathematical models for studying wind (Bazionis and Georgilakis, 2021; Feijóo and Villanueva, 2016) and wave (Jeng et al., 2013) dynamics that have a considerable impact on the dynamics of sailing boats (Abrougui and Nejim, 2018).

    Although environmental-force models are still insufficient to simulate the real behavior of the marine environment, these models can help researchers to understand and analyze the behavior of vessels and to design autopilot systems. Hence, Fossen made an assumption using the superposition of wind and wave disturbances (Fossen, 2011). Within the same framework, the authors of a previous study (Hu and Juang, 2011) designed a robust nonlinear course-keeping control method to control an unmanned surface vehicle (USV) under the influence of high wind forces and large wave disturbances.

    Generally, the effects of disturbing elements such as wind and waves must be considered when designing autopilot systems. The latter requires either data from many sensors, such as wind vanes, anemometers, and speedometers, or the estimation of some parameters, such as ocean current speed and direction, to enhance tracking accuracy.

    The proportional integral derivative (PID) control technique (Caccia et al., 2008; Song et al., 2022; Park et al., 2010; Qi et al., 2007) represents the first implemented control algorithm in autopilot system designs. Most self-steering systems were designed using PID control method (Wang and Ackermann, 1998). Several course-keeping control techniques have also been presented in previous studies, including the fuzzy control technique (Hearn et al., 1997), adaptive control based on gain scheduling (Liu et al., 2017), neural network method (Ma et al., 2019), model predictive control (Siramdasu and Fahimi, 2012; Sharma et al., 2013; Bai et al., 2022), intelligent control using the genetic algorithm (Zhang et al., 2019), local control network approach (Sharma et al., 2012) and linear quadratic Gaussian control method (Asfihani et al., 2019).

    Advanced control approaches, such as feedback linearization techniques (Phanthong et al., 2014; Winursito et al., 2022) and sliding mode control (Abrougui et al., 2021; Chen et al., 2019; Ashrafiuon et al., 2008; Gonzalez-Garcia and Castañeda, 2021), were designed to improve the system robustness with respect to modeling uncertainties.

    In this study, we propose the design of an autopilot system based on the backstepping integral technique used for waypoint tracking control. The heading controller was designed on the basis of external forces generated by ocean currents. The autopilot system demonstrated good performance during waypoint tracking in simulation and sea trials.

    The remainder of this paper is structured as follows: The development of the mathematical model of the considered vehicle is presented in the second section. The heading controller, based on the backstepping integral method, is presented in the third section. The main contribution of this work is the tune of the developed heading controller.

    The last section of this study addresses the design of a microcontroller-based autopilot system. Experimental results were presented to validate the developed control approach.

    The considered USV is presented in Figures 1 and 2. Figure 3 shows that the inertial reference frame R0 is (O, X0, Y0, Z0) and the body fixed frame R is (G, X, Y, Z). The origin of the body frame R is assumed to coincide with the USV's center of gravity as shown in Figure 3.

    Figure  1  Unmanned surface vehicle used herein
    Download: Full-Size Img
    Figure  2  Hardware architecture of the USV
    Download: Full-Size Img
    Figure  3  USV and reference systems
    Download: Full-Size Img

    The USV actuator is composed of four electric motors, as illustrated in Figure 4.

    Figure  4  Rear view of thrusters
    Download: Full-Size Img

    Thrusters control the USV heading and speed simultaneously by generating propulsion forces F1 and F2 on points A and B, respectively.

    The mathematical model of the USV can be simplified by using the following assumptions:

    - Only surge u, sway v, and yaw r motions are modeled.

    - The added-mass coefficients are modeled as constants.

    All the variables used herein are presented and described in Table 1.

    Table  1  Variable description
    Notation Description
    u Surge velocity
    v Sway velocity
    r Yaw rate
    ψ Heading angle
    F2 Left thrust force applied in A
    F1 Right thrust force applied in B
    m USV mass
    Iz Inertial moment around the GZ axis
    x, y USV position in the R0 frame
    ψc Direction of the marine current
    Vc Speed of the marine current
    $X_{\dot{u}}, Y_{\dot{v}}$ Added mass along the GX, GY axes
    $N_{\dot{r}}$ Added mass around the GZ axes
    d = d1 = d2 Distance between A and B horizontally
    J (η) Transformation matrix from the R-frame to the fixed frame

    Therefore, the USV velocity expressed in the body frame is expressed as ϑ = [u v r]T.

    Let us define η = [x y ψ]T. This parameter describes the USV position (x, y) and heading ψ in the inertial frame.

    On the basis of Fossen's model (Fossen, 2011), the USV mathematical model (vectorial form) can be presented as follows:

    $$ \dot{\eta}=J(\eta) \vartheta $$ (1)
    $$ \boldsymbol{M}_{\mathrm{RB}} \dot{\vartheta}+\boldsymbol{M}_A \dot{\vartheta}_r+\boldsymbol{C}_{\mathrm{RB}} \vartheta+\boldsymbol{C}_A \vartheta_r+\boldsymbol{D}=\tau_1+\tau_2 $$ (2)

    with

    $$ \boldsymbol{J}(\eta)=\left[\begin{array}{ccc} \cos \psi & -\sin \psi & 0 \\ \sin \psi & \cos \psi & 0 \\ 0 & 0 & 1 \end{array}\right] $$ (3)

    MRB and MA are the rigid and added-mass matrices, respectively.

    $$ \boldsymbol{M}_{\mathrm{RB}}=\left[\begin{array}{ccc} m & 0 & 0 \\ 0 & m & 0 \\ 0 & 0 & I_z \end{array}\right] $$ (4)
    $$ \boldsymbol{M}_A=-\left[\begin{array}{ccc} X_{\dot{u}} & 0 & 0 \\ 0 & Y_{\dot{v}} & 0 \\ 0 & 0 & N_{\dot{r}} \end{array}\right] $$ (5)

    ϑr = (ur vr r)T is the boat velocity relative to the water, which is expressed as follows:

    $$ \left[\begin{array}{l} u_r \\ v_r \end{array}\right]=\left[\begin{array}{l} u \\ v \end{array}\right]-\left[\begin{array}{cc} \cos \psi & \sin \psi \\ -\sin \psi & \cos \psi \end{array}\right]\left[\begin{array}{c} V_C \cos \psi_C \\ V_C \sin \psi_C \end{array}\right] $$ (6)

    CRB and CA are the rigid-body Coriolis-centripetal and added-mass Coriolis matrices, respectively.

    $$ \boldsymbol{C}_{\mathrm{RB}}=\left[\begin{array}{ccc} 0 & -m r & 0 \\ m r & 0 & 0 \\ 0 & 0 & 0 \end{array}\right] $$ (7)
    $$ \boldsymbol{C}_A=\left[\begin{array}{ccc} 0 & 0 & Y_{\dot{v}} v_r \\ 0 & 0 & -X_{\dot{u}} u_r \\ -Y_{\dot{v}} v_r & X_{\dot{u}} u_r & 0 \end{array}\right] $$ (8)
    $$ \boldsymbol{D}=\left[\begin{array}{ccc} g_1\left(u_r\right) & 0 & 0 \\ 0 & g_2\left(v_r\right) & 0 \\ 0 & 0 & g_3(r) \end{array}\right] $$ (9)

    where g1(ur) = α1urβ1: surge resistance model along the GX axis; g2(vr) = α2vrβ2: sway resistance model along the GY axis; g3(r) = α3rβ3: yaw resistance model around the GZ axis; τ1 and τ2 are respectively the thrust force and the yaw moment. They are given as follows:

    $$ \tau_1=\left[\begin{array}{c} F_1+F_2 \\ 0 \\ 0 \end{array}\right] $$ (10)
    $$ \tau_2=\left[\begin{array}{c} 0 \\ 0 \\ \left(F_2-F_1\right) d \end{array}\right] $$ (11)

    By using property 8.1 in (Fossen, 2011),

    $$ \boldsymbol{M}_{\mathrm{RB}} \dot{\vartheta}+\boldsymbol{C}_{\mathrm{RB}} \vartheta=\boldsymbol{M}_{\mathrm{RB}} \dot{\vartheta}_r+\boldsymbol{C}_{\mathrm{RB}} \vartheta_r $$ (12)

    Equation (2) becomes

    $$ \left(m-X_{\dot{u}}\right) \dot{u}_r=\tau_1+r v_r\left(m+Y_{\dot{v}}\right)-g_1\left(u_r\right) $$ (13)
    $$ \left(m-Y_{\dot{v}}\right) \dot{v}_r=-r u_r\left(m+X_{\dot{u}}\right)-g_2\left(v_r\right) $$ (14)
    $$ \left(I_z-N_{\dot{r}}\right) \dot{r}=\tau_2-u_r v_r\left(Y_{\dot{v}}-X_{\dot{u}}\right)-g_3(r) $$ (15)

    Finally, a three degrees of freedom (3DOF) dynamic model of the USV is given as follows:

    $$ \left\{\begin{array}{c} \dot{x}=u \cos \psi-v \sin \psi \\ \dot{y}=u \sin \psi+v \cos \psi \\ \dot{\psi}=r \\ \dot{u}_r=\frac{\tau_1+r v_r\left(m+Y_{\dot{v}}\right)-g_1\left(u_r\right)}{m-X_{\dot{u}}} \\ \dot{v}_r=\frac{-r u_r\left(m+X_{\dot{u}}\right)-g_2\left(v_r\right)}{m-Y_{\dot{v}}} \\ \dot{r}=\frac{\tau_2-\left(Y_{\dot{v}}-X_{\dot{u}}\right) u_r v_r-g_3(r)}{I_z-N_{\dot{r}}} \\ u=u_r+V_C \cos \left(\psi-\psi_C\right) \\ v=v_r-V_C \sin \left(\psi-\psi_C\right) \end{array}\right. $$ (16)

    The mathematical model (16) is highly nonlinear and has the form of $\dot{X}=f(\boldsymbol{X}, \boldsymbol{U})$, where X = (x y ψ ur vr r)T is the state vector, and U = (τ1τ2)T is the input control vector. Hydrodynamic coefficients were identified as described in a previous study (Abrougui et al., 2021). As discussed in the following section, a heading controller was designed and tested via simulation when the vehicle had to track desired waypoints.

    Theorem 1An autonomous system $\dot{x}=f(x)$ has an equilibrium point xe = 0, which is globally and asymptotically stable if a continuous scalar function V (x) with the following properties exists (Bacciotti and Rosier, 2005):

    $$ \left\{\begin{array}{c} V(0)=0 \\ V(x)>0 \quad \forall x \neq 0 \\ \lim _{x \rightarrow+\infty} V(x)=+\infty \\ \dot{V}(x)<0 \quad \forall x \neq 0 \end{array}\right. $$ (17)

    Proof: Let us consider a system written in the following form:

    $$ \left\{\begin{array}{c} \dot{x}_1=f_1\left(x_1\right)+g_1\left(x_1\right) x_2 \\ \dot{x}_2=f_2\left(x_1, x_2\right)+g_2\left(x_1, x_2\right) u(t) \end{array}\right. $$ (18)

    where f and g are nonlinear functions, and u(t) is the input control. u(t) should be calculated by allowing x1 to converge to a setpoint x1d.

    First, let us define the error of the first variable x1 as

    $$ e_1=x_{1 d}-x_1 $$ (19)

    Its time derivative is

    $$ \dot{e}_1=\dot{x}_{1 d}-\dot{x}_1=\dot{x}_{1 d}-f_1\left(x_1\right)-g_1\left(x_1\right) x_2 $$ (20)

    Let us define the Lyapunov candidate function as follows:

    $$ V_1=\frac{1}{2} e_1^2+\frac{\beta_1}{2} \sigma^2 $$ (21)

    with $\dot{\sigma}=e_1$, and β1 is a positive design parameter.

    The time derivative of V1 is

    $$ \begin{aligned} \dot{V}_1 & =e_1 \dot{e}_1+\beta_1 \sigma e_1 \\ & =e_1\left(\dot{x}_{1 d}-f_1\left(x_1\right)-g_1\left(x_1\right) x_2+\beta_1 \sigma\right) \end{aligned} $$ (22)

    The virtual control input x2 should be equal to x2d, as given in the following equation. Letting $\dot{V}(x)<0$:

    $$ x_{2 d}=\frac{1}{g_1\left(x_1\right)}\left(k_1 e_1-f_1\left(x_1\right)+\dot{x}_{1 d}+\beta_1 \sigma\right) $$ (23)

    where k1 > 0 is a design parameter, and g1(x1) ≠ 0.

    By substituting Equation (23) into (22), we obtain

    $$ \dot{V}_1=-k_1 e_1^2 <0 $$ (24)

    Second, let us define the error of the second variable as

    $$ e_2=x_{2 d}-x_2 $$ (25)

    The time derivative of e2 is given by

    $$ \dot{e}_2=\dot{x}_{2 d}-\dot{x}_2=\dot{x}_{2 d}-f_2\left(x_1, x_2\right)-g_2\left(x_1, x_2\right) u(t) $$ (26)

    Let us define the Lyapunov candidate function as follows:

    $$ V_2=V_1+\frac{1}{2} e_2^2 $$ (27)

    Its time derivative is given by

    $$ \begin{aligned} \dot{V}_2 & =\dot{V}_1+e_2 \dot{e}_2 \\ & =e_1 \dot{e}_1+\beta_1 \sigma e_1+e_2\left(\dot{x}_{2 d}-f_2\left(x_1, x_2\right)-g_2\left(x_1, x_2\right) u(t)\right) \end{aligned} $$ (28)

    In the case of x2x2d, we have,

    $$ \begin{aligned} \dot{e}_1 & =\dot{x}_{1 d}-\dot{x}_1 \\ & =\dot{x}_{1 d}-f_1\left(x_1\right)-g_1\left(x_1\right) x_2 \\ & =\dot{x}_{1 d}-f_1\left(x_1\right)-g_1\left(x_1\right)\left(x_{2 d}-e_2\right) \\ & =\dot{x}_{1 d}-f_1\left(x_1\right)+g_1\left(x_1\right) e_2-k_1 e_1+f_1\left(x_1\right)-\dot{x}_{1 d}-\beta_1 \sigma \\ & =g_1\left(x_1\right) e_2-k_1 e_1-\beta_1 \sigma \end{aligned} $$ (29)

    Equation (28) becomes

    $$ \begin{aligned} \dot{V}_2= & e_1\left[g_1\left(x_1\right) e_2-k_1 e_1-\beta_1 \sigma\right]+\beta_1 \sigma e_1 \\ & +e_2\left[\dot{x}_{2 d}-f_2\left(x_1, x_2\right)-g_2\left(x_1, x_2\right) u(t)\right] \\ = & g_1\left(x_1\right) e_2 e_1-k_1 e_1^2 \\ & +e_2\left[\dot{x}_{2 d}-f_2\left(x_1, x_2\right)-g_2\left(x_1, x_2\right) u(t)\right] \end{aligned} $$ (30)

    The input control u(t) should be expressed as follows to obtain $\dot{V}_2 <0$.

    $$ u=\frac{1}{g_2\left(x_1, x_2\right)}\left(k_2 e_2-f_2\left(x_1, x_2\right)+\dot{x}_{2 d}+g_1\left(x_1\right) e_1\right) $$ (31)

    where k2 > 0 is a design parameter, and g2(x1, x2) ≠ 0. Let pose g1(x1) = g1. The time derivative of Equation (23) is given by

    $$ \dot{x}_{2 d}=\frac{1}{g_1}\left(k_1 \dot{e}_1-\dot{f}_1\left(x_1\right)+\ddot{x}_{1 d}+\beta_1 e_1\right) $$ (32)

    By substituting Equation (32) into (30), we obtain

    $$ \dot{V}_2=-k_1 e_1^2-k_2 e_2^2 <0 $$ (33)

    Hence, the Lyapunov candidate function (27) decreases gradually, indicating that (e1, $\dot{e}_1$) converge to 0 as t → +∞. Therefore, stability in the closed-loop system is established.

    From (16), we can extract the USV yaw dynamics as follows:

    $$ \left\{\begin{array}{c} \dot{\psi}=r \\ \dot{r}=\frac{\tau_2-\left(Y_{\dot{v}}-X_{\dot{u}}\right) u_r v_r-g_3(r)}{I_z-N_{\dot{r}}} \end{array}\right. $$ (34)

    First, let us define the heading error e1 as e1 = ψdψ. Its time derivative is

    $$ \dot{e}_1=\dot{\psi}_d-r $$ (35)

    Let us define the following Lyapunov candidate function as

    $$ V_1=\frac{1}{2} e_1^2+\frac{\beta}{2} \sigma^2 $$ (36)

    with $\dot{\sigma}=e_1$.

    The time derivative of V1 is

    $$ \dot{V}_1=e_1 \dot{e}_1+\beta \sigma e_1=e_1\left(\beta \sigma+\dot{\psi}_d-r\right) $$ (37)

    From Equation (37), variable r should converge to rd to ensure $\dot{V}_1 <0$.

    $$ r_d=k_1 e_1+\beta \sigma+\dot{\psi}_d $$ (38)

    Using Equations (37) and (38), we obtain

    $$ \dot{V}_1=-k_1 e_1^2 <0 $$ (39)

    where k1 > 0 is a design control parameter.

    Second, let us define the error e2 of the variable r as

    $$ e_2=r_d-r $$ (40)

    Its time derivative is expressed as

    $$ \dot{e}_2=\dot{r}_d-\dot{r} $$ (41)

    Let us define the following Lyapunov candidate function as follows:

    $$ V_2=V_1+\frac{1}{2} e_2^2 $$ (42)

    Its time derivative is given by

    $$ \begin{aligned} \dot{V}_2 & =\dot{V}_1+e_2 \dot{e}_2 \\ & =e_1 \dot{e}_1+\beta \sigma e_1+e_2 \dot{e}_2 \\ & =e_1\left(\dot{\psi}_d-r\right)+\beta \sigma e_1+e_2 \dot{e}_2 \\ & =e_1\left(\dot{\psi}_d-\left(r_d-e_2\right)\right)+\beta \sigma e_1+e_2\left(\dot{r}_d-\dot{r}\right) \end{aligned} $$ (43)

    where $r_d=k_1 e_1+\beta \sigma+\dot{\psi}_d$. Therefore, we obtain

    $$ \dot{V}_2=e_1\left(e_2-k_1 e_1\right)+e_2\left(\dot{r}_d-\dot{r}\right) $$ (44)

    The angular acceleration is chosen as follows to verify $\dot{V}_2 <0$:

    $$ \dot{r}=k_2 e_2+e_1+\dot{r}_d $$ (45)

    where k2 > 0 is a design control parameter and

    $$ \dot{r}_d=k_1 \dot{e}_1+\beta e_1+\ddot{\psi}_d $$ (46)

    Using (44) and (45), we acquire

    $$ \dot{V}_2=-k_1 e_1^2-k_2 e_2^2 <0 \quad \forall\left(e_1, e_2\right) \neq(0, 0) $$ (47)

    Therefore, using (34) and (45), the heading controller τ2 is expressed as follows:

    $$ \begin{aligned} \tau_2= & \left(I_z-N_{\dot{r}}\right)\left(k_2 e_2+e_1+\dot{r}_d\right)+\left(Y_{\dot{v}}-X_{\dot{u}}\right) u_r v_r+g_3(r) \\ = & \left(I_z-N_{\dot{r}}\right)\left(e_1\left(1+\beta+k_1 k_2\right)-r\left(k_2+k_1\right)-\beta \sigma k_2\right)+ \\ & \left(Y_{\dot{v}}-X_{\dot{u}}\right) u_r v_r+g_3(r) \end{aligned} $$ (48)

    with

    $$ \begin{aligned} & u_r=u-V_C \cos \left(\psi-\psi_C\right) \\ & v_r=v+V_C \sin \left(\psi-\psi_C\right) \end{aligned} $$

    The parameters k1, k2, and β that remain to be determined are as follows:

    From Equation (38), we have

    $$ \dot{\psi}_d=r_d-k_1 e_1-\beta \sigma $$ (49)

    Therefore, Equation (35) becomes

    $$ \begin{aligned} \dot{e}_1 & =\dot{\psi}_d-r \\ & =r_d-k_1 e_1-\beta \sigma-r \\ & =\left(r_d-r\right)-k_1 e_1-\beta \sigma \\ & =e_2-k_1 e_1-\beta \sigma \end{aligned} $$ (50)

    Using Equations (41) and (45), we obtain

    $$ \dot{e}_2=-k_2 e_2-e_1 $$ (51)

    Consequently, we have

    $$ \left\{\begin{array}{c} \dot{e}_1=e_2-k_1 e_1-\beta \sigma \\ \dot{e}_2=-k_2 e_2-e_1 \\ \dot{\sigma}=e_1 \end{array}\right. $$ (52)

    Therefore, we have

    $$ \left[\begin{array}{c} \dot{e}_1 \\ \dot{e}_2 \\ \dot{\sigma} \end{array}\right]=\left[\begin{array}{ccc} -k_1 & 1 & -\beta \\ -1 & -k_2 & 0 \\ 1 & 0 & 0 \end{array}\right]\left[\begin{array}{c} e_1 \\ e_2 \\ \sigma \end{array}\right] $$ (53)

    The characteristic polynomial is

    $$ \begin{aligned} P(s) & =\left|\begin{array}{ccc} s+k_1 & -1 & \beta \\ 1 & s+k_2 & 0 \\ -1 & 0 & s \end{array}\right| \\ & =s^3+\left(k_1+k_2\right) s^2+\left(k_1 k_2+\beta+1\right) s+k_2 \beta \end{aligned} $$ (54)

    It has the following form:

    $$ P(s)=\left(s-s_0\right)\left(s-s_1\right)\left(s-s_2\right) $$ (55)

    where s0, s1, s2 are designed as three poles allowing the heading dynamic to behave as desired.

    (ss1) (ss2) can be seen as a second-order polynomial with s1 = s2. It can be written in the form of s2 + 2ξωs + ω2, where ξ = 1 is the damping ratio, and ω is the undamped natural frequency.

    If we want to force the third-order system (55) to behave like a second-order system, we have to choose |s0| ≫ |s1| as ξ = 1. According to Figure 5, $\omega=\frac{5}{t_{r 5 \%}}$, where tr 5% is the desired 5% response time.

    Figure  5  Response time of the second-order system as function of the damping ratio
    Download: Full-Size Img

    Let us select |s0| = 20|s1| to obtain |s0| ≫ |s1|. By developing the polynomial (s + 20ω) (s + ω)2 and using (55), we obtain

    $$ \left\{\begin{array}{c} k_1+k_2=22 \omega \\ k_1 k_2+\beta+1=41 \omega^2 \\ k_2 \beta=20 \omega^3 \end{array}\right. $$ (56)

    By choosing tr 5% = 3s, we obtain k1 = 3.3 and k2 = 33.37 at β = 2.775.

    Guidance is a system that generates the desired heading ψd to be used as input into the heading controller (Figure 6).

    Figure  6  Autopilot scheme
    Download: Full-Size Img

    The desired heading ψd can be given by

    $$ \psi_d=\tan ^{-1}\left(\frac{y-y_d}{x-x_d}\right) $$ (57)

    (x, y) is the actual position of the USV, and (xd, yd) the desired position of the USV. ψd represents the direction to the target position (line of sight).

    τ1 is chosen constant and equal to 50% of the total thrust force during the simulation and experimental tests.

    A simulation test was conducted to test the performance of the proposed method for tuning the heading controller. In this context, we introduced three target positions into the guidance system.

    The ocean current velocity and direction were set to (Vc = 0.1 m/s, ψc = − 90°), and the used normalized parameters (Abrougui et al., 2021) are given in Table 2.

    Table  2  Evaluation of Parameters
    Notation Value
    $X_{\dot{u}}(\mathrm{~kg} / \mathrm{N})$ 4.5×10−4
    $Y_{\dot{v}}(\mathrm{~kg} / \mathrm{N})$ 1.8×10−3
    $N_{\dot{r}}\left(\mathrm{~kg} \cdot \mathrm{m}^2 / \mathrm{N}\right)$ 2.16×10−2
    m (kg/N) 0.009
    Iz(kg·m2/N) 6×10−2
    d (m) 0.24
    α1 0.329 9
    β1 1.646 6
    α2 4
    β2 1
    α0 0.24
    α3 0.85
    β3 1

    The path of the USV is shown in Figure 7. The desired waypoints were well reached by the USV despite the presence of model uncertainties and disturbances owing to the ocean current

    Figure  7  Path followed by the USV during the simulation
    Download: Full-Size Img

    The time evolution of the USV heading, as illustrated in Figure 8, shows that the system responded rapidly, accurately, and without overshooting during the steady state as desired.

    Figure  8  Time evolution of the USV heading
    Download: Full-Size Img

    Figure 9 presents the evolution of the yaw rate. The yaw rate was constantly equal to zero unless the USV heading changed.

    Figure  9  Yaw rate
    Download: Full-Size Img

    Figure 10 shows that the heading error is always zero as demonstrated in section 3. Consequently, the effectiveness of the proposed method in terms of the accuracy of the designed controller was proven.

    Figure  10  Time evolution of the heading error e1 (t)
    Download: Full-Size Img

    The controller τ2 (Figure 11) is capable of providing control action to minimize the error in heading. Figure 12 shows also that the generated control inputs for left and right thrusts were smooth. Moreover, no chattering problem was observed. These satisfactory tracking performances clearly demonstrate the efficiency of the heading controller tuning approach.

    Figure  11  Yaw moment
    Download: Full-Size Img
    Figure  12  Yaw moment
    Download: Full-Size Img

    As discussed in this section, an ATMega2560 microcontroller was used to implement the developed autopilot approach (see the hardware architecture of the autopilot system described in Figure 13). The designed heading controller (Equation (48)) was implemented via the Arduino integrated development environment. The parameters k1, k2, and β were calculated as described in Section 3.1.

    Figure  13  Proposed autopilot system hardware
    Download: Full-Size Img

    Figure 12 presents the system hardware, which comprises

    • an inertial measurement unit (MPU 9250 with its library from GitHub),

    • a GPS (NEO 7M) for measuring the USV position and speed on the ground;

    • a SD card reader for data logging.

    As shown in Figures 14 and 15, the USV reached all the waypoints 1, 2, and 3, even in the presence of environmental disturbances due to ocean currents.

    Figure  14  Paths followed by the USV during the simulation and experimental tests
    Download: Full-Size Img
    Figure  15  Path followed by the USV during the experimental test
    Download: Full-Size Img
    Figure  16  USV whenreaching waypoints
    Download: Full-Size Img

    In contrast to the simulation result presented in Figure 9, the experimental results in Figures 17 and 18 illustrate that the USV heading converged to the desired heading with some fluctuations, which occurred owing to the noisy measurements originating from the compass sensor.

    Figure  17  Time evolution of the desired and actual heading during the experimental test (sample time is 35 ms)
    Download: Full-Size Img
    Figure  18  Time evolution of the heading error during the experimental test (sample time is 35 ms)
    Download: Full-Size Img

    Figure 19 shows the time evolution of the designed controller τ2 (yaw moment) during the experimental test letting the USV heading to track desired ones in order to reach all the given waypoints successively. The calculated yaw moment was converted into a pulse-width modulation PWM signal for controlling the differential thrust force via a microcontroller.

    Figure  19  Time evolution of the input control during the experimental test (sample time is 35 ms)
    Download: Full-Size Img
    Figure  20  Time evolution of the yaw rate during the experimental test (sample time is 35 ms)
    Download: Full-Size Img

    This study addressed the design of an autopilot system for controlling a USV. In a previous study (Abrougui et al., 2021), the sliding mode control was applied, evaluated, and tested in real time for controlling the USV. In this study, another technique was used to develop an autopilot system based on the backstepping integral method. The control stability of the developed system was proven based on Lyapunov theory. An approach for tuning the heading controller was also proposed and tested. Simulation and experimental results were presented to demonstrate the effectiveness of the proposed control law. The next work will be conducted to add an obstacle avoidance system to the proposed autopilot.

    Acknowledgement: The authors would like to thank the Ministry of Defense and the Tunisian Naval Academy for supporting this work.
    Competing interest  The authors have no competing interests to declare that are relevant to the content of this article.
  • Figure  1   Unmanned surface vehicle used herein

    Download: Full-Size Img

    Figure  2   Hardware architecture of the USV

    Download: Full-Size Img

    Figure  3   USV and reference systems

    Download: Full-Size Img

    Figure  4   Rear view of thrusters

    Download: Full-Size Img

    Figure  5   Response time of the second-order system as function of the damping ratio

    Download: Full-Size Img

    Figure  6   Autopilot scheme

    Download: Full-Size Img

    Figure  7   Path followed by the USV during the simulation

    Download: Full-Size Img

    Figure  8   Time evolution of the USV heading

    Download: Full-Size Img

    Figure  9   Yaw rate

    Download: Full-Size Img

    Figure  10   Time evolution of the heading error e1 (t)

    Download: Full-Size Img

    Figure  11   Yaw moment

    Download: Full-Size Img

    Figure  12   Yaw moment

    Download: Full-Size Img

    Figure  13   Proposed autopilot system hardware

    Download: Full-Size Img

    Figure  14   Paths followed by the USV during the simulation and experimental tests

    Download: Full-Size Img

    Figure  15   Path followed by the USV during the experimental test

    Download: Full-Size Img

    Figure  16   USV whenreaching waypoints

    Download: Full-Size Img

    Figure  17   Time evolution of the desired and actual heading during the experimental test (sample time is 35 ms)

    Download: Full-Size Img

    Figure  18   Time evolution of the heading error during the experimental test (sample time is 35 ms)

    Download: Full-Size Img

    Figure  19   Time evolution of the input control during the experimental test (sample time is 35 ms)

    Download: Full-Size Img

    Figure  20   Time evolution of the yaw rate during the experimental test (sample time is 35 ms)

    Download: Full-Size Img

    Table  1   Variable description

    Notation Description
    u Surge velocity
    v Sway velocity
    r Yaw rate
    ψ Heading angle
    F2 Left thrust force applied in A
    F1 Right thrust force applied in B
    m USV mass
    Iz Inertial moment around the GZ axis
    x, y USV position in the R0 frame
    ψc Direction of the marine current
    Vc Speed of the marine current
    $X_{\dot{u}}, Y_{\dot{v}}$ Added mass along the GX, GY axes
    $N_{\dot{r}}$ Added mass around the GZ axes
    d = d1 = d2 Distance between A and B horizontally
    J (η) Transformation matrix from the R-frame to the fixed frame

    Table  2   Evaluation of Parameters

    Notation Value
    $X_{\dot{u}}(\mathrm{~kg} / \mathrm{N})$ 4.5×10−4
    $Y_{\dot{v}}(\mathrm{~kg} / \mathrm{N})$ 1.8×10−3
    $N_{\dot{r}}\left(\mathrm{~kg} \cdot \mathrm{m}^2 / \mathrm{N}\right)$ 2.16×10−2
    m (kg/N) 0.009
    Iz(kg·m2/N) 6×10−2
    d (m) 0.24
    α1 0.329 9
    β1 1.646 6
    α2 4
    β2 1
    α0 0.24
    α3 0.85
    β3 1
  • Abrougui H, Nejim S (2018) Backstepping control of an autonomous catamaran sailboat. Robotic Sailing, 41–50
    Abrougui H, Nejim S, Hachicha S, Zaoui C, Dallagi H (2021) Modeling, parameter identification, guidance and control of an unmanned surface vehicle with experimental results. Ocean Engineering, 241, 110038 https://doi.org/10.1016/j.oceaneng.2021.110038
    Asfihani T, Arif DK, Putra FP, Firmansyah MA (2019) Comparison of LQG and adaptive PID Controller for USV heading control. Journal of Physics: Conference Series 1218(1): 012058 https://doi.org/10.1088/1742-6596/1218/1/012058
    Ashrafiuon H, Muske KR, McNinch LC, Soltan RA (2008) Slidingmode tracking control of surface vessels. IEEE Transactions on Industrial Electronics 55(11): 4004–4012 https://doi.org/10.1109/TIE.2008.2005933
    Bacciotti A, Rosier L (2005) Lyapunov functions and stability in control theory. Springer Science & Business Media
    Bai X, Li B, Xu X, Xiao Y (2022) A review of current research and advances in unmanned surface vehicles. Journal of Marine Science and Application 21(2): 47–58 https://doi.org/10.1007/s11804-022-00276-9
    Bazionis IK, Georgilakis PS (2021) Review of deterministic and probabilistic wind power forecasting: Models, methods, and future research. Electricity 2(1): 13–47 https://doi.org/10.3390/electricity2010002
    Caccia M, Bibuli M, Bono R, Bruzzone G (2008) Basic navigation, guidance and control of an unmanned surface vehicle. Autonomous Robots 25(4): 349–365 https://doi.org/10.1007/s10514-008-9100-0
    Chen Z, Zhang Y, Zhang Y, Nie Y, Tang J, Zhu S (2019) Disturbance-observer-based sliding mode control design for nonlinear unmanned surface vessel with uncertainties. IEEE Access 7: 148522–148530 https://doi.org/10.1109/ACCESS.2019.2941364
    Feijóo A, Villanueva D (2016) Assessing wind speed simulation methods. Renewable and Sustainable Energy Reviews 56: 473–483 https://doi.org/10.1016/j.rser.2015.11.094
    Fossen TI (2011) Handbook of marine craft hydrodynamics and motion control. John Wiley & Sons
    Gonzalez-Garcia A, Castañeda H (2021) Guidance and control based on adaptive sliding mode strategy for a USV subject to uncertainties. IEEE Journal of Oceanic Engineering 46(4): 1144–1154 https://doi.org/10.1109/JOE.2021.3059210
    Hearn GE, Zhang Y, Sen P (1997) Alternative designs of neural network-based autopilots: a comparative study. IFAC Proceedings Volumes 30(22): 83–88 https://doi.org/10.1016/S1474-6670%2817%2946494-9
    Hu SS, Juang JY (2011) Robust nonlinear ship course-keeping control under the influence of high wind and large wave disturbances. 8th Asian Control Conference, 393–398
    Jeng DS, Ye JH, Zhang JS, Liu PF (2013) An integrated model for the wave-induced seabed response around marine structures: Model verifications and applications. Coastal Engineering 72: 1–19 https://doi.org/10.1016/j.coastaleng.2012.08.006
    Liu L, Wang D, Peng Z, Li T (2017) Modular adaptive control for LOS-based cooperative path maneuvering of multiple underactuated autonomous surface vehicles. IEEE Transactions on Systems, Man, and Cybernetics: Systems 47(7): 1613–1624 https://doi.org/10.1109/TSMC.2017.2650219
    Ma LY, Xie W, Huang HB (2019) Convolutional neural network-based obstacle detection for unmanned surface vehicle. Mathematical Biosciences and Engineering 17(1): 845–861 https://doi.org/10.3934/mbe.2020045
    Park JH, Shim HW, Jun BH, Kim SM, Lee PM, Lim YK (2010) A model estimation and multi-variable control of an unmanned surface vehicle with two fixed thrusters. Oceans'10, Sydney, 1–5
    Phanthong T, Maki T, Ura T, Sakamaki T, Aiyarak P (2014) Application of A* algorithm for real-time path re-planning of an unmanned surface vehicle avoiding underwater obstacles. Journal of Marine Science and Application 13(1): 105–116 https://doi.org/10.1007/s11804-014-1224-3
    Qi J, Peng Y, Wang H, Han J (2007) Design and implement of a trimaran unmanned surface vehicle system. 2007 International Conference on Information Acquisition, 361–365
    Sharma SK, Naeem W, Sutton R (2012) An autopilot based on a local control network design for an unmanned surface vehicle. J. Navigation 65(2): 281–301. DOI: https://doi.org/ 10.1017/S0373463311000701
    Sharma SK, Sutton R, Motwani A, Annamalai A (2013) Non-linear control algorithms for an unmanned surface vehicle. Proceedings of the Institution of Mechanical Engineers, Part M, Journal of Engineering for the Maritime Environment 227(4): 1–10
    Siramdasu Y, Fahimi F (2012) Incorporating input saturation for underactuated surface vessel trajectory tracking control. American Control Conference, Montreal, 6203–6208
    Song L, Xu C, Hao L, Yao J, Guo R (2022) Research on PID parameter tuning and optimization based on SAC-Auto for USV path following. Journal of Marine Science and Engineering 10(12): 1847 https://doi.org/10.3390/jmse10121847
    Wang L, Ackermann J (1998) Robustly stabilizing PID controllers for car steering systems. Proceedings of the 1998 American Control Conference, Philadelphia, 1, 41–42. DOI: https://doi.org/10.1109/ACC.1998.694624
    Winursito A, Dhewa OA, Nasuha A, Pratama GN (2022) Integral state feedback controller with coefficient diagram method for USV heading control. 5th International Conference on Information and Communications Technology, 295–300
    Zhang W, Xu Y, Xie J (2019) Path planning of USV based on improved hybrid genetic algorithm. European Navigation Conference, Warsaw, 1–7. DOI: https://doi.org/10.1109/EURONAV.2019.8714160
WeChat click to enlarge
Figures(20)  /  Tables(2)
Publishing history
  • Received:  08 February 2023
  • Accepted:  31 March 2023

目录

    /

    Return
    Return