🎯 Inverse Kinematik (FABRIK)
Steuere einen mehrsegmentigen Roboterarm mit inverser Kinematik. Ziehe das Ziel und beobachte, wie FABRIK die Gelenkwinkel iterativ berechnet, um es in Echtzeit zu erreichen.
Über diese Simulation
Diese Simulation steuert einen mehrsegmentigen Roboterarm mittels inverser Kinematik: Statt die Gelenkwinkel von Hand einzustellen, setzt du ein Ziel, und der Löser berechnet die Winkel, die nötig sind, um es zu erreichen. Du kannst zwischen zwei klassischen iterativen Methoden wechseln — FABRIK (Forward And Backward Reaching Inverse Kinematics) und CCD (Cyclic Coordinate Descent). Beide halten feste Segmentlängen ein und wiederholen Durchgänge, bis die Spitze nahe am Ziel landet, was veranschaulicht, wie Roboter eine gewünschte Handposition in Gelenkbewegung umsetzen.
🔬 Was gezeigt wird
Eine kinematische Kette aus 2 bis 6 starren Segmenten, verankert an einer festen Basis. FABRIK wechselt zwischen einem Vorwärtsdurchgang (die Spitze auf das Ziel setzen, dann jedes Gelenk entlang der Kette unter Beibehaltung seiner Länge zurückziehen) und einem Rückwärtsdurchgang (die Wurzel neu verankern, Gelenke nach außen drücken). CCD rotiert stattdessen jedes Gelenk, ausgehend von der Spitze zur Basis, um seine Teilkette auf das Ziel auszurichten. Beide stoppen innerhalb einer Toleranz von 0,5 px oder nach 30 Iterationen.
🎮 Anwendung
Ziehe das rote Fadenkreuz-Ziel überall auf der Zeichenfläche und beobachte, wie der Arm folgt. Der Segmente-Schieberegler legt die Gelenkanzahl fest (2–6), und die Segmentlänge legt jedes Glied fest (50–120 px). Schalte zwischen FABRIK und CCD um, um Löser zu vergleichen, probiere die Voreinstellungen Nach oben greifen, Nach rechts greifen, Gefaltet und S-Kurve aus und aktiviere die Gelenkwinkel-Bögen oder den gestrichelten Erreichbarkeitskreis. Live-Statistiken zeigen Iterationen, Spitzenabstand und Gesamtreichweite.
💡 Wusstest du schon?
FABRIK wurde 2011 von Andreas Aristidou und Joan Lasenby veröffentlicht. Anders als viele Löser verwendet es überhaupt keine Rotationsmatrizen oder Trigonometrie — es arbeitet rein durch das Finden von Punkten auf Linien, was es schnell, stabil und leicht mit Beschränkungen erweiterbar macht, weshalb es in Spielen und Charakteranimation weit verbreitet ist.
Häufig gestellte Fragen
Was ist inverse Kinematik?
Inverse Kinematik ist das Problem, die Gelenkwinkel zu finden, die das Ende einer verbundenen Kette — etwa einen Roboterarm oder die Hand einer Figur — an eine gewünschte Zielposition bringen. Es ist die Umkehrung der Vorwärtskinematik, bei der du die Winkel bereits kennst und einfach berechnest, wo die Spitze landet. Hier löst die Simulation dies zweidimensional für einen Arm mit bis zu sechs Segmenten.
Wie unterscheiden sich FABRIK und CCD?
FABRIK ist geometrisch: Es verschiebt Gelenke entlang gerader Linien, führt einen Vorwärtsdurchgang durch, der die Spitze am Ziel fixiert, und einen Rückwärtsdurchgang, der die Wurzel neu fixiert, wobei jedes Segment seine exakte Länge behält. CCD ist winkelbasiert: Ausgehend von der Spitze zur Basis rotiert es jedes Gelenk, sodass die verbleibende Teilkette direkter auf das Ziel zeigt. FABRIK konvergiert in der Regel in weniger Iterationen und erzeugt glattere Posen.
Was bewirken die Steuerelemente?
Der Segmente-Schieberegler wählt, wie viele Glieder der Arm hat (2 bis 6), und die Segmentlänge legt jedes Glied in Pixeln fest (50 bis 120). Die Löser-Schaltflächen wechseln zwischen FABRIK und CCD, und die vier Voreinstellungen rasten das Ziel auf gängige Posen ein. Kontrollkästchen legen die Gelenkwinkel-Bögen und den gestrichelten Erreichbarkeitskreis ein, der die maximale Reichweite markiert, die Segmente mal Segmentlänge entspricht.
Was passiert, wenn das Ziel außer Reichweite ist?
Wenn das Ziel jenseits des Erreichbarkeitskreises liegt — weiter entfernt als die gesamte Armlänge — kann die Kette es nicht berühren. In diesem Fall streckt sich der Arm vollständig aus und dehnt sich in einer geraden Linie zum Ziel, wobei eine verbleibende Lücke als von null verschiedener Spitzenabstand im Statistik-Panel angezeigt wird. Bewegst du das Ziel zurück in den Kreis, kann der Löser diese Lücke wieder schließen.
Ist das physikalisch akkurat?
Die Geometrie des Gliedersystems ist akkurat: Segmentlängen bleiben erhalten, und die Löser sind originalgetreue Implementierungen der veröffentlichten FABRIK- und CCD-Algorithmen. Es handelt sich jedoch um ein rein kinematisches Modell, das Dynamik wie Masse, Motordrehmoment, Gelenkgeschwindigkeitsgrenzen und Kollisionen ignoriert. Zudem lässt es Gelenke unbeschränkt, während ein echter Roboter jeden Winkel auf einen mechanischen Bereich begrenzen würde.
Häufig gestellte Fragen
Was ist der Unterschied zwischen Vorwärts- und inverser Kinematik?
Die Vorwärtskinematik berechnet die Position des Endeffektors aus einer gegebenen Menge von Gelenkwinkeln — eine direkte Berechnung mittels Transformationsmatrizen. Die inverse Kinematik löst das umgekehrte Problem: Gegeben eine gewünschte Endeffektorposition, finde die Gelenkwinkel. FK hat eine eindeutige Lösung; IK kann viele, eine oder keine Lösung haben.
Warum kann inverse Kinematik mehrere Lösungen haben?
Eine redundante kinematische Kette (mehr Freiheitsgrade als zum Erreichen des Ziels nötig) hat unendlich viele Gelenkkonfigurationen, die den Endeffektor an dieselbe Position bringen. Selbst nicht redundante Arme haben oft zwei Lösungen (Ellbogen oben/Ellbogen unten). Algorithmen wählen zwischen Lösungen anhand zusätzlicher Kriterien wie Minimierung der Gelenkbewegung oder Hindernisvermeidung aus.
Was ist die Jacobi-Matrix bei IK?
Die Jacobi-Matrix ist eine Matrix partieller Ableitungen, die kleine Änderungen der Gelenkwinkel mit kleinen Änderungen der Endeffektorposition und -orientierung in Beziehung setzt. Die Pseudoinverse der Jacobi-Matrix bildet gewünschte Endeffektor-Geschwindigkeiten zurück auf Gelenkgeschwindigkeiten ab und ermöglicht so iterative IK-Löser, die Gelenke schrittweise zum Ziel bewegen.
Was ist FABRIK und warum ist es beliebt?
FABRIK (Forward And Backward Reaching Inverse Kinematics) ist ein geometrischer IK-Algorithmus, der abwechselnd von der Wurzel zum Ziel und vom Ziel zurück zur Wurzel greift und dabei die Position jedes Gelenks entlang der Knochenrichtung anpasst. Er ist einfach zu implementieren, schnell, stabil und handhabt Gelenkgrenzen gut, was ihn in Spielen und Echtzeitanwendungen beliebt macht.
Wie wird IK in der Charakteranimation eingesetzt?
Animatoren geben die gewünschte Position der Hand oder des Fußes der Figur (den Endeffektor) an, und der IK-Löser berechnet automatisch Ellbogen-, Schulter-, Knie- und Hüftwinkel. Das ist weit intuitiver, als für jedes Bild jeden Gelenkwinkel manuell einzustellen. Prozedurale IK erlaubt es Figuren zudem, sich in Echtzeit an das Gelände anzupassen, etwa um Füße präzise auf unebenem Boden zu platzieren.
FABRIK-IK-Löser: Klicke, um ein Ziel zu setzen, und beobachte, wie die Kette es mittels abwechselnder Vorwärts-Rückwärts-Durchgänge erreicht. Drei Modi: Einzeln, Doppelt (Spiegel), Spinne (6 automatisch umkreisende Ketten).
3D · Three.js / WebGL-Renderer · 60 FPS Ziel · läuft vollständig clientseitig, keine Installation nötig