Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modelling Hybrid systems. n Hybrid (combined) Modeling Framework –Use more than one formalism –Different formalisms to specify different levels of abstraction.

Similar presentations


Presentation on theme: "Modelling Hybrid systems. n Hybrid (combined) Modeling Framework –Use more than one formalism –Different formalisms to specify different levels of abstraction."— Presentation transcript:

1 Modelling Hybrid systems

2 n Hybrid (combined) Modeling Framework –Use more than one formalism –Different formalisms to specify different levels of abstraction –Top-down design –step-wise refinement –Ex: FSM + Difference equation Design and Implement the following waveform generator Observation Periodic, say-tooth waveform T c : Charging time T d : Discharging time Top-Level Spec in FSM M= S = { Ch, Dis} X = { charge, discharge} Y= { 0_to_V, V_to_0} TcTc TdTd V Hybrid Systems

3 n Ex. Hierarchical control Operator Planning/scheduling Discrete Event Controller PID controller analog/digital Plant Command Discrete state actuationSensor Event-based control Time-based control Supervisory control Example: hierarchical control

4 Motivation  Opto-electrical interfaces: transmitter and receiver  Conversion of electrical current into optical impulses, and viceversa.

5 Motivation Continuous systems analysis:  Different mathematical formalisms  Simulation: solutions to particular problems under certain experimental conditions of interest Classical methods for continuous systems simulation  Based on numerical approximation  Require time discretization => of time  Inefficient in terms of execution times  Complex composition; difficulties in integration, multiresolution models Benefits of DEVS for continuous system M&S  Discrete event models specification: continuous time base  Execution time reduction  Complex system definition using hierarchical modular models  Easier integration with discrete-event models

6 GDEVS Generalization of DEVS formalism  Polynomial of any degree to represent piecewise input-output trajectories  Introduction of a new event concept: coefficient-events Advantages of GDEVS  Greater accuracy for continuous systems modeling  Unified approach to model hybrid systems Piecewise linear trajectory specification w  A a trajectory on a continuous time base finite set of instants t 0, t 1,…,t n  associated with constant pairs (a i ; b i ) such that t , w(t) = a i t + b i, and w = w *w *…*w

7 Discontinuities tt+ h t-ht- 2h f 1 (x,u) f 2 (x,u) t+d Event at t+d

8 Overview of Hybrid OO modelling. n The occurrence of events should be notified to the simulation runtime. n Time events: calendar of events is known beforehand. State events: triggered by state of simulation tt+ h t-ht- 2h f 1 (x,u) f 2 (x,u) t+d

9 Quantized DEVS Continuous signal represented by crossing of an equal spaced set of boundaries, separated by a quantum size Check for boundary crossing for every change in the model Outputs generated only when a crossing occurs Substantial reduction of the message updates frequency Signal Quantization

10 n Crossings of an equal spaced set of boundaries: quantum n Quantizer: checks for boundary crossings. n The sender computes a value, and generates outputs. n The number of messages involved is reduced. n The quantizer consumes CPU time. n The receiver will have some error, depending on q. DEVS Quantized models

11 0 1 Quantum size, D #messages(D) = #messages(1)/D Error = c D D tol = tolerance / c Tolerance to error Theoretical results on quantization

12 Q-DEVS with hysteresis n strong stability, convergence and error bound properties. n If signal changes direction: use n*Q size (proof: n=2 provides best results) n If signal keeps current direction: use Q size

13 QDEVS based models Uniform quantizer with hysteresis Hysteresis assures legitimate DEVS models’ simulation  Avoids infinite iterations on finite time interval

14 Multiple Model Controller

15 Adaptive Control results q=0.02q=0.2

16 Higher-order Approximations

17 Complete model n Multiple model controller allowed to operate as designed, and switch among plant identifying models n Controller was able to find it and use its parameters n Error existed only at the period coinciding w/each jump in plant parameters n Only at time 355 did a false model switch occur (due to two models having almost zero error )

18 Bond Graphs Suitable for multiple domains: electrical, mechanical, hydraulic, etc. Physical processes: vertices in a directed graph. Edges: represent ideal exchange of energy between components. Interactions: 0-junction (connectors), 1-junction (interactions between serial components). Causality: given a pair of elements connected through a bond, causality determine which component causes flow, which effort. SFR

19 Bond Graphs Formalism n Exchange of energy and information between elements of a system can be represented in a graphical form n Energy is the fundamental feature that is exchanged between elements of a system during interaction n Constrained interactions in Bond Graphs are represented by junctions –constraint equalizes the flow in the elements 1- junction –constraint equalizes the effort in the elements 0- junction

20 A library for Bond Graph development on DEVS Model library: modular approach to build systems; code reuse Bond Graph library built to model and simulate continuous systems on different domains Library designed using GDEVS formalism concepts  BG components developed as atomic GDEVS models of degree one  Multicomponent systems can be built as coupled DEVS components  Models implemented using the CD++ tool

21  Equations: Flow arrives at component:  ext. - Calculates effort: integrate input flow data (generate Capacitor’s load). - Value computed according to the elapsed time since last transition. - Output function transmits the previously computed value yout. - Internal transition: computes next state using a polynomial approximation. GDEVS Capacitor model External transition... // time since last transition elapsedTime=msg.time().asMsecs()- time; // calculates load value c = c+a1/2*pow(elapsedTime,2)+a0*elapsedTime;... yout->updElementAtPos(1, c); yout->updElementAtPos(2, a1/2*dt + a0); holdIn( active, Time::Zero ); Internal transition // approximates load using order 1 polynomial. if ( a1 != 0 ) { // next state calculated using coefficients c = c + a1/2 * pow(dt,2) + a0*dt; a0 = a1*dt + a0; // coefficient values to send when dt elapsed yout->updElementAtPos(1,c); yout->updElementAtPos(2,a1/2*dt+a0); holdIn(active, Time(dt)); } else {passivate(); // slope is null }

22 BG library class hierarchy

23 Model execution examples Electrical Circuit Simulation Bond Graph model construction of the electrical circuit Electrical circuit Bond Graph representation

24 GDEVS Bond Graph model representation Electrical circuit simulation

25 Bond-Graph model simulation in CD++ Resistance (R 1 )=1 Inductors: L 1 = 48; L 2 = 48. Capacitance: C = 65. Conductance: R 2 = 0.001 EffortSource: emits pulses; period = 2500 ms; duration = 2 ms. Pulse amplitude= 220 V Circuit current

26 Model execution – Comparing Quantizers Uniform quantizer vs. HQ (Quantizer with hysteresis) Test cases - Evaluation functions

27 Modelica n object-oriented language for modeling physical systems n designed to support library development and model exchange n Modelica supports different formalisms such as: –ODEs –finite state automata –Petri nets –discrete events –bond graphs

28 Creating Models in Modelica/CD++ Model circuit Modelica.Electrical.Analog.Sources.SineVoltage V(V=15,freqHz=60); Modelica.Electrical.Analog.Basic.Resistor R1(R=10); Modelica.Electrical.Analog.Basic.Ground Gnd; equation connect(V.p, R1.p); connect(R1.n, V.n); connect(R1.n, Gnd.p); end circuit1;

29 M/CD++ Execution Example: Modelica model model circuit Modelica.Electrical.Analog.Sources. PulseVoltage V(V=10,width=50, period=2.5); Modelica.Electrical.Analog.Basic.Resistor R1(R=0.001); Modelica.Electrical.Analog.Basic.Inductor I1(L=500); Modelica.Electrical.Analog.Basic.Inductor I2(L=2000); Modelica.Electrical.Analog.Basic.Capacitor C(C=10); Modelica.Electrical.Analog.Basic.Resistor R2(R=1000); Modelica.Electrical.Analog.Basic.Ground Gnd; equation connect(V.p, R1.p); connect(R1.n, I1.p); connect(R1.n, I2.p); connect(I2.n, C.p); connect(I2.n, R2.p); connect(C.n, I1.n); connect(R2.n, C.n); connect(I1.n, V.n); connect(V.n, Gnd.p); end circuit;

30 M/CD++ Execution Example: The results

31

32 Modelica/DEVSLib Model  Transmitter model  The received electrical current (continuous) is translated into optical impulses (discrete).  The driver model can include any modulation and polarization circuit. No actions performed in this case, to simplify the model.  The laser translates the electrical signal into events using the crossUP model included in DEVSLib.

33 Modelica/DEVSLib Model Detail of the crossUP model when (u > Value-Threshold) and x > 0 and time > 0 then e.Type := EType; e.Value := u; e.Port := 1; sendEvent(outport.queue, e); outport.event := pre(outport.event) + 1; end when;

34 Cell-DEVS quantization

35 Every cell includes a quantizer. The value produced by the local computing function is quantized. The quantized value is compared with the quantum threshold. If the threshold bound was reached, an output is provided. The output is delayed using transport or inertial delays. If the threshold was not reached, the change is not sent to other models. Quantized Cell-DEVS

36 (a) Heat diffusion: two-dimensional model (10x10 cells). One "hot" cell. (b) Heat model with 87% of active cells. (c) Three-dimensional extension of the previous model. (d) Three-dimensional modification of the Life game (e) Four dimensional extension of the previous model. (f) Dynamic heat seeker: a three dimensional model consisting of two adjacent planes. Experimental results

37 Number of messages involved

38

39 Execution times

40 Error behavior n e(C c, i): accumulated error up to the i-th simulation step in cell C c; n N c are the inputs of the cell c;  cj is the execution result of j-th step of the local computing function of cell c; n [ ] q represents the quantized value of the last change. n Erro’s behavior: f(x) = ax b

41 Error behavior

42 Cell-DEVS w/Dynamic Quantization n Reduce error (improving precision) in each cell. n Rationale: active cell can appear as quiescent (Q size covering activity area). Q dynamically adjusted -> smaller error. n Dynamic increase Q in cells with steep update functions: execution improved at a low cost. n Strategy 1: reduce Q if cell's update does not cross threshold (increase precision). n Strategy 2: reduce Q if threshold is crossed (2 nd chance in case of oscillations; higher precision).

43 Test cases: a heart tissue model n Heart muscle excitable; responds to external stimuli by contracting muscular cells. n Equations defined by Hodgkin and Huxley

44 A Watershed model

45 Flow Injection Analysis Model

46 Approximating the Corsica fire model


Download ppt "Modelling Hybrid systems. n Hybrid (combined) Modeling Framework –Use more than one formalism –Different formalisms to specify different levels of abstraction."

Similar presentations


Ads by Google