Next Article in Journal
Theoretical Analysis of GeSn Quantum Dots for Photodetection Applications
Previous Article in Journal
AST3DRNet: Attention-Based Spatio-Temporal 3D Residual Neural Networks for Traffic Congestion Prediction
Previous Article in Special Issue
Detection and Control Framework for Unpiloted Ground Support Equipment within the Aircraft Stand
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Trajectory Following Control of an Unmanned Vehicle for Marine Environment Sensing

1
Interdisciplinary Program in IT-Bio Convergence Systems, Department of Electronic Engineering, Chosun University, Gwangju 61452, Republic of Korea
2
Department of Electronic Engineering, Chosun University, Gwangju 61452, Republic of Korea
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(4), 1262; https://doi.org/10.3390/s24041262
Submission received: 17 January 2024 / Revised: 11 February 2024 / Accepted: 13 February 2024 / Published: 16 February 2024

Abstract

:
An autonomous surface vehicle is indispensable for sensing of marine environments owing to its challenging and dynamic conditions. To accomplish this task, the vehicle has to navigate through a desired trajectory. However, due to the complexity and dynamic nature of a marine environment affected by factors such as ocean currents, waves, and wind, a robust controller is of paramount importance for maintaining the vehicle along the desired trajectory by minimizing the trajectory error. To this end, in this study, we propose a robust discrete-time super-twisting second-order sliding mode controller (DSTA). Besides, this control method effectively suppresses the chattering effect. To start with, the vehicle’s model is discretized using an integral approximation with nonlinear terms including environmental disturbances treated as perturbation terms. Then, the perturbation is estimated using a time delay estimator (TDE), which further enhances the robustness of the proposed method and allows us to choose smaller controller gains. Moreover, we employ a genetic algorithm (GA) to tune the controller gains based on a quadratic cost function that considers the tracking error and control energy. The stability of the proposed sliding mode controller (SMC) is rigorously demonstrated using a Lyapunov approach. The controller is implemented using the Simulink® software. Finally, a conventional discrete-time SMC based on the reaching law (DSMR) and a heuristically tuned DSTA controller are used as benchmarks to compare the tracking accuracy and chattering attenuation capability of the proposed GA based DSTA (GA-DSTA). Simulation results are presented both with or without external disturbances. The simulation results demonstrate that the proposed controller drives the vehicle along the desired trajectory successfully and outperforms the other two controllers.

1. Introduction

Marine environment sensing, monitoring, and management are essential to protect the ocean. In this regard, autonomous surface vehicles (ASVs) or unmanned surface vehicles (USVs) (hereafter, ASVs or USVs can be used interchangeably) play a crucial role in sensing and monitoring the ocean, providing essential information [1,2,3,4]. The ocean covers two-thirds of the Earth’s surface and has a substantial impact on weather patterns, marine ecosystems, coastal regions, and the dynamics of climate change [1]. It is a source of energy, food, and materials; moreover, it is used for transportation and recreational purposes [5]. Marine ecosystem degradation, ocean temperature rise, plastic waste contamination, and pollution, etc are posing a threat to mankind [1]. To address this problem, surface vehicles equipped with sensors can be applied to collect data. For autonomous, efficient, and accurate sensing of marine environments, following a desired sensing trajectory is essential. Moreover, autonomous trajectory following of USVs has been utilized in various application areas, including military operations, transportation, surveillance, and offshore infrastructure [6,7,8,9]. This paper focuses on the trajectory following control of USVs.
Different types of USVs are used depending on the application area; however, all USVs share some basic components, such as the hull, data collection equipment, communication systems, guidance, navigation and control (GNC), and propulsion and power systems [10]. The GNC system plays a significant role in a vehicle’s capability of accomplishing a given mission. One of the main challenges to develop USVs is the lack of a reliable and automated GNC that can operate in sophisticated and hazardous operating conditions, and overcome the possible failures in sensors, actuators, and communication [10,11]. The general block diagram of GNC is shown in Figure 1. In the navigation system, different onboard sensors, such as global positioning system (GPS), inertial measurement unit (IMU), compass, sonars, and cameras can be incorporated to measure the states of the vehicle, that is, position, orientation, velocity, and acceleration, as well as to gather data regarding the environment for scientific research. Additionally, state estimator or observer can be used to estimate the states of the vehicle if there are no adequate sensors or to estimate the unmeasurable states of the system.
The guidance system generates a continuous and smooth trajectory to the control system based on the information provided by the navigation system, desired mission, and environmental conditions. In this study, we focus on developing the control system as part of the GNC, assuming that the navigation system provides the necessary states, which are the vehicle’s position, orientation, velocity, and acceleration. The control system operates to drive the vehicle to follow the command velocity provided by the guidance module, utilizing information provided by the navigation systems and minimizing the position trajectory error [10]. Therefore, the tracking error in the research indicates the difference between the controlled velocity and the commanded velocity. The tracking error in the position is considered by the guidance system.
Trajectory following for surface vehicles is challenging, owing to the complexity and nonlinearity of vehicle models and various environmental disturbances such as wind, waves, and currents [12]. To this end, researchers have employed various control strategies. One of the most widely used controllers is the proportional, integral, and derivative (PID) controller [13,14,15,16], but it lacks robustness and is highly dependent on the accuracy of the system dynamics [17]. Model predictive control (MPC) was applied in [18,19], which is sufficient for handling system constraints; but it is computationally intensive when the prediction horizon increases, making practical implementation difficult [12]. Other control methods that have been applied include linear quadratic regulator (LQR) [20,21,22], feedback linearization [21,23], backstepping control [24,25], fuzzy logic and its variants [26], neural networks [27], adaptive control [28] and other well-known control algorithm commonly used for trajectory-following applications is sliding mode controller [24].
Sliding mode control (SMC) is a robust control strategy that ensures insensitivity to matched uncertainties in line with the control input. This allows the straightforward implementation of a robust controller, provided the uncertainties are bounded [29,30]. The fundamental principle of the SMC is to select a sliding surface within the state space in which the system has the desired characteristics. Subsequently, a controller can be designed to force the system trajectories from any initial condition within the state space to the sliding surface within finite time. Additionally, the trajectories can be maintained on the surface afterwards. In essence, SMC comprises two parts: equivalent control responsible for bringing the state trajectories from any initial condition to the sliding manifold, and discontinuous control that keeps the trajectories on the surface after they are brought to the manifold. Thus, the system is insensitive to model uncertainty and bounded exogenous disturbances [29].
However, SMC does not preserve the theoretical sliding motion formulation; rather, it switches to an infinitely high frequency for the sliding manifold. This high-frequency switching is not practically feasible due to the limitations of the actuator bandwidth. Hence, an ideal sliding mode cannot be achieved. Additionally, high-frequency switching of the control signal results in a phenomenon known as the chattering effect. Chattering can result in wear and tear of mechanical actuators as well as high energy consumption. The possible reasons for chattering, according to [30,31], are: (i) even though high-frequency switching is achievable, the existence of “parasitic dynamics“, that is, unmodeled actuator and sensor dynamics, in series with the system could result in a small oscillation around the sliding manifold, and (ii) non-ideal sliding motion causes a high-frequency oscillation.
Continuous-time second-order SMCs have been proposed to alleviate the chattering problem [32,33]. However, when continuous-time SMCs are discretized using a sample and held for digital implementation, they may lose their robustness, leading to instability. To address this limitation of continuous-time sliding mode controllers, researchers introduced discrete-time sliding mode controllers (DSMC). Moreover, implementing a DSMC is more straightforward owing to the advancement and widespread availability of computers and microcontrollers. However, the robustness of DSMC is undermined owing to the finite sampling time. In DSMC, the state trajectories converge to a bounded region near the sliding surface called the ultimate band. They exhibit a zigzag motion, termed quasi-sliding mode (QSM). Furthermore, unlike continuous-time SMC, the width of the ultimate band of a DSMC can be determined, which indicates the robustness of the controller. As noted in [34], given the desired ultimate band, the desired controller parameters can be determined; however, the limitations of the controller must be considered. Hence, by manipulating this band, the insensitivity of DSMC to uncertainties can be varied. To increase the robustness and mitigate the chattering effect of conventional DSMC, a second-order DSMC was proposed in [35,36]; however, the controller gains are not optimal.
Although there are a number of research works on DSMC, particularly based on the reaching law [37], its application to USVs has received less attention. This could be because of the difficulty in finding a discretized model of the vehicle [38]. In Ref. [39], a cascaded conventional DSMC and PI-based gain-scheduling controller were used for a straight line following ASV. Different numerical tests were conducted with and without ocean current disturbances. Although the results were satisfactory, the rudder experienced significant chattering.
Therefore, in this study, we propose a discrete-time super-twisting sliding mode controller [35], which is a robust second-order SMC, to address chattering. To the best of our knowledge, DSTA has not been applied to trajectory following for USVs. Additionally, owing to the complexity of obtaining an exact discrete-time model of the vehicle, we assumed certain hydrodynamic parameters and external disturbances, such as ocean currents, waves, and wind, as unknown perturbation. Hence, we applied a time delay estimator (TDE) to estimate the unknown system dynamics.
The TDE estimates the unknown system dynamics based on the past states of the system and control input. It was first introduced by [40] to estimate disturbances in robotic manipulators, and was later applied to underwater control [41,42]. Then, based on this estimation, the controller cancels the uncertainties.
In many previous studies, the effectiveness of the time delay estimator has been experimentally verified in the presence of model uncertainties and external disturbances [36,41,42]. The purpose of the time delay estimator is to assess perturbation by utilizing data from a sufficiently short time ago, aiming to enhance control performance in terms of robustness and control energy. As will be detailed by using equations, the time delay estimator operates under the assumption that the perturbation does not change drastically within one sampling period, even though it dynamically evolves. In our research, the sampling period is 0.01 s, and the derivative of the perturbation remains fairly constant for this duration. This assumption is reflected in the TDE formulation, which can be regarded as the first-order approximation of the Taylor series expansion of the disturbance.
If the time delay estimator is not utilized, higher bounds on uncertainties should be assumed for robust control, leading to an increased control signal. A higher control signal, in turn, indicates higher control energy. Moreover, if the perturbation is not estimated, the controller becomes computationally intensive due to the need to adapt a large number of uncertain parameters. This restricts the real-time use of the control algorithm due to the limited onboard computational resources [43]. These limitations can be addressed using a time delay estimator, which provides information about perturbation to improve the robustness and reduce the control signal [36,41].
Furthermore, the TDE minimizes the time delay, which affects the performance of the sliding mode controller [31]. Finally, we apply a genetic algorithm (GA) to determine the optimal gains of the proposed controller. A quadratic cost function, which is the sum of the tracking error and control energy, was selected. The block diagram of the proposed method is shown in Figure 2. The main contributions of this study are summarized as follows.
  • A robust DSTA has been applied for trajectory following of an ASV. Moreover, a TDE algorithm has been used to estimate the unknown dynamics of the system, which in turn, improves the robustness of the proposed controller.
  • A GA is used to tune the controller parameters based on a quadratic objective function, which is the sum of the tracking error and control energy.
  • A linear matrix inequality (LMI) based Lyapunov approach was employed to validate the stability of the closed-loop system.
  • Finally, simulation results are presented for two scenarios, with and without the presence of exogenous disturbance. Moreover, the performance of the proposed GA based DSTA is compared with that of DSTA and a reaching law based DSMC.
The remainder of this paper is structured as follows. Section 2 describes the mathematical model of the vehicle from which the discretized model is drived using the integral approximation method. Section 3 describes the design of the proposed DSTA controller and the stability of the closed-loop system. Tuning of the parameters of the proposed controller using the GA is presented in Section 4. In Section 5, numerical results and discussions are presented, and finally, Section 6 presents the conclusions.

2. Mathematical Model

2.1. Continuous-Time Vehicle Model

Generally, the motion of ASVs is described using two coordinate frames of reference [11]: the earth-fixed or inertial frame denoted by { O n } = { x n , y n , z n } , and the body-fixed frame represented by { O b } = { x b , y b , z b } , as shown in Figure 3. Here, only the planar motion of the vehicle was considered. It was assumed that the vehicle had a homogeneous mass distribution and xy-plane symmetry.
The motion of the vehicle in the inertial frame of reference is expressed using position and orientation vector η = [ x , y , ψ ] T , whereas its body-fixed velocity is represented by the velocity vector ν = [ u , v , r ] T . Here, x ( m ) and y ( m ) are the positions along x n and y n , respectively; ψ ( r a d ) is the yaw angle. Additionally, u ( m / s ) , v ( m / s ) are the surge and sway velocities along x b and y b , respectively, r ( r a d / s ) is the yaw rate about z b . Therefore, the kinematic model of the vehicle is given by:
η ˙ = J ( ψ ) ν ,
where J ( ψ ) R 3 × 3 is the transformation matrix between the body-fixed frame and earth-fixed frame, which is:
J ( ψ ) = cos ( ψ ) sin ( ψ ) 0 sin ( ψ ) cos ( ψ ) 0 0 0 1 ,
and its dynamic model is given by:
M ν ˙ + C ( ν ) ν + D ( ν ) ν = τ + τ ext ,
where M = ( M RB + M A ) R 3 × 3 denotes the sum of the rigid body mass and hydrodynamic added mass; C ( ν ) = ( C RB + C A ) R 3 × 3 is a Coriolis-centripetal matrix due to rigid body and added mass; D ( ν ) = ( D L + D NL ) R 3 × 3 is the sum of linear and nonlinear damping matrices given as follows:
M = m 11 0 0 0 m 22 m 23 0 m 32 m 33 ,
C ( ν ) = 0 0 c 13 0 0 c 23 c 31 c 32 0 ,
D ( ν ) = d 11 0 0 0 d 22 d 23 0 d 32 d 33 ,
where m 11 = m X u ˙ , m 22 = m Y v ˙ , m 23 = m x g Y r ˙ , m 32 = m x g N v ˙ , m 33 = I z N r ˙ ; c 13 = c 31 = Y v ˙ v , c 32 = c 23 = X u ˙ ; d 11 = X u X | u | u , d 22 = Y v Y | v | v , d 23 = Y r Y | r | r , d 31 = N v N | v | v , d 33 = N r N | r | r . Here, m is the mass of the vehicle, I z is the moment of inertia about z b , and x g is the center of gravity. X u ˙ , Y v ˙ , Y r ˙ , N v ˙ , and N r ˙ are the hydrodynamic added-mass coefficients. X u , Y v , Y r , N v , and N r are constant linear damping coefficients; and, X | u | u , Y | v | v , Y | r | r , N | v | v , and N | r | r are constant nonlinear damping coefficients. We assume fore-aft symmetry such that Y r ˙ N v ˙ . Additionally, for low-speed applications, N v = Y r . τ = [ X , Y , N ] T R 3 denotes the forces and moments generated by the port thruster, starboard thruster, and bow thruster, respectively. τ ext R 3 denote forces and moments due to external disturbances [44]. The response of the thrusters is assumed to be faster than the dynamics of the vehicle; therefore, the dynamics of the thrusters is neglected.

2.2. Discrete-Time Vehicle Model

A discrete-time controller can be obtained either by discretizing a continuous-time controller designed using a continuous-time system model or by directly designing a discrete-time controller from the discretized system model. In this study, we followed the latter design approach.
Assumption 1.
Assume that only the rigid body mass ( R R B ) and linear damping ( D L ) of the vehicle are known. The other parameters are unknown, and will be estimated using the TDE. This assumption also helps to decouple the sway and yaw dynamics.
Thus, based on Assumption 1 the dynamic model of the vehicle given by Equation (1) can be rewritten as follows:
M RB ν ˙ ( t ) + D L ( ν ( t ) ) ν ( t ) + f ( t ) = τ ( t ) ,
where f ( t ) = M A ν ˙ ( t ) + C ( ν ( t ) ) ν ( t ) + D NL ( ν ( t ) ) ν ( t ) τ ext ( t ) is unknown or perturbation term to be estimated.
Assumption 2.
The state variables and control input are assumed to be constant during the sampling time period T, that is, v ( t ) and τ ( t ) remain constant [45].
Using Assumption 2, we compute a discrete-time model of the vehicle. By integrating Equation (5) over the sampling interval k T into ( k + 1 ) T , we obtain:
k T ( k + 1 ) T M RB ν ˙ ( t ) d t + k T ( k + 1 ) T D L ( ν ( t ) ) ν ( t ) d t + k T ( k + 1 ) T f ( t ) d t = k T ( k + 1 ) T τ ( t ) d t ,
M RB ( ν ( ( k + 1 ) T ) ν ( k T ) ) ) + T D L ν ( k T ) + k T ( k + 1 ) T f ( t ) d t = T τ ( k T ) .
In Equation (6), f ( t ) contains the terms that cannot be integrated. After rearranging Equation (6), the following discretized expression is obtained:
ν ( k + 1 ) = A ν ( k ) + B τ ( k ) + Γ ( k ) ,
where ν ( k ) = [ u ( k ) , v ( k ) , r ( k ) ] T ; τ ( k ) = [ X k , Y k , N k ] T ; the system matrix A = I T M RB D L ; an input matrix B = T M RB 1 ; Γ ( k ) = M RB 1 k T ( k + 1 ) T f ( t ) d t . Γ ( k ) denotes, as explained in Assumption 1, hydrodynamics and parameter uncertainties and the external disturbance. I denotes the identity matrix of appropriate dimension.
Assumption 3.
The perturbation term Γ ( k ) R 3 satisfies the Lipschitz continuity condition
Γ ( k ) Γ ( k 1 ) T L γ ,
where L γ > 0 is a Lipschitz constant and T is the sampling time [46].

3. Controller Design and Stability Analysis

In this section, the proposed DSTA controller design and stability analysis using the Lyapunov approach are discussed.

3.1. Controller Design

The control problem involves designing a robust controller such that the vehicle follows a reference or desired trajectory while addressing the tracking error and chattering effect. In this study, the desired trajectories were defined in a body-fixed reference frame, that is, a body-fixed velocity trajectory following.
To design a SMC, the first step is to select the sliding surface to which the system trajectories are forced to converge. Hence, let the desired trajectories be ν d ( k ) = [ u d ( k ) , v d ( k ) , r d ( k ) ] T . The desired trajectories are generated by the guidance system. Also, let the actual trajectories be ν ( k ) = [ u ( k ) , v ( k ) , r ( k ) ] T provided by the navigation system. Thus, the trajectory error is the difference between the desired and the actual trajectories, that is, e ( k ) = ν d ( k ) ν ( k ) . The sliding surface was selected as follows:
s ( k ) = K p e ( k ) ,
where s ( k ) R 3 ; K p R 3 × 3 is positive scalar diagonal matrix.
For the trajectories to converge to the sliding surface, the sliding function must satisfy s ( k + 1 ) = s ( k ) = 0 after some time instant k; however, this does not occur in the real world, instead, the system trajectories are confined to a band near the sliding manifold, that is, QSM. For convergence of the system trajectories, the sliding function must satisfy s ( k + 1 )   <   s ( k ) . We compute s ( k + 1 ) from Equation (8) as follows:
s ( k + 1 ) = K p e ( k + 1 ) = K p { ν d ( k + 1 ) ν ( k + 1 ) }
Now, by substituting Equation (7) into Equation (9), we obtain
s ( k + 1 ) = K p { ν d ( k + 1 ) A ν ( k ) B τ ( k ) Γ ( k ) } .
The DSTA is given by [35]
s ( k + 1 ) = K 1 s ( k ) T Ω 1 | s ( k ) | 1 / 2 sgn ( s ( k ) ) + T ς ( k ) ς ( k + 1 ) = K 2 ς ( k ) T Ω 2 sgn ( s ( k ) ) ,
where K i R 3 × 3 , 0 < ( diagonal elements of K i ) < 1 , and Ω i R 3 × 3 for i = 1 , 2 are diagonal matrices to be designed to ensure the convergence of DSTA. T is the sampling time period, and sgn ( s ( k ) ) is a signum function defined as
sgn ( γ ) = 0 , for γ = 0 γ | γ | , for γ 0 .
where γ R . By equating Equation (10) with Equation (11), the control law becomes:
τ ( k ) = ( K p B ) 1 { K p ν d ( k + 1 ) K p A ν ( k ) K p Γ ( k ) + K 1 s ( k ) + T Ω 1 | s ( k ) | 1 / 2 sgn ( s ( k ) ) T ς ( k ) } ,
where ( K p B ) 1 must exist. The control law given by Equation (12) cannot be realized, because the perturbation term Γ ( k ) is unknown. From Assumption 3, the perturbation term is bounded. Hence, we employ the TDE method to estimate the perturbation term such that Γ ^ ( k ) is used instead of Γ ( k ) . The control law can be rewritten as follows:
τ ( k ) = ( K p B ) 1 { K p ν d ( k + 1 ) K p A ν ( k ) K p Γ ^ ( k ) K 1 s ( k ) + T Ω 1 | s ( k ) | 1 / 2 sgn ( s ( k ) ) T ς ( k ) } .
The perturbation term is estimated based on the values of the past state variables of the system and past control inputs, that is, the past dynamics of the system. Mathematically, this can be expressed as Γ ( k ) = Γ ^ ( k ) = Γ ( k 1 ) . The estimation of the perturbation term Γ ^ ( k ) can be obtained from Equation (7) as follows:
Γ ^ ( k ) = Γ ( k 1 ) = ν ( k ) A ν ( k 1 ) B τ ( k 1 ) .
The estimation in Equation (14) is based on the assumption that the perturbation term does not vary significantly during the sampling time. However, if the perturbation term changes rapidly during sampling time, the estimation error may be large [45]. Hence, the estimation can be further improved if the delayed perturbation term Γ ( k 1 ) and differential of Γ ( k 1 ) , which is Δ Γ ( k 1 ) , are used to estimate the perturbation term. Now, we get:
Γ ^ ( k ) = Γ ( k 1 ) + Δ Γ ( k 1 ) = 2 Γ ( k 1 ) Γ ( k 2 ) .
After substituting Equation (14) into Equation (15), the estimated perturbation term becomes
Γ ^ ( k ) = 2 ν ( k ) ν ( k 1 ) 2 A ν ( k 1 ) + A ν ( k 2 ) 2 B τ ( k 1 ) + B τ ( k 2 ) .
Therefore, by substituting the perturbation term Equation (16) into Equation (13), we obtain the following control law:
τ ( k ) = ( K p B ) 1 { K p ν d ( k + 1 ) K p A ν ( k ) 2 K p ν ( k ) + K p ν ( k 1 ) + 2 K p A ν ( k 1 ) K p A ν ( k 2 ) K 1 s ( k ) + T Ω 1 | s ( k ) | 1 / 2 sgn ( s ( k ) ) T ς ( k ) } + 2 τ ( k 1 ) τ ( k 2 ) .
The control law given by Equation (17) can be implemented easily because the perturbation term is known. The delayed state and control input of the system can be retrieved from computer memory.

3.2. Stability Analysis

The stability of a closed-loop system is provided as follows [35,36,47]:
Theorem 1.
Consider the dynamics of the surface vehicle given by Equation (2). If there exists a positive definite solution L = L T > 0 to an LMI Ψ T [ L + L Λ 1 L + L Λ 2 L ] Ψ ( 1 r ) L Ψ , the conditions Ω 1 i < 0 , and Ω 2 i > 0 are met. Therefore, the proposed DSTA controller given by Equation (17) ensures asymptotic convergence of the system trajectories to a ball B r (that is, B r = { s : s 2 < r b } ) centered at the origin. The ball has a radius of convergence.
r b = σ 1 r ,
where 0 < r < 1 is the ball radius, s is the sliding surface, and
σ = ϱ 1 ¯ 2 4 ζ 1 + ζ 2 ϵ i 2 + ϱ 2 ¯ ,
ϱ ¯ 1 = ϱ 1 + ϱ 2 = T 2 Ω 1 i 2 f 11 + 2 T 3 f 12 Ω 1 i Ω 2 i ,
ϱ ¯ 2 = ϱ 2 + ϱ 3 = T 2 Ω 1 i 2 f 11 + T 4 f 22 Ω 2 i ,
ζ 1 = λ min ( Ψ ) ,
ζ 2 = λ max ( H ) .
Proof of Theorem 1.
The closed-loop system dynamics can be obtained by substituting Equation (17) into Equation (10), and we obtain
s ( k + 1 ) = K 1 s ( k ) T Ω 1 | s ( k ) | 1 / 2 sgn ( s ( k ) ) + T ς ( k ) + Δ Γ ( k ) ς ( k + 1 ) = K 2 ς ( k ) T Ω 2 sgn ( s ( k ) ) ,
where Δ Γ ( k ) = Γ ^ ( k ) Γ ( k ) denotes the estimation error. As shown in Equation (18), the estimation error affects the closed-loop dynamics of the system. In the following section, we verify the robustness of the proposed controller by assuming that the perturbation term satisfies the Lipschitz criterion, as explained in Assumption 3. Now, we rearrange Equation (18) using change of variable. Let ρ ( k ) = T ς ( k ) + Δ Γ ( k ) . From this, we obtain
s ( k + 1 ) = K 1 s ( k ) T Ω 1 | s ( k ) | 1 / 2 sgn ( s ( k ) ) + ρ ( k ) ρ ( k + 1 ) = K 2 ρ ( k ) T 2 Ω 2 sgn ( s ( k ) ) + ϵ ( k ) ,
where ϵ ( k ) = Δ Γ ( k + 1 ) K 2 Δ Γ ( k ) . Without loss of generality, we can rewrite Equation (19) for i = 1 , 2 , 3 as:
s i ( k + 1 ) = K 1 i s i ( k ) T Ω 1 i | s i ( k ) | 1 / 2 sgn ( s i ( k ) ) + ρ i ( k ) ρ i ( k + 1 ) = K 2 i ρ i T 2 Ω 2 i sgn ( s i ( k ) ) + ϵ i ( k ) .
Equation (20) can be expressed using a compact matrix notation as follows:
χ i ( k + 1 ) = Ψ ( k ) χ i ( k ) + φ ( k ) sgn ( s i ( k ) ) + ξ ( k ) ,
where χ i ( k ) = [ s i ( k ) , ρ i ( k ) ] T , and Ψ ( k ) , φ ( k ) , and ξ ( k ) are:
Ψ ( k ) = K 1 i 1 0 K 2 i ,
φ ( k ) = T Ω 1 i sgn | s i ( k ) | 1 / 2 T 2 Ω 2 i ,
ξ ( k ) = 0 ϵ i ( k ) .
We select a positive definite Lyapunov function V ( k ) that satisfies λ min ( L ) χ i ( k ) 2     χ i ( k ) L λ max ( L ) χ i ( k ) 2 . Here, λ min and λ max are the minimum and maximum eigenvalues of L , respectively.
V i ( k ) = χ i T ( k ) L χ i ( k ) .
The difference in the Lyapunov function is:
Δ V i = V i ( k + 1 ) V i ( k ) .
By substituting Equation (21) into Equation (24), we obtain
Δ V i = V i ( k + 1 ) V i ( k ) = χ i T ( k + 1 ) L χ i ( k + 1 ) χ i T ( k ) L χ i ( k ) ,
Substituting Equation (24) into Equation (25), we obtain
Δ V i ( k ) = χ i T ( k ) Ψ T L Ψ χ i ( k ) + χ i T ( k ) Ψ T L φ sgn ( s i ( k ) ) + χ i T ( k ) Ψ T L ξ + φ T L Ψ χ i ( k ) sgn ( s i ( k ) ) + φ T L φ + φ T L ξ sgn ( s i ( k ) ) + ξ T L Ψ χ i ( k ) + ξ T L φ sgn ( s i ( k ) ) + ξ T L ξ χ i T ( k ) L χ i ( k ) .
After collecting these terms, Equation (26) becomes
Δ V i ( k ) = χ i T ( k ) Ψ T L Ψ L χ i ( k ) + φ T L φ + ξ T L ξ + 2 χ i T ( k ) Ψ T L φ ( k ) sgn ( s i ( k ) ) + 2 χ i T ( k ) Ψ T L ξ + 2 φ T L ξ sgn ( s i ( k ) ) .
Using the Λ -matrix inequality A ¯ T B ¯ + B ¯ T A ¯ A ¯ T Λ A ¯ + B ¯ T Λ 1 B ¯ [48], some of the expressions in Equation (27) are simplified as follows:
  • 2 χ i T ( k ) Ψ T L φ sgn ( s i ( k ) ) χ i T ( k ) Ψ T L Λ 1 L Ψ χ i ( k ) + φ T Λ 1 1 φ .
  • χ i T ( k ) Ψ T L ξ χ i T ( k Ψ T L Λ 2 L Ψ χ i ( k ) + ξ T Λ 2 1 ξ .
  • ξ T L ξ sgn ( s i ( k ) ) φ T L Λ 3 L φ + ξ T Λ 3 1 ξ .
Hence, Equation (27) can be rewritten as
Δ V i ( k ) χ i T ( k ) Ψ T L Ψ + Ψ T L Λ 1 L Ψ + Ψ T L Λ 2 L Ψ L χ i ( k ) + φ T L + Λ 1 1 + L Λ 3 L φ + ξ T { L + Λ 2 1 + Λ 3 1 } ξ .
By adding r V i ( k ) to both sides of Equation (28), we obtain
Δ V i ( k ) χ i T ( k ) Ψ T L + L Λ 1 L + L Λ 2 L ( 1 r ) L Ψ χ i ( k ) + φ T { L + Λ 1 1 + L Λ 3 L ] φ + ξ T L + Λ 2 1 + Λ 3 1 ξ r V i ( k ) ,
where 0 < r < 1 . Using LMI, if there exists a negative definite matrix Φ satisfying the following inequality:
Ψ T L + L Λ 1 L + L Λ 2 L ( 1 r ) L Ψ Φ ,
Δ V i ( k + 1 ) can be rewritten as
Δ V i ( k ) χ i T ( k ) Φ χ i ( k ) + φ T L + Λ 1 1 + L Λ 3 L φ + ξ T L + Λ 2 1 + Λ 3 1 ξ r V i ( k ) .
Δ V i ( k ) χ i T ( k ) Φ χ i ( k ) + φ T F φ + ξ T H ξ r V i ( k ) ,
where F = L + Λ 1 1 + L Λ 3 L , and H = L + Λ 2 1 + Λ 3 1 .
Δ V i ( k ) χ i T ( k ) Φ χ i ( k ) + φ T F φ + ξ T H ξ r V i ( k ) ,
However, φ T F φ can be simplified as follows [36]:
φ T F φ = ϱ 1 ¯ | s i ( k ) | + ϱ 2 ¯ .
The simplification of Equation (33) is presented in Appendix A. For the positive definite matrices Ψ and H in Equation (31), we can apply the two-norm definition: λ min ( Ψ ) χ ( k ) 2 χ i ( k ) Ψ λ max ( Ψ ) χ i ( k ) 2 , and λ min ( H ) ξ ( k ) 2 ξ ( k ) H λ max ( H ) ξ ( k ) 2 . Here, λ min and λ max are the minimum and maximum eigenvalues of the matrices, respective. Thus, Equation (32) becomes
Δ V i ( k ) χ i T ( k ) Φ χ i ( k ) + φ T F φ + ξ T H ξ r V i ( k ) λ min ( Ψ ) χ i ( k ) 2 + ϱ 1 ¯ | s i ( k ) | + ϱ 2 ¯ + λ max ( H ) ξ ( k ) 2 r V i ( k ) λ min ( Ψ ) χ i ( k ) 2 + ϱ 1 ¯ | s i ( k ) | + ϱ 2 ¯ + λ max ( H ) ϵ i 2 r V i ( k ) .
Let ζ 1 = λ min ( Ψ ) > 0 , and ζ 2 = λ max ( H ) . | s i ( k ) | χ i ( k ) , Equation (34) becomes
Δ V i ( k ) ζ 1 χ i ( k ) 2 + ϱ 1 ¯ | s i ( k ) | + ϱ 2 ¯ + ζ 2 ϵ i 2 r V i ( k ) ζ 1 χ i ( k ) 2 + ϱ 1 ¯ χ i ( k ) + ζ 2 ϵ i 2 + ϱ 2 ¯ r V i ( k ) .
The expression ζ 1 χ i ( k ) 2 + ϱ 1 ¯ χ i ( k ) in Equation (35) is simplified using the completing squares method as follows:
ζ 1 χ i ( k ) 2 + ϱ 1 ¯ χ i ( k ) = ζ 1 χ i ( k ) 2 ϱ 1 ¯ ζ 1 χ i ( k ) = ζ 1 χ i ( k ) ϱ 1 ¯ 2 ζ 1 2 + ϱ 1 ¯ 2 4 ζ 1 .
By substituting Equation (36) into Equation (35), we obtain
Δ V i ( k ) ζ 1 χ i ( k ) 2 + ϱ 1 ¯ χ i ( k ) + ζ 2 ϵ i 2 + ϱ 2 ¯ r V i ( k ) ζ 1 χ i ( k ) ϱ 1 ¯ 2 ζ 1 2 + ϱ 1 ¯ 2 4 ζ 1 + ζ 2 ϵ i 2 + ϱ 2 ¯ r V i ( k ) ( k ) ϱ 1 ¯ 2 4 ζ 1 + ζ 2 ϵ i 2 + ϱ 2 ¯ r V i = σ r V i ( k ) ,
where σ = ϱ 1 ¯ 2 4 ζ 1 + ζ 2 ϵ i 2 + ϱ 2 ¯ .
Δ V i ( k ) σ r V i V i ( k + 1 ) V i ( k ) σ r V i ( k ) V i ( k + 1 ) ( 1 r ) V i ( k ) + σ .
Equation (38) is a linear, first-order, ordinary difference equation; thus, we can compute the solution by induction from the first few iterations given as follows:
V i ( 1 ) σ + ( 1 r ) V i ( 0 ) ,
V i ( 2 ) σ + σ ( 1 r ) + ( 1 r ) 2 V i ( 0 ) ,
V i ( 3 ) σ + σ ( 1 r ) + σ ( 1 r ) 2 + σ ( 1 r ) 3 V i ( 0 ) .
Therefore, from the results in Equations (39a)–(39c), we can generalize the k th iteration as follows:
V i ( k ) σ + σ ( 1 r ) V i ( 0 ) σ + σ ( 1 r ) + σ ( 1 r ) 2 + + σ ( 1 r ) k 1 + ( 1 r ) k V i ( 0 ) ( 1 r ) k V i ( 0 ) + j = 0 k 1 σ ( 1 r ) j .
As k approaches infinity, V i ( k ) becomes:
lim k V i ( k ) σ 1 r .
Hence, the radius of the ball is
r b σ 1 r .
This concludes the proof of Theorem 1. □

4. Controller Gain Optimization Using Genetic Algorithm

In this section, the computation of the optimal gains of the proposed controller using GA is discussed. Setting controller gains, particularly for complex nonlinear systems, is difficult and requires experience. The system response can be made faster with higher controller gains; however, this leads to higher control signals, which in turn increase the energy consumption and actuator saturation. Thus, to address these problems, we applied a GA to tune the controller gains.
To determine optimal gains, an objective or cost function must first be established. In optimal control, the choice of cost function depends on the performance measures that the system must satisfy. These performance measures can be the error, time, and control energy, or a combination of them [49]. The use of the sum of tracking error and control energy, or a combination of other performance metrics as a cost function, is a common approach and has been applied in real-world applications. Nevertheless, there is always a trade-off between the selections of the performance criteria. After selecting the cost function, a suitable optimization algorithm is chosen to find the optimal parameters of the controller based on the cost function.
In this study, GA was selected because it is convenient for discrete-time optimization [50]. GA is an evolutionary algorithm based on Darwin’s theory of natural selection. Generally, it uses three operators: selection, crossover, and mutation. The operation of the GA commences by setting an initial random population comprising possible candidate solutions, and the fitness of the individuals is evaluated using the cost function. The selection operator then selects the fittest individuals, from which parents are selected for reproduction. Offsprings are produced by crossing the chromosomes of the parents. To increase the diversity of the next generation, a mutation operator is applied that prevents stagnation, that is, the similarity of the solution after several generations. This operation continues until the stopping criteria are satisfied [50,51]. The GA operation is summarized in the flowchart in Figure 4.
The proposed method avoids real-time use of GA. If employed in real-time, the convergence time of GA significantly impacts control performance. Problems may arise if GA fails to converge within the desired time period corresponding to the control frequency. To address this, we employed GA to tune the controller parameters offline before real-time operation. This tuning is specifically for the nominal case, without external disturbances, and is done prior to the real-time operation of the controller.
Since ASVs can stay on the water surface for long periods of time, they should use energy efficiently apart from following the desired trajectory by minimizing the tracking error. Thus, we employ a quadratic cost function J c , which is the sum of the tracking error and control energy, defined as follows:
J c = i = 0 k 1 ( e ( i ) Q 2 + u ( i ) R 2 ) ,
where k is the number of time steps and e ( i ) and u ( i ) are the vectors of the tracking error and control signal at the i th time instant, respectively. Q R 3 × 3 is a positive semi-definite matrix and R R 3 × 3 is a positive definite matrix. The cost function, as defined in Equation (42), incorporates weighting matrices Q and R for the tracking error index and control energy index, respectively. The values of these matrices depend on the size of the tracking error and the control energy, as mentioned in [52]. They are selected to strike a balance between tracking performance and control energy consumption. It should be noted the cost function is formulated as an unconstrained optimization problem.
The cost function given by Equation (42) is coded using MATLAB. The error and control signals are logged into the MATLAB workspace using the Simulink® model implementation of the vehicle. The cost function is computed from these signals. Then, the cost function and GA options were passed to the built-in MATLAB GA. Finally, the algorithm tunes the controller’s gains until the stopping criteria are reached, which in our case are the maximum number of generations and stall generations.
Figure 5 illustrates our analysis of GA convergence, showing plots of fitness, stopping criteria, and the average distance between individuals. The GA operates with a population size of 250, and its stopping criteria include a maximum of 15 generations and a stall generation of 7, as outlined in Table 1. Other GA settings are detailed in the same table. The fitness graph in Figure 5 demonstrates GA convergence to the ‘best’ solution in nearly 6 generations, terminating based on the maximum number of generations criterion. Moreover, the graph depicting the average distance between individuals gradually decreases as the generation advances, indicating the convergence of GA towards a proper solution.

5. Simulation Results and Discussion

This section presents a verification of the performance of the proposed controller through numerical simulations. The simulation comprises two scenarios: (i) the performances of the proposed GA-based DSTA (hereafter, GA-DSTA) and DSTA controllers with TDE are compared. Additionally, to evaluate the performance of these controllers and chattering reduction, we used the commonly used conventional discrete-time SMC based on reaching law (DSMR) implemented in [45]. (ii) Since ASVs could be deployed in areas where the disturbance due to ocean current, wind, and ocean waves is significant, the robustness of the proposed controller will be tested in the presence of an external disturbance.
The reference trajectories used were body-fixed velocity trajectories. The physical parameters of the vehicle are obtained from the research vessel used in [44]. The vehicle has an overall length of 2.53 m and a 0.565 m beam, and is a scaled-down (1:17.1) model of a large research vessel. The vehicle parameters are listed in Table 2.

5.1. Scenario 1: Nominal Case

In this case, the performance of the proposed controller without external disturbances is addressed. A piecewise body-fixed reference trajectory given in Equations (43)–(45) for surge, sway, and yaw was used to test the effectiveness of the proposed controller. Discontinuous trajectories are used to validate the controller’s performance in worst-case scenarios, even though they may not be used in real-world scenarios. To assess the dynamic performance of the controller, i.e., how the controller reacts to abrupt changes in trajectory, abrupt changes have been considered. These trajectories were discretized using the sample-and-hold method. We assume that the maximum surge speed, sway speed, and yaw rate of the vehicle are 15 m/s, 2 m/s, and 1 rad/s, respectively. The initial speed of the vehicle is set to [ u 0 , v 0 , r 0 ] T = [ 0   m / s , 0   m / s , 0   rad / s ] T . A sampling time has to be selected based on the update rate or frequency of the sensors and actuators. Thus, in this study, a sampling time of T = 0.01 s is chosen.
u d = 0.1 t 2 , for 0 t < 10 10 sin ( 0.1 t ) + 5 cos ( 0.1 π t ) , for 10 t < 20 0.01 t 2 2 sin ( 0.05 π t ) , for 20 t < 30 100 e t 8 sin ( 0.8 t ) , for 30 t < 40
v d = 0 , for 0 t < 10 2 sin ( 0.05 π t ) , for 10 t < 20 1.5 , for 20 t < 30 0.8 sin ( 0.5 t ) , for 30 t < 40
r d = π 4 , for 0 t < 10 0.4 , for 10 t < 20 e t 8 sin ( 0.8 t ) , for 20 t < 30 π 3 , for 30 t < 40
The weighting matrices of the objective function are heuristically selected as Q = diag(1.5, 1.5, 1.5) and R = diag(0.01, 0.01, 0.01). The parameters of both the DSTA and the DSMR were also heuristically tuned. To ensure a fair comparison, we used a fairly similar values as well as to prevent higher control signals which causes control signal saturation and chattering effect. The parameters of the proposed GA-DSTA, DSTA, and DSMR controllers are listed in Table 3.
To qualitatively evaluate the performance of the proposed controller, we used two performance indices: (i) the root mean square error (RMSE) was used to compute the tracking error of the three controllers for the surge, sway, and yaw rate; (ii) The Frobenius norm was used to obtain the total control energy expenditure of the three control algorithms. The RMSE and Frobenius norm are given by Equation (46) and Equation (47), respectively.
RMSE = 1 N i = 1 N ( d ( k ) ( k ) ) 2 ,
U F = i = 1 M j = 1 N | u i j | 2 ,
where ★ represents one of the three degrees of freedom, N is the number of time steps, and M denotes the number of degrees of freedom (that is, three in this case). U is a control signal matrix whose dimensions are the number of degrees of freedom by the number of time steps, and u i j denotes each element of U .
The simulation results of the three controllers for the nominal case of the surge, sway, and yaw rates are shown in Figure 6, Figure 7 and Figure 8. As can be observed from the simulation results, the three controllers drive the vehicle along the desired trajectory successfully; however, the proposed GA-DSTA controller outperforms the other two controllers both in terms of overshoot and tracking error minimization.
The RMSEs of the surge, sway, and yaw rate of the three controllers are listed in Table 4. It can be seen from this qualitative analysis that the proposed GA-DSTA controller yields a 13.5% and 40.01% reduction in RMSE compared to the DSTA and DSMR controllers, respectively, for the surge direction. Similarly, the percentage of reduction in RMSE was observed for the sway direction, except for the yaw rate of DSMR, which was approximately 42.56%.
For the sake of brevity, the RMSEs of the three controllers are shown in the bar graph in Figure 9. As shown in the bar chart, the RMSE for the surge speed is higher than the RMSE for the sway speed and yaw rate for all the three control methods. This shows that when the speed increases, the tracking error increases as well.
Additionally, a step change was included in the desired trajectories to test the dynamic performance of the proposed controller. The proposed controller reacts quickly to the change and tracks the desired trajectory effectively, although there is an insignificant overshoot, as shown in Figure 6, Figure 7 and Figure 8. The conventional DSMR controller has a large overshoot compared to those of GA-DSTA and DSTA; however, it reacts immediately and settles almost within less than 0.2 s for the surge, sway, and yaw rate. This is due to the TDE algorithm, which estimates the unknown system dynamics so that the controller reacts quickly.
The expenditure of control energy of the proposed GA-DSTA controller including those for DTSA and DSMR are given in Table 5. The energy consumption of the proposed controller was lower than those of the other two controllers. It was found that there was an 41.78% reduction in the energy expenditure of the GA-DSTA controller compared with that of the DSTA controller. However, the energy consumption of the GA-DSTA controller was reduced to 66.4% of that of the DSMR controller. This is clearly shown in the bar graph in Figure 10.
The total energy consumption of the proposed method and the other two controllers are listed in Table 5. As can be seen from this energy-consumption table, the proposed method has the lowest energy consumption. The energy consumption is related to the chattering. If the chattering is significant, then the energy consumption is high as well. The GA-DSTA controller significantly minimizes the chattering compared to both DSTA and DSMR controllers, resulting in the lowest energy consumption. Additionally, the chattering by the DSTA controller is lower than that of the conventional DSMR controller, leading to lower energy consumption as well. Despite the small difference in tracking errors across the three controllers, the notable improvement in chattering by the GA-DSTA and DSTA controllers contributes to the overall reduction in energy consumption. The chattering effect in the control signals for Scenario 1 is shown in Figure 11.

5.2. Scenario 2: External Disturbance

In the real world, the motion of the ASV is affected by external disturbances such as currents, wind, ocean waves, model uncertainties, and parametric variations. Thus, before deploying a control algorithm, its robustness against external disturbances must be tested. In this subsection, we present a simulation in the presence of external disturbances. Note that the external disturbances are assumed to be bounded and satisfy the Lipschitz condition given in Assumption 3. The external disturbances for the surge, sway, and yaw rates are given by Equations (48)–(50).
u dis = 0 , for 0 t < 10 1.5 sin ( 2 π t ) cos ( π t ) , for 10 t < 20 1.5 sawtooth ( 2 π t ) , for 20 t < 30 0 , for 30 t < 40
v dis = 0 , for 0 t < 10 0.5 sawtooth ( 0.5 π t ) , for 10 t < 20 0.5 sin ( 0.2 π t ) cos ( 0.2 π t ) , for 20 t < 30 0 , for 30 t < 40
r dis = 0.2 sin ( 0.5 π t ) cos ( 0.4 t ) 0.1 sin ( 0.2 t ) , for 0 t < 10 0 , for 10 t < 20 0.2 sawtooth ( 0.5 π t ) , for 20 t < 30 0 , for 30 t < 40
where sawtooth is a MATLAB built-in sawtooth function. For the surge and sway directions, disturbances were added to the reference trajectory from t = 10 to t = 30, and disturbances for the yaw rate were added from t = 0 to t = 10 and t = 20 to t = 30. The maximum magnitudes of the disturbances for the surge u dis , sway v dis , and yaw rate r dis were ±1.5 m/s, ± 0.5 m/s, and ± 0.2 rad/s, respectively. The sampling time was the same as that in the nominal case.
The simulation results for the second scenario are shown in Figure 12, Figure 13 and Figure 14 for the surge, sway, and yaw rates, respectively. Even in the presence of external disturbances, the proposed method, including the other two controllers, successfully followed the desired trajectory.
The RMSEs for the second scenario are given in Table 6. The percentages of RMSEs reduction of the proposed controller compared to the DSTA controller for the surge, sway direction, and yaw rate are approximately 13.39%, 9.046%, and 13.36%, respectively, and 40%, 35.44%, and 41.7% as compared to the DSMR, respectively. From this comparison, it can be inferred that the proposed controller outperforms the other two. The RMSEs are depicted in the bar chart in Figure 15.
The robustness of the proposed controller to external disturbances relies on the gains of the controllers Ω 1 and Ω 2 . When the values of these gains are small, the chattering effect decreases, and the robustness of the controller degrades. The GA tunes these gains to smaller values based on a given objective function. This slightly could degrade the robustness of the proposed controller. However, the presence of the TDE algorithm prevents further performance degradation by estimating unknown system dynamics and external disturbances.
Regarding the control energy expenditure, the proposed controller utilized lower energy than the DSTA and DSMR controllers as shown in Table 7. There is a 41.6% reduction in the energy consumption of GA-DSTA compared to that in DSTA, and 66.3% compared to that in DSMR. The bar chart in Figure 16 shows the total energy consumed by the three controllers. The proposed GA-DSTA and DSTA controllers have less chattering compared to DSMR controller as shown in Figure 17.

6. Conclusions

In this study, a GA-DSTA controller was proposed for trajectory following of an ASV. Besides, a TDE algorithm was incorporated to estimate the unknown dynamics of the system. The stability of the closed-loop system was analyzed using a Lyapunov approach. The controller gains were tuned using GA based on a quadratic performance index, the sum of the tracking error and the control energy. The performance of the proposed controller was validated with and without the presence of external disturbances, and its performance was also compared with both DSTA and DSMR. The results showed the proposed GA-DSTA controller outperformed, in terms of both the tracking error and the chattering phenomenon reduction, the other controllers. However, though GA improved the tracking capability of the proposed method by suppressing the chattering effect, its robustness slightly decreased when external disturbances were added. However, the TDE algorithms improved the robustness of the controller.
The proposed controller can be applied to the trajectory following of an ASV which can be used to replace time-consuming, expensive, and hazardous sensing tasks which were previously performed by manned marine vehicles. In the future, the practical implementation of the proposed controller will be done.

Author Contributions

Conceptualization, N.Y.K. and T.E.D.; methodology, N.Y.K. and T.E.D.; software, T.E.D.; validation, N.Y.K. and T.E.D.; formal analysis, N.Y.K., T.E.D. and S.H.Y.; investigation, N.Y.K. and T.E.D.; resources, N.Y.K., T.E.D. and S.H.Y.; data curation, N.Y.K., T.E.D. and S.H.Y.; writing—original draft preparation, T.E.D.; writing—review and editing, N.Y.K.; visualization, T.E.D.; supervision, N.Y.K. and S.H.Y.; project administration, N.Y.K.; funding acquisition, N.Y.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (NRF–2019R1I1A3A01057691).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data is contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Proof of Equation (33)

φ T F φ = T Ω 1 i | s i | 1 2 T 2 Ω 2 i s g n ( s i ( k ) ) T f 11 f 12 f 21 f 22 T Ω 1 i | s i | 1 2 T 2 Ω 2 i s g n ( s i ( k ) ) = T 2 Ω 1 i 2 f 11 | s i ( k ) | + 2 T 3 f 12 Ω 1 i Ω 2 i | s i ( k ) | 1 2 + T 4 f 22 Ω 2 i 2 = ( ϱ 1 | s i ( k ) | + ϱ 2 ) | s i ( k ) | 1 2 + ϱ 3 ϱ 1 | s i ( k ) | + ϱ 2 | s i ( k ) | 1 2 + ϱ 2 + ϱ 3 ( ϱ 1 + ϱ 2 ) | s i ( k ) | + ϱ 2 + ϱ 3 = ϱ 1 ¯ | s i ( k ) | + ϱ 2 ¯ ,
where ϱ 1 = T 2 Ω 1 i 2 f 11 , ϱ 1 = 2 T 3 f 12 Ω 1 i Ω 2 i , ϱ 3 = T 4 f 22 Ω 2 i 2 , ϱ 1 ¯ = ϱ 1 + ϱ 2 , and ϱ 2 ¯ = ϱ 2 + ϱ 3 , F is a positive definite matrix. And also, Ω 1 i > 0 and Ω 2 i > 0 .

References

  1. Yuan, S.; Li, Y.; Bao, F.; Xu, H.; Yang, Y.; Yan, Q.; Zhong, S.; Yin, H.; Xu, J.; Huang, Z.; et al. Marine environmental monitoring with unmanned vehicle platforms: Present applications and future prospects. Sci. Total Environ. 2023, 858, 159741. [Google Scholar] [CrossRef]
  2. Li, Y.; Tian, L.; Li, W.; Li, J.; Wei, A.; Li, S.; Tong, R. Design and Experiments of a Water Color Remote Sensing-Oriented Unmanned Surface Vehicle. Sensors 2020, 20, 2183. [Google Scholar] [CrossRef]
  3. Yuh, J.; Marani, G.; Blidberg, D.R. Applications of marine robotic vehicles. Intell. Serv. Robot. 2011, 4, 221–231. [Google Scholar] [CrossRef]
  4. Hung, S.-S.; Ou, G.-R.; Wu, J.R.; Hsu, C. Autonomous Water Quality Monitoring and Water Surface Cleaning for Unmanned Surface Vehicle. Sensors 2021, 21, 1102. [Google Scholar]
  5. Visbeck, M. Ocean science research is key for a sustainable future. Nat. Commun. 2018, 9, 690. [Google Scholar] [CrossRef]
  6. Rian, J.; Pang, S.; Sun, H.B.; Pang, Y.J. Development and missions of unmanned surface vehicle. J. Mar. Sci. Appl. 2010, 9, 451–457. [Google Scholar]
  7. Caccia, M.; Bibuli, M.; Bono, R.; Bruzzone, G.; Bruzzone, G.; Spirandelli, E. Unmanned Surface Vehicle for Coastal and Protected Waters Applications: The Charlie Project. Mar. Soc. Tech. J. 2007, 41, 62–71. [Google Scholar] [CrossRef]
  8. Murphy, R.R.; Steimle, E.; Griffin, C.; Cullins, C.; Hall, M.; Pratt, K. Cooperative use of unmanned sea surface and micro aerial vehicles at Hurricane Wilma. J. Field Robot. 2008, 25, 164–180. [Google Scholar] [CrossRef]
  9. Kiencke, U.; Nielsen, L.; Sutton, R.; Schilling, K.; Papageorgiou, M.; Asama, H. The impact of automatic control on recent developments in transportation and vehicle systems. Annu. Rev. Control 2006, 30, 81–89. [Google Scholar] [CrossRef]
  10. Liu, Z.; Zhang, Y.; Yu, X.; Yuan, C. Unmanned surface vehicles: An overview of developments and challenges. Annu. Rev. Control 2016, 41, 71–93. [Google Scholar] [CrossRef]
  11. Fossen, T.I. Marine Control Systems–Guidance, Navigation and Control of Ships, Rigs and Underwater Vehicles; Marine Cybernetics: Trondheim, Norway, 2002; pp. 143–169. [Google Scholar]
  12. Zheng, H.; Negenborn, R.R.; Lodewijks, G. Trajectory tracking of autonomous vessels using model predictive control. In Proceedings of the 19th World Congress, Cape Town, South Africa, 24–29 August 2014. [Google Scholar]
  13. Dewil, R.P.; Asfihani, T.; Nurhadi, H. Design control of autonomous surface vehicle position using proportional integral derivative method. In Proceedings of the International Conference on Advanced Mechatronics, Intelligent Manufacture and Industrial Automation (ICAMIMIA), Surabaya, Indonesia, 8–9 December 2021. [Google Scholar]
  14. Meng, Y.; Ye, H.; Yang, X. Trajectory–tracking control of an unmanned surface vehicle based on characteristic modelling approach: Implementation and field testing. IET Cyber Syst. Robot. 2023, 5, 451–457. [Google Scholar] [CrossRef]
  15. Sonnenburg, C.R.; Woolsey, C.A. Modeling, identification, and control of an unmanned surface vehicle. J. Field Robot. 2013, 30, 371–398. [Google Scholar] [CrossRef]
  16. Liu, L.; Wang, D.; Peng, Z. ESO–Based Line–of–Sight Guidance Law for Path Following of Underactuated Marine Surface Vehicles with Exact Sideslip Compensation. IEEE J. Ocean Eng. 2017, 42, 477–487. [Google Scholar] [CrossRef]
  17. Su, S.; Lee, W.B. Limitations and countermeasures of PID controllers. Ind. Eng. Chem. Res. 1996, 35, 2596–2610. [Google Scholar]
  18. Wang, W.; Mateos, L.A.; Park, S.; Leoni, P.; Gheneti, B.; Duarte, F.; Ratti, C.; Rus, D. Design, modeling, and nonlinear model predictive tracking control of a novel autonomous surface vehicle. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 September 2018; pp. 6189–6196. [Google Scholar]
  19. Guerreiro, B.J.; Silvestre, C.; Cunha, R.; Pascoal, A. Trajectory Tracking Nonlinear Model Predictive Control for Autonomous Surface Craft. IEEE Trans. Control Syst. Technol. 2014, 22, 2160–2175. [Google Scholar] [CrossRef]
  20. Halvorsen, H. Dynamic Positioning for Unmanned Surface Vehicles. Master’s Thesis, NTUT University, Department Engineering Cybernetics, Trondheim, Norway, 2008. [Google Scholar]
  21. Halvorsen, H.S.; Øveraas, H.; Landstad, O.; Smines, V.; Fossen, T.I.; Johansen, T.A. Wave motion compensation in dynamic positioning of small autonomous vessels. J. Mar. Sci. Technol. 2020, 26, 693–712. [Google Scholar] [CrossRef]
  22. Athans, M. The role and use of the stochastic linear–quadratic–Gaussian problem in control system design. IEEE Trans. Autom. Control 1971, 16, 529–552. [Google Scholar] [CrossRef]
  23. Rosario, R.V.C.; Cunha, J.P.V.S.; Garcia-Rosa, P.B. Stabilizing Control of an Unmanned Surface Vehicle Pushing a Floating Load. Int. J. Control Automat. Syst. 2020, 18, 3194–3203. [Google Scholar] [CrossRef]
  24. Zaopeng, D.; Wan, L.; Li, Y.; Liu, T.; Zhang, G. Trajectory tracking control of underactuated USV based on modified backstepping approach. Int. J. Naval Archit. Ocean Eng. 2015, 7, 817–832. [Google Scholar]
  25. Liao, Y.L.; Su, Y.M.; Cao, J. Trajectory planning and tracking control for underactuated unmanned surface vessels. J. Central South Univ. 2014, 21, 540–549. [Google Scholar] [CrossRef]
  26. Xiang, X.; Yu, C.; Lapierre, L.; Zhang, J.; Zhang, Q. Survey on fuzzy-logic-based guidance and control of marine surface vehicles and underwater vehicles. Int. J. Fuzzy Syst. 2018, 20, 572–586. [Google Scholar] [CrossRef]
  27. Chu, Z.; Zhu, D.; Yang, S.X. Observer–Based Adaptive Neural Network Trajectory Tracking Control for Remotely Operated Vehicle. IEEE Trans. Neural Netw. Learn. Syst. 2017, 28, 1633–1645. [Google Scholar] [CrossRef] [PubMed]
  28. Zhao, Y.; Mu, D.; Wang, G.; Fan, Y. Trajectory Tracking Control for Unmanned Surface Vehicle Subject to Unmeasurable Disturbance and Input Saturation. IEEE Access 2020, 8, 191278–191285. [Google Scholar] [CrossRef]
  29. Samantaray, J.; Chakrabarty, S. Digital implementation of sliding mode controllers with DC–DC buck converter system. In Proceedings of the 15th International Workshop on Variable Structure System (VSS), Graz, Austria, 9–11 July 2018; pp. 255–260. [Google Scholar]
  30. Haninger, K.; Hedrick, K. Discrete–time implementations of sliding mode control. In Proceedings of the American Control Conference (ACC), Boston, MA, USA, 6–8 July 2016; pp. 6519–6524. [Google Scholar]
  31. Young, K.D.; Utkin, V.I.; Ozguner, U. A control engineer’s guide to sliding mode control. IEEE Trans. Control Syst.Tech. 1999, 7, 328–342. [Google Scholar] [CrossRef]
  32. Bartolini, G.; Ferrara, A.; Usai, E. Chattering avoidance by second-order sliding mode control. IEEE Trans. Autom. Control 1998, 43, 241–246. [Google Scholar] [CrossRef]
  33. Bartolini, G.; Ferrara, A.; Giacomini, L.; Usai, A. Properties of a combined adaptive/second-order sliding mode control algorithm for some classes of uncertain nonlinear systems. IEEE Trans. Autom. Control 2000, 45, 1334–1341. [Google Scholar] [CrossRef]
  34. Chakrabarty, S.; Bandyopadhyay, B. Discrete time sliding mode control with minimal quasi sliding mode band. In Proceedings of the 12th International Workshop on Variable Structure System, Mumbai, India, 12–14 January 2012; pp. 404–409. [Google Scholar]
  35. Iván, S.; Chairez, I.; Bandyopadhyay, B.; Fridman, L.; Camacho, O. Discrete–time non–linear state observer based on a super twisting–like algorithm. IET Control Theory Appl. 2014, 8, 803–812. [Google Scholar]
  36. Kali, Y.; Ayala, M.; Rodas, J.; Saad, M.; Doval–Gandoy, J.; Grego, R.; Benjelloun, K. Time Delay Estimation Based Discrete–Time Super–Twisting Current Control for a Six–Phase Induction Motor. IEEE Trans. Power Electron. 2020, 35, 12570–12580. [Google Scholar] [CrossRef]
  37. Leśniewski, P. Discrete time reaching law based sliding mode control: A survey. In Proceedings of the 22nd International Conference on System Theory, Control and Computing (ICSTCC), Sinaia, Romania, 10–12 October 2018; pp. 734–739. [Google Scholar]
  38. Kumar, R.P.; Dasgupta, A.; Kumar, C.S. Robust Tracking Control of Underwater Vehicles using Time–Delay Control in Discrete–Time Domain. In Proceedings of the OCEANS 2006—Asia Pacific, Singapore, 16–19 May 2006; pp. 1–5. [Google Scholar]
  39. Bibuli, M.; Bruzzone, G.; Caccia, M.; Ippolitu, G.; Longhi, S.; Orlando, G.; Pelusi, G.M. Discrete–time sliding mode control for guidance of an unmanned surface vehicle. In Proceedings of the 9th IFAC Conference on Manoeuvring and Control of Marine Craft, Arenzano, Italy, 19–21 September 2012; pp. 441–446. [Google Scholar]
  40. Morgan, R.; Ozguner, U. A decentralized variable structure control algorithm for robotic manipulators. IEEE J. Robot. Automat. 1985, 1, 57–65. [Google Scholar] [CrossRef]
  41. Kumar, R.P.; Kumar, C.S.; Sen, D.; Dasgupta, A. Discrete time–delay control of an autonomous underwater vehicle: Theory and experimental results. Ocean Eng. 2009, 39, 74–81. [Google Scholar] [CrossRef]
  42. Kim, J.; Joe, H.; Yu, S.-c.; Lee, J.S.; Kim, M. Time–Delay Controller Design for Position Control of Autonomous Underwater Vehicle Under Disturbances. IEEE Trans. Ind. Electron. 2016, 63, 1052–1061. [Google Scholar] [CrossRef]
  43. Kumar, R.P.; Dasgupta, A.; Kumar, C.S. A new tracking controller design for underwater vehicles using quadratic stabilization. ASME J. Dyn. Sys. Meas. Control 2008, 130, 24502. [Google Scholar] [CrossRef]
  44. Kunal, T.; Krishnankutty, P. Dynamic positioning of an oceanographic research vessel using fuzzy logic controller in different sea states. Mar. Syst. Ocean Technol. 2021, 16, 221–236. [Google Scholar]
  45. Zhang, S.; Yu, J.; Zhang, A. Discrete–time quasi–sliding mode control of underwater vehicles. In Proceedings of the 8th World Congress on Intelligent Control and Automation, Jinan, China, 7–9 July 2010; pp. 6686–6690. [Google Scholar]
  46. Khalil, H. Nonlinear Systems, 3rd ed.; Prentice–Hall: Upper Saddle River, NJ, USA, 2002; pp. 85–94. [Google Scholar]
  47. Salgado, S.K.; Chairez, I.; Bandyopadhyay, B.; Fridman, L. Super–twisting–like algorithm in discrete time nonlinear systems. In Proceedings of the 2011 International Conference on Advanced Mechatronic Systems, Zhengzhou, China, 11–13 August 2011; pp. 497–502. [Google Scholar]
  48. Poznyak, A. Advanced Mathematical Tools for Control Engineers, Deterministic Systems; Elsevier: New York, NY, USA, 2010; Volume 1. [Google Scholar]
  49. Kirk, D.E. Optimal Control Theory: An Introduction; Dover Publications, Inc.: Mineola, NY, USA, 2004. [Google Scholar]
  50. Voratas, K. Comparison of three evolutionary algorithms: GA, PSO, and DE. Ind. Eng. Manag. Syst. 2012, 11, 215–223. [Google Scholar]
  51. Immanuel, S.D.; Chakraborty, U.K. Genetic Algorithm: An Approach on Optimization. In Proceedings of the 2019 International Conference on Communication and Electronics Systems (ICCES), Coimbatore, India, 17–19 July 2019; pp. 701–708. [Google Scholar]
  52. Tsai, J.S.-H.; Li, J.S.; Shieh, L.-S. Discretized quadratic optimal control for continuous-time two-dimensional systems. IEEE Trans. Circ. Syst. I Fundam. Theory Appl. 2002, 49, 116–125. [Google Scholar] [CrossRef]
Figure 1. Guidance, navigation and control (GNC) block diagram.
Figure 1. Guidance, navigation and control (GNC) block diagram.
Sensors 24 01262 g001
Figure 2. Block diagram of the proposed control method.
Figure 2. Block diagram of the proposed control method.
Sensors 24 01262 g002
Figure 3. Illustration of body-fixed and earth-fixed reference frames of a surface vehicle.
Figure 3. Illustration of body-fixed and earth-fixed reference frames of a surface vehicle.
Sensors 24 01262 g003
Figure 4. Flowchart of the Genetic algorithm for gain optimization.
Figure 4. Flowchart of the Genetic algorithm for gain optimization.
Sensors 24 01262 g004
Figure 5. Illustration of convergence of genetic algorithm using fitness, stopping criteria, and average distance between individuals.
Figure 5. Illustration of convergence of genetic algorithm using fitness, stopping criteria, and average distance between individuals.
Sensors 24 01262 g005
Figure 6. Surge speed trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 1.
Figure 6. Surge speed trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 1.
Sensors 24 01262 g006
Figure 7. Sway speed trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 1.
Figure 7. Sway speed trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 1.
Sensors 24 01262 g007
Figure 8. Yaw rate trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 1.
Figure 8. Yaw rate trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 1.
Sensors 24 01262 g008
Figure 9. Comparison of RMSEs of GA–DSTA, DSTA, and DSMR controllers for surge, sway, and yaw rate for Scenario 1.
Figure 9. Comparison of RMSEs of GA–DSTA, DSTA, and DSMR controllers for surge, sway, and yaw rate for Scenario 1.
Sensors 24 01262 g009
Figure 10. Comparison of the total energy expenditure of the GA–DSTA, DSTA, and DSMR controllers for Scenario 1. RPM is revolutions per minute.
Figure 10. Comparison of the total energy expenditure of the GA–DSTA, DSTA, and DSMR controllers for Scenario 1. RPM is revolutions per minute.
Sensors 24 01262 g010
Figure 11. Control signals for surge, sway, and yaw rate of GA-DSTA, DSTA, and DSMR controllers for Scenario 1. RPM is revolutions per minute.
Figure 11. Control signals for surge, sway, and yaw rate of GA-DSTA, DSTA, and DSMR controllers for Scenario 1. RPM is revolutions per minute.
Sensors 24 01262 g011
Figure 12. Surge speed trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 2.
Figure 12. Surge speed trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 2.
Sensors 24 01262 g012
Figure 13. Sway speed trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 2.
Figure 13. Sway speed trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 2.
Sensors 24 01262 g013
Figure 14. Yaw rate trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 2.
Figure 14. Yaw rate trajectory following comparison of the GA-DSTA, DSTA, and DSMR controllers for Scenario 2.
Sensors 24 01262 g014
Figure 15. Comparison of the RMSEs of the GA-DSTA, DSTA, and DSMR controllers for the surge, sway, and yaw rate Scenario 2. RPM is revolutions per minute.
Figure 15. Comparison of the RMSEs of the GA-DSTA, DSTA, and DSMR controllers for the surge, sway, and yaw rate Scenario 2. RPM is revolutions per minute.
Sensors 24 01262 g015
Figure 16. Comparison of total energy expenditure of the GA-DSTA, DSTA, and DSMR controllers in revolution for Scenario 2. RPM is revolutions per minute.
Figure 16. Comparison of total energy expenditure of the GA-DSTA, DSTA, and DSMR controllers in revolution for Scenario 2. RPM is revolutions per minute.
Sensors 24 01262 g016
Figure 17. Control signals for surge, sway, and yaw rate of GA-DSTA, DSTA, and DSMR controllers for Scenario 2. RPM is revolutions per minute.
Figure 17. Control signals for surge, sway, and yaw rate of GA-DSTA, DSTA, and DSMR controllers for Scenario 2. RPM is revolutions per minute.
Sensors 24 01262 g017
Table 1. Parameter setting of genetic algorithm.
Table 1. Parameter setting of genetic algorithm.
ParameterValue
Population size250
Maximum generation15
stall generation7
CrossoverTwo point cross
Selection functionRoulette
Elite count2
Crossover fraction0.8
Mutation rate0.01
Mutation functionUniform
Migration directionForward
Table 2. Physical parameters of the ASV.
Table 2. Physical parameters of the ASV.
ParameterValueUnitParameterValueUnit
X u ˙ 3.5 kg · m X | u | u 6.822 kg · s/m
Y v ˙ 41.55 kg · m Y | v | v 71 kg · s/m
N v ˙ = Y r ˙ 14 kg · m Y | r | r 35.52 kg/s
N r ˙ 28 kg · m2 N | v | v 20.6 kg/s
X u 4.27 kg/s N | r | r 11.52 kg · m2 · s
Y v 25.63 kg/sm 125.37 kg
Y r = N v 19.44 kg · m/s x g 0.232 m
N r 32.65 kg · m2 · s I z 1.5 kg · m
kg: kilogram, s: second, and m: meter
Table 3. GA-DSTA, DSTA, and DSMR controllers’ gain setting.
Table 3. GA-DSTA, DSTA, and DSMR controllers’ gain setting.
ControllerParameterValue
K p diag(0.0023, 0.1006, 0.3481)
K 1 diag(0.0081, 0.0145, 0.0037)
GA-DSTA K 2 diag(0.8750, 0.8628, 0.3212)
Ω 1 diag(0.0009, 0.0008, 0.0006)
Ω 2 diag(0.0009, 0.0003, 0.0008)
K p diag(0.4, 0.4, 0.4)
K 1 diag(0.5, 0.5, 0.5)
DSTA K 2 diag(0.3, 0.3, 0.3)
Ω 1 diag(0.02, 0.02, 0.02)
Ω 2 diag(0.02, 0.02, 0.01)
K p diag(0.8, 0.8, 0.8)
DSMR q diag(20, 20, 20)
ϵ diag(0.02, 0.02, 0.02)
Table 4. RMSEs of GA-DSTA, DSTA, and DSMR controllers for surge, sway, and yaw rate for Scenario 1.
Table 4. RMSEs of GA-DSTA, DSTA, and DSMR controllers for surge, sway, and yaw rate for Scenario 1.
GA-DSTADSTADSMR
u RMSE v RMSE r RMSE u RMSE v RMSE r RMSE u RMSE v RMSE r RMSE
0.41230.05080.02280.47610.05860.02640.68730.08450.0397
Table 5. The total energy expenditure of GA-DSTA, DSTA, and DSMR controllers for surge, sway, and yaw rate for Scenario 1. RPM is revolutions per minute.
Table 5. The total energy expenditure of GA-DSTA, DSTA, and DSMR controllers for surge, sway, and yaw rate for Scenario 1. RPM is revolutions per minute.
GA-DSTADSTADSMR
U F (RPM) U F (RPM) U F (RPM)
3.4419 × 10 5 5.9119 × 10 5 1.0244 × 10 6
Table 6. RMSEs of the GA-DSTA, DSTA, and DSMR controllers for the surge, sway, and yaw rate for Scenario 2.
Table 6. RMSEs of the GA-DSTA, DSTA, and DSMR controllers for the surge, sway, and yaw rate for Scenario 2.
GA-DSTADSTADSMR
u RMSE v RMSE r RMSE u RMSE v RMSE r RMSE u RMSE v RMSE r RMSE
0.41260.05500.02530.47640.06080.02920.68770.08520.0434
Table 7. The total energy expenditure of the GA-DSTA, DSTA, and DSMR controllers for the surge, sway, and yaw rate for Scenario 2. RPM is revolutions per minute.
Table 7. The total energy expenditure of the GA-DSTA, DSTA, and DSMR controllers for the surge, sway, and yaw rate for Scenario 2. RPM is revolutions per minute.
GA-DSTADSTADSMR
U F (RPM) U F (RPM) U F (RPM)
3.4524 × 10 5 5.9207 × 10 5 1.0250 × 10 6
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Derbew, T.E.; Ko, N.Y.; You, S.H. Trajectory Following Control of an Unmanned Vehicle for Marine Environment Sensing. Sensors 2024, 24, 1262. https://doi.org/10.3390/s24041262

AMA Style

Derbew TE, Ko NY, You SH. Trajectory Following Control of an Unmanned Vehicle for Marine Environment Sensing. Sensors. 2024; 24(4):1262. https://doi.org/10.3390/s24041262

Chicago/Turabian Style

Derbew, Tegen Eyasu, Nak Yong Ko, and Sung Hyun You. 2024. "Trajectory Following Control of an Unmanned Vehicle for Marine Environment Sensing" Sensors 24, no. 4: 1262. https://doi.org/10.3390/s24041262

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop