🦾 Roboterarm-Kinematik — Vorwärts- & Inverse IK
Klicken Sie irgendwohin, um den Endeffektor eines 3-Gelenk-Roboterarms per Jacobi-Transponierte inverse Kinematik zu bewegen. Behandelt Singularitäten und Gelenkgrenzen in Echtzeit.
Über diese Simulation
Diese Seite modelliert einen ebenen 3-Gelenk-Roboterarm und löst live die inverse Kinematik, während Sie klicken: In jedem Frame läuft die Jacobi-Transponierte-Methode, die die Gelenkwinkel θ₁, θ₂, θ₃ so anpasst, dass der Endeffektor des Greifers auf Ihren Zielpunkt zusteuert. Die Vorwärtskinematik baut die Position jedes Gelenks aus kumulativen Gliedrotationen und einer festen Gliedlänge auf, während ein Dämpfungsterm verhindert, dass der Löser in der Nähe singulärer, voll gestreckter Konfigurationen explodiert. Gelenkgrenzen von ±150° werden bei jeder Iteration durchgesetzt, sodass manche Ziele nahe der Arbeitsraumgrenze schlicht unerreichbar sind.
🔬 Was es zeigt
Ein 3-Glied-Arm, der ein angeklicktes Ziel mittels Jacobi-Transponierte inverser Kinematik verfolgt, mit Live-Anzeige der Gelenkwinkel, des Positionsfehlers und der Iterationszahl, sowie einem gestrichelten Kreis, der den äußeren Rand des erreichbaren Arbeitsraums markiert.
🎮 Bedienung
Klicken oder ziehen Sie irgendwohin, um ein Ziel zu setzen. Der α-Regler (0,05–2,0) legt die IK-Schrittweite fest, der λ-Regler (0,0–1,0) legt die Singularitätsdämpfung fest, und der Gliedlängen-Regler (60–160px) skaliert alle drei gleich langen Glieder gleichzeitig. Darunter befinden sich die Schaltflächen Pause, Zurücksetzen und Info.
💡 Wussten Sie schon?
Die Jacobi-Transponierte-Methode benötigt keine Matrixinversion, kann also numerisch nie explodieren — deshalb ist sie ein Favorit in Echtzeit-Spiele- und Charakteranimations-Rigs, nicht nur in der Industrierobotik.
Häufig gestellte Fragen
Was ist Vorwärtskinematik in der Robotik?
Die Vorwärtskinematik berechnet die Position des Endeffektors aus bekannten Gelenkwinkeln. Hier wird die Position jedes Gelenks aufgebaut, indem die Rotationen θ₁, θ₂, θ₃ akkumuliert und eine feste Gliedlänge entlang jeder resultierenden Richtung fortgeschritten wird, kettenartig von der Basis nach außen.
Warum ist inverse Kinematik schwieriger als Vorwärtskinematik?
Die Vorwärtskinematik hat für jeden Satz von Gelenkwinkeln genau eine Antwort. Die inverse Kinematik arbeitet rückwärts von einer Zielposition aus, und diese Abbildung kann viele gültige Lösungen haben, gar keine, falls der Punkt außerhalb des Arbeitsraums liegt, oder in der Nähe singulärer Armposen instabil werden.
Wie bewegt die Jacobi-Transponierte-Methode den Arm?
In jedem Frame misst der Löser den Fehler zwischen Greifer und Ziel, erstellt eine Jacobi-Matrix, die Gelenkbewegung mit Endeffektor-Bewegung verknüpft, und verschiebt die Gelenkwinkel um einen Schritt proportional zur Jacobi-Transponierten multipliziert mit diesem Fehler, wiederholt dies, bis der Fehler winzig ist oder eine Iterationsobergrenze pro Frame erreicht wird.
Was passiert in der Nähe einer Singularität?
Wenn der Arm vollständig gestreckt oder auf sich selbst zurückgefaltet ist, verliert die Jacobi-Matrix an Rang, und gewöhnliche Schritte würden unmöglich große Gelenkgeschwindigkeiten erfordern. Ein Dämpfungsterm, skaliert mit λ, verkleinert die effektive Schrittweite in diesen Posen, sodass der Arm sanft langsamer wird, statt zu zittern.
Warum kann der Arm meinen Klick nicht immer erreichen?
Zwei Grenzen gelten: die äußere Arbeitsraumgrenze, ein Kreis mit Radius gleich der Summe der drei Gliedlängen (Klicks jenseits davon werden nach innen geklemmt), und die ±150°-Gelenkgrenzen, die jeden Winkel nach jeder Iteration begrenzen und auch einige innere Punkte unerreichbar machen können.
Klicken Sie irgendwohin, um den Endeffektor eines 3-Gelenk-Roboterarms per Jacobi-Transponierte inverse Kinematik zu bewegen. Behandelt Singularitäten und Gelenkgrenzen in Echtzeit.
3D · Three.js/WebGL-Renderer · 60 FPS Ziel · läuft vollständig clientseitig, keine Installation