PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Roboter mit Matlab/Simulink simulieren



Luis79
12.04.2005, 07:43
hallo zusammen...

ich bin Mechatronik Student und soll im Rahmen eines Praxisseemesters - sprich Praktikums - einen Roboter mit Matlab/Simulink simulieren...

ich soll mit den Armen anfangen...null Ahnung???

hat das hier jemand schon gemacht? ich habe naemlich ueberhaupt keine Ahnung, wie ich anfangen soll...

bin in Korea stationiert...leider nicht in Germany...

es waere super, wenn mir einer helfen koennte...

Danke im voraus...

cyberbot
12.04.2005, 10:48
Hi,
der erste Schritt ist die Bewegungsgleichungen aufzustellen, d.h. wahrscheinlich Drallsatz für alle Gelenke/Motoren. Wenn du das hast, schau dir in einem Simulink tutorial an wie man Dgl'en simuliert und schon haste es ;-).

Bei Fragen, einfach melden

Gruss
cyberbot

Luis79
13.04.2005, 01:05
achso...dankeschoen...das ist wirklich sehr nett von dir...

aber: hast du eine Ahnung, mit welchen Gleichungen ich anfangen soll? wie sehen die Gleichungen aus fuer Gelenke?

danke im voraus...

Distel
13.04.2005, 07:42
Moin,
Eigentlich kommt es darauf an was genau du von deinem Roboter simulieren willst und wie kompliziert der aufgebaut ist. Willst du Kräfte und Momente simulieren, dann kannst du die nötigen Gleichungen nach Newton und Euler aufstellen ( Impuls- und Drehimpulssatz). Willst du die Bewegungsdiffferentialgleichungen des Gesamtsystems aufstellen, ist es vor allem bei komlizierteren Systemen zweckmäßiger das mit dem Lagrange-Formalismus zu berechnen ( wenn du dich damit auskennst ). Da brauchst du nämlich viel weniger Gleichungen. Für einen einfachen fahrbaren Roboter oder Roboterarm müsste es der IS und DIS tun, wenn du einen Laufroboter, z.B. Zweibeiner oder 6-Beiner hast, würde ich das ehr mit Lagrange machen.
Sollest du das Komlettpaket von Simulink haben, gibt es da drin ein Packet (SimMechanics) zum erstellen von Mehrkörpersystemen, das generiert dann deine Gleichungen automatisch. Es ist vielleicht empfehlenswert sich das mal anzusehen.

Gruß
Distel

Luis79
13.04.2005, 09:15
der Roboter soll sich auf einem Schienensystem bewegen...also keine Beine vorhanden...er soll von einem Ort zu einem anderen eine Masse bewegen koennen...auf jeden Fall besitzt er drei Gelenke - Kugellager...ich soll dann zum Schluss dann noch alles visualiesieren...ich habe keine Ahnung, womit ich anfangen soll...ich drehe echt noch durch...vor allem habe ich keine Ahnung von Robotik...wie soll ich die Bewegungsgleichungen fuer die Arme aufstellen? keine Ahnung...der Chef meinte nur, ich solle erst in die Gelenkpunkte - also in jeden davon - ein Koordinatensystem legen...bin echt total ueberfordert...es soll nur ein Praktikum sein und keiner kennt sich hier in Matlab/Simulink aus...

cyberbot
13.04.2005, 09:53
hmmm, kannste vielleicht mal kurz skizzieren, ich kanns mir nocht nicht genau vorstellen

cyberbot
13.04.2005, 09:55
und vielleicht noch die aufgabenstellung präzisieren: welche Art von Simulation ist gefordert: rein kinematisch, oder dyanamisch?

Distel
13.04.2005, 21:27
Jo, skizzier das Ding mal.
Bei den Gelenken is es erstmal schnuppe ob Kugellager oder Gleitlager. Wichtiger ist was die für Freiheitsgrade haben, also ob das Drehgelenke sind oder Schubgelenke oder Kugelgelenke etc.
Das mit den Koordinatensystemen in den Gelenken passt schon, das sind die Bezugskoordinatensysteme. Die Vektoren die darin dargestellt sind, sprich dein Stück Roboterarm von einem Gelenk zum nächsten, werden dann mittels Drehmatritzen in ein Inertialkoordinatensystem überführt. In diesem musst du dann rechnen.

P.S. Welches Semester bist du?

FranzXf
17.04.2005, 18:21
Hi!

Ich versuche auch grad ähnliches (Maschinenbaustud - Zweig Mechatronik)
Will ein "UFO" bauen, welches mit 3 vertikal ausgerichteten Triebwerken fliegen soll.
Habe auch mit Matlab begonnen. Umdeinen Roboter mit Matlab/Simulink zu modellieren sehe ich 2 Methoden (ich verwende beide)
Das einfachste ist wohl die Toolbox SimMechanics zu verwenden. Dort kannst du alles einfach "zusammenstecken" und gleich visualisieren lassen (Simulink Help) Man kann ganz einfach alle möglichen Lager bestimmen... es gibt auch Antriebe etc. Die Körper werden durch deren Masse und Trägheitsmoment bestimmt, man kann auch neue Koordinatensysteme als "andockpunkte" definieren - geht super das zeug!!

Die andere Möglichkeit besteht darin, das ganze dynamisch zu Berechnen.
Das ist schon um vieles aufwendiger (aber ganz bestimmt ein Vielfaches an Zeitaufwand). Falls du diesen Weg einschlagen willst, empfehle ich dir Literatur zu Stichwörtern wie zB "Dynamik" oder "Dynamik von Mehrkörpersystemen".
Ich löse diese Gleichungen dann meist mit Maple soweit möglich. (Da wird mit Variablen gerechnet, man muß keine Werte wie in Matlab (rechnet vorzugsweise numerisch) einsetzten) Mit Maple löse ich das dann allgemein soweit möglich und verwende dann diese "fertigen" Formeln in Matlab - Simulink ein.
Wenn du aber mit Höherer Dynamik noch keine Erfahrungen (bzw Vorlesungen) hast, wird das sehr aufwändig - also vielleicht SimMechanics besorgen :-)

Mfg

FranzXf
17.04.2005, 18:28
Hallo distel!

Anscheinend hast du schon Erfahrung mit Lagrange - ich hab da eine kurze Frage:
Habe für ein "UFO" (ein Körper) versucht, mit Lagrange 2. Art die Bew. gleichungen aufzustellen - aber da kommt der Drall nicht vor!!

In den Lagrangegleichungen kommen ja nur Beschleunigungen und eventuell generalisierte Koordinaten vor (Falls die Kräfte davon abhängen) - für den Drallsatz ist aber die Geschwindigkeit essentiell? Muss man den Drallsatz also extra "einbauen"?

Würde mich sehr über eine Antwort freuen!
Mfg Franz

cyberbot
17.04.2005, 19:49
Hi,

ich habs zwar nicht mehr so präsent, aber ich denke mal es ist so:

die generalisierten koordinaten sind ja entweder lagen (x,y,z) oder winkel. wenn du jetzt lagrange 2.art anwendest, leitest du ja nach diesen variablen ab, wenn du also nach einem winkel ableitest, ist die beschleunigung eine winkelbeschleunigung-> drallsatz ;-)

ich hoffe, ich habs nicht durcheinandergebracht 8-[

gruss
cyberbot

FranzXf
17.04.2005, 20:37
aaah Danke - jetzt ist mir der Knoten aufgegangen:
zu cyberbot:
ja, aber bei der Position (x,y,z) bleibt keine Geschwindigkeit übrig (bei einem Körper im 3dim-Raum). (darf ja auch nicht den Kraft ist ja Masse x Beschl)
Bei der Drehung hingegen schon - denn da sind die Koordinaten von den anderen gen. Drehkoordinaten ja abhängig (Im Raum muss man ja die Reihenfolge der Drehung beachten...)

da habe ich die gen. Koordinaten falsch angenommen

Distel
18.04.2005, 10:43
Also mal prinzipiell zu den Berechnungen: Von den ganzen Möglichkeiten die es gibt, die Dynamik von MKS (Mehrkörpersysteme) zu berechen, sind zwei die Praktikabelsten:
1. Newton, Euler - d.h. Imuls-und Drehimulssatz
2. Lagrange - d.h. Lagrange Gleichungen 2. Art
Das eine hat mit dem anderen nix zu tun. Imuls- und Drallsatz geht von Kräften und Momenten aus. Lagrange geht von Energien aus (deswegen funktioniert Lagrange grenzübergreifend in Mechanik, Elektrotechnik usw).
Durch die Einführung von generalisierten Koordinaten generiert der Lagrange-Formalismus f Bewegungs-Dgl 2.Ordnung (f = Freiheitsgrad des Systems) des gesamten Systems. Der Nachteil von Lagrange ist, das durch verallgemeinerte Koordinaten und Kräfte z.B. keine Gelenkkräfte, Lagerkräfte etc. berechnet werden können. Dafür muss man dann IS und Drallsatz zu Rate ziehen.
@ Franz: Dein Flugobjekt müsste 6 Freiheitsgrade haben (freier Körper im Raum), also auch 6 generalisierte Koordinaten. Du bekommst also 6 Dgl 2. Ordung. Diese Gleichungen kannst du auch direkt in die Simulink-Umgebung packen und dort direkt simulieren ohne SimMechanics.
@all: Eine mathematisch einfachere Möglichkeit MKS zu simulieren sind spezielle Programme zu nutzen wie z.B. ADAMS, ALASKA, MODELLICA (freeware),.... Die Einarbeitungszeit hier ist aber nicht unbeträchtlich.

Gruß
Distel

P.S. Die Toolbox SimMechanics basiert auch auf MKS Berechungen. Was man da also herausbekommt ist die Dynamik des Systems. Ich empfehle die Ergebnisse unbedingt zu überprüfen.

Luis79
12.05.2005, 03:10
so sieht der Roboter ungefaehr aus...

Luis79
07.07.2005, 09:39
hallo zusammen...

nun neigt sich mein Praktikum in KOREA langsam dem Ende zu...ich sollte einen Roboter simulieren und visualisieren...da ich jedoch am Anfang ueberhaupt keine Ahnung von Robotik hatte, war es fuer mich sehr schwer, den richtigen Einstieg zu finden...nach langer Einarbeitungsphase in Robotik habe ich begonnen, die gesamten Transformationsmatrizen der Koordinatensysteme mit MATLAB zu berechnen...auch das Herleiten war sehr schwierig und von langer Zeitdauer...der Roboter soll seine Arme ausstrecken und wieder einstrecken...und zu gewissen Zeiten soll die Base rotieren...na ja...da ich das Ganze ja visualisieren sollte, habe ich begonnen, mich mit der Virtual Reality Toolbox zu beschaeftigen...habe mir die Basics auch ein wenig angelernt...na ja...nun war es an der Zeit, den Regelkreis zu erstellen, an dem ich immer noch dran bin...hmm...bin dann auf SimMechanics gestossen...mit dieser Toolbox soll es sehr einfach sein...na ja...habe es versucht und versuche es noch immer...eine Frage vorab: kann ich die in Matlab berechneten Transformationsmatrizen in SimMechanics einbinden? wenn ja? wie? wenn nein? war meine erste Arbeit umsonst? die Massentraegheitsmomente, die in SimMechanics gefordert werden, habe ich schon berechnet...fuer den gesamten Roboter...nur weiss ich nicht, welchen Motor ich nehme, wie ich die Gelenke bewegen lassen soll - wie gefordert - und ob ich Momente aufbringen lassen soll oder nicht...also: es waere sehr nett von euch, wenn ihr euch ein wenig Zeit nehmen koenntet, um mir zu helfen...denn ohne Hilfe bin ich aufgeschmissen...habe noch 5 - 6 Wochen Zeit...wenn ihr mehr Informationen braucht, sagt es mir...ich werde euch schnellstmoeglich mit mehr DATA beliefern...also ein grosses Dankeschoen schon mal im voraus...

Mit freundlichen Gruessen

LUIS79