This shows you the differences between two versions of the page.
|
vdvac:lab7 [2026/05/14 11:34] anca.morar [Inverse kinematics cu algoritmul Fabrik] |
vdvac:lab7 [2026/05/14 18:22] (current) anca.morar [Inverse kinematics cu algoritmul Fabrik] |
||
|---|---|---|---|
| Line 24: | Line 24: | ||
| * 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ă) | * 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) | * altfel (target-ul poate fi atins) | ||
| - | * se calculează distanța dintre end effector și target $diff = |p_{i+1}- t | | + | * se calculează distanța dintre end effector și target $diff = |p_{n-1} - t |$ |
| + | * cat timp $(diff > prag)$ | ||
| + | * executa iteratia forward | ||
| + | * executa iteratia backward | ||
| + | |||
| + | **Iterațiile forward si backward** | ||
| + | * Mutam end-effectorul la $t$, i.e., $p_{n-1}=t$ | ||
| + | * Pentru fiecare din punctele anterioare $p_i$, $i = n-2 ... 0$: | ||
| + | * Găsește vectorul $(p_{i+1} - p_i)$ și noua poziție $p_i$ ca pozitia relativa a acelei jonctiuni de-a lungul acestui vector | ||
| + | |||
| + | * Acum, rădăcina $p_0$ ar fi deplasata fata de pozitia initiala b | ||
| + | * Seteaza $p_0 = b$ | ||
| + | * Pentru fiecare din urmatoarele puncte $p_i$, $i = 1 .. n-1$: | ||
| + | * Gaseste vectorul $(p_i - p_{i+1})$, si noua pozitie, $p_{i+1}$ ca pozitia relativa a acelei jonctiuni de-a lungul acestui vector | ||
| + | * Actualizeaza noua diferenta $diff = |p_{n-1} - t |$ | ||
| + | |||
| + | |||
| + | |||