26
Modeling Hysteresis in CLIP David K. Wittenberg and Timothy J. Hickey Brandeis University REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 1/2

Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Modeling Hysteresis in CLIPDavid K. Wittenberg and Timothy J. Hickey

Brandeis University

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 1/2

Page 2: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Outline

ToolsInterval ArithmeticConstraint Logic Programming (CLP)

Hybrid SystemsUsing CLP(F) for Hybrid SystemsModelingAnalysis

Examples

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 2/2

Page 3: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Interval Arithmetic

[Moore, 1966]Introduced rigor to calculations on floating point numbers

Closed under + - x / (if interval doesn’t contain 0)Standard inequalities are all true.Distributive law does not hold

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 3/2

Page 4: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Constraint Logic Programming

[Jaffar, Lassez 1987] Logic programming - each resultstates that there is a proof of the resultUse constraints rather than equalities.powerful, Fastest method for some problemsgood for scheduling - used by sports leaguesDoesn’t give answer - just limits places where solution canbe

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 4/2

Page 5: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

CLP(I)

[Hickey 2000]CLP over RealsCareful Rounding in IEEE 754 Floating Point| ?- {Xˆ2=2,X>0}.X = 1.41421356237309... ? ;no| ?-

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 5/2

Page 6: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Multiple Solutions

| ?- {Xˆ2=2}.X = [-1.41421356237309536751922678377,

1.41421356237309536751922678377] ? ;no| ?-

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 6/2

Page 7: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Multiple Solutions

| ?- {Xˆ2=2}.X = [-1.41421356237309536751922678377,

1.41421356237309536751922678377] ? ;no| ?-

| ?- {Xˆ2=2},solve_clip(queue,[X],0.000001).X = 1.41421356237309... ? ;X = -1.41421356237309... ? ;(10 ms) no

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 7/2

Page 8: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

CLP(F) – ODE solver

[Hickey 2000]Extension of CLP(I)Uses Taylor Expansions with Remainder

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 8/2

Page 9: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

CLP(F) example

Q(F,A,E) !F " H([0, 1]), F ! = F, F ([0, 1]) # [$100, 100],

F (0) = 1, F (A) = 2, F (1) = E

| ?- type([F],function(0,1)),{[ ddt(F,1)=F, F in [-100,100],eval(F,0)=1,eval(F,A)=2, eval(F,1)=E ]}.

A = .6931471... E = 2.7182818...

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 9/2

Page 10: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Hybrid Systems

[Fahrland 1970]

Analog part - changes state according to ODEsDigital part - changes state in 0 time

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 10/2

Page 11: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

CLP(F) for Hybrid Systems

RigorousODEs translate directly to CLP(F)Handles non-linear ODEsLogical Semantics

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 11/2

Page 12: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Two Tank System

K3

f1(t)

f2(t)

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 12/2

Page 13: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

ODEs for Two Tank System

f !1 =

!k1 $ k2

%f1 $ f2 + k3 f2 > k3

k1 $ k2

"(f1) f2 & k3

f !2 =

!k2%

f1 $ f2 + k3 $ k4%

f2 f2 > k3

k2

"(f1) $ k4

"(f2) f2 & k3

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 13/2

Page 14: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Code for Two Tank System

f !1 = k1 $ k2

"f1 $ f2 + k3 f2 > k3

f !2 = k2

"f1 $ f2 + k3 $ k4

"f2 f2 > k3

twotank(case1,X10,X20,T0,X11,X21,T1,[K1,K2,K3,K4]:- decls([X1,X2],function(T0,T1)),{[ ddt(X1,1) = K1 - K2*psqrt(X1-X2+K3),

ddt(X2,1) = K2*psqrt(X1-X2+K3) - K4*psqrt(X2eval(X1,T0)=X10, eval(X1,T1)=X11,eval(X2,T0)=X20, eval(X2,T1)=X21,X1 in [E,1000], X2 in [K3,1000], E=0.000000]}.

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 14/2

Page 15: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Analysis of Hybrid System

If tank levels X0 for the upper tank and Y0 for the lower satisfy0.62 & X0 & 0.63 ' 0.558 & Y0 & 0.567at time 0, then for all times n · 0.1 the tank levels X and Y satisfy

0.61922 & X & 0.63083 ' 0.55674 & Y & 0.56815

{X0 = [0.62,0.63],Y0=[0.558,0.567]},ks(Ks), twotank(case1,X0,Y0,0.0,X,Y,0.1,Ks)solve_clip(fwchk,[X,Y],N).

N=0 X=[.61931, .63069] Y=[.55697, .56802]N=1 X=[.61964, .63035] Y=[.55758, .56741]N=2 X=[.61985, .63013] Y=[.55796, .56703]N=3 X=[.61995, .63004] Y=[.55812, .56687]N=4 X=[.62000, .62999] Y=[.55819, .56680]

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 15/2

Page 16: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

More Elegant Proof of Safety Property

| ?- {X10 = [0.62,0.63],X20=[0.558,0.567]},ks(Ks),twotank(case1,X10,X20,0.0,X11,X21,0.1,Ks),

({X11<0.62} ; {X11>0.63};{X21<0.558}; {X21>0.567}).

(1330 ms) no| ?-

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 16/2

Page 17: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Four Tanks

V1

V2

V3

V4

D2(t)

D3(t)

D4(t)

H1

H3

D1(t)

H4

H2

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 17/2

Page 18: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Valve Behaviour

0

2e-05

4e-05

6e-05

8e-05

0.0001

0.00012

0.00014

0.00016

0.00018

0.0002

0 0.2 0.4 0.6 0.8 1

f(x)

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 18/2

Page 19: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Enclosing Poor behaviour

-0.01 0.100

0.1 valve coefficentenclosure of valve coefficent

valve

FRACcoefficent

Valve position P

0.05

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 19/2

Page 20: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Equations For Each Tank

D!j(t) = Fj"1(t) $ Fj(t)

Rj(t) = Cj · eEj ·(1"Pj(t))3

Fj =

!Rj(t)

"Dj(t) $ Dj+1(t) + Hj+1 Dj+1(t) > Hj $ Hj+1

Rj(t)"

(Dj) Dj+1(t) & Hj $ Hj+1

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 20/2

Page 21: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

CLP(F) Program For Each Tank

middle_tank(above,F1,D2,F2,D3,H2,KC2,FRAC2,H3,_E):- {[F2=KC2*FRAC2*psqrt(D2-D3+H),

ddt(D2,1)=F1-F2, H=H2-H3, D3 in [H,1000] ]}

middle_tank(near,F1,D2,F2,D3,H2,KC2,FRAC2,H3,E):- decls([EF],function(_,_)),{[F2=KC2*FRAC2*psqrt(D2-EF), ddt(D2,1)=F1-F2,H=H2-H3, D3 in [-2*E+H,2*E+H], EF in [0,2*E] ]

middle_tank(below,F1,D2,F2,D3,H2,KC2,FRAC2,H3,E):- {[F2=KC2*FRAC2*psqrt(D2),

ddt(D2,1)=F1-F2, H=H2-H3, D3 in [E,H]]}

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 21/2

Page 22: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Helper functions

valve_coef(normal,FRAC,P,KE) :-{[FRAC=exp(KE*((1-P))**3), FRAC in [0,1],

P in [0.01,1] ]}

valve_state_change(opening,trans,_P_before,opening,normal,P_after) :-

{P_after=0.01}.

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 22/2

Page 23: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Zeno Behavior

r2

h1

h2

i

o1 o2

r1

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 23/2

Page 24: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Hysteresis

Prevent “Chatter”Delay in switching statesOften used in physical systemsHere used both to reflect physics, and to prevent Zenobehaviour

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 24/2

Page 25: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Contributions of this Work

Improved Rigor in Dealing with Hybrid SystemsImproved Ease of Describing Hybrid SystemsModeling of Hybrid Systems with Non-Linear ODEsModeling of Points where ODEs are Non-AnalyticModeling of Areas with “Messy” or Poorly UnderstoodPhysicsImproved Ease of Analysis

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 25/2

Page 26: Modeling Hyster esis in CLIPrec.ce.gatech.edu/rec2006/presentations/REC2006_Wittenberg.pdf · Constr aint Logic Prog r amming (CLP) Hybr id Systems Using CLP(F) fo r Hybr id Systems

Conclusions

CLP(F) is a powerful toolSimple Semantics – Easier argument that code iscorrectConstraint Approach allows one to work “backward”

REC2006-talk.tex – Modeling Hysteresis in CLIP – David K. Wittenberg and Timothy J. Hickey – 20/2/2006 – 20:46 – p. 26/2