Roboterforum Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?
30. Juli 2010, 23:07:49
Übersicht Hilfe Suche Kalender Einloggen Registrieren
News: >> Roboterprogrammierer gesucht !? <<

Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  andere Roboterhersteller  |  Thema: Inverse Kinematik 0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] 2 Nach unten Drucken
Autor Thema: Inverse Kinematik  (Gelesen 1095 mal)
ulmi
Neuling
*
Offline Offline

Beiträge: 9


« am: 25. Februar 2010, 11:25:15 »

Hy

Ich habe da folgendes Problem und hoffe, dass mir jemand helfen kann.
Ich habe einen Rob3i, dass ist ein kleiner 10 kilo schwerer Industrieroboter, und muss dafür eine Inverse Kinematik programmieren.
Wie der Roboter genau aussieht könnt ihr dann an den Bildern sehen.
Programmieren muss ich das ganze in VisualC++.

Ich habe leider überhaupt keine Ahnung wie ich das Problem angehen soll.
Hoffentlich kann mir einer von euch den richtigen Tipp geben.
Danke schonmal im voraus.
mfg ulmi
Gespeichert
Urmel
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 548


« Antworten #1 am: 25. Februar 2010, 11:58:09 »

Hallo,

eventuell hilft dir das hier weiter

http://www.cours.polymtl.ca/roboop/

Grüße

  Urmel
Gespeichert
ulmi
Neuling
*
Offline Offline

Beiträge: 9


« Antworten #2 am: 26. Februar 2010, 11:00:31 »

Danke für deine Antwort.
Ja dort findet man alles was man benötigt, aber das versteh ich alles irgendwie nicht.
Gibt es hier irgend jemanden der mir das ein wenig erklären kann, damit ich das ein bisschen besser verstehe.

Das man nicht einfach aus der Vorwärtstransformation die Winkel für die Achsen herausheben kann, weil man dann manche Positionen nicht anfahren kann oder so hab ich schon verstanden.

Anscheinend benötigt man eine Jacobimatrix, aber was für Parameter schreibt man da hinein??
Und wie komme ich dann auf die jeweiligen Formeln??
Das ist mir noch nicht so klar.
Hoffe einer von euch kann mir dabei ein bisschen helfen.

mfg ulmi
Gespeichert
Urmel
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 548


« Antworten #3 am: 26. Februar 2010, 12:06:33 »

Ja dort findet man alles was man benötigt, aber das versteh ich alles irgendwie nicht.

Das stimmt, das ist eigentlich nur ein Werkzeugkasten, das Wissen damit umzugehen muss man sich woanders besorgen.

Üblicherweise wohl in einer Robotikvorlesung an der Uni.

Ich hatte nur Computergrafik, da gibts auch Matrizen und Quaternionen, deshalb komme ich mit der Vorwärtskinematik ganz gut klar.  Aber Jacobimatrizen und Differentialgleichungen sind nicht so mein Ding.

Eventuell hilft es, wenn du mal in ein Buch zum Thema schaust, z.B.:
Husty "Kinematik und Robotik", Weber "Industrieroboter",
McKerrow "Introduction to Robotics" , Craig "Introduction to Robotics", Siciliano "Robotics".

Grüße
   Urmel
Gespeichert
ulmi
Neuling
*
Offline Offline

Beiträge: 9


« Antworten #4 am: 26. Februar 2010, 12:25:20 »

Mit der Vorwärtskinematik kennst du dich aus??
vielleich kannst du mir ja da mal ein bisschen helfen??

Wenn ich dann die Winkel heraushebe dann müsste das ja auch so cirka funktionieren oder nicht??
Das mit dem Buch ist nicht schlecht, aber schön langsam komm ich auch in Zeitnot.

mfg ulmi
Gespeichert
Urmel
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 548


« Antworten #5 am: 26. Februar 2010, 12:43:36 »

Mit der Vorwärtskinematik kennst du dich aus??


Auskennen ist zu viel gesagt. Ich kenne das Prinzip  Mr. Green

Die Frage ist, wie viel muss man bei roboop darüber wissen. Da ist ja schon als Beispiel der Puma-Roboter modelliert, das ist ja sowas wie der Urvater aller Knickarmroboter. Der soll doch wohl als Vorlage dienen, damit man in gleicher Weise seinen eigenen Roboter modellieren kann ...

Grüße

  Urmel

[Edit]
Schau mal hier in die PDFs, da steht ziemlich viel dazu
http://www9.cs.tum.edu/praktika/robotarm.WS08/
Man muss eigentlich nur die D-H Parameter des Roboters angeben, oder aus einer Datei laden (siehe conf-Verzeichnis von roboop).
Gespeichert
ulmi
Neuling
*
Offline Offline

Beiträge: 9


« Antworten #6 am: 02. März 2010, 09:36:23 »

Ja ich habe das jetzt mal so durchgeschaut und habe die DH Parameter gefunden. Also weiß ich jetzt wo ich meine Parameter meines Roboters eintragen muss.
Dann müsste das ganze doch eigentlich funktionieren oder nicht???

Nur ein Problem hab ich noch.. Wo kriege ich diese Parameter her???
Gibt es da irgendwo ein PDF oder sowas damit ich weiß welcher Parameter was ist??? Bislang habe ich da noch nichts gefunden oder ich bin einfach blind..

mfg ulmi
Gespeichert
Urmel
Global Moderator
Elite Member
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 548


« Antworten #7 am: 02. März 2010, 10:03:01 »

Hier sind die Parameter eigentlich ganz anschaulich beschrieben:

http://de.wikipedia.org/wiki/Denavit-Hartenberg-Transformation

Es sind immer 4 pro Achse. Drei sind konstant und beschreiben wie die Achse relativ zur vorhergehenden liegt. Der vierte (normalerweise de Gelenkwinkel) ist variabel und ändert sich, wenn sich der Roboter bewegt. In den PDFs auf die ich schon verlinkt habe, steht darüber einiges.
Gespeichert
Rudi
Neuling
*
Offline Offline

Beiträge: 13


« Antworten #8 am: 02. März 2010, 19:55:32 »

Hab' noch zwei Studienarbeiten gefunden, wo sowohl die Vorwärtstransformation als auch die direkte inverse Kinematik für einen Rob3 (TR 5) beschrieben werden.

Der Aufbau der seriellen Kinematik ist -bis auf die einzelnen Armlängen- eigentlich identisch zum Rob3i (IR 50).

Falls Du noch andere Doku benötigst (z.B. für das Low-Level Protokoll) einfach mal melden - hab' hier auf meinem Schreibtisch auch zwei "kooperierende" Rob3i Spielzeugroboter stehen  ylsuper
Gespeichert
Robotnik
Deluxe Member
******
Offline Offline

Geschlecht: Männlich
Beiträge: 381


Geht nicht, gibt's nicht!


WWW
« Antworten #9 am: 02. März 2010, 20:38:16 »

Ich habe da DIE Roboterfibel.

Es ist nicht irgendeine Fibel - sondern das Umfangreichste Dokument was mir je im Bereich Robotic in die Hände gekommen ist.
Auch jemanden mit einem weniger hohen Schulabschluss werden die Geheimnisse der Robotic, auf eine wirklich einfache Art näher gebracht.

In diesem Skriptum wird die Welt der Roboter, dessen Mathematik von A-Z erklärt.

Von Betriebsarten, Bewegungsrichtungen, Mathematischen zusammenhängen, Kinematische Ketten, Bahnplanungsgrundlagen bis zu Servicerobotern, Weltraumrobotern enthält dieses Werk ALLES, wirklich ALLES, was für einen Neuling die Basics sind, oder uns alten Hasen auf die Sprünge helfen kann.

Da  dieses Dokument mit Rechten behaftet ist, werde ich es nicht posten oder versenden.

Es handelt sich um folgende Arbeit:

Skriptum zur Vorlesung
Robotertechnologie I
Lehrstuhl für Automatisierung und Robotertechnologie

Prof. Dr.-Ing. E. Freund
Dipl.-Inform. O. Stern

(c) Institut für Roboterforschung, Dortmund


Vielleicht kann derjenige der es sich besorgt nachfragen, ob es hier gepostet werden darf - dann haben alle etwas davon.

Gruß
Robotnik
Gespeichert
ulmi
Neuling
*
Offline Offline

Beiträge: 9


« Antworten #10 am: 20. März 2010, 15:08:21 »

Also ich hab mich da jetzt mal überall eingelesen. (Dankeschön für die große Hilfe)
Aber ich bräuchte nocheinmal eure Hilfe.

Ich weiß jetzt wie ich auf die DH Parameter (r,d,alpha....) komme. Aber jedesmal wenn ich mir eine solche Tabelle zum Beispiel für einen Puma560 Roboter ansehe weiß ich nicht wie die auf solche Werte kommen??
Also kann mir das vielleicht bitte wer erklären so dass ich das auch verstehe??

danke schon im voraus
mfg ulmi
Gespeichert
Rudi
Neuling
*
Offline Offline

Beiträge: 13


« Antworten #11 am: 20. März 2010, 17:37:31 »

@ulmi sry, hab' deine PM übersehen

Ich fand folgende Vorgehensweise aus einem Vorlesungsskript recht nützlich:

  • Step l: Locate and label the joint axes z0, . . . , zn−1.
  • Step 2: Establish the base frame. Set the origin anywhere on the z0-axis. The x0 and y0 axes are chosen conveniently to form a right-hand frame.

  • For i = 1, . . . , n − 1, perform Steps 3 to 5.

  • Step 3: Locate the origin Oi where the common normal to zi and zi−1 intersects zi. If zi intersects zi−1 locate Oi at this intersection. If zi and zi−1 are parallel, locate Oi in any convenient position along zi.
  • Step 4: Establish xi along the common normal between zi−1 and zi through Oi, or in the direction normal to the zi−1 − zi plane if zi−1 and zi intersect.
  • Step 5: Establish yi to complete a right-hand frame.

  • Step 6: Establish the end-effector frame onxnynzn. Assuming the n-th joint is revolute, set zn = a along the direction zn−1. Establish the origin On conveniently along zn, preferably at the center of the gripper or at the tip of any tool that the manipulator may be carrying. Set yn = s in the direction of the gripper closure and set xn = n as s × a. If the tool is not a simple gripper set xn and yn conveniently to form a
    right-hand frame.
  • Step 7: Create a table of link parameters ai, di, αi, θi.
    ai = distance along xi from Oi to the intersection of the xi and zi−1 axes.
    di = distance along zi−1 from Oi−1 to the intersection of the xi and zi−1 axes. di is variable if joint i is prismatic.
    αi = the angle between zi−1 and zi measured about xi
    θi = the angle between xi−1 and xi measured about zi−1. θi is variable if joint i is revolute.

Für den Rob3i ergibt sich dann folgende Tabelle, wobei die Z-Achsen so orientiert sind, dass die Plus-Taste an der Teachbox mit dem positiven Drehwinkel (Rechte Hand) übereinstimmen.
Außerdem hatte ich die Nullstellung so festgelegt, das der Arm nach oben ausgestreckt ist.
Durch diese Beschränkung sind die Einträge in der Tabelle auch nicht so ganz intuitiv.
Z.b. hat das auch zur Folge, dass die erste Z-Achse nach unten zeigt.
In meinem Fall transformiere ich noch das Basiskoordinatensystem mit einer zusätzlichen Welt-Roboter Transformation - dann zeigt Z auch wieder nach oben...

aidiαiθi
10.0-255.0-90.0°90.0°+q
2200.00.00.0°90.0°+q
3200.00.00.0°q
40.00.0-90.0°-90.0°+q
50.050.00.0°q

Die 4 Lösungen der Inversen Kinematik des Rob3i kann man leicht mit etwas Trigonometrie/Kosinus-Satz direkt berechnen.

Du musst dann nur noch deine berechneten Gelenkwinkel in Encoderwerte umwandeln und kannst dann über die Teachbox bzw. über eine serielle EIA-232 Verbindung und dem Low-Level Protokoll die Gelenkstellungen anfahren.

Die numerische Berechnung der Inversen Kinematik mit Hilfe der Jakobi-Matrix ist bei diesem Model wohl nur sinnvoll, wenn man spezielle Anforderungen hat, wie z.B. das Erkennen von Singularitäten durch die Singulärwertzerlegung der Jakobi-Matrix und deren Vermeidung durch die Einführung einer zusätzlichen Dämpfung (ausgehend von den Singulärwerten) bei der Berechnung der Pseudoinversen...
Gespeichert
ulmi
Neuling
*
Offline Offline

Beiträge: 9


« Antworten #12 am: 22. März 2010, 15:50:34 »

Danke ich glaube jetzt kenn ich mich aus..
Aber was ist das q in deiner Tabelle??

mfg ulmi
Gespeichert
Rudi
Neuling
*
Offline Offline

Beiträge: 13


« Antworten #13 am: 22. März 2010, 16:55:58 »

q ist der jeweilige Gelenkwinkel - also q1=Roboterfuss bis q5=Hand.
Bei einer Gelenkstellung von q=-5° für Achse 1 erhält man dann mit 90.0°+q=85.0°, d.h. deine DH-Matrix für diese Achse muss mit theta=85.0° gebildet werden.
Gespeichert
ulmi
Neuling
*
Offline Offline

Beiträge: 9


« Antworten #14 am: 25. März 2010, 13:07:03 »

Danke für die ganzen Infos....

Nun habe ich das alles versucht, aber bei meinen Libraries für Matlab benötige ich mindestens 6 Manipulatoren damit ich ein Ergebnis bekomme. Wenn ich jetzt beim Letzen (also L6) überall 0 für die Werte einsetze würde das dann funktionieren???

Ich habe das einmal getestet und irgendwelche Gelenkstellungen vorgegeben. Dann habe ich die Vorwärtstransformation berechnet (also die Koordinaten des Endeffektors). Wenn ich jetzt mit diesem die Rückwertstransformation berechne müsste ich doch wieder auf die ursprünglich eingegebenen Gelenkwinkel kommen oder????

Irgendwas funktioniert aber nicht denn er gibt etwas anderes aus.. Kann das an dem 6. Link mit lauter 0 Werten liegen???

mfg ulmi
Gespeichert
Seiten: [1] 2 Nach oben Drucken 
Roboterforum für Industrieroboter Anwender  |  Industrieroboter Helpcenter  |  andere Roboterhersteller  |  Thema: Inverse Kinematik « vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
Prüfe XHTML 1.0 Prüfe CSS