Strona główna Robotyka Kinematyka odwrotna (FABRIK)

🎯 Kinematyka odwrotna (FABRIK)

Solver IK FABRIK: kliknij, aby ustawić cel, i patrz, jak łańcuch go osiąga naprzemiennymi przebiegami w przód i w tył. Trzy tryby: pojedynczy, podwójny (lustrzany), pająk (6 samoorbitujących łańcuchów).

Robotyka2DŁatwy60 FPS
inverse-kinematics ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O tej symulacji

Ta symulacja steruje wieloczłonowym ramieniem robota za pomocą kinematyki odwrotnej: zamiast ustawiać kąty przegubów ręcznie, ustawiasz cel, a solver oblicza kąty potrzebne, by go osiągnąć. Możesz przełączać się między dwiema klasycznymi metodami iteracyjnymi — FABRIK (Forward And Backward Reaching Inverse Kinematics) i CCD (Cyclic Coordinate Descent). Obie zachowują stałe długości segmentów i powtarzają przebiegi, aż końcówka wyląduje blisko celu, ilustrując, jak roboty przekładają pożądaną pozycję dłoni na ruch przegubów.

🔬 Co pokazuje

Łańcuch kinematyczny od 2 do 6 sztywnych segmentów zakotwiczony w stałej podstawie. FABRIK przeplata przebieg w przód (ustawienie końcówki na celu, a następnie ściągnięcie każdego przegubu wzdłuż łańcucha przy zachowaniu jego długości) z przebiegiem wstecz (ponowne zakotwiczenie podstawy, wypchnięcie przegubów na zewnątrz). CCD zamiast tego obraca każdy przegub, pracując od końcówki do podstawy, by wyrównać swój pod-łańcuch z celem. Oba zatrzymują się w tolerancji 0,5 px lub po 30 iteracjach.

🎮 Jak korzystać

Przeciągnij czerwony celownik gdziekolwiek na płótnie i obserwuj, jak podąża za nim ramię. Suwak Segments ustala liczbę przegubów (2–6), a Segment length długość każdego ogniwa (50–120 px). Przełącz FABRIK lub CCD, aby porównać solvery, wypróbuj presety Reach Up, Reach Right, Folded i S-Curve oraz włącz łuki kątów przegubów lub przerywany okrąg zasięgu. Statystyki na żywo pokazują iteracje, odległość końcówki i całkowity zasięg.

💡 Czy wiesz, że?

FABRIK zostało opublikowane przez Andreasa Aristidou i Joan Lasenby w 2011 roku. W przeciwieństwie do wielu solverów nie używa w ogóle macierzy rotacji ani trygonometrii — działa wyłącznie przez znajdowanie punktów na liniach, co czyni je szybkim, stabilnym i łatwym do rozszerzenia o ograniczenia, dlatego jest szeroko stosowane w grach i animacji postaci.

Najczęściej zadawane pytania

Czym jest kinematyka odwrotna?

Kinematyka odwrotna to problem znalezienia kątów przegubów, które ustawiają koniec połączonego łańcucha — na przykład ramienia robota lub dłoni postaci — w pożądanej pozycji docelowej. To odwrotność kinematyki prostej, gdzie kąty są już znane i po prostu obliczamy, gdzie znajdzie się końcówka. Tutaj symulacja rozwiązuje to w dwóch wymiarach dla ramienia liczącego do sześciu segmentów.

Czym różnią się FABRIK i CCD?

FABRIK jest geometryczny: przesuwa przeguby wzdłuż linii prostych, wykonując przebieg w przód, który przypina końcówkę do celu, i przebieg wstecz, który przypina z powrotem podstawę, zachowując dokładną długość każdego segmentu. CCD jest kątowy: pracując od końcówki do podstawy, obraca każdy przegub, tak by pozostały pod-łańcuch wskazywał bardziej bezpośrednio na cel. FABRIK zwykle zbiega się w mniejszej liczbie iteracji i daje płynniejsze pozy.

Co robią elementy sterujące?

Suwak Segments wybiera, ile ogniw ma ramię (2 do 6), a Segment length ustala długość każdego ogniwa w pikselach (50 do 120). Przyciski solvera przełączają między FABRIK i CCD, a cztery presety ustawiają cel w typowych pozach. Pola wyboru nakładają łuki kątów przegubów oraz przerywany okrąg zasięgu, który oznacza maksymalny zasięg równy liczbie segmentów razy długość segmentu.

Co się dzieje, gdy cel jest poza zasięgiem?

Jeśli cel leży poza okręgiem zasięgu — dalej niż całkowita długość ramienia — łańcuch nie może go dotknąć. W takim przypadku ramię w pełni się rozciąga i wyciąga w linii prostej w stronę celu, pozostawiając resztkową lukę pokazaną jako niezerowa odległość końcówki w panelu statystyk. Przesunięcie celu z powrotem do wnętrza okręgu pozwala solverowi ponownie zamknąć tę lukę.

Czy to jest fizycznie dokładne?

Geometria połączenia jest dokładna: długości segmentów są zachowane, a solvery są wiernymi implementacjami opublikowanych algorytmów FABRIK i CCD. Jest to jednak czysto kinematyczny model, więc pomija dynamikę, taką jak masa, moment obrotowy silnika, ograniczenia prędkości przegubów i kolizje. Pozostawia też przeguby bez ograniczeń, podczas gdy prawdziwy robot ograniczałby każdy kąt do zakresu mechanicznego.

Podobne symulacje