1. Introduction
The unmanned sailboat is a special marine autonomous surface ship (MASS) propelled by the wind sail rather than the electric motor or the internal-combustion engine. This fact makes it more suitable for long-term and oceangoing tasks in lighter weight and smaller size, such as trophic cyclone monitoring and oceanic data gathering. Moreover, the sailboat can sail silently and serve for military action and marine animal surveillance [Reference Rynne and von Ellenrieder1]. Routing, guidance, and control are essential to steer the unmanned sailboats autonomously. However, due to changeable weather and intricate sea environment, steering a sailboat is a challenging issue [Reference Silva, Friebe, Malheiro, Guedes, Ferreira and Waller2]. Especially, the sailboat must travel by the zigzag leg to prevent its stall in downwind and upwind situations, namely tacking and jibing maneuvers. Ideally, the sailboat should follow the reference path. However, the emergence of obstacles may provoke the contradiction between path following and collision avoidance in the light of security. How to arrange the above tasks simultaneously is worthy of discussion.
To ensure the effective navigation of sailboats in actual sea environment, the real-time routing and guidance approaches are designed and working as a pilot. Routing determines the real-time reference path of the sailboat depending on the meteorological and obstacle information, where guidance directly derives the ideal heading angle and speed of the ship. Current routing outcomes of marine surface crafts learnt much from planar mobile robots, such as the A * algorithm, the potential field method, and the ship domain method. In refs. [Reference Erckens, Büsser, Pradalier and Siegwart3–Reference Zyczkowski and Szlapczynski5], the meteorological information was incorporated into routing graph, where A * algorithm was employed to calculate the optimal long-term route; ref. [Reference Alves and Cruz6] proposed a mission programming system, where the new waypoints were created by executing the sequence of actions during the accomplishment of missions; ref. [Reference Życzkowski, Krata and Szlapczyński7] involved wave effect on the speed polar diagram, and the reference path can be decided by the Dijkstra algorithm with a multicriteria objective function. To find the compromise among conflicting objectives, the Pareto-optimal set of routes was made by solving multiobjective optimization problems; for example, routing optimization was proposed with the drifting ice in ref. [Reference Zvyagina and Zvyagin8] and the customized constraints in ref. [Reference Szlapczynska9]. In ref. [Reference Tynan10], an attractor/repellor routing approach of unmanned sailboat was proposed, which provided the possible headings by using an array of waypoint attractors and repellors. In ref. [Reference Chen, Chen, Ma, Zhang and Wang11], the appropriate reference path of a smart ship can be found by using Q-learning after sufficient training. Nevertheless, there are some mutual limitations in the above routing results. First, routing was all deployed on a graph composed of grids, which implies the limited selections on the ship’s directions. Second, the routing method was not highly adaptable to the changeable environment, for example, the coming ships and the erratic weather.
Compared with routing, guidance can directly generate the reference heading direction and speed of the ship, which is more acceptable to the controller. Ref. [Reference Stelzer and Pröll12] proposed a velocity-made-good guidance method, where the reference heading angle was to ensure the maximum velocity of the sailboat towards the target. However, this method did not consider collision avoidance. Refs. [Reference Pêtrès, Romero-Ramirez and Plumet13–Reference Saoud, Hua, Plumet and Amar15] introduced the potential field method to the guidance of unmanned sailboats, where the reference heading angle faced towards the inverse gradient direction by adding up the attractive field of the target and the repulsive fields of wind and obstacles. In ref. [Reference Less’ard-Springett, Friebe and Gallic16], the voter-based guidance algorithm was introduced by choosing the maneuver with maximum votes. The above research only considered the waypoint tracking, whereas in nautical practice, path following of great circle routes is most often concerned. For this purpose, the line-of-sight (LOS) guidance was first introduced to unmanned sailboats in ref. [Reference Elkaim and Kelbley17], where the lane with a fixed width was added to constrain tacking and jibing maneuvers. With the complete mathematical description, the parametric LOS guidance of unmanned sailboats was first proposed in ref. [Reference Deng, Zhang and Zhang18], where a sign function described the switching of reference heading angles between tacking and jibing. Concerned with path following of a curved reference path, ref. [Reference Deng, Zhang, Zhang and Huang19] proposed a parallel guidance algorithm of unmanned wing-sailed catamarans. The above path following guidance of sailboats did not consider collision avoidance. Although there were plenty of outcomes on the collision avoidance of common powered ships, such as the dynamic virtual ship guidance in ref. [Reference Zhang, Deng, Zhang and Huang20] and the velocity obstacle method in ref. [Reference Wang, Zhang and Li21], they cannot be applied to the sailboat. Most importantly, the sailboat is not self-propelled, the speed of which strongly relies on the wind. By all accounts, there was seldom research on a uniform guidance framework for the sailboat, which synthesized path following and collision avoidance all together.
According to the separate principle [Reference Corno, Formentin and Savaresi22], the rudder solely dominates the turning of the sailboat, and the sail can be adjusted in the principle of the maximum speed. With the reference heading provided by the guidance module, the rudder controller is designed to compel the convergence of the actual heading to the reference. In ref. [Reference Stelzer, Pröll and John23], both the rudder and the sail controllers were designed as the fuzzy logic systems (FLS), which were fabricated through the expertise of skippers such that the rollover risk can be eliminated. In refs. [Reference Saoud, Hua, Plumet and Amar15, Reference Cruz and Alves24, Reference Viel, Vautier, Wan and Jaulin25], the rudder controller was constructed by using PID control, which was classical and easy. However, PID was not adept in dealing with unknown model dynamics. In ref. [Reference Xiao, Fossen and Jouffroy26], the $\mathcal{L}_1$ adaptive control was employed in the Nomoto model of the sailboat, and nice robustness to disturbances was exhibited. In ref. [Reference Xiao and Jouffroy27], robust control was also achieved by using backstepping with tuning parameters. However, the control performance of robust control relied much on the tuning parameters. How to select optimal parameters was not addressed. In refs. [Reference Deng, Zhang, Zhang and Huang19, Reference Deng, Zhang, Zhang and Hu28], the FLSs were to approximate unknown model dynamics, and event-triggered fuzzy control was fabricated for sailboats. Although the unknown model dynamics can be compensated, these adaptive control was computationally complicated. For the marine crafts cruising in diverse sea environment, it is urgent to strike a balance between adaptability and control conciseness.
Faced with the above challenges, this paper proposed a succinct guidance and control framework of the sailboat. The risk detecting mechanism is fabricated by using time to the closest point of approach (TCPA). Corresponding to various tasks, the cost functions are constructed by complying with the nautical practice and involving distance to closest point of approach (DCPA). By improving and applying BAS, the optimal heading angle can be searched by minimizing the aggregate cost functions. Using the backstepping method, the controller is designed in the linear form and with constant control parameters. The control parameters are optimized through the BAS, such that the optimized control performance is achieved. Compared with the existing work, the novelties are summarized as follows.
1. The proposed guidance approach is totally described in mathematics without linguistic rules and grids. Compared with the routing results in refs. [Reference Erckens, Büsser, Pradalier and Siegwart3–Reference Zyczkowski and Szlapczynski5, Reference Życzkowski, Krata and Szlapczyński7, Reference Tynan10], the proposed scheme is easier for programing. Moreover, the proposed scheme considers the path following rather than the waypoint tracking, which has higher feasibility.
2. For the unmanned sailboat, the proposed guidance approach synthesizes the path following, the tacking and jibing maneuvers, and the collision avoidance of both dynamic and static obstacles altogether. Compared with the potential field methods in refs. [Reference Pêtrès, Romero-Ramirez and Plumet13–Reference Saoud, Hua, Plumet and Amar15], it requires no prior information of obstacles and wind. Compared with the path following principles in refs. [Reference Elkaim and Kelbley17–Reference Deng, Zhang, Zhang and Huang19], it has the better adaptability to diverse traffic conditions for collision avoidance.
3. The proposed controller requires no adaptive parameters, and its control gains can be trained offline. Compared with the adaptive controllers in refs. [Reference Deng, Zhang and Zhang18, Reference Xiao, Fossen and Jouffroy26, Reference Deng, Zhang, Zhang and Hu28, Reference Deng, Zhang, Gong and Ni29], the computation burden is largely reduced. Compared with the PID control in refs. [Reference Saoud, Hua, Plumet and Amar15, Reference Cruz and Alves24, Reference Viel, Vautier, Wan and Jaulin25] and the robust control in refs. [Reference Xiao and Jouffroy27], the control performance can be optimized by modifying the BAS algorithm.
2. Modified BAS and FLS approximation
The BAS method is a meta-heuristic optimization algorithm mimicking the foraging behavior of beetles, which was first presented in ref. [Reference Jiang and Li30]. For a cost function of $F(x)=f(x)+\lambda \sum _{j=1}^kh_j(x)$ , the goal is to minimize $F(x)$ by seeking the states $x$ in $k$ inequality constraints $g_j(x)\leq 0$ , where $\lambda$ is a very large positive constant and $h_j(x)$ is the penalty function described as
The current searching step is uniformly marked with a superscript $t$ . Then, define $x_r$ and $x_l$ as searching states at the right and left antennae respectively, which have the form of
where $d^t$ is the current searching length and $\vec{b}$ is a random direction vector with the identical length of $x$ . Then, the states in the next searching step is determined as
where $\delta ^t=c_0d^t$ with $0\lt c_0\lt 1$ is the moving length. Let $d^{t+1}=c_1d^t$ with $0\lt c_1\lt 1$ and $d^1\gt 0$ . Then, the searching can be finished while $d^{t+1}$ is less than a preset positive threshold.
In the above customary BAS method proposed by ref. [Reference Jiang and Li30], we note a problem that $x^{t+1}$ may be worse than $x^t$ as it was only selected between $x_r$ and $x_l$ . To improve the searching performance, we can modify (2) as
This is referred to as “modified BAS”.
As was widely used in adaptive fuzzy control, any continuous nonlinear function in a compact set can be expressed by a FLS, namely
where $f_1(x)$ is the 1-dimensional nonlinear function defined in $x\in \Omega _x=\{x|x^{\textrm{T}}x\leq \Delta _x\}$ , $W$ is the constant vector of fuzzy weights, and $\varphi (x)$ is the vector of basis functions satisfying $\|\varphi (x)\|\lt 1$ . $\varepsilon (x)$ is the approximation error bounded by $|\varepsilon (x)|\lt \bar{\varepsilon }$ , and $\bar{\varepsilon }$ can be tuned to an arbitrarily small value by selecting appropriate $W$ and $\varphi (x)$ .
3. Guidance
The proposed guidance principle should reconcile tacking and jibing maneuver, path following and collision avoidance of unmanned sailboats. Here, we set a circular detecting zone of the unmanned sailboat with its planar position as the circle centre, which implies the detecting ability of apparatuses such as the radar and the sonar. Only the obstacles within the detecting zone is addressed. Corresponding to different navigation tasks, four cost functions were fabricated and then synthesized. Illustration of variables and navigation tasks is shown in Fig. 1. It should be noted that the heading direction of the sailboat therein only exhibits one of possible reference heading directions, where its real heading angle marked as $\psi$ is not shown.
3.1. Collision avoidance
The sway speeds are omitted. If the sailboat has the reference heading direction in Fig. 1 and the reference heading angle is denoted as $\psi _d$ , it will have the surge speed $u_1$ according to the speed polar diagram and the included angle towards the selected obstacle at $(x_o,y_o)$ marked as $\psi _1$ , which is calculated by
The sign function in (5) can guarantee that the bearing angle of $(x_o,y_o)$ is always located within $(\!-\!180^\circ,180^\circ ]$ . By using the onboard sensing devices like radar, the obstacle can be detected to have the surge speed $u_2$ and the included angle away from the sailboat $\psi _2$ . The distance between the sailboat and the obstacle is calculated as $d_0=\sqrt{(x-x_o)^2+(y-y_o)^2}$ . According to geometry, the future distance $d$ from now on and after $\Delta t$ is calculated by
where it has $a_1=u_1\cos\!(\psi _1)-u_2\cos\!(\psi _2)$ and $a_2=u_1\sin (\psi _1)-u_2\sin (\psi _2)$ . The smallest $d$ which is known as DCPA and marked as $D_{CPA}$ , occurs at the TCPA which is marked as $T_{CPA}$ , namely $\Delta t=T_{CPA}$ . According to (6), it yields
By substituting (7)–(6), it obtains
All the obstacles within the detecting zone should be evaluated through (7) and (8). The obstacles with $T_{CPA}\leq 0$ (i.e. blue obstacles in Fig. 1) should be exempted at first, and only the obstacles with $T_{CPA}\gt 0$ (i.e. green obstacles in Fig. 1) are considered. Assuming there are totally $n$ obstacles with $T_{CPA}\gt 0$ and the concerned obstacle is marked with the superscript $i$ , the cost function is fabricated as
where $\bar{d}(u_2^i)$ is the dead-zone operator designed as
where $k_1$ and $\bar{u}_2$ are positive constants.
3.2. Path following
Path following is the radical navigation goal of the unmanned sailboat. As shown in Fig. 1, LOS guidance is adopted here. A fixed look-forward distance $\Delta$ is put along the reference path from the foot of the perpendicular, which gets the target point $(x_p,y_p)$ . Then, the reference heading angle of path following can be rendered as
Similar with (5), the sign function in (10) can also ensure that $\psi _{pf}\in (\!-\!180^\circ,180^\circ ]$ . The reference path is switched while the foot of the perpendicular reaches the next waypoint.
It is clear that if $\psi$ is located within the zone of $\beta$ , path following can still be achieved. If $\psi$ is located within the zone of $180^\circ -\beta$ , path following will be discounted and even cannot be achieved. In other situations, the sailboat will back off, which is unacceptable. Thus, while the sailboat is located in the right of the reference path (namely the situation in Fig. 1), the cost function is fabricated as
While the sailboat is located in the left of the reference path, the cost function is rewritten as
where $k_2$ is a positive constant, $y_e$ is the cross-tracking error, and $g_2(|y_e|)$ is a dead-zone operator described as
where $\bar{y}$ is a positive threshold. This suggests that sailing off course is acceptable while $|y_e|$ is small.
3.3. Speed loss
In the steady wind, the relationship between $u_1$ and $\alpha$ in Fig. 1 can be depicted by the speed polar diagram, which has the shape like an apple. Figure 2 gives a example. It is clear in Fig. 2 that the curve of $u_1$ is symmetric for $\alpha \in [\!-\!180^\circ,0^\circ ]$ and $\alpha \in [0^\circ,180^\circ ]$ , and $u_1$ has a maximum value marked as $\bar{u}_1$ .
To guarantee existence of $u_1$ , the cost function of speed loss is constructed as
where $k_3$ is a tuning parameter.
3.4. Course loss
Large switching of $\psi _d$ will lead to speed loss and deterioration of control effect. As the BAS algorithm is carried out step by step, the calculation of $\psi _d$ must be discrete in the proposed scheme. Complying with the actual operational nature of the processor, it is presumed that the calculation period is a constant $t_s$ . The current instant can be expressed by $t=i*t_s+t_0$ , where the integer $i$ is the current accumulative calculation time and $t_0$ is the initial calculation instant. Then, the last calculation instant can be expressed as $t-t_s$ or $(i-1)*t_s+t_0$ . The cost function of course loss is fabricated as
where $k_4$ is a positive tuning parameter.
3.5. Synthesis and optimization
The synthesized cost function is fabricated as
Then, the guidance problem becomes the 1-dimensional BAS optimization of (16) by using (1)–(3). According to (2), $x^1$ is assigned as $\psi (t-t_s)$ . By assigning appropriate values to $d^1$ , $c_0$ and $c_1$ , the $\psi _d$ achieving the smallest $F(\psi _d)$ can be found at $t$ .
Remark 1. The proposed scheme did not consider the collision avoidance regulations at sea, which is referred to as the COLREGs rules enacted by the international maritime organization (IMO). The COLREGs have stipulated the corresponding responses of the sailboat to different kinds of coming ships. For example, the sailboat will stand on for a power-driven ship in any case, but may give way for another coming sailboat. Thus, the involvement of the COLREGs demands the identification mechanism at first. Moreover, the coming ship may not abide by the COLREGs. In such cases, the proposed scheme is more advantageous for its initiative to avoid collision.
Remark 2. In the proposed guidance scheme, the selection of tuning parameters $k_1\sim k_4$ depends on the actual needs of the current traffic condition. For example, if the sailboat is sailing in the crowded waters, $k_1$ should be tuned up to increase its ability of collision avoidance; if the sailboat is sailing in the open waters, $k_2$ should be tuned up to facilitate the path following; if the sailboat is sailing with the weak wind, $k_3$ and $k_4$ should be tuned up to prevent from the speed loss.
4. Control design
4.1. Linear backstepping controller
According to refs. [Reference Deng, Zhang, Zhang and Huang19, Reference Xiao, Fossen and Jouffroy26], the heading angle of an unmanned sailboat can be controlled through
where $r$ is the yaw rate, $\delta$ is the real rudder angle limited in $[\!-\!35^\circ,+35^\circ ]$ , and $\delta _c$ is the command rudder angle treated as the control input. $N_S$ denotes the torque generated by the sail, which is associated with the true wind and the sheeting angle of the sail. $N_H=N_{ur}u_1r+N_rr$ denotes the torque generated by the hull, where $N_{ur}$ and $N_r$ are hydrodynamic derivatives. $d_r$ is the damping coefficient in the yaw motion, and $T$ is the time constant. $N_R$ is treated as the dominant torque generated by the rudder, which is written as
where $\rho _w$ is the density of water, $A$ is the rudder area, $f_\alpha$ is the slope of lift at $\delta =0$ , and $x_r$ is the distance from the rudder centroid to the gravity center of the whole sailboat. For simplicity, (18) is reexpressed as $N_R=c_rm_r\sin (\delta )$ . It is clear that $c_r\gt 0$ and is bounded.
Denote the tracking error of $\psi$ as $\psi _e=\psi -\psi _d$ . According to the backstepping method, the virtual control law of $r$ is designed as $\alpha _r=-k_\psi \psi _e$ , where $k_\psi$ is a positive tuning parameter. Denote the tracking error of $r$ as $r_e=r-\alpha _r$ . Differentiating $\psi _e$ along with (17) and $\alpha _r$ , it renders
By using (4), it can be expressed that $(N_H+N_S-d_r|r|r)/m_r-\dot{\alpha }_r=W^{\textrm{T}}\varphi (u_1,r)+\varepsilon$ . Invoking (17), it gives $\dot{r}_e=c_r\sin (\delta )+W^{\textrm{T}}\varphi +\varepsilon$ . According to backstepping, the virtual control law of $\sin (\delta )$ is designed as $\alpha _{\sin \delta }=-k_rr_e$ , where $k_r$ is a positive tuning parameter. Denote the tracking error of $\sin (\delta )$ as $s_e=\sin (\delta )-\alpha _{\sin \delta }$ . $r_e$ is further transformed to
Differentiating $s_e$ along with (17), it renders
To mediate the convergence of $s_e$ , the real control law of $\delta _c$ is designed as $\delta _c=-k_\delta Ts_e/\cos\!(\delta )+\delta$ , where $k_\delta$ is a positive tuning parameter. Define $k'_{\!\!\delta} =k_\delta T$ . By involving the definitions of $s_e$ and $r_e$ , $\delta _c$ is further transformed to
By incorporating $\delta _c$ in (21), it renders
In nautical practice, the work of the proposed scheme is demonstrated in the pseudo codes of Table I. It is shown that two loops are nested. The inner loop takes the BAS optimization and searches $\psi _d$ , the outer one undertakes the controller and generates $\delta _c$ . In the proposed scheme, both the guidance signal $\psi _d$ and the control signal $\delta _c$ are calculated step by step with a constant calculation period $t_s$ . Because $\psi _d$ is updated through the BAS algorithm in each step, its continuity is not guaranteed. Because $\psi _d\in (\!-\!180^\circ,180^\circ ]$ and $\dot{\psi }_d\approx [\psi _d(t)-\psi _d(t-t_s)]/t_s$ , it is feasible to ensure $\psi \rightarrow \psi _d$ by using the proposed controller.
4.2. Stability analysis
The proposed control scheme can be concluded as the following theorem.
Theorem 4.1. For the horizontal motions of a sailboat described by (17), the linear backstepping controller fabricated in (22) can ensure the semi-global uniform ultimate boundedness (SGUUB) of all the tracking errors. By optimizing the tuning parameters of $k_\psi$ , $k_r$ and $k'_{\!\!\delta}$ , the balance between the tracking accuracy and the energy cost can be achieved.
Proof: Select a Lyapunov candidate as $V=(\psi _e^2+r_e^2+s_e^2)/2$ . Note the following inequality
where $\theta =\max \{\|W\|,\bar{\varepsilon }\}$ . By using the Young’s inequality and differentiating $V$ along with (19), (20), (23) and (24), it renders
As $\psi$ and $r$ are limited in the real environment, it is tenable to define $\varrho =(\dot{\psi }_d^2+\theta ^2+\dot{\alpha }_{\sin \delta }^2)/2$ bounded by $\bar{\varrho }$ . Select $k_\psi \gt 1$ , $k_r\gt c_r/2+3/(2c_r)$ and $k'_{\!\!\delta} \gt T$ . Let $\eta =\min \{2k_\psi -2,2k_rc_r-c_r^2-3,2k_\delta -2\}$ . Then, (25) can be transformed to $\dot{V}\leq -\eta V+\bar{\varrho }$ , which further renders
which implies that $V(t)$ is ultimately bounded by $\bar{\varrho }/\eta$ . The proof is completed.
Remark 3.It is shown in (22) that only three tuning parameters are required in the controller. Compared with the adaptive control of sailboats, such as [Reference Deng, Zhang and Zhang18, Reference Deng, Zhang, Zhang and Hu28], the neural networks with adaptive laws are no longer required, and the computational simplicity is guaranteed. To refrain from manual intervention, the BAS-based parameter optimization is proposed in the next section.
4.3. BAS-based parameter optimization
The optimization objective is to achieve the satisfactory tracking accuracy as little energy cost as possible. By using the modified BAS algorithm, $k'_{\!\!\delta}$ , $k_r$ and $k_\psi$ are determined. Synthesizing the tracking error and the energy cost together, the cost function is fabricated as
where $\alpha _1\in [0,1]$ is the weight to reconcile the amplitudes between $\psi _e$ and $\delta$ . $t_1$ and $t_2$ are the initial and the ending instants of the recording time, respectively.
The parameter optimization process can follow the procedure that: (1) preset the values of $k'_{\!\!\delta}$ , $k_r$ and $k_\psi$ ; (2) steer the sailboat to a stable navigation condition, namely close to the reference direction and not in a turbulent wind; (3) set $x^1=[k'_{\!\!\delta},k_\psi,k_r]^{\textrm{T}}$ , $d^1$ , $c_0$ , $c_1$ , $\alpha _1$ and fixed $t_2-t_1$ ; (4) use BAS and calculate $F_c$ of $x_l$ , $x^t$ and $x_r$ at the following three time intervals of $t_2-t_1$ ; (5) redetermine the values of $k'_{\!\!\delta}$ , $k_r$ and $k_\psi$ .
5. Simulation
A 1.3-m sailboat is chosen to be the experimental objective, which has $m_r=50.5$ , $N_{ur}=-2$ , $N_r=-10$ , $d_r=5$ , $f_\alpha =2.4$ , $A=0.1\,\textrm{m}^2$ , $x_r=-0.3\,\textrm{m}$ and $T=5$ . Wind is set with the Beaufort wind scale of No.5, which is $135^\circ$ right to the north. According the speed polar diagram, the relationship between $\alpha$ and $u_1$ can be described by a polynomial as $u_1(\alpha )=-0.17|\alpha |^3-1.08\alpha ^2+6.04|\alpha |$ . The curve of $\alpha \in [0^\circ,180^\circ ]$ to $u_1$ is shown in Fig. 3, which is symmetric along the $u_1$ axis.
The first numerical experiment is to determine the optimized parameters in (22). The optimization process follows the procedures in Section 4.3. The initial states of the sailboat are set as $[x(0),y(0),\psi (0)]=[0\,\textrm{m},0\,\textrm{m},90^\circ ]$ , $r(0)=0^\circ/\textrm{s}$ and $\delta =0^\circ$ . $\alpha _1$ in (27) is set as 0.8. A sinusoidal reference signal of $\psi _d$ is given along time, namely $\psi _d=\pi/2+5\pi/36\sin (\pi t/50)$ . The initial values of three parameters are set as $k'_{\!\!\delta} =0.5$ , $k_\psi =0.5$ and $k_r=0.5$ . According to the modified BAS, set $d^1=0.18$ , $\delta ^t=0.15$ , $c_1=0.95$ , the final threshold of $d^t$ as 0.006 and $t_2-t_1$ in (27) as 2 s. Thus, $x^t$ , $x_l$ , and $x_r$ are tested in every 2 s. $x^{t+1}$ is determined after every 6 s.
The optimization process is shown in Fig. 4. After 67 times iteration, optimization is over and it finally renders $k'_{\!\!\delta} =0.36$ , $k_\psi =0.64$ and $k_r=0.44$ . Along with the optimization, the tracking performance is shown in Fig. 5. It is shown that tracking accuracy is gradually enhanced along with the optimization of control parameters. The trajectory of the sailboat is shown in Fig. 6. A sinusoidal trajectory is achieved.
The second numerical experiment is to verify the effectiveness of the proposed guidance scheme and the superior control performance of the linear backstepping controller. In this experiment, four waypoints are set, namely $(x_1,y_1)=(100\,\textrm{m},0\,\textrm{m})$ , $(x_2,y_2)=(100\,\textrm{m},500\,\textrm{m})$ , $(x_3,y_3)=(550\,\textrm{m},600\,\textrm{m})$ , and $(x_4,y_4)=(550\,\textrm{m},1000\,\textrm{m})$ . The reference path is generated by connecting adjacent waypoints. To imitate the complicated traffic situations, 11 obstacles are set with initial positions and heading angles as $(100\,\textrm{m},100\,\textrm{m},45^\circ )$ , $(100\,\textrm{m},200\,\textrm{m},0^\circ )$ , $(120\,\textrm{m},150\,\textrm{m},135^\circ )$ , $(120\,\textrm{m},250\,\textrm{m},-180^\circ )$ , $(80\,\textrm{m},300\,\textrm{m},0^\circ )$ , $(150\,\textrm{m},400\,\textrm{m},-180^\circ )$ , $(100\,\textrm{m},500\,\textrm{m},0^\circ )$ , $(200\,\textrm{m},700\,\textrm{m},-90^\circ )$ , $(190\,\textrm{m},520\,\textrm{m},12.5^\circ )$ , $(180\,\textrm{m},510\,\textrm{m},0^\circ )$ , and $(450\,\textrm{m},500\,\textrm{m},157.5^\circ )$ . Moving speeds $u_2$ of these obstacles are set as 0.5, 0, 0.5, 0.25, 0, 0.5, 0, 1.3, 0.5, 0 and $0.8\,\textrm{m/s}$ . The initial states of the sailboat is set as $(x(0),y(0),\psi (0))=(0\,\textrm{m},0\,\textrm{m},0^\circ )$ , $r(0)=0$ and $\delta (0)=0$ . According to the proposed guidance principle, the detecting zone is set with the radius of $50\,\textrm{m}$ , and let $k_1=1000$ , $\bar{u}_2=1\,\textrm{m/s}$ , $k_2=100$ , $\bar{y}=10\,\textrm{m}$ , $k_3=100$ , $\bar{u}_1=6\,\textrm{m/s}$ and $k_4=50$ . By using the optimized parameters $k'_{\!\!\delta} =1.10$ , $k_\psi =0.58$ and $k_r=0.43$ , the guidance principle with the controller in (22) is marked as “Linear Backstepping”. To verify the superiority, the adaptive controller in ref. [Reference Deng, Zhang and Zhang18] is set as the comparison, which is marked as “Adaptive Backstepping”. According to direct adaptive control, the controller of comparison is fabricated as
where the adaptive law is designed as
Then, simulation results are shown in the following figures.
Figures 7–13 show trajectories of the sailboat in some typical collision-avoidance situations under two control laws, for example, cross from left in Figs. 8 and 9, cross from right in Figs. 7 and 10, overtaking in Fig. 11 and head on in Fig. 12. It should be noted that the sailboat is not required to obey the International Regulations for Preventing Collisions at Sea (COLREGS). It is clear in these figures that the sailboat successfully bypasses the obstacles and the safe distance is left for a 1.3 m sailboat. Effectiveness of the proposed BAS-based guidance is substantiated. Nevertheless, it is shown in Figs. 11 and 13 that “Adaptive Backstepping” has the significant trajectory fluctuation than “Linear Backstepping”. It implies that the adaptive term in (28) will degrade the stability and lead to the control inefficiency. Speeds of the sailboats under two controllers are shown in Fig. 14. Tracking errors and control inputs are shown in Figs. 15 and 16, respectively. Large deviations of these curves are shown in “Adaptive Backstepping”, which verifies the superiority of the proposed linear backstepping controller. Through the entire control voyage, $F_c$ of “Linear Backstepping” and “Adaptive Backstepping” are 617.8 and 863.0, respectively. Optimized control performance is exhibited in “Linear Backstepping”. Figure 17 shows the direct adaptive law of $\hat{W}$ in “Adaptive Backstepping”, where all the elements are bounded. With the simulation environmental configuration (CPU: Intel Core i7-10875H 2.3 GHz 2.3 GHz, RAM: 16.0 GB), it is tested that “Linear Backstepping” has the total computing time (TCT) of 126.89 s and the memory occupancy (MO) of 916460 kB, whereas “Adaptive Backstepping” has the TCT of 139.28 s and the MO of 1009996 kB. The less computation burden is verified in the proposed scheme.
6. Conclusion
Based on the modified BAS optimization algorithm, a guidance principle with a linear backstepping controller is proposed for the unmanned sailboat, which synthesizes the tasks of path following, collision avoidance and the characteristic sailboat maneuvers together. By using the bounded property of fuzzy basis functions, the linear backstepping controller is fabricated in a succinct way. The parameters of the linear backstepping controller are determined by using the BAS optimization, so as to ensure the optimized control performance, namely satisfactory tracking accuracy with less energy cost. Simulation verifies the effectiveness of the proposed guidance and control strategies. In the future work, a real sea trial of the sailboat should be carried out. Besides, more abilities can be added to the guidance, such as station keeping and zone scanning.
Author contributions
Yingjie Deng: Data curation, Writing. Tao Ni: Methodology, Software. Zhuxin Zhu: Conceptualization, Supervision. Jianwei Wang: Visualization, Investigation.
Financial support
This work is partially supported by the Natural Science Foundation of China (No.52101375), the Hebei Province Natural Science Fund (No.E2021203142), the Joint Funds of the National Natural Science Foundation of China (No.U20A20332), and the Key Research and Development Project of Hebei Province (No.21351802D).
Conflicts of interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.