9.54 변형 데나빗-하텐버그(Modified DH) 규약의 정의
1. 변형 DH의 도입 배경
변형 데나빗-하텐버그 규약(Modified Denavit-Hartenberg convention, 이하 변형 DH)은 1986년 존 크레이그(John J. Craig)가 자신의 교재 Introduction to Robotics: Mechanics and Control에서 도입한 DH 규약의 변형이다. 표준 DH가 가진 인덱싱 모호성과 분기 구조 처리의 어려움을 보완하기 위해 좌표계 부착 규칙과 매개변수 인덱싱을 변경한 형태이다.
2. 변형 DH의 핵심 차이점
변형 DH와 표준 DH는 동일한 4개의 매개변수(a, \alpha, d, \theta)를 사용하지만, 다음 두 가지에서 차이가 있다.
2.1 좌표계의 부착 위치
- 표준 DH: 좌표계 \{i\}가 i+1번째 관절 축 z_i에 부착
- 변형 DH: 좌표계 \{i\}가 i번째 관절 축 z_i에 부착
즉, 변형 DH에서는 좌표계와 관절의 인덱스가 일치한다. 좌표계 \{i\}의 z_i축이 i번째 관절의 운동 축이며, 직관적으로 더 자연스러운 인덱싱이다.
2.2 변환의 순서
표준 DH의 변환은 \mathbf{Rot}_z \cdot \mathbf{Trans}_z \cdot \mathbf{Trans}_x \cdot \mathbf{Rot}_x의 순서이지만, 변형 DH는 다른 순서를 가진다.
3. 변형 DH의 좌표계 부착 규칙
변형 DH 규약에서 좌표계 \{i\}는 다음 규칙으로 부착된다.
3.1 z_i축
z_i축은 i번째 관절의 운동 축이다. 즉, 회전 관절의 회전축 또는 직선 관절의 운동 방향이다. 표준 DH와 달리 좌표계의 z축이 그 좌표계의 인덱스와 일치하는 관절에 정렬된다.
3.2 x_i축
x_i축은 z_{i-1}축에서 z_i축으로 향하는 공통 수선이다. 두 축이 평행하면 임의로 선택하나 통상 다른 매개변수를 0으로 만드는 방향을 선택한다. 두 축이 교차하면 x_i를 두 축 모두에 수직한 방향으로 설정한다.
3.3 원점
x_i축과 z_i축의 교점이 좌표계 \{i\}의 원점이다.
3.4 y_i축
y_i = z_i \times x_i로 우수 좌표계를 형성한다.
4. 변형 DH 매개변수의 의미
변형 DH의 4 매개변수는 표준 DH와 동일한 기하학적 의미를 가지나, 인덱싱이 다르다.
4.1 링크 길이 a_{i-1}
z_{i-1}축과 z_i축 사이의 공통 수선의 길이이다. 표준 DH에서는 a_i로 표기되었지만, 변형 DH에서는 a_{i-1}로 표기된다. 즉, 인덱스가 한 단계 줄어든다.
4.2 링크 비틀림 \alpha_{i-1}
z_{i-1}축과 z_i축 사이의 비틀림 각도이다. 마찬가지로 인덱스가 i-1이다.
4.3 링크 오프셋 d_i
x_{i-1}축과 x_i축 사이의 거리를 z_i축을 따라 측정한 것이다. 인덱스가 i이다.
4.4 관절 각 \theta_i
x_{i-1}축과 x_i축 사이의 각도를 z_i축 주위로 측정한 것이다. 인덱스가 i이다.
5. 변형 DH의 변환 행렬
변형 DH 규약에서 좌표계 \{i-1\}에서 \{i\}로의 변환은 네 개의 기본 변환의 곱으로 표현된다.
{}^{i-1}\mathbf{T}_i = \mathbf{Rot}_x(\alpha_{i-1}) \cdot \mathbf{Trans}_x(a_{i-1}) \cdot \mathbf{Rot}_z(\theta_i) \cdot \mathbf{Trans}_z(d_i)
이는 표준 DH의 곱 순서
{}^{i-1}\mathbf{T}_i^{\text{Std}} = \mathbf{Rot}_z(\theta_i) \cdot \mathbf{Trans}_z(d_i) \cdot \mathbf{Trans}_x(a_i) \cdot \mathbf{Rot}_x(\alpha_i)
와 비교하면 순서와 매개변수의 인덱싱이 다르다.
6. 변형 DH 변환 행렬의 명시적 형태
곱을 전개하면 다음의 명시적 행렬을 얻는다.
{}^{i-1}\mathbf{T}_i^{\text{Mod}} = \begin{bmatrix} \cos\theta_i & -\sin\theta_i & 0 & a_{i-1} \\ \sin\theta_i\cos\alpha_{i-1} & \cos\theta_i\cos\alpha_{i-1} & -\sin\alpha_{i-1} & -d_i\sin\alpha_{i-1} \\ \sin\theta_i\sin\alpha_{i-1} & \cos\theta_i\sin\alpha_{i-1} & \cos\alpha_{i-1} & d_i\cos\alpha_{i-1} \\ 0 & 0 & 0 & 1 \end{bmatrix}
이 행렬의 구조는 표준 DH와 다르며, 두 규약에서 같은 매개변수 값이 다른 변환을 산출한다.
7. 변형 DH의 장점
크레이그가 변형 DH를 도입한 동기는 다음과 같다.
7.1 인덱싱의 직관성
변형 DH에서 좌표계 \{i\}가 i번째 관절에 부착되므로, “i번째 관절의 운동은 좌표계 \{i\}의 z축 회전이다“라는 직관적 해석이 가능하다. 표준 DH에서는 좌표계 \{i-1\}의 z축이 i번째 관절의 운동 축이었다.
7.2 분기 구조의 처리
가지 분기 매니퓰레이터(예: 양팔 로봇)에서 베이스로부터 출발하는 두 개의 가지가 있을 때, 변형 DH의 인덱싱이 분기 처리에 더 자연스럽다. 표준 DH는 직렬 연쇄에 최적화되어 있다.
7.3 수치적 직관
변형 DH의 변환 행렬에서 첫 번째 열의 첫 행이 단순히 \cos\theta_i이고 첫 번째 열의 두/세 번째 행이 \sin\theta_i와 결합되는 형태가 표준 DH와 다른 패턴을 만든다. 이는 일부 알고리즘에서 더 단순한 표현을 제공한다.
8. 변형 DH의 단점
8.1 표준의 비호환성
표준 DH가 더 오랫동안 사용되어 왔고, 데나빗과 하텐버그의 원래 논문이 표준 DH를 정의했으므로, 변형 DH는 별도의 변형으로 분류된다. 두 규약을 혼동하면 매개변수의 의미가 달라 잘못된 결과를 초래한다.
8.2 라이브러리와 도구의 불일치
일부 로봇 공학 라이브러리는 표준 DH를, 다른 라이브러리는 변형 DH를 기본으로 사용한다. 사용자가 어느 규약을 사용하는지 명시적으로 지정하지 않으면 호환성 문제가 발생한다.
9. 두 규약의 매개변수 비교 표
같은 매니퓰레이터를 두 규약으로 기술할 때 매개변수의 인덱싱과 일부 값이 다를 수 있다.
| 표준 DH | 변형 DH | 의미 |
|---|---|---|
| a_i | a_{i-1} | 두 관절 축 사이의 공통 수선 길이 |
| \alpha_i | \alpha_{i-1} | 두 관절 축 사이의 비틀림 |
| d_i | d_i | 링크 오프셋 |
| \theta_i | \theta_i | 관절 각 |
링크 길이와 비틀림의 인덱스가 다르다는 점이 가장 큰 차이이다.
10. 변형 DH의 사용 분야
10.1 학술 교재
크레이그의 Introduction to Robotics 교재가 널리 사용되므로, 학교에서 교육되는 매니퓰레이터 기구학은 변형 DH를 자주 사용한다.
10.2 일부 산업용 로봇
일부 로봇 제조사가 변형 DH를 기본으로 채택한다. 사양서에 명시되어 있다.
10.3 ROS 호환 라이브러리
ROS의 일부 매니퓰레이터 모델이 변형 DH로 정의된 경우가 있다. 사용 전 확인이 필요하다.
11. 표준 DH와 변형 DH의 등가성
두 규약은 동일한 매니퓰레이터를 기술할 수 있다. 한 규약의 매개변수에서 다른 규약의 매개변수로 변환하는 것이 가능하지만, 단순한 인덱스 이동이 아니라 다른 좌표계 부착 규칙에 맞춰 일부 값을 재계산해야 한다. 이러한 변환은 자동화되어 있지 않으므로, 사용자가 어느 규약을 사용하는지 명확히 결정한 후 그 규약을 일관되게 사용해야 한다.
12. 변형 DH 좌표계 부착의 시각적 차이
표준 DH와 변형 DH의 좌표계 부착이 어떻게 다른지 시각적으로 비교할 수 있다. 표준 DH에서는 베이스 좌표계가 \{0\}이고 첫 번째 관절은 \{0\}과 \{1\} 사이에 있다. 변형 DH에서도 베이스가 \{0\}이지만 첫 번째 관절은 \{1\}의 일부로 간주되고 첫 번째 변환이 \{0\}에서 \{1\}로 가는 도중에 첫 번째 관절의 회전이 포함된다.
13. 어느 규약을 선택할 것인가
특정 응용에서 어느 규약을 사용해야 하는지는 다음 요소를 고려한다.
- 교육적 배경: 사용자가 익숙한 교재의 규약을 따르는 것이 자연스럽다.
- 라이브러리 호환성: 사용 중인 소프트웨어 라이브러리의 기본 규약을 확인한다.
- 로봇 사양서: 제조사가 제공하는 DH 매개변수가 어느 규약인지 확인한다.
- 일관성: 한 프로젝트 내에서는 한 가지 규약을 일관되게 사용한다.
14. 명시의 중요성
DH 매개변수를 문서화할 때 반드시 어느 규약을 사용하는지 명시해야 한다. “Standard DH” 또는 “Modified DH“라고 표기하거나, 각주에 명시한다. 단순히 “DH parameters“라고만 표기하면 두 규약의 차이로 인한 혼동이 발생할 수 있다.
15. 참고 문헌
- Craig, J. J. (2018). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
- Denavit, J., & Hartenberg, R. S. (1955). “A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices.” Journal of Applied Mechanics, 22, 215–221.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.
- Khalil, W., & Dombre, E. (2002). Modeling, Identification and Control of Robots. Hermes Penton.
version: 1.0