Modern Robotics, Part 2A - 나선축, Twist, 그리고 지수 사상
지난 글에서는 로봇 운동을 단순히 관절 각도의 모음으로 보기보다 공간에서 일어나는 강체 운동으로 이해해야 한다는 점을 살펴봤습니다. 핵심 대상은 회전과 병진을 함께 나타내는 변환
였습니다. 이제 관절이 움직일 때 이 변환이 연속적으로 어떻게 변하는지 알아볼 차례입니다.
여기서 나선축과 twist가 등장합니다. 이 둘은 미소 강체 운동을 간결하고 기하학적으로 의미 있는 방식으로 표현하며, 지수 사상을 통해 유한한 운동과 연결합니다.
1. 강체의 미소 운동
강체가 안에서 움직인다고 합시다. 강체의 순간 운동은 다음 두 양으로 표현할 수 있습니다.
- 각속도
- 선속도
이 둘을 합치면 twist가 됩니다.
Twist는 단순히 두 벡터를 한데 묶은 것이 아닙니다. 강체 전체의 속도장을 표현합니다. 강체 위의 한 점 의 위치 벡터가 라면, 그 점의 속도는 다음과 같습니다.
강체 운동이 특별한 이유가 바로 여기에 있습니다. 병진 속도는 임의로 정해지는 값이 아니라 각속도와 강체의 기하에 따라 결정됩니다.
행렬로 쓰면 강체의 속도는 다음과 같이 표현할 수 있습니다.
그리고 보통 다음처럼 간단히 씁니다.
여기서 는 외적 연산자에 대응하는 반대칭 행렬입니다.
이 구조 덕분에 로봇 기구학을 미분기하학적으로 다룰 수 있습니다.
2. 운동 생성자로서의 twist
로봇 관절이 의 속도로 움직인다고 합시다. 그러면 말단 장치의 운동은 그 속도만큼 스케일된 twist에 의해 생성됩니다.
이 식은 강체 변환의 변화율이 운동 생성자 와 스칼라 관절 운동 에 의해 결정된다는 뜻입니다.
따라서 twist는 로봇 운동의 미소 생성자 역할을 합니다. configuration 공간의 변수를 작업 공간의 변환으로 연결합니다.
다르게 말하면 로봇은 관절 각도 집합만으로 설명되지 않습니다. 각 관절에는 고유한 운동 생성자가 대응하고, 전체 운동은 이 생성자들을 조합해 만듭니다.
3. 관절 운동의 기하학적 표현인 나선축
나선축은 관절의 작용으로 강체가 움직이는 공간상의 직선을 나타냅니다. 회전 관절에서는 축을 중심으로 회전하고, 직동 관절에서는 축을 따라 병진합니다.
일반적인 나선축은 다음과 같이 표현할 수 있습니다.
여기서 다음을 의미합니다.
- 는 축의 방향입니다.
- 는 축 위의 한 점이 갖는 선속도입니다.
방향 를 가지며 점 를 지나는 직선을 중심으로 순수 회전한다면 다음과 같습니다.
이 식은 회전축의 방향이 twist의 병진 성분을 어떻게 결정하는지 정확히 보여줍니다.
회전 관절에서는 보통 나선축을 정규화해 를 단위 벡터로 만들고, 운동 변수 를 관절 각도로 사용합니다. 직동 관절에서는 각 성분이 0이고 병진 성분이 미끄러지는 방향을 가리킵니다.
따라서 나선축은 공간에서 관절 운동을 기하학적으로 나타낸다고 볼 수 있습니다.
4. 로봇공학에서 나선축이 자연스러운 이유
로봇의 기하는 보통 링크의 위치와 방향으로 설명합니다. 나선축은 같은 정보를 운동 생성에 훨씬 유용한 방식으로 담아냅니다.
회전 관절은 단순한 스칼라 각도가 아닙니다. 3차원 공간의 한 직선을 중심으로 하는 강체 운동입니다. 직동 관절 역시 한 직선을 따른 강체 운동입니다. 관절의 진짜 기하학적 정체성은 그 축에 있습니다.
나선축이 정해지면 관절 변수 가 만들어 내는 운동도 완전히 정해집니다.
- 관절 변수
- 나선축
- 대응하는 강체 운동
이 구조가 Modern Robotics에서 로봇 기구학의 토대가 됩니다.
5. 지수 사상과 유한한 운동
앞에서 설명한 미분 관계만으로는 충분하지 않습니다. 순간 운동을 관절 변위에 걸친 유한한 변환으로 적분할 방법이 필요합니다.
그 역할을 하는 것이 지수 사상입니다. 나선축 와 관절 좌표 가 주어졌을 때 유한한 강체 변환은 다음과 같습니다.
이 식은 Modern Robotics를 정의하는 핵심 결과 중 하나입니다. 유한한 강체 운동이 미소 운동 생성자를 지수화해 만들어진다는 뜻입니다.
회전 관절에서는
가 되어 축 를 중심으로 각도 만큼 회전한 강체 변환을 줍니다.
직동 관절에서는
가 되어 방향 를 따라 거리 만큼 이동한 변환을 줍니다.
이는 단순한 수학적 호기심이 아닙니다. 여러 기구학 정식화에서 관절 값으로 로봇 pose를 계산하는 정확한 방식입니다.
6. 행렬 로그와 역관계
지수 사상은 적절한 의미에서 역변환을 갖습니다. 강체 변환 가 주어지면 다음을 만족하는 twist 를 계산할 수 있습니다.
이는 행렬 로그로 표현됩니다.
로그를 이용하면 유한한 변환에서 그에 대응하는 미소 운동 생성자로 되돌아갈 수 있습니다. 상대 운동 추정이나 제어기 설계 같은 여러 작업에서 이 관계가 중요합니다.
지수와 로그를 함께 사용한다는 것은 우리가 Lie group과 Lie algebra의 구조 안에서 작업한다는 뜻입니다.
- 군 는 강체 변환을 나타냅니다.
- 대수 는 twist를 나타냅니다.
이것이 Modern Robotics의 바탕이 되는 수학적 언어입니다.
7. 지수 사상이 유용한 이유
지수 사상은 미소 운동 생성자로부터 만들어진 유한 운동을 하나의 일관된 표현으로 제공하기 때문에 유용합니다.
덕분에 로봇 전체를 관절 운동의 연쇄로 모델링할 수 있습니다.
이것이 Product of Exponentials 공식입니다. 각 관절 운동은 나선축이 생성하는 변환이고, 최종 말단 장치 pose는 그 변환들의 곱입니다.
이 정식화는 관점을 바꿉니다.
- 변환 행렬을 손으로 하나씩 조립하는 대신,
- 각 관절의 운동 생성자로 로봇을 구성합니다.
이것이 이 정식화의 개념적 힘입니다.
8. 공간 좌표계와 물체 좌표계의 역할
강체 기구학에서 미묘하지만 중요한 문제는 기준 좌표계를 선택하는 것입니다. 나선축과 twist는 다음 어느 쪽으로도 표현할 수 있습니다.
- 공간 좌표계
- 물체 좌표계
이에 따라 spatial twist와 body twist를 구분합니다.
Twist를 공간 좌표계에서 쓰면 고정된 월드 좌표계를 기준으로 강체가 어떻게 움직이는지를 나타냅니다. 물체 좌표계에서 쓰면 강체 자신의 로컬 좌표를 기준으로 한 운동을 나타냅니다.
두 표현은 adjoint 변환으로 연결됩니다.
또는 동등하게
같은 물리적 운동도 서로 다른 좌표계에서 표현할 수 있으므로 이 변환은 중요합니다. 어떤 표현을 선택하느냐에 따라 Jacobian과 제어 방정식의 형태도 달라집니다.
Modern Robotics가 특히 우아한 이유 중 하나는 운동의 기하와 좌표 표현을 깔끔하게 분리하기 때문입니다.
9. Jacobian과의 연결
Twist 정식화는 자연스럽게 Jacobian으로 이어집니다. 관절 변수를 이라 하면 말단 장치 twist는 다음과 같습니다.
Jacobian은 관절 속도에서 말단 장치 twist로 가는 사상입니다. 로봇의 나선축을 이용하면 다음과 같이 계산할 수 있습니다.
선택한 정식화에 따라 축을 올바른 좌표계로 변환해야 합니다.
즉, Jacobian은 임의로 정한 행렬이 아니라 관절 운동 방향으로 구성됩니다. 이것이 Modern Robotics에서 가장 통찰력 있는 개념 중 하나입니다.
나선축을 알면 로봇의 미분 운동은 이미 결정됩니다. Jacobian은 이 정보를 편리한 선형 형식으로 정리한 것입니다.
10. 정식화에 대한 직관
다음과 같이 생각하면 이해하기 쉽습니다.
- 관절은 운동이 얼마나 일어나는지를 정합니다.
- 나선축은 그 운동이 따르는 기하학적 방향을 정합니다.
- 지수 사상은 미소 운동을 유한한 강체 변환으로 바꿉니다.
- Product of Exponentials는 관절 전체의 운동을 최종 로봇 pose로 조합합니다.
Modern Robotics의 체계가 로봇공학에 자연스러운 이유가 여기에 있습니다. 서로 연결되지 않은 좌표식들을 억지로 다루는 대신, 실제 운동의 기하를 그대로 반영하기 때문입니다.
11. 브라우저 데모와의 연결
modern-robotics-wasm 프로젝트는 이러한 개념을 시각적으로 구현한 결과입니다. 관절 각도가 로봇 configuration을 바꾸고, 변환 행렬이 다시 계산되며, 뷰어가 말단 장치 pose를 실시간으로 갱신합니다.
수학은 인터페이스 뒤에 숨겨져 있지 않습니다. 다음 구조를 직접 확인할 수 있습니다.
교과서에서 보던 개념이 브라우저의 인터랙티브 로봇 모델을 실제로 움직입니다.
12. 정리
이번 글에서는 Modern Robotics를 이루는 두 가지 핵심 구조를 소개했습니다.
- 강체의 순간 운동은 twist로 표현합니다.
- 유한한 강체 운동은 나선축 운동을 지수화해 생성합니다.
이 두 개념으로부터 나머지 로봇 기구학이 이어집니다.
- 말단 장치 pose를 위한 Product of Exponentials
- 운동 mapping을 위한 Jacobian
- 실제 로봇을 위한 궤적 생성과 제어
이들은 서로 떨어진 주제가 아닙니다. 모두 나선축을 따른 구조화된 강체 운동으로 로봇 운동을 생성한다는 하나의 기하학적 원리를 다른 방식으로 드러낸 것입니다.
다음 글에서는 이 기반 위에서 Jacobian을 명시적으로 유도하고, 나선축을 말단 장치 속도 및 매니퓰레이터의 미분 기구학과 연결하겠습니다.