31.13 표준 DH 표기법의 동차 변환 행렬 유도
표준 DH 표기법의 동차 변환 행렬(homogeneous transformation matrix)은 네 가지 DH 매개변수로부터 두 인접한 좌표계 사이의 상대 변환을 완전히 표현한다. 본 절에서는 표준 DH 표기법의 동차 변환 행렬의 유도 과정과 그 결과를 다룬다.
1. 변환 구성의 기본 아이디어
1.1 연속 기본 변환의 결합
좌표계 i-1에서 좌표계 i로의 변환은 네 개의 기본 변환의 결합으로 구성된다. 각 기본 변환은 하나의 DH 매개변수와 대응된다.
1.2 네 가지 기본 변환
네 가지 기본 변환은 다음과 같다. 첫째, z_{i-1}축 주위의 관절 각도 \theta_i 회전. 둘째, z_{i-1}축 방향의 링크 오프셋 d_i 병진. 셋째, x_i축 방향의 링크 길이 a_i 병진. 넷째, x_i축 주위의 링크 비틀림 \alpha_i 회전.
1.3 순서의 중요성
회전과 병진의 비가환성으로 인해 변환의 순서가 중요하다. 표준 DH 표기법은 명확히 정의된 순서를 따른다.
2. 기본 변환 행렬
2.1 z축 주위 회전
z축 주위의 \theta 각도 회전에 대한 동차 변환 행렬은 다음과 같다.
\mathbf{R}_z(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta & 0 & 0 \\ \sin\theta & \cos\theta & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
31.13.2.2 z축 방향 병진
z축 방향의 d 거리 병진에 대한 동차 변환 행렬은 다음과 같다.
\mathbf{T}_z(d) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & d \\ 0 & 0 & 0 & 1 \end{bmatrix}
2.2 x축 방향 병진
x축 방향의 a 거리 병진에 대한 동차 변환 행렬은 다음과 같다.
\mathbf{T}_x(a) = \begin{bmatrix} 1 & 0 & 0 & a \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
31.13.2.4 x축 주위 회전
x축 주위의 \alpha 각도 회전에 대한 동차 변환 행렬은 다음과 같다.
\mathbf{R}_x(\alpha) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos\alpha & -\sin\alpha & 0 \\ 0 & \sin\alpha & \cos\alpha & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
3. 변환의 결합
3.1 결합 순서
표준 DH 표기법의 동차 변환 행렬은 다음의 순서로 네 기본 변환을 결합한다.
{}^{i-1}\mathbf{T}_i = \mathbf{R}_z(\theta_i) \mathbf{T}_z(d_i) \mathbf{T}_x(a_i) \mathbf{R}_x(\alpha_i)
31.13.3.2 기하학적 해석
이 순서는 좌표계 i-1의 z축 주위의 \theta_i 회전과 z축 방향의 d_i 병진으로 x축을 공통 법선 방향으로 정렬시킨다. 그 후 x축 방향의 a_i 병진과 x축 주위의 \alpha_i 회전으로 z축을 다음 관절 축 방향으로 정렬시킨다.
31.13.3.3 중간 좌표계
결합 과정에서 중간 좌표계들이 암묵적으로 도입된다. 그러나 최종적으로는 좌표계 i-1과 좌표계 i 사이의 단일 변환으로 표현된다.
31.13.4 완전한 변환 행렬의 유도
31.13.4.1 첫 번째 곱
\mathbf{R}_z(\theta_i) \mathbf{T}_z(d_i)는 다음과 같이 계산된다.
\mathbf{R}_z(\theta_i) \mathbf{T}_z(d_i) = \begin{bmatrix} \cos\theta_i & -\sin\theta_i & 0 & 0 \\ \sin\theta_i & \cos\theta_i & 0 & 0 \\ 0 & 0 & 1 & d_i \\ 0 & 0 & 0 & 1 \end{bmatrix}
3.2 두 번째 곱
\mathbf{T}_x(a_i) \mathbf{R}_x(\alpha_i)는 다음과 같이 계산된다.
\mathbf{T}_x(a_i) \mathbf{R}_x(\alpha_i) = \begin{bmatrix} 1 & 0 & 0 & a_i \\ 0 & \cos\alpha_i & -\sin\alpha_i & 0 \\ 0 & \sin\alpha_i & \cos\alpha_i & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
31.13.4.3 최종 곱
두 부분 곱을 결합하여 최종 변환 행렬을 얻는다.
{}^{i-1}\mathbf{T}_i = \begin{bmatrix} \cos\theta_i & -\sin\theta_i \cos\alpha_i & \sin\theta_i \sin\alpha_i & a_i \cos\theta_i \\ \sin\theta_i & \cos\theta_i \cos\alpha_i & -\cos\theta_i \sin\alpha_i & a_i \sin\theta_i \\ 0 & \sin\alpha_i & \cos\alpha_i & d_i \\ 0 & 0 & 0 & 1 \end{bmatrix}
4. 변환 행렬의 구성 요소
4.1 회전 부분
좌상단 3 \times 3 부분은 좌표계 i-1로부터 좌표계 i로의 회전을 표현하는 회전 행렬 {}^{i-1}\mathbf{R}_i이다.
{}^{i-1}\mathbf{R}_i = \begin{bmatrix} \cos\theta_i & -\sin\theta_i \cos\alpha_i & \sin\theta_i \sin\alpha_i \\ \sin\theta_i & \cos\theta_i \cos\alpha_i & -\cos\theta_i \sin\alpha_i \\ 0 & \sin\alpha_i & \cos\alpha_i \end{bmatrix}
31.13.5.2 병진 부분
우상단 3 \times 1 부분은 좌표계 i-1의 원점으로부터 좌표계 i의 원점까지의 위치 벡터 {}^{i-1}\vec{p}_i이다.
{}^{i-1}\vec{p}_i = \begin{bmatrix} a_i \cos\theta_i \\ a_i \sin\theta_i \\ d_i \end{bmatrix}
4.2 아래 행의 고정 성분
아래 행은 [0, 0, 0, 1]의 고정 성분으로, 동차 좌표계의 표준 형식이다.
5. 연속된 변환의 결합
5.1 순기구학의 결합
로봇의 순기구학은 여러 개의 DH 동차 변환 행렬의 연속적 곱으로 표현된다.
{}^{0}\mathbf{T}_n = {}^{0}\mathbf{T}_1 \cdot {}^{1}\mathbf{T}_2 \cdots {}^{n-1}\mathbf{T}_n
31.13.6.2 관절 변수의 의존성
각 {}^{i-1}\mathbf{T}_i는 관절 변수 q_i에 의존하며, 따라서 전체 {}^{0}\mathbf{T}_n은 관절 변수 벡터 \vec{q} = [q_1, \ldots, q_n]^\top의 함수이다.
31.13.6.3 엔드 이펙터의 자세
{}^{0}\mathbf{T}_n의 회전 부분과 병진 부분이 엔드 이펙터의 자세와 위치를 제공한다.
31.13.7 역행렬의 계산
31.13.7.1 역행렬의 해석적 형태
동차 변환 행렬의 역행렬은 다음과 같이 계산된다.
({}^{i-1}\mathbf{T}_i)^{-1} = \begin{bmatrix} {}^{i-1}\mathbf{R}_i^\top & -{}^{i-1}\mathbf{R}_i^\top \cdot {}^{i-1}\vec{p}_i \\ \vec{0}^\top & 1 \end{bmatrix}
5.2 회전의 역
회전 행렬의 역은 전치(transpose)와 같다.
5.3 병진의 역
병진의 역은 회전의 역을 적용한 후 병진 벡터의 부호를 바꾸어 얻는다.
6. 변환 행렬의 수학적 특성
6.1 SE(3) 군
동차 변환 행렬은 3차원 특수 유클리드 군 SE(3)의 원소이다. 두 행렬의 곱도 SE(3)에 속하며, 역행렬도 SE(3)에 속한다.
6.2 행렬식
동차 변환 행렬의 행렬식은 항상 1이다. 이는 강체 변환의 기본 특성이다.
6.3 직교성
회전 부분은 직교 행렬이며, {}^{i-1}\mathbf{R}_i^\top \cdot {}^{i-1}\mathbf{R}_i = \mathbf{I}를 만족한다.
7. 관절 유형에 따른 구체화
7.1 회전 관절
회전 관절의 경우 \theta_i가 관절 변수이고 d_i, a_i, \alpha_i는 상수이다. 따라서 {}^{i-1}\mathbf{T}_i는 \theta_i의 함수로 표현된다.
7.2 직동 관절
직동 관절의 경우 d_i가 관절 변수이고 \theta_i, a_i, \alpha_i는 상수이다. 따라서 {}^{i-1}\mathbf{T}_i는 d_i의 함수로 표현된다.
7.3 나선 관절
나선 관절의 경우 \theta_i가 관절 변수이고, d_i = h\theta_i의 구속 조건을 만족한다.
8. 학술적 활용
본 절에서 다룬 동차 변환 행렬의 유도는 DH 표기법의 가장 핵심적 학술적 결과이다. 이 행렬은 순기구학, 역기구학, 자코비안의 계산, 기구학적 보정, 그리고 로봇의 시뮬레이션과 시각화의 학술적 기반이 된다.
9. 출처
- Denavit, J. and Hartenberg, R. S., “A kinematic notation for lower-pair mechanisms based on matrices”, ASME Journal of Applied Mechanics, Vol. 22, pp. 215–221, 1955.
- Spong, M. W., Hutchinson, S., and Vidyasagar, M., Robot Modeling and Control, 2nd edition, Wiley, 2020.
- Craig, J. J., Introduction to Robotics: Mechanics and Control, 4th edition, Pearson, 2018.
- Siciliano, B., Sciavicco, L., Villani, L., and Oriolo, G., Robotics: Modelling, Planning and Control, Springer, 2009.
- Paul, R. P., Robot Manipulators: Mathematics, Programming, and Control, MIT Press, 1981.
10. 버전
- 문서 버전: 1.0
- 작성일: 2026-04-18