# Path Following Control of an AUV under the Current Using the SVR-ADRC

Authors: Zheping Yan; Yibo Liu; Jiajia Zhou; Di Wu
Journal: Journal of Applied Mathematics
 (2014)

---

## Abstract

A novel active disturbance rejection control (ADRC) controller is proposed based on support vector regression (SVR). The SVR-ADRC is designed to force an underactuated autonomous underwater vehicle (AUV) to follow a path in the horizontal plane with the ocean current disturbance. It is derived using SVR algorithm to adjust the coefficients of the nonlinear state error feedback (ELSEF) part in ADRC to deal with nonlinear variations at different operating points. The trend of change about ELSEF coefficients in the simulation proves that the designed SVR algorithm maintains the characteristics of astringency and stability. Furthermore, the path following errors under current in simulation has proved the high accuracy, strong robustness, and stability of the proposed SVR-ADRC. The contributions of the proposed controller are to improve the characteristics of ADRC considering the changing parameters in operating environment which make the controller more adaptive for the situation.


---

## Body

## 1. Introduction

AUVs are unmanned submarines that carry their own power source and a computer unit, running software, and control solutions that allow the execution of a mission without human intervention [1]. Now, they are rapidly becoming popular in the oceanographic sampling community. Compared with ship-based sampling, the convenience of deployment, low operational cost, and high-resolution sampling capabilities have made them valuable tools for studying the mysterious ocean.The control problem of underactuated AUV has been one of the active research areas because of its intrinsic nonlinear feature and practical requirements [2]. When the vehicle is sailing under water, the motions of six degrees have coupling phenomenon. In addition, it usually has characteristics of large inertia and time delay, nonlinearity, and underactuation. And its tracking motion is strongly influenced by the hydrodynamic perturbations, as well as the effects of wave and current flow disturbances, which make steering control becomes a difficult task [3]. On the other hand, the motion parameters of AUV are necessary factors which have to be considered, for example, turning rate and turning radius [4]. Otherwise, the control accuracy of path following will be reduced a lot if these parameters reach the design limit [5]. It can be concluded that the design of tracking controller with high performance is always complicated and the relative research work is significant.At present, some certain theoretical study results have been achieved on the AUV tracking control, for example, the fuzzy slid mode control, the neural network adaptive PID, the backstepping control, and so on [6]. Zhou et al. [7] designed three adaptive neural network controllers which are based on the Lyapunov stability theorem to estimate uncertain parameters of the vehicle’s model and unknown current disturbances. These controllers are designed to guarantee that all the error states in the path following system are asymptotically stable. Lapierre and Jouvencel [8] designed a kinematic controller and extended it to cope with vehicle dynamics by resorting to backstepping and Lyapunov-based techniques. To a certain extent, these control algorithms have obtained some achievements. However, when it comes to solve the disturbance problems of exterior interfere and uncertain model of AUV, the above control algorithm is incapable of realizing high performance [9]. In this paper, an algorithm called SVR-ADRC is proposed to deal with these two disturbances.Considering the particular steering scheme, obvious nonlinearity, and disturbance sensitivity, a new adaptive ADRC control algorithm using the support vector regression is designed to improve the control performance. In the case of path following, the interior and exterior disturbances can be estimated by a designed ESO observer [10]. Then, this estimation is used to compensate the NLSEF in order to improve control quality, where a tracking differentiator (TD) is designed to arrange the transient process and optimize control command. The system output at next sampling point can be obtained by using the support vector regression identification method which takes account of nonlinear relationship between control input and system output. Meanwhile, the local linearization and control parameter self-turning of ADRC are realized based on the quadratic performance index; thus the adaptability of ADRC will be greatly enhanced.The idea of ADRC technique, which originated from PID control algorithm, is proved to be very effective because it does not entirely depend on mathematical model of the plant and it can compensate the internal and external disturbances dynamically [11]. Han [12] proposed the ADRC technique to improve the control performance in the real practice of engineering. Combining with the special nonlinear feedback structure, it can realize good control quality, such as small exceeding value, fast response, and strong robustness. And its algorithm is simple and suitable for digital realization. Additionally, a normally complex and nonlinear system can be considered as a linear set of integrators, which is easier to control with classical techniques. Some successful practical realizations of ADRC are presented in [13, 14].In recent years, Support Vector Machines (SVMs) have been proposed as learning-from-samples tools for a number of problems, including classification and regression. Since Vapnik [15] firstly advanced SVM in the 1990s, it has been extensively applied and improved in solving classification and regression problems owing to its favorable performance [16]. Compared with neural network (NN) algorithm, SVM has several merits. Firstly, unlike NN using empirical risk minimization (ERM), SVM is based on the criteria of structural risk minimization (SRM), so that better generalization ability can be achieved. Secondly, SVM can guarantee a global solution by adopting convex quadratic programming, while NN is apt to fall into local optimization. Thirdly, SVM can easily overcome the curse of dimensionality with the help of kernel function, which is much too difficult for NN in [13].In the traditional ADRC method, the adaptability in different operating environments cannot fulfill the accuracy required, because the parameters of NLSEF in ADRC method will be obtained as a fixed constant which is achieved based on experience or experimental data. Even in different operating conditions, the vehicle will also move under these set parameters, where some unexpected tracking error happens. If the parameters in NLSEF are changed by some method according to different conditions which mean different parameters and nonlinear fitting functions, the effect of controller will be improved obviously. In practical implementation, this method can be realized easily.This paper makes an effort to apply SVR-ADRC to the path following for an underactuated AUV with the disturbances of ocean current and model uncertainty. Firstly, the desired course angle for the steering control is derived by using line-of-sight (LOS) guidance law. Secondly, the ultimate control command is computed with ADRC, where the coefficients of NLSEF in SVR-ADRC are adjusted along with output of SVR to deal with nonlinear variations at different operating points. Finally, the computer simulation proves that the controller has satisfying path following characteristics, including high accuracy and strong robustness.


## 2. Math Model

It is well known that establishing an accurate dynamic model of AUV is of prime importance for their maneuvering prediction and control application. The notation of math model according to SNAME is mentioned in Table1.Table 1
The notation of math model according to SNAME.
DOF
Forces and moments
Linear and angular velocities
Positions and Euler angles
Motions in thex-direction (surge)
X
u
x
Motions in they-direction (sway)
Y
v
y
Motions in thez-direction (heave)
Z
w
z
Rotation about thex-axis (roll, heel)
K
p
ϕ
Rotation about they-axis (pitch, trim)
M
q
θ
Rotation about thez-axis (yaw)
N
r
ψFrom the control viewpoint, the 6-degree-of-freedom (DOF) nonlinear dynamics of AUV, together with hydrodynamic coefficients’ uncertainties, makes underwater vehicles a challenging system to be accurately modeled and controlled [17]. Research solutions based on the AUV dynamic model such as control algorithm, fault tolerance schemes, and navigation systems have great importance for them moving through an unknown, unstructured, and probably dangerous environment.


### 2.1. AUV Model

The modeling method chosen in this work is a geometrical-based analysis. It consists mainly of finding the parameters of the model, which have been well defined through physical laws describing the motion of a rigid body in a liquid environment.The dynamic model of AUV can be simplified as(1)m[u˙-vr+wq-xG(q2+r2)+yG(pq-r˙)+zG(pr+q˙)(q2+r2)]=XH+Xp+XR+XW,m[v˙-wp+ur-yG(r2+p2)+zG(qr-p˙)+xG(pq+r˙)(r2+p2)]=YH+Yp+YR+YW,m[w˙-uq+vp-zG(p2+q2)+xG(pr-q˙)+yG(rq+p˙)(p2+q2)]=NH+Np+NR+NW,Ixp˙+Ixyq˙+Ixzr˙+(Izxp+Izyq+Izr)q-(Iyxp+Iyq+Iyzr)r+m[yG(w˙+vp-uq)-zG(v˙+ur-wp)]=KH+Kp+KR+KW,Iyxp˙+Iyq˙+Iyzr˙+(Ixp+Ixyq+Ixzr)r-(Izxp+Izyq+Izr)p+m[zG(u˙+wq-vr)-xG(w˙+vp-uq)]=MH+Mp+MR+MW,Izxp˙+Izyq˙+Izr˙+(Iyxp+Iyq+Iyzr)p-(Ixp+Ixyq+Ixzr)q+m[xG(v˙+ur-wp)-yG(u˙+wp-vr)]=NH+Np+NR+NW.The kinematic equation is(2)ϕ˙=p+qsinϕtanθ+rcos⁡ϕtanθ,θ˙=qcos⁡ϕ-rsinϕ,ψ˙=qsinϕcos⁡θ+rcos⁡ϕcos⁡θ,ξ˙=ucos⁡ψcos⁡θ+v(cos⁡ψsinθsinϕ-sinψcos⁡ϕ)+w(cos⁡ψsinθcos⁡ϕ+sinψsinϕ),η˙=usinψcos⁡θ+v(sinψsinθsinϕ+cos⁡ψcos⁡ϕ)+w(sinψsinθcos⁡ϕ-cos⁡ψsinϕ),ζ˙=-usinθ+vcos⁡θsinϕ+wcos⁡θcos⁡ϕ.In this mathematical model,L and m represent the length and mass of AUV, respectively, Ix,Iy, and Iz are the inertia moment, and u,v,w,p,q, and r are the translational velocity and the angular velocity in body-fixed coordinates.


### 2.2. SVR-ADRC

#### 2.2.1. SVR

The SVR maps the input space to the high-dimensional feature space, and, in the feature space, the optimal linear regression function is built; then it can infer the output of any input. So, it has described the nonlinear relationship between the input and output space. With the training sample set, the regression function, which is used to describe the nonlinear relationship between the input and output space, is built by the machine learning; then the regression estimation of the output is finished.Given a set of data points,T={(x1,y1),…,(xl,yl)}∈(χ×γ)l, such that xi∈χ∈Rn is an input and yi∈γ=R is a target output, where i=1,…,l. Choosing a nonlinear mapping function φ(·), then map the input space to the high-dimensional feature space H; thus the optimal linear regression function can be constructed in H. Consider
(3)φ(·):Rn⟶H,w∈H,f(x)=(w·φ(x))+b.Based on the theory of SVM, the optimized goal can be achieved, and the standard form of SVR is(4)min⁡w,b,ξ,ξ*{12∥w∥2+C∑i=1l(ξi+ξi*)}.Then, an optimization problem has been formed:(5)min⁡J(w,b)=12∥w∥2+C∑i=1l(ξi+ξi*)s.t.{yi-(w·φ(xi))-b≤ε+ξi,i=1,…,l(w·φ(xi))+b-yi≤ε+ξi*,i=1,…,lξi,ξi*,C≥0,i=1,…,l.In order to solve the dual problem of (5), we introduce a kernel function as follows:
(6)min⁡α,α*12∑i,j=1l(αi-αi*)(aj-αj*)K(xi,xj)+ε∑i=1l(αi*+αi)-∑i=1lyi(αi*-αi)s.t.{∑i=1l(αi*-αi)=00≤ai,ai*<Cl.Then, the solution of original problem can be described as follows:(7)ω=∑i=1l(αi*-αi)φ(xi).Considering the stability of the system, we designb as follows:
(8)b=averagek{yk-∑i=1l(ai-ai*)K(xi,xk)+ε}.Combined with (3), the approximate function can be rewritten as
(9)f(x)=∑i=1l(α-i*-α-i)K(xi,x)+b.


#### 2.2.2. ADRC

ADRC is a relatively new control design concept and method. It is well known that the primary reason for using feedback control is to deal with the variation and uncertainties of the plant dynamics and unknown disturbance from the outside [18].The controller contains a tracking differentiator (TD), an extended state observer (ESO), and a nonlinear state error feedback (NLSEF) [19].The TD is functioned as below. The input signal passes through it and there are two or more outputs; one output signal is tracking the input signal, and other signals are the(n-1)th order differential signals.The input signal is assumed asv(t); then the tracking differentiator which is derived from second-order nonlinear system can be shown as follows:
(10)v˙1=v2,v˙2=r2f(v1-v(t),v2r).With the parameterr increasing, the solution of (10) is x1(r,t) which is adequately approaching to the input signal v(t) in any finite time. Thus, x˙1(r,t)=x2(r,t) which is the differentiation of x1(r,t) can be regarded as the differential signal of input signal v(t).Usually (10) can be changed as follows:
(11)v1(t+1)=v1(t)+h·v2(t),v2(t+1)=v2(t)+h·fhan(v1(t)-v0(t),v2(t),r,h),
where fhan(·) is a time optimal integrated function, whose detailed expression is described as follows:
(12)δ=rh,δ0=δh,y=v1(t)-v(t)+hv2(t),a0=δ2+8r|y|a={v2+a0-δ2sign⁡(y),|y|>δ0v2+yh,|y|≤δ0,fhan(·)={-rsign⁡(a),|a|>δ-raδ,|a|≤δ.The ESO was first proposed by Han [12] to estimate the total dynamics online, including the internal nonlinear dynamics and the external disturbance. The ESO is a primary component in ADRC. The observer results determine the control quality. A three-order ESO for the path following system is proposed as follows:
(13)e=z1-y,z˙1=z2-β01e,z˙2=z3-β02f1+bu(t),z3=-β03f2,
where f1 and f2 are usually chosen as fal(·) functions, and the specific form is shown as
(14)fal(e,α,δ)={|e|αsign⁡(e),|e|>δeδ1-α,|e|≤δ.In the ESO,z3(t) can track the real-time action variable of the acceleration in an open loop system. If the system has observability, and the acceleration is playing a role in it, the effect will be reflected in the output of the system; accordingly, the action variable may be extracted from output information. Based on the estimated value z3(t) of state x3(t) of the extended state observer, control variable can be regarded as (15) if the parameter b is known. Consider
(15)u=u0-z3(t)b,
where u0 is an initial control variable and b is a predefined parameter.The disturbance is assumed asω(t) in Figure 1. z1 and z2 are state variables of AUV; meanwhile z3(t) is the real-time action variable of unknown disturbance ω(t) and uncertain model.Figure 1
The architecture of ADRC.Ifa(t)=(z3(t))/b can compensate for the uncertain model and disturbance and define
(16)u(t)=u0(t)-a(t).Consideringe1=v1-z1, e2=v2-z2, the nonlinear allocation can be written as follows [20]:
(17)u0=β1fal(e1,α,δ)+β2fal(e2,α,δ),
where β1 and β2 are control gains.


#### 2.2.3. The Control Algorithm of SVR-ADRC

Complicated structure, multiparameter, and lacking adaptivity are the disadvantages of ADRC. It is known that the parameters of TD and ESO own a big range of adaptability, but the coefficients of ELSEF need to be adjusted according to different system work plot.The quadratic performance index is defined as(18)min⁡β1,β2J=12{P[v0(t+1)-y(t+1)]2+Q[u0(t)-u0(t-1)]2},
where P and Q are, respectively, weighted coefficient of the tracking error and control increment, v0(t) is control expectation, and y(t) is the output of control.The relationship between the input and output can be expressed as(19)y(t)=f(y(t-1),…,y(t-n),u0(t-1),…,u0(t-m))+ς(t),
where ς(t) is the system disturbance.Definex(t)=[y(t-1),…,y(t-n),u0(t-1),…,u0(t-m)].Then, (9) can be described as follows:
(20)ysvr(t)=∑i=1l(α-i*-α-i)K(xi,x(t))+b.With the help of practical linearization, a new formula can be obtained as follows:(21)ylin⁡=B-∑i=1nαiy(t-i)+∑i=1mηiu0(t-i),
where
(22)αi=-∂ysvr∂y(t-i)|x(t)=x(τ)=1σ2∑i=1l(ai-ai*)K(x,xi)∑k=1n[y(t-k)-ykα]|x(t)=x(τ),ηi=-∂ysvr∂u(t-i)|x(t)=x(τ)=1σ2∑i=1l(ai-ai*)K(x,xi)∑k=1m[u(t-k)-ukα]|x(t)=x(τ),B=y(τ)+∑i=1nαiy(τ-i)-∑i=1mηiu(τ-i),v0(t+1)-y(t+1)=v0(t+1)-ylin⁡(t+1)=v0(t+1)+∑i=1nαiy(t+1-i)-∑i=2mηiu0(t+1-i)-B-η1u0(t),C=v0(t+1)+∑i=1nαiy(t+1-i)-∑i=2mηiu0(t+1-i)-B.Considering the form ofu0(t), we define
(23)β(t)=[βe1(t)βe2(t)]T,Δβ(t)=[Δβe1(t)Δβe2(t)]T,β(t)=β(t-1)+Δβ(t),fe1(t)=fal(e1(t),a3,δ),fe2(t)=fal(e2(t),a4,δ),E(t)=[fe1(t)fe2(t)]T.Thus, (18) can be changed to(24)min⁡βe1,βe2J=12P{C-η1ET(t)[β(t-1)+Δβ(t)]}2+12Q{ET(t)[β(t-1)+Δβ(t)]-ET(t-1)β(t-1)}2,(25)∂J∂Δβ(t)=A(t)Δβ(t)+D(t)=0,(26)Δβ(t)=-A-1(t)D(t),
where(27)A(t)=(Pη12+Q)[fe12(t)fe1(t)fe2(t)fe1(t)fe2(t)fe22(t)],D(t)=[-CPη1fe1(t)+(Pη12+Q)fe1(t)ET(t)β(t-1)-Qfe1(t)ET(t-1)β(t-1)-CPη1fe2(t)+(Pη12+Q)fe2(t)ET(t)β(t-1)-Qfe2(t)ET(t-1)β(t-1)].


## 2.1. AUV Model

The modeling method chosen in this work is a geometrical-based analysis. It consists mainly of finding the parameters of the model, which have been well defined through physical laws describing the motion of a rigid body in a liquid environment.The dynamic model of AUV can be simplified as(1)m[u˙-vr+wq-xG(q2+r2)+yG(pq-r˙)+zG(pr+q˙)(q2+r2)]=XH+Xp+XR+XW,m[v˙-wp+ur-yG(r2+p2)+zG(qr-p˙)+xG(pq+r˙)(r2+p2)]=YH+Yp+YR+YW,m[w˙-uq+vp-zG(p2+q2)+xG(pr-q˙)+yG(rq+p˙)(p2+q2)]=NH+Np+NR+NW,Ixp˙+Ixyq˙+Ixzr˙+(Izxp+Izyq+Izr)q-(Iyxp+Iyq+Iyzr)r+m[yG(w˙+vp-uq)-zG(v˙+ur-wp)]=KH+Kp+KR+KW,Iyxp˙+Iyq˙+Iyzr˙+(Ixp+Ixyq+Ixzr)r-(Izxp+Izyq+Izr)p+m[zG(u˙+wq-vr)-xG(w˙+vp-uq)]=MH+Mp+MR+MW,Izxp˙+Izyq˙+Izr˙+(Iyxp+Iyq+Iyzr)p-(Ixp+Ixyq+Ixzr)q+m[xG(v˙+ur-wp)-yG(u˙+wp-vr)]=NH+Np+NR+NW.The kinematic equation is(2)ϕ˙=p+qsinϕtanθ+rcos⁡ϕtanθ,θ˙=qcos⁡ϕ-rsinϕ,ψ˙=qsinϕcos⁡θ+rcos⁡ϕcos⁡θ,ξ˙=ucos⁡ψcos⁡θ+v(cos⁡ψsinθsinϕ-sinψcos⁡ϕ)+w(cos⁡ψsinθcos⁡ϕ+sinψsinϕ),η˙=usinψcos⁡θ+v(sinψsinθsinϕ+cos⁡ψcos⁡ϕ)+w(sinψsinθcos⁡ϕ-cos⁡ψsinϕ),ζ˙=-usinθ+vcos⁡θsinϕ+wcos⁡θcos⁡ϕ.In this mathematical model,L and m represent the length and mass of AUV, respectively, Ix,Iy, and Iz are the inertia moment, and u,v,w,p,q, and r are the translational velocity and the angular velocity in body-fixed coordinates.


## 2.2. SVR-ADRC

### 2.2.1. SVR

The SVR maps the input space to the high-dimensional feature space, and, in the feature space, the optimal linear regression function is built; then it can infer the output of any input. So, it has described the nonlinear relationship between the input and output space. With the training sample set, the regression function, which is used to describe the nonlinear relationship between the input and output space, is built by the machine learning; then the regression estimation of the output is finished.Given a set of data points,T={(x1,y1),…,(xl,yl)}∈(χ×γ)l, such that xi∈χ∈Rn is an input and yi∈γ=R is a target output, where i=1,…,l. Choosing a nonlinear mapping function φ(·), then map the input space to the high-dimensional feature space H; thus the optimal linear regression function can be constructed in H. Consider
(3)φ(·):Rn⟶H,w∈H,f(x)=(w·φ(x))+b.Based on the theory of SVM, the optimized goal can be achieved, and the standard form of SVR is(4)min⁡w,b,ξ,ξ*{12∥w∥2+C∑i=1l(ξi+ξi*)}.Then, an optimization problem has been formed:(5)min⁡J(w,b)=12∥w∥2+C∑i=1l(ξi+ξi*)s.t.{yi-(w·φ(xi))-b≤ε+ξi,i=1,…,l(w·φ(xi))+b-yi≤ε+ξi*,i=1,…,lξi,ξi*,C≥0,i=1,…,l.In order to solve the dual problem of (5), we introduce a kernel function as follows:
(6)min⁡α,α*12∑i,j=1l(αi-αi*)(aj-αj*)K(xi,xj)+ε∑i=1l(αi*+αi)-∑i=1lyi(αi*-αi)s.t.{∑i=1l(αi*-αi)=00≤ai,ai*<Cl.Then, the solution of original problem can be described as follows:(7)ω=∑i=1l(αi*-αi)φ(xi).Considering the stability of the system, we designb as follows:
(8)b=averagek{yk-∑i=1l(ai-ai*)K(xi,xk)+ε}.Combined with (3), the approximate function can be rewritten as
(9)f(x)=∑i=1l(α-i*-α-i)K(xi,x)+b.


### 2.2.2. ADRC

ADRC is a relatively new control design concept and method. It is well known that the primary reason for using feedback control is to deal with the variation and uncertainties of the plant dynamics and unknown disturbance from the outside [18].The controller contains a tracking differentiator (TD), an extended state observer (ESO), and a nonlinear state error feedback (NLSEF) [19].The TD is functioned as below. The input signal passes through it and there are two or more outputs; one output signal is tracking the input signal, and other signals are the(n-1)th order differential signals.The input signal is assumed asv(t); then the tracking differentiator which is derived from second-order nonlinear system can be shown as follows:
(10)v˙1=v2,v˙2=r2f(v1-v(t),v2r).With the parameterr increasing, the solution of (10) is x1(r,t) which is adequately approaching to the input signal v(t) in any finite time. Thus, x˙1(r,t)=x2(r,t) which is the differentiation of x1(r,t) can be regarded as the differential signal of input signal v(t).Usually (10) can be changed as follows:
(11)v1(t+1)=v1(t)+h·v2(t),v2(t+1)=v2(t)+h·fhan(v1(t)-v0(t),v2(t),r,h),
where fhan(·) is a time optimal integrated function, whose detailed expression is described as follows:
(12)δ=rh,δ0=δh,y=v1(t)-v(t)+hv2(t),a0=δ2+8r|y|a={v2+a0-δ2sign⁡(y),|y|>δ0v2+yh,|y|≤δ0,fhan(·)={-rsign⁡(a),|a|>δ-raδ,|a|≤δ.The ESO was first proposed by Han [12] to estimate the total dynamics online, including the internal nonlinear dynamics and the external disturbance. The ESO is a primary component in ADRC. The observer results determine the control quality. A three-order ESO for the path following system is proposed as follows:
(13)e=z1-y,z˙1=z2-β01e,z˙2=z3-β02f1+bu(t),z3=-β03f2,
where f1 and f2 are usually chosen as fal(·) functions, and the specific form is shown as
(14)fal(e,α,δ)={|e|αsign⁡(e),|e|>δeδ1-α,|e|≤δ.In the ESO,z3(t) can track the real-time action variable of the acceleration in an open loop system. If the system has observability, and the acceleration is playing a role in it, the effect will be reflected in the output of the system; accordingly, the action variable may be extracted from output information. Based on the estimated value z3(t) of state x3(t) of the extended state observer, control variable can be regarded as (15) if the parameter b is known. Consider
(15)u=u0-z3(t)b,
where u0 is an initial control variable and b is a predefined parameter.The disturbance is assumed asω(t) in Figure 1. z1 and z2 are state variables of AUV; meanwhile z3(t) is the real-time action variable of unknown disturbance ω(t) and uncertain model.Figure 1
The architecture of ADRC.Ifa(t)=(z3(t))/b can compensate for the uncertain model and disturbance and define
(16)u(t)=u0(t)-a(t).Consideringe1=v1-z1, e2=v2-z2, the nonlinear allocation can be written as follows [20]:
(17)u0=β1fal(e1,α,δ)+β2fal(e2,α,δ),
where β1 and β2 are control gains.


### 2.2.3. The Control Algorithm of SVR-ADRC

Complicated structure, multiparameter, and lacking adaptivity are the disadvantages of ADRC. It is known that the parameters of TD and ESO own a big range of adaptability, but the coefficients of ELSEF need to be adjusted according to different system work plot.The quadratic performance index is defined as(18)min⁡β1,β2J=12{P[v0(t+1)-y(t+1)]2+Q[u0(t)-u0(t-1)]2},
where P and Q are, respectively, weighted coefficient of the tracking error and control increment, v0(t) is control expectation, and y(t) is the output of control.The relationship between the input and output can be expressed as(19)y(t)=f(y(t-1),…,y(t-n),u0(t-1),…,u0(t-m))+ς(t),
where ς(t) is the system disturbance.Definex(t)=[y(t-1),…,y(t-n),u0(t-1),…,u0(t-m)].Then, (9) can be described as follows:
(20)ysvr(t)=∑i=1l(α-i*-α-i)K(xi,x(t))+b.With the help of practical linearization, a new formula can be obtained as follows:(21)ylin⁡=B-∑i=1nαiy(t-i)+∑i=1mηiu0(t-i),
where
(22)αi=-∂ysvr∂y(t-i)|x(t)=x(τ)=1σ2∑i=1l(ai-ai*)K(x,xi)∑k=1n[y(t-k)-ykα]|x(t)=x(τ),ηi=-∂ysvr∂u(t-i)|x(t)=x(τ)=1σ2∑i=1l(ai-ai*)K(x,xi)∑k=1m[u(t-k)-ukα]|x(t)=x(τ),B=y(τ)+∑i=1nαiy(τ-i)-∑i=1mηiu(τ-i),v0(t+1)-y(t+1)=v0(t+1)-ylin⁡(t+1)=v0(t+1)+∑i=1nαiy(t+1-i)-∑i=2mηiu0(t+1-i)-B-η1u0(t),C=v0(t+1)+∑i=1nαiy(t+1-i)-∑i=2mηiu0(t+1-i)-B.Considering the form ofu0(t), we define
(23)β(t)=[βe1(t)βe2(t)]T,Δβ(t)=[Δβe1(t)Δβe2(t)]T,β(t)=β(t-1)+Δβ(t),fe1(t)=fal(e1(t),a3,δ),fe2(t)=fal(e2(t),a4,δ),E(t)=[fe1(t)fe2(t)]T.Thus, (18) can be changed to(24)min⁡βe1,βe2J=12P{C-η1ET(t)[β(t-1)+Δβ(t)]}2+12Q{ET(t)[β(t-1)+Δβ(t)]-ET(t-1)β(t-1)}2,(25)∂J∂Δβ(t)=A(t)Δβ(t)+D(t)=0,(26)Δβ(t)=-A-1(t)D(t),
where(27)A(t)=(Pη12+Q)[fe12(t)fe1(t)fe2(t)fe1(t)fe2(t)fe22(t)],D(t)=[-CPη1fe1(t)+(Pη12+Q)fe1(t)ET(t)β(t-1)-Qfe1(t)ET(t-1)β(t-1)-CPη1fe2(t)+(Pη12+Q)fe2(t)ET(t)β(t-1)-Qfe2(t)ET(t-1)β(t-1)].


## 2.2.1. SVR

The SVR maps the input space to the high-dimensional feature space, and, in the feature space, the optimal linear regression function is built; then it can infer the output of any input. So, it has described the nonlinear relationship between the input and output space. With the training sample set, the regression function, which is used to describe the nonlinear relationship between the input and output space, is built by the machine learning; then the regression estimation of the output is finished.Given a set of data points,T={(x1,y1),…,(xl,yl)}∈(χ×γ)l, such that xi∈χ∈Rn is an input and yi∈γ=R is a target output, where i=1,…,l. Choosing a nonlinear mapping function φ(·), then map the input space to the high-dimensional feature space H; thus the optimal linear regression function can be constructed in H. Consider
(3)φ(·):Rn⟶H,w∈H,f(x)=(w·φ(x))+b.Based on the theory of SVM, the optimized goal can be achieved, and the standard form of SVR is(4)min⁡w,b,ξ,ξ*{12∥w∥2+C∑i=1l(ξi+ξi*)}.Then, an optimization problem has been formed:(5)min⁡J(w,b)=12∥w∥2+C∑i=1l(ξi+ξi*)s.t.{yi-(w·φ(xi))-b≤ε+ξi,i=1,…,l(w·φ(xi))+b-yi≤ε+ξi*,i=1,…,lξi,ξi*,C≥0,i=1,…,l.In order to solve the dual problem of (5), we introduce a kernel function as follows:
(6)min⁡α,α*12∑i,j=1l(αi-αi*)(aj-αj*)K(xi,xj)+ε∑i=1l(αi*+αi)-∑i=1lyi(αi*-αi)s.t.{∑i=1l(αi*-αi)=00≤ai,ai*<Cl.Then, the solution of original problem can be described as follows:(7)ω=∑i=1l(αi*-αi)φ(xi).Considering the stability of the system, we designb as follows:
(8)b=averagek{yk-∑i=1l(ai-ai*)K(xi,xk)+ε}.Combined with (3), the approximate function can be rewritten as
(9)f(x)=∑i=1l(α-i*-α-i)K(xi,x)+b.


## 2.2.2. ADRC

ADRC is a relatively new control design concept and method. It is well known that the primary reason for using feedback control is to deal with the variation and uncertainties of the plant dynamics and unknown disturbance from the outside [18].The controller contains a tracking differentiator (TD), an extended state observer (ESO), and a nonlinear state error feedback (NLSEF) [19].The TD is functioned as below. The input signal passes through it and there are two or more outputs; one output signal is tracking the input signal, and other signals are the(n-1)th order differential signals.The input signal is assumed asv(t); then the tracking differentiator which is derived from second-order nonlinear system can be shown as follows:
(10)v˙1=v2,v˙2=r2f(v1-v(t),v2r).With the parameterr increasing, the solution of (10) is x1(r,t) which is adequately approaching to the input signal v(t) in any finite time. Thus, x˙1(r,t)=x2(r,t) which is the differentiation of x1(r,t) can be regarded as the differential signal of input signal v(t).Usually (10) can be changed as follows:
(11)v1(t+1)=v1(t)+h·v2(t),v2(t+1)=v2(t)+h·fhan(v1(t)-v0(t),v2(t),r,h),
where fhan(·) is a time optimal integrated function, whose detailed expression is described as follows:
(12)δ=rh,δ0=δh,y=v1(t)-v(t)+hv2(t),a0=δ2+8r|y|a={v2+a0-δ2sign⁡(y),|y|>δ0v2+yh,|y|≤δ0,fhan(·)={-rsign⁡(a),|a|>δ-raδ,|a|≤δ.The ESO was first proposed by Han [12] to estimate the total dynamics online, including the internal nonlinear dynamics and the external disturbance. The ESO is a primary component in ADRC. The observer results determine the control quality. A three-order ESO for the path following system is proposed as follows:
(13)e=z1-y,z˙1=z2-β01e,z˙2=z3-β02f1+bu(t),z3=-β03f2,
where f1 and f2 are usually chosen as fal(·) functions, and the specific form is shown as
(14)fal(e,α,δ)={|e|αsign⁡(e),|e|>δeδ1-α,|e|≤δ.In the ESO,z3(t) can track the real-time action variable of the acceleration in an open loop system. If the system has observability, and the acceleration is playing a role in it, the effect will be reflected in the output of the system; accordingly, the action variable may be extracted from output information. Based on the estimated value z3(t) of state x3(t) of the extended state observer, control variable can be regarded as (15) if the parameter b is known. Consider
(15)u=u0-z3(t)b,
where u0 is an initial control variable and b is a predefined parameter.The disturbance is assumed asω(t) in Figure 1. z1 and z2 are state variables of AUV; meanwhile z3(t) is the real-time action variable of unknown disturbance ω(t) and uncertain model.Figure 1
The architecture of ADRC.Ifa(t)=(z3(t))/b can compensate for the uncertain model and disturbance and define
(16)u(t)=u0(t)-a(t).Consideringe1=v1-z1, e2=v2-z2, the nonlinear allocation can be written as follows [20]:
(17)u0=β1fal(e1,α,δ)+β2fal(e2,α,δ),
where β1 and β2 are control gains.


## 2.2.3. The Control Algorithm of SVR-ADRC

Complicated structure, multiparameter, and lacking adaptivity are the disadvantages of ADRC. It is known that the parameters of TD and ESO own a big range of adaptability, but the coefficients of ELSEF need to be adjusted according to different system work plot.The quadratic performance index is defined as(18)min⁡β1,β2J=12{P[v0(t+1)-y(t+1)]2+Q[u0(t)-u0(t-1)]2},
where P and Q are, respectively, weighted coefficient of the tracking error and control increment, v0(t) is control expectation, and y(t) is the output of control.The relationship between the input and output can be expressed as(19)y(t)=f(y(t-1),…,y(t-n),u0(t-1),…,u0(t-m))+ς(t),
where ς(t) is the system disturbance.Definex(t)=[y(t-1),…,y(t-n),u0(t-1),…,u0(t-m)].Then, (9) can be described as follows:
(20)ysvr(t)=∑i=1l(α-i*-α-i)K(xi,x(t))+b.With the help of practical linearization, a new formula can be obtained as follows:(21)ylin⁡=B-∑i=1nαiy(t-i)+∑i=1mηiu0(t-i),
where
(22)αi=-∂ysvr∂y(t-i)|x(t)=x(τ)=1σ2∑i=1l(ai-ai*)K(x,xi)∑k=1n[y(t-k)-ykα]|x(t)=x(τ),ηi=-∂ysvr∂u(t-i)|x(t)=x(τ)=1σ2∑i=1l(ai-ai*)K(x,xi)∑k=1m[u(t-k)-ukα]|x(t)=x(τ),B=y(τ)+∑i=1nαiy(τ-i)-∑i=1mηiu(τ-i),v0(t+1)-y(t+1)=v0(t+1)-ylin⁡(t+1)=v0(t+1)+∑i=1nαiy(t+1-i)-∑i=2mηiu0(t+1-i)-B-η1u0(t),C=v0(t+1)+∑i=1nαiy(t+1-i)-∑i=2mηiu0(t+1-i)-B.Considering the form ofu0(t), we define
(23)β(t)=[βe1(t)βe2(t)]T,Δβ(t)=[Δβe1(t)Δβe2(t)]T,β(t)=β(t-1)+Δβ(t),fe1(t)=fal(e1(t),a3,δ),fe2(t)=fal(e2(t),a4,δ),E(t)=[fe1(t)fe2(t)]T.Thus, (18) can be changed to(24)min⁡βe1,βe2J=12P{C-η1ET(t)[β(t-1)+Δβ(t)]}2+12Q{ET(t)[β(t-1)+Δβ(t)]-ET(t-1)β(t-1)}2,(25)∂J∂Δβ(t)=A(t)Δβ(t)+D(t)=0,(26)Δβ(t)=-A-1(t)D(t),
where(27)A(t)=(Pη12+Q)[fe12(t)fe1(t)fe2(t)fe1(t)fe2(t)fe22(t)],D(t)=[-CPη1fe1(t)+(Pη12+Q)fe1(t)ET(t)β(t-1)-Qfe1(t)ET(t-1)β(t-1)-CPη1fe2(t)+(Pη12+Q)fe2(t)ET(t)β(t-1)-Qfe2(t)ET(t-1)β(t-1)].


## 3. The Path Following Control of SVR-ADRC

### 3.1. The Steering Control Based on SVR-ADRC

T
0 is the transient process time of tracking control. Combined with (10), the relationship between T0 and r0 can be written as follows:
(28)r0(T0/2)22=12v(t).
Then, the max tracking velocity of the system can be calculated as
(29)vmax⁡=r0T02=4T02v(t)T02=2v(t)T0.Considering the relationship between the max tracking velocity and limit turning rate, a coordinated control scheme can be designed for the steering control system.The function of steering control is to adjust the rudder angle of AUV based on the system input [21]. The SVR can establish a function that describes the relationship between the input and output,and, with the function we obtained, the quadratic index can provide the parameters of NLSEF to improve the performance of it.According to Figure2, there are four parts, and they are, respectively, TD (30), ESO (31), NLSEF (33), and SVR (32), which provides the variables βψe1(t) and βψe2(t) as the time changes by combining (26). Consider
(30)vψ1=vψ1+h·vψ2,vψ2=vψ2+h·fhan(vψ1-vψ,vψ2,g(·),h),(31)eψ=zψ1-ψ,z˙ψ1=zψ2-β1eψ,z˙ψ2=zψ3-β2fal(eψ,α1,δ1)+b0uψ,z˙ψ3=-β3fal(eψ,α2,δ2),(32)βψe1(t)=βψe1(t-1)+Δβψe1(t),βψe2(t)=βψe2(t-1)+Δβψe2(t),(33)eψ1=vψ1-zψ1,eψ2=vψ2-zψ2,uψ0=βψe1(t)fal(eψ1,α3,δ3)+βψe2(t)fal(eψ2,α4,δ4),
where g(·)=g(vψ,vmax⁡) is heading-turning rate coordinated control, αi and δi(i=1,2,3,4) are filter parameters, and βψe1(t) and βψe2(t) are optimal parameters.Figure 2
The algorithm of SVR-ADRC for steering control.Finally, the control input can be calculated as(34)uψ=uψ0-zψ3b0.


### 3.2. The Path Following Control Based on SVR-ADRC

Based on the steering controller designed above, the path following control architecture can be obtained as in Figure3. The path following controller consists of two parts: the controller of inner loop is the steering controller and the other is the outer loop which is used to calculate the heading command for the inner loop from the path following error.Figure 3
The architecture of path following controller.The inner loop controller is the steering controller which is introduced above, and the outer loop can provide the actual heading commandψr with the path command and path error obtained by using the path planning and the position information calculated from the output of the system. Then, actual heading command ψr is regarded as the input of the steering controller. Through the steering controller, the actual heading command can be translated into the rudder angle of AUV, and thus the AUV can achieve the expect motion.Like the steering controller, the path error controller also has four parts, which are, respectively, TD (35), ESO (36), NLSEF (38), and SVR (37) which provides the variable βle1(t) and βle2(t) as the time changes by combining (26). Consider
(35)vl1=vl1+h·vl2,vl2=vl2+h·fhan(vl1-vl,vl2,g(·),h),(36)el=zl1-Δ,z˙l1=zl2-β1el,z˙l2=zl3-β2fal(el,α1,δ1)+blul,z˙l3=-β3fal(el,α2,δ2),(37)βle1(t)=βle1(t-1)+Δβle1(t),βle2(t)=βle2(t-1)+Δβle2(t),(38)el1=vl1-zl1,el2=vl2-zl2,ul0=βle1(t)fal(el1,α3,δ3)+βle2(t)fal(el2,α4,δ4),
where βle1(t) and βle2(t) are optimal parameters, Δ is the path following error, and vl is the expected path error. Consider
(39)ul=ul0-zl3bl.Finally, combined with the azimuth angleψξ and modified heading command ul, the actual heading command ψr can be obtained as follows:
(40)ψr=ψξ+ul.


## 3.1. The Steering Control Based on SVR-ADRC

T
0 is the transient process time of tracking control. Combined with (10), the relationship between T0 and r0 can be written as follows:
(28)r0(T0/2)22=12v(t).
Then, the max tracking velocity of the system can be calculated as
(29)vmax⁡=r0T02=4T02v(t)T02=2v(t)T0.Considering the relationship between the max tracking velocity and limit turning rate, a coordinated control scheme can be designed for the steering control system.The function of steering control is to adjust the rudder angle of AUV based on the system input [21]. The SVR can establish a function that describes the relationship between the input and output,and, with the function we obtained, the quadratic index can provide the parameters of NLSEF to improve the performance of it.According to Figure2, there are four parts, and they are, respectively, TD (30), ESO (31), NLSEF (33), and SVR (32), which provides the variables βψe1(t) and βψe2(t) as the time changes by combining (26). Consider
(30)vψ1=vψ1+h·vψ2,vψ2=vψ2+h·fhan(vψ1-vψ,vψ2,g(·),h),(31)eψ=zψ1-ψ,z˙ψ1=zψ2-β1eψ,z˙ψ2=zψ3-β2fal(eψ,α1,δ1)+b0uψ,z˙ψ3=-β3fal(eψ,α2,δ2),(32)βψe1(t)=βψe1(t-1)+Δβψe1(t),βψe2(t)=βψe2(t-1)+Δβψe2(t),(33)eψ1=vψ1-zψ1,eψ2=vψ2-zψ2,uψ0=βψe1(t)fal(eψ1,α3,δ3)+βψe2(t)fal(eψ2,α4,δ4),
where g(·)=g(vψ,vmax⁡) is heading-turning rate coordinated control, αi and δi(i=1,2,3,4) are filter parameters, and βψe1(t) and βψe2(t) are optimal parameters.Figure 2
The algorithm of SVR-ADRC for steering control.Finally, the control input can be calculated as(34)uψ=uψ0-zψ3b0.


## 3.2. The Path Following Control Based on SVR-ADRC

Based on the steering controller designed above, the path following control architecture can be obtained as in Figure3. The path following controller consists of two parts: the controller of inner loop is the steering controller and the other is the outer loop which is used to calculate the heading command for the inner loop from the path following error.Figure 3
The architecture of path following controller.The inner loop controller is the steering controller which is introduced above, and the outer loop can provide the actual heading commandψr with the path command and path error obtained by using the path planning and the position information calculated from the output of the system. Then, actual heading command ψr is regarded as the input of the steering controller. Through the steering controller, the actual heading command can be translated into the rudder angle of AUV, and thus the AUV can achieve the expect motion.Like the steering controller, the path error controller also has four parts, which are, respectively, TD (35), ESO (36), NLSEF (38), and SVR (37) which provides the variable βle1(t) and βle2(t) as the time changes by combining (26). Consider
(35)vl1=vl1+h·vl2,vl2=vl2+h·fhan(vl1-vl,vl2,g(·),h),(36)el=zl1-Δ,z˙l1=zl2-β1el,z˙l2=zl3-β2fal(el,α1,δ1)+blul,z˙l3=-β3fal(el,α2,δ2),(37)βle1(t)=βle1(t-1)+Δβle1(t),βle2(t)=βle2(t-1)+Δβle2(t),(38)el1=vl1-zl1,el2=vl2-zl2,ul0=βle1(t)fal(el1,α3,δ3)+βle2(t)fal(el2,α4,δ4),
where βle1(t) and βle2(t) are optimal parameters, Δ is the path following error, and vl is the expected path error. Consider
(39)ul=ul0-zl3bl.Finally, combined with the azimuth angleψξ and modified heading command ul, the actual heading command ψr can be obtained as follows:
(40)ψr=ψξ+ul.


## 4. Simulation Results

Two simulations are designed to demonstrate the path following control of the AUV using the SVR-ADRC and ADRC, respectively. In the simulation, the depth of AUV is assumed to have no change and keep moving in the horizontal plane with the ocean current disturbance, while the vehicle implements the searching and patrolling mission. Furthermore, there is a current interference around the AUV during mission. The current speed is 0.2 m/s, and its angle is 0 degree (NED).It is assumed that the speed of AUV is 2 knot, initial position is at (0, 0) m, and initial heading is 50 degree. The planned path, which consists of three semicircles and four straight lines, starts at the point of (10, 100) m and the end is at (460, 100) m.Figure4 shows that the path following result by SVR-ADRC is better than ADRC. The position errors in the simulation of ADRC are more obvious, especially in the connected areas between the semicircle and straight line. In these areas, surge and overshoot happen. At (10, 600) in Figure 4, there is about 2.5 m distance error the same as the points (310, 600) and (160, 100). Additionally, during the path following mission, the position errors are decreased at the connected points (160, 600), (310, 100), and (460, 600). However, the position errors are eliminated with the help of SVR-ADRC.Figure 4
The result of AUV path following.Figure5 shows the heading responses of the AUV with the two control algorithms. With ADRC, the heading angle has relatively obvious oscillation which becomes worse when the vehicle is turning around near the connected point. Without changing the parameters of the ADRC, the efficiency, accuracy, and rapidity of the path following could be affected under current and trajectory transition on path. On the contrary, the heading response using the SVR-ADRC algorithm indicates better feasibility and robustness. It is demonstrated that the robustness and adaptability are guaranteed by SVR-ADRC which can regulate the parameters in ADRC.Figure 5
The heading angle of AUV.Figure6 shows different position errors in the path following mission. Combined with Figure 1, it is indicated that the improvement of SVR-ADRC is significant. Figure 7 shows that the SVR-ADRC has better interference immunity than the ADRC. When the AUV is coming close to the first point and moving onto the path, the rudder angle will be actuated obviously and has a big overshooting with ADRC. But, with the other control algorithm, it shows characteristics of stability, continuity, and robustness.Figure 6
The position error.Figure 7
The response of rudder angle.Compared with sliding mode control method from Figure4 to Figure 7, the advantages of SVR-ADRC are obviously shown in stability, rapidity, and accuracy. Though the sliding mode control also has good performance in some aspects, it has not restricted the negative effect resulting from the external disturbance. In simulation, the chatting phenomenon is very obvious with sliding mode control method.In Figure8, βφe1 and βφe2 are changed along with the path following control. When it does not arrive at the semicircle, the current has almost no influence on the heading of AUV, so the parameters have almost no changing. On the other hand, when the vehicle is moving to the starting point and on the semicircle, the current has a big influence on the motion of AUV, so the parameters change rapidly. In addition, the changing parameters in Figure 8 prove that the SVR is stable and convergent.Figure 8
The regulated parameters ofβφe1 and βφe2.In Figure9, βle1 and βle2 are also changed along with the path error control. Like βφe1 and βφe2 in the steering control, when the AUV is sailing in the straight line, there is no current influence, so the parameters have little fluctuate. On the other hand, when it is sailing in the semicircle, the ocean current leads the parameters of NLSEF in Figures 8 and 9 to have fluctuation.Figure 9
The regulated parameters ofβle1 and βle2.


## 5. Conclusions

In this paper, a nonlinear path following in the horizontal plane for an underactuated AUV in the presence of ocean current and uncertain parameters of ADRC was proposed by using the simulation result. The designed SVR-ADRC path following controller is robust to nonlinear motion, the model parameter perturbations, and the external disturbances. The continuous changing parameters of NLSEF by SVR in the simulation indicated its stabilization and a better control effect. Finally, the simulation experiments had also verified good following result. And it was demonstrated that the proposed algorithm had high accuracy, strong robustness, and stability. In the future work, the SVR-ADRC will be applied to path following in 3D. In addition, more attention should be paid to the development of SVR-ADRC.



---

*Source: 476419-2014-03-13.xml*