Kinematics를 공부하기위해 먼저 manipulator의 운동에 대해 논해보자.

먼저 manipulator 각 part에 대한 명칭이다. 고정축을 base, 중간 직선부를 Link (사람 팔의 뼈대), Link와 Link를 연결하는 Joint (사람 팔의 관절), 말단을 End-effector (사람 팔의 손)라 한다. manipulator의 동작은 사람 팔의 동작 매커니즘과 같다. 손으로 물건을 집는 동작을 수행할때 팔의 뼈대 길이는 고정되어있고 오롯이 관절의 회전만으로 손의 위치가 결정된다. manipulator도 마찬가지로 Link 길이는 고정되어있고 Joint의 회전각도만으로 End-effector의 방위를 결정한다.
실질적인 작업을 수행하는것은 End-effector이므로 Kinematics는 End-effector의 위치와 방위를 구하는것에 목표를 둔다.
회전행렬 (Rotation Matrix)

반지름이 1인 단위원을 생각해보자. theta만큼 회전시키는 회전행렬 R과의 곱을 아래와같이 나타낼수있다. (R의 bold와 밑줄은 R이 '행렬'임을 강조하기 위함..)

이때 회전행렬은 선형성을 갖고있어 Superposition이 가능하다. (theta을 45도만큼 돌린후 45도를 추가로 돌린 방위나, 45+45=90도를 돌린 방위가 같음을 생각해보자). 위의 행렬계산을 Superposition 이전으로 분리해보면

와 같이 분리된다. 이때 위 식에서 R[1 0] = [cosθ sinθ], R[0 1]=[-sinθ cosθ]를 대입하면

이렇게 회전행렬 R을 구할 수 있다. 이 경우는 회전축이 z+축인 2D 회전행렬이다. 그럼 3차원 회전행렬은? → 똑같이. 이번엔 단위 구를 이용해 구해보자.

Rotation Axis에 따라 Rotation Matrix가 결정된다. 일단 x축을 회전축으로 하는 Rotation Matrix를 구해보자

그림이 복잡한데 x축을 회전축으로 각 점 (1,0,0), (0,1,0), (0,0,1)을 theta만큼 회전시킨 점들이다. 위에 2차원에서 구했던것처럼 해보자.

3차원에서도 선형성을 가지므로 superposition 특성을 활용하자. 회전축이 x이므로 행렬에 x첨자를 표기해 구분해준다. 윗 단위구 그림에서 Rx(1 0 0)은 그대로 제자리에 있는 (1 0 0)이다. Rx(0 1 0)=(0 cosθ sinθ ), Rx(0 0 1)=(0 -sinθ cosθ)이므로 정리하면

이렇게 3차원 회전행렬 Rx를 구할 수 있다.
같은방법으로 단위구를 그려 Ry, Rz또한 유도할수있다. 귀찮으니 결과만 남긴다



로봇얘기하더니 왜 갑자기 회전행렬? → 위에서 설명했듯 로봇팔은 각 joint의 회전만으로 말단의 위치를 결정하는데, 문제는 Joint1의 회전에 따라 Joint2의 좌표계가 결정된다는것이다. 자유도가 커질수록 좌표계의 회전으로 인한 계산은 매우 복잡해진다. 이를 계산하기위해 각 Link의 동차변환행렬(Homogeneous Transformation Matrix, HTM)을 구해 베이스~말단까지의 HTM을 곱하여 말단의 위치를 구하는 방식을 사용하는데 이를 정기구학(Forward Kinematics)이라 한다. 그리고 회전행렬은 4x4크기의 동차변환행렬의 일부를 구성하는 요소이기에 회전행렬 먼저 논할 필요가 있다.
'🔧 Mechanical Engineering > Robotics🐊' 카테고리의 다른 글
| (Robotics) 역기구학 (Inverse Kinematics) (0) | 2025.08.24 |
|---|---|
| (Robotics) 정기구학 (Forward Kinematics) - 연습 (0) | 2025.08.16 |
| (Robotics) 정기구학 (Forward Kinematics)-(1) (0) | 2025.08.11 |
| (Robotics) DH Parameter (0) | 2025.08.10 |
| (Robotics) 동차변환행렬 (Homogeneous Transformation Matrix) (0) | 2025.08.08 |