-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Inverse Kinematik

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    15.12.2007
    Ort
    Heidelberg
    Beiträge
    156

    Inverse Kinematik

    Anzeige

    Hallo Roboterfreunde

    Ich würde mich gerne in nechster Zeit mit dem Thema Inverse Kinematik beschäftigen.Aus diesem Grund wollte ich mal Fragen wer von euch schon Erfahrungen auf diesem Gebiet gemacht hat.Könnt ihr mir vieleicht ein gutes Buch empfehlen , welches das Thema behandelt.Am besten natürlich speziel für Robotik.Auch für Links uns sonstige Tips wäre ich sehr dankbar.Achso eins hätte ich fast vergessen kennt ihr Programme mit denen man paralel zum lesen sein erlerntes mal testen , ausprobieren kann.

    MFG

    Vincent

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    07.07.2008
    Beiträge
    29
    Hallo
    Ich möchte gerne hier nochmal anknüpfen.
    Ich würde mich auch gerne in die Kinematik eines Roboters (vorallem 3-Rad Oniwheels) einarbeiten. Sowohl die vorwärts, als auch die inverse.
    Leider konnte ich da bisher auch wenig darüber finden.
    Wer hat ahnung davon oder kennt gute Bücher?
    Ich hab mir einiges angeschaut von Industrierobotern, aber die sind weitaus koplizierter.

    gruß

  3. #3
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Omnidirektional mit Inverser Kinematik dürfte nicht schwerer sein, als die IK eines Hexabot Beins. Am einfachsten ist der Zugang es sich auf ein Blatt zu malen und dann einfach Gleichungen aufzustellen. Unsere Aufgabenstellungen sind oft einfach genug um mit Sinus und Cosinus gelöst zu werden.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    07.07.2008
    Beiträge
    29
    Hallo
    Also ich hab mich da jetzt mal eingearbeitet und das ganze auch aufgemalt usw.
    Im großen ganzen ist das auch alles recht einfach. Das einzige Problem welches ich noch habe, ist die Berechnung des Winkels bzw der Winkelgeschw. mit der ich mich bewege.
    Wie mache ich das?

    Mein bisheriger Ansatz:

    Winkelgeschw= ((v1+v2+v3)*(1/3)*360°)/Roboterumfang

    So lange der Robot sich um sich selbst dreht klappt das. Wenn ich mich aber gerade aus bewege (v1=-0,5;v2=1;v3=1) müssten sich die einzelnen Radgeschwindigkeiten (vi) gegenseitig aufheben, tun sie aber nicht???

    Kann mir da vll jemand weiter helfen??

    Gruß Jaepen

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    jaepen,

    doch, Du bist schon auf dem richtigen Weg: Das mit der Winkelgeschwindigkeit stimmt aber erst, wenn Du von den allen vi die Durchschnittsgeschwindigkeit abgezogen hast:

    Also die Durchschnittsgeschwindigkeit heisst V:
    V=(1/3)*(v1+v2+v3)

    Damit rechnest Du die reduzierten Geschwindigkeiten vi' aus:
    v1'=v1-V; v2'=v2-V; v3'=v3-V

    Und danach ist dann

    Winkelgeschw = (1/3)(v1'+v2'+v3')*2*pi/Umfang

    Probier's mal !

    Ciao,

    mare_crisium

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    07.07.2008
    Beiträge
    29
    Hallo,
    so ähnlich habe ich mir das auch schon gedacht, aber:

    Angenommen der Robo dreht sich um die eigene Achse und jeder Rad hat die Geschwindigkeit v=1.
    Dann ergibt sich für die Durchschnittsgeschw. V=1.
    Demnach sind dann die Geschwindigkeiten v1'= v2' =v3' = 0
    und somit verschwindet meine Winkelgeschwindigkeit....
    ....obwohl ich mich um die eigene Achse drehe.??????

    Oder mache ich noch was falsch???

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    Guten Abend, Jaepen,

    nee, da hast Du einen Denkfehler gemacht: Du darfst nicht vergessen, dass Du ja Geschwindigkeitsvektoren addierst um den Vektor der Durchschnittsgeschwindigkeit zu berechnen! Also:
    Wenn alle drei Räder mit derselben Drehzahl 1 angetrieben werden, dann ist die Durchschnittsgeschwindigkeit:
    Vx=(1/3)(v1x+v2x+v3x)=(1/3)(-1+(1/2)+(1/2))=0
    Vy=(1/3)(v1y+v2y+v3y)=(1/3)(0-(wurzel(3)/2)+(wurzel(3)/2))=0
    Also ist V=0, und Dein Robby dreht wunderschöne Pirouetten .

    Hast Du die Rechnung gesehen, die ich im Thread "omnidirektionaler Antrieb (kreise Fahren)" eingestellt habe? Da erkläre ich ein paar dieser Vektorgeschichten.

    Ciao,

    mare_crisium

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    07.07.2008
    Beiträge
    29
    Hi
    Vielen dank für die Antwort.
    Ich hab das jetzt mal hin und her exerziert.
    Im Prinzip ist das ja nicht anderes als die Gefahrene Strecke zu messen, mit diesen Daten eine "vorwärtskinematik" zu berechnen, die beiden Ergebnisse zu subtrahieren und im Rest ist die Drehung um die eigene Achse enthalten??

    richtig?
    geht das nicht einfacher?

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    Guten Morgen, Jaepen,

    ja, so kann man das ausdrücken. Ich hätte gesagt: Zuerst betrachtet man das Fahrzeug von oben und von sehr weit weg, so dass es nur als ein Punkt erscheint. Die Bewegungen des Punktes gegenüber der Umgebung lässt sich mit der Durchschnittsgeschwindigkeit beschreiben.
    Danach versetzt man sich auf das Fahrzeug, und betrachtet, wie sich seine Orientierung gegenüber der Umgebung ändert. Mathematisch erreicht man das, indem man die Durchschnittsgeschwindigkeit subtrahiert.
    Kurz gesagt: Man betrachtet man das Fahrzeug zuerst als ruhender, und dann als mitbewegter Beobachter.

    Ich glaube nicht, das es einfacher geht: Ich bastele schon 'ne ganze Weile an einer gut verständlichen mathematischen Beschreibung herum, aber habe noch nichts Gutes hingekriegt.

    Schönen Sonntag,

    mare_crisium

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    07.07.2008
    Beiträge
    29
    Guten Morgen
    Ich hab das jetzt mal in C Code umgestezt und doch noch einen kleinen Fehler/Problem entdeckt.

    Ich bewege mich gerade aus, mit v=(-0,5;1;1)
    dann ist v1=0,5;0
    v2=0,5;-0,866
    v3=0,5;0,866

    dann bekomme ich V=(0,5;0)

    weiter ist dann

    v1'=(0;0) v2'=(0;-0,866) v3'=(0;0,866)

    so, jetzt bilde ich eigentlich wieder mit meinen sin und cos Funktionen die Beträge der Vektoren. Wenn ich das aber mache bekomm ich dann v2'=0,75 und v3'=0,75 -> und sie heben sich nicht mehr auf.
    ?????seltsam, aber die Beträge muss ich doch bilden sonst klappt es doch bei v=(1,1,1) nicht????

    gruß

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •