
다 보여 주지 않아서 쉬워진다, 점진적 공개(Progressive Disclosure)

참고문헌이 겹치면 이웃이다, 서지 결합(Bibliographic Coupling)
여섯 개의 관절을 가진 산업용 로봇 팔이 있다고 해 볼까요? 관절 하나가 조금만 돌아가도 그 뒤에 달린 팔 전체가 함께 움직이고, 맨 끝의 손은 전혀 다른 자리로 옮겨 갑니다. 이 연쇄적인 움직임을 계산하려면 먼저 각 관절과 팔 마디가 어떻게 생겼는지 정해진 방식으로 적어 두어야 합니다. 사람마다 기준을 제멋대로 잡는다면 같은 로봇을 두고도 서로 다른 식이 나오겠죠. 관절마다 숫자 네 개만으로 이 관계를 깔끔하게 정리하는 약속, 그것이 바로 ‘데나비트-하텐베르크 표기법(Denavit-Hartenberg Convention)’입니다.
데나비트-하텐베르크 표기법이란 쉽게 말해 ‘직렬로 이어진 로봇 팔의 각 관절에 좌표계를 일정한 규칙으로 붙이고, 이웃한 두 좌표계의 관계를 네 개의 매개변수로 나타내는 방법’을 의미합니다. 1955년 자크 데나비트(Jacques Denavit)와 리처드 하텐베르크(Richard Hartenberg)가 기계 연결 장치의 좌표계를 표준화하려고 처음 제안했습니다. 흔히 DH 표기법, DH 매개변수라고 줄여 부르며 지금도 로봇공학 교과서에서 가장 먼저 배우는 도구로 꼽힙니다.
본 자료에서는 이 표기법이 왜 필요했는지, 네 개의 숫자가 각각 무엇을 뜻하는지, 숫자를 이어 붙여 손끝 위치를 구하는 방식, 그리고 고전형과 수정형으로 갈린 사정까지 차례로 살펴보겠습니다.
숫자 네 개로 로봇 팔을 적는 약속
데나비트-하텐베르크 표기법은 왜 생겼을까?

로봇 팔은 단단한 마디가 관절로 줄줄이 이어진 사슬입니다. 손끝이 어디 있는지 알려면 마디 하나하나의 길이와 방향, 관절이 돌아간 정도를 모두 따져야 합니다. 문제는 공간에서 한 물체의 위치와 방향을 나타내려면 원래 여섯 개의 값이 필요하다는 점입니다.
(1) 제각각이던 좌표계
표기법이 정착하기 전에는 연구자마다 좌표축을 잡는 방식이 달랐습니다. 같은 기계를 분석해도 식의 모양이 달라 결과를 비교하거나 검토하기가 어려웠습니다.
(2) 1955년의 제안
데나비트와 하텐베르크는 미국 기계학회의 응용역학 학술지에 실린 논문에서 행렬을 이용한 기구 표기법을 내놓았습니다. 좌표축을 붙이는 규칙을 정해 두면 이웃한 마디 사이의 관계를 여섯 개가 아닌 네 개의 값으로 줄일 수 있다는 것이 핵심이었습니다.
(3) 로봇으로 건너온 시기
처음에는 일반적인 기계 연결 장치를 위한 방법이었습니다. 1981년 리처드 폴(Richard Paul)이 로봇 조작기 교재에서 이 표기법을 로봇 팔 해석에 본격적으로 활용하면서 로봇공학의 표준 도구로 자리 잡았습니다.
관절마다 붙는 네 개의 숫자

규칙은 의외로 단순합니다. 각 관절의 회전축이나 미끄러지는 방향을 z축으로 삼고, 이웃한 두 관절 축에 함께 수직인 선, 즉 공통 수선을 x축으로 삼습니다. 이렇게 축을 맞추고 나면 한 좌표계에서 다음 좌표계로 넘어가는 데 필요한 값은 딱 네 개만 남습니다.
- 관절 각(Joint Angle): 이전 z축을 중심으로 x축이 돌아간 각도입니다.
- 링크 오프셋(Link Offset): 이전 z축을 따라 다음 공통 수선까지 떨어진 거리입니다.
- 링크 길이(Link Length): 두 관절 축 사이 공통 수선의 길이입니다.
- 링크 비틀림(Link Twist): 공통 수선을 중심으로 두 z축이 서로 틀어진 각도입니다.
회전 관절이라면 관절 각이 모터에 따라 바뀌고 나머지 셋은 기계의 생김새로 고정됩니다. 미끄러지는 관절이라면 반대로 링크 오프셋이 변하는 값이 됩니다. 결국 관절 하나에 움직이는 숫자 하나, 모양을 정하는 숫자 셋이 붙는 셈입니다.

표를 이어 붙여 손끝을 찾는다

네 개의 숫자를 관절 순서대로 적으면 한 줄에 관절 하나씩, 로봇 팔 전체를 담은 간단한 표가 만들어집니다. 이 표만 있으면 손끝의 위치를 구하는 계산이 기계적인 절차로 바뀝니다.
(1) 한 칸씩 건너가는 변환
각 줄의 숫자는 하나의 좌표 변환으로 바뀝니다. z축을 따라 돌고 움직인 뒤, x축을 따라 다시 움직이고 돌리는 네 단계의 이동입니다. 이 변환은 회전과 위치를 한꺼번에 담은 4행 4열의 행렬로 정리됩니다.
(2) 차례로 곱하면 끝
바닥에서 첫 관절, 첫 관절에서 둘째 관절로 이어지는 행렬을 차례로 곱하면 바닥에서 손끝까지의 관계가 하나의 행렬로 나옵니다. 관절 각만 넣으면 손끝의 위치와 방향이 곧바로 계산되는 것이죠. 이것이 순기구학의 기본 틀입니다.
(3) 다른 계산의 출발점
같은 표는 원하는 손끝 자세에서 관절 각을 거꾸로 구하는 역기구학, 속도와 힘을 다루는 동역학 계산에도 그대로 쓰입니다. 로봇 시뮬레이션 프로그램이 이 표를 입력으로 받는 경우가 많은 것도 그래서입니다.
고전형과 수정형, 두 갈래의 약속

널리 쓰이는 만큼 혼란도 있습니다. 같은 이름 아래 두 가지 방식이 함께 쓰이기 때문입니다. 교재나 프로그램을 볼 때 어느 쪽을 따르는지 먼저 확인해야 하는 이유입니다.
(1) 고전형 표기법
원래 방식으로, 각 마디의 좌표계를 그 마디의 끝쪽 관절에 붙입니다. 많은 교재와 공개 자료가 이 방식을 기준으로 설명합니다.
(2) 수정형 표기법
존 크레이그(John Craig)의 교재 『로봇공학 입문(Introduction to Robotics)』 등이 쓰는 방식으로, 좌표계를 마디의 시작 쪽 관절에 붙이고 변환 순서도 바꿉니다. 매개변수의 이름은 비슷해도 들어가는 자리가 달라, 두 방식을 섞으면 엉뚱한 결과가 나옵니다.
(3) 한계와 대안
이웃한 두 관절 축이 평행에 가까우면 공통 수선의 위치가 정해지지 않아 작은 오차에도 값이 크게 흔들립니다. 그래서 정밀한 보정이 필요한 분야에서는 다른 표현 방식이 함께 연구되어 왔습니다. 그럼에도 단순하고 손으로 따라 하기 쉽다는 장점 덕분에 여전히 가장 먼저 배우는 방법입니다.
복잡해 보이는 로봇 팔도 관절마다 네 개의 숫자로 차근차근 적어 내려가는 것, 그것이 데나비트-하텐베르크 표기법 이해의 첫걸음입니다.
이 글 PDF 구매
1,000원한국어 PDF · 같은 계정으로 다시 다운로드할 수 있어요.






