# Design of Sail-Assisted Unmanned Surface Vehicle Intelligent Control System

Authors: Yong Ma; Yujiao Zhao; Jiantao Diao; Langxiong Gan; Huaxiong Bi; Jingming Zhao
Journal: Mathematical Problems in Engineering
 (2016)

---

## Abstract

To achieve the wind sail-assisted function of the unmanned surface vehicle (USV), this work focuses on the design problems of the sail-assisted USV intelligent control systems (SUICS) and illustrates the implementation process of the SUICS. The SUICS consists of the communication system, the sensor system, the PC platform, and the lower machine platform. To make full use of the wind energy, in the SUICS, we propose the sail angle of attack automatic adjustment (Sail_4A) algorithm and present the realization flow for each subsystem of the SUICS. By using the test boat, the design and implementation of the SUICS are fulfilled systematically. Experiments verify the performance and effectiveness of our SUICS. The SUICS enhances the intelligent utility of sustainable wind energy for the sail-assisted USV significantly and plays a vital role in shipping energy-saving emission reduction requirements issued by International Maritime Organization (IMO).


---

## Body

## 1. Introduction

Featured by large-scale reserves, wide distribution, and little pollution, as one of the popular sustainable energy [1–3], wind energy has been extensively used in the shipping industry. By using the wind energy, numerous studies paid attention to the vessels equipped with the sail. Generally, the present studies mainly emphasize on the aerodynamic performance [4, 5] and navigation strategy [6–8] for the sailboat and the sail-assisted vessels. Little attention has stressed the sail-assisted control system for the vessels. Restricted to the petrochemical energy crisis and environmental pollution, International Maritime Organization (IMO) has put forward quite strict requirements for shipping energy conservation and emission reduction. Wind energy would do great deeds for the sail-assisted vessels by way of the effective solutions. It is sane to ascertain that, with the effective control system, the wind energy utilization of the sail-assisted vessel can be achieved with ease.Meanwhile, the unmanned surface vehicle (USV) has been adopted in the short-range maritime activities including the military and the civil domains. The USV would bring the positive impact on the shipping industry by virtue of its autonomy and flexibility. However, owing to the limited storage space and load capacity, the USV could not facility the large-scale engine or the battery apparatuses that inhibit the navigation time and distance of the USV dramatically. Following that, if the USV is equipped with the sail, then the energy consumption can be lowered down considerably and the navigation distance can be extended naturally. Consequently, the sail-assisted USV intelligent control systems (SUICS) is proposed to exploit sustainable wind energy.Our SUICS consists of the design and the implementation phases. During the SUICS design phase, the modules including the communication system, the sensor system, the PC platform, and the lower machine platform are detailed sequentially. Within the implementation phase, by using the test boat, the implement flows related to the communication system, the sensor system, and the drive system are expounded, and then each module is integrated into our SUICS.Generous types of sails have been applied in the sail-assisted vessels. From the perspective of appearance, the sails can be classified into the jib and square sails [5]. And the rectangular sail, the broad top sail, and parallel quadrilateral sail all belong to the square sail. When it comes to the material, the sail can be grouped into the soft sail and hard sail [9]. In terms of the cross-sectional shape, the sail can be divided into the wing sail, the laminar flow sail, the lie back sail, and the circular arc sail. Based on numerous tunnel experiment analyses, it is demonstrated that the circular arc sail is superior to other sails in aspects of the best aerodynamic performance, the simpler operation, and production process [10].Wind power is one environmentally friendly energy that can be used a substitute for the drying up fossil fuel [4]. Generous researches have investigated the sail-assisted navigation techniques, including the behavior of yacht soft sails [11], fluid-structure interaction issues [12], and unsteady aerodynamic phenomena [13]. In [14], a kite modelling approach into 6 degrees of freedom sailboat dynamic simulator was fulfilled; following that the performances between the kite and classical rig sailing can be evaluated. From the perspective of dynamic simulation, [14] stressed kite propulsion performance from upwind and downwind with one designed keel boat. Most of the current studies [11–14] concentrated on the soft sail structures of yachts. To promote the wind energy usage, taking into account the shipping industry requirements, it is vital to develop the hard sail-assisted vessels. Thereupon, the circular arc hard sail is adopted to carry out the SUICS studies.With the aid of the SUICS, the accurate data related to the wind can be displayed, collected, and processed for the usage of the vessel decision making in real time, and then by using the sail automatic control system the correct actions could be instructed promptly. The SUICS aims at using the wind energy scientifically and intelligently and offering the potential solution to cut down the energy expenditure of the shipping industry. By using the SUICS, the navigation distance of the USV can be extended benefits from the effective use of wind energy. No doubt that, with the embedded SUICS, the energy consumption of the vessels with the assisted sail can be reduced [15].The contributions of this work are as follows: (1) Design and implement the SUICS to fulfill the effective usage of the sustainable wind energy for the sail-assisted USV; (2) to intelligently control the sail angle of the attack, we propose the automatic adjustment algorithm for the sail automatic control system of the SUICS; (3) to fulfill the human-machine interface friendly, we design the PC platform software for the SUICS; and (4) our designed data frame format is characterized by the quite low transmission error rate and fit for the compact control system and is useful to the communication module of the remote control system.This paper is organized as follows. Section2 demonstrates the module design work of the SUICS, including the communication system, the sensor system, the sail automatic control system, the PC platform, and the low machine platform. Then, Section 3 elaborates the implement processes of the SUICS. In Section 4, experiments verify the effectiveness of the SUCIS. Finally, Section 5 concludes this paper.


## 2. Design of the Sail-Assisted USV Intelligent Control Systems

The communication system, the sensor system, the PC platform, and the lower machine platform compose the SUICS. Figure1 shows the logic diagram of the SUICS. The sensor system gathers the real time data, including the wind direction and speed, and the environment data; then by way of the serial port communication, the data are transferred to the Single Chip Microcomputer (SCM); following that the SCM adjusts the sail angle of attack automatically by using the data with the proposed sail angle of attack automatic adjustment algorithm. Simultaneously, the data are sent to the PC platform through the communication system; the PC platform would echo data to the user. By using the human-machine interface, the user could operate the sail through commands directly, the commands are encapsulated in a frame, then the frame will be sent to the lower machine platform, and the lower machine platform parses the frame and executes corresponding actions.Figure 1
Logic diagram of the SUICS.By using the SUICS, the sail angle of attack can be adjusted adaptively; then the sustainable wind energy can be exploited to the maximum. With the aid of the SUICS, the activity domain and time of the sail-assisted USV can be strengthened benefiting from the energy offered by the sustainable wind. Figure2 depicts the system structure diagram of the SUICS; the embedded programming method is introduced to attain the digital precise control of the sail-assisted USV. The design details of the communication system, the sensor system, the PC platform, and the lower machine platform are sequentially illustrated as shown in Figure 2.Figure 2
System structure diagram of the SUICS.Excellent works have paid attention to the system architectures from floating point to fixed point [16–19], including analysis of mean-square-error for fixed point FFT units [16], efficient implementation of a spectrum analyzer for fixed point architectures [17], quantization analysis and enhancement of a VLSI gradient-based motion estimation architecture [18], and presentation of robust bioinspired architecture for optical flow computation [19]. When comes to our SUICS, as shown in Figure 2, the range of wind speed sensor is from 0.4 m/s to 45.0 m/s with 0.1 m/s resolution, the resolution of wind direction sensor is 1°, the data acquisition cycle is 3 s, the communication model transfer rate is 150 Mbps, and the communication distance is 120 m.


### 2.1. Communication System

Within the communication system, the network formation and the data frame based on the TCP/IP protocol are stressed.


#### 2.1.1. Communication Network Formation

Generally, with a wireless network card and an AP set, the wireless network can be established as one router. After the PC platform connects to above Wi-Fi module, the PC can interact with the low machine platform placed on the USV in real time [20]. In the communication protocol, the communication module services for the control system, and they belong to data link layer and the application layer, respectively. With respect to the control system, the communication module is transparent and independent; those identities contribute to the convenience to the data process and the maintenance of the platforms [21].


#### 2.1.2. Data Frame Based on TCP/IP Protocol

Our communication system complies with the TCP/IP protocol [22]. As presented in Table 1, we propose one compacted streamlined data frame format for the small-scale control system. The shorter the length of the data frame format, the faster the data transmission speed. By using our data frame format, the system response speed can be improved and the data conflict can be reduced. When it comes to the data frame solution, the procedure would take the first judgment of the value of the first two bits of the data frame and then process the data of the small-scale control system with one effective data frame solution.Table 1
Data frame format.
Frame head Subsystem number Equipment number Command/data Tail frame


### 2.2. Data Processing for the Sensor System

During the navigation process, to make sound decisions, the sail-assisted USV should acquire the data related to the wind energy and the environment around itself in real time. By using the wind speed sensor and the wind direction sensor, the raw data are obtained [23]. The wind speed equals 1/71 of its initial frequency signal, and the wind direction data also can be reached after being processed by digital filter. Then, the processed data are delivered to the sail controller placed on the lower machine platform simultaneously. With above data, the sail controller could execute certain actions on the sail and send the data to the PC platform for display.Owing to the limited space and load capacity of the USV, to detect the environment, including the obstacles around the USV, the radar is not a viable option definitely. Therefore, the portable ultrasonic ranging sensor is adopted to overcome above limitation. We place three ultrasonic ranging sensors in the bow, the port side, and the starboard side successively. Furthermore, to expand the detection width, under each sensor, we install the microservos to steer the sensors spin. Consequently, the detection ability of the ultrasonic ranging sensor is strengthened, and the collected data are fed back to the upper machine platform for decision making.


### 2.3. Design of the PC Platform Software

The sail-assisted USV has combined the semiautonomous model and the remote control model. Thus, the human-machine interface [24] plays a great role between the PC operator and the subsystems embedded in the lower machine platform. By using the human-machine interface, the operator could acquire the dynamic information around the sail-assisted USV and execute commands on certain equipment with ease. Consequently, the PC platform should satisfy the criteria, including the friendly human-machine interface; the multifunctional applications contribute to access to the dynamic information related to the sail-assisted USV. Taken above criteria into account, within the design process, the QT platform [25] is applied to build the PC platform, and the TCP/IP protocol [26] is adopted to guarantee the quality and reliability of the communication.


### 2.4. Design of the Lower Machine Platform

#### 2.4.1. Brief Introduction of the Lower Machine Platform

The lower machine platform mainly consists of the sail automatic control system and the drive system and executes the information related to the control of the sail and the motion of the USV; it is the core part of the SUICS on account of the safety and performance of the sail-assisted USV. The distributed processing technology is used to integrate multiple 51 Single Chip Micyoco (SCM) that each SCM dedicates to one special function and actualize the parallel process ability of the systems embedded in the lower machine platform [27]. Following that, the information process speed and accuracy of the lower machine platform can be enhanced, benefiting from the adopted design technologies. Figure 3 shows the pin of the SCM.Figure 3
The pin of the SCM.In Figure3, P0 port is a set of eight-bit open drain bidirectional I/O port, and it is an address/data bus multiplexer port. P1 port is an eight-bit I/O port with internal pullups. During flash programming and program verification, P1 receives a low eight-bit address, while P2 receives a high-bit address and other control data. P3 port is an eight-bit I/O port with internal pullups. In addition to as a general I/O port, P3.0(RXD) is a serial port to input, P3.1(TXD) is a serial port to output, P3.2(INT0) is the external interrupt zero port, P3.3(INT1) is the external interrupt one port, P3.4(T0) is timer/counter zero, P3.5(T1) is timer/counter one, P3.6(WR) is the external data memory write strobe line, and P3.7(RD) is the external data memory read strobe line.Design of the sail automatic control system is stressed in the lower machine platform. To design the high-quality sail automatic control system, it is necessary to achieve the optimum sail angle of attack and then by using the effective algorithm to fulfill the automatic adjustment for the sail angle of attack. Following that, we illustrate the procedure of how to obtain the optimum sail angle of attack and our proposed sail angle of attack automatic adjustment algorithm.


#### 2.4.2. Procedure to Obtain the Optimum Angle of Attack

Figure4 shows the force analysis of the sail. Suppose VS, VT, θ, γ, VA, β, α, and ψ represent the speed of the UVS, actual wind speed, the actual wind direction angle between VS and VT, the drift angle between VS and the longitudinal axis of the USV, relative wind speed, relative wind direction angle between VA and VS, the sail angle of attack, and the turning angle of the sail between the longitudinal axis of the USV and the sailing string, respectively.Figure 4
Force analysis of the sail.When the wind is acting on the sails, the sail will generate a lift force perpendicular to the relative wind speedFL and a resistance along the relative wind speed FD [28, 29]. FT denotes the thrust parallel to the course of the vessel generated by the sail, and FH denotes the transverse force perpendicular to the direction of the USV. Then, according to the geometrical relationship, FT and FH can be(1)FT=FLsin⁡β-FDcos⁡βFH=FLcos⁡β+FDsin⁡β.After nondimensional process,(2)CX=CLsin⁡β-CDcos⁡βCY=CLcos⁡β+CDsin⁡β.The lift coefficient, drag coefficient, thrust coefficient, and cornering ratio are sequentially symbolized asCL, CD, CX, and CY. Suppose ρ, V, S, ν, λ, and αopt stand for air density, wind speed, sail projected area, camber ratio of sail, ratio of sail, and the optimum angle of attack in sequence. According to the relationship between the drag coefficient and lift coefficient with the angle of attack, aspect ratio, and camber ratio, the following functions can be reached:(3)CL=fα,λ,νCD=gα,λ,νCL=FL1/2ρV2SCD=FD1/2ρV2SCX=FT1/2ρV2SCY=FD1/2ρV2S.To make full use of sustainable wind energy, it is essential to obtain the maximum thrust coefficientCX and the optimum sail angle of attack αopt. With the current wind direction and course of the USV, the optimum turning angle ψ can be calculated accordingly. Based on the reached optimum sail angle of attack, the sail automatic control system would adjust the angle of attack in a reasonable manner. Consequently, to reveal the relationship between CX and ψ and then reach αopt and ψ, Figure 5 manifests the aerodynamic characteristic of the sail in form of curve. In Figure 5, suppose the course of the USV passes through the origin of coordinate, and the direction of the relative wind speed VA coincides with the abscissa of the curve. When the value of the relative wind angle β is fixed, CX can be reached by projecting one certain point A into the course of the USV. (4)CX=CLsin⁡β-CDcos⁡β=fα,λ,νsin⁡β-gα,λ,νcos⁡β.Figure 5
Aerodynamic characteristic of the sail in form of curve.Thus, the pointA can be treated as αopt corresponding to β. The optimum sail angle of attack αopt can be reached as follows:(5)∂f∂αsin⁡β-∂g∂αcos⁡β=0.Consequently, as shown in Figure5, 180-(β+ψ)=90-α; then the optimum turning angle can be(6)ψopt=90-β+αopt.


#### 2.4.3. The Sail Angle of Attack Automatic Adjustment Algorithm

To design high-quality sail automatic control system, we propose one novel algorithm named the sail angle of attack automatic adjustment (Sail_4A). Within the Sail_4A algorithm, the raw data collected by the sensor system are processed via the bubble method [30, 31], and then the reliable data are chosen to represent the angle of the actual wind direction; then the optimum sail angle of attack is reached by using the procedure stated in Section 2.4.2; following that, compared with the current sail angle of attack, the sail automatic control system would adjust the sail with the amount of the corresponding optimum sail turning angle. Generally, sail-assisted facility can be used under certain conditional environment. In other words, the wind scale should live up to one certain range; then sail can be in effect accordingly. If the wind scale is small, then the sail-assisted USV cannot fulfill its energy-saving function. In the same way, if the wind scale exceeds the endurance of the sail-assisted USV, then to ensure the navigation safety it is better to suspend the sail-assisted function in time. Consequently, to consolidate the robustness of our algorithm, we have limited the ranges of some parameters correspondingly. Suppose the threshold of wind speed ranges from V_wind_min to V_wind_max; if the collected wind speed V is out of the above range, then the Sail_4A algorithm is terminated automatically.The pseudocode of the Sail_4A algorithm is summarized in Algorithm1.Algorithm 1 (Sail_4A).
Input: θsail—the current absolute angle of sail.CUSV—the heading angle of the USV.α—the sail angle of attack.Dirwind—the current wind direction.
Parameters: N—the number of wind direction data.V_wind—collected wind speed.Dataset—collection of 20 sets of data.datai—the ith wind direction data, i=1,2,3,4.avgval—the average value of four sets of data.β—the relative wind direction angle between VA and VS.αopt—the optimal sail angle of attack.ψopt—the optimal turning angle.Δangle—the allowed turning angle error.(1) DataDeal(θsail, CUSV, α, Dirwind)(2) /∗Perform the following operations for each DataDeal∗/(3) /∗Initialize datai by performing Sort()∗/(4)N=N+1(5)ifN==20(6)  Sort(Dataset)(7)ifV_wind<V_wind_min or V_wind>V_wind_max(8)   thenreturn; % Terminate the Sail_4A algorithm(9)end(10) /Calculate∗ the optimal angle of attack∗/(11)avgval=sum(datai)/4(12)αopt calculated by equation (5).(13)β=avgval-αopt(14)ψopt=90-β+αopt(15) /∗ Adjust the angle of attack ∗/(16)whileα-αopt>Δangledo(17)α=α-Δangle(18)end while(19)whileα-αopt<-Δangledo(20)α=α+Δangle(21)end while(22)end ifAs shown in the Sail_4A algorithm, if the wind scale is not fit for the sail-assisted application, then the algorithm is suspended. The data sizeN can be adjusted according to the requirements of the SUICS. Referring to the number of wind direction data N, after several times of sail-assisted USV trials, we find that N=20 is enough for the experiments.Generally, the ranges of the parameters related to the sail-assisted algorithm Sail_4A are determined by wind tunnel test. According to wind tunnel test reported in [4], the usable range of the sail attack angle α is between −5° and 90°. θsail, CUSV, Dirwind, V_wind, and α are measured by our sensor systems. After a certain number of data collections, Dataset is reached. Consequently, datai, avgval, and β can be obtained by way of computing. αopt and ψopt are reached by the embedded functions of several commercial software programs including Matlab and Lingo.By using the collected data, with the aid of our algorithm, when the optimum sail angle of attackαopt is reached, the optimal turn angle can be realized within the acceptable error Δangle. Referring to the complexity of our algorithm, the increased calculation time mainly generated from three parts. The first part is generated from the time used for processing the collected data based on the bubble method with complexity of N×N (N is the data size). The second part is the time to compute the optimum sail angle of attack αopt. The third part is the time to adjust the sail angle of attack. As the optimum sail angle of attack αopt can be obtained through certain embedded functions in several commercial software programs, such as Matlab and Lingo, then the value of αopt can be achieved by using their embedded functions instantaneously. When it comes to the adjustment time, it is related to the mechanical behavior of the equipment; it takes little time to realize the optimum sail angle of attack in essence. Consequently, it can be obtained that the computational time complexity is equal to O(N×N).


## 2.1. Communication System

Within the communication system, the network formation and the data frame based on the TCP/IP protocol are stressed.


### 2.1.1. Communication Network Formation

Generally, with a wireless network card and an AP set, the wireless network can be established as one router. After the PC platform connects to above Wi-Fi module, the PC can interact with the low machine platform placed on the USV in real time [20]. In the communication protocol, the communication module services for the control system, and they belong to data link layer and the application layer, respectively. With respect to the control system, the communication module is transparent and independent; those identities contribute to the convenience to the data process and the maintenance of the platforms [21].


### 2.1.2. Data Frame Based on TCP/IP Protocol

Our communication system complies with the TCP/IP protocol [22]. As presented in Table 1, we propose one compacted streamlined data frame format for the small-scale control system. The shorter the length of the data frame format, the faster the data transmission speed. By using our data frame format, the system response speed can be improved and the data conflict can be reduced. When it comes to the data frame solution, the procedure would take the first judgment of the value of the first two bits of the data frame and then process the data of the small-scale control system with one effective data frame solution.Table 1
Data frame format.
Frame head Subsystem number Equipment number Command/data Tail frame


## 2.1.1. Communication Network Formation

Generally, with a wireless network card and an AP set, the wireless network can be established as one router. After the PC platform connects to above Wi-Fi module, the PC can interact with the low machine platform placed on the USV in real time [20]. In the communication protocol, the communication module services for the control system, and they belong to data link layer and the application layer, respectively. With respect to the control system, the communication module is transparent and independent; those identities contribute to the convenience to the data process and the maintenance of the platforms [21].


## 2.1.2. Data Frame Based on TCP/IP Protocol

Our communication system complies with the TCP/IP protocol [22]. As presented in Table 1, we propose one compacted streamlined data frame format for the small-scale control system. The shorter the length of the data frame format, the faster the data transmission speed. By using our data frame format, the system response speed can be improved and the data conflict can be reduced. When it comes to the data frame solution, the procedure would take the first judgment of the value of the first two bits of the data frame and then process the data of the small-scale control system with one effective data frame solution.Table 1
Data frame format.
Frame head Subsystem number Equipment number Command/data Tail frame


## 2.2. Data Processing for the Sensor System

During the navigation process, to make sound decisions, the sail-assisted USV should acquire the data related to the wind energy and the environment around itself in real time. By using the wind speed sensor and the wind direction sensor, the raw data are obtained [23]. The wind speed equals 1/71 of its initial frequency signal, and the wind direction data also can be reached after being processed by digital filter. Then, the processed data are delivered to the sail controller placed on the lower machine platform simultaneously. With above data, the sail controller could execute certain actions on the sail and send the data to the PC platform for display.Owing to the limited space and load capacity of the USV, to detect the environment, including the obstacles around the USV, the radar is not a viable option definitely. Therefore, the portable ultrasonic ranging sensor is adopted to overcome above limitation. We place three ultrasonic ranging sensors in the bow, the port side, and the starboard side successively. Furthermore, to expand the detection width, under each sensor, we install the microservos to steer the sensors spin. Consequently, the detection ability of the ultrasonic ranging sensor is strengthened, and the collected data are fed back to the upper machine platform for decision making.


## 2.3. Design of the PC Platform Software

The sail-assisted USV has combined the semiautonomous model and the remote control model. Thus, the human-machine interface [24] plays a great role between the PC operator and the subsystems embedded in the lower machine platform. By using the human-machine interface, the operator could acquire the dynamic information around the sail-assisted USV and execute commands on certain equipment with ease. Consequently, the PC platform should satisfy the criteria, including the friendly human-machine interface; the multifunctional applications contribute to access to the dynamic information related to the sail-assisted USV. Taken above criteria into account, within the design process, the QT platform [25] is applied to build the PC platform, and the TCP/IP protocol [26] is adopted to guarantee the quality and reliability of the communication.


## 2.4. Design of the Lower Machine Platform

### 2.4.1. Brief Introduction of the Lower Machine Platform

The lower machine platform mainly consists of the sail automatic control system and the drive system and executes the information related to the control of the sail and the motion of the USV; it is the core part of the SUICS on account of the safety and performance of the sail-assisted USV. The distributed processing technology is used to integrate multiple 51 Single Chip Micyoco (SCM) that each SCM dedicates to one special function and actualize the parallel process ability of the systems embedded in the lower machine platform [27]. Following that, the information process speed and accuracy of the lower machine platform can be enhanced, benefiting from the adopted design technologies. Figure 3 shows the pin of the SCM.Figure 3
The pin of the SCM.In Figure3, P0 port is a set of eight-bit open drain bidirectional I/O port, and it is an address/data bus multiplexer port. P1 port is an eight-bit I/O port with internal pullups. During flash programming and program verification, P1 receives a low eight-bit address, while P2 receives a high-bit address and other control data. P3 port is an eight-bit I/O port with internal pullups. In addition to as a general I/O port, P3.0(RXD) is a serial port to input, P3.1(TXD) is a serial port to output, P3.2(INT0) is the external interrupt zero port, P3.3(INT1) is the external interrupt one port, P3.4(T0) is timer/counter zero, P3.5(T1) is timer/counter one, P3.6(WR) is the external data memory write strobe line, and P3.7(RD) is the external data memory read strobe line.Design of the sail automatic control system is stressed in the lower machine platform. To design the high-quality sail automatic control system, it is necessary to achieve the optimum sail angle of attack and then by using the effective algorithm to fulfill the automatic adjustment for the sail angle of attack. Following that, we illustrate the procedure of how to obtain the optimum sail angle of attack and our proposed sail angle of attack automatic adjustment algorithm.


### 2.4.2. Procedure to Obtain the Optimum Angle of Attack

Figure4 shows the force analysis of the sail. Suppose VS, VT, θ, γ, VA, β, α, and ψ represent the speed of the UVS, actual wind speed, the actual wind direction angle between VS and VT, the drift angle between VS and the longitudinal axis of the USV, relative wind speed, relative wind direction angle between VA and VS, the sail angle of attack, and the turning angle of the sail between the longitudinal axis of the USV and the sailing string, respectively.Figure 4
Force analysis of the sail.When the wind is acting on the sails, the sail will generate a lift force perpendicular to the relative wind speedFL and a resistance along the relative wind speed FD [28, 29]. FT denotes the thrust parallel to the course of the vessel generated by the sail, and FH denotes the transverse force perpendicular to the direction of the USV. Then, according to the geometrical relationship, FT and FH can be(1)FT=FLsin⁡β-FDcos⁡βFH=FLcos⁡β+FDsin⁡β.After nondimensional process,(2)CX=CLsin⁡β-CDcos⁡βCY=CLcos⁡β+CDsin⁡β.The lift coefficient, drag coefficient, thrust coefficient, and cornering ratio are sequentially symbolized asCL, CD, CX, and CY. Suppose ρ, V, S, ν, λ, and αopt stand for air density, wind speed, sail projected area, camber ratio of sail, ratio of sail, and the optimum angle of attack in sequence. According to the relationship between the drag coefficient and lift coefficient with the angle of attack, aspect ratio, and camber ratio, the following functions can be reached:(3)CL=fα,λ,νCD=gα,λ,νCL=FL1/2ρV2SCD=FD1/2ρV2SCX=FT1/2ρV2SCY=FD1/2ρV2S.To make full use of sustainable wind energy, it is essential to obtain the maximum thrust coefficientCX and the optimum sail angle of attack αopt. With the current wind direction and course of the USV, the optimum turning angle ψ can be calculated accordingly. Based on the reached optimum sail angle of attack, the sail automatic control system would adjust the angle of attack in a reasonable manner. Consequently, to reveal the relationship between CX and ψ and then reach αopt and ψ, Figure 5 manifests the aerodynamic characteristic of the sail in form of curve. In Figure 5, suppose the course of the USV passes through the origin of coordinate, and the direction of the relative wind speed VA coincides with the abscissa of the curve. When the value of the relative wind angle β is fixed, CX can be reached by projecting one certain point A into the course of the USV. (4)CX=CLsin⁡β-CDcos⁡β=fα,λ,νsin⁡β-gα,λ,νcos⁡β.Figure 5
Aerodynamic characteristic of the sail in form of curve.Thus, the pointA can be treated as αopt corresponding to β. The optimum sail angle of attack αopt can be reached as follows:(5)∂f∂αsin⁡β-∂g∂αcos⁡β=0.Consequently, as shown in Figure5, 180-(β+ψ)=90-α; then the optimum turning angle can be(6)ψopt=90-β+αopt.


### 2.4.3. The Sail Angle of Attack Automatic Adjustment Algorithm

To design high-quality sail automatic control system, we propose one novel algorithm named the sail angle of attack automatic adjustment (Sail_4A). Within the Sail_4A algorithm, the raw data collected by the sensor system are processed via the bubble method [30, 31], and then the reliable data are chosen to represent the angle of the actual wind direction; then the optimum sail angle of attack is reached by using the procedure stated in Section 2.4.2; following that, compared with the current sail angle of attack, the sail automatic control system would adjust the sail with the amount of the corresponding optimum sail turning angle. Generally, sail-assisted facility can be used under certain conditional environment. In other words, the wind scale should live up to one certain range; then sail can be in effect accordingly. If the wind scale is small, then the sail-assisted USV cannot fulfill its energy-saving function. In the same way, if the wind scale exceeds the endurance of the sail-assisted USV, then to ensure the navigation safety it is better to suspend the sail-assisted function in time. Consequently, to consolidate the robustness of our algorithm, we have limited the ranges of some parameters correspondingly. Suppose the threshold of wind speed ranges from V_wind_min to V_wind_max; if the collected wind speed V is out of the above range, then the Sail_4A algorithm is terminated automatically.The pseudocode of the Sail_4A algorithm is summarized in Algorithm1.Algorithm 1 (Sail_4A).
Input: θsail—the current absolute angle of sail.CUSV—the heading angle of the USV.α—the sail angle of attack.Dirwind—the current wind direction.
Parameters: N—the number of wind direction data.V_wind—collected wind speed.Dataset—collection of 20 sets of data.datai—the ith wind direction data, i=1,2,3,4.avgval—the average value of four sets of data.β—the relative wind direction angle between VA and VS.αopt—the optimal sail angle of attack.ψopt—the optimal turning angle.Δangle—the allowed turning angle error.(1) DataDeal(θsail, CUSV, α, Dirwind)(2) /∗Perform the following operations for each DataDeal∗/(3) /∗Initialize datai by performing Sort()∗/(4)N=N+1(5)ifN==20(6)  Sort(Dataset)(7)ifV_wind<V_wind_min or V_wind>V_wind_max(8)   thenreturn; % Terminate the Sail_4A algorithm(9)end(10) /Calculate∗ the optimal angle of attack∗/(11)avgval=sum(datai)/4(12)αopt calculated by equation (5).(13)β=avgval-αopt(14)ψopt=90-β+αopt(15) /∗ Adjust the angle of attack ∗/(16)whileα-αopt>Δangledo(17)α=α-Δangle(18)end while(19)whileα-αopt<-Δangledo(20)α=α+Δangle(21)end while(22)end ifAs shown in the Sail_4A algorithm, if the wind scale is not fit for the sail-assisted application, then the algorithm is suspended. The data sizeN can be adjusted according to the requirements of the SUICS. Referring to the number of wind direction data N, after several times of sail-assisted USV trials, we find that N=20 is enough for the experiments.Generally, the ranges of the parameters related to the sail-assisted algorithm Sail_4A are determined by wind tunnel test. According to wind tunnel test reported in [4], the usable range of the sail attack angle α is between −5° and 90°. θsail, CUSV, Dirwind, V_wind, and α are measured by our sensor systems. After a certain number of data collections, Dataset is reached. Consequently, datai, avgval, and β can be obtained by way of computing. αopt and ψopt are reached by the embedded functions of several commercial software programs including Matlab and Lingo.By using the collected data, with the aid of our algorithm, when the optimum sail angle of attackαopt is reached, the optimal turn angle can be realized within the acceptable error Δangle. Referring to the complexity of our algorithm, the increased calculation time mainly generated from three parts. The first part is generated from the time used for processing the collected data based on the bubble method with complexity of N×N (N is the data size). The second part is the time to compute the optimum sail angle of attack αopt. The third part is the time to adjust the sail angle of attack. As the optimum sail angle of attack αopt can be obtained through certain embedded functions in several commercial software programs, such as Matlab and Lingo, then the value of αopt can be achieved by using their embedded functions instantaneously. When it comes to the adjustment time, it is related to the mechanical behavior of the equipment; it takes little time to realize the optimum sail angle of attack in essence. Consequently, it can be obtained that the computational time complexity is equal to O(N×N).


## 2.4.1. Brief Introduction of the Lower Machine Platform

The lower machine platform mainly consists of the sail automatic control system and the drive system and executes the information related to the control of the sail and the motion of the USV; it is the core part of the SUICS on account of the safety and performance of the sail-assisted USV. The distributed processing technology is used to integrate multiple 51 Single Chip Micyoco (SCM) that each SCM dedicates to one special function and actualize the parallel process ability of the systems embedded in the lower machine platform [27]. Following that, the information process speed and accuracy of the lower machine platform can be enhanced, benefiting from the adopted design technologies. Figure 3 shows the pin of the SCM.Figure 3
The pin of the SCM.In Figure3, P0 port is a set of eight-bit open drain bidirectional I/O port, and it is an address/data bus multiplexer port. P1 port is an eight-bit I/O port with internal pullups. During flash programming and program verification, P1 receives a low eight-bit address, while P2 receives a high-bit address and other control data. P3 port is an eight-bit I/O port with internal pullups. In addition to as a general I/O port, P3.0(RXD) is a serial port to input, P3.1(TXD) is a serial port to output, P3.2(INT0) is the external interrupt zero port, P3.3(INT1) is the external interrupt one port, P3.4(T0) is timer/counter zero, P3.5(T1) is timer/counter one, P3.6(WR) is the external data memory write strobe line, and P3.7(RD) is the external data memory read strobe line.Design of the sail automatic control system is stressed in the lower machine platform. To design the high-quality sail automatic control system, it is necessary to achieve the optimum sail angle of attack and then by using the effective algorithm to fulfill the automatic adjustment for the sail angle of attack. Following that, we illustrate the procedure of how to obtain the optimum sail angle of attack and our proposed sail angle of attack automatic adjustment algorithm.


## 2.4.2. Procedure to Obtain the Optimum Angle of Attack

Figure4 shows the force analysis of the sail. Suppose VS, VT, θ, γ, VA, β, α, and ψ represent the speed of the UVS, actual wind speed, the actual wind direction angle between VS and VT, the drift angle between VS and the longitudinal axis of the USV, relative wind speed, relative wind direction angle between VA and VS, the sail angle of attack, and the turning angle of the sail between the longitudinal axis of the USV and the sailing string, respectively.Figure 4
Force analysis of the sail.When the wind is acting on the sails, the sail will generate a lift force perpendicular to the relative wind speedFL and a resistance along the relative wind speed FD [28, 29]. FT denotes the thrust parallel to the course of the vessel generated by the sail, and FH denotes the transverse force perpendicular to the direction of the USV. Then, according to the geometrical relationship, FT and FH can be(1)FT=FLsin⁡β-FDcos⁡βFH=FLcos⁡β+FDsin⁡β.After nondimensional process,(2)CX=CLsin⁡β-CDcos⁡βCY=CLcos⁡β+CDsin⁡β.The lift coefficient, drag coefficient, thrust coefficient, and cornering ratio are sequentially symbolized asCL, CD, CX, and CY. Suppose ρ, V, S, ν, λ, and αopt stand for air density, wind speed, sail projected area, camber ratio of sail, ratio of sail, and the optimum angle of attack in sequence. According to the relationship between the drag coefficient and lift coefficient with the angle of attack, aspect ratio, and camber ratio, the following functions can be reached:(3)CL=fα,λ,νCD=gα,λ,νCL=FL1/2ρV2SCD=FD1/2ρV2SCX=FT1/2ρV2SCY=FD1/2ρV2S.To make full use of sustainable wind energy, it is essential to obtain the maximum thrust coefficientCX and the optimum sail angle of attack αopt. With the current wind direction and course of the USV, the optimum turning angle ψ can be calculated accordingly. Based on the reached optimum sail angle of attack, the sail automatic control system would adjust the angle of attack in a reasonable manner. Consequently, to reveal the relationship between CX and ψ and then reach αopt and ψ, Figure 5 manifests the aerodynamic characteristic of the sail in form of curve. In Figure 5, suppose the course of the USV passes through the origin of coordinate, and the direction of the relative wind speed VA coincides with the abscissa of the curve. When the value of the relative wind angle β is fixed, CX can be reached by projecting one certain point A into the course of the USV. (4)CX=CLsin⁡β-CDcos⁡β=fα,λ,νsin⁡β-gα,λ,νcos⁡β.Figure 5
Aerodynamic characteristic of the sail in form of curve.Thus, the pointA can be treated as αopt corresponding to β. The optimum sail angle of attack αopt can be reached as follows:(5)∂f∂αsin⁡β-∂g∂αcos⁡β=0.Consequently, as shown in Figure5, 180-(β+ψ)=90-α; then the optimum turning angle can be(6)ψopt=90-β+αopt.


## 2.4.3. The Sail Angle of Attack Automatic Adjustment Algorithm

To design high-quality sail automatic control system, we propose one novel algorithm named the sail angle of attack automatic adjustment (Sail_4A). Within the Sail_4A algorithm, the raw data collected by the sensor system are processed via the bubble method [30, 31], and then the reliable data are chosen to represent the angle of the actual wind direction; then the optimum sail angle of attack is reached by using the procedure stated in Section 2.4.2; following that, compared with the current sail angle of attack, the sail automatic control system would adjust the sail with the amount of the corresponding optimum sail turning angle. Generally, sail-assisted facility can be used under certain conditional environment. In other words, the wind scale should live up to one certain range; then sail can be in effect accordingly. If the wind scale is small, then the sail-assisted USV cannot fulfill its energy-saving function. In the same way, if the wind scale exceeds the endurance of the sail-assisted USV, then to ensure the navigation safety it is better to suspend the sail-assisted function in time. Consequently, to consolidate the robustness of our algorithm, we have limited the ranges of some parameters correspondingly. Suppose the threshold of wind speed ranges from V_wind_min to V_wind_max; if the collected wind speed V is out of the above range, then the Sail_4A algorithm is terminated automatically.The pseudocode of the Sail_4A algorithm is summarized in Algorithm1.Algorithm 1 (Sail_4A).
Input: θsail—the current absolute angle of sail.CUSV—the heading angle of the USV.α—the sail angle of attack.Dirwind—the current wind direction.
Parameters: N—the number of wind direction data.V_wind—collected wind speed.Dataset—collection of 20 sets of data.datai—the ith wind direction data, i=1,2,3,4.avgval—the average value of four sets of data.β—the relative wind direction angle between VA and VS.αopt—the optimal sail angle of attack.ψopt—the optimal turning angle.Δangle—the allowed turning angle error.(1) DataDeal(θsail, CUSV, α, Dirwind)(2) /∗Perform the following operations for each DataDeal∗/(3) /∗Initialize datai by performing Sort()∗/(4)N=N+1(5)ifN==20(6)  Sort(Dataset)(7)ifV_wind<V_wind_min or V_wind>V_wind_max(8)   thenreturn; % Terminate the Sail_4A algorithm(9)end(10) /Calculate∗ the optimal angle of attack∗/(11)avgval=sum(datai)/4(12)αopt calculated by equation (5).(13)β=avgval-αopt(14)ψopt=90-β+αopt(15) /∗ Adjust the angle of attack ∗/(16)whileα-αopt>Δangledo(17)α=α-Δangle(18)end while(19)whileα-αopt<-Δangledo(20)α=α+Δangle(21)end while(22)end ifAs shown in the Sail_4A algorithm, if the wind scale is not fit for the sail-assisted application, then the algorithm is suspended. The data sizeN can be adjusted according to the requirements of the SUICS. Referring to the number of wind direction data N, after several times of sail-assisted USV trials, we find that N=20 is enough for the experiments.Generally, the ranges of the parameters related to the sail-assisted algorithm Sail_4A are determined by wind tunnel test. According to wind tunnel test reported in [4], the usable range of the sail attack angle α is between −5° and 90°. θsail, CUSV, Dirwind, V_wind, and α are measured by our sensor systems. After a certain number of data collections, Dataset is reached. Consequently, datai, avgval, and β can be obtained by way of computing. αopt and ψopt are reached by the embedded functions of several commercial software programs including Matlab and Lingo.By using the collected data, with the aid of our algorithm, when the optimum sail angle of attackαopt is reached, the optimal turn angle can be realized within the acceptable error Δangle. Referring to the complexity of our algorithm, the increased calculation time mainly generated from three parts. The first part is generated from the time used for processing the collected data based on the bubble method with complexity of N×N (N is the data size). The second part is the time to compute the optimum sail angle of attack αopt. The third part is the time to adjust the sail angle of attack. As the optimum sail angle of attack αopt can be obtained through certain embedded functions in several commercial software programs, such as Matlab and Lingo, then the value of αopt can be achieved by using their embedded functions instantaneously. When it comes to the adjustment time, it is related to the mechanical behavior of the equipment; it takes little time to realize the optimum sail angle of attack in essence. Consequently, it can be obtained that the computational time complexity is equal to O(N×N).


## 3. The Implementation Process of the SUICS

### 3.1. Implementation of the Communication System

Generous researchers have stressed the work related to the machine vision by using the microprocessors. Reference [32] implemented a low cost matching motion estimation sensor based on the Nios II microprocessor. By using a custom instruction-based paradigm on a Nios II microprocessor, [33] successfully accelerated the block-matching algorithms. Many sensors have been applied to the industrial fields, [34] fulfilled automated guided vehicle system based on laser guidance, and automatic parking system was introduced in [35] with the aid of bioinspired 1D optical flow sensors.Referring to the SUICS, our communication system adopts the CHD-T5 Wi-Fi video module which is compatible with IEEEE802.11b/g/n standard. Compared with other similar Wi-Fi modules, including the advanced LSD4WF-2MD05107 Wi-Fi module, CHD-T5 Wi-Fi has lots of advantages over other similar Wi-Fi modules. Firstly, our module supports generous functions, including Wi-Fi to video, Wi-Fi to serial port, Wi-Fi to GPIO, and Wi-Fi to I2C. Free drive USB camera can access our module and collect wireless video data. Following that, taking into account that CHD-T5 is compatible with lots of models including AP, STA, and AP & STA, CHD-T5 satisfies with the requirements of a variety of application environments. Based on MIPS24KE, our communication system has the clock speed up to 360 MHz (the wireless rate of the Wi-Fi is 150 Mbps) and 256 Mbit SDRAM. Finally, compared to some other Wi-Fi modules on the market including the popular LSD4WF-2MD05107 Wi-Fi module, the CHD-T5 is smaller and more powerful and has a larger data throughput. It is widely used in image analysis, pipeline endoscopy, intelligent robots, and other fields. By virtue of the excellent hardware performance, our communication system can achieve video image transmission with various formats and resolution, support the free-drive camera with the USB UVC standard, and provide various video performance parameters adjustment interfaces.Figure6 show the schematic diagram of bottom plate of the communication system. Within Figure 6, SYS_LED is the system indicator, it would flash when it is controlled, and it will flash for 3 s when under the boot module. RUN_LED is often bright under AP mode; it is often bright when connected to router under STA mode successfully. RFS_KEY restores the factory settings when it is pressed for 5 s. SNAP_KEY is the camera button, after the trigger photos are sent to all the connections to the client. TXD is the serial port to send; RXD is the serial port to accept.Figure 6
Schematic diagram of bottom plate of the communication system.


### 3.2. Implementation of the Senor System

#### 3.2.1. Implementation of the Wind Sensor System

The wind sensors mounted on our sail-assisted USV belong to the hand-held devices. One default is that the wind direction and speed cannot be transferred in the form of electrical signals receivable by other controllers. Therefore, we have redesigned the wind direction and speed sensors based on the mechanical structure of the instruments. When it comes to the wind direction sensor, as the wind vane senses the wind direction, the rotary potentiometer drives and generates the linear resistance value and obtains corresponding wind direction by using the AD conversion. The wind speed is reached by above similar approach. Figure7 shows the redesigned wind sensor system installed on the stem of our sail-assisted USV.Figure 7
The wind sensor system of the SUICS.


#### 3.2.2. Implementation of the Ultrasonic Sensor System

The ultrasonic module adopts the HC-SR04 module. Its product parameters are presented as follows. Its typical operating voltage is 5 V, ultrasmall static operating current is less than 2 mA, induction angle is no more than 15°, detection range is from 2 cm to 400 cm, and high precision can be up to 0.3 cm and is completely compatible with the GH-311 security module. Figure8 shows the developed ultrasonic sensor system in our SUICS.Figure 8
Ultrasonic distance measuring module.Working principle of the ultrasonic sensor system is illustrated as follows. At first, IO is used to trigger range, while the high level signal at least lasts for 10μs. Then, the system automatically sends 40 KHz square wave 8 times and detects whether there is a signal returned. Once the signal returned, the duration time of the high level signal can be recorded as the time of the ultrasonic wave from launch to return. Consequently, the range can be 1/2 of the above time multiplied by the acoustic velocity.


### 3.3. Implementation of the PC Platform

According to the design introduced in Section2.3, the PC platform has been implemented as shown in Figure 9. Our PC software interface is divided into 6 functional modules. Module 1 is the communication connection module, which is used to connect the host computer and the communication system. Module 2 is the wind speed and direction information display window, the “Correct” button is used to initialize and correct the wind sensors. Module 3 is an USV control module; the module includes two drag bars, which is used to control the speed and direction of the USV. Module 4 is the sail angle control module, which is used to view and manually control the angle of attack. Module 5 is the track display module, which is used to track the trajectory of the track. Module 6 is an obstacle display module, which can display the obstacles around the vehicle.Figure 9
PC software screenshot.


### 3.4. Implementation of the Drive System

#### 3.4.1. Implementation of the Servo Module

When it comes to the servo, the control signal is entered into the signal modulation chip by the channel of the receiver, and the DC bias voltage is obtained. It has an internal reference circuit that produces a reference signal with a period of 20 ms and width of 1.5 m. Then, comparing the voltage of the DC bias with the voltage of the potentiometer, the output voltage difference can be calculated. Finally, the difference between the positive and negative output voltage is 0; then the motor would stop operating.


#### 3.4.2. Implementation of the Servo Drive Module

The principle diagram of the servo drive module is shown in Figure10. It can be seen that the servo drive module integrates two chips with the type of L298N and could drive four DC motors or two stepper motors. Meanwhile, the servo drive module also integrates one ULN2003 that can drive a stepper motor or four DC motors. Also, the DC-DC LM2596 chip, the steering engine interface, and the USB socket are integrated in the servo drive module.Figure 10
Principle diagram of drive module.


## 3.1. Implementation of the Communication System

Generous researchers have stressed the work related to the machine vision by using the microprocessors. Reference [32] implemented a low cost matching motion estimation sensor based on the Nios II microprocessor. By using a custom instruction-based paradigm on a Nios II microprocessor, [33] successfully accelerated the block-matching algorithms. Many sensors have been applied to the industrial fields, [34] fulfilled automated guided vehicle system based on laser guidance, and automatic parking system was introduced in [35] with the aid of bioinspired 1D optical flow sensors.Referring to the SUICS, our communication system adopts the CHD-T5 Wi-Fi video module which is compatible with IEEEE802.11b/g/n standard. Compared with other similar Wi-Fi modules, including the advanced LSD4WF-2MD05107 Wi-Fi module, CHD-T5 Wi-Fi has lots of advantages over other similar Wi-Fi modules. Firstly, our module supports generous functions, including Wi-Fi to video, Wi-Fi to serial port, Wi-Fi to GPIO, and Wi-Fi to I2C. Free drive USB camera can access our module and collect wireless video data. Following that, taking into account that CHD-T5 is compatible with lots of models including AP, STA, and AP & STA, CHD-T5 satisfies with the requirements of a variety of application environments. Based on MIPS24KE, our communication system has the clock speed up to 360 MHz (the wireless rate of the Wi-Fi is 150 Mbps) and 256 Mbit SDRAM. Finally, compared to some other Wi-Fi modules on the market including the popular LSD4WF-2MD05107 Wi-Fi module, the CHD-T5 is smaller and more powerful and has a larger data throughput. It is widely used in image analysis, pipeline endoscopy, intelligent robots, and other fields. By virtue of the excellent hardware performance, our communication system can achieve video image transmission with various formats and resolution, support the free-drive camera with the USB UVC standard, and provide various video performance parameters adjustment interfaces.Figure6 show the schematic diagram of bottom plate of the communication system. Within Figure 6, SYS_LED is the system indicator, it would flash when it is controlled, and it will flash for 3 s when under the boot module. RUN_LED is often bright under AP mode; it is often bright when connected to router under STA mode successfully. RFS_KEY restores the factory settings when it is pressed for 5 s. SNAP_KEY is the camera button, after the trigger photos are sent to all the connections to the client. TXD is the serial port to send; RXD is the serial port to accept.Figure 6
Schematic diagram of bottom plate of the communication system.


## 3.2. Implementation of the Senor System

### 3.2.1. Implementation of the Wind Sensor System

The wind sensors mounted on our sail-assisted USV belong to the hand-held devices. One default is that the wind direction and speed cannot be transferred in the form of electrical signals receivable by other controllers. Therefore, we have redesigned the wind direction and speed sensors based on the mechanical structure of the instruments. When it comes to the wind direction sensor, as the wind vane senses the wind direction, the rotary potentiometer drives and generates the linear resistance value and obtains corresponding wind direction by using the AD conversion. The wind speed is reached by above similar approach. Figure7 shows the redesigned wind sensor system installed on the stem of our sail-assisted USV.Figure 7
The wind sensor system of the SUICS.


### 3.2.2. Implementation of the Ultrasonic Sensor System

The ultrasonic module adopts the HC-SR04 module. Its product parameters are presented as follows. Its typical operating voltage is 5 V, ultrasmall static operating current is less than 2 mA, induction angle is no more than 15°, detection range is from 2 cm to 400 cm, and high precision can be up to 0.3 cm and is completely compatible with the GH-311 security module. Figure8 shows the developed ultrasonic sensor system in our SUICS.Figure 8
Ultrasonic distance measuring module.Working principle of the ultrasonic sensor system is illustrated as follows. At first, IO is used to trigger range, while the high level signal at least lasts for 10μs. Then, the system automatically sends 40 KHz square wave 8 times and detects whether there is a signal returned. Once the signal returned, the duration time of the high level signal can be recorded as the time of the ultrasonic wave from launch to return. Consequently, the range can be 1/2 of the above time multiplied by the acoustic velocity.


## 3.2.1. Implementation of the Wind Sensor System

The wind sensors mounted on our sail-assisted USV belong to the hand-held devices. One default is that the wind direction and speed cannot be transferred in the form of electrical signals receivable by other controllers. Therefore, we have redesigned the wind direction and speed sensors based on the mechanical structure of the instruments. When it comes to the wind direction sensor, as the wind vane senses the wind direction, the rotary potentiometer drives and generates the linear resistance value and obtains corresponding wind direction by using the AD conversion. The wind speed is reached by above similar approach. Figure7 shows the redesigned wind sensor system installed on the stem of our sail-assisted USV.Figure 7
The wind sensor system of the SUICS.


## 3.2.2. Implementation of the Ultrasonic Sensor System

The ultrasonic module adopts the HC-SR04 module. Its product parameters are presented as follows. Its typical operating voltage is 5 V, ultrasmall static operating current is less than 2 mA, induction angle is no more than 15°, detection range is from 2 cm to 400 cm, and high precision can be up to 0.3 cm and is completely compatible with the GH-311 security module. Figure8 shows the developed ultrasonic sensor system in our SUICS.Figure 8
Ultrasonic distance measuring module.Working principle of the ultrasonic sensor system is illustrated as follows. At first, IO is used to trigger range, while the high level signal at least lasts for 10μs. Then, the system automatically sends 40 KHz square wave 8 times and detects whether there is a signal returned. Once the signal returned, the duration time of the high level signal can be recorded as the time of the ultrasonic wave from launch to return. Consequently, the range can be 1/2 of the above time multiplied by the acoustic velocity.


## 3.3. Implementation of the PC Platform

According to the design introduced in Section2.3, the PC platform has been implemented as shown in Figure 9. Our PC software interface is divided into 6 functional modules. Module 1 is the communication connection module, which is used to connect the host computer and the communication system. Module 2 is the wind speed and direction information display window, the “Correct” button is used to initialize and correct the wind sensors. Module 3 is an USV control module; the module includes two drag bars, which is used to control the speed and direction of the USV. Module 4 is the sail angle control module, which is used to view and manually control the angle of attack. Module 5 is the track display module, which is used to track the trajectory of the track. Module 6 is an obstacle display module, which can display the obstacles around the vehicle.Figure 9
PC software screenshot.


## 3.4. Implementation of the Drive System

### 3.4.1. Implementation of the Servo Module

When it comes to the servo, the control signal is entered into the signal modulation chip by the channel of the receiver, and the DC bias voltage is obtained. It has an internal reference circuit that produces a reference signal with a period of 20 ms and width of 1.5 m. Then, comparing the voltage of the DC bias with the voltage of the potentiometer, the output voltage difference can be calculated. Finally, the difference between the positive and negative output voltage is 0; then the motor would stop operating.


### 3.4.2. Implementation of the Servo Drive Module

The principle diagram of the servo drive module is shown in Figure10. It can be seen that the servo drive module integrates two chips with the type of L298N and could drive four DC motors or two stepper motors. Meanwhile, the servo drive module also integrates one ULN2003 that can drive a stepper motor or four DC motors. Also, the DC-DC LM2596 chip, the steering engine interface, and the USB socket are integrated in the servo drive module.Figure 10
Principle diagram of drive module.


## 3.4.1. Implementation of the Servo Module

When it comes to the servo, the control signal is entered into the signal modulation chip by the channel of the receiver, and the DC bias voltage is obtained. It has an internal reference circuit that produces a reference signal with a period of 20 ms and width of 1.5 m. Then, comparing the voltage of the DC bias with the voltage of the potentiometer, the output voltage difference can be calculated. Finally, the difference between the positive and negative output voltage is 0; then the motor would stop operating.


## 3.4.2. Implementation of the Servo Drive Module

The principle diagram of the servo drive module is shown in Figure10. It can be seen that the servo drive module integrates two chips with the type of L298N and could drive four DC motors or two stepper motors. Meanwhile, the servo drive module also integrates one ULN2003 that can drive a stepper motor or four DC motors. Also, the DC-DC LM2596 chip, the steering engine interface, and the USB socket are integrated in the servo drive module.Figure 10
Principle diagram of drive module.


## 4. Experiments of the Sail-Assisted USV with the SUICS

### 4.1. Experiment Scheme

As shown in Figure11, by using our laboratory USV, the SUICS has been designed and implemented according to the details illustrated in Sections 2 and 3.Figure 11
Overall figure of the test boat.To validate the performance of the SUICS, the water tests should be carried out reasonably under the sound experiment scheme. In addition to the SUICS, our sail-assisted USV has been equipped with the GPS and other auxiliary sets to ensure that the experiments are conducted smoothly. The experiment scheme is listed as follows.Firstly, we install the SUICS on our sail-assisted USV and operate the sail in the lake or tank automatically and manually under wind condition. Following that, the USV could move forward and turn left and right with the aid of the sail. During navigation, by using the SUICS, the wind data are recorded and the optimum sail angle of attack can be calculated under different scenarios. Finally, the sustainable wind energy can be efficiently used by steering to the optimum sail angle of attack.


### 4.2. Experiment Results and Discussion

Under different wind speeds and directions, the experiments are carried out on the Shuiyun lake of Wuhan University of Technology shown in Figure12 to verify the performance of the SUICS. During the experimental period, the related wind data that the sail-assisted USV experienced are recorded in Table 2, its trajectory coordinates are given in Table 3, and the corresponding trajectories are depicted in Figure 12.Table 2
Wind speed and direction that the sail-assisted USV experienced.
Time Wind direction (°) Wind speed (m/s) Wave height (m) 15:56:31 292.5 0.1 0 15:56:33 292.5 0.2 0 15:56:37 337.5 0.0 0 15:56:39 337.5 0.0 0 15:56:42 337.5 0.0 0 15:56:49 315 0.1 0 15:56:53 315 0.2 0 15:56:55 337.5 0.8 0.1 15:56:59 0 0.18 0 15:57:01 0 0.26 0.1 15:57:04 0 0.29 0.1 15:57:08 337.5 0.32 0.1 15:57:11 337.5 0.33 0.1 15:57:14 0 0.29 0.1 15:57:18 45 0.35 0.1 15:57:20 67.5 0.36 0.1 15:57:23 45 0.30 0.1 15:57:27 45 0.30 0.1 15:57:33 67.5 0.0 0 15:57:33 67.5 0.19 0 15:57:36 67.5 0.18 0 15:57:40 90 0.23 0.1 15:57:42 90 0.30 0.1 15:57:46 112.5 0.28 0.1 15:57:49 135 0.15 0 15:57:52 270 0.5 0.1 15:57:55 292.5 0.15 0 15:57:58 315 0.11 0 15:58:01 292.5 0.0 0 15:58:04 315 0.47 0.1 15:58:08 0 0.38 0.1 15:58:11 45 0.45 0.1 15:58:14 67.5 0.28 0.1 15:58:17 22.5 0.0 0 15:58:20 22.5 0.7 0.1 15:58:24 0 0.14 0 15:58:26 337.5 0.16 0 15:58:29 315 0.18 0 15:58:32 337.5 0.0 0 15:58:36 337.5 0.5 0.1Table 3
Trajectory coordinates of the sail-assisted USV.
Time Latitude Longitude 15:56:31 30°36′47.12′′N 114°21′05.05′′E 15:56:37 30°36′46.91′′N 114°21′05.15′′E 15:56:43 30°36′46.69′′N 114°21′05.26′′E 15:56:49 30°36′46.84′′N 114°21′05.62′′E 15:56:55 30°36′46.95′′N 114°21′05.68′′E 15:57:01 30°36′47.14′′N 114°21′05.61′′E 15:57:07 30°36′47.25′′N 114°21′05.37′′E 15:57:13 30°36′47.19′′N 114°21′05.23′′E 15:57:19 30°36′47.04′′N 114°21′05.25′′E 15:57:25 30°36′47.00′′N 114°21′05.38′′E 15:57:31 30°36′47.10′′N 114°21′05.39′′E 15:57:37 30°36′47.20′′N 114°21′05.52′′E 15:57:43 30°36′47.11′′N 114°21′05.59′′E 15:57:49 30°36′47.03′′N 114°21′05.57′′E 15:57:55 30°36′46.97′′N 114°21′05.48′′E 15:58:01 30°36′46.95′′N 114°21′05.58′′E 15:58:07 30°36′47.09′′N 114°21′05.62′′E 15:58:13 30°36′47.20′′N 114°21′05.32′′E 15:58:19 30°36′47.22′′N 114°21′05.17′′E 15:58:25 30°36′47.08′′N 114°21′05.01′′EFigure 12
Navigation trajectory of the sail-assisted USV.As shown in Table2, the wind speed was about 0.2 m/s, the initial heading of the sail-assisted USV was 283°, and the relative wind direction was 292°. The average velocity of the sail-assisted USV was 0.3 m/s. The USV was sailing before the wind at about 15:57:20, by using the Sail_4A algorithm embedded in the SUICS, the sail was adjusted automatically, and then the velocity of the sail-assisted USV reached its maximum value. When sliding until 15:57:50, the USV was sailing against the wind, owing to the limited thrust generated by the sail; its velocity decreased a little. Following that, the sail automatic control system of the SUICS adjusted the sail of attack at 15:58:08 with the Sail_4A algorithm; the velocity of the USV began to rise once again. The entire process of the sailing angle adjustment lasted 3 s, and the USV travelled almost 1 m.It can be seen from Figure12 that our sail-assisted USV navigates from the first point labeled as “1” to the second point labeled as “2” and finally to the 20th point labeled as “20.” With lots of steering control, straight line navigation, and Zigzag routing, the maneuverability of the sail-assisted USV is validated through the above actions remarkably. Consequently, the effectiveness of our SUICS is examined and verified successfully.The wind directionDirwind versus sampling point, the wind speed VT versus sampling point, and the wave height versus sampling point are presented in our manuscript. Figures 13, 14, and 15 correspond to the above illustration in sequence.Figure 13
Wind directionDirwind versus sampling point.Figure 14
Wind speedVT versus sampling point.Figure 15
Wave heightHwave versus sampling point.During navigation, wind directionDirwind is collected by sensor system of the sail-assisted USV. Figure 13 shows that Dirwind is varied with sampling point and falls in [0 360°], where 0° and 360° are overlapped. Figure 14 gives wind speed VT versus sampling point. It can be seen that VT ranges from 0 to 0.8 m/s and with mean value 0.24 and variance value 0.03. Consequently, as depicted in Figure 14 sampled wind speed VT is stable. Wave height Hwave versus sampling point is demonstrated in Figure 15. Within our SUICS, the precision of wave height is 0.1 m; thus the numbers of Hwave in Figure 15 are 0 and 0.1.The experiments demonstrate that the PC platform is human-machine interface friendly, the sensor system is with high data collection efficiency, the information can be transferred simultaneously without error, and the lower machine platform can respond to the corresponding instructions fleetly. Benefiting from our proposed Sail_4A algorithm, the sail automatic control system adjusts the sail angle of attack automatically with the aid of the sensor system, the PC platform, the communication system, and the drive system of the SUICS. Those experiments validate that our SUICS is reliable, efficient, and intelligent.


## 4.1. Experiment Scheme

As shown in Figure11, by using our laboratory USV, the SUICS has been designed and implemented according to the details illustrated in Sections 2 and 3.Figure 11
Overall figure of the test boat.To validate the performance of the SUICS, the water tests should be carried out reasonably under the sound experiment scheme. In addition to the SUICS, our sail-assisted USV has been equipped with the GPS and other auxiliary sets to ensure that the experiments are conducted smoothly. The experiment scheme is listed as follows.Firstly, we install the SUICS on our sail-assisted USV and operate the sail in the lake or tank automatically and manually under wind condition. Following that, the USV could move forward and turn left and right with the aid of the sail. During navigation, by using the SUICS, the wind data are recorded and the optimum sail angle of attack can be calculated under different scenarios. Finally, the sustainable wind energy can be efficiently used by steering to the optimum sail angle of attack.


## 4.2. Experiment Results and Discussion

Under different wind speeds and directions, the experiments are carried out on the Shuiyun lake of Wuhan University of Technology shown in Figure12 to verify the performance of the SUICS. During the experimental period, the related wind data that the sail-assisted USV experienced are recorded in Table 2, its trajectory coordinates are given in Table 3, and the corresponding trajectories are depicted in Figure 12.Table 2
Wind speed and direction that the sail-assisted USV experienced.
Time Wind direction (°) Wind speed (m/s) Wave height (m) 15:56:31 292.5 0.1 0 15:56:33 292.5 0.2 0 15:56:37 337.5 0.0 0 15:56:39 337.5 0.0 0 15:56:42 337.5 0.0 0 15:56:49 315 0.1 0 15:56:53 315 0.2 0 15:56:55 337.5 0.8 0.1 15:56:59 0 0.18 0 15:57:01 0 0.26 0.1 15:57:04 0 0.29 0.1 15:57:08 337.5 0.32 0.1 15:57:11 337.5 0.33 0.1 15:57:14 0 0.29 0.1 15:57:18 45 0.35 0.1 15:57:20 67.5 0.36 0.1 15:57:23 45 0.30 0.1 15:57:27 45 0.30 0.1 15:57:33 67.5 0.0 0 15:57:33 67.5 0.19 0 15:57:36 67.5 0.18 0 15:57:40 90 0.23 0.1 15:57:42 90 0.30 0.1 15:57:46 112.5 0.28 0.1 15:57:49 135 0.15 0 15:57:52 270 0.5 0.1 15:57:55 292.5 0.15 0 15:57:58 315 0.11 0 15:58:01 292.5 0.0 0 15:58:04 315 0.47 0.1 15:58:08 0 0.38 0.1 15:58:11 45 0.45 0.1 15:58:14 67.5 0.28 0.1 15:58:17 22.5 0.0 0 15:58:20 22.5 0.7 0.1 15:58:24 0 0.14 0 15:58:26 337.5 0.16 0 15:58:29 315 0.18 0 15:58:32 337.5 0.0 0 15:58:36 337.5 0.5 0.1Table 3
Trajectory coordinates of the sail-assisted USV.
Time Latitude Longitude 15:56:31 30°36′47.12′′N 114°21′05.05′′E 15:56:37 30°36′46.91′′N 114°21′05.15′′E 15:56:43 30°36′46.69′′N 114°21′05.26′′E 15:56:49 30°36′46.84′′N 114°21′05.62′′E 15:56:55 30°36′46.95′′N 114°21′05.68′′E 15:57:01 30°36′47.14′′N 114°21′05.61′′E 15:57:07 30°36′47.25′′N 114°21′05.37′′E 15:57:13 30°36′47.19′′N 114°21′05.23′′E 15:57:19 30°36′47.04′′N 114°21′05.25′′E 15:57:25 30°36′47.00′′N 114°21′05.38′′E 15:57:31 30°36′47.10′′N 114°21′05.39′′E 15:57:37 30°36′47.20′′N 114°21′05.52′′E 15:57:43 30°36′47.11′′N 114°21′05.59′′E 15:57:49 30°36′47.03′′N 114°21′05.57′′E 15:57:55 30°36′46.97′′N 114°21′05.48′′E 15:58:01 30°36′46.95′′N 114°21′05.58′′E 15:58:07 30°36′47.09′′N 114°21′05.62′′E 15:58:13 30°36′47.20′′N 114°21′05.32′′E 15:58:19 30°36′47.22′′N 114°21′05.17′′E 15:58:25 30°36′47.08′′N 114°21′05.01′′EFigure 12
Navigation trajectory of the sail-assisted USV.As shown in Table2, the wind speed was about 0.2 m/s, the initial heading of the sail-assisted USV was 283°, and the relative wind direction was 292°. The average velocity of the sail-assisted USV was 0.3 m/s. The USV was sailing before the wind at about 15:57:20, by using the Sail_4A algorithm embedded in the SUICS, the sail was adjusted automatically, and then the velocity of the sail-assisted USV reached its maximum value. When sliding until 15:57:50, the USV was sailing against the wind, owing to the limited thrust generated by the sail; its velocity decreased a little. Following that, the sail automatic control system of the SUICS adjusted the sail of attack at 15:58:08 with the Sail_4A algorithm; the velocity of the USV began to rise once again. The entire process of the sailing angle adjustment lasted 3 s, and the USV travelled almost 1 m.It can be seen from Figure12 that our sail-assisted USV navigates from the first point labeled as “1” to the second point labeled as “2” and finally to the 20th point labeled as “20.” With lots of steering control, straight line navigation, and Zigzag routing, the maneuverability of the sail-assisted USV is validated through the above actions remarkably. Consequently, the effectiveness of our SUICS is examined and verified successfully.The wind directionDirwind versus sampling point, the wind speed VT versus sampling point, and the wave height versus sampling point are presented in our manuscript. Figures 13, 14, and 15 correspond to the above illustration in sequence.Figure 13
Wind directionDirwind versus sampling point.Figure 14
Wind speedVT versus sampling point.Figure 15
Wave heightHwave versus sampling point.During navigation, wind directionDirwind is collected by sensor system of the sail-assisted USV. Figure 13 shows that Dirwind is varied with sampling point and falls in [0 360°], where 0° and 360° are overlapped. Figure 14 gives wind speed VT versus sampling point. It can be seen that VT ranges from 0 to 0.8 m/s and with mean value 0.24 and variance value 0.03. Consequently, as depicted in Figure 14 sampled wind speed VT is stable. Wave height Hwave versus sampling point is demonstrated in Figure 15. Within our SUICS, the precision of wave height is 0.1 m; thus the numbers of Hwave in Figure 15 are 0 and 0.1.The experiments demonstrate that the PC platform is human-machine interface friendly, the sensor system is with high data collection efficiency, the information can be transferred simultaneously without error, and the lower machine platform can respond to the corresponding instructions fleetly. Benefiting from our proposed Sail_4A algorithm, the sail automatic control system adjusts the sail angle of attack automatically with the aid of the sensor system, the PC platform, the communication system, and the drive system of the SUICS. Those experiments validate that our SUICS is reliable, efficient, and intelligent.


## 5. Conclusions

The sail-assisted USV intelligent control system has been designed and implemented. With our SUICS, the wind speed and direction and the environment information of the USV are recorded in real time; the information transferred reliably and smoothly among the subsystems; the PC platform owns the friendly human-machine interface; the lower machine platform can respond to the instructions timely and effectively, and then the optimal sail angle of attack is achieved based on our proposed Sail_4A algorithm. The sustainable wind energy is exploited fully by using the designed SUICS. Experiments under wind condition verify the excellent performance of the SUICS. In the near future, we will apply our SUICS to the merchant ship to explore the ocean sustainable wind energy; then the energy consumption of the shipping industry would lower down substantially to cater for the requirements issued by IMO.



---

*Source: 2958240-2016-12-05.xml*