a matlab toolbox for piecewise-affine controller synthesis

22
References A MATLAB Toolbox for Piecewise-Affine Controller Synthesis Mohsen Zamani Behzad Samadi Luis Rodrigues HYCONS Lab, Concordia University American Control Conference Montreal, Canada June 2012

Upload: behzad-sam

Post on 19-Jan-2015

200 views

Category:

Education


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

References

A MATLAB Toolbox for Piecewise-AffineController Synthesis

Mohsen Zamani Behzad Samadi Luis Rodrigues

HYCONS Lab, Concordia University

American Control ConferenceMontreal, Canada

June 2012

Page 2: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

References

Outline

Motivation

PWA systems

PWA approximation

PWA controller synthesis

Stability analysis of the closed loop system

Example

Conclusion

Page 3: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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?

Page 4: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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.

Page 5: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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 .

Page 6: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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

Page 7: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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}

Page 8: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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.

Page 9: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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)

Page 10: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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).

Page 11: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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

Page 12: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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.

Page 13: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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]

Page 14: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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]

Page 15: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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

Page 16: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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

Page 17: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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];

Page 18: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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

]

Page 19: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

References

PWATOOLS

Simulation results

Page 20: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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.

Page 21: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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.

Page 22: A MATLAB Toolbox for Piecewise-Affine Controller Synthesis

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.