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

LUGRE Reibmodell Implementierung in Matlab

 

VanessaG
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 28.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2015, 14:30     Titel: LUGRE Reibmodell Implementierung in Matlab
  Antworten mit Zitat      
Hallo ihr da draußen!

Leider versuche ich mich schon seit Wochen an der Aufgabe das LUGRE Modell in Matlab zu implementieren.
Es handelt sich um folgendes Modell:


<br />

<br />
\mu=\sigma _0*z+\sigma_1*\dot z +\sigma_2*v_T\\
<br />

<br />
\dot z = \frac{dz}{dt}=v_T-\frac{\sigma_0*|v_T|}{\mu_k+(\mu_s-\mu_k)*e^{\frac{|v_T|}{|v_s|}}}*z
<br />

Nun werden die Relativgeschwindigkeiten v_T bereits in jedem Zeitpunkt eines bestimmten Zeitintervalls bei einer Kontaktberechnung in Matlab mithilfe des Penalty-Verfahrens berechnet.

Gleichzeitig hängt der obige Zustand z ja von der Geschwindigkeit ab, die ich jetzt nur zu bestimmten Zeitpunkten in dem Zeitintervall bekomme. (Ich habe also x Differentialgleichungen für jeden Zeitpunkt)
Die Zeitpunkte in denen die Körper in Kontakt sind werden durch die eine Zeitintegration(für die Dynamik der Körper) ermittelt.
kann man nun die obige Differentialgleichung für jeden Zeitpunkt in Matlab berechnen und daraus für jeden Zeitpunkt ein neues mü bekommen?

Die Zeitpunkte und die Relativgeschwindigkeiten werden zwischengespeichert, aber für jeden weiteren Zeitpunkt überschrieben. Diese mü müssen also für jeden Zeitpunkt neu berechnet werden.

Mit den gewöhnlichen ode45 solver braucht man ja eine Zeitspanne [tspan] aber ich habe ja nur Zeitpunkte, für die die Differentialgleichung gelöst erden soll.

VIelen Dank im Voraus. Ihr wärt mir eine große Hilfe!!!!

Vanessa
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.01.2015, 16:22     Titel: Re: LUGRE Reibmodell Implementierung in Matlab
  Antworten mit Zitat      
Hallo VanessaG,

Bisher kann man auf Deine Frage noch keine effiziente Antwort geben. Zeige doch mal, was Du bisher versucht hast und erkläre, welche Fehler dabei aufgetreten sind.

ODE45 für einen einzelnen Zeitpunkt aufzurufen ist in der Tat nicht sinnvoll. Denn dann besteht die gesamte ODE-Lösung aus einem einzelnen Aufruf der zu integrierenden Funktion.

Zitat:
kann man nun die obige Differentialgleichung für jeden Zeitpunkt in Matlab berechnen und daraus für jeden Zeitpunkt ein neues mü bekommen?

Ja, das geht bestimmt.

Viele Grüße, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 29.01.2015, 16:36     Titel:
  Antworten mit Zitat      
Mein "Bauchgefühl" sagt mir, dass eine Umsetzung in Simulink viel besser wäre. Ich würde sage es gibt sogar schon etwas Fertiges.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
VanessaG
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 28.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.01.2015, 19:16     Titel:
  Antworten mit Zitat      
Hallo zusammen!

danke schonmal für die schnelle Antwort!!!

Ich habe bis jetzt nur versucht die Differentialgleichung zu lösen, wenn ich zum Beispiel einen vorgegebenen Zeitverlauf und eine feste Zeitspanne habe.
Also zum Beispiel v_T=sin(t). Dann kann man ja einfach die Differentialgleichung mit dem ode45 solver mit ode45('function',[tspan], y0) lösen und man bekommt für die verschiendenen Zeitpunkte die müs.

Nun muss die Differentialgleichung selbst aber schon in einer vorhandenen Zeitintegration gelöst werden, die mir für verschiedene Zeitpunkte verschiedene Müs ausgeben soll.
Die Relativgeschwindigkeit ist hier gegeben und ist für jeden zeitpunkt ein skalar. Der workspace wird aber für jeden neuen zeitpunkt überschrieben.

Falls ich es noch genauer schreiben soll, bitte einfach sagen Smile!

Leider habe ich dazu kein geeigneten vorhandenen Code bzw. Modell gefunden.

Vielen Dank euch!! Smile

Vanessa
Private Nachricht senden Benutzer-Profile anzeigen
 
Steve Miller

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.01.2015, 09:58     Titel: Beispiele in Simscape
  Antworten mit Zitat      
Ich habe kein fertiges LuGre Model in MATLAB, aber kann Sie zumindest darauf hinweisen dass es andere Methoden gibt die vielleicht etwas einfacher bei der Implentierung sind.

Mit Simscape, kann Man solche Gleichungen implementieren und dann innerhalb von Simulink verwenden. Da die Gleichungen nicht causal sind, ist es viel einfacher. Es gibt auch Blöcke die Reibung implementieren:

http://www.mathworks.com/help/physm.....ranslationalfriction.html

Wenn Sie dieses Reibung Model direkt mit einen 3D mechanisches Model verbínden wollen, können Sie das auch mit SimMechanics verwenden. Einige Beispiele mit Reibungsmodellen sind auf der MATLAB Central File Exchange zu finden:

http://www.mathworks.com/matlabcent.....cs-contact-forces-library

Diese Beispiele haben auch Kontaktberechnung mithilfe des Penalty-Verfahrens.

Ich hoffe das gibt Ihnen ein Paar weitere Ideen.

Steve
 
VanessaG
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 28.01.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2015, 21:06     Titel:
  Antworten mit Zitat      
vielen Dank für die schnellen Antworten,

ich versuche mich nun mit einem Simulink Modell.
Ist es eigentlich prinzipiell möglich ein Simulink Modell in ein .m -file zu konvertieren??
Dann würde ich über diesen Weg gehen, oder eben später versuchen das Modell in Matlab einzubinden.. Smile

LG

Vanessa
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 03.02.2015, 09:31     Titel:
  Antworten mit Zitat      
Man kann zwar Simulink nicht in MATLAB umwandeln, aber über MATLAB nutzen / ansteuern (SIM Befehl).

Warum sollte es nützlich sein es "in MATLAB" zu machen?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.