Professional Documents
Culture Documents
1 Passivity-Based Control: V V y y V& V y Yt Ut XT
1 Passivity-Based Control: V V y y V& V y Yt Ut XT
Lesson 15
The derivative of V is given by
1 Passivity-Based Control
Consider the m -input- m -output system V&- yT f ( y ) 0.
Solution
Let V ( x ) = x1 / 4 + x2 / 2, we have
4 2
We see that the system with input v and output y = e&is passive with V
as the storage function.
With v = 0 and y = e&= 0 , we have e ( t ) = 0, therefore the
Solution system is zero-state observable. Hence, we can apply Theorem 14.4 and
We want to design a state-feedback control law so that q choose v = -f ( e&) with any function f such that f ( 0 ) = 0 and
asymptotically tracks a constant reference qr . Let e = q - qr . We have y T f ( y ) > 0 for all y 0. The choice
M ( q ) e&
&+ C ( q, q&) e&+ De&+ g ( q ) = u. v = - K d e&
Our goal is then to stabilize the system at ( e = 0, e&= 0 ) . We let the with a positive definite symmetric matrix K d results in the control
control input be
u = g ( q ) - K p ( q - qr ) - K d q&.
u = g ( q ) - K p e + v.
0
y T
W
x&= f ( x ) - G ( x ) F ( z , y ) + G ( x ) v,
We assume that the driving system is passive with a radially z
unbounded positive definite storage function V ( x ) , the origin of
y = h( x) ,
z&= f a ( z ) is stable, and we know a radially unbounded Lyapunov function
W ( z ) for z&= f a ( z ) , which satisfies with input v and output y is passive. If the whole system - is zero-state
observable, we can apply Theorem 14.4 to design v to globally stabilize
W the origin.
f a ( z ) 0, "z. Checking zero-state observability of the whole system can be
z reduced to checking zero-state observability of the driving system - if we
strengthen the assumption on W ( z ) so that becomes
Using U ( z , x ) = W ( z ) + V ( x ) as a storage function candidate for
the full system, we obtain
Moreover, U&= 0 implies that z = 0 and y = 0, which imply that u = 0. M is a positive definite symmetric inertia matrix, and I 3 is the 3 3
If the driving system - is zero-state observable, the conditions u ( t ) = 0
identity matrix.
1
r&= I3 + S ( r ) + r T r
w,
2
M w&= - S ( w ) M w - k r + v,
y = w.
With v = 0,
Solution
Choosing y = w , the system is in the form of the cascade y ( t ) = 0 w ( t ) = 0 w&( t ) = 0 r ( t ) = 0.
connection -. Taking V ( w ) = ( 1/ 2 ) w M w , we have
T
passive. The unforced driven system r&= 0 has a stable equilibrium point with any locally Lipschitz function f such that f ( 0 ) = 0 and y T f ( y ) > 0
at r = 0 and any radially unbounded, positive definite, continuously for all y 0.
differentiable function W ( r ) will qualify as a Lyapunov function. Thus, all
our assumptions are satisfied and the system can be made passive by the
control
Example 4 : Design a passivity-based control to globally asymptotically
T stabilize the origin of the system
W 1
u = - I 3 + S ( r ) + rr T
+ v.
r 2 h&= -h + h 2x ,
x&= u,
(
Taking W ( r ) = k ln 1 + r
T
r ) , with k > 0, yields
y = x.
6 Copyright 2007 by Withit Chatlatanagulchai
208581 Nonlinear Systems in Mechanical Engineering
Lesson 15
2.1 Motivating Example
Consider the second-order nonlinear system
x&1 = x2 ,
x&2 = f ( x, u ) ,
y = x1 ,
[ ]
T
where x = x1 , x2 .
Suppose u = g ( x ) is a locally Lipschitz state feedback control law
that stabilizes the origin x = 0 of the closed-loop system
x&1 = x2 ,
x&2 = f ( x, g ( x ) ) .
Solution
The system takes the form -. The system x&= u , y = x is passive The high-gain observer is given by
14.5 are satisfied and a globally stabilizing state feedback control can be
where f0 ( x, u ) is the nominal model of the nonlinear function f ( x, u ) .
taken as
Let
u = -h - kx , k > 0.
3
x% x - x
x%= 1 = 1 1
x%
2 x2 - x2
is Hurwitz, which is when h1 and h2 are any positive constants. eh&1 = -a1h1 + h 2 ,
With the disturbance term d , we need to design H with the eh&2 = -a 2h1 + ed ( x, x%
).
additional goal of rejecting the effect of d on x%
.
We can see that reducing e diminishes the effect of d .
2.1.1. Disturbance Rejection in Frequency Domain
In s-domain, the transfer function from d to x%is 2.1.3. Peaking Phenomenon
The solution of contains a term of the form ( 1/ e ) e
- at / e
for some
1 1
G0 ( s ) = 2 . a > 0. For e = 1, this term exhibits an impulsive-like behavior where the
s + h1s + h2 s + h1
transient reaches high peak before it decays rapidly toward zero. This
behavior is known as peaking phenomenon, which describes the transient,
We can make supwR G0 ( jw ) arbitrarily small by choosing h2 ? h1 ? 1. large estimation error when the observers gain H is very large.
We can also expect this phenomenon by calculating the transition
In particular, taking
matrix exp ( A0t ) .
a1 a Fortunately, we can overcome the peaking phenomenon by
h1 = , h2 = 22 saturating the control outside a compact region of interest in order to
e e
create a buffer that protects the plant from peaking.
for some positive constants a1 , a 2 , and e , with e = 1, it can be shown
Example 5 : Consider the system
that
x&1 = x2 ,
e e
G0 ( s ) = . x&2 = x23 + u ,
( e s ) + a1e s + a 2
2
e s + a1
y = x1.
Hence, lime 0 G0 ( s ) = 0.
x1
-2
-4
0 1 2 3 4 5 6 7 8 9 10
5
x2
-5
-10
0 1 2 3 4 5 6 7 8 9 10
500
u
-500
-1000
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Solution
The system can be globally stabilized by the state-feedback control Figure 1: Performance of state-feedback and
output-feedback controllers with various
u = - x23 - x1 - x2 . gains.
u = - x23 - x1 - x2 ,
x&
1 = x2 + ( 2 / e ) ( y - x1 ) ,
2 = x23 + ( - x23 - x1 - x2 ) + ( 1/ e 2 ) ( y - x1 ) .
x&
The results are given in Figure 1 and Figure 2. Figure 1 shows that
with larger gain (smaller epsilon), larger peak can be seen. Figure 2 shows
that with saturation, the peaking is reduced.
-5
x1(i+1) = x1(i)+ts*x1dot;
-10 x2(i+1) = x2(i)+ts*x2dot;
0 1 2 3 4 5 6 7 8 9 10
x1hat(i+1) = x1hat(i)+ts*x1hatdot;
0.5 x2hat(i+1) = x2hat(i)+ts*x2hatdot;
0
end
-0.5
u
-1
-1.5
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 2.2 Stabilization
Consider the multi-input-multi-output nonlinear system
Figure 2: Improving the peaking
x&= Ax + Bf ( x, z , u ) ,
phenomenon by input saturation.
The following Matlab script applies the output feedback controller. z&= y ( x, z , u ) ,
clear y = Cx,
close all
%general z = q ( x, z ) ,
ts = 0.001; %sampling time in seconds
tend = 10; %end time in seconds
t = 0:ts:tend-ts; where u R p is the control input, y R z R s are measured
m
and
%observer parameters
outputs, and x R r and z R l are state vectors. The r r matrix A,
eps = 0.1; the r m matrix B, and the m r matrix C are given by
%closed-loop system
x1(1) = 0.1; x2(1) = 0; %initial conditions
x1hat(1) = 0; x2hat(1) = 0; %initial conditions of observer
form r i
r1 i
X ( t ) m and x ( t ) m , "t T2
starting in S Q, satisfy
References
Nonlinear Systems, by Hassan K. Khalil, Prentice Hall, 2002.
Solution
An output feedback controller can be taken as
u = - k sat
(
a1 q - p + w
,
)
m
&
(
q = w + ( 2 / e ) q - q ,)
( ) (
= f0 q, u + ( 1/ e 2 ) q - q ,
w& )
where f0 = - a sin q + cu
is a nominal model of
f = - ( g 0 / l ) sin q - ( k0 / m ) q&+ ( 1/ ml 2 ) u .