Professional Documents
Culture Documents
Behzad Samadi
Outline
Motivation
Aircraft design
Parameter estimation
Model order reduction
Model based control design
Convex Optimization
Sum of Squares
Lyapunov Analysis
Controller Synthesis
Safety Verification
Gain Scheduling
References
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Motivation
Aircraft design
Aircraft Design
maximize range
minimize weight
maximize lift to drag ratio
minimize cost
minimize noise
subject to physical, geometrical, environmental, budget and safety
constraints
Multidisciplinary Optimization (MDO) problem: aerodynamics,
structure, aeroelasticity, propulsion, noise and vibration, dynamics,
stability and control, manufacturing
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Parameter Estimation
Parameter Estimation
The dynamic equations are given by:
u̇ Xu Xa −g ⎡ u ⎤
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
0 0 0 0 0 0 0 0 0 0 0
⎢ v̇ ⎥ ⎢ 0 Yv 0 0 0 Yb 0 0 g 0 ⎥ ⎢v ⎥
⎥⎢ ⎥ ⎢ 0
⎢ 0 Yped 0 ⎥
⎢ ṗ ⎥ ⎢ Lu Lv Lb Lw 0 ⎥ ⎢p ⎥
⎢ ⎥ ⎢ ⎥
0 0 0 0 0
⎥⎢ ⎥ ⎢ 0 0 0 0
⎢ ⎥
⎢ q̇ ⎥ ⎢Mu Mv Ma Mw q Mcol ⎥
⎢ ⎥ ⎢ ⎥⎡
0 0 0 0 0 ⎥⎢ ⎥ ⎢ 0
0 ⎥ 0 0 ⎥ 𝛿lat
⎢ ⎤
Ab ⎢ Alat Alon
⎢ ⎥
⎢ ȧ ⎥ ⎢ 0 0 ⎥ a
⎢ ⎥ ⎢
−1
0 0 −1 𝜏f 𝜏f 0 0 0
⎥ ⎢
⎥ ⎢ 𝜏f
⎥ 𝜏f 0 0 ⎥ 𝛿lon ⎥
⎥ ⎢
Ba ⎢ Blat Blon
⎢ ⎥=⎢ ⎢ ⎥+⎢
⎢ ḃ ⎥ ⎢ 0 0 ⎥ ⎢b⎥
⎢ ⎥ ⎢
−1 ⎥⎢ ⎥⎢ ⎥
0 −1 0
𝜏f 𝜏f 0 0 0 0 0 ⎥ ⎣𝛿ped ⎦
⎥ ⎢ ⎥ ⎢ 𝜏f 𝜏f
⎢ẇ ⎥ ⎢ 0 Za Zb Zw Zr 0 ⎥ ⎢w ⎥ Zcol ⎥
⎥ col
𝛿
⎢ ⎥ ⎢ ⎥
0 0 0 0
⎥⎢ ⎥ ⎢ 0 0 0
⎢
⎢ ṙ ⎥ ⎢ 0 Nv Np Nb Nw Nr 0 ⎥⎢r ⎥ Nped Ncol ⎥
⎢ ⎥ ⎢
0 0 0
⎥⎣ ⎦ ⎢ 0 0
⎢
⎢ ˙⎥ ⎢ ⎥
⎣𝜑⎦ ⎣ 0 0 1 0 0 0 0 0 0 0 ⎦ 𝜑 ⎣ 0 0 0 0 ⎦
𝜃˙ 0 0 0 1 0 0 0 0 0 0 𝜃 0 0 0 0
y= u v w p q r
[︀ ]︀T
𝜑 𝜃
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Parameter Estimation
x (k + 1) = A(𝜃)x (k ) + B (𝜃)u (k )
y (k ) = C (𝜃)x (k ) + D (𝜃)u (k )
where x is the state vector, u denotes the input vector and y is the
measurement vector.
This is a parametric model, based on physical principles. In order to
have a virtual model of the UAV, we need to find the best
parameter vector using input-output data of a few flight tests.
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Parameter Estimation
𝒟N = {(uft (k ), yft (k )) |k = 0, . . . , N }
minimize ΣN
i =1 ‖y (tk ) − yft (tk )‖2
2
𝜃,x (0)
minimize ‖G (s ) − Ĝ (s )‖∞
G^ (s )
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
minimize noise
minimize cost
minimize weight
often go unrecognized
[cvxbook]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
f (x )
minimize
subject to x ∈ C
Convex set
C ⊆ Rn is convex if
x , y ∈ C , 𝜃 ∈ [0, 1] =⇒ 𝜃x + (1 − 𝜃)y ∈ C
[cvxbook]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Convex function
f : Rn −→ R is convex if
x , y ∈ Rn , 𝜃 ∈ [0, 1]
⇓
f (𝜃x + (1 − 𝜃)y ) ≤ 𝜃f (x ) + (1 − 𝜃)f (y )
[cvxbook]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Linear programming
minimize aT x
0
T
subject to ai x ≤ bi , i = 1, . . . , m
[cvxbook]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Semidefinite programming
minimize cT x
subject to x F + · · · + xn Fn + G
1 1 ⪯0
Ax = b,
where P ⪯ 0 for a matrix P ∈ Rn×n means that for any vector
v ∈ Rn , we have:
v Pv ≤ 0
T
Nonnegativity of polynomials
k1 +k2 +···+kn ≤d
How to check if a given p(x ) (of even order) is globally
nonnegative?
p(x ) ≥ 0, ∀x ∈ Rn
For d = 2, easy (check eigenvalues). What happens in
general?
[Parrilo]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
A sufficient condition
i =1
If p (x ) can be written as above, for some polynomials fi , then
p(x ) ≥ 0.
p(x ) is an SOS if and only if a positive semidefinite matrix Q
exists such that
p(x ) = Z T (x )QZ (x )
where Z (x ) is the vector of monomials of degree less than or
equal to deg (p )/2
[Parrilo]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Example
p (x , y ) = 2 x + 5 y − x y + 2 x y
4 4 2 2 3
⎡ ⎤T ⎡
cx q q q cx
2
⎤⎡ ⎤ 2
11 12 13
= y
⎣ ⎦2 ⎣q q q 21
⎦ ⎣ y ⎦ 22 23
2
xy q q q 13 xy 23 33
= q x + q y + (q + 2q )x y
11
4
22
4
33 12
2 2
+ 2q13 x 3 y + 2q23 xy 3
⎡ ⎤
2 −3 1 [︂ ]︂
= LT L,
1 −3
Q = ⎣−3 5 0⎦ L= √ 2
0 1
1
3
2
1 0 5
J
wj 𝛼j
∑︁
Minimize
j =1
J
fi , 𝛼j fi ,j (x ) i = 1, . . . , I
∑︁
subject to 0 + is SOS, for
j =1
where the 𝛼j ’s are the scalar real decision variables, the wj ’s are
some given real numbers, and the fi ,j are some given multivariate
polynomials.
[Prajna]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Numerical Solvers
[Parrilo]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Global optimization
[Parrilo]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Global optimization
F (x , y ) − 𝛾 is SOS.
A semidefinite program (convex!).
Surprisingly effective.
[Parrilo]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
3 1
ẋ = −y + x 2
− x 3
2 2
ẏ = 3x − y
Try a generic 4th order polynomial Lyapunov function.
Find a V (x , y ) that satisfies the conditions:
V (x , y ) is SOS.
−V̇ (x , y ) is SOS.
Can easily do this using SOS/SDP techniques...
[Parrilo]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
[Parrilo]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
ẋ
1 = −x13 − x1 x32
ẋ
2 = −x2 − x12 x2
3 x
ẋ = −x3 −
3
+ 3x12 x3
3
x 2
3
+1
𝜕V 𝜕V 𝜕V
(x32 + 1)(− ẋ1 − ẋ2 − ẋ3 ) is SOS,
𝜕 x1 𝜕 x2 𝜕 x3
we have V (x ) = 5.5489x 2
1
+ 4.1068x22 + 1.7945x32 .
[sostools]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
3 1 −p1 p2 x3
3
a (p) ,(p
1 1 − p1 )(p1 − p1 ) ≤ 0
a (p) ,(p
2 2 − p2 )(p2 − p2 ) ≤ 0
[sostools]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
SOS, for i , j = 1, 2.
[sostools]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
ẋ 1 =x2
1
ẋ 2 = − x1 + x
1
3
− x2
3
Initial set:
Unsafe set:
[sostools]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Barrier certificate B (x )
B (x ) < 0, ∀x ∈ 𝒳 0
B (x ) > 0, ∀x ∈ 𝒳u
𝜕B 𝜕B
𝜕 x1 ẋ + 𝜕 x2 ẋ ≤ 0
1 2
−B (x ) − 0.1 + 𝜎 (x )g (x ) is SOS,
1 0
[sostools]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
[sostools]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
ẋ = f (x ) + g (x )u
State dependent linear-like representation
ẋ = A(x )Z (x ) + B (x )u
where Z (x ) = 0 ⇔ x = 0
Consider the following Lyapunov function and control input
V (x ) = Z T (x )P − Z (x ) 1
u (x ) = K (x )P − Z (x )1
[Prajna]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
v T (P − 𝜖 I )v is SOS,
1
−v T (PAT (x )M T (x ) + M (x )A(x )P + K T (x )B T (x )M T (x ) +
M (x )B (x )K (x ) + 𝜖 (x )I ) is SOS,
2
N 𝜕 Zi
where v ∈ R and Mij (x ) =
𝜕 xj (x ). Then a controller that
stabilizes the system is given by:
u (x ) = K (x )P − Z (x ) 1
ẋ
1 = 0.5(−h(x1 ) + x2 )
ẋ
2 = 0.2(−x1 − 1.5x2 + u )
[Prajna]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
[Prajna]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
[soscvx]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Flutter Phenomenon
Mechanism of Flutter
Inertial Forces
Aerodynamic Forces (∝ V 2 ) (exciting the
motion)
Elastic Forces (damping the motion)
Flutter Facts
Flutter is self-excited
Two or more modes of motion (e.g. flexural and torsional)
exist simultaneously
Critical Flutter Speed, largely depends on torsional and flexural
stiffnesses of the structure
[flutter96]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Flutter Phenomenon
[flutter96]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Flutter Phenomenon
M ḧ ḣ h
[︂ ]︂ [︂ ]︂ [︂ ]︂ [︂ ]︂
+ (C0 + C𝜇 ) + (K0 + K𝜇 ) = B 𝛽o
0
+
𝛼
¨ 𝛼˙ 𝛼 𝛼K𝛼 (𝛼)
h
State variables: plunge deflection ( ), pitch angle (𝛼), and
their derivatives ( ḣ and 𝛼˙ )
Inputs: angular deflection of the flaps (𝛽
o ∈ R2 )
Constraints: on states and actuators
[flutter07] [flutter98]
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Bombardier Q400
LQR Controller
R = 10I , Q = 10 I 4
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
LQR Controller
LQR Controller
LQR Controller
LQR Controller
Nonlinear Model
Open loop:
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
PD Controller
Open loop:
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Polynomial Controller
ẋ
1 = x3
ẋ
2 = x4
x x
[︂ ]︂ [︂ ]︂
3 1
= −10
Consider the controller
x4 x
2
for the above system.
1
V (x ) = x + x22 + (x3 + 10x1 )2 + (x4 + 10x2 )2
{︀ 2
}︀
1
2
Polynomial Controller
Polynomial Controller
Polynomial Controller
Future work:
Gain Scheduling
Gain Scheduling
ẋ = fi (x ), x ∈ ℛi
where x ∈𝒳 is the state vector. A subset of the state space 𝒳 is
partitioned into M regions, ℛi , i = 1, . . . , M such that:
∪M
i =1 ℛ̄i = 𝒳 , ℛi ∩ ℛj = ∅, i ̸= j
where ℛ̄i denotes the closure of ℛi .
Motivation Convex Optimization SOS Flutter Suppression Gain Scheduling PWS Conclusion
Conclusion
References I
References II
[soscvx] A convex polynomial that is not sos-convex, Amir Ali
Ahmadi and Pablo A. Parrilo,
http://arxiv.org/pdf/0903.1287.pdf
[yalmip] YALMIP, A Toolbox for Modeling and Optimization in
MATLAB, J. Löfberg. In Proceedings of the CACSD
Conference, Taipei, Taiwan, 2004,
http://users.isy.se/johanl/yalmip
[sos] Pre- and post-processing sum-of-squares programs in
practice. J. Löfberg. IEEE Transactions on Automatic Control,
54(5):1007-1011, 2009.
References III
[sedumi] SeDuMi, a MATLAB toolbox for optimization over
symmetric cones, http://sedumi.ie.lehigh.edu
[flutter96] Modeling the benchmark active control technology
windtunnel model for application to flutter suppression, M. R.
http://www.mathworks.com/
Waszak, AIAA 96 - 3437,
matlabcentral/fileexchange/3938
[flutter98] Stability and control of a structurally nonlinear
aeroelastic system, Jeonghwan Ko and Thomas W. Strganacy,
Journal of Guidance, Control, and Dynamics, 21 , 718-725.