Modellierung linearer dynamischer Systeme (Modeling linear dynamic systems)

Nun, das war einfach: ein dynamisches Modell (dynamic model) für ein Flugzeug zu beschreiben. Ich nehme an, dass Sie Newtons Bewegungsgleichungen aus der Schule kennen.

Dieses Kapitel verallgemeinert die Herleitung dynamischer Modelle für beliebige lineare dynamische Systeme. Die folgende Beschreibung enthält Integrale und Differentialgleichungen.

Dieses Kapitel ist das anspruchsvollste Kapitel des Tutorials. Für das Verständnis der Kalman-Filter-Prinzipien ist es nicht zwingend erforderlich. Wenn Sie sich mit dieser Mathematik unwohl fühlen, können Sie dieses Kapitel gern überspringen.

Ich versuche, meine Erklärungen so klar und leicht nachvollziehbar wie möglich zu gestalten und liefere natürlich Beispiele aus der Praxis.

Kalman-Filter-Buch
Beispielorientierter Leitfaden zum Kalman-Filter

Herleitung der Zustandsextrapolationsgleichung

Unser Ziel ist es, die Zustandsextrapolationsgleichung in der folgenden Form herzuleiten:

\[ \boldsymbol{\hat{x}}_{n+1,n} =\boldsymbol{F\hat{x}}_{n,n} + \boldsymbol{G\hat{u}}_{n,n} + \boldsymbol{w}_{n} \]

Dazu müssen wir das dynamische System modellieren – mit anderen Worten: Wir müssen die Zustandsraumdarstellung (state space representation) des dynamischen Systems bestimmen. Die folgenden zwei Gleichungen sind die Zustandsraumdarstellung eines LTI-Systems (LTI system):

\[ \boldsymbol{\dot{x}(t) = Ax(t) + Bu(t)} \] \[ \boldsymbol{y(t) = Cx(t) + Du(t)} \]
Wobei:
\( \boldsymbol{x} \) ist der Zustandsvektor (state vector)
\( \boldsymbol{y} \) ist der Ausgabevektor (output vector)
\( \boldsymbol{A} \) ist die Dynamikmatrix des Systems (system's dynamics matrix)
\( \boldsymbol{B} \) ist die Eingangsmatrix (input matrix)
\( \boldsymbol{C} \) ist die Ausgangsmatrix (output matrix)
\( \boldsymbol{D} \) ist die Durchgriffsmatrix (feedthrough matrix)

Um die Zustandsübergangsmatrix (state transition matrix) \( \boldsymbol{F} \) und die Eingangsübergangsmatrix (input transition matrix) \( \boldsymbol{G} \) zu bestimmen, müssen wir die Zustandsraum-Differentialgleichung lösen.

Das folgende Diagramm fasst den Prozess der Herleitung der Zustandsextrapolationsgleichung zusammen.

Der Prozess der Herleitung der Zustandsextrapolationsgleichung

Die Zustandsraumdarstellung (state space representation)

Falls Sie sich fragen, warum die Zustandsraumdarstellung die folgende Form haben muss:

\[ \boldsymbol{\dot{x}(t) = Ax(t) + Bu(t)} \] \[ \boldsymbol{y(t) = Cx(t) + Du(t)} \]

Viele Softwarepakete, die Differentialgleichungen lösen, verlangen genau diese Darstellung.

Am besten lässt sich die Zustandsraumdarstellung anhand von Beispielen erklären.

Beispiel – Körper mit konstanter Geschwindigkeit

Da keine äußere Kraft auf den Körper wirkt, hat das System keine Eingänge (inputs):

\[ \boldsymbol{u(t)} = 0 \]

Die Zustandsraumvariable \( \boldsymbol{x(t)} \) besteht aus der Verschiebung des Körpers \( p(t) \) und der Geschwindigkeit \( v(t) \).

\[ \boldsymbol{x(t)} = \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] \]

Hinweis: Um Verwechslungen zwischen dem Zustandsvektor \( \boldsymbol{x(t)} \) (fett gedruckt) und der Körperposition entlang der \( x \)-Achse, die mit \( x(t) \) (normal) bezeichnet wird, zu vermeiden, bezeichne ich die Körperposition mit \( p(t) \).

\[ \boldsymbol{\dot{x}(t) = Ax(t) + Bu(t)} \]

\[ \left[ \begin{matrix} \dot{p}\\ \dot{v}\\ \end{matrix} \right] = \boldsymbol{A} \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \boldsymbol{B} \times 0 \]

\[ \left[ \begin{matrix} \dot{p}\\ \dot{v}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] \]

\[ \boldsymbol{A} = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \]

Damit haben wir die erste Gleichung in Differentialform.

Die Systemausgabe \( \boldsymbol{y(t)} \) ist die Verschiebung des Körpers \( \boldsymbol{p(t)} \), die zugleich eine Zustandsvariable ist.

\[ \boldsymbol{y(t) = Cx(t) + Du(t)} \]

\[ p = \boldsymbol{C} \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \boldsymbol{D} \times 0 \]

\[ p = \left[ \begin{matrix} 1 & 0\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] \]

\[ \boldsymbol{C} = \left[ \begin{matrix} 1 & 0\\ \end{matrix} \right] \]

Fertig.

Modellierung dynamischer Systeme höherer Ordnung

Viele Modelle dynamischer Systeme werden durch Differentialgleichungen höherer Ordnung beschrieben. Die Ordnung einer Differentialgleichung ist die höchste vorkommende Ableitung in dieser Gleichung.

Um eine Gleichung höherer Ordnung zu behandeln, reduzieren wir sie auf ein System von Differentialgleichungen erster Ordnung, indem wir neue Variablen definieren und sie in die Terme höchster Ordnung einsetzen.

Algorithmus zur Reduktion der Ordnung einer Differentialgleichung

Eine allgemeine lineare Differentialgleichung \( n \)-ter Ordnung lässt sich als System von \( n \) Differentialgleichungen erster Ordnung darstellen.

Die Differentialgleichung höherer Ordnung (Grundgleichung (governing equation)) des dynamischen Systems hat die folgende Form:

\[ a_{n}\frac{d^{n}y}{dt^{n}}+ a_{n-1}\frac{d^{n-1}y}{dt^{n-1}}+ \ldots + a_{2}\frac{d^{2}y}{dt^{2}}+a_{1}\frac{d^{1}y}{dt^{1}}+ a_{0}y = u \]

Die Grundgleichung charakterisiert den dynamischen Zustand des Systems vollständig.

Reduktion der Gleichungsordnung:

  1. Isoliere die Ableitung höchster Ordnung:
  2. \[ \frac{d^{n}y}{dt^{n}}= -\frac{a_{0}}{a_{n}}y- \frac{a_{1}}{a_{n}}\frac{d^{1}y}{dt^{1}}- \frac{a_{2}}{a_{n}}\frac{d^{2}y}{dt^{2}}- \ldots - \frac{a_{n-1}}{a_{n}}\frac{d^{n-1}y}{dt^{n-1}}+\frac{1}{a_{n}}u \]

    \( y \) und seine ersten \( n - 1 \) Ableitungen sind die Zustände dieses Systems.

  3. Definiere neue Variablen:
  4. Setze \( x_{1} = y \), dann gilt:

    \[ x_{1} \left( t \right) =y \] \[ x_{2} \left( t \right) = \frac{dy}{dt} \] \[ x_{3} \left( t \right) = \frac{d^{2}y}{dt^{2}} \] \[ \vdots \] \[ x_{n} \left( t \right) = \frac{d^{n-1}y}{dt^{n-1}} \]

    Die Funktionen \( x_{i}(t) \) sind nun die Zustandsvariablen.

  5. Bilde die Ableitungen der Zustandsvariablen:
  6. \[ \frac{dx_{1}}{dt}=x_{2} \left( t \right) \] \[ \frac{dx_{2}}{dt}=x_{3} \left( t \right) \] \[ \vdots \] \[ \frac{dx_{n-1}}{dt}=x_{n} \left( t \right) \] \[ \frac{dx_{n}}{dt}=\frac{d^{n}y}{dt^{n}} \]

  7. Setze den isolierten Term \( \frac{d^{n}y}{dt^{n}} \) (siehe Schritt 1) in die letzte Gleichung ein:
  8. \[ \frac{dx_{1}}{dt}=x_{2} \left( t \right) \] \[ \frac{dx_{2}}{dt}=x_{3} \left( t \right) \] \[ \vdots \] \[ \frac{dx_{n-1}}{dt}=x_{n} \left( t \right) \] \[ \frac{dx_{n}}{dt}=-\frac{a_{0}}{a_{n}}x_{1}- \frac{a_{1}}{a_{n}}x_{2}- \frac{a_{2}}{a_{n}}x_{3}- \ldots - \frac{a_{n-1}}{a_{n}}x_{n}+\frac{1}{a_{n}}u \]

  9. Schreibe das resultierende Gleichungssystem in Vektor-Matrix-Notation:
  10. \[ \left[ \begin{matrix} \frac{dx_{1}}{dt}\\ \frac{dx_{2}}{dt}\\ \vdots \\ \frac{dx_{n-1}}{dt}\\ \frac{dx_{n}}{dt}\\ \end{matrix} \right] = \left[ \begin{matrix} \dot{x}_{1}\\ \dot{x}_{2}\\ \vdots \\ \dot{x}_{n-1}\\ \dot{x}_{n}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1 & 0 & \cdots & 0 & 0\\ 0 & 0 & 1 & \cdots & 0 & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & \cdots & 0 & 1\\ -\frac{a_{0}}{a_{n}} & -\frac{a_{1}}{a_{n}} & -\frac{a_{2}}{a_{n}} & \cdots & -\frac{a_{n-2}}{a_{n}} & -\frac{a_{n-1}}{a_{n}}\\ \end{matrix} \right] \left[ \begin{matrix} x_{1}\\ x_{2}\\ \vdots \\ x_{n-1}\\ x_{n}\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ 0\\ \vdots \\ 0\\ \frac{1}{a_{n}}\\ \end{matrix} \right] u \]

Damit erhalten wir die Zustandsraumgleichung in folgender Form:

\[ \boldsymbol{\dot{x}(t) = Ax(t) + Bu(t)} \]

Wobei:

\[ \boldsymbol{A} = \left[ \begin{matrix} 0 & 1 & 0 & \cdots & 0 & 0\\ 0 & 0 & 1 & \cdots & 0 & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & \cdots & 0 & 1\\ -\frac{a_{0}}{a_{n}} & -\frac{a_{1}}{a_{n}} & -\frac{a_{2}}{a_{n}} & \cdots & -\frac{a_{n-2}}{a_{n}} & -\frac{a_{n-1}}{a_{n}}\\ \end{matrix} \right] \]

\[ \boldsymbol{B} = \left[ \begin{matrix} 0\\ 0\\ \vdots \\ 0\\ \frac{1}{a_{n}}\\ \end{matrix} \right] \]

Sehen wir uns zwei Beispiele an.

Beispiel – Körper mit konstanter Beschleunigung

In diesem Beispiel wirkt eine äußere Kraft auf den Körper.

Die Grundgleichung (governing equation) für einen Körper mit konstanter Beschleunigung ist Newtons zweites Gesetz:

\[ m\ddot{p} = F \]

Wobei:

\( p \) ist die Positionsverschiebung des Körpers

\( m \) ist die Masse des Körpers

\( F \) ist die auf den Körper wirkende äußere Kraft

Das Modell der konstanten Beschleunigung

Wir wenden nun den Algorithmus zur Ordnungsreduktion (order reduction algorithm) auf die Grundgleichung an.

  1. Isoliere die Ableitung höchster Ordnung:
  2. \[ \ddot{p} = \frac{1}{m}F \]

  3. Definiere die neuen Variablen \( x_{1} \) und \( x_{2} \):
  4. \[ x_{1} = p \] \[ x_{2} = \dot{p} \]

    \( x_{1} \) und \( x_{2} \) sind die Zustandsvariablen.

  5. Bilde die Ableitungen der Zustandsvariablen:
  6. \[ \dot{x}_{1} = x_{2} \] \[ \dot{x}_{2} = \ddot{p} \]

  7. Setze den isolierten Term \( \ddot{p} \) (siehe Schritt 1) in die letzte Gleichung ein:
  8. \[ \dot{x}_{1} = x_{2} \] \[ \dot{x}_{2} = \frac{F}{m} \]

  9. Schreibe das resultierende Gleichungssystem in Vektor-Matrix-Notation:
  10. \[ \left[ \begin{matrix} \dot{x}_{1}\\ \dot{x}_{2}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} x_{1}\\ x_{2}\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ \frac{1}{m}\\ \end{matrix} \right] F \]

Denken Sie daran, dass \( x_{2} = \dot{p} \) gilt. Es ist sinnvoller, \( x_{2} \) als \( v \) zu bezeichnen, da \( x_{2} \) die Geschwindigkeit des Körpers ist.

Wir können die obige Gleichung wie folgt umschreiben:

\[ \left[ \begin{matrix} \dot{p}\\ \dot{v}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ \frac{1}{m}\\ \end{matrix} \right] F \]

Oder:

\[ \left[ \begin{matrix} \dot{p}\\ \dot{v}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ 1\\ \end{matrix} \right] a \]

Wobei \( a \) die Beschleunigung des Körpers ist, die sich aus der angelegten Kraft \( F \) ergibt.

Damit erhalten wir eine Gleichung der Form:

\[ \boldsymbol{\dot{x}(t) = Ax(t) + Bu(t)} \]

Die Zustandsraumvariable \( \boldsymbol{x(t)} \) besteht aus der Auslenkung \( p(t) \) des Körpers und der Geschwindigkeit \( v(t) \).

Der Systemausgang \( \boldsymbol{y(t)} \) ist die Auslenkung \( p(t) \) des Körpers, die zugleich ein Element der Zustandsvariable ist.

\[ \boldsymbol{y(t) = Cx(t) + Du(t)} \]

\[ p = \boldsymbol{C} \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \boldsymbol{D} a \]

\[ p = \left[ \begin{matrix} 1 & 0\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ \end{matrix} \right] a \]

Beispiel: Masse-Feder-Dämpfer-System

Das Masse-Feder-Dämpfer-System besteht aus drei Grundelementen:

  • Masse – Trägheitselement
  • Feder – elastisches Element
  • Dämpfer – Reibungselement
Masse-Feder-Dämpfer-Modell

Jedes dieser Elemente zeigt eines von zwei möglichen Energieverhalten:

  • speichert die zugeführte Energie oder gibt sie wieder ab
  • wandelt die gesamte Energie durch einen „Reibungseffekt“ in Wärme um

Die Masse speichert Energie als kinetische Energie.

Wird die Feder gegenüber ihrer Ausgangslänge zusammengedrückt, speichert sie Energie als potenzielle Energie.

Der Dämpfer wandelt Energie in Wärme um.

Diese drei Komponenten – Masse, Feder und Dämpfer – können in allgemeinem Sinne nahezu jede dynamische Reaktionssituation modellieren.

Das Kraftdiagramm dieses Systems ist unten dargestellt.

Kräfte im Masse-Feder-Dämpfer-System

Die Federkraft ist proportional zur Auslenkung \( p \) der Masse.

Die viskose Dämpfungskraft ist proportional zur Geschwindigkeit \( \dot{p} \) der Masse.

Das zweite Newtonsche Gesetz lautet:

\[ \sum _{}^{}F = ma = m\frac{d^{2}p}{dt^{2}} = m\ddot{p} \]

Wir summieren die Kräfte und wenden das zweite Newtonsche Gesetz an:

\[ \sum_{}^{}F = F(t) - c\dot{p} - kp = m\ddot{p} \]

Wobei:

\( p \) die Auslenkung (Position) des Körpers ist

\( m \) die Masse des Körpers ist

\( F \) die äußere Kraft ist, die auf den Körper wirkt

\( k \) die Federkonstante ist

\( c \) der Dämpfungskoeffizient ist

Diese Gleichung ist eine Grundgleichung (governing equation), die den dynamischen Zustand des Systems vollständig beschreibt.

Wir wenden einen Algorithmus zur Ordnungsreduktion (order reduction algorithm) auf die Grundgleichung an.

  1. Isolieren Sie die Ableitung höchster Ordnung:
  2. \[ \ddot{p} = -\frac{k}{m}p - \frac{c}{m}\dot{p} + \frac{1}{m}F \]

  3. Definieren Sie neue Variablen \( x_{1} \) und \( x_{2} \):
  4. \[ x_{1} = p \] \[ x_{2} = \dot{p} \]

    \( x_{1} \) und \( x_{2} \) sind die Zustandsvariablen

  5. Bilden Sie die Ableitungen der Zustandsvariablen:
  6. \[ \dot{x}_{1} = x_{2} \] \[ \dot{x}_{2} = \ddot{p} \]

  7. Setzen Sie den isolierten \( \ddot{p} \)-Term (siehe Schritt 1) in die letzte Gleichung ein:
  8. \[ \dot{x}_{1} = x_{2} \] \[ \dot{x}_{2} = -\frac{k}{m}p - \frac{c}{m}\dot{p} + \frac{1}{m}F \]

  9. Drücken Sie das resultierende Gleichungssystem in Vektor-Matrix-Notation aus:
  10. \[ \left[ \begin{matrix} \dot{x}_{1}\\ \dot{x}_{2}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ -\frac{k}{m} & -\frac{c}{m}\\ \end{matrix} \right] \left[ \begin{matrix} x_{1}\\ x_{2}\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ \frac{1}{m}\\ \end{matrix} \right] F \]

Denken Sie daran: \( x_{2} = \dot{p} \). Es ist sinnvoller, \( x_{2} \) als \( v \) zu bezeichnen, da \( x_{2} \) die Geschwindigkeit des Körpers ist.

Wir können die obige Gleichung wie folgt umschreiben:

\[ \left[ \begin{matrix} \dot{p}\\ \dot{v}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ -\frac{k}{m} & -\frac{c}{m}\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ \frac{1}{m}\\ \end{matrix} \right] F \]

Damit erhalten wir eine Gleichung der folgenden Form:

\[ \boldsymbol{\dot{x}(t) = Ax(t) + Bu(t)} \]

Die Zustandsraumvariable \( \boldsymbol{x(t)} \) besteht aus der Auslenkung \( p(t) \) des Körpers und der Geschwindigkeit \( v(t) \).

Der Systemausgang \( \boldsymbol{y(t)} \) ist die Auslenkung \( p(t) \) des Körpers, die zugleich ein Element der Zustandsvariable ist.

\[ \boldsymbol{y(t) = Cx(t) + Du(t)} \]

\[ p = \boldsymbol{C} \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \boldsymbol{D} F \]

\[ p = \left[ \begin{matrix} 1 & 0\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ \end{matrix} \right] F \]

Weitere Beispiele

Viele schöne Beispiele für Zustandsraummodellierung finden Sie auf der ShareTechnote-Website.

Lösen der Differentialgleichung

Denken Sie daran: Für unser Kalman-Filter-Modell müssen wir die Zustandsextrapolationsgleichung in der Form bestimmen:

\[ \boldsymbol{\hat{x}}_{n+1,n} = \boldsymbol{F\hat{x}}_{n,n} + \boldsymbol{G\hat{u}}_{n,n} \]

Um dorthin zu gelangen, lösen wir die Differentialgleichung, die die Zustandsraumdarstellung beschreibt.

Wir können dafür Software verwenden oder es selbst herleiten.

Sehen wir uns an, wie man die Differentialgleichung löst.

Kalman-Filter-Buch
Beispielorientierter Leitfaden zum Kalman-Filter

Dynamische Systeme ohne Eingangsvariable

Ein LTI-System (linear time-invariant) ohne äußeren Eingang kann durch die Differentialgleichung erster Ordnung beschrieben werden:

\[ \boldsymbol{\dot{x} = Ax} \]

Wobei \( \boldsymbol{A} \) eine Systemdynamikmatrix (system dynamics matrix) ist.

Unser Ziel ist es, die Zustandsübergangsmatrix \( \boldsymbol{F} \) zu finden.

Dazu müssen wir die Differentialgleichung lösen.

In einer Dimension sieht die Differentialgleichung so aus:

\[ \frac{dx}{dt} = kx \] \[ \frac{dx}{x} = kdt \]

Durch Integration beider Seiten ergibt sich:

\[ \int _{x_{0}}^{x_{1}}\frac{1}{x}dx = \int _{0}^{ \Delta t}kdt \]

Auswerten der Integrale:

\[ ln \left( x_{1} \right) - ln \left( x_{0} \right) =k \Delta t \] \[ ln \left( x_{1} \right) = ln \left( x_{0} \right) +k \Delta t \] \[ x_{1}= e^{ln \left( x_{0} \right) +k \Delta t} \] \[ x_{1}= e^{ln \left( x_{0} \right) }e^{k \Delta t} \] \[ x_{1}= x_{0}e^{k \Delta t} \]

Analog gilt im mehrdimensionalen Fall für:

\[ \boldsymbol{\dot{x} = Ax} \]

Die Lösung ist:

\[ x_{n+1}= x_{n}e^{\boldsymbol{A} \Delta t} \]

Damit haben wir die Zustandsübergangsmatrix \( \boldsymbol{F} \) gefunden:

\[ \boldsymbol{F} = e^{\boldsymbol{A} \Delta t} \]

\( e^{\boldsymbol{A}t} \) ist eine Matrixexponential (matrix exponential).

Die Matrixexponential kann über eine Taylorreihenentwicklung (Taylor series expansion) berechnet werden:

\[ e^{\boldsymbol{X}}= \sum _{k=0}^{\infty}\frac{1}{k!}\boldsymbol{X}^{k} \]

Daher:

\[ \boldsymbol{F} = e^{\boldsymbol{A} \Delta t} = \boldsymbol{I} + \boldsymbol{A} \Delta t+ \frac{ \left( \boldsymbol{A} \Delta t \right) ^{2}}{2!}+ \frac{ \left( \boldsymbol{A} \Delta t \right) ^{3}}{3!}+ \frac{ \left( \boldsymbol{A} \Delta t \right) ^{4}}{4!}+ \ldots \]

Wobei \( \boldsymbol{I} \) die Einheitsmatrix (identity matrix) ist.

Beispiel fortgesetzt – Körper mit konstanter Geschwindigkeit

Jetzt können wir die Zustandsübergangsmatrix \( \boldsymbol{F} \) für die Bewegungsgleichungen der konstanten Geschwindigkeit bestimmen.

Das folgende System von Differentialgleichungen beschreibt das Dynamikmodell mit konstanter Geschwindigkeit.

\[ \begin{matrix} \frac{dp}{dt}=v\\ \frac{dv}{dt}=0\\ \end{matrix} \]

In Matrixform:

\[ \left[ \begin{matrix} \dot{p}\\ \dot{v}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] \] \[ \boldsymbol{A} = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \]

Berechnen wir \( \boldsymbol{A}^{2} \)

\[ \boldsymbol{A}^{2} = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 0\\ 0 & 0\\ \end{matrix} \right] \]

Da \( \boldsymbol{A}^{2} = 0 \) ist, sind auch höhere Potenzen von \( \boldsymbol{A} \) gleich 0.

Damit können wir die Zustandsübergangsmatrix \( \boldsymbol{F} \) für das Modell mit konstanter Geschwindigkeit bestimmen:

\[ F= e^{\boldsymbol{A} \Delta t} = \boldsymbol{I} + \boldsymbol{A} \Delta t = \left[ \begin{matrix} 1 & 0\\ 0 & 1\\ \end{matrix} \right] + \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \Delta t = \left[ \begin{matrix} 1 & \Delta t\\ 0 & 1\\ \end{matrix} \right] \] \[ \boldsymbol{x}_{n+1} = \boldsymbol{F}\boldsymbol{x}_{n} = \left[ \begin{matrix} 1 & \Delta t\\ 0 & 1\\ \end{matrix} \right] \boldsymbol{x}_{n} \] \[ \left[ \begin{matrix} x_{n+1}\\ \dot{x}_{n+1}\\ \end{matrix} \right] = \left[ \begin{matrix} 1 & \Delta t\\ 0 & 1\\ \end{matrix} \right] \left[ \begin{matrix} x_{n}\\ \dot{x}_{n}\\ \end{matrix} \right] \]

Dynamische Systeme mit einer Eingangsvariable

Bei Zero-Order-Hold-Abtastung (zero-order hold sampling), also unter der Annahme, dass der Eingang stückweise konstant ist, lautet die allgemeine Lösung der Zustandsraumgleichung der Form:

\[ \boldsymbol{\dot{x}(t) = Ax(t) + Bu(t)} \]

wie folgt:

\[ \boldsymbol{x ( t+ \Delta t )} = \color{red}{\underbrace{e^{\boldsymbol{A} \Delta t}}_\textrm{F}} \boldsymbol{x(t)} + \color{blue}{\underbrace{\int _{0}^{\Delta t} e^{\boldsymbol{A}t}dt\boldsymbol{B}}_\textrm{G}} \boldsymbol{u(t)} \]

Wenn wir die Eingangsvariable entfernen \( (\boldsymbol{u(t)} = 0) \), erhalten wir die Lösung aus dem vorherigen Abschnitt.

Ich werde das hier nicht beweisen – den Beweis finden Sie z. B. in Tom M. Apostols Lehrbuch „Calculus“ (2. Auflage), Satz 8.3, oder in anderen Analysis-Lehrbüchern.

Lösen wir nun die Zustandsraumgleichungen für die Beispiele Körper mit konstanter Beschleunigung und Masse-Feder-Dämpfer-System.

Beispiel fortgesetzt – Körper mit konstanter Beschleunigung

Zur Erinnerung: Die Zustandsraumdarstellung des Beispiels Körper mit konstanter Beschleunigung lautet:

\[ \left[ \begin{matrix} \dot{p}\\ \dot{v}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ 1\\ \end{matrix} \right] a \]

Wobei:

\[ \boldsymbol{A} = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \]

\[ \boldsymbol{B} = \left[ \begin{matrix} 0\\ 1\\ \end{matrix} \right] \]

Lösen wir die Gleichung:

\[ \boldsymbol{x ( t+ \Delta t )} = \color{red}{\underbrace{e^{\boldsymbol{A} \Delta t}}_\textrm{F}} \boldsymbol{x(t)} + \color{blue}{\underbrace{\int _{0}^{\Delta t} e^{\boldsymbol{A}t}dt\boldsymbol{B}}_\textrm{G}} \boldsymbol{u(t)} \]

Bestimmung von F

\[ \boldsymbol{F} = e^{\boldsymbol{A} \Delta t} \]

Das haben wir bereits für \( A = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right]\) gelöst.

\[ \boldsymbol{F} = \left[ \begin{matrix} 1 & \Delta t\\ 0 & 1\\ \end{matrix} \right] \]

Bestimmung von G

\[ \boldsymbol{G} = \int _{0}^{ \Delta t}e^{\boldsymbol{A}t}dt \boldsymbol{B} \]

Die allgemeine Formel für \( \int _{0}^{ \Delta t}e^{\boldsymbol{A}t}dt \) ist die Potenzreihe:

\[ \int _{0}^{ \Delta t}e^{\boldsymbol{A}t}dt= \Delta t \left( I+ \frac{\boldsymbol{A} \Delta t}{2!}+ \frac{ \left( \boldsymbol{A} \Delta t \right) ^{2}}{3!}+ \frac{ \left( \boldsymbol{A} \Delta t \right) ^{3}}{4!}+ \ldots \right) \]

\[ \boldsymbol{A}^{2} = \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 0\\ 0 & 0\\ \end{matrix} \right] \]

Die höheren Potenzen von \( \boldsymbol{A} \) sind ebenfalls gleich 0.

\[ \int _{0}^{ \Delta t}e^{\boldsymbol{A}t}dt= \Delta t \left( \left[ \begin{matrix} 1 & 0\\ 0 & 1\\ \end{matrix} \right] + \left[ \begin{matrix} 0 & 1\\ 0 & 0\\ \end{matrix} \right] \frac{ \Delta t}{2} \right) = \left[ \begin{matrix} \Delta t & \frac{1}{2}\Delta t^{2}\\ 0 & \Delta t\\ \end{matrix} \right] \]

\[ \boldsymbol{G} = \int _{0}^{ \Delta t}e^{\boldsymbol{A}t}dt\boldsymbol{B} = \left[ \begin{matrix} \Delta t & \frac{1}{2}\Delta t^{2}\\ 0 & \Delta t\\ \end{matrix} \right] \left[ \begin{matrix} 0\\ 1\\ \end{matrix} \right] = \left[ \begin{matrix} \frac{1}{2}\Delta t^{2}\\ \Delta t\\ \end{matrix} \right] \]

Nun können wir die Zustandsextrapolationsgleichung schreiben:

\[ \left[ \begin{matrix} p_{n+1}\\ \dot{p}_{n+1}\\ \end{matrix} \right] = \left[ \begin{matrix} 1 & \Delta t\\ 0 & 1\\ \end{matrix} \right] \left[ \begin{matrix} p_{n}\\ \dot{p}_{n}\\ \end{matrix} \right] + \left[ \begin{matrix} \frac{1}{2}\Delta t^{2}\\ \Delta t\\ \end{matrix} \right] a \]

Beispiel fortgesetzt – Masse-Feder-Dämpfer-System

Zur Erinnerung: Die Zustandsraumdarstellung des Masse-Feder-Dämpfer-Systems lautet:

\[ \left[ \begin{matrix} \dot{p}\\ \dot{v}\\ \end{matrix} \right] = \left[ \begin{matrix} 0 & 1\\ -\frac{k}{m} & \frac{c}{m}\\ \end{matrix} \right] \left[ \begin{matrix} p\\ v\\ \end{matrix} \right] + \left[ \begin{matrix} 0\\ \frac{1}{m}\\ \end{matrix} \right] F \]

Wobei:

\[ \boldsymbol{A} = \left[ \begin{matrix} 0 & 1\\ -\frac{k}{m} & \frac{c}{m}\\ \end{matrix} \right] \]

\[ \boldsymbol{B} = \left[ \begin{matrix} 0\\ \frac{1}{m}\\ \end{matrix} \right] \]

In diesem Beispiel ist die Berechnung der Matrixexponential nicht so einfach, da die höheren Potenzen von \( \boldsymbol{A} \) nicht Null sind.

Das Lösen dieser Differentialgleichung geht über den Rahmen dieses Buches hinaus.

Zurück Weiter