9.50 데나빗-하텐버그(DH) 규약의 정의
1. 데나빗-하텐버그 규약의 개요
데나빗-하텐버그 규약(Denavit-Hartenberg convention, 이하 DH 규약)은 연쇄형 매니퓰레이터의 기구학적 구조를 체계적으로 기술하는 표준적 방법이다. 1955년 자크 데나빗(Jacques Denavit)과 리처드 하텐버그(Richard S. Hartenberg)가 공동 논문 “A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices“에서 제안하였다. 이 규약은 각 관절과 링크에 대해 좌표계를 일정한 규칙에 따라 부착하고, 인접한 두 좌표계 사이의 변환을 최소한의 매개변수로 기술한다.
2. 규약의 동기
연쇄형 매니퓰레이터는 일련의 관절과 링크로 구성된다. 각 관절은 1자유도(회전 또는 직선)이며, 링크는 두 관절을 연결하는 강체 부품이다. 인접한 두 관절 사이의 변환을 일반 강체 변환으로 기술하면 6개의 자유도(3 회전 + 3 병진)가 필요하지만, 두 관절 사이의 기하학적 관계가 강체에 의해 고정되어 있으므로 실제로는 4개의 매개변수만으로 충분하다.
DH 규약의 핵심 통찰은 적절한 좌표계 부착 규칙을 선택하면 인접 변환이 정확히 4개의 매개변수로 매개화될 수 있다는 것이다. 이 4개의 매개변수가 DH 매개변수이다.
3. DH 매개변수
각 링크 i에 대해 다음 4개의 DH 매개변수가 정의된다.
3.1 링크 길이(Link length) a_i
링크 자체의 길이로, i번째 관절 축과 i+1번째 관절 축 사이의 공통 수선의 길이이다. 두 회전 축 사이의 최단 거리를 측정한다. 항상 a_i \geq 0이며 상수이다(매니퓰레이터 설계가 결정한 후 변하지 않음).
3.2 링크 비틀림(Link twist) \alpha_i
i번째와 i+1번째 관절 축 사이의 비틀림 각도이다. 한 축이 다른 축에 대해 어느 각도로 기울어져 있는지를 나타낸다. 공통 수선을 회전축으로 하여 측정한다. \alpha_i는 상수이다.
3.3 링크 오프셋(Link offset) d_i
i-1번째 링크의 공통 수선과 i번째 링크의 공통 수선 사이의 거리를 i번째 관절 축을 따라 측정한 것이다. 회전 관절에서는 d_i가 상수이고, 직선 관절에서는 d_i가 관절 변수이다.
3.4 관절 각(Joint angle) \theta_i
i-1번째 링크의 공통 수선과 i번째 링크의 공통 수선 사이의 각도를 i번째 관절 축을 회전축으로 하여 측정한 것이다. 회전 관절에서는 \theta_i가 관절 변수이고, 직선 관절에서는 \theta_i가 상수이다.
4. 매개변수 분류
DH 매개변수는 다음 두 종류로 구성된다.
4.1 상수 매개변수 (3개)
매니퓰레이터의 기구적 설계가 결정한 후 변하지 않는 매개변수이다.
- 회전 관절: a_i, \alpha_i, d_i
- 직선 관절: a_i, \alpha_i, \theta_i
4.2 관절 변수 (1개)
관절의 운동에 따라 변하는 매개변수이다.
- 회전 관절: \theta_i
- 직선 관절: d_i
이 구분이 매니퓰레이터의 운동 매개변수와 설계 매개변수를 명확히 분리한다.
5. 좌표계 부착 규칙
DH 규약에서는 각 링크에 좌표계를 다음 규칙에 따라 부착한다.
5.1 z_i축
i+1번째 관절의 회전축(또는 직선 운동 축)을 z_i로 설정한다. 이 축은 관절의 운동 축이며, 링크 좌표계의 핵심이다.
5.2 x_i축
z_{i-1}축과 z_i축의 공통 수선을 x_i로 설정한다. 두 축이 평행하면 임의로 선택하나 통상 다른 매개변수를 0으로 만드는 방향을 선택한다. 두 축이 교차하면 x_i를 두 축 모두에 수직한 방향으로 설정한다.
5.3 y_i축
y_i는 우수 좌표계가 되도록 y_i = z_i \times x_i로 결정된다.
5.4 원점
x_i축과 z_i축의 교점이 좌표계 \{i\}의 원점이다. 두 축이 교차하지 않으면 공통 수선의 발이 원점이다.
6. 인접 좌표계 사이의 변환
DH 매개변수를 이용하여 좌표계 \{i-1\}에서 \{i\}로의 변환은 네 개의 기본 변환의 곱으로 표현된다.
{}^{i-1}\mathbf{T}_i = \mathbf{Rot}_z(\theta_i) \cdot \mathbf{Trans}_z(d_i) \cdot \mathbf{Trans}_x(a_i) \cdot \mathbf{Rot}_x(\alpha_i)
각 기본 변환의 의미는 다음과 같다.
- \mathbf{Rot}_z(\theta_i): z축 주위로 \theta_i 회전. 관절 각의 회전을 적용한다.
- \mathbf{Trans}_z(d_i): z축 방향으로 d_i 병진. 링크 오프셋만큼 이동한다.
- \mathbf{Trans}_x(a_i): x축 방향으로 a_i 병진. 링크 길이만큼 이동한다.
- \mathbf{Rot}_x(\alpha_i): x축 주위로 \alpha_i 회전. 링크 비틀림을 적용한다.
이 합성 변환의 명시적 형태는 9.52에서 자세히 다룬다.
7. DH 규약의 본질적 특성
7.1 매개변수의 충분성
3차원 강체 변환은 일반적으로 6자유도가 필요하지만, DH 규약은 좌표계 부착 규칙을 통해 2자유도를 제거한다. 구체적으로 다음의 두 조건이 자동으로 만족되도록 좌표계를 부착한다.
- x_i축이 z_{i-1}축에 수직
- x_i축이 z_i축과 교차
이 두 조건이 4개의 매개변수만으로 변환을 매개화할 수 있게 한다.
7.2 표현의 유일성
DH 매개변수가 잘 정의되어 있다면 매니퓰레이터의 기구학적 구조를 유일하게 기술한다(특수한 경우를 제외하고). 이는 다른 매니퓰레이터 사이의 비교와 표준화를 가능하게 한다.
7.3 수치적 효율성
각 링크당 4개의 매개변수만 저장하면 되므로 메모리 효율적이다. 또한 인접 변환 행렬이 단순한 형태이므로 계산이 빠르다.
8. DH 규약의 두 가지 변형
8.1 표준 DH (Standard/Original DH)
데나빗과 하텐버그가 원래 제안한 형태이다. 좌표계 \{i\}가 i+1번째 관절에 대응하며, 변환이 z_i축 주위 회전으로 시작한다.
8.2 변형 DH (Modified DH)
존 크레이그(John J. Craig)가 1986년 교재에서 도입한 변형이다. 좌표계 \{i\}가 i번째 관절에 대응하며, 변환의 순서가 다소 다르다. 매개변수의 의미는 동일하지만 인덱싱 규약이 다르다.
두 변형의 차이는 9.55에서 자세히 다룬다.
9. DH 규약의 적용 절차
9.1 단계: 관절 축 식별
각 관절의 운동 축(회전축 또는 직선 운동 축)을 식별한다. n개의 관절이 있으면 n개의 축 z_0, z_1, \ldots, z_{n-1}을 식별한다.
9.2 단계: 베이스 좌표계 설정
베이스 좌표계 \{0\}의 원점과 축을 적절히 선택한다. 통상 z_0은 첫 번째 관절 축과 일치시키고, x_0과 y_0은 편의에 따라 선택한다.
9.3 단계: 링크 좌표계 부착
위의 좌표계 부착 규칙에 따라 각 링크 i에 좌표계 \{i\}를 부착한다. i = 1, 2, \ldots, n.
9.4 단계: 매개변수 추출
각 링크 i에 대해 4개의 DH 매개변수 (a_i, \alpha_i, d_i, \theta_i)를 측정 또는 계산한다.
9.5 단계: 변환 행렬 구성
각 링크의 DH 매개변수로부터 인접 변환 {}^{i-1}\mathbf{T}_i를 구성하고, 이들의 연쇄 곱으로 순기구학을 얻는다.
10. 응용에서의 위상
DH 규약은 1955년 도입 이후 매니퓰레이터 기구학의 사실상 표준이 되었으며, 거의 모든 로봇 공학 교재에서 다루어진다. 산업용 로봇의 기술 사양에 DH 매개변수가 명시되는 경우가 많으며, 로봇 제어 라이브러리(ROS의 KDL, MoveIt 등)도 DH 형식의 입력을 지원한다.
11. DH 규약의 한계
DH 규약은 강력하지만 만능은 아니다. 다음과 같은 한계가 있다.
11.1 평행 축 처리
연속된 두 관절 축이 평행한 경우 공통 수선이 유일하게 정의되지 않으며, a_i와 d_i가 임의로 선택될 수 있다. 이는 특이한 처리가 필요하다.
11.2 가지 분기 구조
DH 규약은 직렬 연쇄에 적합하다. 가지 분기(humanoid 로봇의 양팔 등)나 폐쇄 운동학적 구조(closed kinematic chain)에는 직접 적용하기 어렵다.
11.3 표준화의 모호성
표준 DH와 변형 DH의 두 변형이 존재하므로, 특정 매개변수 집합이 어느 변형에 따른 것인지 명시해야 한다.
12. 참고 문헌
- Denavit, J., & Hartenberg, R. S. (1955). “A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices.” Journal of Applied Mechanics, 22, 215–221.
- Craig, J. J. (2018). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
- 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.
- Hartenberg, R. S., & Denavit, J. (1964). Kinematic Synthesis of Linkages. McGraw-Hill.
version: 1.0