Laboratorul 7

Inverse kinematics cu algoritmul Fabrik

Forward And Backward Reaching Inverse Kinematics (FABRIK)

  • abordare iterativa care rezolvă problema IK
  • determină parametrii articulatiilor astfel incat un end effector al structurii articulate sa ajunga intr-o pozitie dorita (target)

Structura articulata

  • Legăturile reprezintă obiectele rigide din care este alcătuită structura, ex. oasele.
  • Punctele de joncțiune reprezintă articulațiile prin care sunt conectate obiectele rigide
  • Structura ierarhică se reprezintă printr-un arbore, în care:
    • nodurile reprezintă legăturile
    • 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

  • 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
vdvac/lab7.txt · Last modified: 2026/05/14 11:35 by anca.morar
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0