9.43 회전과 병진의 동차 변환 행렬 결합
1. 결합의 필요성
강체 운동은 회전과 병진의 두 성분으로 구성된다. 두 연산은 각각 SO(3)과 \mathbb{R}^3의 원소로 표현되지만, 실제 강체 운동에서는 이들이 함께 작용한다. 동차 변환 행렬의 구조는 이 두 성분을 하나의 4 \times 4 행렬 곱으로 통합하여, 합성과 역변환이 행렬 대수로 자연스럽게 수행되도록 한다.
2. 회전만 포함하는 동차 변환
회전 \mathbf{R}만 수행하고 병진이 없는 경우, 동차 변환 행렬은
\mathbf{T}_{\text{rot}}(\mathbf{R}) = \begin{bmatrix}\mathbf{R} & \mathbf{0} \\ \mathbf{0}^T & 1\end{bmatrix}
이다. 이 변환은 원점을 고정하면서 공간을 회전시킨다.
3. 병진만 포함하는 동차 변환
병진 \mathbf{t}만 수행하고 회전이 없는 경우, 동차 변환 행렬은
\mathbf{T}_{\text{trans}}(\mathbf{t}) = \begin{bmatrix}\mathbf{I}_3 & \mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix}
이다. 이 변환은 각 점을 방향 \mathbf{t}로 이동시킨다.
4. 회전과 병진의 결합: 두 가지 해석
4.1 먼저 회전, 나중 병진 (R-then-T)
회전을 먼저 수행한 후 병진을 수행하는 해석은 다음의 합성으로 표현된다.
\mathbf{T} = \mathbf{T}_{\text{trans}}(\mathbf{t})\mathbf{T}_{\text{rot}}(\mathbf{R}) = \begin{bmatrix}\mathbf{I}_3 & \mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix}\begin{bmatrix}\mathbf{R} & \mathbf{0} \\ \mathbf{0}^T & 1\end{bmatrix} = \begin{bmatrix}\mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix}
여기서 벡터 곱 순서 규칙에 따라 첫 번째로 수행되는 변환(회전)이 가장 오른쪽에 위치한다. 결과는 표준 동차 변환 행렬의 형태이다.
점에 대한 효과는
\mathbf{p}' = \mathbf{R}\mathbf{p} + \mathbf{t}
이다. 즉, 먼저 점을 회전시키고 그 결과에 \mathbf{t}를 더한다.
4.2 먼저 병진, 나중 회전 (T-then-R)
병진을 먼저 수행한 후 회전을 수행하는 해석은 다음과 같다.
\mathbf{T}' = \mathbf{T}_{\text{rot}}(\mathbf{R})\mathbf{T}_{\text{trans}}(\mathbf{t}) = \begin{bmatrix}\mathbf{R} & \mathbf{0} \\ \mathbf{0}^T & 1\end{bmatrix}\begin{bmatrix}\mathbf{I}_3 & \mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix} = \begin{bmatrix}\mathbf{R} & \mathbf{R}\mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix}
점에 대한 효과는
\mathbf{p}' = \mathbf{R}(\mathbf{p} + \mathbf{t}) = \mathbf{R}\mathbf{p} + \mathbf{R}\mathbf{t}
이다. 병진 부분이 \mathbf{R}\mathbf{t}로 변환되어 나타난다.
4.3 두 해석의 비교
두 결과 행렬을 비교하면
- R-then-T: 병진 부분 \mathbf{t}
- T-then-R: 병진 부분 \mathbf{R}\mathbf{t}
두 해석은 다른 행렬을 산출한다. 회전과 병진은 가환하지 않으므로 적용 순서가 결과에 영향을 준다.
4.4 표준 관례
로봇 공학에서는 “먼저 회전, 나중 병진” 순서가 표준으로 채택된다. 이 관례에서 동차 변환 행렬의 우상단 블록이 바로 병진 벡터 \mathbf{t}와 같다. 이는 블록 구조를 직관적으로 만들고 병진 성분을 쉽게 추출할 수 있게 한다.
5. 병진의 기준 좌표계
병진 벡터가 어느 좌표계에서 표현되는지에 따라 결합 방식이 달라진다.
5.1 월드 좌표계에서의 병진
\mathbf{t}가 월드 좌표계(공간 고정 좌표계)에서 주어진 경우, 표준 형태 \mathbf{T} = \begin{bmatrix}\mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix}이 자연스럽게 적용된다.
5.2 본체 좌표계에서의 병진
\mathbf{t}_{\text{body}}가 본체 좌표계(강체에 고정된 좌표계)에서 주어진 경우, 월드 좌표계에서의 병진은 \mathbf{R}\mathbf{t}_{\text{body}}이다. 이는 본체 좌표계의 방향이 회전에 의해 변환되기 때문이다. 이 경우의 동차 변환 행렬은
\mathbf{T} = \begin{bmatrix}\mathbf{R} & \mathbf{R}\mathbf{t}_{\text{body}} \\ \mathbf{0}^T & 1\end{bmatrix}
이다.
6. 결합의 기하학적 해석
6.1 좌표계 변환으로서의 해석
동차 변환 행렬 \mathbf{T}_{A,B}는 좌표계 \{A\}에서 \{B\}로의 변환을 나타낸다. 이 행렬의 열벡터 해석은 다음과 같다.
- 좌상단 3 \times 3 블록의 열벡터: 좌표계 \{B\}의 기저 벡터를 \{A\}에서 표현한 것
- 우상단 3 \times 1 블록: 좌표계 \{B\}의 원점을 \{A\}에서 표현한 위치
따라서 회전 부분과 병진 부분이 함께 새 좌표계의 완전한 기술을 제공한다.
6.2 강체 운동으로서의 해석
동차 변환 행렬을 강체의 운동으로 해석하면, 회전 부분은 강체가 어떻게 방향을 바꾸는지를, 병진 부분은 강체의 질량 중심(또는 기준점)이 어디로 이동하는지를 나타낸다.
7. 결합 변환의 합성
여러 단계의 회전-병진 결합 변환을 합성할 때, 각 단계의 동차 변환 행렬을 차례로 곱한다. 예를 들어
\mathbf{T} = \mathbf{T}_3\mathbf{T}_2\mathbf{T}_1
의 결합 변환은 단계별로 다음과 같이 계산된다.
\mathbf{T}_2\mathbf{T}_1 = \begin{bmatrix}\mathbf{R}_2\mathbf{R}_1 & \mathbf{R}_2\mathbf{t}_1 + \mathbf{t}_2 \\ \mathbf{0}^T & 1\end{bmatrix}
\mathbf{T}_3(\mathbf{T}_2\mathbf{T}_1) = \begin{bmatrix}\mathbf{R}_3\mathbf{R}_2\mathbf{R}_1 & \mathbf{R}_3(\mathbf{R}_2\mathbf{t}_1 + \mathbf{t}_2) + \mathbf{t}_3 \\ \mathbf{0}^T & 1\end{bmatrix}
회전 부분은 단순히 행렬 곱 \mathbf{R}_3\mathbf{R}_2\mathbf{R}_1이고, 병진 부분은 이전 병진을 현재 회전으로 변환하여 누적한다.
8. 결합 변환의 역
회전과 병진이 결합된 동차 변환의 역은 다음과 같다.
\mathbf{T}^{-1} = \begin{bmatrix}\mathbf{R}^T & -\mathbf{R}^T\mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix}
이 공식은 다음의 두 단계로 해석할 수 있다.
- 회전의 역: \mathbf{R}^{-1} = \mathbf{R}^T
- 병진의 역: -\mathbf{R}^T\mathbf{t}
병진의 역이 단순히 -\mathbf{t}가 아닌 이유는, 원래의 변환이 “회전 후 병진“이므로 역변환은 “병진의 역 후 회전의 역“이 되어야 한다. 이를 블록 형태로 전개하면 위의 공식이 얻어진다.
\mathbf{T}^{-1} = \mathbf{T}_{\text{rot}}(\mathbf{R}^T)\mathbf{T}_{\text{trans}}(-\mathbf{t})
9. 구체적 예시
9.1 도 회전 후 병진
z축 주위 90도 회전 후 (1, 2, 3) 만큼 병진하는 변환의 동차 변환 행렬은
\mathbf{T} = \begin{bmatrix} 0 & -1 & 0 & 1 \\ 1 & 0 & 0 & 2 \\ 0 & 0 & 1 & 3 \\ 0 & 0 & 0 & 1 \end{bmatrix}
이다. 점 (a, b, c, 1)^T를 이 변환으로 처리하면
\mathbf{T}\begin{bmatrix}a \\ b \\ c \\ 1\end{bmatrix} = \begin{bmatrix}-b + 1 \\ a + 2 \\ c + 3 \\ 1\end{bmatrix}
이 얻어진다. 즉, 먼저 (a, b, c)가 (-b, a, c)로 회전되고, 다음 (1, 2, 3)이 더해진다.
10. 반복 적용과 이동 축 해석
매니퓰레이터의 순기구학 계산에서는 결합 동차 변환의 반복적 합성이 본질적이다. 각 링크의 상대 변환을 \mathbf{T}_{i-1, i}로 놓으면 베이스에서 말단 장치까지의 전체 변환은
\mathbf{T}_{0, n} = \mathbf{T}_{0, 1}\mathbf{T}_{1, 2}\cdots\mathbf{T}_{n-1, n}
이다. 각 관절의 회전과 이전 링크에 대한 상대 병진이 결합된 \mathbf{T}_{i-1, i} 행렬이 연쇄 곱으로 결합되어, 단일한 4 \times 4 행렬로 최종 자세와 위치를 얻는다.
11. 로봇 공학에서의 활용
11.1 링크 변환
DH 규약에 의해 기술되는 각 링크의 상대 변환이 회전과 병진의 결합 형태를 가진다. 표준 DH는 4개의 기본 변환(두 번의 회전과 두 번의 병진)의 결합으로 구성되며, 이들의 합성이 단일한 4 \times 4 행렬로 기술된다.
11.2 외부 캘리브레이션
카메라-로봇, LiDAR-카메라 등의 외부 캘리브레이션 결과는 두 좌표계 사이의 회전-병진 결합 변환이다. 캘리브레이션 알고리즘의 출력은 SE(3)의 원소이며, 동차 변환 행렬로 저장된다.
11.3 SLAM 포즈 그래프
SLAM의 포즈 그래프에서 각 노드가 로봇의 누적 자세(회전과 위치)를 나타내고, 각 에지가 상대 변환(회전-병진 결합)을 나타낸다. 최적화의 변수가 모두 SE(3)의 원소이다.
11.4 로봇 자세 제어
매니퓰레이터의 목표 자세가 회전과 병진의 결합된 SE(3) 원소로 지정되고, 자세 제어기가 이를 관절 공간의 명령으로 변환한다.
12. 참고 문헌
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Craig, J. J. (2018). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
- Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
- Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.
version: 1.0