6.65 2차원 동차 변환 행렬
1. 도입
2차원 평면에서의 강체 변환은 모바일 로봇의 위치와 자세, 조감도 평면 위에서의 운동, 평면 매니퓰레이터의 기구학, 그리고 컴퓨터 시각의 영상 평면 변환 등에서 빈번하게 등장한다. 평면 위의 회전과 병진을 통합적으로 표현하기 위해서는 동차 좌표계가 도입되며, 이를 통해 2차원 강체 변환은 단일 3 \times 3 행렬로 기술된다. 이 절에서는 2차원 동차 변환 행렬의 정의와 구조, 회전·병진 성분의 분해, 변환 행렬의 군 구조 SE(2), 변환의 합성과 역변환, 점·자유 벡터의 변환 규칙, 그리고 모바일 로봇과 평면 매니퓰레이터에서의 활용을 다룬다.
2. 차원 강체 변환의 정의
2차원 평면 위의 강체 변환은 거리와 각을 보존하는 사상이며, 해석적으로 다음과 같이 표현된다.
\mathbf{p}' = R(\theta) \mathbf{p} + \mathbf{t}
여기서 \mathbf{p}, \mathbf{p}' \in \mathbb{R}^2이고, R(\theta) \in SO(2)는 평면 회전 행렬, \mathbf{t} \in \mathbb{R}^2는 병진 벡터이다. 평면 회전 행렬은 다음과 같이 명시적으로 표현된다.
R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix}
이는 원점을 중심으로 반시계 방향으로 각 \theta만큼 회전하는 사상이다. 평면 강체 변환은 회전 각 \theta와 병진 벡터의 두 성분 (t_x, t_y)의 총 세 자유도를 가진다.
3. 차원 동차 변환 행렬의 형태
2차원 점 \mathbf{p} = (x, y)의 동차 좌표 표현은 \tilde{\mathbf{p}} = (x, y, 1)이며, 이를 사용하면 강체 변환이 단일 3 \times 3 행렬 곱으로 표현된다.
T = \begin{bmatrix} R(\theta) & \mathbf{t} \\ \mathbf{0}^\top & 1 \end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta & t_x \\ \sin\theta & \cos\theta & t_y \\ 0 & 0 & 1 \end{bmatrix}
이 행렬을 점의 동차 좌표에 곱하면
\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta & t_x \\ \sin\theta & \cos\theta & t_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = \begin{bmatrix} x \cos\theta - y \sin\theta + t_x \\ x \sin\theta + y \cos\theta + t_y \\ 1 \end{bmatrix}
가 얻어진다. 이는 회전과 병진이 모두 동시에 적용된 결과이다.
4. 자유 벡터의 변환
자유 벡터는 마지막 동차 성분을 영으로 두어 표현한다. \mathbf{v} = (v_x, v_y)의 동차 표현 (v_x, v_y, 0)에 동일한 행렬 T를 곱하면
\begin{bmatrix} v_x' \\ v_y' \\ 0 \end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta & t_x \\ \sin\theta & \cos\theta & t_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} v_x \\ v_y \\ 0 \end{bmatrix} = \begin{bmatrix} v_x \cos\theta - v_y \sin\theta \\ v_x \sin\theta + v_y \cos\theta \\ 0 \end{bmatrix}
이며, 병진 성분이 자동으로 소거된다. 이는 자유 벡터가 위치에 무관한 양임을 형식적으로 반영하는 결과이다.
5. 특수 유클리드 군 SE(2)
2차원 동차 변환 행렬의 집합은 행렬 곱셈에 대해 군의 구조를 가지며, 이를 평면 특수 유클리드 군이라 하고 SE(2)로 표기한다.
SE(2) = \left\{ \begin{bmatrix} R & \mathbf{t} \\ \mathbf{0}^\top & 1 \end{bmatrix} : R \in SO(2), \, \mathbf{t} \in \mathbb{R}^2 \right\}
이 군은 3차원 매니폴드의 구조를 가지며, 그 매개 변수는 (\theta, t_x, t_y)이다. SE(2)는 비가환군이며, 회전과 병진의 순서 차이가 결과에 영향을 미친다. 군의 단위원은 I_3이고, 모든 원소는 가역이다.
6. 변환의 합성
두 강체 변환 T_1, T_2의 합성은 단순한 행렬 곱으로 주어진다.
T_1 T_2 = \begin{bmatrix} R_1 & \mathbf{t}_1 \\ \mathbf{0}^\top & 1 \end{bmatrix} \begin{bmatrix} R_2 & \mathbf{t}_2 \\ \mathbf{0}^\top & 1 \end{bmatrix} = \begin{bmatrix} R_1 R_2 & R_1 \mathbf{t}_2 + \mathbf{t}_1 \\ \mathbf{0}^\top & 1 \end{bmatrix}
각 성분의 의미는 다음과 같다.
- 합성된 회전: R_1 R_2. 평면 회전은 가환이므로 회전 부분은 R(\theta_1 + \theta_2)로 단순화된다.
- 합성된 병진: R_1 \mathbf{t}_2 + \mathbf{t}_1. 두 번째 변환의 병진 벡터가 첫 번째 변환의 회전을 통과한 후 첫 번째 변환의 병진과 더해진다.
회전 부분만은 가환이지만, 회전과 병진의 결합 방식 때문에 T_1 T_2 \neq T_2 T_1이 일반적이다. 이 비가환성은 평면 운동에서도 동작 순서가 결과에 영향을 미친다는 사실을 반영한다.
7. 역변환의 명시적 표현
동차 변환 행렬의 역행렬은 회전 부분의 직교성으로부터 단순한 형태로 얻어진다.
T^{-1} = \begin{bmatrix} R^\top & -R^\top \mathbf{t} \\ \mathbf{0}^\top & 1 \end{bmatrix}
평면의 경우 이는 다음과 같이 명시적으로 쓰인다.
T^{-1} = \begin{bmatrix} \cos\theta & \sin\theta & -(t_x \cos\theta + t_y \sin\theta) \\ -\sin\theta & \cos\theta & t_x \sin\theta - t_y \cos\theta \\ 0 & 0 & 1 \end{bmatrix}
이는 일반 행렬의 역 계산보다 훨씬 간단하며, 수치적으로 안정적이다.
8. 기본 변환의 분해
복잡한 평면 변환은 회전과 병진의 기본 변환으로 분해될 수 있다.
- 원점에 대한 회전: R(\theta) = \begin{bmatrix} R(\theta) & \mathbf{0} \\ \mathbf{0}^\top & 1 \end{bmatrix}.
- 병진: \mathrm{Trans}(\mathbf{t}) = \begin{bmatrix} I & \mathbf{t} \\ \mathbf{0}^\top & 1 \end{bmatrix}.
임의의 강체 변환은 이 두 종류의 기본 변환의 합성으로 표현된다.
T(\theta, \mathbf{t}) = \mathrm{Trans}(\mathbf{t}) \cdot R(\theta)
이 분해는 회전이 먼저 원점에서 적용된 후 병진이 추가됨을 의미한다. 분해 순서를 바꾸면 동일한 변환을 얻기 위해 병진 벡터를 적절히 변형해야 한다.
9. 임의의 점을 중심으로 한 회전
평면의 임의의 점 \mathbf{c}를 중심으로 각 \theta만큼 회전하는 변환은 세 단계의 합성으로 표현된다.
T_{\mathrm{rot}}(\mathbf{c}, \theta) = \mathrm{Trans}(\mathbf{c}) \cdot R(\theta) \cdot \mathrm{Trans}(-\mathbf{c})
이 분해는 회전 중심을 원점으로 옮긴 뒤 회전을 수행하고 다시 원래 위치로 옮기는 절차를 따른다. 이러한 분해는 영상 처리, 운동 계획, 시각화에서 자주 사용된다.
10. 변환의 미분과 평면 트위스트
평면 강체의 운동을 시간에 대해 미분하면 평면 트위스트가 얻어진다. 평면 트위스트는 선속도 (v_x, v_y)와 각속도 \omega로 구성된 3차원 벡터이다.
\boldsymbol{\xi} = \begin{bmatrix} v_x \\ v_y \\ \omega \end{bmatrix} \in \mathbb{R}^3
이는 SE(2)에 대응하는 리 대수 \mathfrak{se}(2)의 원소이며, 매개 변수의 시간 미분으로부터 자연스럽게 도출된다. 평면 트위스트는 평면 모바일 로봇의 운동 모델링과 제어에서 중심적 역할을 수행한다.
11. 매개 변수 공간의 구조
SE(2)의 자연스러운 매개 변수는 (t_x, t_y, \theta)이며, \theta는 원형 매개 변수로서 \mathbb{S}^1의 점이다. 따라서 SE(2)의 위상은 \mathbb{R}^2 \times \mathbb{S}^1이며, 이는 매끄러운 매니폴드의 구조를 가진다. 이 위상적 구조는 운동 계획에서 매개 변수 공간의 이산화와 거리 정의에 영향을 미친다.
12. 평면 자코비안과 미분 기구학
평면 매니퓰레이터의 미분 기구학은 평면 트위스트와 관절 속도를 연결하는 자코비안 행렬로 표현된다. 2차원 동차 변환 행렬의 사슬 합성을 관절 변수에 대해 미분하면 자코비안의 각 열이 얻어지며, 이는 평면 매니퓰레이터의 속도 제어와 정역학 분석의 출발점이 된다.
13. 좌표계 사이의 평면 변환
평면 위의 두 좌표계 \{A\}와 \{B\} 사이의 관계는 ^A T_B \in SE(2)로 표현된다. 점의 좌표 변환과 변환의 사슬 합성은 3차원의 경우와 동일한 규칙을 따르며, 단지 행렬 차원이 3 \times 3로 축소된 형태이다. 이 단순함은 평면 문제에서 동차 좌표가 특히 효율적임을 보여 준다.
14. 모바일 로봇에서의 응용
14.1 모바일 로봇의 위치와 자세
평면 모바일 로봇의 자세는 일반적으로 (x, y, \theta)의 세 매개 변수로 기술되며, 이는 정확히 SE(2)의 원소에 대응한다. 동차 변환 행렬을 사용하면 로봇의 이동 명령과 좌표 변환이 일관된 행렬 연산으로 처리된다.
14.2 주행 거리 측정과 위치 통합
차분 구동 또는 동기 구동 모바일 로봇의 주행 거리 측정은 짧은 시간 간격 동안의 운동을 적분하여 자세를 갱신하는 절차이다. 각 단계의 운동을 동차 변환 행렬로 표현하면, 자세의 통합은 단순한 행렬 곱의 누적
T_{k+1} = T_k \cdot \Delta T_k
로 표현된다. 이는 적분 오차의 누적을 명확히 분석할 수 있게 한다.
14.3 격자 지도와 좌표 변환
격자 지도(occupancy grid)에서 지도 좌표와 로봇 좌표 사이의 변환은 동차 변환을 통하여 처리된다. 로봇의 자세가 변할 때 센서 측정값을 지도 좌표로 옮기는 절차는 단일 행렬 곱으로 환원된다.
14.4 평면 SLAM
2차원 SLAM에서 로봇의 자세와 랜드마크의 위치는 모두 평면 좌표계에서 표현되며, 자세 그래프의 각 노드는 SE(2)의 원소이고 각 간선은 두 노드 사이의 상대 변환을 나타낸다. 동차 변환은 이러한 자세 그래프 최적화의 자연스러운 표현이다.
14.5 평면 매니퓰레이터의 기구학
2자유도 또는 3자유도 평면 매니퓰레이터의 정기구학은 인접 링크 사이의 동차 변환을 차례로 합성하는 형태로 기술된다. 평면의 경우 행렬 차원이 작고 회전이 가환이므로 폐형 해를 얻기가 비교적 용이하다.
14.6 시각 기반 제어와 영상 평면
영상 평면 위의 점들의 변환과 호모그래피는 평면 사영 변환의 한 예이며, 강체 부분에 한정된 경우에는 SE(2) 변환으로 환원된다. 이는 평면 작업물의 위치 추정과 시각 기반 제어에서 자주 활용된다.
참고문헌
- Craig, J. J. (2017). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
- Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2010). Robotics: Modelling, Planning and Control. Springer.
- Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
- Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic Robotics. MIT Press.
- Choset, H., Lynch, K. M., Hutchinson, S., Kantor, G. A., Burgard, W., Kavraki, L. E., & Thrun, S. (2005). Principles of Robot Motion: Theory, Algorithms, and Implementations. MIT Press.
Version: 1.0