Fowrard Kinemetics

gksrudtlr
|2025. 1. 20. 09:57

Kinemetics

  • 정의
    • 물체들의 움직임에 대한 연구 분야
    • 질량(mass), 힘(force)등의 물리적인 요소는 고려하지 않고, 움직임 자체에 대해서만 다룸
    • 컴퓨터 그래픽스에서 여려개의 관절로 이뤄진 다관절체(skeleton)를 움직일 때 사용됨
  • Foward Kinematics
    • $(p,q) = F(\theta_i)$
    • 관절(joint)의 angle을 이용하여 end-effector의 position, orientation을 계산함
    • approach가 명확히 정의되어있으며, 계산도 비교적 간단함
  • Inverse Kinematics
    • $\theta_i = F^{-1}(p,q)$
    • end-effector의 position, orientation을 이용하여 joint의 각도를 구하는것
    • approach가 0개, 1개, 여러개, 무한개 일 수도 있다
  • Dynamics (Kinetics)
    • Kinematics와 대조되는 학문으로, 움직임과 움직임을 만들어낸는 원인(mass, force등)의 관계에 대한 연구 분야

Forward Kinematics

  • 정의
    • 삼각함수를 이용하여 위치를 구할수도 있지만, transformation matrix을 이용할 수도 있음
  • 삼각함수 이용

    • 위 그림의 (x,y)의  좌표는 삼각함수를 이용해 x,y를 구할 수 있다
    • $x_e = l_1\cos\theta_1 + l_2\cos(\theta_1+\theta_2)$
    • $y_e = l_1\sin\theta_1 + l_2sin(\theta_1+\theta_2)$
  • Transformation Matrix이용
    • $\begin{pmatrix} 
      x_e \\ 
      y_e \\ 

      \end{pmatrix} = 
      \begin{pmatrix} 

      \end{pmatrix}
      \begin{pmatrix} 
      0 \\ 
      0 \\ 

      \end{pmatrix}$ 이 T를 구하는 과정이라 생각하면되며, Matrix T를 Forward Kinematics map이라 함
    • $T = (rot\theta_1)(transl_1)(rot\theta_2)(transl_2)
      = \begin{pmatrix} 
      \cos\theta_1 & -\sin\theta_1 & 0 \\
      \sin\theta_1 & \cos\theta_1 & 0 \\
      0 & 0 & 1
      \end{pmatrix}
      \begin{pmatrix}
      1 & 0 & l_1 \\
      0 & 1 & 0 \\
      0 & 0 & 1
      \end{pmatrix}
      \begin{pmatrix}
      \cos\theta_2 & -\sin\theta_2 & 0 \\
      \sin\theta_2 & \cos\theta_2 & 0 \\
      0 & 0 & 1
      \end{pmatrix}\begin{pmatrix}
      1 & 0 & l_2 \\
      0 & 1 & 0 \\
      0 & 0 & 1
      \end{pmatrix}$
  • Forward Kinematics Map
    • Joint Value를 End-Effector의 Position과 Orientation으로 Mapping하는 과정을 말함
    • Matrix T를 구하는 과정이라 생각할 수 있음
    • Forward Kinematics map은 여러개의 Joint Transformation과 Link Transformation이 교차하며 곱해짐
      • Joint Transformation
        • Joint의 Movement를 나타냄
        • 시간에 따라 변하는 움직임(time-varying)
          • 관절의 위치는 시간이 지남에 따라 변함
        • 주로 rotation임
      • Link Transformation
        • Parent에 상대적인 Frame임
        • Static한 움직임(시간에 따라 변화하지 않음)
          • Parent와의 관계는 시간이 지나도 변하지 않음
        • 주로 Translation임
    • 발 끝(End-Effector)의 Frame은 $T(0,0,0,1)^{T}$로 표현할 수 있음
    • $J_0$는 Root가 Global Frame으로부터 얼마만큼 Rotate하고 얼마만큼 Translate했는지를 나타냄
    • Root는 $Translate + Rotate(Rigid)$이기 때문에 6자유도(DOF)를 가짐
    • 각각의 $J_1,L_1,J_2,L_2......$은 3자유도를 갖음

'오늘의 키워드' 카테고리의 다른 글

슬라이딩 벡터  (1) 2025.01.23
Deferred Rendering (정의, 장단점)  (0) 2025.01.21
세마포어  (1) 2025.01.17
IOCP  (0) 2025.01.16
직선과 직선의 교차  (0) 2023.09.18