|
ChriPs |
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 29.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.08.2012, 16:46
Titel: Tempomat 1D
|
|
|
|
|
Hallo zusammen,
Ich möchte gerne ein Programm mit Matlab schreiben.
Das Programm: Der Benutzer übergibt dem Programm ein
eindimensionales Höhenprofil in Form von zwei
Vektoren. Der eine enthält die x-Koordinaten, der andere
die Höhe in Metern; dazwischen wird linear interpoliert.Die Werte sind alle positiv. Darüber hinaus gibt der Benutzer noch eine Sollgeschwindigkeit und eine
Startgeschwindigkeit an. Entsprechend der Parameter, die unten gegeben sind, soll nun ein Fahrzeug
inklusive seinem Beschleunigungsverhalten simuliert werden. Dieses Fahrzeug soll mittels eines PIDReglers
auf die Sollgeschwindigkeit gebracht und dort gehalten werden.Wir gehen
davon aus, dass das Fahrzeug immer die Simulation mit einer Geschwindigkeit größer Null beginnt
und vernachlässigen die Möglichkeit eines Stillstandes.
Also der PID-Regler bringt das Fahrzeug auf die Sollgeschw. und hält es dort. Mein Problem ist dass der Regler ja die aktuelle Geschw. wissen muss um zu regeln. Die ändert sich ja je nach Steigung. Und genau da liegt mein Problem. Ich brauch die Geschw. über die Zeit. Habe aber nur die Strecke gegeben. Wie stell ich denn die Funktion dann auf?
Meine Ideen:
Ich bin echt ratlos wie ich dass nun machen soll. Ableiten kann ich ja auch nichts oder? Gibt es da etwas bestimmtes von Matlab?
Hier mein bisheriger Code. Allerdings ohne Regelung.
|
|
|
|
|
coopers |
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 27.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.08.2012, 19:55
Titel:
|
|
Hallo ChriPs,
willst du das Modell wirklich in Matlab aufbauen?
Ich würde vorschlagen das ganze eher in Simulink aufzubauen.
Als ersten Schritt dazu baust du mal das was du schon weißt
und dann können wir uns ja mit der Frage beschäftigen
Zitat: |
Ich brauch die Geschw. über die Zeit. Habe aber nur die Strecke gegeben. Wie stell ich denn die Funktion dann auf? |
Grüße!
coopers
|
|
|
coopers |
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 27.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.08.2012, 20:02
Titel:
|
|
In der Gleichung ist glaube ich noch ein Fehler.
v2 ist nicht die Differenz aus V_Soll und V_ist, sondern
v2 = v_rel, die Differenz aus Fahrzeuggeschwindigkeit und Luftgeschwindigkeit
|
|
|
ChriPs |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 29.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.08.2012, 20:07
Titel: Danke
|
|
Hey, danke für die antwort. Leider muss ich es in Matlab aufbauen. Simulink ist tabu-.- Den Sinn soetwas mit Matlab anstatt simulink zu machen verstehe ich aber auch nicht so ganz.
Danke für den Hinweis mit FL.
Was meinst du mit bauen? FA habe ich ja hergeleitet. Mein Problem ist ja dass FA von der Momentangeschw. abhängt.
|
|
|
controlnix |
Forum-Century
|
|
Beiträge: 106
|
|
|
|
Anmeldedatum: 10.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.08.2012, 12:10
Titel:
|
|
|
|
ChriPs |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 29.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2012, 08:34
Titel:
|
|
Sorry aber irgendwie stehe ich gerade auf dem Schlauch. Das heisst ich muss jetzt alle geschwindigkeitsabhängigen Formeln als Funktion aufschreiben und die dann mit Hilfe der Integratoren lösen lassen?
Könntest du mir da ein Beispiel geben? Also aus meinem Code herraus?
|
|
|
ChriPs |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 29.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.08.2012, 11:47
Titel:
|
|
ich habe doch dv/dt=FA/m , dass müsste doch von den Vorzeichen richtig sein oder nicht? oder muss ich die Antriebskraft der Beschleunigung entgegenwirken lassen. Das macht doch keinen wirklichen Sinn.
|
|
|
controlnix |
Forum-Century
|
|
Beiträge: 106
|
|
|
|
Anmeldedatum: 10.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.08.2012, 05:51
Titel:
|
|
|
|
|
Ich ging davon aus, dass der von mir angegebene Link ausreichend aufzeigt (dort: Beispiel 1.1), wie Differentialgleichungen (Dgls) in Matlab umzusetzen sind. Auch bei der vorliegenden Aufgabe sind Dgls für den Bewegungsvorgang des Fahrzeugs zu verwenden. Diese liefern alle die Daten, die Du 'als Problem' benannt hattest. Was allerdings noch vollkommen fehlte, ist das Gaspedal.
Ich habe zwei M-Files beigefügt, in denen das für die vorliegende Aufgabe ausgeführt ist. Aufzurufen mit: vehsim_ohneReg. Die Regelung ist noch nicht dabei. Darin solltest Du Dich erst mal selbst versuchen. Wenn Du noch Hilfe benötigst, ...
Übrigens: Man kann mit Matlab sehr wohl solche Simulationen durchführen. Ausreichendes Dokumentieren ist natürlich erforderlich. Es muss nicht immer Simulink sein.
Beschreibung: |
|
Download |
Dateiname: |
vehicle_ohneReg.m |
Dateigröße: |
994 Bytes |
Heruntergeladen: |
780 mal |
Beschreibung: |
|
Download |
Dateiname: |
vehsim_ohneReg.m |
Dateigröße: |
1.45 KB |
Heruntergeladen: |
732 mal |
|
|
|
coopers |
Forum-Anfänger
|
|
Beiträge: 10
|
|
|
|
Anmeldedatum: 27.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.08.2012, 17:25
Titel:
|
|
Bewegungsgleichungen in m-Skripten lösen ist wirklich nicht schön.
Dein grundsätzliches Problem liegt glaube ich aber noch woanders. (Technische Mechanik).
Du hast das Kräftegleichgewicht jetzt aufgestellt für den Fall dass das Fzg nicht beschleunigt, also m*a=0. Für diesen Spezialfall ist dann FA = Summe aller Widerstandskräfte.
Für einen beliebigen Bewegungszustand musst du aber schreiben:
m*a = Summe aller Kräfte.
Wenn du das dann soweit hast kannst du alles nach a umstellen, durch die 1. Integration erhälst du die Geschwindigkeit und durch weiteres Integrieren erhälst du die zurückgelegte Strecke.
Grüße!
coopers
|
|
|
|
|
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.
|
|