Page 1 of 1

Modellierung eines schwingenden Systems

Posted: Tue 16. Oct 2018, 10:12
by Trudix
Hallo Zusammen, hallo Herr Jetter,

ich versuche mich gerade an der Modellierung eines dynamischen, nichtlinearen und schwingenden Systems mittels eines Neuronalen Netzes. Ich habe ein Simulationsmodell des Systems und möchte im ersten Schritt, dass das NN das Verhalten des Systems (entsprechend der Simulation) nachbildet. Hierfür stehen mir in der Theorie erst einmal alle denkbaren Systemparameter zur Verfügung. Da später in der Praxis möglichst wenige Sensoren nötig sein sollten, sollte auf nicht benötigte Informationen möglichst trotzdem verzichtet werden. Bei meinem Projekt soll ein Fahrzeug auf einer Bühne hydraulisch abgesenkt werden. Eingangsgrößen sind der Wert eines Drucksensors (p) vor dem Ventil und der zum Öffnen des Ventils verwendete Ventilstrom (I). Der Druck p ist von der Masse m des Fahrzeugs sowie von der Ventilstellung (die wiederum von I abhängt) abhängig. Als Ausgang soll das NN die Senkgeschwindigkeit des Fahrzeugs ausgeben.

skizze.jpg
(53.43 KiB) Not downloaded yet
Die Simulationsergebnisse zeigen einen deutlich schwingenden Geschwindigkeitsverlauf. Für das Training habe ich Datensätze mit unterschiedlichen Ventilströmen I und Massen m erstellt. Beschreiben lässt sich das System mit einer Differentialgleichung 2. Ordnung. Ich habe verschiedene Feed-Forward-Netze ausprobiert und damit ganz passable Ergebnisse erzielt (1 Hiddenlayer mit 5 Neuronen, 1 Hiddenlayer mit 8 Neuronen, 2 Hiddenlayer mit 5 Neuronen). Meine Befürchtung ist nun, dass hierbei nur Werte auswendig gelernt wurden und keine wirklichen Zusammenhänge. Meine Fragen sind nun:

1.) Lässt sich mein Problem überhaupt mit Feed-Forward-Netzen lösen, da die richtige Ausgabe v ja nicht nur von den Inputs p und I abhängt, sondern auch von dem letzten Systemzustand (Beschleunigung, Geschwindigkeit des Fahrzeugs). Oder muss ich rückgekoppelte Netze verwenden?
2.) Was für Netzarchitekturen könnten sich anbieten?


Für Tips und Anregungen zu meinem Problem wäre ich sehr dankbar. Besten Dank schonmal

Re: Modellierung eines schwingenden Systems

Posted: Thu 18. Oct 2018, 19:48
by TJetter
Hallo und Willkommen im Forum.
Trudix wrote:Die Simulationsergebnisse zeigen einen deutlich schwingenden Geschwindigkeitsverlauf.
Hier handelt es sich um eine SImulation aufgrund der DGL 2. Ordnung, richtig verstanden?
Trudix wrote:Für das Training habe ich Datensätze mit unterschiedlichen Ventilströmen I und Massen m erstellt.
Ebenfalls aus dieser Simulation gewonnen, korrekt?
Trudix wrote:Beschreiben lässt sich das System mit einer Differentialgleichung 2. Ordnung.
Ist diese Aussage gesichert? Welche externen Parameter (z.B. P, I, etc) gehen in die DGL bisher ein?
Trudix wrote:da die richtige Ausgabe v ja nicht nur von den Inputs p und I abhängt, sondern auch von dem letzten Systemzustand (Beschleunigung, Geschwindigkeit des Fahrzeugs)
Ist das ebenfalls sicher? Der Druck vor dem Ventil dürfte proportional zum Fluss des Hydrauliköls sein. Dieses wiederum müsste proportional zu v sein. Denke ich hier zu einfach?

Die Tage folgt hoffentlich mehr, vielleicht sollten wir aber erst einmal die Punkte oben abklären.

Viele Grüße

Re: Modellierung eines schwingenden Systems

Posted: Fri 19. Oct 2018, 16:40
by Trudix
Guten Tag Herr Jetter,
vielen Dank erstmal für den super Support und die ausführliche Antwort.
Hier handelt es sich um eine SImulation aufgrund der DGL 2. Ordnung, richtig verstanden?
Der Geschwindigkeitsverlauf stammt aus einer Simulationssoftware, in der das System modelliert wurde. Der genaue formelmäßige Zusammenhang, der der Simulationssoftware zu Grunde liegt ist mir leider unbekannt. Dass es sich um ein System 2. Ordnung handelt, ist eher eine Vermutung aus einer vereinfachten analytischen Beschreibung des Systems.
Für das Training habe ich Datensätze mit unterschiedlichen Ventilströmen I und Massen m erstellt.
Ich habe hierbei I und m als Eingangsparameter in der Simulationssoftware varriert und mir die resultierenden Ergebnisse für p, v usw. ausgeben lassen.
Welche externen Parameter (z.B. P, I, etc) gehen in die DGL bisher ein?
Neben I und p gehen auf jeden Fall die Last m, verschiedene geometrische Parameter (Schlauchdurchmesser, Zylinderabmessungen, Ventilkennlinien etc) ein, die ich bisher jedoch alle konstant halte.

Der Druck vor dem Ventil dürfte proportional zum Fluss des Hydrauliköls sein. Dieses wiederum müsste proportional zu v sein. Denke ich hier zu einfach?
Der Druck und der Volumenstrom müssten sich quadratisch zueinander verhalten. Volumenstrom und Senkgeschwindigkeit sind proportional.

Besten Dank für Ihre Unterstützung und ein schönes Wochenende!

Re: Modellierung eines schwingenden Systems

Posted: Wed 24. Oct 2018, 21:12
by TJetter
OK, bin immer noch nicht ganz sicher: Was sollen die Eingangsparameter für das Netz bzw. die zu modellierende Übertragungsfunktion sein? Wie in der Skizze, also p und I?
p ist aus meiner Sicht in jedem Fall abhängig von m und I, korrekt? Wäre es da nicht sinnvoller, m und I als EIngangsgrößen zu haben und v als Ausgangsgröße? Wie soll denn das Netz später genau eingesetzt werden?

Viele Grüße

Re: Modellierung eines schwingenden Systems

Posted: Mon 29. Oct 2018, 15:13
by Trudix
Guten Tag Herr Jetter,

die Eingangsparameter sind p und I. p ist, wie Sie schon schreiben, abhängig von m und I. m ist als Eingangsgröße jedoch nicht wirklich geeignet, da die Masse des Fahrzeugs im Allgemeinen unbekannt ist. p dagegen ist aufgrund eines Drucksensors bekannt. Ziel ist es, dass das Netz für gegebenen Input I und p die resultierende Geschwindigkeit v ausgibt. Ein solches Modell könnte beispielsweise für eine modellbasierte Regelung mit einer vorgegebenen Geschwindigkeit als Zielvorgabe eingesetzt werden.

Beste Grüße und vielen Dank für Ihre Unterstützung!

Re: Modellierung eines schwingenden Systems

Posted: Tue 30. Oct 2018, 19:03
by TJetter
Trudix wrote:p ist, wie Sie schon schreiben, abhängig von m und I
Und von h = Anhebehöhe des Fahrzeugs, denke ich, wobei h ja linear vom Integral über [v(t) dt] abhängt. Wenn man das Ganze System an jeder Anhebehöhe quasistatisch betrachtet (also mit konstantem Volumenstrom, ohne Schwingungsvorgänge meine ich), dann ist in p ja auch schon das Wegintegral enthalten. Da sehe ich keine Differentialgleichung mehr. Vielmehr denke ich, dass v sich über eine direkte Berechnungsvorschrift aus p und i berechnen bzw. zumindest über ein NN abbilden lassen müsste.
D.h., ich sehe zunächst einmal kein Problem darin, v = f(p, I) durch ein NN erlernen zu lassen. Sie meinten doch auch oben schon, dass Sie ein NN bereits erfolgreich trainiert haben, oder habe ich das gerade falsch in Erinnerung?

Wie soll es weitergehen bzw. wie kann ich weiterhelfen?

Edit: Gerade lese ich im OT;
Die Simulationsergebnisse zeigen einen deutlich schwingenden Geschwindigkeitsverlauf.
Ist das eine Schwingung im Zeitbereich oder in Bezug auf p, also im "Druckbereich"? Bei konstantem I? Wenn es eine zeitliche Schwingung ist: Wie verhält sich denn der Druck p dabei? Synchron schwingend? Oder phasenverschoben?

Viele Grüße

Re: Modellierung eines schwingenden Systems

Posted: Fri 2. Nov 2018, 14:50
by Trudix
Guten Tag Herr Jetter,

es handelt sich um eine Schwingung im Zeitbereich. Der Druck p schwingt um pi/2 verschoben mit der gleichen Frequenz wie v. Ziel ist genau wie Sie es formulieren den Zusammenhang v=f(p,I) zu erlernen. Wegen der Schwingung bin ich jedoch verunsichert, ob das ohne Betrachtung des zeitlichen Verlaufs überhaupt klappen kann.

Beste Grüße und schönes Wochenende!

Re: Modellierung eines schwingenden Systems

Posted: Mon 5. Nov 2018, 18:47
by TJetter
Dann würde ich vorschlagen, dem Netz neben dem aktuellen p(t) noch einige wenige Werte aus der Vergangenheit p(t-1), p(t-2)... p(t-n) als Inputs zu präsentieren. Das kann man entweder als echte, einzelne Inputs gestalten, in Verbindung mit einem zeitunabhängigen Netz, oder aber über Delay-Neuronen bzw. Links, so dass sich die Vergangenheit nur im Netz intern abbildet.
Im ersteren Fall hat man mit der Datenaufbereitung etwas mehr Arbeit. Im letzteren Fall ist das Handling des Netzes etwas komplizierter und man muss beim Training unbedingt die korrekte Reihenfolge der Datenmuster einhalten.
Ich würde folgendes vorschlagen: Zum Experimentieren erst einmal Delay-Neuronen einfügen. Das geht fix und man kann die Daten zum Training stets gleich halten. Wenn man dann herausgefunden hat, welche Anzahl vergangene Werte als Inputs Sinn machen, dann würde ich eher umstellen auf eine Vorbereitung der Daten und ein Anlegen der Vergangenheit als separate Inputs. Das ist beim Trainieren und Validieren dann durchgängig einfacher.

Alternativ kann man anstatt von Delay-Neuronen auch Decay-Neuronen wählen. Dann ist aber eine Umstellung auf vorbereitete Daten später nicht mehr so einfach (aber auch machbar).

Viele Grüße