|
|
Hilfe bei nicht lineares Modell in Simulink |
|
AntonioPom |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 05.11.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.02.2017, 15:33
Titel: Hilfe bei nicht lineares Modell in Simulink
|
|
Hallo,
ich sitze seit Wochen nun an mein Problem und finde keine Lösung mehr, daher schreibe ich in diesem Forum. Im Anhang habe ich die Differentialgleichungen angehängt, die ich in Simulink modelliert habe. Ich bekomme andauernd etwas falsches.
Kann mir jemand sagen, was ich beachten soll?
Viele Grüße
Antonio
Beschreibung: |
|
Download |
Dateiname: |
DGL.PNG |
Dateigröße: |
82.32 KB |
Heruntergeladen: |
531 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 25.02.2017, 15:51
Titel:
|
|
Hallo,
wie soll man dir denn da weiterhelfen??
So allgemein wie die Frage gestellt ist kann man nur sehr allgemeine Ratschläge geben:
1. mit den Integratoren (1/s) anfangen
2. Ein- und Ausgangssignale beschriften
3. Anfangsbedingungen eintragen
4. sich von den Eingängen der Integratoren nach links vorwärts arbeiten, also z.B. für die erste DGL:
v_dot ist 1/m * (also Gain) eine Summe aus 5 Termen (also Add mit 5 Eingängen) etc.
Grüße,
Harald
|
|
|
AntonioPom |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 05.11.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.02.2017, 17:16
Titel:
|
|
Das ist alles klar nur weiß ich leider nicht ob ich irgendwelche race conditions erzeuge, weil ich die Zustandsvariablen auch in einem anderem System benutze.
Im Anhang findest du das Modell. Wenn du mir helfen könntest, dann würde ich dir auch das komplette Projekt zuschicken.
Aber ich habe mal das Fahrzeug Modell hochgeladen. Hoffe jemand kann mir da weiter helfen.
Danke
Gruß
Antonio
Beschreibung: |
|
Download |
Dateiname: |
two_track_mdl_v0_2.slx |
Dateigröße: |
54.85 KB |
Heruntergeladen: |
426 mal |
|
|
|
AntonioPom |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 05.11.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.02.2017, 16:54
Titel:
|
|
Weiß keiner wo man Fehler liegt?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 28.02.2017, 19:23
Titel:
|
|
Hallo,
das Modell ist recht umfangreich. Bis man das Modell so gut kennt wie du, wäre einiges an Aufwand notwendig.
Vorschlag an dieser Stelle:
Implementiere das zunächst über MATLAB Functions. Dort hast du den Vorteil, dass du bei Eingängen psi, beta und v sowie den Parametern die Formeln direkt übernehmen kannst.
Wenn du an sich mit Blöcken modellieren willst, kannst du nach und nach die MATLAB Functions durch die blockbasierten Systeme ersetzen und dich so Stück für Stück an das Problem herantasten.
Grüße,
Harald
|
|
|
AntonioPom |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 05.11.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.02.2017, 19:26
Titel:
|
|
Das ist eine sehr gute Idee. Danke für den Vorschlag. Ich werde berichten ob ich weiter gekommen bin.
|
|
|
AntonioPom |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 05.11.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.02.2017, 22:31
Titel:
|
|
|
|
|
Harald hat Folgendes geschrieben: |
Hallo,
das Modell ist recht umfangreich. Bis man das Modell so gut kennt wie du, wäre einiges an Aufwand notwendig.
Vorschlag an dieser Stelle:
Implementiere das zunächst über MATLAB Functions. Dort hast du den Vorteil, dass du bei Eingängen psi, beta und v sowie den Parametern die Formeln direkt übernehmen kannst.
Wenn du an sich mit Blöcken modellieren willst, kannst du nach und nach die MATLAB Functions durch die blockbasierten Systeme ersetzen und dich so Stück für Stück an das Problem herantasten.
Grüße,
Harald |
Hallo Harald,
ich habe nun das ganze durch Matlab Functions ersetzt. Leider bekomme ich folgende Fehlermeldung, die ich auch im Simulink bekomme, obwohl ich ein Startwert für die Integratoren habe.
Zitat: |
Derivative of state '1' in block 'two_track_mdl_v0_3/Non linear two track model dynamics/Integrator1' at time 0.0 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances) |
Im Anhang befindet sich mein Model. Sollte viel überschaubarer sein. Hoffentlich kannst du mir da weiter helfen.
Gruß
Antonio
Beschreibung: |
|
Download |
Dateiname: |
two_track_mdl_v0_3.slx |
Dateigröße: |
39.6 KB |
Heruntergeladen: |
396 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 28.02.2017, 23:00
Titel:
|
|
Hallo,
du hast 0 als Anfangswert für v angegeben. In deinen Funktionen teilst du aber durch v, und somit kommt Inf oder zumindest NaN zustande.
Vielleicht eine Fallunterscheidung machen?
Grüße,
Harald
|
|
|
AntonioPom |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 05.11.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.03.2017, 15:16
Titel:
|
|
Leider hat das nicht funktioniert mit einer Startgeschwindigkeit.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.03.2017, 18:45
Titel:
|
|
Hallo,
was genau hast du geändert, und was genau hat daran nicht funktioniert?
Grüße,
Harald
|
|
|
AntonioPom |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 05.11.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.03.2017, 18:47
Titel:
|
|
Ich habe quasi in jeder Matlab Function eine Startgeschwindigkeit v =10 eingetragen es rechnet kurze zeit etwas aber dann geht mein psi gegen unendlich und die simulation bricht ab
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.03.2017, 20:20
Titel:
|
|
Hallo,
wieso trägst du das in den MATLAB Functions ein? Sinnvoller wäre doch im Integrator-Block?
Grüße,
Harald
|
|
|
Elfriede |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.03.2017, 10:29
Titel:
|
|
Hallo Antonio,
ist das Thema noch aktuell?
Aus welchem Buch kommen denn die Formeln?
Im Modell (das erste Simulinkmodell) mischt Du etwas wild die Seiten- und Längskräfte der Reifen. Das funktioniert so nicht.
Weiter, wenn Du die Magic Formula nur mit festen B,C,D,E Parametern benutzt kannst Du es gleich lassen, weil z.B. keinerlei Radlaständerung, Sturzänderung oder auch Kombischlupf berechnet wird.
Auch die Gierrate (in Deinem GoTo-Block) ist nicht wirklich die Gierrate, die würdest Du bekommen wenn Du nach Deinem Gainblock (1/J_z) den Integrator setzt. Dessen Ausgang ist dann die Gierrate.
Ich glaube es ist kein Modellierungsproblem, das Modell ist zumindest halbwegs strukturiert aufgebaut, sondern eher ein fahrzeugtechnisches Problem.
Schöne Grüße
Elfriede
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|