Keywords

4.1 Introduction

Now numerous path planning algorithms have been developed [1, 2], such as template matching approach [3], map building [4] and artificial intelligence approach [5], etc. Each method mentioned above has its own advantages as well as disadvantages.

As the better performance of fuzzy logic in uncertain information processing, it has many applications in mobile robot path planning. For example, Perez et al. [6] proposed the fuzzy logic path planning for autonomous navigation under velocity field control. Zun et al. and Shen et al. [7, 8] proposed UAV path planning and obstacle avoidance based on fuzzy data fusion. Recently, Leblanc and Saffiotti [9] further studied the fuzzy fusion algorithm of multi-robot target location. These correlation algorithms can not only improve sensor test precision, but also reduce the uncertainty of the environment. Yang and Zhu [10] proposed a solution of AUV’s local path planning based on fuzzy logic. The result of planning is based on the environment which includes information of relationship between obstacles and the vehicle.

However, the proposed method mentioned above only discusses static path planning in horizontal plan for AUV, there is no research concerning three-dimension environment. In addition, it’s difficult to acquire prior knowledge and predefine all of the fuzzy rules in these fuzzy methods. Therefore, a novel fuzzy inference controller is proposed for AUV navigation with undefined and incomplete environmental factors, which enables AUV to automatically avoid static obstacles and generate a satisfying path.

This paper is organized as follows: Second section describes AUV architecture; Third section discusses static path planning both in horizontal and vertical plane, then the synthetic path planning is given. Simulation results are presented in fourth section. Finally, conclusions are drawn and recommendations for future work are presented in section fifth.

4.2 AUV Structure and Sensor Model

4.2.1 Structure of AUV

AUV (from Lab. of Underwater Vehicles and Intelligent Systems, Shanghai Maritime University) has four thrusters shown in Fig. 4.1. Two of them in the horizontal plane are installed symmetrically on the robot tail, which control the surge and yaw velocity of AUV. The other two thrusters in the vertical plane are installed on the robot center of gravity, which control the heave and pitch velocity of AUV.

Fig. 4.1
figure 1

Thruster arrangement of AUV

4.2.2 Forward Looking Sonar Model of AUV

Figure 4.2 shows that two sonars are mounted on AUV to gather its surrounding information of horizontal plane. In order to utilize the sonars efficiently, the range of these two sonars sensed are divided into three groups: right group; front group; left group and each group covers 60 degrees. The sonar arrangement is the same in vertical plane, just as Fig. 4.3 shows, the range are also divided into three groups: up group, ahead group and down group. Then compare all the measured data and choose the minimum values which can represent the distances between AUV and obstacles in six directions. It is efficient and sufficient for obstacle avoidance here.

Fig. 4.2
figure 2

Sensors arrangement of AUV in horizontal plane

Fig. 4.3
figure 3

Sensors arrangement of AUV in vertical plane

4.3 Fuzzy Control Design for AUV with Static Obstacles

4.3.1 Fuzzy Algorithm

A fuzzy controller block diagram is illustrated in Fig. 4.4. The concept of fuzzy logic was first articulated by Zadeh in 1965 [11], who described the basic concepts of fuzzy system and the continuous membership function. Its foundations and applications have grown wider over years. Here, Mamdani Controllers [12] are adopted to acquire the fuzzy matrix.

Fig. 4.4
figure 4

Fuzzy controller architecture

4.3.2 Three-Dimensional Path Planning with Static Obstacles

During the navigation of AUV, three-dimensional path planning with obstacle avoidance turns out to be a key task. In this section, static obstacle avoidance is discussed. Here three-dimensional path planning is divided into two parts: horizontal path planning and vertical path planning, then synthetic path is given.

4.3.2.1 Horizontal Path Planning

Using the same input and output assignments proposed by Tan and Yang [13], there are five signals that represent the inputs to the fuzzy controller in the horizontal plane: the distance from AUV to obstacles in left, front and right directions \( d_{l} \), \( d_{f} \), \( d_{r} \); AUV surge velocity \( u^{\prime} \) and the target direction \( \psi (t) \). There are two representations of outputs from the fuzzy controller: \( a_{l}^{\prime } \) and \( a_{r}^{\prime } \), which represent the accelerations of the left and right wheels respectively.

The variables are translated into linguistic values according to the membership functions which show in Fig. 4.5. \( M = \left[ {\begin{array}{*{20}c} {M_{\text{h1}} } & \ldots & {M_{\text{h7}} } & \ldots & {M_{\text{h14}} } \\ \end{array} } \right] \) is seen as 14 boundary parameters of the three input membership functions which is acquired mainly by the substantial experience.

Fig. 4.5
figure 5

Membership function for input and output variables in horizontal plane. a Distance. b Velocity. c Angle. d Acceleration

In this fuzzy controller, there are five inputs, four of them contain two fuzzy grades respectively and the other one contains three, so forty-eight rules in total are set in Table 4.1.

Table 4.1 Fuzzy rules in horizontal plane

After getting the left and right acceleration \( a_{l}^{\prime } \), \( a_{r}^{\prime } \), the surge velocity \( u_{l}^{\prime } \), \( u_{r}^{\prime } \) can be obtained through the integral of them, just as Eq. (4.1) shows. Then the synthetic surge velocity \( u^{\prime } \) and the yaw velocity \( r^{\prime} \) can be gotten by Eq. (4.2), here L is the distance between left and right thrusters.

$$ u^{\prime}_{l} = \int {a^{\prime}_{l} dt} ,\quad u^{\prime}_{r} = \int {a^{\prime}_{r} dt} $$
(4.1)
$$ u^{\prime} = \frac{1}{2}(u_{l}^{\prime } + u_{r}^{\prime } ),\quad r^{\prime} = \frac{1}{2L}(u_{r}^{\prime } - u_{l}^{\prime } ) $$
(4.2)

4.3.2.2 Vertical Path Planning

Vertical path planning is just similar to horizontal path planning, as Eq. (4.34.4) shows.

$$ w_{1}^{\prime } = \int {a_{h1}^{\prime } dt} ,\quad w_{2}^{\prime } = \int {a_{h2}^{\prime } dt} $$
(4.3)
$$ w^{\prime} = \frac{1}{2}(w_{1}^{\prime } + w_{2}^{\prime } ),\quad q^{\prime} = \frac{1}{2M}(w_{1}^{\prime } - w_{2}^{\prime } ) $$
(4.4)

where \( w_{1}^{\prime } \), \( w_{2}^{\prime } \) is the heave velocity and \( a_{h1}^{\prime } \), \( a_{h2}^{\prime } \) is the acceleration.

4.3.2.3 Synthetic Path Planning

Now four virtual control variables \( u^{\prime} \), \( w^{\prime} \), \( r^{\prime} \) and \( q^{\prime} \) are obtained, to control AUV in three-dimensional space, they should be converted into the body-fixed frame, which can really control the movement of AUV in three-dimensional environment, the conversion equations are shows below and the real control variables \( u \), \( w \), \( r \) and \( q \) are obtained:

$$ u = w^{\prime}\sin \theta + u^{\prime}\cos \theta $$
(4.5)
$$ w = w^{\prime}\cos \theta - u^{\prime}\sin \theta $$
(4.6)
$$ r = r^{\prime}\cos \theta $$
(4.7)
$$ q = q^{\prime} $$
(4.8)

4.4 Simulation Results

According to the proposed algorithm for AUV path planning, the simulation experiment is conducted on the Matlab platform. Firstly, the underwater environment is set as follows: the workspace for static environment is 12 m*12 m*12 m; The starting and target points are randomly distributed, here set (0,0,0) and (10,10,10) respectively.

To be simplified, the shapes and locations of each static obstacle are already known. \( S_{1} \)\( S_{6} \) are the static obstacles, of which \( S_{1} \) and \( S_{5} \) are the cubes with side length of 1 m, \( S_{3} \) and \( S_{4} \) are the 2 m*1 m*1 m cuboids, \( S_{2} \) and \( S_{6} \) are the triangular pyramid. Parameters are set as follows: the sensing range of the ultrasonic sensors is from 0 m to 2 m; L is the distance between left and right thrusters, L = 0.25 m; M is the distance between front and rear thrusters, M = 0.25 m.

4.4.1 Simulation Results in Horizontal Plane

Figure 4.6 shows the static obstacle avoidance in horizontal plane. When the obstacle is far from AUV, it will move along its target direction; When AUV detects a static obstacle, it will slow down a little bit. When the obstacle is close enough, AUV will choose the best way to avoid it according to the fuzzy controller. As shown in Fig. 4.6, when AUV moves to the point &1, it detects a static obstacle, with left sensory value \( d_{l} = 0.5685 \) (NEAR), front sensory value \( d_{f} = 0.9235 \) (FAR) and right sensory value \( d_{r} = 1.3163 \) (FAR), \( \psi (t) = - 44.68^{0} \) (RIGHT) and the surge velocity \( u^{\prime} = 0.2\,m/s \) (FAST), by means of fuzzy inference, the acceleration of left and right thrusters can be gotten, namely \( a_{l}^{\prime } = 0.0929\,m/s^{2} \) (PB), \( a_{r}^{\prime } = 0.0151\,m/s^{2} \) (PS), which can result a right turn for AUV to avoid obstacle \( S_{h2} \), at the same time, keep far away from obstacle \( S_{h1} \). With the same method, AUV can finally generate a secure and collision-free path, just as the red path in Fig. 4.6.

Fig. 4.6
figure 6

Static path planning for AUV in horizontal plane

4.4.2 Simulation Results in Vertical Plane

Figure 4.7 shows the static obstacle avoidance in vertical plane. The condition is the same as 4.1, and AUV can generate a secure and collision-free path shown in Fig. 4.7.

Fig. 4.7
figure 7

Static path planning for AUV in vertical plane

4.4.3 Simulation Results of Synthetic Path Planning in Static Environment

Through the process above, the acceleration of right, left, front and rear thrusters \( a_{r} ,a_{l} ,a_{h1} ,a_{h2} \) can be gotten. Then the final surge velocity \( u \) and heave velocity \( w \) are calculated respectively and the synthetic velocity \( v_{s} \) is obtained. Subsequently three-dimensional synthesis path in static environment is shown in Fig. 4.8.

Fig. 4.8
figure 8

Three-dimensional static path planning for AUV

4.5 Conclusion

In this paper, the architecture of autonomous underwater vehicle in three-dimensional environment is established firstly. Then the path planning with static obstacles is presented by using Fuzzy-Control method, here according to different situations, specific fuzzy memberships are assigned. From the simulation results, it is clear to see that the designed control system can accomplish the three-dimensional path planning successfully and effectively.