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 \\
1
\end{pmatrix} =
\begin{pmatrix}
T
\end{pmatrix}
\begin{pmatrix}
0 \\
0 \\
1
\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자유도를 갖음