Next Article in Journal
Seasonal Effects of Nakdong River Freshwater Inflow and Coastal Environmental Changes on Phytoplankton Community Structure, Including Harmful Species, in Eastern Jinhae Bay, Korea
Previous Article in Journal
A Numerical Simulation Study on Hydrogen-Enriched Gas Explosions on Hydrogen Fuel Cell Ships Based on OpenFOAM
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Position-Keeping Method for Unmanned Sailboats Based on NMPC Maximum Speed and Heading Control

1
State Key Laboratory of Robotics, Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016, China
2
University of Chinese Academy of Sciences, Beijing 100049, China
*
Author to whom correspondence should be addressed.
J. Mar. Sci. Eng. 2025, 13(4), 668; https://doi.org/10.3390/jmse13040668
Submission received: 17 January 2025 / Revised: 6 March 2025 / Accepted: 25 March 2025 / Published: 26 March 2025
(This article belongs to the Section Ocean Engineering)

Abstract

:
This study examines the position-keeping control for unmanned sailboats. First, the maximum speed and heading joint control, based on nonlinear model predictive control, is proposed as the underlying control for maintaining position. On this basis, four position-keeping strategies are proposed: the straight-line trajectory strategy; the circular surround strategy; the square surround strategy, with the diagonal-to-wind angle near the expected position set to half the navigation dead zone angle; and the square surround strategy, with the diagonal-to-wind angle near the predicted position set to zero. Subsequently, simulation and hierarchical analyses were conducted to assess the effectiveness of these strategies. According to the simulation results, the average error of the straight-line trajectory strategy is less than 6.5 m, the average error of the circular surround strategy is less than 8.9 m, and the minimum error of the square surround strategy is less than 7.7 m. Considering the sail and rudder travel as an important indicator, the square surround scheme, with the angle between the diagonal near the desired position and the wind direction being, zero is the optimal strategy. Considering the position-keeping error as an important indicator, the straight-line trajectory strategy is the optimal strategy.

1. Introduction

The intensification of global climate change and the growing demand for marine development have driven rapid advancements in marine observation and operational technologies, becoming focal points for both academia and industry. Owing to their eco-friendliness, low energy consumption, and extended endurance, unmanned sailboats and wind-powered autonomous vehicles have become increasingly essential for marine monitoring, environmental protection, and scientific exploration. These sailboats are primarily employed for tasks such as reaching specific locations to act as anchor buoys for long-term data collection and for serving as communication relays for underwater equipment. In such scenarios, effective position-keeping control is critical. Therefore, it is imperative to study and enhance the position-keeping capabilities of unmanned sailboats.
Despite their importance, research on the position-keeping control of unmanned sailboats remains limited. Qi et al. [1] investigated a position-keeping problem involving the maintenance of the OceanVoy460 catamaran soft-sail unmanned sailboat in a limited target area as it performed a reciprocating motion. The trajectory included upwind sailing and turning downwind sections, with target and acceptable areas divided accordingly. However, system stability could be guaranteed when performing the reciprocating motion, particularly when the sailboat moved outside the target area. An ideal heading generation scheme was proposed, employing a switching system method to achieve safe and stable control in and outside the target area. The simulation confirmed the stability and holding ability of this approach. However, this study focused only on the catamaran soft-sail unmanned sailboats and did not study monohull-wing unmanned sailboats. Additionally, the proposed algorithm could not consistently ensure passage through the desired position, making it challenging to meet data collection requirements at specific locations. Christophe et al. [2] proposed a sail angle control method for position keeping, one which adjusts the acceleration of the unmanned sailboats by adaptively adjusting the sail. The positioning strategy was divided into three stages: prearrival, arrival and target areas. These areas were set near the expected positions. The sailboat travels at maximum speed along a direct path towards the expected position. This strategy is employed to reach the prearrival area quickly. Upon reaching the prearrival area, the unmanned sailboat circumvents the expected position and travels along the boundary of the navigation dead zone at maximum speed towards the arrival area. In the arrival area, the sailboat slows down against the wind until its speed reaches zero and then remains near the target point. While effective, this method requires the sailboat to sail against the wind, leading to potential stalling and capsizing, thus compromising navigation safety.
Therefore, in this study, the unmanned sailboat was allowed to sail at maximum speed during the positioning navigation process to make the unmanned sailboat avoid stalling. Additionally, this study proposes a method to prevent the unmanned sailboat from sailing in the dead zone for a long time and stalling. When the desired heading enters the dead zone, it is adjusted near its boundary, ensuring the unmanned sailboat sails 10° outside the dead zone. This approach ensures that the unmanned sailboat sails at a sufficient sailing speed outside of the dead zone and prevents stalling or loss of control.
Many studies have proposed different methods for maximum speed control and heading control of the unmanned sailboat. The maximum speed of the unmanned sailboat is primarily affected by wind. Therefore, the angle of attack can be adjusted by regulating the sail angle. Given the direct impact of sail control on the speed of the sailboat, some studies have used sail control as a substitute for speed control.
Wirz et al. [3], Treichel et al. [4], and Corno et al. [5] employed a slightly disturbed extremum seeking control (ESC) to adjust the sail angle and achieve maximum speed control. Sun et al. [6] utilized a polar coordinate diagram as the feedforward sail angle of an ESC controller. Using steady-state oscillation, dos Santos et al. [7] developed an improved ESC that integrates a proportional–integral (PI) controller with a variable sampling time to increase efficiency. Shen et al. [8] proposed a steady-state, oscillation-free ESC variant that incorporates an additional feedforward component. Similarly, Shen et al. [9] introduced a sliding-mode ESC to achieve accelerated convergence without oscillations. Zhang et al. [10] designed a controller based on dynamic surface control and simplified the backstepping control method using a fuzzy logic system, one which is ordered to approximate uncertainty. Deng et al. [11] also proposed the same method for a similar purpose. They derived the control law from backstepping control using an event-triggered control technique that designed trigger conditions to reduce the driving frequency. Wille et al. [3,12] introduced the linear quadratic regulator method to optimize the forward speed and roll angle. This method was applied to a feedback-linearized model, and adjusted the angle with the controller by choosing the optimal sail angle from a lookup table under unconstrained navigation to minimize the rolling motion per quadratic cost function. Liu et al. [13] proposed a collaborative model predictive control approach that optimizes the cost function for determining the best rudder and sail angles simultaneously at each sampling point. Stelzer et al. [14], Júnior et al. [15], Gomes et al. [16], Martins [17] and Ramos de Miguel [18], among others, utilized fuzzy logic controllers (FLCs) with “IF-THEN” rules for sailboat speed control, leveraging sailors’ expertise. These controllers enable the sailboat to effectively adjust its sails and execute necessary maneuvers by incorporating expert knowledge into the FLC system through a framework of fuzzy rules and sets. Similarly, Zhang et al. [19] utilized radial basis function neural networks (RBF-NNs) to approximate uncertainties.
Heading control was performed after determining the sail angle required for maximum speed. The main goal of heading control is to reduce the discrepancy between the current heading and the desired heading set by the guidance system. Traditionally, a proportional–integral–derivative (PID) controller with a constant gain is used consistently throughout the navigation process. However, this method can be enhanced by integrating it with other techniques, such as gain scheduling, employed by dos Santos and Goncalves [20], or fuzzy logic systems, as discussed by Liu et al. [21], to dynamically adjust the gain value according to specific conditions. Additionally, the performance of the controller can be fine-tuned to achieve the optimal gain using techniques such as Ziegler–Nichols, particle swarm optimization, and beetle antenna search, as demonstrated by Zhou et al. [22]. Tranzatto et al. [23,24] and Wirz et al. [25] designed a proportional controller using a constant gain and a nonlinear (NL) proportional controller that uses a nonlinear gain to control the heading of a sailboat. Xiao and Jouffroy [26] proposed a nonlinear heading controller based on a backstepping control method for autonomous sailboats. Wille [3] further simplified the backstepping method for process control. Deng et al. [11], Yingjie et al. [27], Deng et al. [28], and Zhang et al. [10,29] have also utilized fuzzy logic systems to approximate uncertainty in backstepping control. Deng et al. [30] and Zhang et al. [31] used adaptive neural network methods to solve the same problem, such as echo state networks and RBF-NNs. Abrougui et al. [32], Abrougui, and Nejim [33] designed a heading controller that combines sliding mode control with feedback linearization, similar to the pole placement method. As the signum function will produce a chattering effect, they replaced it with an arctan function for better results. Liu et al. [34], Wang et al. [35], Gomes et al. [16], Martins [17], and Ramos de Miguel et al. [18] employed FLC with “IF-THEN” rules based on sailor experience and rudder angle as input to control the heading of the sailboat.
The above studies all employed decoupling control strategies for unmanned sailboat speed and heading control. Specifically, the maximum speed was achieved, followed by heading control. However, this control strategy can only allow independent adjustment to the sail and rudder angles separately, introducing delays in control. Simultaneous adjustment of sail and rudder angles is challenging and often results in instability. To address these issues, this study proposes a coupled control approach based on nonlinear model predictive control (NMPC) to simultaneously control maximum speed and heading.
Furthermore, four position-keeping strategies were investigated to identify the optimal control strategy for unmanned sailboats. These strategies include the following:
  • The figure-8 circling strategy where the sailboat passes through the desired position.
  • The circular circling strategy, which operates near the desired position.
  • The square circling strategy parallel to the wind direction executed near the desired position.
  • The square circling strategy incorporating a dead zone angle between the wind direction and the desired position.
The optimal control strategy was identified through experimental simulation based on different performance requirements.
The main contributions of this study are summarized as follows:
(1)
This research proposes a novel NMPC-based integrated control method for maximum speed and heading coordination of unmanned sailboats, effectively addressing the strong coupling between velocity optimization and heading control. By employing nonlinear model predictive control (NMPC) as a systematic approach by which to resolve coupled control issues, the developed single-controller architecture simultaneously achieves coordinated speed-heading regulation while satisfying various physical constraints and state limitations inherent in autonomous sailboat operations.
(2)
Four innovative position-keeping control strategies are developed to overcome existing challenges of stall phenomenon and reverse motion in conventional control schemes. The proposed methodologies significantly improve stabilization performance in station-keeping tasks and enhance system controllability.
(3)
A subjective analysis-based weight assignment methodology is established to determine optimal position-keeping strategies under different operational priorities. Through systematic evaluation of two distinct optimization objectives—prioritizing either actuator travel ranges (energy efficiency) or position-keeping accuracy—this study identifies respective optimal control policies for each operational scenario.
The remainder of this paper is organized as follows: Section 2 introduces the proposed joint maximum speed and heading control method using NMPC. Section 3 proposes four position-keeping strategies. Section 4 presents the control results of the four position-keeping strategies, which were obtained through simulations, and the optimal strategy, which was obtained through a hierarchical analysis.

2. Maximum Speed and Heading Control

2.1. Dynamics and Kinematics Model of Unmanned Sailboat

This study considers a wing sail monohull sailboat as the research object. A 4-DOF unmanned sailboat dynamics model was also adopted to study the influence of the heel angle of the monohull sailboat on navigation accuracy. The 4-DOF unmanned sailboat dynamics model is given as [36]:
u ˙ = 1 m X u ˙ F x s + F x r + F x h + F x k + m Y v ˙ v r + F x w v ˙ = 1 m Y v ˙ F y s + F y r + F y h + F y k + m X u ˙ u r + F y w p ˙ = 1 I x x K p ˙ M x s + M x r + M x h + M x k c p p a φ 2 b φ + M x w r ˙ = 1 I z z N r ˙ M z s + M z r + M z h + M z k + X u ˙ + Y v ˙ u v d r r c o s φ + M z w
where u (m/s), v (m/s), p (rad/s) and r (rad/s) represent the forward, lateral, roll angular, and roll angular speed in the body coordinate system, respectively, and m represents the total mass. X u ˙ and Y v ˙ (kg) represent the additional masses brought by u and v. I x x and I z z (kg/m2) represent the moments of inertia around the x-axis and z-axis, respectively, K p ˙ and N r ˙ (kg) represent the additional moments of inertia around the x-axis and z-axis, respectively, these parameters are all fixed parameters. F x i and F y i (i = s, r, h, k) (N) represent the forces in the x-direction and y-direction acting on the sail, rudder, hull and keel, respectively. F x w and F y w (N) represent the wave forces in the x-direction and y-direction, respectively. M x i and M z i (i = s, r, h, k) (N·m) represent the moments around the x-axis and z-axis, respectively. M x w and M z w (N·m) represent the wave forces and moments about the x-axis and z-axis, respectively. These parameters are variable and change with the state of the sailboat and the environmental conditions. Parameters a, b, c, and d are constants that are determined through the tilting tests. All of the above parameters are in the body coordinate system. The schematic diagram of the coordinate system is shown in Figure 1, where XYZ is the inertial frame, the positive X axis points north, the positive Y axis points east, and the positive Z axis is perpendicular to the XY plane, pointing toward the Earth’s center. xyz is the body coordinate system, the positive x direction points to the bow, the positive y direction points to starboard (from stern to bow), and the positive z direction is perpendicular to the xy plane, pointing toward the ship’s bottom. These are fixed parameters.
Based on the kinematic analysis, the four-degrees-of-freedom kinematic model of an unmanned sailboat is expressed as follows:
x ˙ = u c o s ψ v c o s φ sin ψ y ˙ = u s i n ψ + v c o s φ cos ψ φ ˙ = p ψ ˙ = r c o s φ
where x (m), y (m), φ (rad) and ψ (rad) represent the position, roll and yaw in the inertial frame, respectively.

2.2. Joint Control of Maximum Speed and Heading of Unmanned Sailboat Based on NMPC

NMPC provides significant advantages for coupled control problems. It manages complex coupling relationships between multiple variables by optimizing future control inputs, making it suitable for nonlinear systems. The NMPC adjusts the control strategy in real time, considers the dynamic changes of the system and various operating constraints, and ensures the control input meets these constraints, thereby improving system stability and safety. The NMPC has been widely applied across industries such as chemical, energy and aviation. This study used the NMPC method for maximum speed and heading joint control.

2.2.1. System Description

Based on the 4-DOF dynamics and kinematics model of the unmanned sailboat, the state matrix X = [ u , v , p , r , φ , ψ ] of the control system was determined. An unmanned sailboat has only two control units: the sail angle and rudder angle. Therefore, the control inputs of the system are the sail angle, δ s , and the rudder angle, δ r . However, in practical applications, the sail and rudder of an unmanned sailboat and their rotation angles per unit time have physical limitations. Therefore, taking the change rate of the sail angle δ s   and the rudder angle   δ r as the control inputs of the system will make the control system more concise. When the control inputs of the control system are the sail angle and the rudder angle change rate u in = [ δ s ,   δ r ] , the output state variable of the system changes to X =   [ u ,   v ,   p ,   r ,   φ ,   ψ ,   δ s ,   δ r ] . Using the system input and output and the control process of the NMPC, the maximum speed and heading joint control process based on the NMPC were obtained, as shown in Figure 2. In Figure 2, u d is the desired forward speed, ψ d is the desired heading angle, u is the forward speed, ψ is the heading angle, δ s is the rate of change of the sail angle, δ r is the rate of change of the rudder angle, and u max is the maximum forward speed.

2.2.2. State Constraints

Constraints were imposed on the forward speed and heel angle to ensure the navigation accuracy and safety of the unmanned sailboat. Simultaneously, the corresponding constraints were added to the sail angle, rudder angle, sail angle change rate, and rudder angle change rate based on the physical limitations of the actual sailboat and these findings were recorded, as follows:
1. Speed constraint
During operation, an unmanned sailboat travelling in the opposite direction along the x-axis experiences altered force conditions, making accurate control impossible. To address this, a forward speed constraint was established.
0     u
2. Constraint of Roll Angle
The roll angle φ of the unmanned sailboat was restricted to mitigate the risk of capsizing and ensure seawater does not overflow the boat, and the constraint range is expressed as follows:
φ m a x φ φ m a x
where:   φ max     0 represents the maximum roll angle.
3. Sail and Rudder Angle Constraints
During the sailing process of the unmanned sailboat, constraints were added to the movement range of the sail and rudder angles to prevent excessive consumption of the battery power when driving the sail and rudder while ensuring the sailing performance.
δ s m i n δ s δ s m a x
δ r m i n δ r δ r m a x
4. Sail and rudder angle change rate constraints
Owing to the physical limitations of the sail and rudder motors of the unmanned sailboat, there exists a maximum value for the motor rotation angle per unit time. Consequently, constraints were also applied to the rates of change for the sail and rudder angles, as follows:
δ s m i n δ s δ s m a x
δ r m i n δ r δ r m a x
The above constraints were incorporated into the NMPC to ensure the safe navigation of the unmanned sailboat and to comply with the physical requirements.

2.2.3. Optimizing Functions

In NMPC design, the optimization function serves as the primary determinant of the controller behavior. It incorporates the system model and constraints, defining control objectives and performance requirements. The optimization function was designed based on the NMPC design principle, with a terminal optimization condition added to ensure stability. This forms a new optimization function, as follows:
  J = k = 0 N 1   ( X k X d , k ) T P ( X k X d , k ) + u i n k T Q u i n k + ( X N X d , N ) R ( X N X d , N )
where P, Q, and R represent the weight matrices used when balancing the weights of the state error and control consumption. P represents a positive definite or semi-positive definite matrix used in weighing the importance of the state error; Q represents a positive definite or semi-positive definite matrix used in weighing the importance of the control input; and R represents a terminal weight matrix for constraining or optimizing the terminal state. N represents the predicted time-domain length. Xk represents the system state at the kth moment and Xd,k represents the expected state at the kth moment.

2.2.4. Optimization Goals

The joint control of maximum speed and heading for an unmanned sailboat using NMPC can be formulated as follows:
m i n   J = k = 0 N 1   ( X k X d , k ) T P ( X k X d , k ) + u i n k T Q u i n k + ( X N X d , N ) R ( X N X d , N )
subject to:
0     u
φ m a x     φ     φ m a x
δ s m i n     δ s     δ s m a x
δ r m i n     δ r     δ r m a x
Δ δ s m i n     Δ δ s     Δ δ s m a x
Δ δ r m i n     Δ δ r     Δ δ r m a x
The desired speed should exceed the maximum achievable speed under current wind conditions, ensuring effective speed control. In practical applications, the expected speed is usually determined based on the maximum designed speed of the sailboat.
In NMPC, the control variable is the same as the feedback variable, which is X = [ u ,   v ,   p ,   r ,   φ ,   ψ ,   δ s ,   δ r ] , and the manipulated variable is u i n = [ δ s ,   δ r ] . As this study aims to verify whether NMPC can be applied to sailboat control, in order to simplify the experiment, the mismatch between the prediction model and the actual model and the existing interference are not considered in this study. It is also assumed that all variables can be directly measured.
Feasibility Verification: In the problem of this study, a terminal constraint is incorporated into the objective function of the optimization problem. Therefore, we can assume that, for the initial state, there exists a prediction horizon N p such that the optimization problem for the joint control of the maximum speed and heading of the unmanned sailboat (10) has a solution u i n k + 1 + j / k . Thus, at time step k + 1, the candidate control sequence is as follows:
u i n k + 1 + j k + 1 = u i n k + 1 + j k ,   j 0 , N p 1 u i n k + 1 + j / k + 1 = u i n k + N p / k ,   j = N p
At this point, the system state is X ( k + 1 + l / k + 1 ) . By taking the current solution u i n · / k as the substitute solution u i n · / k + 1 for the subsequent time step k + 1, it is evident that all constraints are satisfied. In other words, the substitute solution obtained from the current time step will remain feasible in the subsequent time steps, thus ensuring that the NMPC control is feasible.

3. Position-Keeping Strategy

Maximum speed control was adopted during the position-keeping process to prevent stalling during movement and ensure control stability. Position-keeping control was achieved by designing the desired heading. This study proposes four heading design methods for position-keeping control: an eight-shaped circling strategy that crosses the desired position, a circular circling strategy maintaining a trajectory near the desired position, a square circling strategy parallel to the wind direction executed near the desired position, and a square circling strategy angled at half the dead zone angle relative to the wind direction near the desired position.

3.1. Straight-Line Trajectory Strategy

This simple strategy involves continuously directing the unmanned sailboat toward the desired position. Let the position of the unmanned sailboat be P x , y and the desired position be P d x d , y d . Based on this strategy, the desired heading is calculated as follows:
Ψ d = a t a n 2 y d y , x d x
where, a t a n 2 y , x represents the four-quadrant inverse tangent function with a range of π , π which ensures accurate angle computation by considering the signs of both x and y. Unlike the traditional inverse tangent function, it eliminates the need for special handling of cases where x = 0 or when x , y lies in specific quadrants.

3.2. Circular Surrounding Strategy near the Expected Position

A circular path with radius R was set with the desired position P d x d , y d at the centre. When the sailboat reached the circular path, path-tracking control was performed. The line of sight (LOS) navigation method was adopted for the path-tracking process. Given that the position of the sailboat is represented as P x , y , the position coordinates of the circular path are represented as P k x k ω , y k ω , and the circular path is represented by the adjustment parameter ω. By adjusting ω, the LOS algorithm can correct the position of the reference point P k x k ω , y k ω in real time, so that the current position P x , y of the sailboat gradually converges to the desired circular path. Using the LOS navigation method described in [30], the parameterized path of the horizontal plane of the circular path tracking based on the LOS is shown in Figure 3.
In Figure 2, X p ,   P k   a n d   Y p represent the body coordinate system at the parameterized path point P k x k ω , y k ω , ψ k represent the angle between the positive direction of the X p axis and the positive direction of the X axis. In the LOS navigation method, represents the forward LOS, x e represent the longitudinal error (the vertical distance between the current position of the unmanned sailboat and the X p   axis), and y e represents the lateral error (vertical distance between the current position of the unmanned sailboat and the Y p axis). The objective of path tracking is to achieve x e 0 and y e 0 .
Based on Figure 3, the longitudinal error x e and lateral error y e are calculated by coordinate transformation from the current position P x , y of the unmanned sailboat in Earth’s coordinate system:
x e y e = cos ψ k sin ψ k sin ψ k cos ψ k x x k ω y y k ω
Further expansion and derivation of Equation (19) yield the following:
x e ˙ = u c o s ( ψ ψ k ) v c o s φ s i n ( ψ ψ k ) x k ( ω ) ˙ cos ψ k y k ( ω ) ˙ sin ψ k + ψ k ˙ y e y e ˙ = u s i n ψ ψ k + v c o s φ c o s ψ ψ k + x k ( ω ) ˙ sin ψ k y k ( ω ) ˙ cos ψ k ψ k ˙ x e
where:
x k ω ˙ = x k ω ω ˙ y k ω ˙ = y k ω ω ˙ ψ k = arctan y k / x k = arctan y k ω / x k ω
substituting Equations (2) and (21) into Equation (19), we obtain
x e ˙ = U c o s ψ ψ k + β + ψ A ˙   y e U k y e ˙ = U s i n ψ ψ k + β ψ k ˙ x e
where U = u 2 + ( v cos ( φ ) ) 2 and β = a r c t a n v cos φ / u , U k = ω ˙ x k 2 + y k 2 is the linear velocity of the point P k   on the reference path.
Using U and β, we obtain the following:
u = U cos β v cos φ = U sin β
To ensure the convergence of the lateral error y e based on the LOS navigation principle, the desired heading ψ d of the unmanned sailboat is expressed as follows:
ψ d = ψ k tan 1 y e β
To ensure convergence of the longitudinal error x e , U k was designed according to [27], as follows:
U k = k x x e + U t a n h U x e / ϵ
where k x is a positive adjustable parameter and ϵ is a small positive number. Based on the definition of U k , the update rate of ω is given by
ω ˙ = k x x e + U t a n h U x e / ϵ x k 2 + y k 2
Increasing k x generally speeds up the convergence of the longitudinal error, but it may lead to overly aggressive system responses. The value of ϵ affects the calculation of the control input, which in turn influences the smoothness of trajectory tracking. In practical adjustments, it is necessary to ensure both the convergence speed and the stability of the sailboat’s motion, as well as the smoothness of the trajectory. The appropriate combination of k x and ϵ is determined through multiple trials.
Based on the above LOS method, a circular path with radius R centered at the desired position P d x d , y d is tracked. This ensures that the unmanned sailboat can maintain its position in a circle around the desired position.

3.3. A Square Path with a Diagonal Line and Wind Direction Angle Equal to Half the Dead Zone Angle

Considering the desired position P d x d , y d as the intersection of the diagonals, a square path was designed with an angle between the diagonal and wind direction equal to half the angle of the navigation dead zone. Let the side length of the square be A. The square path was formed by determining the position coordinates of its four vertices, and path tracking was simplified into waypoint tracking by sequentially tracking these vertices. This square path is indicated by the thick solid line in Figure 4.
Based on Figure 3, the position coordinates of the four vertices of the square path are as follows:
P 1 : x 1 = x d + A / 2 cos ψ t w y d + A / 2 sin ψ t w y 1 = x d + A / 2 sin ψ t w + y d + A / 2 cos ψ t w P 2 : x 2 = x d + A / 2 cos ψ t w y d A / 2 sin ψ t w y 2 = x d + A / 2 sin ψ t w + y d A / 2 cos ψ t w P 3 : x 3 = x d A / 2 cos ψ t w y d A / 2 sin ψ t w y 3 = x d A / 2 sin ψ t w + y d A / 2 cos ψ t w P 4 : x 4 = x d A / 2 cos ψ t w y d + A / 2 sin ψ t w y 4 = x d A / 2 sin ψ t w + y d + A / 2 cos ψ t w
The distance between the current position P x , y of the unmanned sailboat and the vertex of the square path is given by the following:
D i = x x i 2 + y y i 2 i = 1 , 2 , 3 , 4
Assuming the initial position of the sailboat is P 0 x 0 , y 0 , the distance between the initial position and each vertex is calculated as D 0 i = x 0 x i 2 + y 0 y i 2 ( i   =   1 , 2 , 3 , 4 ).
To initiate tracking, the waypoint closest to the initial position is identified as the first waypoint. When the distance between the sailboat’s current position and the first waypoint satisfies d i     d (where d is a normal number), the sailboat switches to track the next waypoint in a counterclockwise direction. This process is repeated for the remaining waypoints.
Based on this strategy, the desired heading angle ψ d is defined as the relative angle between the current position of the sailboat and the desired position during navigation:
ψ d = a t a n 2 y i y , x i x β
where i   =   1 , 2 , 3 , 4 , and the value of i corresponds to the sequence number of the current tracking waypoint.

3.4. A Square Surround Strategy with a Zero Angle Between the Diagonal and the Wind Direction near the Desired Location

Considering the desired position P d x d , y d as the intersection of the diagonals, a square path was designed with diagonals parallel to the wind direction. The side length of the square, represented as A, was used to determine the coordinates of the four vertices, enabling the formation of the square path. Path tracking was converted into waypoint tracking by following the vertices sequentially. The path is indicated as the thick solid line in Figure 5.
Based on Figure 4, the coordinates of the four vertices of the square path are expressed as follows:
P 1 : x 1 = x d + 2 A / 2 c o s ψ t w y d s i n ψ t w y 1 = x d + 2 A / 2 s i n ψ t w + y d c o s ψ t w P 2 : x 2 = x d c o s ψ t w y d + 2 A / 2 s i n ψ t w y 2 = x d s i n ψ t w + y d + 2 A / 2 c o s ψ t w P 3 : x 3 = x d 2 A / 2 c o s ψ t w y d s i n ψ t w y 3 = x d 2 A / 2 s i n ψ t w + y d c o s ψ t w P 4 : x 4 = x d c o s ψ t w y d 2 A / 2 s i n ψ t w y 4 = x d s i n ψ t w + y d 2 A / 2 c o s ψ t w
The path-following strategy aligns with the method outlined in Section 3.4, and the desired heading is calculated using Equation (28).

3.5. Strategy to Prevent the Desired Heading from Entering the Navigation Dead Zone

Due to the unmanned sailboat’s control limitations within the navigation dead zone, additional measures were introduced to avoid prolonged entry into this region. Prolonged presence in the dead zone could result in stalling and a loss of maneuverability. The desired heading was adjusted to lie 10° outside of the dead zone boundaries. Specifically, when the angle between the expected heading and the true wind direction was between 0 and ψ d e a d / 2 , the expected heading was designed to be ψ t w + ψ d e a d / 2 + 10 . When the angle between the expected heading and the true wind direction was between ψ d e a d / 2 and 0, the expected heading was designed to be ψ t w ψ d e a d / 2 10 ° , that is
If ψ d ψ t w ( 0 ,   ψ d e a d / 2 ]
ψ d = ψ t w + ψ d e a d / 2 + 10 °
Elseif ψ d ψ t w ψ d e a d / 2 , 0
ψ d = ψ t w ψ d e a d / 2 10 °
where ψ d represents the desired heading, ψ t w represents the true wind direction and ψ d e a d represents the dead zone angle.

3.6. Summary

The overall plan of this study includes model establishment, maximum speed and heading joint control, position-keeping strategy and strategy evaluation. Draw the Figure 6 for the control strategy part in the article to better understand the content of the article.

4. Simulation Results

Simulations were conducted to evaluate the position-keeping capabilities of the four proposed methods and explore their potential application across diverse scenarios. The desired position of the unmanned sailboats was set at P d x d , y d = 0 , 0 , and the unmanned sailboats started from multiple positions along the circumference of a circle with a radius R = 50   m . The central angle of the circle ranged from 0° to 180°, with starting positions spaced every 30° along the circumference for the simulation, the starting position is shown in Figure 7. The initial conditions X0 = [0.5, 0, 0, 0, 0, 0, 0, 0]. Determined through multiple experiments, the weight matrices for NMPC were P = [1;0;0;0;5;16;0;0], Q = [0.01;0.0001] and R = [5;0;0;0;15;25;0;0]. The true wind speed was set at v t w = 12   m / s and the true wind direction was ψ t w = 0   ° (From the positive X-axis to the negative X-axis). The desired speed of the unmanned sailboat was set to 6 m/s, exceeding its maximum speed, and the simulation duration was fixed at 500 s. MATLAB was used to conduct simulation experiments on the proposed strategy, and the corresponding simulation results were obtained.

4.1. Joint Control of Maximum Speed and Heading Based on NMPC

Based on the above parameters, MATLAB simulation results were obtained. The true wind speed was set at v t w   =   12   m   / s and the true wind direction was ψ t w = 0 ° . The simulation results for a desired heading of ψ d = 60 ° are shown in Figure 8 and Figure 9, with the simulation duration fixed at 100 s.
Based on the simulation results, the joint control of maximum speed and heading based on NMPC can achieve the maximum speed and heading control of the unmanned sailboat under the given constraints. Stable speed results are obtained, with the maximum speed matching the VPP-predicted speed, and the heading control error is within 1°.

4.2. Straight-Line Trajectory Strategy

The simulation results of the straight-line trajectory strategy are shown in Figure 10. According to Figure 10, the time range for calculating the key data is determined to be 100–500 s. The key data calculated within this time frame are shown in Table 1.

4.3. Circular Surrounding Strategy Around the Desired Position

Assume that the radius of the circle in the circle surrounding the desired position is 2 m, the simulation results of the circular surrounding strategy around the desired position are shown in Figure 11. According to Figure 11, the time range for calculating the key data is determined to be 100–500 s. The key data calculated within this time frame are shown in Table 2.
In the simulation experiment of this study, the radius of the circle is set to 2 m, which is determined by experiments. The larger the radius, the closer the trajectory is to a circle, but at the same time, the error will be greater. Therefore, in this study, a large radius is not selected to achieve a circle, but the strategy of circular path tracking is used to generate the desired heading to ensure a small position error.

4.4. A Square Path with a Diagonal Line and Wind Direction Angle Equal to Half the Dead Zone Angle

Set the side length of the square as 4 m, the simulation results of a square path with a diagonal line and wind direction angle equal to half the dead zone angle are shown in Figure 12. According to Figure 12, the time range for calculating the key data is determined to be 100–500 s. The key data calculated within this time frame are shown in Table 3.

4.5. A Square Surround Strategy with a Zero Angle Between the Diagonal and the Wind Direction near the Desired Location

With the side length of the square set as 4 m, the simulation results of a square surround strategy with a zero angle between the diagonal and the wind direction near the desired location are shown in Figure 13. According to Figure 13, the time range for calculating the key data is determined to be 100–500 s. The key data calculated within this time frame are shown in Table 4.

4.6. Comparative Analysis of Simulation Results for Different Methods

The analytic hierarchy process was used to assign weights to each indicator of the four methods, and four strategies were set, as follows:
S1: Straight-line trajectory strategy.
S2: Circular surround strategy.
S3: Square surround strategy with the angle between the diagonal and the wind direction near the desired position being half the angle of the navigation dead zone.
S4: Square surround strategy with the angle between the diagonal and the wind direction near the desired position being zero. An indicator layer was constructed that included five evaluation indicators: A1, average error value; A2, maximum error value; A3, minimum error value; A4, total rudder action stroke; and A5, total sail action stroke. After setting up the strategy and indicator layers, the importance of each element in the indicator layer was compared in pairs to construct a judgment matrix = a i j :
A = a 11 a 12 a 13 a 14 a 15 a 21 a 22 a 23 a 24 a 25 a 31 a 32 a 33 a 34 a 35 a 41 a 42 a 43 a 44 a 45 a 51 a 52 a 53 a 54 a 55
When making comparisons, a scale of 1 to 9 and its reciprocals were used (where i = 1, 2, 3, 4, 5; j = 1, 2, 3, 4, 5):
a i j = 1 : Indicators i and j are equally important.
a i j = 3 : Indicator i is slightly more important than indicator j.
a i j = 5 : Indicator i is significantly more important than indicator j.
a i j = 7 : Indicator i is more important than indicator j.
a i j = 9 : Indicator i is much more important than indicator j.
a j i = 1 a i j : indicates the relative importance of indicator j compared to indicator i.
This study analyses and compares the four methods using two importance rankings. The first ranking considers the total stroke of the sail and rudder action (power consumption) as the most important index and ranks the five evaluation indicators according to the degree of importance (A5 > A4 > A1 > A2 = A3). The second ranking considers the position-keeping error value as the most important index and ranks the four evaluation indicators in importance (A1 > A2 = A3 > A5 > A4). The four strategies were scored based on these importance rankings to determine the optimal strategy.

4.6.1. Analysis of the Best Solution When the Total Stroke of the Sail and Rudder Is Used as the Most Important Index

In this section, the four importance levels were ranked as follows: A5 > A4 > A1 > A2 = A3.
(1)
Using the 1–9 scaling method, the judgment matrix was constructed as follows:
A = a 11 a 12 a 13 a 14 a 15 a 21 a 22 a 23 a 24 a 25 a 31 a 32 a 33 a 34 a 35 a 41 a 42 a 43 a 44 a 45 a 51 a 52 a 53 a 54 a 55 = 1 5 5 1 3 1 7 1 5 1 1 1 7 1 9 1 5 1 1 1 7 1 9 3 7 7 1 1 3 7 9 9 3 1
(2)
The eigenvector and maximum eigenvalue of the judgment matrix were calculated using the root method:
First, the product of the elements in row h (h = 1, 2, 3, 4, 5) of the judgment matrix A was calculated as
M h = a h 1 a h 2 a h 3 a h 4 a h 5
The calculated values were as follows:
M 1 = 1.1905 ; M 2 = 0.0032 ; M 3 = 0.0032 ; M 4 = 49 ; M 5 = 1701
Raising M h to the nth power (n = 5):
Each M h was raised to the fifth root:
W 1 = M 1 5 = 1.1905 5 = 1.0355 ; W 2 = M 2 5 = 0.0032 5 = 0.3165 ;
W 3 = M 3 5 = 0.0032 5 = 0.3165 ; W 5 = M 5 5 = 1701 5 = 4.4273
(3)
Normalization of the eigenvector w as follows:
The sum of all W h values was computed as
W =   h = 1 5 W h = W 1 + W 2 + W 3 + W 4 + W 5 = 1.0355 + 0.3165 + 0.3165 + 2.1779 + 4.4273 = 8.2737
The eigenvector components were normalized as follows:
ω 1 = W 1 W = 1.0355 8.2737 = 0.1252 ω 2 = W 2 W = 0.3165 8.2737 = 0.0383 ω 3 = W 3 W = 0.3165 8.2737 = 0.0383 ω 4 = W 4 W = 2.1779 8.2737 = 0.2632 ω 5 = W 5 W = 4.4273 8.2737 = 0.5351
Finally, the normalized feature vector was obtained, as follows:
w = [ ω 1 ; ω 2 ; ω 3 ; ω 4 ; ω 5 ; ] = [ 0.1252 ; 0.0383 ; 0.0383 ; 0.2632 ; 0.5351 ]
(4)
Calculation of the maximum eigenvalue μmax:
The normalized eigenvector was multiplied by the judgment matrix A to obtain the vector Aw.
A w = a 11 a 12 a 13 a 14 a 15 a 21 a 22 a 23 a 24 a 25 a 31 a 32 a 33 a 34 a 35 a 41 a 42 a 43 a 44 a 45 a 51 a 52 a 53 a 54 a 55 ω 1 ω 2 ω 3 ω 4 ω 5 = 1 5 5 1 3 1 7 1 5 1 1 1 7 1 9 1 5 1 1 1 7 1 9 3 7 7 1 1 3 7 9 9 3 1 0.1252 0.0383 0.0383 0.2632 0.5351 = 0.6723 0.1987 0.1987 1.3534 2.8905
The maximum eigenvalue λ m a x was then calculated as
λ m a x = 1 n h = 1 n A w h w h = 1 5 A w 1 w 1 + A w 2 w 2 + A w 3 w 3 + A w 4 w 4 + A w 5 w 5 = 1 5 0.6723 0.1252 + 0.1987 0.0383 + 0.1987 0.0383 + 1.3534 0.2632 + 2.8905 0.5351 = 5.2583
(5)
Consistency test
The consistency index CI was calculated as
C I = λ m a x n n 1 = 5.2583 5 5 1 = 0.0646
Using the matrix order n = 5, the average random consistency index RI = 1.12 was obtained from the consistency index table.
The consistency ratio CR was calculated as
C R = C I R I = 0.0646 1.12 = 0.0577
As CR < 0.1, the consistency of the judgment matrix was considered to be within an acceptable range, and the eigenvector obtained was accepted as the weight vector.
Therefore, the weights of the five indicators (average error value (A1), maximum error value (A2), minimum error value (A3), total rudder action stroke (A4), and total sail action stroke (A5)) are given as follows:
w = ω 1 ;   ω 2 ;   ω 3 ;   ω 4 ;   ω 5   = [ 0.1252 ; 0.0383 ; 0.0383 ; 0.2632 ; 0.5351 ]
(6)
Overall ranking of solutions
Based on the assigned weights, the following four schemes were obtained:
S1: Straight-line trajectory strategy
S2: Circular surround strategy
S3: Square surround strategy with the angle between the diagonal near the desired position and the wind direction being half the angle of the navigation dead zone
S4: Square surround scheme with the angle between the diagonal near the desired position and the wind direction being zero.
The total score is shown in Table 5.
(7)
Conclusion
When the total travel of the sail and rudder (power consumption) is prioritized, a comprehensive evaluation of the four methods was conducted using a hierarchical analysis. The results indicate that the square surround strategy with an angle of 0° between the diagonal and the true wind direction (S4) consistently achieved the lowest comprehensive score. Therefore, among the four schemes, the S4 scheme has the best comprehensive performance. For the position-keeping control of an unmanned sailboat, where minimizing the total travel of the sail and rudder (and thus power consumption) is critical, the S4 strategy is identified as the most appropriate choice.

4.6.2. Analysis of the Best Solution When Position-Keeping Error Is the Most Important Index

In this section, the four levels of importance are ranked as A1 > A2 = A3 > A5 > A4.
(1)
Using the 1–9 scaling method, the judgment matrix was constructed as follows:
A = a 11 a 12 a 13 a 14 a 15 a 21 a 22 a 23 a 24 a 25 a 31 a 32 a 33 a 34 a 35 a 41 a 42 a 43 a 44 a 45 a 51 a 52 a 53 a 54 a 55 = 1 3 3 7 5 1 3 1 1 5 3 1 3 1 1 5 3 1 7 1 5 1 5 1 1 3 1 5 1 3 1 3 3 1
(2)
Using the calculation method described in Section 4.6.1, the weight matrix was derived, as follows:
w = ω 1 ;   ω 2 ;   ω 3 ;   ω 4 ;   ω 5   = [ 0.4656 ; 0.2033 ; 0.2033 ; 0.0421 ; 0.0857 ]
(3)
The maximum eigenvalue λmax was calculated by multiplying the normalized eigenvector by the judgment matrix A to obtain the vector Aw.
A = a 11 a 12 a 13 a 14 a 15 a 21 a 22 a 23 a 24 a 25 a 31 a 32 a 33 a 34 a 35 a 41 a 42 a 43 a 44 a 45 a 51 a 52 a 53 a 54 a 55 ω 1 ω 2 ω 3 ω 4 ω 5 = 1 3 3 7 5 1 3 1 1 5 3 1 3 1 1 5 3 1 7 1 5 1 5 1 1 3 1 5 1 3 1 3 3 1 0.4656 0.2033 0.2033 0.0421 0.0857 = 2.4086 1.0294 1.0294 0.2185 0.4407
The maximum eigenvalue λ m a x was calculated as follows:
λ m a x = 1 n h = 1 n A w h w h = 1 5 A w 1 w 1 + A w 2 w 2 + A w 3 w 3 + A w 4 w 4 + A w 5 w 5 = 1 5 2.4086 0.4656 + 1.0294 0.2033 + 1.0294 0.2033 + 0.2185 0.0421 + 0.4407 0.0857 = 5.1264
(4)
Consistency test
The consistency index CI was calculated as follows:
C I = λ m a x n n 1 = 5.1264 5 5 1 = 0.0316
The average random consistency index RI corresponding to a matrix order n = 5 was obtained from the consistency index table as RI = 1.12.
The consistency ratio CR was calculated as
C R = C I R I = 0.0316 1.12 = 0.0282
As CR < 0.1, the consistency of the judgment matrix is within an acceptable range, and the calculated eigenvector is accepted as the weight vector.
Therefore, the weights of the five indicators (average error value (A1), maximum error value (A2:), minimum error value (A3), total rudder action stroke (A4), and total sail action stroke (A5) are as follows:
w = ω 1 ;   ω 2 ;   ω 3 ;   ω 4 ;   ω 5   = [ 0.4656 ; 0.2033 ; 0.2033 ; 0.0421 ; 0.0857 ]
(5)
Overall ranking of solutions
Based on the assigned weights, four schemes were obtained:
S1: Straight-line trajectory strategy.
S2: Circular surround strategy.
S3: Square surround strategy with the angle between the diagonal near the desired position and the wind direction being half the angle of the navigation dead zone
S4: Square surround strategy with the angle between the diagonal near the desired position and the wind direction being zero.
The total score is shown in Table 6.
(6)
Conclusion
This study evaluated four position-keeping strategies for unmanned sailboats while minimizing position-keeping error through a hierarchical analysis. The results show that the eight-shaped shuttle strategy method achieved the lowest comprehensive score, thus indicating that the S1 strategy had the best comprehensive performance among the four strategies. Therefore, the S1 strategy is the most suitable position control method for unmanned sailboats when position-keeping errors are prioritized.

5. Conclusions

This study proposes a method for maintaining the position of an unmanned sailboat using the NMPC maximum speed and heading joint control. A comprehensive four-degrees-of-freedom dynamic and kinematic model was established to address multivariable coupling relationships effectively. The NMPC method optimized the control input, handled the multivariable coupling relationship, constrained the control input and state variables, designed the optimization function, and achieved maximum speed and heading joint control by adjusting the weight matrix.
Four position-keeping strategies were proposed to enable effective circling of the sailboat near the desired position and the desired heading was designed. An avoidance strategy was proposed to enhance the reliability of position keeping and navigate the dead zone problem. The optimal strategy was determined based on different considerations through a comprehensive simulation comparison and hierarchical analysis evaluation. This study provides effective solutions for position-keeping control of unmanned sailboats, supports applications in ocean monitoring and offers a reference for future research.
The proposed methods can be applied to different types of sailboats by adjusting model parameters for control. They can also meet the requirements of various marine tasks, with different strategies being flexibly used. The control algorithms are scalable, and integrating new algorithms can enhance performance. However, there are also challenges. Complex marine environmental factors, uncertainties in model parameters, and hardware cost limitations may affect their generality, and further improvements and optimizations are needed.
Future work will focus on optimizing the control algorithm by incorporating advanced intelligent algorithms to improve accuracy and adaptability. Additional considerations will include complex marine environmental factors, such as the effects of waves and currents on sailboat movements. Experimental verification under real-world sea conditions will be conducted to ensure the method’s practical applicability and reliability. Moreover, the coordination of multiple unmanned sailboats will be explored to broaden its application in marine missions.

Author Contributions

Conceptualization, K.L., J.Y., W.Z. and Z.S.; Methodology, K.L., J.Y. and Z.S.; Validation, K.L.; Formal analysis, K.L. and W.Z.; Investigation, K.L.; Resources, J.Y., W.Z. and Z.S.; Data curation, K.L.; Writing—original draft, K.L.; Writing—review & editing, J.Y., W.Z. and Z.S.; Visualization, K.L.; Supervision, J.Y., W.Z. and Z.S.; Project administration, W.Z. and Z.S.; Funding acquisition, J.Y. and Z.S. All authors have read and agreed to the published version of the manuscript.

Funding

This study was supported by the National Natural Science Foundation of China (General Program, 42276198), the Youth Innovation Promotion Association CAS (NO. 2023212) and the National Natural Science Foundation of China (Grant No. 42206197).

Data Availability Statement

The data presented in this study are available on request from the authors.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Qi, W.; Sun, Q.; Cao, Y.; Qian, H. Stable station keeping of autonomous sailing robots via the switched systems approach for ocean observation. In Proceedings of the 2023 IEEE International Conference on Robotics and Automation (ICRA), London, UK, 29 May–2 June 2023. [Google Scholar]
  2. Viel, C.; Vautier, U.; Wan, J.; Jaulin, L. Position keeping control of an autonomous sailboat. In Proceedings of the 11th IFAC Conference on Control Applications in Marine Systems, Robotics, and Vehicles (CAMS), Opatija, Croatia, 10–12 September 2018. [Google Scholar]
  3. Wille, K.L. Autonomous Sailboats—Modeling, Simulation, Control. Master’s Thesis, NTNU, Trondheim, Norway, 2016. [Google Scholar]
  4. Treichel, K.; Jouffroy, J. Real-time sail and heading optimization for a surface sailing vessel by extremum seeking control. In Proceedings of the 55th International Scientific Colloquium (IWK), Ilmenau, Germany, 13–17 September 2010; pp. 198–203. [Google Scholar]
  5. Corno, M.; Formentin, S.; Savaresi, S.M. Data-driven online speed optimization in autonomous sailboats. IEEE Trans. Intell. Transp. Syst. 2015, 17, 762–771. [Google Scholar]
  6. Sun, Q.; Qi, W.; Liu, H.; Sun, Z.; Lam, T.L.; Qian, H. Oceanvoy: A hybrid energy planning system for autonomous sailboat. In Proceedings of the 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 25–29 October 2020. [Google Scholar]
  7. dos Santos, D.H.; Gonçalves, L.M.G. Performance evaluation of propulsion control techniques for autonomous sailboat. In Proceedings of the 2020 Latin American Robotics Symposium (LARS), 2020 Brazilian Symposium on Robotics (SBR) and 2020 Workshop on Robotics in Education (WRE), Natal, Brazil, 9–12 November 2020. [Google Scholar]
  8. Shen, Z.; Wang, S.; Yu, H.; Guo, C. Online speed optimization with feedforward of unmanned sailboat via extremum seeking without steady-state oscillation. Ocean Eng. 2019, 189, 106393. [Google Scholar]
  9. Shen, Z.; Fan, X.; Yu, H.; Guo, C.; Wang, S. A novel speed optimisation scheme for unmanned sailboats by sliding mode extremum seeking control without steady-state oscillation. J. Navig. 2022, 75, 745–762. [Google Scholar]
  10. Zhang, G.; Li, J.; Liu, C.; Zhang, W. A robust fuzzy speed regulator for unmanned sailboat robot via the composite ILOS guidance. Nonlinear Dyn. 2022, 110, 2465–2480. [Google Scholar] [CrossRef]
  11. Deng, Y.; Zhang, X.; Zhang, G.; Huang, C. Parallel guidance and event-triggered robust fuzzy control for path following of autonomous wing-sailed catamaran. Ocean Eng. 2019, 190, 106442. [Google Scholar] [CrossRef]
  12. Wille, K.; Hassani, V.; Sprenger, F. Roll stabilization control of sailboats. IFAC-Pap. 2016, 49, 552–556. [Google Scholar] [CrossRef]
  13. Liu, S.; Yu, Z.; Wang, T.; Chen, Y.; Zhang, Y.; Cai, Y. MPC-based collaborative control of sail and rudder for unmanned sailboat. J. Mar. Sci. Eng. 2023, 11, 460. [Google Scholar] [CrossRef]
  14. Stelzer, R.; Proll, T.; John, R.I. Fuzzy logic control system for autonomous sailboats. In Proceedings of the 2007 IEEE International Fuzzy Systems Conference, London, UK, 23–26 July 2007. [Google Scholar]
  15. Júnior, A.G.; Araújo, A.P.; Silva, M.V.; Aroca, R.V.; Gonçalves, L.M. N-boat: An autonomous robotic sailboat. In Proceedings of the 2013 Latin American Robotics Symposium and Competition, Arequipa, Peru, 21–27 October 2013. [Google Scholar]
  16. Gomes, L.; Costa, A.; Fernandes, D.; Marques, H.; Anjos, F. Improving instrumentation support and control strategies for autonomous sailboats in a regatta contest. In Robotic Sailing 2016: Proceedings of the 9th International Robotic Sailing Conference, Viana do Castelo, Portugal, 5–10 Sep-tember 2016; Springer: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
  17. Martins, F.M.G. eVentos 2-Autonomous Sailboat Control. Master’s Thesis, Faculdade de Ciências e Tecnologia-Universidade Nova de Lisboa, Almada, Portugal, 2013. [Google Scholar]
  18. Ramos De Miguel, Á. A-TIRMA: A Small Autonomous Sailboat. Master’s Thesis, Universidad de Las Palmas de Gran Canaria, Las Palmas de Gran Canaria, Spain, 2013. [Google Scholar]
  19. Zhang, G.; Li, J.; Yu, W.; Zhang, W. Event-triggered robust neural control for unmanned sail-assisted vehicles subject to actuator failures. Ocean Eng. 2020, 216, 107754. [Google Scholar] [CrossRef]
  20. dos Santos, D.H.; Goncalves LM, G. A gain-scheduling control strategy and short-term path optimization with genetic algorithm for autonomous navigation of a sailboat robot. Int. J. Adv. Robot. Syst. 2019, 16, 1729881418821830. [Google Scholar] [CrossRef]
  21. Liu, K.; Sun, Z.; Qu, Y.; Yu, J.; Huang, Y.; Zhao, W. Research on key methods of autonomous sailboat’s position keeping control. In Proceedings of the OCEANS 2022-Chennai, Chennai, India, 21–24 February 2022. [Google Scholar]
  22. Zhou, L.; Chen, K.; Chen, Z.; Dong, H.; Song, D. Course control of unmanned sailboat based on bas-pid algorithm. In Proceedings of the 2020 International Conference on System Science and Engineering (ICSSE), Kagawa, Japan, 31 August–3 September 2020. [Google Scholar]
  23. Tranzatto, M. Navigation and Control for an Autonomous Sailing Model Boat. Ph.D. Dissertation, University of Pisa, Pisa, Italy, 2015. [Google Scholar]
  24. Tranzatto, M.; Liniger, A.; Grammatico, S.; Landi, A. The debut of Aeolus, the autonomous model sailboat of ETH Zurich. In Proceedings of the OCEANS 2015-Genova, Genova, Italy, 18–21 May 2015; IEEE: New York, NY, USA, 2015. [Google Scholar]
  25. Wirz, J.; Tranzatto, M.; Liniger, A.; Colombino, M.; Hesse, H.; Grammatico, S. AEOLUS, the ETH autonomous model sailboat. In World Robotic Sailing Championship and International Robotic Sailing Conference; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  26. Xiao, L.; Jouffroy, J. Modeling and nonlinear heading control of sailing yachts. IEEE J. Ocean. Eng. 2013, 39, 256–268. [Google Scholar] [CrossRef]
  27. Yingjie, D.; Xianku, Z. Guoqing Fuzzy logic based speed optimization and path following control for sail-assisted ships. Ocean Eng. 2019, 171, 300–310. [Google Scholar] [CrossRef]
  28. Deng, Y. Event-triggered composite adaptive fuzzy control of sailboat with heeling constraint. Ocean Eng. 2020, 211, 107627. [Google Scholar]
  29. Zhang, G. Improved integral LOS guidance and path-following control for an unmanned robot sailboat via the robust neural damping technique. J. Navig. 2019, 72, 1378–1398. [Google Scholar] [CrossRef]
  30. Deng, Y.; Zhang, X. Line-of-sight-based guidance and adaptive neural path-following control for sailboats. IEEE J. Ocean. Eng. 2019, 45, 1177–1189. [Google Scholar]
  31. Zhang, G.; Wang, L.; Li, J.; Zhang, W. Improved LVS guidance and path-following control for unmanned sailboat robot with the minimum triggered setting. Ocean Eng. 2023, 272, 113860. [Google Scholar] [CrossRef]
  32. Abrougui, H.; Nejim, S. Modeling and autopilot design for an autonomous catamaran sailboat based on feedback linearization. In Proceedings of the 2019 International Conference on Advanced Systems and Emergent Technologies (IC_ASET), Hammamet, Tunisia, 19–22 March 2019; pp. 130–135. [Google Scholar]
  33. Abrougui, H.; Nejim, S. Sliding mode control of an autonomous sailboat. In Proceedings of the 5th International Conference on Green Energy and Environmental Engineering GEEE, Sousse, Tunisia, 28–30 April 2018. [Google Scholar]
  34. Liu, C.; Yang, S.; Duan, T.; Huang, J.; Wang, Z. Motion control of an one-meter class autonomous sailboat. In Proceedings of the 2018 IEEE 8th International Conference on Underwater System Technology: Theory and Applications (USYS), Wuhan, China, 1–3 December 2018; pp. 1–6. [Google Scholar]
  35. Wang, Q.; Kang, M.; Xu, J.; Xu, J. Autonomous sailboat track following control. In World Robotic Sailing Championship and International Robotic Sailing Conference; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  36. Liu, K.; Yu, J.; Zhao, W.; Huang, Y. Speed and heading joint control of an unmanned sailboat based on NMPC. In Proceedings of the International Conference on Control and Intelligent Robotics, Changsha, China, 23–25 June 2023. [Google Scholar]
Figure 1. The schematic diagram of the coordinate system.
Figure 1. The schematic diagram of the coordinate system.
Jmse 13 00668 g001
Figure 2. Diagram of maximum speed and heading control of unmanned sailboat.
Figure 2. Diagram of maximum speed and heading control of unmanned sailboat.
Jmse 13 00668 g002
Figure 3. Schematic diagram of the parameterized LOS navigation method for unmanned sailboat.
Figure 3. Schematic diagram of the parameterized LOS navigation method for unmanned sailboat.
Jmse 13 00668 g003
Figure 4. A square path whose diagonal angle to the wind direction is half the dead zone angle.
Figure 4. A square path whose diagonal angle to the wind direction is half the dead zone angle.
Jmse 13 00668 g004
Figure 5. Square circular path with a diagonal parallel to the wind direction.
Figure 5. Square circular path with a diagonal parallel to the wind direction.
Jmse 13 00668 g005
Figure 6. The overall plan of this study.
Figure 6. The overall plan of this study.
Jmse 13 00668 g006
Figure 7. Schematic diagram of the starting positions along the circle.
Figure 7. Schematic diagram of the starting positions along the circle.
Jmse 13 00668 g007
Figure 8. Velocity variations in the simulation: (a) Forward velocity, (b) lateral velocity, (c) roll rate, (d) yaw rate.
Figure 8. Velocity variations in the simulation: (a) Forward velocity, (b) lateral velocity, (c) roll rate, (d) yaw rate.
Jmse 13 00668 g008
Figure 9. (a) Roll angle variation, (b) heading angle variation, (c) sail angle variation, (d) rudder angle variation.
Figure 9. (a) Roll angle variation, (b) heading angle variation, (c) sail angle variation, (d) rudder angle variation.
Jmse 13 00668 g009
Figure 10. (a,c,e,g,i,k,m). The navigation trajectories of the unmanned sailboat starting from different positions; (b,d,f,h,j,l,n). The distance between the position of the unmanned sailboat and the desired position at different starting positions.
Figure 10. (a,c,e,g,i,k,m). The navigation trajectories of the unmanned sailboat starting from different positions; (b,d,f,h,j,l,n). The distance between the position of the unmanned sailboat and the desired position at different starting positions.
Jmse 13 00668 g010
Figure 11. (a,c,e,g,i,k,m). The navigation trajectories of the unmanned sailboat starting from different positions; (b,d,f,h,j,l,n). The distance between the position of the unmanned sailboat and the expected position when starting from different positions.
Figure 11. (a,c,e,g,i,k,m). The navigation trajectories of the unmanned sailboat starting from different positions; (b,d,f,h,j,l,n). The distance between the position of the unmanned sailboat and the expected position when starting from different positions.
Jmse 13 00668 g011
Figure 12. (a,c,e,g,i,k,m). The navigation trajectories of the unmanned sailboat starting from different positions: (b,d,f,h,j,l,n). The distance between the position of the unmanned sailboat and the expected position when starting from different positions.
Figure 12. (a,c,e,g,i,k,m). The navigation trajectories of the unmanned sailboat starting from different positions: (b,d,f,h,j,l,n). The distance between the position of the unmanned sailboat and the expected position when starting from different positions.
Jmse 13 00668 g012aJmse 13 00668 g012b
Figure 13. (a,c,e,g,i,k,m). The navigation trajectories of the unmanned sailboat starting from different positions: (b,d,f,h,j,l,n). The distance between the position of the unmanned sailboat and the expected position when starting from different positions.
Figure 13. (a,c,e,g,i,k,m). The navigation trajectories of the unmanned sailboat starting from different positions: (b,d,f,h,j,l,n). The distance between the position of the unmanned sailboat and the expected position when starting from different positions.
Jmse 13 00668 g013aJmse 13 00668 g013b
Table 1. Key data of position-keeping at different initial positions.
Table 1. Key data of position-keeping at different initial positions.
Initial position(50, 0)(43, 25)(25, 43)(0, 50)(−25, 43)(−43, 25)(−50, 0)
Average distance error/m6.456.376.416.436.476.386.37
Maximum distance error/m10.7110.8910.5710.6610.8810.6410.73
Minimum distance error/m0.330.260.380.330.270.340.31
Total stroke of the sail/rad77.5079.4979.5378.5077.5777.4674.97
Total stroke of the rudder/rad51.1750.9951.2851.2850.3649.9150.75
Table 2. Key data of position keeping at different initial positions.
Table 2. Key data of position keeping at different initial positions.
Initial position(50, 0)(43, 25)(25, 43)(0, 50)(−25, 43)(−43, 25)(−50, 0)
Average distance error/m8.818.808.308.438.488.868.55
Maximum distance error/m18.5318.5617.6318.4618.2118.7718.45
Minimum distance error/m0.250.470.670.460.640.450.65
Total stroke of the sail/rad73.7174.6974.7773.7373.2272.8570.57
Total stroke of the rudder/rad56.1254.8254.8453.5352.9352.4053.64
Table 3. Key data of position keeping at different initial positions.
Table 3. Key data of position keeping at different initial positions.
Initial position(50, 0)(43, 25)(25, 43)(0, 50)(−25, 43)(−43, 25)(−50, 0)
Average distance error/m7.407.397.347.357.377.337.61
Maximum distance error/m12.8712.7813.2312.3912.8712.6213.56
Minimum distance error/m0.140.040.050.100.030.130.15
Total stroke of the sail/rad76.5776.2275.9074.9974.1974.3474.74
Total stroke of the rudder/rad51.4050.3949.8949.4548.3448.1249.00
Table 4. Key data of position keeping at different initial positions.
Table 4. Key data of position keeping at different initial positions.
Initial position(50, 0)(43, 25)(25, 43)(0, 50)(−25, 43)(−43, 25)(−50, 0)
Average distance error/m7.507.437.417.537.447.417.53
Maximum distance error/m13.2013.3513.2713.4013.3213.1913.24
Minimum distance error/m1.160.951.070.990.981.151.15
Total stroke of the sail/rad74.3375.7375.2874.6173.7874.1471.88
Total stroke of the rudder/rad49.1348.5947.7647.7646.7946.5647.79
Table 5. Total scores of position-keeping strategies across different initial positions.
Table 5. Total scores of position-keeping strategies across different initial positions.
Initial position(50, 0)(43, 25)(25, 43)(0, 50)(−25, 43)(−43, 25)(−50, 0)
S156.168657.180257.275356.728255.999555.804554.6942
S256.035356.225956.183455.322154.894854.619153.6820
S355.925955.464255.172754.541053.839053.850654.3680
S454.194054.789954.329753.988153.274053.403952.5352
Table 6. Total scores for different initial positions and position-keeping strategies.
Table 6. Total scores for different initial positions and position-keeping strategies.
Initial position(50, 0)(43, 25)(25, 43)(0, 50)(−25, 43)(−43, 25)(-50, 0)
S114.043614.191614.185214.114414.047113.942313.7718
S216.599516.674916.301416.343716.283816.481916.1700
S314.816414.700614.722314.469914.447214.401714.7986
S414.849814.902314.827614.836214.664114.679414.6035
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

Liu, K.; Yu, J.; Zhao, W.; Sun, Z. Position-Keeping Method for Unmanned Sailboats Based on NMPC Maximum Speed and Heading Control. J. Mar. Sci. Eng. 2025, 13, 668. https://doi.org/10.3390/jmse13040668

AMA Style

Liu K, Yu J, Zhao W, Sun Z. Position-Keeping Method for Unmanned Sailboats Based on NMPC Maximum Speed and Heading Control. Journal of Marine Science and Engineering. 2025; 13(4):668. https://doi.org/10.3390/jmse13040668

Chicago/Turabian Style

Liu, Kai, Jiancheng Yu, Wentao Zhao, and Zhaoyang Sun. 2025. "Position-Keeping Method for Unmanned Sailboats Based on NMPC Maximum Speed and Heading Control" Journal of Marine Science and Engineering 13, no. 4: 668. https://doi.org/10.3390/jmse13040668

APA Style

Liu, K., Yu, J., Zhao, W., & Sun, Z. (2025). Position-Keeping Method for Unmanned Sailboats Based on NMPC Maximum Speed and Heading Control. Journal of Marine Science and Engineering, 13(4), 668. https://doi.org/10.3390/jmse13040668

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