9.55 표준 DH 규약과 변형 DH 규약의 비교

9.55 표준 DH 규약과 변형 DH 규약의 비교

1. 비교의 필요성

표준 DH 규약과 변형 DH 규약은 같은 매니퓰레이터를 기술하는 두 가지 다른 형식이다. 두 규약 모두 4개의 매개변수를 사용하지만 인덱싱과 변환의 순서가 다르므로, 동일한 매니퓰레이터에 대해 다른 매개변수 값이 산출될 수 있다. 이 차이를 명확히 이해하지 않으면 잘못된 기구학 모델을 사용하게 된다.

2. 좌표계 부착의 비교

2.1 표준 DH

좌표계 \{i\}i+1번째 관절 축 z_i에 부착된다. 즉, \{i\}z축이 i+1번째 관절의 운동 축이다. 베이스 좌표계 \{0\}z축이 첫 번째 관절의 회전축이며, 마지막 좌표계 \{n\}이 말단 장치 좌표계이다.

2.2 변형 DH

좌표계 \{i\}i번째 관절 축 z_i에 부착된다. 즉, \{i\}z축이 i번째 관절의 운동 축이다. 베이스 좌표계 \{0\}이 어떤 관절에도 부착되지 않거나 첫 번째 관절 직전의 베이스 위치에 해당하며, 마지막 좌표계 \{n\}이 말단 장치 좌표계이다.

이 차이가 두 규약의 가장 본질적인 구분이다.

3. 변환의 순서 비교

3.1 표준 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)

네 단계의 순서가 z축 회전 → z축 병진 → x축 병진 → x축 회전이다.

3.2 변형 DH

{}^{i-1}\mathbf{T}_i^{\text{Mod}} = \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)

네 단계의 순서가 x축 회전 → x축 병진 → z축 회전 → z축 병진이다.

매개변수의 인덱스도 다르다. 변형 DH에서 \alphaa가 인덱스 i-1을 가진다.

4. 인덱싱 비교

매개변수표준 DH변형 DH
링크 길이a_ia_{i-1}
링크 비틀림\alpha_i\alpha_{i-1}
링크 오프셋d_id_i
관절 각\theta_i\theta_i

링크 길이와 비틀림은 한 인덱스 단계 전(변형 DH)이고, 오프셋과 각도는 같은 인덱스를 사용한다.

5. 명시적 변환 행렬의 비교

5.1 표준 DH

{}^{i-1}\mathbf{T}_i^{\text{Std}} = \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}

5.2 변형 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는 회전 부분이 \mathbf{R}_z\mathbf{R}_x이고 병진 부분이 a_i\cos\theta_i, a_i\sin\theta_i, d_i인 반면, 변형 DH는 회전 부분이 \mathbf{R}_x\mathbf{R}_z이고 병진 부분이 다른 형태이다.

6. 자유도와 매개변수의 동등성

두 규약 모두 4개의 매개변수로 인접 변환을 기술하므로, 자유도 면에서는 동일하다. 그러나 같은 매니퓰레이터에 대해 두 규약의 매개변수 값이 일반적으로 다르며, 한 규약의 매개변수에서 다른 규약의 매개변수로 직접 변환하는 단순한 공식은 존재하지 않는다(좌표계 부착 자체가 다르므로).

7. 동일한 매니퓰레이터의 다른 매개변수

같은 매니퓰레이터(예: PUMA 560)를 표준 DH와 변형 DH로 기술하면 매개변수 값이 다르다. 이는 두 규약에서 좌표계 부착이 다르기 때문이며, 같은 물리적 기하 구조를 다른 좌표 체계로 표현한 결과이다. 예를 들어 표준 DH에서 a_i였던 값이 변형 DH에서는 a_{i-1}로 표현되며, 인덱스가 한 단계 이동한다.

8. 사용 분야의 차이

측면표준 DH변형 DH
도입 시점1955년 (Denavit & Hartenberg)1986년 (Craig)
표준성더 오랫동안 사용된 원래 규약변형으로 도입
직렬 매니퓰레이터적합적합
분기 매니퓰레이터다소 어색더 자연스러움
학교 교육일부 교재크레이그 교재 등
산업용 로봇 사양일부 제조사일부 제조사
Spong/Siciliano 교재표준 DH 사용-
Craig 교재-변형 DH 사용

9. 변환 행렬의 행렬식과 직교성

두 규약 모두 동차 변환 행렬이 SE(3)의 원소이며, 회전 부분이 SO(3)에 속한다. 행렬식과 정규 직교성은 두 규약 모두에서 자동으로 만족된다.

10. 변환 사이의 관계

이론적으로 같은 매니퓰레이터에 대한 표준 DH 변환 {}^{i-1}\mathbf{T}_i^{\text{Std}}과 변형 DH 변환 {}^{i-1}\mathbf{T}_i^{\text{Mod}} 사이에는 좌표계 부착의 차이로 인한 변환 관계가 존재한다. 그러나 일반적으로 이 변환을 직접 사용하기보다는, 한 규약을 일관되게 채택하고 다른 규약으로의 변환을 피하는 것이 실용적이다.

11. 두 규약의 예시 비교

11.1 표준 DH로 기술된 PUMA 560

링크 ia_i (mm)\alpha_i (도)d_i (mm)\theta_i
10-900\theta_1
2431.800\theta_2
320.3290149.09\theta_3
40-90433.07\theta_4
50900\theta_5
60056.25\theta_6

11.2 변형 DH로 기술된 PUMA 560 (예시)

같은 매니퓰레이터를 변형 DH로 기술하면 인덱싱이 한 단계 이동한 형태가 된다. 구체적인 매개변수 값은 좌표계 부착의 차이로 인해 표준 DH와 다소 다르며, 변환 시 주의가 필요하다. 변형 DH에서는 첫 번째 행이 i = 1일 때 a_0, \alpha_0 등을 사용하며, 베이스 좌표계의 정의가 표준 DH와 다를 수 있다.

12. 두 규약 사이 혼동의 사례

같은 매니퓰레이터에 대해 한 문서에서 표준 DH로, 다른 문서에서 변형 DH로 기술된 매개변수가 모두 제공될 때, 사용자가 어느 규약인지 명시적으로 확인하지 않으면 잘못된 기구학 모델을 사용할 위험이 있다. 이 경우 다음의 증상이 나타난다.

  • 순기구학 결과가 실제 매니퓰레이터의 위치와 일치하지 않음
  • 자코비안 계산 결과가 부정확함
  • 시뮬레이션과 실제 로봇의 동작이 다름

이러한 오류는 디버깅이 어려우므로, 처음부터 규약을 명확히 지정하는 것이 중요하다.

13. 어느 규약을 선택할 것인가에 대한 권장 사항

13.1 학술 작업

일반적으로 더 오래되고 널리 사용된 표준 DH가 선호된다. 그러나 사용 중인 교재나 라이브러리가 변형 DH를 사용한다면 그것을 따르는 것이 일관성 측면에서 유리하다.

13.2 산업 응용

로봇 제조사가 제공하는 사양서의 규약을 따른다. 제조사가 명시하지 않으면 명시를 요청한다.

13.3 새 프로젝트

프로젝트의 시작 단계에서 규약을 결정하고, 모든 문서와 코드에 일관되게 적용한다. 한 번 선택한 규약을 변경하는 것은 큰 비용이 발생하므로, 신중히 선택해야 한다.

13.4 다국적 협력

여러 팀이 협력하는 프로젝트에서는 규약을 명확히 합의하고 모든 통신에 명시한다. “DH parameters“라는 단순 표현은 모호하며, “Standard DH” 또는 “Modified DH“라고 명확히 표기해야 한다.

14. 라이브러리와 도구의 처리

일부 로봇 공학 라이브러리는 두 규약을 모두 지원한다. 사용자가 매개변수를 입력할 때 어느 규약인지 지정하면 라이브러리가 그에 맞게 처리한다. 예를 들어 ROS의 KDL은 사용자가 변환 행렬을 직접 정의하므로 규약과 무관하다. 그러나 일부 GUI 도구는 한 규약만 지원하므로 사용 전 확인이 필요하다.

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