Next Article in Journal
Compact Ultra-Wideband Monopole Antenna Loaded with Metamaterial
Previous Article in Journal
Enhancing Temperature Sensitivity of the Fabry–Perot Interferometer Sensor with Optimization of the Coating Thickness of Polystyrene
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Path Following Based on Waypoints and Real-Time Obstacle Avoidance Control of an Autonomous Underwater Vehicle

1
College of Automation, Harbin Engineering University, Harbin 150001, China
2
College of Mechanical engineering, Jiujiang Vocational and Technical College, Jiujiang 332007, China
3
The Center for International Exchange and Cooperation, Jiujiang Vocational and Technical College, Jiujiang 332007, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(3), 795; https://doi.org/10.3390/s20030795
Submission received: 24 December 2019 / Revised: 24 January 2020 / Accepted: 27 January 2020 / Published: 31 January 2020
(This article belongs to the Section Sensor Networks)

Abstract

:
This paper studies three-dimensional (3D) straight line path following and obstacle avoidance control for an underactuated autonomous underwater vehicle (AUV) without lateral and vertical driving forces. Firstly, the expected angular velocities are designed by using two different methods in the kinematic controller. The first one is a traditional method based on Line-of-sight (LOS) guidance law, and the second one is an improved method based on model predictive control (MPC). At the same time, a penalty item is designed by using the obstacle information detected by onboard sensors, which can realize the real-time obstacle avoidance of the unknown obstacle. Then, in order to overcome the uncertainty of the dynamics model and the saturation of actual control input, the dynamic controller is designed by using sliding mode control (SMC) technology. Finally, in the simulation experiment, the performance of the improved control method is verified by comparison with two traditional control methods based on LOS guidance law. Since the constraint of an AUV’s angular velocities are considered in MPC, simulation results show that the improved control method uses MPC, and SMC not only improves the tracking quality of the AUV when switching paths near the waypoints and realizes real-time obstacle avoidance but also effectively reduces the mean square error (MSE) and saturation rate of the rudder angle. Therefore, this control method is more conducive to the system stability and saves energy.

1. Introduction

At present, autonomous underwater vehicles (AUVs) have gradually become an important tool in many fields such as ocean exploitation and scientific research. Because an AUV always follows the planned path during its mission, its path-following control is critical technology. When an AUV is operated in the open sea, its path is generally planned through a set of waypoints, with a straight line connecting every two adjacent waypoints. Its advantages are simple path planning and low computation. However, the controller design is not an easy task because the AUVs’ motions and model are coupled, nonlinear, and uncertain. For these reasons, the path-following control of the AUVs has been studied extensively worldwide [1].
Underactuated marine surface vessels and AUVs must calculate their ideal attitude in real time to realize path-following control. This task is accomplished by the kinematic controller according to the guidance law. In [2,3,4], the LOS guidance law was applied for path following. In order to improve the dynamic characteristics of tracking errors, the LOS guidance law with time-varying lookahead distance was presented in [5,6]. Alternatively, the vector field (VF) methodis also a popular guidance law [7,8]. Similar to the guidance problem, a lot of work has been done on the design of a dynamic controller in path following. The prevailing control methods for marine surface vessels and AUVs in path following include feedback linearizing control techniques [9,10,11], proportional-integral-derivative (PID) control [12,13], the backstepping method [14,15], Lyapunov direct method [16], robust control [17,18,19,20], adaptive control [21,22,23], gain scheduling control theory [24], sliding mode control (SMC) [25,26,27,28,29], neural network control [30], and fuzzy logic control [31], etc.
Generally, there are inherent physical constraints on the input of the control system, which will not only degrade the control performance but will also affect the stability of the system. None of the abovementioned papers has considered this problem. Model predictive control (MPC) is known as an optimization-based control method. MPC has a clear advantage to handle constraints, which represents the trend of the control of constrained systems. In [32], the constraint of the input was considered, and the LOS guidance law was optimized by using MPC algorithm to improve the waypoint tracking quality of an underactuated ship. In [33], the velocity and amplitude constraints of the rudder were considered, and the AUV’s attitude and depth control were optimized by using MPC algorithm. The limitation of the aforementioned papers is that the controllers are based on a nominal model. The principle of MPC is that it predicts the future state and output by using the current state and prediction model. Therefore, the accuracy of the prediction model has a great influence on the performance of MPC. Since the hydrodynamic parameters of the AUVs are uncertain and the motions of each degree of freedom are coupled and nonlinear, it is difficult to obtain the exact dynamic model of the AUVs. Therefore, using a nominal model to design MPC is difficult to guarantee the robustness of the system.
Straight-line path following based on waypoints is convenient for application, but the path is not smooth at each waypoint. The rudder angle is easily saturated when the path is switched near the waypoints during the AUV tracking of the path. Frequent saturation of the rudder angle will not only affect the stability of the system but will also increase the resistance and energy consumption of the AUV. Reference [34] applies the backstepping method to design the ship’s path-tracking controller and considers the system stability when the rudder angle is saturated. However, the saturation of the rudder angle does not fundamentally be alleviated in [34]. In addition, obstacle avoidance is often needed in path following. An obstacle avoidance guidance law is designed in [35]. However, this method needs to obtain the global information of obstacles in real-time, and it has high requirements for sensor configuration. In [36,37], based on the obstacle information detected by the onboard sensors, a spline curve is applied to replan the original path near the obstacle, and real-time obstacle avoidance is realized. However, replanning the path in real time greatly increases the computational burden of the controller.
In order to reduce the computation and simplify the structure of the controller, this paper designs the kinematics and dynamics controllers by using cascade control strategy, thereby providing a solution for the 3D straight line path following and obstacle avoidance of the AUVs. In the design of the kinematics controller, an improved control method is proposed by using MPC. In addition, in order to realize real-time obstacle avoidance, the penalty item for obstacle avoidance is designed according to the obstacle information detected by the onboard sensors. The optimal expected angular velocity satisfying the constraint can be obtained by using the improved control method, which can not only reduce the MSE and saturation rate of the rudder angle but also realize real-time obstacle avoidance. In the design of the dynamics controller, the saturation of control input is considered. The actual control signal is designed by SMC to control the expected speed of the AUV, which can not only overcome the uncertainty of the dynamics model but also ensure the stability of the system.
The remaining four sections of this paper are about the analysis of the control problem, the design of the kinematics and dynamics controller, the results and analysis of the simulation experiment, and the conclusion.

2. Analysis of the Control Problem

The underactuated AUV studied in this paper is not equipped with lateral and vertical driving forces but is equipped at the tail with a propeller to control the longitudinal speed, a pair of vertical rudders to control the yaw, and a pair of horizontal rudders to control the pitch. This is a very typical configuration of an AUV, which has the advantages of simplifying its mechanical structure, reducing cost, and improving reliability.

2.1. Kinematics and Dynamics Modeling

As shown in Figure 1, in order to establish the six degrees of freedom (DOF) motion model of the AUV, the fixed coordinate system {I}:Eξηζ and moving coordinate system {B}:Oxyz are introduced. AUV’s gravity and buoyancy are equal. The center of gravity (CG) is directly below the center of buoyancy (CB), which will generate rolling and pitching restoring moments to ensure the stability of the AUV. The distance between the CG and the CB (metacentric height) is z g . The origin of {I} coordinate system is defined as a fixed point with the ξ-axis pointing north, the η-axis pointing east, and the ζ-axis pointing down. The origin of the {B} coordinate system is defined at the CB, with the x-axis pointing in front of the AUV, the y-axis pointing to the right, and the z-axis pointing down. Since the roll of the AUV is very small and does not need to be controlled, the kinematics and dynamics model of the AUV can be simplified to the following five DOFs after the roll is ignored:
η ˙ = J ( η ) v ,
M v ˙ + C ( v ) v + D ( v ) v + g ( η ) = τ + b ,
where η = [ ξ η ζ θ ψ ] T . ( ξ , η , ζ ) represents the coordinates of CB in {I}, that is, the position of the AUV. θ and ψ represent the orientation of the AUV in {I}, that is, the pitching angle and yaw angle, respectively. J ( η ) represents the coordinate transformation from {B} to {I},
J ( η ) = [ J 1 ( η ) 0 3 × 2 0 2 × 3 J 2 ( η ) ] , J 1 ( η ) = [ cos ψ cos θ sin ψ cos ψ sin θ sin ψ cos θ cos ψ sin ψ sin θ sin θ 0 cos θ ] , J 2 ( η ) = [ 1 0 0 1 c o s θ ] .
v = [ u v w q r ] T denotes the velocities of the AUV defined in {B}. u , v , w are displacement velocities, that is, the respective surge, sway and heave velocities. q and r are angular velocities, that is, the pitch and yaw rates. The system matrices M , C ( v ) , D ( v ) satisfy the properties M = M T , C ( v ) = C ( v ) T , D ( v ) > 0 . The restoring moments are defined as g ( η ) = [ 0 0 0 M H S 0 ] T , where M H S = z g G sin θ is the pitch restoring moment, and G is the gravity of the AUV. τ = [ X p r o p 0 0 M f i n N f i n ] T is the control vector, where X p r o p , M f i n , N f i n are the thrust and torque produced by the propeller and rudder. Vector b describes the model uncertainties. In order to make it convenient for the dynamic controller design, dynamics model (2) can be simplified as follows:
u ˙ = 1 m 11 ( m 22 v r m 33 w q + d 11 u + X p r o p + b u ) , v ˙ = 1 m 22 ( m 11 u r + d 22 v + b v ) , w ˙ = 1 m 33 ( m 11 u q + d 33 w + b w ) , q ˙ = 1 m 55 [ ( m 33 m 11 ) u w + d 55 q + M H S + M f i n + b q ] , r ˙ = 1 m 66 [ ( m 11 m 22 ) u v + d 66 r + N f i n + b r ] ,
where m 11 = m X u ˙ , m 22 = m Y v ˙ , m 33 = m Z w ˙ , m 55 = I y M q ˙ , m 66 = I z N r ˙ , d 11 = X u + X | u | u | u | , d 22 = Y v + Y | v | v | v | , d 33 = Z w + Z | w | w | w | , d 55 = M q + M | q | q | q | , d 66 = N r + N | r | r | r | . The symbol m denotes the mass of the AUV. I y and I z denote the moment of inertia. b i ( i = u , v , w , q , r ) represents model uncertainties. The remaining parameters are hydrodynamic coefficients.

2.2. Error Model

As shown in Figure 1, the routes are described in terms of waypoints which are fixed points in {I} frame. The reference path is the straight line between two adjacent waypoints. In order to establish the error model of the straight-line path followed, the path coordinate system { F } : P x F y F z F is introduced. The current straight path L k starting at p k and ending at p k + 1 is defined. Here, the subscript k represents the sequence number of the straight path or waypoints. ( ξ k , η k , ζ k ) represent coordinates of p k , and ( ξ k + 1 , η k + 1 , ζ k + 1 ) coordinates of p k + 1 . The origin of { F } is placed at p k with the x F -axis pointing towards p k + 1 , the y F -axis pointing to the right, and the z F -axis pointing down. The y F and z F coordinates of the AUV in the { F } frame equal the lateral error and vertical error, respectively. The orientation of {B} in {I} is defined as A B = [ θ ψ ] T , and the orientation of {F} in {I} as A F = [ θ F ψ F ] T . θ F and ψ F are calculated as follows:
θ F = arctan 2 ( Δ ζ , ( Δ ξ ) 2 + ( Δ η ) 2 ) , ψ F = arctan 2 ( Δ η , Δ ξ ) ,
where Δ ξ = ξ k + 1 ξ k , Δ η = η k + 1 η k , Δ ζ = ζ k + 1 ζ k .
The orientation of {B} relative to the {F} frame is defined A e = [ θ e ψ e ] T , then
A e = [ θ e ψ e ] = [ 1 0 0 cos θ F ] ( A B A F )
Since A F is constant in the current straight path, then the derivative of Equation (6) yields
A ˙ e = [ θ ˙ e ψ ˙ e ] = [ 1 0 0 cos θ F ] [ θ ˙ ψ ˙ ] = [ θ ˙ ψ ˙ cos θ F ] = [ q cos θ F cos θ r ] .
The inertial coordinates of O in {I} frame are P O = [ ξ O η O ζ O ] T , the inertial coordinates of P in {I} frame are P P = [ ξ k η k ζ k ] T , and the coordinates of O in {F} frame are P e = [ x e y e z e ] T , then
P e = [ x e y e z e ] T = R I F ( P O P P ) , R I F = [ cos ψ F cos θ F sin ψ F cos θ F sin θ F sin ψ F cos ψ F 0 cos ψ F sin θ F sin ψ F sin θ F cos θ F ] .
R I F is the coordinate transformation from {I} to {F}.
Then, the derivative of Equation (8) yields
P ˙ e = R ˙ I F ( P O P P ) + R I F ( P ˙ O P ˙ P ) = R I F P ˙ O = R I F J 1 ( η ) [ u v w ] = [ u cos ψ e cos θ e v sin ψ e + w cos ψ e sin θ e u sin ψ e cos θ e + v cos ψ e + w sin ψ e sin θ e u sin θ e + w cos θ e ] .

3. Controller Design

In this paper, the control objective is to make the AUV track the straight lines path between the waypoints at a constant speed u d > 0 , which is more conducive to energy saving. In the kinematics controller, the expected angular velocities q d and r d are designed by using two different methods, and then the obstacle avoidance penalty is designed based on the obstacle information detected by onboard sensors, where q d and r d are the expected pitch rate and yaw rate, respectively. The expected velocities are developed as virtual control inputs, and they are fed to the dynamic controller. Then, the actual control input variables n p , δ s , δ r are derived in the dynamic controller by using sliding mode control (SMC) technology, where n p , δ s , δ r are the respective speed of the propeller, sternplane rudder angle, and vertical rudder angle.

3.1. Kinematics Controller

3.1.1. Kinematics Controller Design Based on LOS Guidance Law

Since the along-track error x e does not need to be controlled, error model (9) can be simplified as follows:
[ y ¯ ˙ e z ¯ ˙ e ] = [ u sin ψ e cos θ e + b y u sin θ e + b z ] ,
where y ¯ e = y e y e d , z ¯ e = z e z e d . y e d and z e d are penalty items added for obstacle avoidance, which are set to zero when there are no obstacles. When there is an obstacle, setting y e d or z e d to a positive value can avoid the obstacle from the right or below, and vice versa. The calculation method of the penalty item will be introduced in detail later. Because the AUV studied in this paper lacks lateral and vertical driving forces, the displacement velocities v and w are very small. b y = v cos ψ e + w sin ψ e sin θ e , b z = w cos θ e are bounded. By applying the LOS guidance law, the expected values of θ e and ψ e can be designed as follows:
θ e d = arctan ( z ¯ e / Δ θ ) , ψ e d = arctan ( y ¯ e / Δ ψ ) ,
where Δ θ > 0 and Δ ψ > 0 are look-ahead distances.
After defining the error variable θ ˜ e = θ e d θ e , ψ ˜ e = ψ e d ψ e , the error model (10) can be rewritten as follows:
[ y ¯ ˙ e z ¯ ˙ e ] = A ( t ) [ y ¯ e z ¯ e ] + B ( t ) [ θ ˜ e ψ ˜ e ] + [ b y b z ] ,
where
A ( t ) = [ A 11 0 0 A 22 ] , B ( t ) = [ B 11 B 12 B 21 0 ] , A 11 = u y ¯ e 2 + Δ ψ 2 Δ θ z ¯ e 2 + Δ θ 2 , A 22 = u z ¯ e 2 + Δ θ 2 , B 11 = u sin ψ e d cos ψ ˜ e [ ( cos θ ˜ e 1 ) θ ˜ e cos θ e d + sin θ ˜ e θ ˜ e sin θ e d ] , B 12 = u [ ( cos ψ ˜ e 1 ) ψ ˜ e sin ψ e d cos θ e d sin ψ ˜ e ψ ˜ e cos ψ e d cos θ e ] , B 21 = u [ sin θ ˜ e θ ˜ e cos θ e d ( cos θ ˜ e 1 ) θ ˜ e sin θ e d ] .
Since A ( t ) is negative and B ( t ) , b y , b z are bounded, according to the cascade system theory, the stability of the system (12) can be guaranteed as long as θ ˜ e and ψ ˜ e are stable. Next, the virtual control input is designed through the backstepping method to ensure the stability of θ ˜ e and ψ ˜ e . The Lyapunov function is defined as follows:
V 1 = 1 2 θ ˜ e 2 + 1 2 ψ ˜ e 2 .
The expected angular velocities can be designed as
q d = θ ˙ e d + k q θ ˜ e , r d = cos θ cos θ F ( ψ ˙ e d + k r ψ ˜ e ) .
Then, the derivative of V 1 yields V ˙ 1 = k q θ ˜ e 2 k r ψ ˜ e 2 2 k V 1 V 1 0 , where k q > 0 , k r > 0 , k V 1 = min [ k q , k r ] . Although the above traditional control method based on the LOS guidance law is easy to calculate and apply, it still has some shortcomings. When Δ θ and Δ ψ are set to be small, the path tracking is prone to overshoot, otherwise the tracking errors converge slowly. When k q and k r are set to be small, the path tracking quality will decrease, otherwise the rudder angle is prone to saturation. The reason is that the expected angular velocities obtained by the above traditional control method are not the optimal value and do not meet the constraint conditions. In order to improve the control quality, the next step is to use MPC to redesign the kinematic controller.

3.1.2. Kinematics Controller Design Based on MPC

The response of the dynamic controller to the expected angular velocity can be described as follows:
q ˙ = 1 T 1 ( q d q ) , r ˙ = 1 T 2 ( r d r ) ,
where T 1 > 0 and T 2 > 0 are adjustable time constants.

The Predictive Model

Because the AUV studied in this paper lacks lateral and vertical driving forces, the displacement velocities v and w are very small, which can be ignored to simplify the controller. Since along-track error xe does not need to be controlled, according to Equations (7), (9), and (15), the control objective can be simplified to the stabilization problem as follows:
[ y ¯ ˙ e z ¯ ˙ e θ ˙ e ψ ˙ e q ˙ r ˙ ] = [ u sin ψ e cos θ e u sin θ e q cos θ F cos θ r 1 T 1 ( q d q ) 1 T 2 ( r d r ) 2 ] = [ u k y ψ e u k z θ e q cos θ F cos θ r 1 T 1 ( q d q ) 1 T 2 ( r d r ) ] ,
where k y = cos θ e sin ψ e / ψ e , k z = sin θ e / θ e . In order to avoid singularities, k y is set to k y = cos θ e when | ψ e | π / 12 and k z is set to k z = 1 when | θ e | π / 12 . The system (16) can be rewritten as
x ˙ = f ( x , u ) ,
where x = [ y ¯ e z ¯ e θ e ψ e q r ] T , u = [ q d r d ] T . Obviously, the equilibrium points of system (17) are x = 0 and u = 0. By discretizing system (17), the following can be obtained:
x k + 1 , k = A k x k , k + B k u k , k , y k , k = C k x k , k ,
where
A k = [ 1 0 0 T u k y 0 0 0 1 T u k z 0 0 0 0 0 1 0 T 0 0 0 0 1 0 T cos θ F cos θ 0 0 0 0 1 T T 1 0 0 0 0 0 0 1 T T 2 ] , B k = [ 0 0 0 0 0 0 0 0 T T 1 0 0 T T 2 ] , C k = I 6 .
T is the sampling time. Here the subscript k represents the sampling time series. Using (18), the future system state can be predicted as
x k + 1 , k = A k x k , k + B k u k , k , x k + 2 , k = A k x k + 1 , k + B k u k + 1 , k = A k 2 x k , k + A k B k u k , k + B k u k + 1 , k , x k + 3 , k = A k x k + 2 , k + B k u k + 2 , k = A k 3 x k , k + A k 2 B k u k , k + A k B k u k + 1 , k + B k u k + 2 , k , x k + N p , k = A k N p x k , k + A k N p 1 B k u k , k + + A k N p N c B k u k + N c 1 , k ,
where N c N p , N c is the control horizon, N p is the prediction horizon. Then, the future system output can be predicted as
y k + 1 , k = C k A k x k , k + C k B k u k , k , y k + 2 , k = C k A k 2 x k , k + C k A k B k u k , k + C k B k u k + 1 , k , y k + 3 , k = C k A k 3 x k , k + C k A k 2 B k u k , k + C k A k B k u k + 1 , k + C k B k u k + 2 , k , y k + N p , k = C k A k N p x k , k + C k A k N p 1 B k u k , k + + C k A k N p N c B k u k + N c 1 , k .
The future system output can be rewritten as
Y k + 1 , k = Ψ x k , k + Θ U k , k ,
where
Y k + 1 , k = [ y k + 1 , k y k + 2 , k y k + 3 , k y k + N p , k ] , U k , k = [ u k , k u k + 1 , k u k + 2 , k u k + N c 1 , k ] , Ψ = [ C k A k C k A k 2 C k A k 3 C k A k N p ] , Θ = [ C k B k 0 0 0 C k A k B k C k B k 0 0 C k A k 2 B k C k A k B k C k B k 0 C k A k N p 1 B k C k A k N p 2 B k C k A k N p 3 B k C k A k N p N c B k ] .

The Control Constraint

In the actual control system, due to the saturation limitation of the rudder angle, the AUV’s angular velocity is also constrained. Here, the control constraints are considered as
u min u k + t , k u max , t = 0 , 1 , N c 1 .
The control constraints (22) can be translated into linear inequalities as follows:
[ M c M c ] U k , k [ N max N min ] ,
where M c = I N c I 2 , N max = 1 N c u max , N min = 1 N c u min , 1 N c T = [ 1 1 1 1 ] 1 × N c . The symbol ⊗ is Kronecker product.

Optimization with Control Constraint

For system (18), the task of MPC can be equivalent to calculating the optimal control input U k , k at each sampling time k to minimize cost functionas follows:
J k , k = Y k + 1 , k T Q ¯ Y k + 1 , k + U k , k T R ¯ U k , k ,
where Q ¯ = I N p Q , R ¯ = I N c R , Q = d i a g ( Q 11 , Q 22 , Q 33 , Q 44 , Q 55 , Q 66 ) , R = d i a g ( R 11 , R 22 ) are positive definite weighting matrices. The next step is to design constraints to ensure the stability of MPC.
The cost function at sampling time k 1 is defined as
J k 1 , k 1 = Y k , k 1 T Q ¯ Y k , k 1 + U k 1 , k 1 T R ¯ U k 1 , k 1 ,
where
U k 1 , k 1 = [ u k 1 , k 1 u k , k 1 u k + 1 , k 1 u k + N c 2 , k 1 ] , Y k , k 1 = [ y k , k 1 y k + 1 , k 1 y k + 2 , k 1 y k + N p 1 , k 1 ] .
A feasible control variable at time k is defined, and the predicted output variable is
U ¯ k , k = [ u k , k 1 u k + 1 , k 1 u k + N c 2 , k 1 u k + N c 1 , k ] , Y ¯ k + 1 , k = [ y k + 1 , k 1 y k + 2 , k 1 y k + N p 1 , k 1 y ¯ k + N p , k ] .
Define Δ J k , k = J k , k J k 1 , k 1 , then
Δ J k , k = J k , k J k 1 , k 1 , = Y k + 1 , k T Q ¯ Y k + 1 , k + U k , k T R ¯ U k , k Y k , k 1 T Q ¯ Y k , k 1 U k 1 , k 1 T R ¯ U k 1 , k 1 , Y ¯ k + 1 , k T Q ¯ Y ¯ k + 1 , k + U ¯ k , k T R ¯ U ¯ k , k Y k , k 1 T Q ¯ Y k , k 1 U k 1 , k 1 T R ¯ U k 1 , k 1 , y ¯ k + N p , k T Q y ¯ k + N p , k y k , k 1 T Q y k , k 1 + u k + N c 1 , k T R u k + N c 1 , k u k 1 , k 1 T R u k 1 , k 1 .
The stability of MPC can be guaranteed as long as the following constraints are met,
y ¯ k + N p , k T Q y ¯ k + N p , k y k , k T Q y k , k + u k + N c 1 , k T R u k + N c 1 , k u k 1 , k 1 T R u k 1 , k 1 0 ,
where
y ¯ k + N p , k T = Ψ ¯ x k , k + Θ ¯ 1 C 1 U k 1 , k 1 + Θ ¯ 2 C 2 U k , k , u k + N c 1 , k = C 2 U k , k , u k 1 , k 1 = C 3 U k 1 , k 1 , Ψ ¯ = C k A k N p , Θ ¯ 1 = C k [ A k N p 1 B k A k N p 2 B k A k N p 3 B k A k N p N c + 1 B k ] , Θ ¯ 2 = C k A k N p N c B k , C 1 = [ 0 ( N c 1 ) × 1 I N c 1 ] I 2 , C 2 = [ 0 1 × ( N c 1 ) 1 ] I 2 , C 3 = [ 1 0 1 × ( N c 1 ) ] I 2 .
The constrained variables are parameterized by parameter vector U k , k , making it convenient to solve the optimization problem. By inserting Equation (21) into Equation (24), J k , k is expressed as
J k , k = [ Ψ x k , k ] T Q ¯ Ψ x k , k + U k , k T E U k , k + 2 U k , k T F ,
where E = Θ T Q ¯ Θ + R ¯ , F = Θ T Q ¯ Ψ x k , k . Because [ Ψ x k , k ] T Q ¯ Ψ x k , k is constant, the solving of optimization problems under the constraints at every sampling time is rewritten as the following QP problem:
min U k , k J k , k = U k , k T E U k , k + 2 U k , k T F , s . t . [ M c M c ] U k , k [ N max N min ] , y ¯ k + N p , k T Q y ¯ k + N p , k y k , k T Q y k , k + u k + N c 1 , k T R u k + N c 1 , k u k 1 , k 1 T R u k 1 , k 1 0 .
At each sampling time, the optimal control input U k , k can be obtained by solving Equation (29). Then, the first element u k , k is implemented as the optimal expected value of the angular velocity as follows:
[ q d r d ] k , k = u k , k .
By repeating the above calculation process, the optimal expected angular velocity at each sampling moment can be obtained in real time.

3.1.3. Obstacle Detection and Calculation of the Penalty Term for Obstacle Avoidance

Nowadays, several types of sensors can be used to detect obstacles. For example, in [38,39], light detection and ranging (LiDAR) sensors or stereoscopic cameras are used in obstacle avoidance control of robots. In [37,40], sonar is used as the sensor to detect obstacles for obstacle avoidance control of underwater robots. In this paper, the AUV is configured with sonaras shown in Figure 2, which can obtain the information of obstacles in real time. The detection range, angle of view, detection period, and beam number of the sonar are 100 m, 180°, 0.5 s, and 61, respectively. The angle between any two beams of the sonar is Δ ψ . The sensor can return a set of data ρ = [ ρ 1 , ρ 2 , ρ i , ρ s ] in real time where ρ i , ( i = 1 s ) represents the distance between AUV and the obstacle in the direction of the ith beam of sonar, that is, the distance between O and the intersection point p i . If there are no obstacles, then ρ i = 0 , ( i = 1 s ) . If there is a set of continuous non-zero data [ ρ i , ρ j ] , ( 1 i j s ) in the received data ρ, it means there is an obstacle ahead. At this point, it is necessary to calculate the penalty term in real time to avoid the obstacle.
Since the AUV sails in the horizontal plane for most of the time, the obstacle avoidance in the horizontal plane is taken as an example to introduce the calculation procedure of the penalty item.
Step 1:
The coordinates of intersection points p c , ( c = i j ) in a fixed coordinate system are calculated according to the following equations:
[ ξ c η c ] = [ cos ψ c sin ψ c sin ψ c cos ψ c ] [ ρ c 0 ] + [ ξ η ] , ψ c = ψ + ( s + 1 2 c ) Δ ψ , ( c = i , j ) .
Step 2:
The distance between the intersection point p c , ( c = i j ) and the current path is calculated according to the following equation:
y e c = [ 0 1 ] [ cos ψ F sin ψ F sin ψ F cos ψ F ] ( [ ξ c η c ] [ ξ k η k ] ) , ( c = i , j ) .
Step 3:
If all the data y e c , ( c = i , j ) are greater than zero, then the obstacle is on the right side of the path. At this point, if min ( y e c ) > y e s , ( c = i , j ) is satisfied, then set y e d = 0 . Otherwise, choose to avoid the obstacle from the left side of the obstacle and set y e d = min ( y e c ) y e s until all the received data ρ values are zero, then set y e d = 0 , where y e s > 0 is the safe distance between the AUV and an obstacle.
Step 4:
If all the data y e c , ( c = i , j ) are less than zero, then the obstacle is on the left side of the path. At this point, if min ( | y e c | ) > y e s , ( c = i , j ) is satisfied, then set y e d = 0 . Otherwise, choose to avoid the obstacle from the right side of the obstacle and set y e d = max ( y e c ) + y e s until all the received data ρ values are zero, then set y e d = 0 .
Step 5:
If min ( y e c ) < 0 , max ( y e c ) > 0 , ( c = i , j ) is satisfied, then the obstacle is on the path ahead. At this point, if | min ( y e c ) | < | max ( y e c ) | , ( c = i , j ) is satisfied, then choose to avoid the obstacle from the left side of the obstacle and set y e d = min ( y e c ) y e s . Otherwise, choose to avoid the obstacle from the right side of the obstacle and set y e d = max ( y e c ) + y e s until all the received data ρ values are zero, then set y e d = 0 .

3.2. Dynamics Controller

Next, the design of the dynamic controller is introduced to realize the tracking control of the expected velocity signal. Since the underactuated AUV lacks lateral and vertical thrusters, dynamic Equation (4) can be simplified as follows:
v ˙ a = C a v a + G a + D a τ ¯ a + b a ,
where
v a = [ u q r ] , C a = [ d 11 m 11 m 33 m 11 w m 22 m 11 v m 33 m 11 m 55 w d 55 m 55 0 m 11 m 22 m 66 v 0 d 66 m 66 ] , G a = [ 0 M H S m 55 0 ] , D a = [ k p m 11 0 0 0 k δ m 55 0 0 0 k δ m 66 ] , τ ¯ a = [ n ¯ p 2 δ ¯ s δ ¯ r ] , b a = [ b u b q b r ] .
k δ , k p are the lift coefficient of the rudder and thrust coefficient of the propeller, respectively.
The actual control inputs have saturation limits, and the saturation value of the control input is defined as follows:
Δ τ a = τ ¯ a τ a ,
where τ a = [ n p 2 δ s δ r ] T .
The following auxiliary systems are designed to compensate for input saturation
λ ˙ 1 = c 1 λ 1 + λ 2 , λ ˙ 2 = c 2 λ 2 + D a Δ τ a ,
where
λ 1 = [ λ 11 λ 12 λ 13 ] , λ 2 = [ λ 21 λ 22 λ 23 ] , c 1 = [ c 11 0 0 0 c 12 0 0 0 c 13 ] , c 2 = [ c 21 0 0 0 c 22 0 0 0 c 23 ] , c i , j > 0 , i = 1 , 2 , j = 1 , 2 , 3 .
The sliding mode functions are defined as follows
z 1 = 0 t ( v d v a ) d τ + λ 1 , z 2 = c 3 z 1 + z ˙ 1 , z 3 = c 4 z 1 + z 2 ,
where v d = [ u d q d r d ] T . The Lyapunov function is defined as follows:
V 2 = 1 2 ( z 1 T z 1 + z 3 T z 3 )
The control law is defined as follows:
τ a = D a 1 ( c 4 z ˙ 1 + c 3 z ˙ 1 + v ˙ d C a v a G a c 1 ( c 1 λ 1 + λ 2 ) c 2 λ 2 + 1 2 γ 2 z 3 + 1 2 z 3 + c 5 z 3 ) ,
where
c 3 = [ c 31 0 0 0 c 32 0 0 0 c 33 ] , c 4 = [ c 41 0 0 0 c 42 0 0 0 c 43 ] , c 5 = [ c 51 0 0 0 c 52 0 0 0 c 53 ] , c i , j > 0 , i = 3 , 4 , 5 , j = 1 , 2 , 3 .
Then, the derivative of V 2 yields
V ˙ 2 = z 1 T z ˙ 1 + z 3 T z ˙ 3 , = z 1 T ( z 2 c 3 z 1 ) + z 3 T z ˙ 3 , = z 1 T c 3 z 1 + z 1 T z 2 + z 3 T ( c 4 z ˙ 1 + z ˙ 2 ) , = z 1 T c 3 z 1 + z 1 T z 2 + z 3 T [ c 4 z ˙ 1 + c 3 z ˙ 1 + v ˙ d v ˙ a + λ ¨ 1 ] , = z 1 T c 3 z 1 + z 1 T z 2 + z 3 T [ c 4 z ˙ 1 + c 3 z ˙ 1 + v ˙ d ( C a v a + G a + D a τ ¯ a + b a ) + ( c 1 λ ˙ 1 + λ ˙ 2 ) ] , = z 1 T c 3 z 1 + z 1 T z 2 + z 3 T [ c 4 z ˙ 1 + c 3 z ˙ 1 + v ˙ d ( C a v a + G a + D a τ ¯ a + b a ) c 1 ( c 1 λ 1 + λ 2 ) + ( c 2 λ 2 + D a Δ τ a ) ] , = z 1 T c 3 z 1 + z 1 T z 2 + z 3 T [ c 4 z ˙ 1 + c 3 z ˙ 1 + v ˙ d ( C a v a + G a + D a τ a + b a ) c 1 ( c 1 λ 1 + λ 2 ) c 2 λ 2 ] , = z 1 T c 3 z 1 + z 1 T z 2 z 3 T c 5 z 3 ( 1 2 γ 2 z 3 T z 3 + 1 2 z 3 T z 3 + z 3 T b a ) .
Since
( 1 2 γ 2 z 3 T z 3 + 1 2 z 3 T z 3 + z 3 T b a ) 1 2 γ 2 b a 2 + 1 2 z 3 2 = 1 2 1 γ z 3 + γ b a 2 0 ,
then, the derivative of V 2 yields
V ˙ 2 [ z 1 T z 2 T ] Q V [ z 1 z 2 ] + ( 1 2 γ 2 b a 2 1 2 z 3 2 ) ,
where Q V = [ c 3 + c 5 c 4 2 c 5 c 4 1 2 I 3 c 5 c 4 1 2 I 3 c 5 ] . Set the parameters c 3 , c 4 , c 5 to make | Q V | > 0 , then
V ˙ 2 1 2 γ 2 b a 2 1 2 z 3 2 .
As long as the conditions z 3 γ b a are satisfied, then V ˙ 2 0 . Consequently, the system is uniformly ultimately bounded can be guaranteed.

3.3. Stability Analysis of Sway and Heave

The dynamic equations of the lateral and vertical velocities can be rewritten as
v ˙ = d 22 m 22 ( v + b v m 11 u r d 22 ) , w ˙ = d 33 m 33 ( w + b w + m 11 u q d 33 ) .
The Lyapunov function is defined:
V 3 = 1 2 ( m 22 v 2 + m 33 w 2 ) .
Since the conditions d 22 < 0 and d 33 < 0 are satisfied, the derivative of V 3 yields
V ˙ 3 = d 22 ( v 2 + b v m 11 u r d 22 v ) + d 33 ( w 2 + b w + m 11 u q d 33 w ) d 22 ( v 2 | b v m 11 u r d 22 | | v | ) + d 33 ( w 2 | b w + m 11 u q d 33 | | w | ) .
As long as the conditions | v | | b v m 11 u r d 22 | , | w | | b w + m 11 u q d 33 | are satisfied, then V ˙ 3 0 . Consequently, v and w are passive-bounded, and uniform ultimate bounding can be concluded [41].

4. The Results and Analysis of the Simulation Experiment

In order to verify the performance of the controller, the simulation experiment is carried out. The AUV used in the simulation is the REMUS 100 [42]. The desired path is generated based on a series of waypoints which are displayed in Table 1. The initial position, orientation, and velocity of the AUV are zero. The expected forward speed is u d = 1 m . s 1 . The radius of turning circle R k is 10 m. In the simulation, three different control methods are used for comparison. The first and the second methods are traditional control methods based on LOS guidance law. The third method is the improved control method based on MPC. Because the PID controller is simple and does not depend on the system model, it is the most widely used control method in various control fields. In the first control method (LOS+PID), the kinematics controller uses LOS guidance law (11), and the dynamics controller uses the PID controller as follows
n p = k p p ( u u d ) + k i p 0 t ( u u d ) d τ + k d p u ˙ , δ s = k p s ( θ e θ e d ) + k i s 0 t ( θ e θ e d ) d τ + k d s ( θ ˙ e θ ˙ e d ) , δ r = k p r ( ψ e ψ e d ) + k i r 0 t ( ψ e ψ e d ) d τ + k d r ( ψ ˙ e ψ ˙ e d ) .
The other two methods are proposed in this paper. In the second control method (LOS+SMC), the kinematics and the dynamics controller uses LOS and SMC for path following and obstacle avoidance. In the third control method (MPC+SMC), the kinematics and dynamics controller uses MPC and SMC for path following and obstacle avoidance. The main parameters of the controller are displayed in Table 2. The parameters of three controllers are obtained after tuning. The principle of parameter tuning is to make the AUV converge to the desired path as quickly as possible without overshooting. Two obstacles with a radius of 5 m are set, and their center coordinates in the fixed coordinate system are [72 m, 0 m, 28 m]T and [136 m, 0 m, 28 m]T. In the simulation, the hydrodynamic parameters are increased by 20% from 0 s–150 s and decreased by 20% from 250 s–430 s, which can verify the robustness of the controller.
The simulation results are displayed in Figure 3, Figure 4, Figure 5 and Figure 6. Figure 3a shows the simulation results which are displayed in 3D. Figure 3b is the path following result projection in the horizontal plane. Figure 3c–d are partial zooms of horizontal obstacle avoidance. Figure 3e is the path following results projection in the vertical plane. The simulation results show that the tracking performance of the three control methods is nearly ideal. However, LOS+SMC and MPC+SMC work slightly better than LOS+PID when path switching. In addition, MPC+SMC can converge to the expected lateral error faster and more accurately so as to better achieve obstacle avoidance.
Figure 4 illustrates the path following errors. Obviously, all tracking errors converge to zero on each straight path. We can see that in order for the AUV to avoid obstacles at a safe distance, obstacle avoidance from the right is achieved by setting the expected lateral error to about 5 m when the AUV passes the first obstacle, and obstacle avoidance from the left is achieved by setting the expected lateral error to about −1 m when the AUV passes the second obstacle. When obstacle avoidance is completed, the AUV returns to the desired path by setting the expected lateral error to zero. At the same time, it can be seen that MPC+SMC controls the depth error more smoothly than the other two methods. Figure 5 shows the actual control inputs of the AUV. It is clearly visible that control signals have regular chattering. The chattering is caused by the path switching, because the path is not smooth at each waypoint. The maximum amplitude of the rudder angle is set to ±25°. When LOS+PID and LOS+SMC are adopted, the vertical rudder angle is prone to saturation when the path is switched. When the improved control method (MPC+SMC) is adopted, there is no saturation of the rudder angle, because the constraints on angular velocity are taken into account by the MPC algorithm.
In addition, the MSE of vertical rudder angle is reduced by about 40% compared with that of the traditional control methods, which is more conducive to the system stability and saves more energy. Figure 6 shows the velocities of the AUV and the stability constraints of MPC. The forward speed can converge to the expected value. However, the performance of LOS+SMC and MPC+SMC is better than that of LOS+PID because the forward speed is more stable. At the same time, it can be seen clearly that although the AUV generates certain lateral and vertical velocities due to the coupling between motions, both lateral and vertical velocities are small and convergent. When LOS+SMC is adopted, the expected angular velocities are too large during path switching, which is the reason for the saturation of the rudder angle. The angular velocity of the AUV can not only converge to the expected value but is also within the constraint range with the MPC+SMC method. Figure 6h illustrates the stability constraints of MPC.

5. Conclusions

This paper studies two important control tasks of the underactuated AUV, that is, path following and obstacle avoidance. The proposed control method improves the performance of the control system through the following measures. Firstly, in the kinematics controller, the optimal expected angular velocity is designed by using MPC, and the penalty item for obstacle avoidance is designed by using the obstacle information detected by onboard sensors, which can not only reduce the MSE and saturation of the rudder angle but also realize real-time obstacle avoidance. Secondly, the stability constraint conditions are designed, which can guarantee the stability of MPC. The prediction model in MPC adopts the linear time-varying model, which can effectively reduce the computation of the controller. The simulation is implemented in Matlab and Equation (29) is solved by the QP algorithm on a PC (CPU: Intel i5-3230M, 2.6GHz; RAM: 4GB). The average time used to calculate MPC guidance law is within 10 ms. Therefore, the controller can meet the real-time requirement of path following. Because the kinematics level is not affected by the dynamics model uncertainties, the accuracy of MPC can be guaranteed. Thirdly, in the dynamics controller, the saturation of the control input is considered. The actual control signal is designed by SMC to realize the velocity control, which can not only overcome the uncertainty of dynamics model but also ensure the stability of the system. A comparison of the improved control method (MPC+SMC) and the traditional control methods based on LOS guidance law shows that MPC+SMC can yield a superior performance. The MPC+SMC not only better realize the path following and obstacle avoidance but also reduce the MSE and saturation of the rudder angle effectively. Therefore, the MPC+SMC can be more conducive to the stability of the system and can save energy. Fourthly, the obstacle avoidance method designed in this paper is easier to calculate than other obstacle avoidance methods based on path replanning, and therefore it is more convenient for practical application. How to extend the method to solve the problem of curve path tracking and dynamic obstacle avoidance will be considered in the future.

Author Contributions

X.W. proposed the main methodology and finished the original draft preparation; conceptualization, X.Y. and X.W.; methodology, X.W.; software, X.W.; validation, X.Y., X.W., and F.W.; formal analysis, X.Y.; writing—original draft preparation, X.W.; writing—review and editing, X.W., F.W., and L.Z.; funding acquisition, X.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been supported by the National Natural Science Foundation of China (No. 51279039) and the High Technology Vessel Project of China (No. KY10400170181).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Fredriksen, E.; Pettersen, K.Y. Global κ-exponential way-point maneuvering of ships: Theory and experiments. Automatica 2006, 42, 677–687. [Google Scholar] [CrossRef]
  2. Fossen, T.I.; Breivik, M.; Skjetne, R. Line-of-sight path following of underactuated marine craft. In Proceedings of the 6th IFAC Conference on Manoeuvring and Control of Marine Craft (MCMC 2003), Girona, Spain, 17–19 September 2003; pp. 211–216. [Google Scholar]
  3. Lekkas, A.M.; Fossen, T.I. Minimization of cross-track and along-track errors for path tracking of marine underactuated vehicles. In Proceedings of the 2014European Control Conference (ECC), Strasbourg, France, 24–27 June 2014; pp. 3004–3010. [Google Scholar]
  4. Liu, F.; Shen, Y.; He, B.; Wan, J.; Wang, D.R.; Yin, Q.Q.; Qin, P. 3DOF adaptive line-of-sight based proportional guidance law for path following of the AUV in the presence of ocean currents. Appl. Sci. 2019, 9, 3518. [Google Scholar] [CrossRef] [Green Version]
  5. Lekkas, A.M.; Fossen, T.I. A time-varying lookahead distance guidance law for path following. IFAC Proc. Vol. 2012, 45, 398–403. [Google Scholar] [CrossRef] [Green Version]
  6. Mu, D.D.; Wang, G.F.; Fan, Y.S.; Sun, X.J.; Qiu, B.B. Adaptive LOS path following for a podded propulsion unmanned surface vehicle with uncertainty of model and actuator saturation. Appl. Sci. 2017, 7, 1232. [Google Scholar] [CrossRef] [Green Version]
  7. Caharija, W.; Pettersen, K.Y.; Calado, P.; Braga, J. A comparison between the ILOS guidance and the vector field guidance. IFAC-Pap. OnLine 2015, 48, 89–94. [Google Scholar] [CrossRef]
  8. Xu, H.; Soares, C.G. Vector field path following for surface marine vessel and parameter identification based on LS-SVM. Ocean Eng. 2016, 113, 151–161. [Google Scholar] [CrossRef]
  9. Moe, S.; Caharija, W.; Pettersen, K.Y.; Schjolberg, I. Path following of underactuated marine surface vessels in the presence of unknown ocean currents. In Proceedings of the 2014 American Control Conference (ACC), Portland, OR, USA, 4–6 June 2014; pp. 3856–3861. [Google Scholar]
  10. Caharija, W.; Pettersen, K.Y.; Gravdahl, J.T.; Borhaug, E. Path following of underactuated autonomous underwater vehicles in the presence of ocean currents. In Proceedings of the 2012 IEEE 51st IEEE Conference on Decision and Control (CDC), Maui, HI, USA, 10–13 December 2012; pp. 528–535. [Google Scholar]
  11. Caharija, W.; Pettersen, K.Y.; Sørensen, A.J.; Candeloro, M.; Gravdahl, J.T. Relative velocity control and integral line of sight for path following of autonomous surface vessels: Merging intuition with theory. Proc. Inst. Mech. Eng. Part M: J. Eng. Marit. Environ. 2014, 228, 180–191. [Google Scholar] [CrossRef]
  12. Fossen, T.I.; Pettersen, K.Y.; Galeazzi, R. Line-of-sight path following for dubins paths with adaptive sideslip compensation of drift forces. IEEE Trans. Control Syst. Technol. 2015, 23, 820–827. [Google Scholar] [CrossRef] [Green Version]
  13. Calvo, O.; Rozenfeld, A.; Souza, A.; Valenciaga, F.; Puleston, P.F.; Acosta, G. Experimental results on smooth path tracking with application to pipe surveying on inexpensive AUV. In Proceedings of the 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, Nice, France, 22–26 September 2008; pp. 3647–3653. [Google Scholar]
  14. Pettersen, K.Y.; Nijmeijer, H. Underactuated ship tracking control: theory and experiments. Int. J. Control 2001, 74, 1435–1446. [Google Scholar] [CrossRef]
  15. Repoulias, F.; Papadopoulos, E. Planar trajectory planning and tracking control design for underactuated AUVs. Ocean Eng. 2006, 34, 1650–1667. [Google Scholar] [CrossRef]
  16. Jiang, Z.P. Global tracking control of underactuated ships by Lyapunov’s direct method. Automatica 2002, 38, 301–309. [Google Scholar] [CrossRef]
  17. Do, K.D.; Pan, J. State-and output-feedback robust path-following controllers for underactuated ships using Serret–Frenet frame. Ocean Eng. 2004, 31, 587–613. [Google Scholar] [CrossRef]
  18. Do, K.D.; Pan, J. Global robust adaptive path following of underactuated ships. Automatica 2006, 42, 1713–1722. [Google Scholar] [CrossRef]
  19. Lapierre, L.; Jouvencel, B. Robust nonlinear path-following control of an AUV. IEEE J. Ocean. Eng. 2008, 33, 89–102. [Google Scholar] [CrossRef]
  20. Wang, S.S.; Wang, L.J.; Qiao, Z.X.; Li, F.S. Optimal robust control of path following and rudder roll reduction for a container ship in heavy waves. Appl. Sci. 2018, 8, 1631. [Google Scholar] [CrossRef] [Green Version]
  21. Fossen, T.I.; Lekkas, A.M. Direct and indirect adaptive integral line-of-sight path-following controllers for marine craft exposed to ocean currents. Int. J. Adapt. Control Signal Process. 2017, 31, 445–463. [Google Scholar] [CrossRef]
  22. Antonelli, G.; Caccavale, F.; Chiaverini, S.; Fusco, G. A novel adaptive control law for underwater vehicles. IEEE Trans. Control Syst. Technol. 2003, 11, 221–232. [Google Scholar] [CrossRef]
  23. Li, J.H.; Lee, P.M. Design of an adaptive nonlinear controller for depth control of an autonomous underwater vehicle. Ocean Eng. 2005, 32, 2165–2181. [Google Scholar] [CrossRef]
  24. Silvestre, C.; Pascoal, A.; Kaminer, I. On the design of gain-scheduled trajectory tracking controllers. Int. J. Robust Nonlinear Control 2002, 12, 797–839. [Google Scholar] [CrossRef] [Green Version]
  25. Liao, Y.L.; Wan, L.; Zhang, J.Y. Backstepping dynamical sliding mode control method for the path following of the underactuated surface vessel. Procedia Eng. 2011, 15, 256–263. [Google Scholar] [CrossRef] [Green Version]
  26. Ji, D.; Liu, J.; Zhao, H.; Wang, Y. Path Following of Autonomous Vehicle in 2D Space Using Multivariable Sliding Mode Control. J. Robot. 2014, 2014, 1–6. [Google Scholar] [CrossRef] [Green Version]
  27. Xu, J.; Wang, M.; Qiao, L. Dynamical sliding mode control for the trajectory tracking of underactuated unmanned underwater vehicles. Ocean Eng. 2015, 105, 54–63. [Google Scholar] [CrossRef]
  28. Liu, C.; Zou, Z.; Yin, J. Trajectory tracking of underactuated surface vessels based on neural network and hierarchical sliding mode. J. Mar. Sci. Technol. 2015, 20, 322–330. [Google Scholar] [CrossRef]
  29. Chen, W.; Wei, Y.H.; Zeng, J.H.; Han, H.; Jia, X. Adaptive Terminal Sliding Mode NDO-Based Control of Underactuated AUV in Vertical Plane. Discret. Dyn. Nat. Soc. 2016, 2016, 1–9. [Google Scholar] [CrossRef] [Green Version]
  30. Zhou, J.J.; Tang, Z.D.; Zhang, H.H.; Jiao, J.F. Spatial Path Following for AUVs Using Adaptive Neural Network Controllers. Math. Probl. Eng. 2013, 2013, 1–9. [Google Scholar] [CrossRef]
  31. Khaled, N.; Chalhoub, N.G. A self-tuning guidance and control system for marine surface vessels. Nonlinear Dyn. 2013, 73, 897–906. [Google Scholar] [CrossRef]
  32. Oh, S.R.; Sun, J. Path following of underactuated marine surface vessels using line-of-sight based model predictive control. Ocean Eng. 2010, 37, 289–295. [Google Scholar] [CrossRef]
  33. Yao, X.L.; Yang, G.Y.; Peng, Y. Nonlinear Reduced-Order Observer-Based Predictive Control for Diving of an Autonomous Underwater Vehicle. Discret. Dyn. Nat. Soc. 2017, 2017, 1–15. [Google Scholar] [CrossRef] [Green Version]
  34. Zheng, Z.W.; Feroskhan, M. Path following of a surface vessel with prescribed performance in the presence of input saturation and external disturbances. IEEE/ASME Trans. Mechatron. 2017, 22, 2564–2575. [Google Scholar] [CrossRef]
  35. Moe, S.; Pettersen, K.Y. Set-Based Line-of-Sight (LOS) Path Following with Collision Avoidance for Underactuated Unmanned Surface Vessel. In Proceedings of the 2016 24th Mediterranean Conference on Control and Automation (MED), Athens, Greece, 21–24 June 2016; pp. 402–409. [Google Scholar] [CrossRef] [Green Version]
  36. Shim, T.; Adireddy, G.; Yuan, H.L. Autonomous vehicle collision avoidance system using path planning and model-predictive-control-based active front steering and wheel torque control. Proc. Inst. Mech. Eng. Part D J. Automob. Eng. 2012, 226, 767–778. [Google Scholar] [CrossRef]
  37. Filaretov, V.; Yukhimets, D. The method of formation of the AUV smooth trajectory in unknown environment. In Proceedings of the OCEANS’2016, Shanghai, China, 10–13 April 2016; pp. 1–8. [Google Scholar]
  38. Castaño, F.; Beruvides, G.; Villalonga, A.; Haber, R.E. Self-Tuning Method for Increased Obstacle Detection Reliability Based on Internet of Things LiDAR Sensor Models. Sensors 2018, 18, 1508. [Google Scholar] [CrossRef] [Green Version]
  39. Castaño, F.; Strzelczak, S.; Villalonga, A.; Haber, R.E.; Kossakowska, J. Sensor reliability in cyber-physical systems using internet-of-things data: A review and case study. Remote Sens. 2019, 11, 2252. [Google Scholar] [CrossRef] [Green Version]
  40. Yan, Z.P.; Li, J.Y.; Zhang, G.S.; Wu, Y. A Real-Time Reaction Obstacle Avoidance Algorithm for Autonomous Underwater Vehicles in Unknown Environments. Sensors 2018, 18, 438. [Google Scholar] [CrossRef] [Green Version]
  41. Li, J.H.; Lee, P.M.; Jun, B.H.; Lim, Y.K. Point-to-point navigation of underactuated ships. Automatica 2008, 44, 3201–3205. [Google Scholar] [CrossRef]
  42. Prestero, T. Development of a Six-Degree of Freedom Simulation Model for the REMUS Autonomous Underwater Vehicle. In Proceedings of the MTS/IEEE Oceans 2001. An Ocean Odyssey. Conference Proceedings, Honolulu, HI, USA, 5–8 November 2001; pp. 450–455. [Google Scholar]
Figure 1. The control task of waypoint tracking is to steer the vehicle to follow the straight path between two adjacent waypoints. The straight path is switched to the next one when the AUV enters a circle of acceptance. The center of the circle is at p k + 1 , and the radius is R k .
Figure 1. The control task of waypoint tracking is to steer the vehicle to follow the straight path between two adjacent waypoints. The straight path is switched to the next one when the AUV enters a circle of acceptance. The center of the circle is at p k + 1 , and the radius is R k .
Sensors 20 00795 g001
Figure 2. The obstacle avoidance diagram.
Figure 2. The obstacle avoidance diagram.
Sensors 20 00795 g002
Figure 3. Simulation results of path following and obstacle avoidance. (a) The simulation results in 3D. (b) The simulation results in the horizontal plane. (c) Partial enlarged view of the simulation results (obstacle avoidance 1). (d) Partial enlarged view of the simulation results (obstacle avoidance 2). (e) The path following is shown in the vertical plane.
Figure 3. Simulation results of path following and obstacle avoidance. (a) The simulation results in 3D. (b) The simulation results in the horizontal plane. (c) Partial enlarged view of the simulation results (obstacle avoidance 1). (d) Partial enlarged view of the simulation results (obstacle avoidance 2). (e) The path following is shown in the vertical plane.
Sensors 20 00795 g003
Figure 4. Path following errors. (a) The position error (lateral). (b) The obstacle avoidance penalty item (lateral). (c) The position error (vertical). (d) The orientation error (pitch). (e) The orientation error (yaw).
Figure 4. Path following errors. (a) The position error (lateral). (b) The obstacle avoidance penalty item (lateral). (c) The position error (vertical). (d) The orientation error (pitch). (e) The orientation error (yaw).
Sensors 20 00795 g004
Figure 5. The actual control input variables. (a) The speed of the propeller. (b) The sternplane rudder angle. (c) The vertical rudder angle.
Figure 5. The actual control input variables. (a) The speed of the propeller. (b) The sternplane rudder angle. (c) The vertical rudder angle.
Sensors 20 00795 g005
Figure 6. The velocities of the AUV and the stability constraints of MPC. (a) Displacement velocity of the AUV (surge). (b) Displacement velocity of the AUV (sway). (c) Displacement velocity of the AUV (heave). (d) Angular velocity of the AUV with LOS+SMC (pitch). (e) Angular velocity of the AUV with MPC+SMC (pitch). (f) Angular velocity of the AUV with LOS+SMC (yaw). (g) Angular velocity of the AUV with MPC+SMC (yaw). (h) The stability constraints of MPC.
Figure 6. The velocities of the AUV and the stability constraints of MPC. (a) Displacement velocity of the AUV (surge). (b) Displacement velocity of the AUV (sway). (c) Displacement velocity of the AUV (heave). (d) Angular velocity of the AUV with LOS+SMC (pitch). (e) Angular velocity of the AUV with MPC+SMC (pitch). (f) Angular velocity of the AUV with LOS+SMC (yaw). (g) Angular velocity of the AUV with MPC+SMC (yaw). (h) The stability constraints of MPC.
Sensors 20 00795 g006aSensors 20 00795 g006b
Table 1. Waypoints.
Table 1. Waypoints.
Waypoints12345678910
ξ / m 1010−50−501040100130130100
η / m 03030−30−30−303030−30−30
ζ / m 041220282828282828
Table 2. Parameters of the controller.
Table 2. Parameters of the controller.
MPCMPCLOS+PIDLOS+PIDSMCSMC
T = 0.1 T 1 = 1 Δ θ = 10 Δ ψ = 10 c 11 = 1 c 12 = 1
T 2 = 1 Q 11 = 2 k p p = 20 k i p = 3 c 13 = 1 c 21 = 1
Q 22 = 2 Q 33 = 2 k d p = 8 k p s = 2 c 22 = 1 c 23 = 1
Q 44 = 2 Q 55 = 1 k i s = 0.1 k d s = 2 c 31 = 0.1 c 32 = 0.1
Q 66 = 1 R 11 = 2 k p r = 2 k i r = 0.1 c 33 = 0.1 c 41 = 0.5
R 22 = 2 N P = 8 k d r = 2 k q = 0.2 c 42 = 0.5 c 43 = 0.5
u m a x = [ 0.15 , 0.2 ] T N c = 3 k r = 0.2 R k = 10 c 51 = 1 c 52 = 1
u m i n = [ 0.15 , 0.2 ] T u d = 1 y e s = 2 c 53 = 1 γ = 0.2

Share and Cite

MDPI and ACS Style

Yao, X.; Wang, X.; Wang, F.; Zhang, L. Path Following Based on Waypoints and Real-Time Obstacle Avoidance Control of an Autonomous Underwater Vehicle. Sensors 2020, 20, 795. https://doi.org/10.3390/s20030795

AMA Style

Yao X, Wang X, Wang F, Zhang L. Path Following Based on Waypoints and Real-Time Obstacle Avoidance Control of an Autonomous Underwater Vehicle. Sensors. 2020; 20(3):795. https://doi.org/10.3390/s20030795

Chicago/Turabian Style

Yao, Xuliang, Xiaowei Wang, Feng Wang, and Le Zhang. 2020. "Path Following Based on Waypoints and Real-Time Obstacle Avoidance Control of an Autonomous Underwater Vehicle" Sensors 20, no. 3: 795. https://doi.org/10.3390/s20030795

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop