Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

As one kind of maritime intelligent transportation vehicles, autonomous sailboats possess the unique advantages in marine data acquisition and monitoring [2], maritime dangerous or illegal behavior surveillance [10]. Using wind as the major power, the autonomous sailboat is self-sufficient in long cruise and continuous operation, which therefore extends the scope of maritime monitoring and saves resources effectively [9].

Extensive research on autonomous sailboat started in the 1990s [1, 2]. There have been some international matches and conferences promoting the development of the autonomous sailing boat, such as RelationShip, Microtransat, World Robotic Sailing Championship and International Robotic Sailing Conference [11].

The intelligent control system of autonomous sailboat should have at least three basic functions: global route planning, collision avoidance, and track following control [10]. Global route planning determines the fastest and obstacle-free travel path between the starting and destination points on the basis of ocean environmental information. Collision avoidance is one kind of real-time planning that can divert local course against dynamic obstacles. Furthermore, track following control should ensure the boat to sail along the prescribed path through the automatic control of execution equipment such as sail and rudder. The first two functions place emphasis on the application of decision-making theory, while track following control focuses on application of control theory.

Track following control is a classical problem for all kinds of marine vehicles. However, a large amount of research findings on conventional ships cannot be applied directly to the sailboat which is powered by sail instead of propeller. In the field of autonomous sailboat, sail controller and rudder controller are usually separate and independent: the optimal propulsive force can be obtained through the sail control; course diversion can be achieved by the rudder control.

It is hard to set up a precise physical model for the sail control due to the non-linear dynamic model. An alternative approach is to systemize the artificial process of sail control into the underlying rules [5]. The most simplified rule is the optimum heeling angle corresponding to the maximum sailing speed [4].

The rudder control is not only dependent on sailboat performance, but also related to the environmental factors such as wind, wave and current. The theory of fuzzy logic could integrate the empirical rules into the controller, which is suitable for sailboat rudder control [1, 10].

This research is intended to develop a track following controller involving three modules: Local Path Strategy, Sail Automatic Control, and Rudder Automatic Control. Through the autonomous sailing testing of a 1.5 m sailboat on lake, the track following algorithm is verified. The established fuzzy logic controller only needs to describe linguistically how output variables change with input variables rather than build a dynamic model of the non-linear physical system. It has potential for universal application to different kinds of sailing boats in long-range autonomous sailing.

2 Sailboat Integration and Control Method

2.1 Sailboat Integration

The GRP sailboat with a fabric sail is 1.5 m in length. The main particulars of the hull and the sail are listed in Tables 1 and 2 respectively. The overall configuration, the hull lines and the rudder parameters are presented in Figs. 1, 2 and 3. More design details can be checked from Ref. [12].

The sailing test scenery on the lake is shown in Fig. 4. The sensors equipped in the sailboat include anemoscope, Sail Angle Encoder, AHRS (IG500A of SBG Systems), and DGPS (BDM670 of BDStar Navigation), while the execution system consists of the rudder steering engine and the sail winches. Data communication in Modbus protocol between onboard and onshore computers ensures the real-time data acquisition and control.

Table 1 Main particulars of the hull
Table 2 Main particulars of the sail
Fig. 1
figure 1

Overall configuration of the sailboat

Fig. 2
figure 2

Hull lines

Fig. 3
figure 3

Rudder parameters

Fig. 4
figure 4

Sailing test scenery

2.2 Track Following Control Algorithm

The track following control algorithm for autonomous sailboat should achieve at least three functions: local path strategy, sail automatic control, and rudder automatic control.

The most common function of the local path strategy is sailboat course-changing. As shown in Fig. 5, the turning path of three coordinate points can be described as two lines linked with one arc. The radius of gyration is determined by the maneuverability of the sailboat, and the sailboat should be steered before reaching the arc at a distance of about hull length [3]. For this sailboat, the radius of gyration was determined as 8.5 m after sailing trials on the lake.

Fig. 5
figure 5

Sailboat course-changing

Table 3 Fuzzy set of the variables
Fig. 6
figure 6

The membership function of error

Fig. 7
figure 7

The membership function of yaw rate

The rules for sail automatic control are as follows:

  • Sailing against the wind (apparent wind angle: 0\(^{\circ }\) \(\sim \) \(\pm \)30\(^{\circ }\)), tighten the sail to 0\(^{\circ }\).

  • Sailing down the wind (apparent wind angle: \(\pm \) 160\(^{\circ }\) \(\sim \) \(\pm \)180\(^{\circ }\)), release the sail to 80\(^{\circ }\).

  • Beam wind sailing (apparent wind angle: \(\pm \)30\(^{\circ }\) \(\sim \) \(\pm \)160\(^{\circ }\)), set the sail angle by linear interpolation.

  • Increase the sail angle 15\(^{\circ }\) more when the heeling angle exceeds 30\(^{\circ }\)

Here the maximum sail angle of our sailboat could only reach 80\(^{\circ }\) as a result of the winch restriction.

The automatic rudder control is based on fuzzy logic Mamdani algorithm [7]. There are three input variables including the heading angle error (e) between current velocity vector and path direction, the vertical distance (d) between current position and specified course, and finally the current yaw rate (y). The output variable is rudder angle instruction.

The fuzzy logic controller involves three procedures: fuzzification, fuzzy logic inference, and defuzzification. As shown in Table 3, each variable is assigned to a linguistically described fuzzy set, which are labeled as: Negative Big (NB), Negative Medium (NM), Negative Small (NS), Zero (ZE), Positive Small (PS), Positive Medium (PM), and Positive Big (PB). The membership functions of each variable are defined in Figs. 6, 7, 8 and 9. The general steering rules are systemized into 245 pieces of fuzzy control rules [6, 8] listed in Tables 4, 5, 6, 7 and 8. The fuzzy logic rules are established according to navigation regulation and the symmetry of rule table. In addition, the integral control item was also added to solve the steady-state error. Physically, it gives the neutral rudder angle for balance.

Fig. 8
figure 8

The membership function of distance

Fig. 9
figure 9

The membership dunction of rudder

Table 4 The rules when distance is ZE
Table 5 The rules when distance is NB
Table 6 The rules when distance is NM
Table 7 The rules when distance is PB
Table 8 The rules when distance is PM

2.3 Integration of Track Following Controller

The track following controller involving three independent modules was developed and integrated in Simulink. The general architecture is shown in Fig. 10. The input data of the integrated controller are discrete coordinates of the specified path, apparent wind angle, current sail angle, heading angle, heeling angle, current position, and velocity direction. The output data include rudder angle and sail angle instructions. Those program modules are compiled into Dynamic Link Library (DLL) and executed on the platform of NI Veristand in onshore computer. The output real-time rudder angle and sail angle instructions are transferred to the onboard computer to achieve the synchronous control.

Fig. 10
figure 10

Architecture of the integrated tack following controller

Fig. 11
figure 11

Test results along rectangular path

3 Track Following Test Results

The track following test was conducted on the campus lake with the wind speed in the range of 0 \(\sim \) 4 m/s. The test results along the rectangular and trapezoid paths are plotted in Figs. 11 and 12 respectively. The eight time-history curves represent the sailing path, rudder angle, sail angle, position distance, heading angle error, yaw rate, heeling angle, and boat speed data in sequence.

Fig. 12
figure 12

Test results along trapezoid path

4 Conclusions

The autonomous sailing tests on the lake demonstrate the effectiveness of the proposed track following controller in various wind conditions. Comparing with conventional control design, the fuzzy logic controller only needs to describe linguistically how output variables change with input variables without building the non-linear, time-variant dynamic model of the physical system. Thus, the fuzzy logic controller reduces the system complexity and has potential for universal application to different kinds of sailing boats in long-range autonomous sailing.

However, there are still some deficiencies in this controller. Some modules such as real-time data filtering are very important for the controller. Especially, the anemoscope installed on the sail top was affected seriously by the hull rolling, thus the apparent wind angle could not be precisely acquired. That is the major reason for the abrupt changes of rudder angle and sail angle and should be solved urgently in the further research.

Since the changes in sail angle must result in the course change, the coupling between sail and rudder needs to be considered for joint control.