WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Hilfe bei nicht lineares Modell in Simulink

 

AntonioPom
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 05.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.02.2017, 15:33     Titel: Hilfe bei nicht lineares Modell in Simulink
  Antworten mit Zitat      
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

DGL.PNG
 Beschreibung:

Download
 Dateiname:  DGL.PNG
 Dateigröße:  82.32 KB
 Heruntergeladen:  531 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.02.2017, 15:51     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
AntonioPom
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 05.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.02.2017, 17:16     Titel:
  Antworten mit Zitat      
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

two_track_mdl_v0_2.slx
 Beschreibung:

Download
 Dateiname:  two_track_mdl_v0_2.slx
 Dateigröße:  54.85 KB
 Heruntergeladen:  426 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
AntonioPom
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 05.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.02.2017, 16:54     Titel:
  Antworten mit Zitat      
Weiß keiner wo man Fehler liegt?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.02.2017, 19:23     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
AntonioPom
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 05.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.02.2017, 19:26     Titel:
  Antworten mit Zitat      
Das ist eine sehr gute Idee. Danke für den Vorschlag. Ich werde berichten ob ich weiter gekommen bin.
Private Nachricht senden Benutzer-Profile anzeigen
 
AntonioPom
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 05.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.02.2017, 22:31     Titel:
  Antworten mit Zitat      
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

two_track_mdl_v0_3.slx
 Beschreibung:

Download
 Dateiname:  two_track_mdl_v0_3.slx
 Dateigröße:  39.6 KB
 Heruntergeladen:  396 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.02.2017, 23:00     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
AntonioPom
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 05.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2017, 15:16     Titel:
  Antworten mit Zitat      
Leider hat das nicht funktioniert mit einer Startgeschwindigkeit.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.03.2017, 18:45     Titel:
  Antworten mit Zitat      
Hallo,

was genau hast du geändert, und was genau hat daran nicht funktioniert?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
AntonioPom
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 05.11.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2017, 18:47     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.03.2017, 20:20     Titel:
  Antworten mit Zitat      
Hallo,

wieso trägst du das in den MATLAB Functions ein? Sinnvoller wäre doch im Integrator-Block?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Elfriede

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.03.2017, 10:29     Titel:
  Antworten mit Zitat      
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
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.