Tuning Controllers Against MulIple Design ... - Pierre Apkarian

Pierre Apkarian: hsp://pierre.apkarian.free.fr. Systune: a Wealth of Tuning Goals. P(s). Constrain controller dynamics to your taste. 19. Tuning. Goals ...
3MB taille 0 téléchargements 243 vues
Tuning Controllers Against Mul1ple Design Requirements using Constrained Nonsmooth Op1miza1on SYSTUNE Pierre Apkarian in coopera-on with D. Noll & P. Gahinet

Outline

1.  Introduc1on to structured problems 2.  Tuning against mul-ple design requirements: systune 3.  Constrained nonsmooth solver 4.  Example

2

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Model-Based Design

This talk

3

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Challenges Inaccurate model Performance goals Stability

Disturbances

4

Nonlinearities

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Classical robust control Ricca-, LMI, full order

P(s)

P(s)

K(s) K(s)

K(s)



•  •  •  •  •  5



Centralized, monolithic, black or grey box controller No physical insight or li8le Unduly complex Post-processing needed Single objec-ve Pierre Apkarian: h8p://pierre.apkarian.free.fr

Design of Structured Controller Is Hard !

6

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Control Architecture

Tracking Tracking + disturbance rejection

Fast disturbance rejection

7

Choice depends on plant dynamics and requirements Pave the way to good designs

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Controller Structure

•  Four blocks (6+15 = 21 tunable parameters) •  Tuning is complicate because of loop interac-ons

8

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Structure Stems Also From

•  •  •  •  • 

9

Mul-ple requirements Mul-ple models Theore-cal ques-ons Joint plant and controller design Mandatory in some applica-ons

K(s)

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Outline

1.  Introduc-on to structured problems 2.  Tuning against mul1ple design requirements: systune 3.  Constrained nonsmooth solver 4.  Example

10

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Synthesis Tools •  delight. mimo E. Polak, D. Q. Mayne et al., 1982 •  hinfsyn : full-order black-box controllers MATLAB Robust Control Toolbox (i was a boy) •  hinfstruct, systune, looptune: structured modular controllers MATLAB Robust Control Toolbox 2012b & higher •  hifoo: structured controllers See M. Overton webpage •  Focus on

11

systune

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals

P(s)

K(s)

12

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

K(s)

13

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

C (s, p) 1

. . . C (s, p)

C (s, p) 2

14

q

Modular structure

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals 15

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

hinfstruct 16

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

looptune 17

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

Use D-scales to refine computa-ons 18

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

Constrain controller dynamics to your taste 19

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

Which model ? Indicate which one or which model set, i.e., [2 5 7], default all 20

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

Which frequency range ? 21

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

Which IOs? Tell systune which IO pair is involved 22

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

Are some loops open ? For mul-loop architecture 23

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

Define your problem as an LQG pb with given variances, weights, etc 24

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

Define desired step response characteris-cs: -me constant, overshoot, ref. model, … 25

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: a Wealth of Tuning Goals P(s)

Tuning Goals

x Define the weights pointwise using frequency response data 26

x x

Pierre Apkarian: h8p://pierre.apkarian.free.fr

x

ω x

Illustra1on TuningGoal.WeightedGain

•  R = TuningGoal.WeightedGain(‘w',’z',WL,WR) •  R.Name = 'Disturbance rejec-on’

IOs & lep & right weigh-ngs As well as name



27

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Illustra1on TuningGoal.WeightedGain

•  R = TuningGoal.WeightedGain(‘w',’z',WL,WR) •  R.Name = 'Disturbance rejec-on’ •  R.Focus = [0 10]

Frequency range



28

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Illustra1on TuningGoal.WeightedGain

•  R = TuningGoal.WeightedGain(‘w',’z',WL,WR) •  R.Name = 'Disturbance rejec-on’ •  R.Focus = [0 10] •  R.Openings = 'OuterLoop’

29

Specify open loops

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Illustra1on TuningGoal.WeightedGain

•  R = TuningGoal.WeightedGain(‘w',’z',WL,WR) •  R.Name = 'Disturbance rejec-on’ •  R.Focus = [0 10] •  R.Openings = 'OuterLoop’ •  R.Models = 2

Give model to which requirement applies



30

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Illustra1on TuningGoal.WeightedGain

•  R = TuningGoal.WeightedGain(‘w',’z',WL,WR) •  R.Name = 'Disturbance rejec-on’ •  R.Focus = [0 10] •  R.Openings = 'OuterLoop’ •  R.Models = 2 •  R.Stabilize = false

Enable or disable stability



31

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Tune from Simulink using Systune

Requirements IOs Blocks

32

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Outline

1.  Introduc-on to structured problems 2.  Tuning against mul-ple design requirements: systune 3.  Constrained nonsmooth solver 4.  Example

33

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune: New Cast with SoT & Hard Constraints

•  Hard constraints prevail and have higher priority •  Mul-ple models & mul-ple specs. •  non-convex & non-smooth program

34

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Nonsmooth Programming with Driving Func1on

•  •  •  •  35

Apkarian, Gahinet & Buhr - Mul--Model, Mul--Objec-ve Tuning of Fixed-Structure Controllers, ECC 2013 Apkarian - Tuning Controllers Against Mul-ple Design Requirements ACC 2013 Apkarian & Noll - Nonsmooth Opt. for Mul-Band …, Automa-ca 2007 Apkarian & Noll - Nonsmooth Opt for Mul-Disk H∞ … EJC 2006 Pierre Apkarian: h8p://pierre.apkarian.free.fr

Nonsmooth Programming with Driving Func1on f: sop g: hard

•  •  •  •  36

P involves max func-ons μ Compu-ng jet subdifferen-al informa-on is fast Locally equivalent to solving KKT op-mality condi-ons Implemented in systune (bisec-ng 3 or 4 -mes is enough)

bisec-on scheme

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Nonsmooth Programming in Systune

•  Exterior type algorithm •  No barrier, penalty ill condi-onning x

x

x

Larger steps !

x

x

Systune has special mul--spec & mul--model capabili-es Screen worst spec and/or model to reduce overhead Can exploit mul--core architectures Simulink friendly

37

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Systune Screening Clarke

Clarke

Model 4, Spec 6

. . .

Model 2, Spec 3

1

38

Equaliza-on Clarke

Model 8, Spec 2

. . .

Model 4, Spec 1

2

Model 4, Spec 2

. . .

Model 6, Spec 4

N

itera-ons

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Program P μ

Mul1ple ac1ve frequencies

Nearly active frequency

•  Has to work with mul-ple branches •  Nonsmooth code accomodates waterbed effect •  Convex hull of Clarke gradient of all ac-ve branches 39

Pierre Apkarian: h8p://pierre.apkarian.free.fr

What does that mean ? d’

d

Descent cone

-g 2

-g

1

x

Narrow cones for some branches, i.e.,

Half space for Cone shrinks for mul-ple models and specs.

40

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Simple WorkFlow

41

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Flexibility vs. Tractability

Tractability

1

DGKF LMIs µ analysis

If at all reachable ? LOOPTUNE

SYSTUNE HINFSTRUCT

Generic NLP 0

42

0

Flexibility

1

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Really Working Fine ? Not convex !

Yes but, •  Operates in low-dimensional space of tunable parameters •  Use well-behaved objec-ves •  Well-posed synthesis problems have few local minima •  Run in seconds on medium size problems

43

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Outline

1.  Introduc-on to structured problems 2.  Tuning against mul-ple design requirements: systune 3.  Constrained nonsmooth solver 4.  Example: reliable control

44

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Example: Reliable Control Apkarian & Noll Encyclopedia of Systems & Control, 2014

•  Decoupling & good responses in μ, α et β in nominal opera-on •  Maintain performance in the presence of wind gust •  Limit stability and perf. deteriora-on against actuator outage 45

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Actuator Outage or Breakdowns

1: func-onning 0: breakdown

46

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Formula1on of Control Requirements

•  Tracking •  Control effort

Gust allevia-on

Tuning Goals

47

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Responses with Nominal Controller Flight−path bank angle rate (deg/s)

Flight−path bank angle rate (deg/s) 1

1

0

0 −1

−1 0

1

2

3

4

5

6

7

8

9

0

10

1

2

3

4

5

6

7

8

9

10

7

8

9

10

7

8

9

10

Angle of attack (deg)

Angle of attack (deg) 1

1

0

0 −1

−1 0

1

2

3

4

5

6

7

8

9

0

10

1

2

3

4

5

6

Sideslip angle (deg)

Sideslip angle (deg) 1

1

0

0 −1

−1 0

1

2

3

4

5

6

7

8

9

0

1

7

8

9

10

7

8

9

10

7

8

9

10

10

2

3

4

5

6

Flight−path bank angle rate (deg/s) 1 0 −1 0

1

2

3

4

5

6

Angle of attack (deg) 1 0 −1 0

1

2

3

4

5

6

Sideslip angle (deg) 1 0 −1 0

48

1

2

3

4

5

6

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Responses with Reliable Controller Flight−path bank angle rate (deg/s) 1

Flight−path bank angle rate (deg/s) 1

0

0

−1 0

−1 0

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

9

10

7

8

9

10

7

8

9

10

Angle of attack (deg)

10 1

Angle of attack (deg) 1

0

0

−1 0

−1

1

2

3

4

5

6

Sideslip angle (deg)

0

1

2

3

4

5

6

7

8

9

10 1

Sideslip angle (deg) 1

0

0

−1 0

1

2

3

4

5

6

−1 0

1

2

3

4

5

6

7

8

9

Flight−path bank angle rate (deg/s)

10

1 0 −1 0

1

2

3

4

5

6

7

8

9

10

7

8

9

10

7

8

9

10

Angle of attack (deg) 1 0 −1 0

1

2

3

4

5

6

Sideslip angle (deg) 1 0 −1 0

49

1

2

3

4

5

6

Pierre Apkarian: h8p://pierre.apkarian.free.fr

Conclusions Tuning goals

Tuning goals

?

?

?

Ø  Covers large por-on of linear design goals Ø  Has poten-al for extensions to future challenges ? Ø  Good benchmarking technique to develop your own 50

Pierre Apkarian: h8p://pierre.apkarian.free.fr