a matlab toolbox for piecewise-affine controller synthesis
DESCRIPTION
TRANSCRIPT
References
A MATLAB Toolbox for Piecewise-AffineController Synthesis
Mohsen Zamani Behzad Samadi Luis Rodrigues
HYCONS Lab, Concordia University
American Control ConferenceMontreal, Canada
June 2012
References
Outline
Motivation
PWA systems
PWA approximation
PWA controller synthesis
Stability analysis of the closed loop system
Example
Conclusion
References
Motivation
Gain Scheduling Controller:Design an autopilot to:
minimize steady state tracking error
maximize robustness to wind gust
subject to varying flight conditions
For controller design, consider the following issues:
Theory of Linear Systems is very rich in terms of analysis andsynthesis methods and computational tools.
Real world systems, however, are usually nonlinear.
What can be done to extend the good properties of linearsystems theory to nonlinear systems?
References
Motivation
Gain Scheduling Controller:Gain scheduling is an attempt to address this issue.
Divide and conquer
Approximating nonlinear systems by a combination of locallinear systems
Designing local linear controllers and combining them
Started in 1960s, very popular in a variety of fields fromaerospace to process control
Problem: proof of stability!
Problem: By switching between two stable linear system, youcan create an unstable system.
References
PWA Systems
Piecewise Smooth SystemsThe dynamics of a piecewise smooth (PWS) is defined as:
x = fi (x), x ∈ Ri
where x ∈ X is the state vector. A subset of the state space X ispartitioned into M regions, Ri , i = 1, . . . ,M such that:
∪Mi=1Ri = X , Ri ∩Rj = ∅, i 6= j
where Ri denotes the closure of Ri .
References
PWA Systems
Piecewise Affine SystemsThe dynamics of a piecewise affine (PWA) is defined as:
x = Aix + ai + Biu, x ∈ Ri
whereRi = {x |Eix + ei ≥ 0}, i = 1, 2, . . . ,M
PWA systems are:
nonlinear
locally linear
References
PWA Systems
PWA Slab SystemsThe regions of PWA slab system are intervals on a scalar variable:
Ri = {x |βi < cTx < βi+1}
The regions of a PWA slab system can be written as degenerateellipsoids:
Ri = {x | |Eix + ei | < 1}
References
PWA Systems
PWA Differential InclusionsIn this toolbox, we have considered PWA differential inclusions(PWADI) described by:
x ∈ conv{Ai1x + ai1 + Bi1u,Ai2x + ai2 + Bi2u}, x ∈ Ri
PWADIs are a form of uncertain PWA systems.
Nonlinear systems can be included by PWADIs.
References
PWA Approximation
Given a nonlinear system:
x = Ax + a + f (x) + B(x)u
PWATOOLS can create a PWA approximation using the followingapproaches:
Uniform: connecting the dots of a uniform grid on thenonlinear surface
Optimal Uniform: minimizing the error for a uniform grid
Multi-resolution: recursively building a nonuniform grid basedon error minimization (divide and conquer)
References
PWA Controller Synthesis
Global Lyapunov functionFind a PWA controller u = Kix + ki such that:
V (x) = xTPx > 0dVdt < −αV for α > 0
the control signal is continuous (optional)
This problem is formulated as a set of Bilinear MatrixInequalities (BMI).
For PWA slab systems, the problem can formulated as a set ofLinear Matrix Inequalities (LMI).
References
PWA Controller Synthesis
Piecewise quadratic Lyapunov functionFind a PWA controller u = Kix + ki such that:
V (x) = xTPix + 2qTi x + ri > 0dVdt < −αV for α > 0
the Lyapunov function is continuous
the dynamics of the closed loop system is continuous
References
Stability of the Closed Loop System
The dynamics of the closed loop system is described by:
x = (Ai + BiKi )x + ai + Biki
The same inequalities are used assuming that the controllerknown. The BMIs become LMIs.
References
Example
Flutter Phenomenon
Mechanism of Flutter
Inertial Forces
Aerodynamic Forces (∝ V 2) (exciting themotion)
Elastic Forces (damping the motion)
Flutter Facts
Flutter is self-excitedTwo or more modes of motion (e.g. flexural and torsional)exist simultaneouslyCritical Flutter Speed, largely depends on torsional and flexuralstiffnesses of the structure
[1]
References
Example
State Space Equations:
M
[hα
]+ (C0 + Cµ)
[hα
]+ (K0 + Kµ)
[hα
]+
[0
αKα(α)
]= Bβo
Kα(α) = 2.82α− 62.322α2 + 3709.71α3 − 24195.6α4 + 48756.954α5
State variables: plunge deflection (h), pitch angle (α), andtheir derivatives (h and α)
Inputs: angular deflection of the flaps (βo ∈ R2)
Constraints: on states and actuators
[2; 3]
References
PWATOOLS
Create the system description (4 state variables, 2 inputs):
pwacreate(4,2,ActiveFlutter_non.m);
Edit the system description: ActiveFlutter non.m
model.A = [0 0 1 0; 0 0 0 1;
-M\(Ko+Ku) -M\(Co+Cu)];
model.Bx = [0 0; 0 0;muu*inv(M)*B];
model.aff = [0;0;0;0];
model.fx = @Flutter_Nonlinearity;
model.xcl = [0;0;0;0];
model.Domain ={[-1 1],[-1 1],[-1 1],[-5 5]}
model.NonlinearDomain = [0;1;0;0];
model.mtd = Uniform;
model.M =6; % Number of regions
References
PWATOOLS
Create the nonlinear function:
function F = Flutter_Nonlinearity(x)
qx2 = 2.82*x(2)-62.322*x(2)^2+3709.71
*x(2)^3-24195.6*x(2)^4
+48756.954*x(2)^5;|
M = [12.387 0.418; 0.418 0.065]; |
F = [0;0;-inv(M)*[0;qx2]];
Run the system description: ActiveFlutter non.m. It createdtwo objects:
nlsys: the nonlinear systempwainc: the PWADI
References
PWATOOLS
Create the nonlinear function:
x0=[.4 .63 .5 1.2]’;
setting.alpha=.1;
setting.SynthMeth=’bmi’;
setting.RandomQ= 0;
setting.RandomR= 0;
setting.QLin= 1.0e+003 *
[2.7378 1.9536 2.1565 1.5109
1.9536 1.8326 1.5729 0.8522
2.1565 1.5729 1.9228 1.2733
1.5109 0.8522 1.2733 1.1032];
setting.RLin= 1.0e+003*
[2.7512 3.0551
3.0551 3.3928];
References
PWATOOLS
Run the controller synthesis command:
ctrl=pwasynth(pwainc, x0, setting);
PWA controller:
K1 =
[−2.14 64.26 −5.54 −18.41 17.922.06 −61.22 2.90 6.43 −7.79
],
K2 =
[−2.14 −15.79 −5.54 −18.41 02.06 5.39 2.90 6.43 0
],
K3 =
[−2.14 −2.59 −5.54 −18.41 02.06 −28.19 2.90 6.43 0
],
K4 =
[−2.14 77.35 −5.54 −18.41 26.642.06 −70.89 2.90 6.43 −14.24
],
K5 =
[−2.14 85.10 −5.54 −18.41 −48.412.06 −44.49 2.90 6.43 20.10
],
K6 =
[−2.14 40.75 −5.54 −18.41 −18.852.06 −34.06 2.90 6.43 13.15
]
References
PWATOOLS
Simulation results
References
Conclusions
PWATOOLS is an easy to use toolbox for PWA systems.
The plan is to extend PWATOOLS algorithms to piecewisepolynomial (PWP) systems.
Try PWATOOLS for your problem and let us know how itworks.
References
References I
[1] M. R. Waszak. Modeling the benchmark active control technologywind tunnel model for application to flutter suppression. AIAA, 96 -3437, http://www.mathworks.com/matlabcentral/fileexchange/3938.
[2] J. Ko and T. W. Strganacy,. Stability and control of a structurallynonlinear aeroelastic system. Journal of Guidance, Control, andDynamics, 21, 718-725.
[3] S. Afkhami and H. Alighanbari. Nonlinear control design of anairfoil with active flutter suppression in the presence of disturbance.Control Theory and Applications, 1(6):1638–1649, 2007.
[4] A. Hassibi and S. Boyd. Quadratic stabilization and control ofpiecewise-linear systems. Proceedings of the American ControlConference, 6:3659 – 3664, 1998.
[5] J. Lofberg. YALMIP : A Toolbox for Modeling and Optimization inMATLAB. Proceedings of the CACSD Conference, Taipei, Taiwan,2004.
References
References II
[6] Manual. PWATOOLS.http://hycons.encs.concordia.ca/Projects/PWA_toolbox,May 2011.
[7] L. Rodrigues and S. Boyd. Piecewise-affine state feedback forpiecewise-affine slab systems using convex optimization. Systemsand Control Letters, 54:835–853, 2005.
[8] B. Samadi and L. Rodrigues. Extension of local linear controllers toglobal piecewise affine controllers for uncertain non-linear systems.International Journal of Systems Science, 39(9):867–879, 2008.
[9] B. Samadi and L. Rodrigues. A duality-based convex optimizationapproach to L2-gain control of piecewise affine slab differentialinclusions. Automatica, vol. 45, no. 3, pp. 812 - 816, Mar. 2009.
[10] B. Samadi and L. Rodrigues. A unified dissipativity approach forstability analysis of piecewise smooth systems. Automatica, vol. 47,no. 12, pp. 2735 - 2742, Dec. 2011.