This shows you the differences between two versions of the page.
|
vdvac:lab7 [2026/05/14 11:20] anca.morar [Inverse kinematics cu algoritmul Fabrik] |
vdvac:lab7 [2026/05/14 11:35] (current) anca.morar [Inverse kinematics cu algoritmul Fabrik] |
||
|---|---|---|---|
| Line 5: | Line 5: | ||
| **Forward And Backward Reaching Inverse Kinematics (FABRIK)** | **Forward And Backward Reaching Inverse Kinematics (FABRIK)** | ||
| * abordare iterativa care rezolvă problema IK | * abordare iterativa care rezolvă problema IK | ||
| - | * determină parametrii articulatiilor astfel incat ultimul punct al structurii articulate sa ajunga intr-o pozitie dorita (target) | + | * determină parametrii articulatiilor astfel incat un end effector al structurii articulate sa ajunga intr-o pozitie dorita (target) |
| **Structura articulata** | **Structura articulata** | ||
| Line 13: | Line 13: | ||
| * nodurile reprezintă legăturile | * nodurile reprezintă legăturile | ||
| * arcele reprezintă joncțiunile | * arcele reprezintă joncțiunile | ||
| + | * Lanț = secvență de legături și joncțiuni | ||
| + | * End effector = joncțiune fără copii (capătul unui nod frunză) | ||
| - | + | **Algoritm** | |
| - | **Dezavantajele metodei** | + | * Date de intrare: |
| - | * | + | * pozițiile joncțiunilor $p_i$ cu $i = 0 .. n-1$ |
| + | * poziția dorită (target) $t$ | ||
| + | * distanțele dintre fiecare două joncțiuni (lungimea fiecărei legături): $d_i = |p_{i+1}-p_i|$ cu $i = 0 .. n-2$ | ||
| + | * dacă $|p_0 - t | > d_0 + d_1 + ... + d_{n-2}$ (target-ul nu poate fi atins) atunci | ||
| + | * se găsește vectorul $(t - p_0)$ și se determină poziția relativă a fiecărei joncțiuni de-a lungul vectorului (se întinde întreg lanțul în direcția punctului țintă) | ||
| + | * altfel (target-ul poate fi atins) | ||
| + | * se calculează distanța dintre end effector și target $diff = |p_{n-1} - t |$ | ||
| + | * cat timp ($diff > prag) | ||
| + | * executa iteratia forward | ||
| + | * executa iteratia backward | ||