-
-
Erfahrener Benutzer
Fleißiges Mitglied
Inverse Kinematik
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
-
Neuer Benutzer
Öfters hier
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ß
-
Moderator
Robotik Einstein
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.
-
Neuer Benutzer
Öfters hier
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
-
Erfahrener Benutzer
Roboter-Spezialist
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
-
Neuer Benutzer
Öfters hier
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???
-
Erfahrener Benutzer
Roboter-Spezialist
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
-
Neuer Benutzer
Öfters hier
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?
-
Erfahrener Benutzer
Roboter-Spezialist
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
-
Neuer Benutzer
Öfters hier
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ß
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen