chapter 13 – advanced motion control systems
TRANSCRIPT
1 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Chapter 13 – Advanced Motion Control Systems 13.1 Linear-‐Quadra/c Op/mal Control 13.2 State Feedback Lineariza/on 13.3 Integrator Backstepping 13.4 Sliding-‐Mode Control
State-of-the-art motion control systems are usually designed using PID control methods as described in Chapter 12. This chapter presents more advanced methods for optimal and nonlinear control of marine craft. The main motivation for this is design simplicity and performance. Nonlinear control theory can often yield a more intuitive design than linear theory. Linearization destroys model properties and the results can be a more complicated design process with limited physical insight. Chapter 13 is written for the advanced user who want to exploit a more advanced model and use this model to improve the performance of the control system. Readers of this chapter need background in optimal and nonlinear control theory.
x! ! Ax " Bu " Ew #
!" ! J!!!"#M#" " C!#"# " D!#"# " g!!" ! $ " w
# #
2 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Chapter 13.1 Linear-Quadratic Optimal Control
xu B
G
A
Cyxd=0
full state feedback
u B
E
G1
G2
G3
y
w=constant
yd=constant
disturbance feedforward
reference feedforward
full state feedback
A
x C
Op/mal set-‐point regula/on
Op/mal trajectory-‐ tracking control
x! ! Ax " Bu " Ew #
Op/mal mo/on control systems are designed by considering the linearized equa/ons of mo/on in the following form:
3 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
A linear-quadratic regulator (LQR) can be designed for the state-space model
x∈ℝⁿ, u∈ℝr, y∈ℝm In order to design a linear optimal control law the system (A,B,C) must be controllable.
13.1.1 Linear-Quadratic Optimal Regulator
Defini&on 13.1 (Controllability) The state and input matrix (A,B) must sa/sfy the controllability condi/on to ensure that
there exists a control u(t) which can drive any arbitrary state x(t0) to another arbitrary state x(t1) for t1 > t0. The controllability condi/on requires that the matrix:
must be of full row rank such that a least a right inverse exists.
C ! !B | AB | . . . | "A#n!1B$ #
!x " Ax # Buy " Cx
# #
4 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.1 Linear-Quadratic Optimal Regulator Design a linear op/mal controller for set-‐point regula/on:
!x " Ax # Buy " Cx
# #
J ! minu12 !0
T!y!Qy " u!Ru"dt
! 12 !0
T!x!C!QCx " u!Ru" dt #
Design weights: Q = QT ≥ 0 (output weight) R = RT > 0 (input weight)
u ! !R!1B!P"x ! Gx
P!A ! A!P! " P!BR"1B!P! ! C!QC " 0 Algebraic Ricca/ Equa/on (ARE) solve for P = PT > 0
Linear Quadra/c Regulator
xu B
G
A
Cyxd=0
full state feedback
regulate y = Cx to zero
Performance index:
Op/mal solu/on (Athans and Falb 1966):
5 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.1 Linear Quadratic Optimal Regulator
Matlab Example: MSS Toolbox command ExLQR.m
Q ! diag([1]); % user editable tracking error weights (dim m x m)
R ! diag([1]); % user editable input weights (dim r x r)
% System matrices
A ! [0 1; -1 -2]; % user editable state matrix (dim n x n)
B ! [0; 1]; % user editable input matrix (dim n x r)
C ! [1 0]; % user editable output matrix (dim m x n)
% Compute the optimal feedback gain matrix G
[K,P,E] ! lqr(A,B,C’*Q*C,R);
G ! -K
6 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.2 LQR Design for Trajectory Tracking and Integral Action Transforma&on of the LQ Tracker to a Set-‐Point Regula&on Problem
The LQR can be redesigned to track a /me-‐varying reference trajectory xd for a large class of mechanical systems possessing certain structural proper/es.
Two solu/ons will be presented: – Simple solu/on
Transforma/on of the trajectory tracking problem to a LQ set-‐point regula/on problem using reference feedforward. Hence, the solu/on can be found by solving the Algebraic Ricca, Equa0on (ARE)
– General solu/on Compute the op/mal reference and disturbance feedforward gains by solving a linear quadra/c performance index. This solu/on requires that a set of Differen0al Ricca0 Equa0ons (DRE) are solved.
7 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.2 LQR Design for Trajectory Tracking and Integral Action Example 13.2 (Mass-‐Damper-‐Spring Trajectory-‐Tracking Problem)
Original model is transformed to an Error Dynamics Model:
x! " vmv! # dv # kx " !
! ! !FF " !LQ
!FF ! mv" d # dvd # kxdLQ feedback+ reference feedforward
The desired states are computed using a reference model with r as input: The trajectory-‐tracking control problem has now been transformed to a LQ set-‐point regula/on problem:
më ! de ! ke " !LQ
x! d " vd
v! d " !!vd, r" # #
x! "0 1
! dm ! k
mA
x #01m
B
u
e ! 1 0C
x
e ! x ! xd, ė ! v ! vd
Solve this as a standard LQR problem where u ! !LQ
x !!e, ė"!
8 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.2 LQR Design for Trajectory Tracking and Integral Action Integral Ac&on
An integral state z:
is augmented to the state vector x such that:
x! " Ax # Bu
ż! y ! Cx
y ! Cx
x! a ! Aaxa"Bau Aa !0 C0 A
, Ba !0B
xa ! !z!, x!"!Hence, the solu/on of the LQR set-‐point regula/on problem for the augmented state-‐space model is:
u ! !R!1Ba!P"xa
! !R!1!0 B!"P11 P12
P21 P22
zx
! !R!1B!P12Kiz ! R!1B!P22
Kpx #
P!Aa ! Aa!P! " P!BaR"1Ba!P! !Qa " 0
Op/mal LQ controller with integral ac/on (feedback from the state z)
z ! !0
t e!!" d!
J ! minu
12 !0
t!xa!Qaxa " u!Ru"d! #
9 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ TrajectoryTracking Problem
Model Assump&on: the state x and disturbance w are measured
!x " Ax # Bu ! Ewy " Cx
# #
Reference Feedforward Assump&ons:
We consider a /me-‐varying reference system:
x! d ! "!xd , r!yd ! Cxd
# #
!!xd,r! " Adxd ! Bdr
r = commanded input
If x and w are es/mated using a Kalman filter, stability can be proven by applying a separa/on principle (LQG control)
10 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem Disturbance Feedforward Assump&ons: Two cases of disturbance feedforward are considered:
1. The disturbance vector w = constant for all t > Tp where Tp is the present /me.
An example of this is a ship exposed to constant (or at least slowly varying) wind forces. This is a reasonable assump/on since the average wind speed and direc/on are not likely to change in minutes.
2. The disturbance w = w(t) varies as a func/on of /me t for future /me t > Tp This is the case for most physical disturbances. A feedforward solu/on requires that w is known (or at least es/mated) for t ≥ 0. In many cases this is unrealis/c so the best we can do is to assume that w(t) = w(Tp) = constant e.g. in a finite future /me horizon so that it conforms to Case 1 above.
Tp t w = constant
11 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem Control Objec&ve Design a LQ op/mal tracking controller using a /me-‐varying reference trajectory yd
Assume that the desired output yd = Cxd is known for /me t ∈ [0, T] where T is the final /me and xd is the desired state vector.
The goal is to design an op/mal tracking controller that tracks the desired output
This is a finite /me-‐horizon op/mal control problem which can be solved by using the Differen/al Ricca/ Equa/on (DRE); Athans and Falb (1996), pp. 793-‐801.
e ! y ! yd ! C!x ! xd!
J ! minu12 e
!!T"Qfe!T" " 12 !t0
T!e!Qe " u!Ru!dt
subject to x! " Ax # Bu # Ew, x!0" ! x0 #
Design weights: Qf = final tracking error Q = tracking error R = input
12 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem Linear reference generator
Performance index:
Solu/on for Linear Time-‐Varying (LTV) Systems
x! d ! Adxd " Bdry ! Cxd
# #
e ! y ! yd
u ! !R!1B!!Px " h1 " h2"
P! "!PA ! A!P ! PBR!1B!P ! "Q#h1" ! !A ! BR!1B!P"!h1 ! "Qxd#h2" ! !A ! BR!1B!P"!h2!PEw
# # #
P!T" ! Q! fh1!T" ! !Q! fxd!T"
h2!T" ! 0
#
#
#
J ! minu12 e
!!T"Qfe!T" " 12 !t0
T!e!Qe " u!Ru!dt
subject to x! " Ax # Bu # Ew, x!0" ! x0 # state feedback reference feedforward disturbance feedforward
!Q " C!QC ! 0 #
Q! f ! C!QfC
13 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem Numerical Solu&on of Differen&al Equa&ons No/ce that the ini/al condi/ons for P, h1 and h2 are not known, but the final condi/ons at
/me t = T are known. Consequently, these equa/ons have to be integrated backward in /me (a priori) to find the
ini/al condi/ons, and then be executed forward in /me again with the closed-‐loop plant from [0, T].
x! " f!x, t! ! G!x, t!u t ! "T, 0#
! dx!T!!!d! ! f!x"T ! !!,T ! !! " G!x!T ! !",T ! !!u"T ! !!
dz!!!d! ! !f!z"!!,T ! !! ! G!z!!", T ! !!u"T ! !!
A nonlinear system can be simulated backwards in /me by the following change of integra/on variable t = T – τ with dt = -dτ
z!!" ! x!T ! !"Finally, let:
integrate forward in /me
integrate backward in /me
14 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem Example 13.2 (Op&mal Time-‐Varying LQ Trajectory-‐Tracking Problem) Mass-‐damper-‐spring system:
x! !0 1!1 !2
x "01
u "01
w
y ! 1 0 x
#
#
x! d !0 1!1 !1
xd "01
r
yd ! 1 0 xd
#
#
r ! sin!t"
w ! cos!t"disturbance is known for all t
Reference model:
See Matlab MSS toolbox script ExLQFinHor.m
15 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem
Op/mal solu/ons found by backward integra/on. Final condi/ons at T = 10 s: P(T) = 0 h1 = 0 h2 = 0 see MSS toolbox ExLQFinHor.m
16 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem
Perfect tracking with reference feedforward r(t) = sin(t) is the input to the reference model w(t) = cos(t) is assumed known
17 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem Approximate Solu&on for Linear Time-‐Invariant Systems For the case:
the steady-‐state solu/ons of P, h1 and h2 can be used.
xd ! constant, w ! constant, ! t " !0,T1".
u B
E
G1
G2
G3
y
w=constant
yd=constant
disturbance feedforward
reference feedforward
full state feedback
A
x C
u ! G1 x "G2 yd "G3w
G1 ! !R!1B!P"
G2 ! !R!1B!!A " BG1"!!C!QG3 ! R!1B!!A " BG1"!!P"E
# # #
can be relaxed to slowly varying
This gives:
18 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.3 General Solution of the LQ Trajectory-Tracking Problem
The function lqtracker.m is implemented in the MSS toolbox for computation of the matrices G₁,G₂ and G₃.
%Design matrices
Q ! diag([1]); % tracking error weights
R ! diag([1]); % input weights
% System matrices
A ! [0 1; -1 -2]; % state matrix
B ! [0; 1]; % input matrix
C ! [1 0]; % output matrix
% Optimal gain matrices
[G1,G2,G3] ! lqtracker(A,B,C,Q,R)
Matlab: The optimal trajectory tracking controller is computedusing ExLQtrack.m:
function [G1,G2,G3] ! lqtracker(A,B,C,Q,R)
[K,P,E] ! lqr(A,B,C’*Q*C,R);
G1 ! -inv(R)*B’*P;
Temp ! inv((A"B*G1)’);
G2 ! -inv(R)*B’*Temp*C’*Q;
G3 ! inv(R)*B’*Temp*P*E;
19 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.4 Case Study: Optimal Heading Auto- pilot for Ships and Underwater Vehicles The ship autopilot problem can be defined as a linear-‐quadra/c (LQ) op/miza/on problem:
J ! min! "T !0
T!e2 " #1r2 " #2!2"d$
α is a constant to be interpreted later
e = ψd -‐ ψ is the heading error
δ is the actual rudder angle
λ1 and λ2 are two factors weigh/ng the cost of heading errors e and heading rate r against the control effort δ
We will discuss three steering criteria for control weigh/ng:
• Koyama (1967) • Norrbin (1971) • Van Amerongen and Van Nauta Lemke (1978)
20 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
The Steering Criterion of Koyama (1967) The first criterion was derived by Koyama who observed that the ship's swaying mo/on
e=y-yd could be approximated by a sinusoid during autopilot control, that is:
y ! sin!et" # y" ! ecos!et"The length of one arch La of the sinusoid is:
La y
t La ! !
0
!!1 " y# 2" d" ! !
0
!#1 " e2 cos2!e""$ d" " ! 1 " e2
4
Hence, the rela/ve elonga/on due to a sinusoidal course error is:
!LL " La!L
L " !!1#e2/4"!!! " e2
4
Koyama proposed minimizing the speed loss term e²/4 against the increased resistance due to steering given by the term δ²:
J ! min! 100 "180
2 1T !0
T e24 " #2!2 d$ " 0.0076
T !0
T!e2 " #2!2"d$
α
where J is the loss of speed (%) No/ce that λ1 = 0 in this analysis
13.1.4 Case Study: Optimal Heading Auto- pilot for Ships and Underwater Vehicles
21 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
The Steering Criterion of Norrbin (1971) Consider the surge equa/on in the form:
!m ! Xu! "u! " X|u|u|u|u # !1 ! t"T # Tloss
Tloss ! !m " Xvr"vr " Xcc!!c2 !2 " !Xrr " mxg"r2 " Xext
Norrbin minimizes the loss term Tloss to obtain maximum forward speed u. Consequently, the controller should minimize the centripetal term vr, the square rudder angle δ² and the square heading rate r² while the unknown disturbance term Xext is neglected in the analysis. The assump/ons are:
1. The sway velocity v is approximately propor/onal to r. Recall the Nomoto model gives:
Hence, the centripetal term vr will be approximately propor/onal to the square of the heading rate, that is vr ≈ (Kv/K)r².
2. The ship's yawing mo/on is periodic (sinusoid) under autopilot control such that
where ωr is the frequency of the sinusoidal yawing.
v!s" ! Kv!1"Tvs"K!1"Ts" r!s" ! Kv
K r!s" (assuming that Tv ≈ T)
rmax ! !r emax
13.1.4 Case Study: Optimal Heading Auto- pilot for Ships and Underwater Vehicles
22 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
These two assump/ons suggest that the loss term:
can be minimized by minimizing e² and δ² which is the same result obtained in Koyama's analysis.
The only difference between the criteria of Norrbin and Koyama is that the λ2 -‐values arising from Norrbin's approach will be different when computed for the same ship. The performance of the controller also depends on the sea state.
This suggests that a trade-‐off between the λ2 -‐values proposed by Koyama and Norrbin could be made according to:
(calm sea) 0.1 ≤ λ2 ≤ 1 (rough sea)
Tloss ! !m " Xvr"vr " Xcc!!c2 !2 " !Xrr " mxg"r2 " Xext
Koyama Norrbin
13.1.4 Case Study: Optimal Heading Auto- pilot for Ships and Underwater Vehicles
23 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
The Steering Criterion of Van Amerongen and Van Nauta Lemke (1978) Experiments with the steering criteria of Koyama and Norrbin showed that the
performance could be further improved by considering the squared yaw rate r², in addi/on to e² and δ² . Consequently, the following criterion was proposed:
J ! min! 0.0076T !
0
T!e2 " "1r2 " "2!2"d#
For a tanker and a cargo ship, Van Amerongen and Van Nauta Lemke (1978, 1980) gave the following values for the weigh/ng factors λ1 and λ2 corresponding to the data set of Norrbin (1972):
tanker: L ! 300 m !1 ! 15.000 !2 ! 8.0cargo ship: L ! 200 m !1 ! 1.600 !2 ! 6.0
13.1.4 Case Study: Optimal Heading Auto- pilot for Ships and Underwater Vehicles
24 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
is the op/mal solu/on solving
for the prime-‐scaled Nomoto model
! ! Kp!"d ! "" ! Kdr
!! " # r "
T"r! $ !U/L"r # !U/L"2K" "
# #
It can be shown that the PD controller (gain-‐scheduled with respect to speed U)
Kp ! 1!2
Kd ! LU
1 " 2KpK#T# " K# 2!U/L"2 !!1/!2" ! 1K#
#
#
J ! min! 0.0076T !
0
T!e2 " "1r2 " "2!2"d#
13.1.4 Case Study: Optimal Heading Auto- pilot for Ships and Underwater Vehicles
25 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships This sec/on discusses methods for autopilot roll stabiliza/on using fins alone or in
combina/on with rudders. The main mo/va/on is: § Prevent cargo damage and to increase the effec/veness of the crew by avoiding or
reducing seasickness. This is also important from a safety point of view. § For naval ships, cri/cal marine opera/ons like landing a helicopter, forma/on
control, underway replenishment, or effec/veness of the crew during combat are cri/cal opera/ons.
Several passive and ac/ve (feedback control) systems have been proposed to accomplish roll reduc/on; Burger and Corbet (1967), Lewis (1989), and Bhanacharyya (1978).
Perez (2005). Ship Mo0on Control: Course Keeping and Roll Stabiliza0on using Rudder and Fins, Springer.
26 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Passive Roll Damping Bilge keels are fins in planes approximately perpendicular to the hull or near the turn of the bilge. The longitudinal extent varies from about 25-‐50 % of the length of the ship. Bilge keels are widely used and inexpensive, but increase the hull resistance. In addi/on to this, they are effec/ve mainly around the natural roll frequency of the ship. This effect significantly decreases with the speed of the ship. Bilge keels were first demonstrated in about 1870.
Hull Modifica&ons: The shape and size of the ship hull can be op/mized for minimum rolling using hydrosta/c and hydrodynamic criteria. This must, however, be done before the ship is built. ���
27 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Passive and Ac/ve Roll Damping using An/-‐Rolling Tanks
An&-‐Rolling Tanks: The most common an/-‐rolling tanks in use are free-‐surface tanks, U-‐tube tanks and diversified tanks. These systems provide damping of the roll mo/on even at small speeds. The disadvantages of course are the reduc/on in metacenter height due to free water surface effects and that a large amount of space is required. The earliest versions were installed about the year 1874.
28 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Ac/ve Roll Damping
Fin Stabilizers:
§ Considerable damping if the speed is not too low § Drawback: increased drag and underwater noise § Retractable fins (inside the hull when not in use) § High costs associated with the installa/on § Fin stabilizers were patented by Thornycroq in 1889
Rudder-‐Roll Damping (RRD)
§ RRD by means of the rudder is rela/vely inexpensive compared to fin stabilizers, has approximately the same effec/veness, and causes no drag or underwater noise if the system is turned off
§ Drawback: RRD requires a rela/vely fast rudder to be effec/ve, typically rudder rates 5-‐20 deg/s are needed. RRD will not be effec/ve at low ship speeds
For a history of ship stabiliza/on, see Bennen (1991). A detailed evalua/on of different ship roll
stabiliza/on systems can be found in Sellars and Mar/n (1992)
29 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Transfer Func/ons for Steering and Rudder-‐Roll Damping The transfer func/ons for the decoupled models are (see Sec/on 3.9):
plot showing decoupled models and total model
!" !s" !
b2s2"b1s"b0s4"a3s3"a2s2"a1s"a0
! Kroll #roll2 !1"T5s"
!1"T4s"!s2"2$#rolls"#roll
2 "
!" !s" !
c3s3"c2s2"c1s"c0s!s4"a3s3"a2s2"a1s"a0"
! Kyaw !1"T3s"s!1"T1s"!1"T2s"
This is a rough approxima/on since all interac/ons are neglected. In par/cular, the roll mode is inaccurate as seen from the plots.
Matlab MSS toolbox: ExRRD1.m Lcontainer.m
Container ship: Son and Nomoto (1981)
30 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships
!"!s" ! 0. 0032!s ! 0. 036"!s " 0. 077"
!s " 0. 026"!s " 0. 116"!s2"0. 136s " 0. 036"
" 0. 083!1 " 49. 1s"!1 " 31. 5s"!s2"0. 134s " 0. 033"
#
!"!s" ! 0. 0024!s " 0. 0436"!s2"0. 162s " 0. 035"
s!s " 0. 0261"!s " 0. 116"!s2"0. 136s " 0. 036"
! 0. 032!1 " 16. 9s"s!1 " 24. 0s"!1 " 9. 2s" #
Length: L = 175 (m) Displacement: 21,222 (m³) Service speed u0 = 7.0 (m/s)
!roll ! 0.189 (rad/s)
! ! 0. 36
right-‐half-‐plane zero: z ! 0. 036 (rad/s)
non-‐minimum phase property
Matlab MSS toolbox: ExRRD3.m
31 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Brief History on Rudder-‐Roll Damping
• Rudder-‐roll damping (RRD) was first suggested in the late seven/es; see Cowler and
Lambert (1972, 1975), Carley (1975), Lloyd (1975), and Bai/s (1980).
• Research in the early eigh/es showed that it was indeed feasible to control the heading of a ship with at least one rudder while simultaneously using the rudder for roll damping. If only one rudder is used, this is an underactuated control problem. In the linear case, this can be solved by frequency separa/on of the steering and roll modes since course control can be assumed to be a low-‐frequency tracking control problem while roll damping can be achieved at higher frequencies.
• For a large number of ships it is impossible to obtain a significant roll damping effect due to limita/ons of the rudder servo and the rela/vely large iner/a of the ship.
• Mo/vated by the results in the 1970s, RRD was tested by the U.S. Navy by Bai/s et al. (1983, 1989), in Sweden by Kallstrom and co-‐authors, and in the Netherlands by Amerongen and co-‐authors.
LQG control: Van der Klugt (1987), Katebi (1987) Adap&ve RRD: Zhou (1990)
32 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships • Blanke et al. (1989) has developed an RRD autopilot that has been implemented by the
Danish Navy on 14 ships (Munk and Blanke 1987)
• Sea trials show that some of the ships had less efficient RRD systems than others. In Blanke and Christensen (1993) it was shown that the cross-‐couplings between steering and roll were highly sensi/ve to parametric varia/ons which again resulted in robustness problems. Reason: different loading condi/ons and varying rudder shapes.
• In Stoustrup et al. (1995) it has been shown that a robust RRD controller can be designed by separa/ng the roll and steering specifica/ons and then op/mizing the two controllers independently. The coupling effects between the roll and yaw modes have also been measured in model scale and compared with full-‐scale trial results (Blanke and Jensen 1997), while a new approach to iden/fica/on of steering-‐roll models have been presented by Tiano and Blanke (1997).
• More recently, H∞ control has been used to deal with model uncertain/es. This allows the designer to specify frequency-‐dependent weights for frequency separa/on between the steering and roll modes (Yang and Blanke 1997, 1998).
• Qualita/ve feedback theory (QFT) has also been applied to solve the combined RRD heading control problem under model uncertainty (Hearns and Blanke 1998).
33 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Consider the linear model:
x! " Ax # Bu
! ! crollT x, " ! cyawT x
x ! !v,p, r,!,""!
The control objec/ve is simultaneously:
-‐ Heading control (ψ = ψd = constant)
-‐ RRD (ϕ = ϕd = 0)
There will be a trade-‐off between accurate heading control (minimizing ) and control ac/on needed to increase:
-‐ Natural frequency ωroll
-‐ Rela/ve damping ra/o ζroll
No/ce that it is impossible to regulate φ to a nonzero value while simultaneously controlling the heading angle ψ to a nonzero value by means of one single rudder.
!! " ! ! !d
34 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Op/miza/on problem for course keeping, roll damping and minimum fuel consump/on:
J ! minu 12 !0
T!y! !Qy! " u!Ru" d!
y ! !p,r,!,"!!, yd ! "0, 0,0,"d!!
C !
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
y ! Cx
x ! !v,p, r,!,""!
u ! G1x "G2yd
G1 ! !R!1B!P"
G2 ! !R!1B!!A " BG1"!!C!Q # #
P!A ! A!P! " P!BR"1B!P! ! C!QC " 0
LQ Solu/on:
35 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Frequency Separa&on and Bandwidth Limita&ons
If one rudder is used to control both φ and ψ, frequency separa/on is necessary.
Assume that the steering dynamics is slower than the frequency 1/Tl, and that the natural frequency in roll is higher than 1/Th.
Then the VRU and compass measurements can be low-‐pass and high-‐pass filtered:
!!vru
!s" ! hh!s" ! Ths1 " Ths
""compass
!s" ! hl!s" ! 11 " Tls
#
#
!yaw ! !b ! 1/Tl ! 1/Th ! !roll
!roll!yaw
frequency separa/on
Frequency separa/on criterion:
cross-‐over frequency
bandwidth in yaw
natural frequency in roll
f
y
36 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships
Matlab MSS toolbox: ExRRD2.m
RRD on RRD off RRD off
37 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships The percentage roll reduc/on of RRD system can be computed by using the following criterion of Oda et el. (1992):
Roll reduction !!AP!!RRD
!AP" 100!%"
σAP = standard devia/on of roll rate during course keeping (RRD off) σRRD = standard devia/on of roll rate during course keeping (RRD on)
For the case study with Lcontainer.m, we obtained:
σAP = 0.0105
σRRD = 0.0068.
This resulted in a roll reduc/on of approximately 35 % during course keeping.
For small high-‐speed vessels, a roll reduc/on as high as 50-‐75 % can be obtained.
38 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Brief History on Combined Fin and Rudder-‐Roll Damping
• The most effec/ve roll damping systems are those which combine stabilizing fins
and rudders; see Kallstrom (1981), and Roberts and Braham (1990). • Warship stabiliza/on using integrated rudder and fins are discussed by Roberts
(1992). More recently, robust fin stabilizer controller design using the QFT and H∞ design techniques have been presented by Hearns et al. (2000), while the performance of classical PID, op/mized PID (Hickey et al. 2000), and H∞ controllers are compared in Katebi et al. (2000).
• Fin stabilizers are anrac/ve for roll reduc/on since they are highly effec/ve, works
on a large number of ships, and are much more easier to control, even for varying load condi/ons and actuator configura/ons. Fins stabilizers are effec/ve at high speed, but at the price of addi/onal drag and added noise. The most economical systems are retractable fins, where addi/onal drag is avoided during normal opera/on, since fin stabilizers are not needed in moderate weather.
• Fin stabilizing systems can be used to control to a nonzero value (heel control). This is impossible with a RRD control system.
39 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships
M!" # D!$% !" Tf where f ! Ku
In Representa/on 1, the generalized force vector t is used as control input, while the last representa/on use u (propeller rpm, rudder angles, fin angles, etc.)
In prac/ce, it is advantageous to use Representa/on 1 instead of Representa/on 2, since actuator failures can be handled independently by the control alloca/on algorithm without redesigning the control law. No/ce that the B matrix depends on T and K, while these matrices are not used in Representa/on 1.
Model representa/on 1:
Model representa/on 2:
Op&mal Fin and Rudder-‐Roll Damping Systems No/ce that a stand-‐alone fin stabiliza/on system can be constructed by simply removing the rudder inputs from the input matrix. When designing an LQ op/mal fin/RRD system the following model representa/ons can be used:
!" ! !M!1DA! " !M
!1B!TKu
#
! A! " B#
#
#
40 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Energy-‐Op&mal Criterion for Combined Fin and RRD Stabiliza&on It is possible to relate the LQ controllers for Model Representa/ons 1 and 2.
R! ! !Tw! "!RfTw!
Ru ! K!RfK
e ! y ! yd
The rudder and fin forces are weighted against each other by specifying the elements in Rf (1st criterion). The op/mal controller t can be solved using the 3rd criterion and u is computed using the standard control alloca/on method.
J ! minf
12 !0
T!e!Qe " f!Rf f" d!
! minu
12 !0
T!e!Qe " u!K!RfK
Ruu" d!
! min!
12 !0
T!e!Qe " !!!Tw" "!RuTw
R!
!" d! #
u ! K!1Tw! ! # ! ! Tf! TKu #
41 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships The solu/on to the LQ problem is:
! ! G1x "G2yd
G1 ! !!!Tw! "!RfTw
! "!1B!P"
G2 ! !#!Tw! "!RfTw
! $!1B"#A " BG1$!"C!Q
#
#
P!A !A!P! " P!B!"Tw! #!RfTw! $"1B!P! !C!QC " 0
Control alloca/on:
u ! K!1T" !#" u B
E
G1
G2
G3
y
w=constant
yd=constant
disturbance feedforward
reference feedforward
full state feedback
A
x C
42 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships Operability and Mo&on Sickness Incidence Criteria
§ Operability criteria for manual and intellectual work as well as mo/on sickness are important design criteria for evalua/on of autopilot and roll damping systems.
§ Sea sickness is especially important in high-‐speed craq and ships with high ver/cal accelera/ons.
Standard Deviation (Root Mean Square) CriteriaVertical Lateralacceleration (w! ! acceleration (v! ! Roll angle (!! Description of work
0.20 g 0.10 g 6.0 deg Light manual work0.15 g 0.07 g 4.0 deg Heavy manual work0.10 g 0.05 g 3.0 deg Intellectual work0.05 g 0.04 g 2.5 deg Transit passengers0.02 g 0.03 g 2.0 deg Cruise liner
This table gives an indica/on on what type of work that can be expected to be carried out for different roll angles/sea states.
43 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships The ISO 2631-‐3:1985 Criterion for MSI The Interna/onal Standardiza/on Organiza/on (ISO) mo/on seasickness incidence criterion
is reported in ISO 2631-‐3 (9185); see hnp://www.iso.ch. The most important factors for seasickness are:
§ ver/cal (heave) accelera/ons az (m/s²) § exposure /me t (hours) § encounter frequency ωe (rad/s)
The ISO standard proposes an MSI of 10 % which means that 10 % of the passengers become seasick during t hours.
The MSI curves are given by:
az!t,!e" !0. 5 2/t for 0. 1 Hz " !e
2" ! 0. 315 Hz
0. 5 2/t # 6. 8837 !e2"
1.67 for 0. 315 Hz ! !e2" ! 0. 63 Hz
44 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships
Matlab MSS toolbox: ExMSI.m [a_z,w_e] = ISOmsi(t)
MSI-‐curves of 10 %: This means that 10 % of the passengers get seasick.
45 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships The O'Hanlon and McCauley (1974) Criterion for MSI This method (the probability integral method) is frequently used since it produces a MSI criterion in percent for combina/ons of heave accelera/on az (m/s²) and frequency of encounter ωe (rad/s).
The criterion is given by:
MSI ! 100 0.5 " erf "log10!az/g"!!MSI0.4 (%)
!MSI ! !0.819 " 2. 32!log10"e"2
erf!x" ! erf!!x" ! 12!"0
x exp ! z22 dz
The major drawback of the O'Hanlon and McCauley method is that it only applies to a two-‐hour exposure /me.
Another effect to take into account is that the O'Hanlon and McCauley MSI criterion is derived from tests with young men seated separately in insulated cabins.
46 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.5 Case Study: Optimal Fin and Rudder-Roll Damping Systems for Ships
The MSI index is defined as the number of sea sick people in percentage for an exposure /me of two hours.
Matlab MSS toolbox: ExMSI.m msi = HMmsi(a_z,w_e)
47 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.6 Case Study: Optimal Dynamic Positioning System for Ships and Floating Structures
!" p ! #
M#" " D# ! bp " $ " $wind " $waves
#
# ! ! R!!"!p #
In order to incorporate the limitations of the propellers, the model is augmented by actuator dynamics:
!! " Athr!! ! !com" # Athr ! !diag!1/Tsurge,1/Tsway,1/Tyaw"
!xc " Axc # B!com # A !
0 I 00 !M!1D M!1
0 0 Athr
, B !
00
!Athr
#
An alterna/ve to the nonlinear PID controller is to formulate the problem as a linear op/mal control problem using vessel parallel coordinates. The LQ controller will be designed under the assump/on that all states can be measured. This assump/on can, however, be relaxed by combining the LQ controller with a linear Kalman filter for op/mal state es/ma/on (LQG control).
Augmented controller model:
xc ! !!p!,"!,#!"!
48 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.6 Case Study: Optimal Dynamic Positioning System for Ships and Floating Structures Op/mal control law with wind feedforward and integral ac/on τLQ is the op/mal feedback and τwind is an es/mate of the wind forces. The LQ control objec/ve is to obtain x = 0 such that ηp = ν = τ = 0. Hence, we can compute τLQ by minimizing the performance index: where R = RT> 0 and Q = QT ≥ 0 are two cost matrices to be specified by the user. The Q-‐matrix is defined as Q = diag{Q₁,Q₂,Q₃} where the weights Q₁,Q₂ and Q₃ put penalty on posi/on/heading ηp, velocity ν and actuator dynamics τ, respec/vely.
!com ! !LQ ! !"wind #
J ! min!LQ
12 !0
T!x!Qx " !LQ
! R!LQ" d! #
!LQ ! !R!1B!P"Gx #
P!A ! A!P! " P!BR"1BTP! ! Q " 0 #
49 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.6 Case Study: Optimal Dynamic Positioning System for Ships and Floating Structures Integral Ac/on In order to obtain zero steady-‐state errors in surge, sway and yaw, we must include integral ac/on in the control law. Integral ac/on can be included by using state augmenta/on. Since we want the three outputs (N,E,ψ) to be regulated to zero, we can augment no more than 3 integral states to the system:
z :! !0
ty!!"d! # "z ! y #
y ! Cx # C ! I3!3 03!3 03!3 #
x! a ! Aaxa " Ba"com #
Aa !03!3 C09!3 A
, Ba !03!3
B #
xa ! !z!,x!"!
50 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.6 Case Study: Optimal Dynamic Positioning System for Ships and Floating Structures The performance index for the integral controller becomes: where R = RT > 0. The matrix QI = QI > 0 is used to specify the integral /mes in surge, sway and yaw. The op/mal PID-‐controller is:
J ! min!LQ
12 !0
T!xa!Qaxa " !LQ
! R!LQ" d! # Qa !QI 00 Q
! 0 #
!LQ ! Gaxa ! Gx " GI!0
ty!!"d!
z
# Ga ! !R!1Ba!P" #
P!Aa ! Aa!P! " P!BaR"1Ba!P! ! Qa " 0 #
Controllability of the augmented system (Aa, Ba) is checked in Matlab by using the command: > n_ctr = rank(ctrb(Aa,Ba)) = 12 Hence, a marine craq with addi/onal states for integral ac/on is controllable.
51 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.1.6 Case Study: Optimal Dynamic Positioning System for Ships and Floating Structures LQG Control -‐ Linear Separa&on Principle In prac/ce only some of the states are measured. A minimum requirement is that the posi/on and heading of the ship is measured such that veloci/es and bias terms can be es/mated by an observer. This is done under the assump/on that the states x can be replaced with the es/mated states:
!LQ ! Gx" " GIC !0
tx"!!"d! #
where the state es/mate can be computed using a:
• Kalman filter (Sec&on 11.3.6) • Nonlinear passive observer (Sec&on 11.4.1)
For the Kalman filter in cascade with the LQ controller there exists a linear separa/on principle guaranteeing that the es/ma/on and regula/on errors go to zero. This is referred to as LQG control and it was first applied to design DP systems by Balchen et al. (1976, 1980a, 1980b), and Grimble et al. (1980a, 1980b).
52 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Chapter 13 – Advanced Motion Control Systems
13.1 Linear-‐Quadra/c Op/mal Control 13.2 State Feedback Lineariza/on 13.3 Integrator Backstepping 13.4 Sliding-‐Mode Control
53 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.2 State Feedback Linearization The basic idea with feedback lineariza/on is to transform the nonlinear system dynamics
into a linear system (Freund 1973) and use linear pole placement.
Conven/onal control techniques like pole placement and linear-‐quadra/c op/mal control theory can then be applied to the linear system. In robo/cs, this technique is commonly referred to as computed torque control.
Transforma/ons that can be used both for BODY and NED applica/ons will be presented:
ü Decoupling in the BODY frame: velocity control ü Decoupling in the NED frame: posi/on and a�tude control
54 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.2.1 Decoupling in the BODY Frame (Velocity Control) The control objec/ve is to transform the marine craq dynamics
into a linear system expressed in {b}:
Solu&on: choose the control law as:
where the commanded accelera/on vector ab can be chosen by e.g. pole placement or linear-‐quadra/c op/mal control theory.
!! " ab
M !! " n!!,"" # # n!!,"" ! C!!"! " D!!"! " g!""
! ! Mab " n!",#"
55 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.2.1 Decoupling in the BODY Frame (Velocity Control) Pole Placement
ab ! "!d ! Kp #! ! K i "0t#!!!"d!
Kp ! 2!, K i ! !2 ! "diag!!1, !2,! , !n"
M! !! ! ab" " M! !#! $ 2"#! $ "2 "0
t#!!!"d!" " 0
M !! " n!!,"" # #
Error dynamics:
! ! Mab " n!",#"
pole loca/ons
!s ! !i"2 !0t"!!""d" # 0, !i # 1,$ ,n"
56 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
The control objec/ve is to transform the marine craq dynamics:
into a linear system expressed in {n}:
Solu&on: choose the control law as:
13.2.2 Decoupling in the NED Frame (Position and Attitude Control)
n!!,"" ! C!!"! " D!!"! " g!""
! ! Mab " n!",#"
!! " an
M !! " n!!, "" # #
!" # J!"" !
# #
!! " J!1!""##" ! !J!""!$Error dynamics:
an ! "J!!"" # J!!"abChoosing:
ab ! J!1!!"#an ! "J!!""$
J!!!!"MJ!1!!"! !! ! an" " 0gives
!
M! !! ! ab" " MJ!1!""##" ! !J!""! ! J!""ab$ " 0 #
57 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.2.2 Decoupling in the NED Frame (Position and Attitude Control)
Error dynamics (pole placement): ! ! Mab " n!",#"
ab ! J!1!!"#an ! "J!!""$
an ! "!d ! Kd #$! ! Kp $! ! K i "0t!" !!"d!
!"! # Kd $"! # Kp "! # K i !0t!"!!"d! % 0
Kd ! 3! ! 3diag!!1,!2," ,!n"Kp ! 3!2 ! 3diag!!12, !22," ,!n2"K i ! !3 ! diag!!13, !23," ,!n3"
58 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Consider a simplified model of a ship in surge:
The commanded accelera/on is calculated as:
This suggests that the speed controller should be computed as:
with reference model:
where rb is the commanded input (desired surge speed).
! ! m!u" d ! Kp"u ! ud# ! Ki "0t"u ! ud#d!$ # d1u # d2|u|u
13.2.3 Case Study: Feedback Linearizing Speed Controller for Ships and Underwater Vehicles
mu! " d1u " d2|u|u # !
üd ! 2!"u" d ! "2ud # "2rb
mab compensa/on of nonlinear elements
PI controller with reference feedforward
ab ! u" d ! Kp!u ! ud" ! Ki "0t!u ! ud"d!
59 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.2.4 Case Study: Feedback Linearizing Ship and Underwater Autopilot
compassand gyro
yaw angleand rate
pilotinput
controlsystem
controlallocation
referencemodel
observer andwave filter
wind feedforward
windloads
!d!3" ! !2" ! 1"#!" d ! !2" ! 1"#2$# d ! #3$d $ #3rn #
Reference model
60 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
9.4.4 Case Study: Feedback Linearizing Ship and Underwater Autopilot Consider the nonlinear autopilot model of Norrbin (1963):
The commanded accelera/on can be calculated as (Fossen and Paulsen 1992): where rd is the desired angular velocity and ψd is the desired heading angle. This implies that aⁿ = ab. Choosing the decoupling control law as:
The resul/ng error dynamics become:
!! " rmr! # d1r # d2|r|r " "
# #
! ! m r" d ! Kd!r ! rd" ! Kp!" ! "d" ! Ki "0
t!" ! "d"d! # d1r # d2|r|r #
!!" # r!r!" $ Kdr! $ Kp!! # 0
# #
an ! r" d ! Kd!r ! rd" ! Kp!! ! !d" ! Ki "0
t!! ! !d"d" #
61 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Chapter 13 – Advanced Motion Control Systems
13.1 Linear-‐Quadra/c Op/mal Control 13.2 State Feedback Lineariza/on 13.3 Integrator Backstepping 13.4 Sliding-‐Mode Control
62 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.1 A Brief History of Backstepping
Integrator backstepping appeared as a recursive design technique in Saberi et al. (1990) and it was further developed by Kanellakopoulos et al. (1992). The rela/onship between backstepping and passivity has been established by Lozano et al. (1992). A tutorial overview of backstepping is given by Kokotovic (1991).
Adap/ve and nonlinear backstepping designs are described in detail by Krs&c et al. (1995). This includes methods for parameter adapta/on, tuning func/ons, and modular designs for both full state feedback and output feedback (observer backstepping). The concept of vectorial backstepping was first introduced by Fossen and Berge (1997). Vectorial backstepping exploits the structural proper/es of nonlinear MIMO systems. Techniques for integral ac/on in nonlinear systems using backstepping designs were first addressed by Loria, Fossen and Teel (1999).
The idea of integrator backstepping seems to have appeared simultaneously, oqen implicit, in the works of Koditschek (1987), Sonntag and Sussmann (1988), Tsinias (1988) and Byrnes and Isidori (1989).
63 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping
Backstepping is a design methodology for construc/on of a feedback control law through a recursive construc/on of a control Lyapunov func/on (CLF).
A smooth posi/ve definite and radially unbounded func/on V:ℝⁿ→ℝ₊ is called a Control
Lyapunov Func/on (CLF) for:
if
Nonlinear backstepping designs are strongly related to feedback lineariza/on. Feedback lineariza/on methods cancel all nonlineari/es in the system while backstepping
gives more design flexibility.
In par/cular, the designer is given the possibility to exploit “good” nonlineari/es while “bad” nonlineari/es can be dominated e.g. by adding nonlinear damping. Hence, addi/onal robustness is obtained, which is important in industrial control systems since cancella/on of all nonlineari/es require precise models that are difficult to obtain in prac/ce.
x! ! f!x,u"
infu!!r !V!x !x"f!x,u" ! 0, "x # 0
64 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping Considering the nonlinear system:
x! 1 " f!x1" # x2
x! 2 " uy " x1
# # #
Let the design objec/ve be regula/on of y(t) → 0 as t → ∞.
The recursive design starts with the system x1 and con/nues with x2. Two steps are needed, one for each integrator.
z ! "!x" x ! "!1!z"
A change of coordinates will be introduced:
Global diffeomorphism -‐ that is, a mapping with smooth func/ons
x !!x1, x2"!
z !!z1, z2"!!
65 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping Step 1 For the first system, the state x2 is chosen as a virtual control input The first backstepping variable is chosen as (wants to regulate y to zero):
z1 ! y ! x1
The virtual control is defined as:
x2 :! !1 " z2
x! 1 " f!x1" # x2
x! 2 " uy " x1
# # #
second backstepping variable
stabilizing func/on to be specified later
Hence, the z1-‐system can be wrinen:
ż1 ! f!z1" " !1 " z2
The new state variable z2 will not be used in the first step, but its presence is important since z2 is needed to couple the z1-‐system to the next system, that is the z2-‐system to be considered in the next step.
66 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping
A CLF for this system is:
ż1 ! f!z1" " !1 " z2
V1 ! 12 z1
2
V" 1 ! z1ż1
! z1!f!z1" # !1" # z1z2
#
#
Choose the stabilizing func/on such that it stabilizes the z1-‐system:
!1 ! !f!z1" ! k1z1gives
ż1 ! !k1z1 " z2
V! 1 " !k1z12 # z1z2
leave this term to Step 2 (stabilizing of the z2-‐dynamics)
If z2 = 0, then the z1-‐system is stable:
these terms cancel
67 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping Step 2 Time differen/a/on of gives: z2 ! x2 ! !1
ż2 ! x" 2 ! !" 1
! u ! !" 1 #
x! 1 " f!x1" # x2
x! 2 " uy " x1
# # #
A CLF for the z2-‐system is:
V2 ! V1 " 12 z2
2
V# 2 ! V# 1 " ż2z2
! !!k1z12 " z1z2" " ż2z2
! !k1z12 " z2!z1 " ż2"
! !k1z12 " z2!u ! !# 1 " z1"
#
#
Since the system has rela/ve degree 2, the control input u appears in the second step. Hence, choosing the control law as:
u ! !" 1 ! z1 ! k2z2 V! 2 " !k1z12 ! k2z22 # 0, "z1 # 0, z2 # 0!
68 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping Implementa&on Aspects When implemen/ng the control law it is important to avoid expressions involving the /me
deriva/ves of the states. For this simple system only must be evaluated.
This can be done by /me differen/a/on of α1(x1) along the trajectory of x1:
!! 1
!! 1 " ! "f!x1""x1
x! 1 ! k1x! 1
" ! "f!x1""x1
# k1 !f!x1" # x2" #
!1 ! !f!z1" ! k1z1
z1 ! y ! x1
69 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping Backstepping Coordinate Transforma&on
z1z2
!x1x2 ! f!x1" ! k1x1
x1x2
!z1z2 ! f!z1" ! k1z1
z ! "!x"
x ! "!1!z!
70 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
9.5.2 The Main Idea of Integrator Backstepping
Theorem A.3 (Global Exponen&al Stability) Let xe be the equilibrium point and assume that f(x) is locally Lipschitz in x. Let V: ℝⁿ→ℝ₊ be a con/nuously differen/able and radially unbounded func/on sa/sfying constant matrices P = PT > 0 and Q = QT > 0, then the equilibrium point xe is GES and the state vector sa/sfies: is a bound on the convergence rate. Proof: see Appendix A.1.4.
V!x" ! x!Px "0, !x " 0V# !x" # $x!Qx $0, !x " 0
# #
!x!t"!2 !!max!P"!min!P"
exp!""t"!x!0"!2 #
! !"min!Q"2"max!P"
" 0 #
71 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
The equilibrium point is globally exponen/ally stable (GES).
13.3.2 The Main Idea of Integrator Backstepping The Final Check
ż1ż2
! !k1 00 k2
z1z2
"0 1!1 0
z1z2
ż ! !Kz " Sz
V2 ! 12 z
!z
V" 2 ! z!!!Kz # Sz"! !z!Kz
#
#
skew-‐symmetric matrix
diagonal matrix
z ! !z1, z2"! ! !0,0"!
72 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping
The resul/ng backstepping control law can be wrinen:
If f(x1) = -‐x1 (linear system), it is seen that:
u ! ! "f!x1""x1
" k1 !f!x1" " x2" ! x1 ! k2!x2 " f!x1" " k1x1"
u ! !!!1 " k1"!!x1 " x2" ! x1 ! k2!x2 ! x1 " k1x1"
! !!2 " k1k2 ! k1 ! k2"Kpx1 ! !k1 " k2 ! 1"
Kdx2 #
This confirms that backstepping applied to a 2nd-‐order linear system gives PD control
Rela&onship between Backstepping and Conven&onal PD Control
73 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping
The backstepping control law is in fact equal to a feedback linearizing controller since the nonlinear func/on f(x1) is perfectly compensated for by choosing the stabilizing func/on as:
One of the nice features of backstepping is that the stabilizing func/ons can be modified to exploit so-‐called "good" nonlineari/es. For instance, assume that:
Backstepping versus Feedback Lineariza&on
!1 ! !f!x1" ! k1z1
f!x1" ! !a0x1 ! a1x12 ! a2|x1 |x1
where a0, a1 and a2 are assumed to be unknown posi/ve constants.
Good damping should be exploited in the control design and not cancelled out.
The destabilizing term a1x²1 must be perfectly compensated for or dominated by adding a nonlinear damping term propor/onal to x1³ .
good damping
74 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping Nonlinear damping suggests the following candidate for the stabilizing func/on:
k1 ! 0 and !1 ! 0
ż1 ! f!z1" " !!1 " z2"
! !a0z1 ! a1z12 ! a2|z1 |z1 ! !k1 " "1z1
2"z1 " z2
! !!a0 " a2|z1 | " k1"z1 ! a1z12 ! "1z1
3 " z2 #
!1 ! !k1z1 ! "1z13
linear damping
nonlinear damping
good damping
bad damping
A CLF will now be constructed to dominate bad damping and exploit good damping
75 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping Consider the CLF:
V1 ! 12 z1
2
V" 1 ! !!a0 # a2|z1 | # k1"z12 ! a1z1
3 ! !1z14 # z1z2
#
#
V2 ! V1 " 12 z22
V# 2 ! !!a0 " a2|z1 | " k1"z12 ! a1z13 ! !1z14 " z2!z1 " u ! "# 1"
Step 1
Step 2
energy dissipa/on
energy dissipa/on or genera/on
u ! !" 1 ! k2z2 ! z1
V! 2 " !!a0 # a2|z1 | # k1"z12 ! a1z13 ! !1z14 ! k2z22
Control law
nega/ve term can be rewrinen by comple0ng the squares
76 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.2 The Main Idea of Integrator Backstepping
12 !1
x ! !1 y2
" 14!1
x2 ! xy ! !1y2 ! 0
#
" xy " !1y2 " " 12 !1
x ! !1 y2
! 14!1
x2
#
#
Comple/ng the squares:
V! 2 " !!a0 # a2|z1 | # k1"z12 ! a1z13 ! !1z14 ! k2z22
x ! a1z1 and y ! z12, yields:
V! 2 " ! a12 !1
z1 # !1 z122# a12
4!1z12 ! !a0 # a2|z1 | # k1"z12 ! k2z22
! 0 ! 0
V! 2 ! " a0 " k1 "a12
4!1z12 " k2z22
!1 ! 0, k1 !a12
4!1! a0, k2 ! 0V! 2 " 0 if
bad damping is dominated by nonlinear damping
Controller is implemented without using the unknown parameters a0, a1, a2 ROBUST CONTROL
!1 ! !k1z1 ! "1z13
u ! !" 1 ! k2z2 ! z1
77 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.3 Backstepping of SISO Mass-Damper-Spring System
x! " vmv! # d!v"v # k!x"x " !
y " x
# # #
m ! mass (positive)d!v" ! nonlinear damping force (non-negative)k!x" ! nonlinear spring force (non-negative)
m τ
d v v( ) x
k x x( )
Backstepping of the mass-‐damper-‐spring can be performed by choosing the output:
e ! y ! yd
ė ! v ! y" dmv" ! ! ! d!v"v ! k!x"x
# #
Change of coordinates:
78 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
ż1 ! !1 " z2 ! y# d
13.3.3 Backstepping of SISO Mass-Damper-Spring System
Step 1: Let z1 = e = y - yd, such that:
ż1 ! v ! y" d choosing the virtual control as v ! !1 " z2
where z2 is a new state variable to be interpreted later. This yields:
Next, the stabilizing func/on is chosen as linear + nonlinear damping:
!1 ! y" d ! !k1 # n1"z1#$z1
ż1 ! !!k1 " n1"z1#$z1 " z2 V1 ! 12 z1
2
V" 1 ! z1ż1
! !!k1 # n1"z1#$z12 # z1z2
#
#
CLF: Resul/ng dynamics Step 1:
(leave z2-‐term to Step 2)
79 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.3 Backstepping of SISO Mass-Damper-Spring System Step 2: The second step stabilizes the z2-‐dynamics:
mz2 ! mv" ! m!" 1
! " ! d!v"v ! k!x"x ! m!" 1 # v ! !1 " z2mv! " ! ! d!v"v ! k!x"x
V2 ! V1 " 12 mz2
2, m # 0
V$ 2 ! V$ 1 " mz2ż2
! !!k1 " n1"z1#$z12 " z1z2 " z2!! ! d"v#v ! k"x#x ! m"$ 1$
#
#
CLF mo/vated by “pseudo kine/c energy”
The control appears in the second step (system with 2 integrators). Hence:
! ! m"" 1 # d!v"v # k!x"x ! z1 ! k2z2 ! n2!z2"z2 -‐ includes nonlinear damping -‐ cancel all nonlineari/es
V! 2 " !!k1 # n1"z1#$z12 ! !k2 # n2"z2#$z22This yields:
80 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.3 Backstepping of SISO Mass-Damper-Spring System
When implemen/ng the control law, is computed by taking the /me deriva/ve of a1 along the trajectories of yd and z1:
!! 1
!1 ! y" d ! !k1 # n1"z1#$z1
!! 1 " !!1!y! dÿd " !!1
!z1ż1 " ÿd " !!1
!z1!v " y! d"
does not depend on the deriva/ve of the system states (only deriva/ves of smooth reference signals)
Resul&ng Error Dynamics (use this to verify your design)
1 00 m
ż1
ż2! !
k1 " n1!z1" 00 k2 " n2!z2"
z1
z2"
0 1!1 0
z1
z2
#
Mz ! !K!z"z ! Sz #
skew-‐ symmetric
diagonal
81 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Reference: Fossen, Loria and Teel (2001). A Theorem for UGAS and ULES of (Passive) Nonautonomous Systems: Robust Control of Mechanical Systems and Ships. Int. Journal of Robust and Nonlinear Control, JRNC-‐11:95-‐108
13.3.4 Integral Action by Constant Parameter Adaptation The integral state can be treated as a constant parameter and es/mated online using adap/ve control techniques.
x! " vmv! # d!v"v # k!x"x " ! # w
w! " 0
# # #
Integral ac/on based on “direct matching” between the disturbance and the control input:
V1 ! 12 z12 " 1
2p w#2, p $ 0 V2 ! V1 " 1
2 mz22
!1 ! x" d ! k1z1
! ! d!v""1 " k!x"x ! w " mx# d ! mk1!v ! x$ d" ! z1 ! k2z2w! " pz2 parameter update law
w•w
z1 ! x ! xd
z2 ! v ! !1
82 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.5 Integrator Augmentation Technique Consider the 2nd-‐order mass-‐damper-‐spring system:
x! " vmv! # d!v"v # k!x"x " ! # w
y " x
# # #
where w is a constant unknown disturbance. Let e denote the tracking error:
e ! y ! yd
ė I ! eė ! v ! y" d
mv" # d!v"v # k!x"x ! ! # w
# # #
Hence, backstepping applied to the augmented model:
gives integral ac/on.
integral state eτ
-
k x( )
d v( )
1/meI
-v x
ydw
m τ
d v v( ) x
k x x( )
83 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Control objective: regulate the tracking errorsv! " v ! vd and x! " x ! xd to zero.
13.3.6 Backstepping of MIMO Mass-Damper-Spring Systems
Introduce the concept of “Vectorial Backstepping” to solve this MIMO control problem.
Reference: Fossen and Berge (1997). Nonlinear Vectorial Backstepping Design for Global Exponen/al Tracking of Marine Vessels in the Presence of Actuator Dynamics. Proc. IEEE Conf. on Decision and Control (CDC'97), San Diego, CA. pp. 4237-‐4242.
x! ! vMv! " D!v"v " K!x"x ! Bu
# #
For the mass-‐damper-‐spring, two vectorial steps are required.
84 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
!"x # v ! vd# s ! "1!vd !"1 # vr # vd!#x$"# !#x$ ! s #
13.3.6 Backstepping of MIMO Mass-Damper-Spring Systems
Step 1 (Vectorial Backstepping): Consider:
virtual control
where
The stabilizing vector field is chosen such that: CLF:
x! ! v v ! s " #1
s ! v" # $x" New state vector used for tracking control%1 Stabilizing vector field to be defined later
V1 ! 12 x!
!Kpx!
V" 1 ! x! !Kp "#x! !x! !Kp"x! # s!Kpx!
# # (leave s to Step 2)
vr ! v ! s ! vd ! !x"
Next, let us define:
85 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.6 Backstepping of MIMO Mass-Damper-Spring Systems
The defini/on of the s-‐vector is mo/vated by Slo/ne & Li (1987) who introduced s as a measure of tracking when designing their adap/ve robot controller.
In Fossen and Berge (1997) the following transforma/on is applied:
Ms! " D!v"s ! Mv! " D!v"v !Mv! r ! D!v"vr! Bu !Mv! r ! D!v"vr ! K!x"x #
s ! v" # $x"
s ! v ! vrMv! " D!v"v "K!x"x ! Bu
Step 2 (Vectorial Backstepping) Consider a CLF based on “pseudo kine/c energy”:
V2! 12 s!Ms "V1
V! 2 " s!Ms! "V! 1
" s!!Bu !Mv! r ! D!v"vr ! K!x"x ! D!v"s" ! x#!Kp$x# " s!Kpx#
" s!!Bu !Mv! r ! D!v"vr ! K!x"x ! D!v"s # Kpx#" ! x#!Kp$x# #
86 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.6 Backstepping of MIMO Mass-Damper-Spring Systems
Bu ! Mv" r ! D!v"vr !K!x"x !Kpx# !Kds
V! 2 " s!!Bu !Mv! r ! D!v"vr ! K!x"x ! D!v"s # Kpx"" ! x" !Kp#x"
Control law:
V! 2! !s!!D!v" " Kd"s ! x#!Kp$x#
Since V2 is posi/ve definite and is nega/ve definite it follows from Theorem A.3 that the equilibrium point:
is GES. !x! , s! " "0, 0!
V! 2
87 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.6 Backstepping of MIMO Mass-Damper-Spring Systems Nonlinear Mass-‐Damper-‐Spring System with Actuator Dynamics
x! ! "
Mv! # D!v"v # K!x"x ! BuTu! # u ! uc
# # #
Three vector differen/al equa/ons suggests that we can solve this problem in 3 vectorial steps
Instead of choosing the controller Bu in Step 2, uc is treated as the control input to be specified in Step 3.
V! 2! s!!Bu !Mv" r ! D!v"vr ! K!x"x ! D!v"s " Kpx#" ! x#!Kp$x#
Let Bu be the virtual control: Bu ! z ! "2 Second stabilizing vector field
new state variable
Recall that Step 2 was given by:
88 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
V! 2! s!! Bu !Mv" r ! D!v"vr ! K!x"x ! D!v"s " Kpx#" ! x#!Kp$x#
13.3.6 Backstepping of MIMO Mass-Damper-Spring Systems Step 2 (Vectorial Backstepping):
Bu ! z ! "2
!2 ! Mv" r " D!v"vr "K!x"x !Kpx# !Kds
z ! "2
Choosing the stabilizing vector field as:
V! 2! s!z ! s!!D!v" "Kd"s ! x#!Kp$x#
V3! 12 z!z "V2
V! 3 " z!Kz !V! 2
" z!!Bu" ! #" 2" # s!z ! s!!D!v" ! Kd"s ! x$!Kp%x$
" z!!BT!1!uc ! u" ! #" 2 # s" ! s!!D!v" ! Kd"s ! x$
!Kp%x$ #
Step 3 (Vectorial Backstepping): Tu! " u ! ucactuator model
89 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.6 Backstepping of MIMO Mass-Damper-Spring Systems
V! 3 " z!!BT!1!uc ! u! ! !" 2 # s! ! s!!D"v! # Kd"s ! x$
!Kp%x$
Control law:
uc ! u ! TB!!"# 2 ! s ! K zz"
V! 3 " !z!Kzz ! s!!D!v" !Kd"s ! x"!Kp#x"
gives:
Consequently, GES is proven for a MIMO mechanical system with actuator dynamics using 3 vectorial steps.
x! ! "
Mv! # D!v"v # K!x"x ! BuTu! # u ! uc
# # #
90 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.6 Backstepping of MIMO Mass-Damper-Spring Systems Example 13.5 (MIMO Backstepping of Robots)
q! ! vM!q"v! " C!q,v"v " g!q" ! #
# #
! " M!q"v# r ! C!q,v"vr ! g!q" !Kds !Kqq$
V! " !s!Kds ! q! !Kq"q! #0 "s " 0,q! " 0
V ! 12 !s
!M!q"s ! q" !Kqq" "#0, !s ! 0, q" ! 0
!1" vr, vr ! #d!$q%
CLF:
s ! v" # $q"
91 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.7 Case Study: MIMO Backstepping of Fully Actuated Ships
!" ! J!!"#M#" $ C!#"# $ D!#"# $ g!!" ! %
% ! Bu
# # #
!" r ! !" d ! #!$
% r ! J!1!!"!" r
# #
s ! !"" # #"$! ! M"# r " C!"""r " D!"""r " g!$" ! J!!$"Kp$% ! J
!!$"Kds
u ! B!!
#
#
V! 2! !s!!D"!",#" $Kd"s ! #% !Kp&#%
V2! 12 s!M!!"!s #V1
CLF:
92 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.8 Case Study: MIMO Backstepping Design with Acceleration Feedback for Fully Actuated Ships 3 DOF maneuvering model (surge, sway and yaw):
!" ! R!!"#M#" " C!#"# " D!#"# ! $
# # M !
m ! Xu" 0 0
0 m ! Yv" mxg!Yr"
0 mxg!Nv" Iz!Nr"
#
! ! !PD ! Km"# ! Cm!""" #
PD controller with accelera/on feedback:
Km !K11 K12 0
K21 K22 0
K31 K32 0
Cm!!" !0 0 !K21u ! K22v0 0 K11u " K12v
K21u " K22v !K11u ! K12v 0
#
#
No feedback from yaw accelera/on, only linear accelera/ons in surge and sway
93 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.8 Case Study: MIMO Backstepping Design with Acceleration Feedback for Fully Actuated Ships A symmetric iner/a matrix with two tunable gains is obtained by choosing:
Km !
K11 K12 0
K21 K22 0
K31 K32 0
!
Xu" # $K11 0 0
0 Yv" # $K22 0
0 Nv" ! Yr" 0
#
H !
m " #K11 0 00 m " #K22 mxg!Yr$0 mxg!Yr$ Iz!Nr$
# H!" ! CH!!"! ! D!!"! " #PD #
CH!!" ! C!!" " Cm!!" #
s!!H! !"!# " 2CH! "",!#$s ! 0, s # 0 # H!!!" ! R!!"HR!!!"
CH! !!,!" ! R!!"#CH!!" " HR!!!"R" !!"$R!!!"
# #
Skew-‐symmetric property:
94 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.8 Case Study: MIMO Backstepping Design with Acceleration Feedback for Fully Actuated Ships
s ! !"" # #"$
CLF:
!" r ! !" d ! #!$
%r ! R!!!"!" r
# #
V1 ! 12 z1
!Kpz1, z1 ! !d ! !
V2 ! V1 " 12 "!H"
#
#
V! 2 " !s!!D"!!,!" #Kd"s ! "# !Kp$"#
!PD ! H"# r " CH!"""r " D!"""r ! R!!!"#Kp$% " Kds$ #
H!!!"!" ! CH! !#,!"!$ ! D!!#,!"!$ " R!!"%PD
H!" ! CH!!"! ! D!!"! " #PD # !" ! R!!"#M#" " C!#"# " D!#"# ! $
# #
! ! !PD ! Km"# ! Cm!""" #
Ship model:
95 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.11 Case Study: Heading Autopilot for Ships and Underwater Vehicles The linear Nomoto models can be extended to include nonlinear effects by adding sta/c nonlineari/es referred to as maneuvering characteris/cs.
Nonlinear Extension of Nomoto's 1st-‐Order Model (Norrbin 1963)
Tr! " HN!r" # K!
HN!r" ! n3r3 " n2r2 " n1r " n0
where HN(r) is a nonlinear func/on describing the maneuvering characteris/cs. For HN(r) = r, the linear model is obtained.
r!!s" ! K
!1 " Ts" #
96 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
A nonlinear backstepping controller can be designed by wri/ng the autopilot model in SISO strict feedback form:
13.3.11 Case Study: Heading Autopilot for Ships and Underwater Vehicles
! ! m"" 1 # d!r"r ! z1 ! k2z2 ! n2!z2"z2
"1 ! rd ! #k1 # n1!z1"$z1
# #
z1 ! ! ! !dz2 ! r ! "1
# #
m ! TK
d!r" ! 1K HN!r"
!! " rmr! # d!r"r " "
# #
! ! m"" 1 # d!v"v # k!x"x ! z1 ! k2z2 ! n2!z2"z2
!1 ! y" d ! !k1 # n1"z1#$z1
V2 ! V1 " 12 mz2
2, m # 0
V$ 2 ! V$ 1 " mz2ż2
! !!k1 " n1"z1#$z12 " z1z2 " z2!! ! d"v#v ! k"x#x ! m"$ 1$
#
#
SISO Backstepping Controller (Sec&on 13.3.3)
SISO mass-‐damper system that follows the standard procedure in Sec/on 13.3.3. strict feedback form:
97 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft For floa/ng rigs and supply vessels, trajectory tracking in surge, sway and yaw (3 DOF) is easily achieved since independent control forces and moments are simultaneously available in all degrees of freedom. For slow speed, this is referred to as dynamic posi/oning (DP) where the ship is controlled by means of tunnel thrusters, azimuths and main propellers. Conven/onal craq, on the other hand, are usually equipped with one or two main propellers for forward speed control and rudders for turning control. The minimum configura/on for waypoint tracking control is one main propeller and a single rudder. This means that only two controls are available, thus rendering the ship underactuated for the task of 3 DOF tracking control. LOS Guidance Algorithm ü The desired output is reduced from (xd, yd,ψd) to ψd and ud using a LOS projec/on
algorithm. ü The tracking task ψ(t)→ψd(t) is then achieved using only one control (normally the
rudder), while tracking of the speed assignment ud is performed by the remaining control (the main propeller).
Fossen, T. I., M. Breivik and R. Skjetne (2003). Line-‐of-‐Sight Path Following of Underactuated Marine Craq, IFAC MCMC'03,Proc. of the IFAC MCMC'03, Girona, Spain
98 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft
Adding an outer LOS-‐loop to obtain path-‐following. No/ce that a conven/onal autopilot system can be used in the inner loop.
99 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft
Problem Statement The problem statement is stated as a maneuvering problem with the following two objec/ves: 1) LOS Geometric Task: Force the vessel posi/on p = [x,y]T to converge to a desired path by forcing the course angle χ to converge to: where the LOS posi/on plos = [xlos,ylos]T is the point along the path which the vehicle should be pointed at. 2) Dynamic Task: Force the speed u to converge to a desired speed assignment ud, that is:
!d ! atan2!ylos ! y,xlos ! x" #
limt!!
!u"t# " ud"t#$ " 0 #
100 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft
! ! !u,v,r"!
! ! !x,y,!"!
M !m11 0 0
0 m22 m23
0 m32 m33
!m ! Xu" 0 0
0 m ! Yv" mxg!Yr"
0 mxg!Nv" Iz!Nr"
N!!" !n11 0 0
0 n22 n23
0 n32 n33
!
!Xu 0 0
0 !Yv mu ! Yr
0 !Nv mxgu ! Nr
R!!" !cos !!" ! sin!!" 0
sin!!" cos !!" 0
0 0 1
#
Sway is leq uncontrolled
!" ! R!!"#
M#" " N!#"# !
!1 ! t"TY""N""
:!#1
Y""#3
#
#
101 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
! ! !!1,!2,!3"! ! "3
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft Backstepping Design Define the error signals according to: Next CLF:
z1 :! ! ! !d ! " ! "dz2 :! !z2,1,z2,2,z2,3"! ! ! ! "
# #
ż1 ! r ! rd ! h!! ! rd! !3 " h!z2 ! rd #
h ! !0,0,1"! #
Mż2 ! M!" !M#"
! $ ! N! !M#" #
yaw selec/on vector used in LOS objec/ve
Three stabilizing func/ons but only two can be specified since we are limited to two controls:
rd ! !" d
V ! 12 z1
2 " 12 z2
!Mz2, M ! M! # 0 #
LOS heading error
kine/c energy
102 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
!1 ! m11"" 1 # n11u ! k1!u ! "1"
!3 ! m32"" 2 # m33"" 3 # n32v # n33r ! k3!r ! "3" ! z1
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft
V! " z1ż1 # z2!Mż2" z1!!3 # h!z2 ! rd" # z2!!! ! N" !M#$ " !3 ! !cz1 " rd #
V! " !cz12 # z1h!z2 # z2
!!! ! N" !M#$ "
" !cz12 # z2
!!hz1 # ! ! N" !M#$ " #
V! " !cz12 ! z2
!Kz2 # 0, "z1 # 0,z2 # 0 #
By standard Lyapunov arguments, this guarantees that (z₁,z₂) is bounded and converges to zero. However, no/ce that we can only prescribe values for τ₁ and τ₃ while sway is leq uncontrolled. Moreover,
! !!1
Y""!3
! M"# " N$ ! Kz2 ! hz1 #
103 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft Choosing α₁ = ud solves the dynamic task. The closed-‐loop surge dynamics becomes The remaining equa/on (τ₂ = 0) results in a dynamic equality constraint (sway dynamics): This equa/on is recognized as the internal dynamics and we need to check if the closed-‐loop system in 3 DOF based on only two controls is stable. It can be shown that:
m11!u! ! u! d" " k1!u ! ud" # 0 #
m22!! 2 " m23!! 3 " n22v " n23r ! k2!v ! !2" #Y"N"
#3 #
m22 !Y!N!m32 "! 2 " ! n22 !
Y!N!n32 "2 # #!z1,z2,rd,r! d" #
!!z1,z2,rd,r! d" " ! m23 !Y"N"m33 !c2z1 ! cz2,3 # r! d" ! n22 !
Y"N"n32 z2,2
! n23 !Y"N"n33 !!cz1 # rd # z2,3" # k2z2,2 !
Y"N"
!k3z2,3 # z1" #
104 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
From the Lyapunov arguments the equilibrium (z₁,z₂) = (0,0) of the z-‐subsystem is UGAS. Moreover, the unforced α₂-‐subsystem (γ = 0) is clearly exponen/ally stable. Since (z₁,z₂) ∈ L∞ and (rd, rd) ∈ L∞, then γ ∈ L∞. This implies that the α₂-‐subsystem is input-‐to-‐state stable from γ to α₂. By standard comparison func/ons, it is straigh�orward to show that:
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft
.
limt!!|!2!t" " v!t"|" 0 #
z1 :! ! ! !d
z2 :! !u ! ud,v ! !2,r ! !3"!ż1
ż2!
!c h!
!M!1h !M!1Kz1
z2
m" !# 2 ! !n"!2 $ "!z1,z2,rd,r# d"
#
#
|!2!t"| ! |!2!0"|e"n!2t #
105 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft
Case Study: Experiment Performed with the CS2 Model Ship In the experiment, CyberShip 2 (CS2) was used. It is a 1:70 scale model of an offshore supply vessel with a mass of 15 kg and a length of 1.255 m. The maximum surge force is approximately 2.0 N, while the maximum yaw moment is about 1.5 Nm. The MCLab tank is: L × B × D = 40 m × 6.5 m × 1.5 m.
M !
25. 8 0 0
0 33. 8 1. 0115
0 1. 0115 2. 76
, N!!" !2 0 0
0 7 0. 1
0 0. 1 0. 5
c ! 0.75, k1 ! 25, k2 ! 10, k3 ! 2.5
106 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft
xy-‐plot of the measured and desired geometrical path during the experiment.
wpt1! !0. 372, !0. 181" wpt5! !6. 872, !0. 681"
wpt2! !!0. 628, 1. 320" wpt6! !8. 372, !0. 181"
wpt3! !0. 372, 2. 820" wpt7! !9. 372, 1. 320"
wpt4! !1. 872, 3. 320" wpt8! !8. 372, 2. 820"
!x0,y0,!0" ! !!0.69 m,!1.25 m, 1.78 rad"!u0,v0,r0" ! !0.1 m/s, 0 m/s, 0 rad/s"
107 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.3.12 Case Study: Path-Following Controller for Underactuated Marine Craft
The actual yaw angle of the ship tracks the desired LOS angle well.
The discon/nui/es in the actual heading angle is due to the camera measurements dropping out.
108 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Chapter 13 – Advanced Motion Control Systems 13.1 Linear-‐Quadra/c Op/mal Control 13.2 State Feedback Lineariza/on 13.3 Integrator Backstepping 13.4 Sliding-‐Mode Control
109 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
Chapter 13 – Advanced Motion Control Systems
Autopilot design for underwater vehicles (submersibles) can be classified according to the applica/on:
• ROV: remotely operated vehicles
• AUV: autonomous underwater vehicles
• UUV: unmanned underwater vehicles
• URV: underwater robo/c vehicles
A naval vessel or warship that is capable of propelling itself beneath the water, as well as on the surface, is referred to as a submarine.
110 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.1 SISO Sliding-Mode Control VSC where a sigmoid function (S-shaped functions like��� sgn, tanh, etc.) dominates model uncertainty by increasing��� the gain Ks for instance by using 13.4.2 Sliding-Mode Control using the Eigenvalue Decomposition VSC where the sigmoid function gain Ks is computed using an eigenvalue decomposition.
Chapter 13.4 Sliding-Mode Control Sliding-‐mode control (Utkin 1977) can be used to handle model uncertainty. Sliding-‐mode techniques have been applied to marine craq by Yoerger and Slo/ne (1985),
Slo/ne and Li (1991), Healey and Lienard (1993), McGookin et al. (2000a, 2000b). Sliding-‐mode control is a form of variable structure control (VSC). It is a nonlinear control
method that alters the dynamics of a nonlinear system by applica/on of a high-‐frequency switching control.
The state-‐feedback control law is not a con/nuous func/on of /me. Instead, it switches from one con/nuous structure to another based on the current posi/on in the state space. Hence, sliding-‐mode control is a VSC method.
Ks sgn(s)
111 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.1 SISO Sliding-Mode Control Sliding Surface The feedback control law is modified to use a sliding surface s instead of the state variables. Define a scalar measure of tracking:
s ! !"# $ 2"!" $ "2 !0
t!" !#"d#
λ > 0 is a design parameter reflec/ng the bandwidth of the controller
!! " ! ! !d is the yaw angle tracking error
For s = 0 this expression describes a sliding surface (manifold) with exponen/ally stable dynamics. No/ce that: if s = 0. This means that the control problem can be solved by regula/ng s to 0 instead of regula/ng the tracking error to 0.
!! converges exponen/ally to zero
112 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.1 SISO Sliding-Mode Control Define a second sliding surface:
s0 ! !" # " !0
t!" !#"d#
such that the manifold s = 0, i.e.: can be rewrinen as:
s ! s" 0 # !s0 ! 0
s ! !"# $ 2"!" $ "2 !0
t!" !#"d# ! 0
!!"
s" 0#
!" 10 !"
!!
s0
Hence:
The control objec/ve is reduced to finding a nonlinear control law which ensures that:
limt!! s " 0
λ
1
s0.
φφ
s0
!
! s0 and !! converge exponential to zero
s0 and !! converge exponential to zero
113 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.1 SISO Sliding-Mode Control When deriving the control law, a stable ship model with nonlinear damping is considered:
Tr! " n3r3 " n1r # K! " "windDefine a new signal v according to:
v ! r ! s ! s ! r ! vsuch that
Ts! " Tr! ! Tv!" K! # "wind ! !n3r2 # n1"r ! Tv!
" K! # "wind ! !n3r2 # n1"!v # s" ! Tv! #
Consider the CLF:
V!s" ! 12 Ts
2, T " 0
V! !s" " sTs!
114 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.1 SISO Sliding-Mode Control
V! !s" " s#K! # "wind ! !n3r2 # n1"!v # s" ! Tv! $" !#n3r2 # n1$s2 # s#K! # "wind ! #n3r2 # n1$v ! Tv! $ #
Let the control law be chosen as:
! ! T"K"v# $ 1
K"!n" 3r2 $ n1"v ! 1
K""wind ! Kds ! Kssgn#s$
where Kd ! 0 and Ks ! 0, while T" ,K" , and n" 3 are estimates of T,K, and n3, respectively.
sgn!s" !
1 if s " 00 if s ! 0!1 otherwise
signum func/on
This gives:
V! !s" " !#n3r2 # n1 # Kd$s2 ! Ks|s |
# T$K$
! TK v! # 1
K$! 1K #n1v ! !wind$
# n$ 3
K$! n3K r2v s #
nega/ve terms
we must choose Ks > 0 such that V become nega/ve
.
115 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.1 SISO Sliding-Mode Control Moreover, we choose the gain Ks > 0 so large that the parameter errors are dominated.
Consequently:
Ks ! T!K!
" TK v" # 1K!
" 1K !n1v " !wind"
# n! 3
K!" n3K r2v #
implies that:
V! !s" ! "!n3r2 " n1 " Kd"s2 ! 0 Consequently, s ! 0 and thus !" ! 0.
One way to find an es/mate of Ks is to assume e.g. 20 % uncertainty in all elements such that:
Ks ! 1.2 T!
K!|v" | # 1.2 1
K!n1v " !wind # 1.2 n!3
K!|r2v |
116 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.1 SISO Sliding-Mode Control It is well known that the switching term Ks sgn(s) can lead to chanering for large values of Ks.
Hence, Ks > 0 should be treated as a design parameter with
as a guideline (Lyapunov stability analysis is conserva/ve). Chanering in the controller can be eliminated by replacing the signum func/on with a
satura/ng func/on. Slo/ne and Li (1991) suggest smoothing out the control discon/nuity inside a boundary layer according to:
Ks ! T!K!
" TK v" # 1K!
" 1K !n1v " !wind"
# n! 3
K!" n3K r2v #
sat!s" !sgn!s" if |s/! | " 1s/! otherwise
where φ > 0 can be interpreted as the boundary layer thickness. This subs/tu/on will assign a LP filter structure to the dynamics inside the boundary layer.
Another possibility is to replace Ks sgn(s) with the smooth func/on Ks tanh(s/φ)
117 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.2 Sliding-Mode Control using the Eigenvalue Decomposition Healey and Lienhard (1993) have applied the theory of sliding-mode control to control the NPS AUV II. A related work discussing the problems of adaptive sliding mode control in the dive plane is found in Cristi et al. (1990).
The state-space representation for the lateral modes (neglecting roll):
!x " Ax # bu # f!x, t"where f(x,t) is a a nonlinear function describing the deviation from linearity in terms of disturbances and unmodelled dynamics
A !
a11 a12 0a21 a22 00 1 0
, b !
b1b20
x ! !v, r,!!!
u ! !R
(single input, multiple states)
118 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.2 Sliding-Mode Control using the Eigenvalue Decomposition
The feedback control law is composed of two parts (inner and outer loops):
u ! !k!x " uo k ! !3 feedback gain vector
Closed-loop dynamics:
!x " !A ! bk!"Acx # buo # f!x, t"
In order to determine the nonlinear part uo of the feedback control law, consider the output mapping: where h ∈ ℝ³ is a design vector to be chosen such that s → 0, implying convergence of the state tracking error x = x - xd → 0.
(sliding surface)
found from pole placement of Ac
s ! h! "x #
119 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
s! " h!Acx # h!buo # h!f!x, t" ! h! !xd #
13.4.2 Sliding-Mode Control using the Eigenvalue Decomposition
!x " Acx # buo # f!x, t"
Assume that hTb ≠ 0 and let the nonlinear control law be chosen as:
where !f!x, t" is an estimate of f!x, t".
!f!x, t" " f!x, t" ! #f!x, t"
Sliding surface dynamics
uo ! !h!b"!1#h! "xd ! h!#f!x, t" ! !sgn!s"$, ! $ 0 #
s! " h!!x! ! x! d" #
s ! h! "x #
s! " h!Acx ! !sgn!s" # h!$f!x, t" #
120 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
s! " !x!h ! "sgn!s" # h!$f!x, t" #
s! " h!Acx ! !sgn!s" # h!$f!x, t" #
13.4.2 Sliding-Mode Control using the Eigenvalue Decomposition
The first term in the sliding surface dynamics can then be rewritten as:
h!Acx ! x!Ac!h !!x!h
Assume that h is a right eigenvector of AcT such that:
! ! !!Ac!"!Ac!"h ! !h where is the corresponding eigenvalue of AcT
such that
cont..
121 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.2 Sliding-Mode Control using the Eigenvalue Decomposition Computation of h and k
The eigenvalue l can be made zero by noticing that the system model has one pure integrator in yaw. Let:
k !!k1, k2, 0"!
The linear part of the controller only stabilizes the sway velocity v and yaw rate r.
yaw y is left uncontrolled in the inner loop
Ac ! A ! bk!!a11 ! b1k1 a12 ! b1k2 0a21 ! b2k1 a22 ! b2k2 0
0 1 0
x !
vr!
For this matrix one of the eigenvalues are zero. Consequently:
!x!h ! 0 if h is a right eigenvector of Ac! for ! ! 0
122 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
s! " !x!h ! "sgn!s" # h!$f!x, t" #
If , this reduces to:
13.4.2 Sliding-Mode Control using the Eigenvalue Decomposition With this choice of h, the s-‐dynamics:
Lyapunov analysis:
Selectingh as:
! !! h ! ! ! "f"x, t# ! V! ! 0!
! ! 0
s! " !!sgn!s" # hT$f!x, t" #
V ! 12 s
2 # V! " ss!" !!sgn!s"s # sh!$f!x, t"" !!|s|#sh!$f!x, t" #
By applica/on of Barbălat's lemma, s converges to zero in finite /me if η is chosen to be large enough to overcome the destabilizing effects of the unmodeled dynamics Δf(x,t)
123 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.3 Case Study: Heading Autopilot for Ships and Underwater Vehicles
Station Keeping
[Speed] Low-Speed Positioning High-Speed Maneuvering
Autonomous Underwater Vehicles (AUVs): High-‐speed fliging vehicles; decoupled dynamics; gain-‐scheduled linear controllers (autopilots); underactuated
Remotely Operated Vehicles (ROVs): Low-‐speed box vehicles; strongly coupled dynamics; nonlinear, model-‐based control (dynamic posi/oning); fully actuated
124 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
The 6 DOF underwater vehicle equa/ons of mo/on can be divided into three non-‐interac/ng or lightly interac/ng subsystems for speed control, steering and diving:
Each system is described by the state variables:
1) Speed system state: u(t)
2) Steering system states: v(t), r(t) and ψ(t)
3) Diving system states: w(t), z(t), q(t), and θ(t)
The rolling mode, that is p(t) and f(t), is leq passive in this approach.
Example: Slender formed vehicles like the Naval Postgraduate School (NPS) AUV
13.4.3 Case Study: Heading Autopilot for Ships and Underwater Vehicles
125 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.3 Case Study: Heading Autopilot for Ships and Underwater Vehicles
The magnitude of η will be a trade-off between robustness and performance
sat!s" !sgn!s" if |s/! | " 1s/! otherwise
Chattering should be removed by replacing sgn(s) with:
Inner-outer loop designs:
126 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.3 Case Study: Heading Autopilot for Ships and Underwater Vehicles Consider the ROV model:
v!r!!!
"
a11 a12 0a21 a22 00 1 0
v ! vcr!
#
b1b20
"
!! dr! d
"0 1
!"n2 !2#"n
!drd
#0"n2
!ref
|vc | ! vcmax
unknown bounded currents:
Reference model:
Sliding surface for heading control / zero sway velocity
s ! h!!x ! xd" ! h1v " h2!r ! rd" " h3!! ! !d" #
127 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.3 Case Study: Heading Autopilot for Ships and Underwater Vehicles
Ac ! A ! bkT !
a11 ! b1k1 a12 ! b1k2 0a21 ! b2k1 a22 ! b2k2 00 1 0
Feedback from the sway velocity v and yaw rate r, that is:
k ! !k1, k2, 0"T
Hence:
where the yaw dynamics is leq unchanged.
A pure integrator in yaw corresponding to the eigenvalue l = 0 is necessary in order to sa/sfy:
!x!h ! 0
128 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.3 Case Study: Heading Autopilot for Ships and Underwater Vehicles The eigenvector h is computed in Matlab as
p ! [-1 -1 0] % desired poles for Ac
k ! place(A,b,p) % pole placement
Ac ! A-b*k’
[V,D]!eig(Ac’) % eigenvalue decomposition
for i ! 1:3 % extract the eigenvector h from V
hi ! V(:,i);
if norm(hi.’*Ac) " 1e-10; h ! hi; end
end
The resul/ng trajector-‐tracking controller is:
! ! !k1v ! k2r " 1h1b1"h2b2
!h2r# d " h3rd ! "sat"s#$
! !! h ! ! ! ""a11,a12, 0#!vcmax !
Since the disturbance vc is unknown our best guess for f(x,t) is f!x! , t" ! 0
! !! h ! ! ! "f"x, t# !
129 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.4 Case Study: Pitch and Depth Autopilot for Underwater Vehicles Pitch and depth control of underwater vehicles is usually done by using control surfaces, thrusters and ballast systems. For a neutrally buoyant vehicle, stern rudders are anrac/ve for diving and depth changing maneuvers, since they require rela/vely linle control energy compared to thrusters.
NPS AUV II A. J. Healey and D. Lienard (1993). Mul/variable Sliding-‐Mode Control for Autonomous Diving and Steering of Unmanned Underwater Vehicles. IEEE Journal of Oceanic Engineering, Vol. 18, No. 3.
130 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.4 Case Study: Pitch and Depth Autopilot for Underwater Vehicles
m ! Xu! !Xw! mzg ! Xq!!Xw! m ! Zw! !mxg ! Zq!
mzg ! Xq! !mxg ! Zq! Iy ! Mq!
u!w!q!
"
!Xu !Xw !Xq!Zu !Zw !Zq!Mu !Mw !Mq
uwq
"
0 0 00 0 !!m ! Xu! "u0 !Zw! ! Xu! "u mxgu
uwq
"
00
WBGz sin!#
"1"3"5
Longitudinal underwater vehicle dynamics (linear damping, no Coriolis-centripetal terms):
The speed dynamics can be removed from this model by assuming that the speed controller stabilizes the forward speed such that:
m ! Zw! !mxg!Zq!
!mxg!Zq! Iy!Mq!
w!
q!"
!Zw !Zq
!Mw !Mq
w
q
"0 !!m ! Xu! "uo
!Zw! !Xu! "uo mxguo
w
q"
0
BGzWsin !#
"3
"5 #
u ! uo ! constant
131 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.4 Case Study: Pitch and Depth Autopilot for Underwater Vehicles A state-‐space representa/on of this model is:
!x " Ax # bu$
w!q!!!
d!
"
a11 a12 0 0a21 a22 a23 00 1 0 01 0 !u0 0
wq!
d
#
b1
b2
00
"S
#
#
!! " p cos" ! sin" " qd! " !u0 sin! # v cos! sin# # wcos! cos# " w ! u0!
# #
Kinema/c approxima/ons:
stern rudder for depth control
d = depth
132 Lecture Notes TTK 4190 Guidance and Control of Vehicles (T. I. Fossen)
13.4.4 Case Study: Pitch and Depth Autopilot for Underwater Vehicles A combined pitch and diving autopilot can be designed for the model:
!x " Ax # bu # f!x, t"
where f(x,t) is a nonlinear func/on describing the devia/on from linearity in terms of disturbances and unmodelled dynamics
The sliding surface for pitch and diving control can be constructed as:
x = [w, q,q, d]T (longitudinal states) u = dS (stern angle)
k ! !k1, k2, 0, k4"T
Ac!h ! 0 for !3 ! 0pure integrator in the pitch channel
gives
s ! h!x! ! h1!w ! wd" " h2!q ! qd" " h3!! ! !d" " h4!d ! dd" #
u ! !k!x "uouo ! !h!b"!1#h! #xd ! h!$f!x, t" ! !sgn!s"$, ! % 0
# #
!S ! !k1w ! k2q ! k4d " 1h1b1 " h2b2
!h1w# d " h2q# d " h3"d " h4dd ! #sgn"s#$ #