9.69 회전 보간(Rotation Interpolation)의 필요성

1. 회전 보간의 개념

회전 보간(rotation interpolation)은 두 개 이상의 회전(또는 자세) 사이를 매끄럽게 연결하는 중간 회전들을 산출하는 연산이다. 시작 회전 \mathbf{R}_0와 끝 회전 \mathbf{R}_1이 주어졌을 때, 매개변수 t \in [0, 1]에 따라 변하는 보간 함수 \mathbf{R}(t)를 정의한다.

\mathbf{R}(0) = \mathbf{R}_0, \quad \mathbf{R}(1) = \mathbf{R}_1

중간값 \mathbf{R}(t)는 두 회전 사이의 “비율 t만큼 진행된” 회전을 나타내야 한다.

2. 회전 보간이 필요한 이유

2.1 매끄러운 운동의 생성

로봇이나 카메라가 시작 자세에서 끝 자세로 이동할 때, 갑작스러운 자세 변화는 물리적으로 불가능하거나 부적절하다. 매끄러운 보간은 운동의 연속성을 보장한다.

2.2 매니퓰레이터의 카르테시안 경로 계획

매니퓰레이터의 말단 장치가 두 자세 사이를 이동할 때, 단순히 시작과 끝만 지정하는 것이 아니라 그 사이의 매끄러운 궤적을 따라가야 한다. 회전 보간이 자세의 시간 변화를 정의한다.

2.3 카메라 워크와 시각화

3D 시각화나 게임에서 카메라가 자연스럽게 움직이려면 카메라 자세를 매끄럽게 보간해야 한다. 갑작스러운 회전 변화는 사용자에게 어지러움을 유발할 수 있다.

2.4 키프레임 애니메이션

3D 애니메이션에서 키프레임(주요 자세)만을 지정하고 그 사이를 보간하여 부드러운 움직임을 만든다. 캐릭터의 회전 운동, 카메라 운동 등이 모두 회전 보간으로 처리된다.

2.5 센서 데이터의 시간 동기화

서로 다른 시각에 측정된 자세 데이터를 동일한 시간에 정렬하기 위해 보간이 필요하다. 예를 들어 IMU와 카메라의 시각이 다를 때, IMU 자세를 카메라 시각으로 보간한다.

2.6 자세 추정의 평활화

칼만 필터나 그래프 최적화의 자세 추정 결과를 평활화(smoothing)할 때, 시간 축에서의 보간이 사용된다.

3. 회전 보간이 일반 보간과 다른 점

3.1 매니폴드 구조

회전 공간 SO(3)은 매니폴드이며, 유클리드 공간이 아니다. 단순히 두 회전 행렬의 원소를 선형 보간하면 결과가 더 이상 회전 행렬이 아니게 된다.

3.2 매개변수의 비유클리드성

회전을 매개화하는 다양한 방법(오일러 각, 쿼터니언, 회전 벡터 등) 중 유클리드 공간에서 보간하면 회전 공간에서 매끄럽지 않은 결과가 나올 수 있다.

3.3 비가환성

회전의 합성이 가환하지 않으므로, “두 회전 사이의 절반“을 정의하는 것이 단순하지 않다.

이러한 차이로 인해 회전 보간은 단순한 선형 보간보다 복잡한 처리가 필요하다.

4. 좋은 회전 보간이 만족해야 할 성질

4.1 매끄러움(Smoothness)

보간 함수 \mathbf{R}(t)t에 대해 연속적이어야 하며, 가능하면 미분 가능해야 한다. 이산적 점프가 없어야 한다.

4.2 끝점 일치

\mathbf{R}(0) = \mathbf{R}_0, \mathbf{R}(1) = \mathbf{R}_1을 정확히 만족해야 한다.

4.3 매니폴드 보존

모든 t에 대해 \mathbf{R}(t) \in SO(3)을 유지해야 한다. 즉, 보간된 결과가 항상 유효한 회전이어야 한다.

4.4 일정한 각속도

이상적으로는 보간이 일정한 각속도로 진행되어야 한다. 즉, t가 균일하게 증가할 때 회전도 균일한 비율로 변해야 한다.

4.5 측지선 보간

SO(3) 매니폴드 상의 측지선(geodesic)을 따라 보간되어야 한다. 측지선은 두 점 사이의 “가장 짧은 경로“이며, 가장 자연스러운 보간이다.

4.6 좌표 불변성

특정 좌표계나 매개화에 의존하지 않아야 한다. 즉, 어떤 좌표계에서 표현하더라도 같은 보간 결과를 산출해야 한다.

4.7 합성 호환성

\mathbf{R}_0\mathbf{R}_1에 같은 회전 \mathbf{R}_0'을 합성한 후 보간한 결과가 보간 후 합성한 결과와 일치해야 한다(좌-/우-불변성).

5. 부적절한 보간 방법

5.1 회전 행렬의 원소별 선형 보간

\mathbf{R}(t) = (1-t)\mathbf{R}_0 + t\mathbf{R}_1

이 방법은 매우 잘못된 결과를 산출한다. 결과 행렬이 일반적으로 회전 행렬이 아니다(정규 직교성 위반).

5.2 오일러 각의 선형 보간

\boldsymbol{\eta}(t) = (1-t)\boldsymbol{\eta}_0 + t\boldsymbol{\eta}_1

오일러 각을 선형 보간하면 결과가 매끄럽지 않다. 짐벌 락 근처에서 비정상적 거동을 보이며, 일정한 각속도를 보장하지 않는다.

5.3 쿼터니언의 선형 보간 (LERP)

\mathbf{q}(t) = (1-t)\mathbf{q}_0 + t\mathbf{q}_1

이 방법은 결과가 단위 쿼터니언이 아니므로 정규화가 필요하다. 또한 일정한 각속도를 보장하지 않는다.

이러한 부적절한 방법들의 한계는 후속 절(9.70-9.74)에서 더 자세히 다룬다.

6. 적절한 회전 보간 방법

6.1 SLERP (구면 선형 보간)

쿼터니언의 4차원 단위 구면 S^3 상의 측지선을 따른 보간이다. 일정한 각속도를 보장하며 매끄럽다. 가장 표준적인 회전 보간 방법이다.

6.2 NLERP (정규화된 선형 보간)

쿼터니언의 선형 보간 후 정규화하는 방법이다. SLERP보다 계산이 단순하지만 일정한 각속도를 정확히 보장하지는 않는다.

6.3 Squad (이중 구면 보간)

여러 키프레임 사이의 보간에 사용되며, 각 구간에서 매끄러운 미분 가능 보간을 제공한다.

6.4 리 군 측지선

SO(3) 매니폴드의 측지선을 직접 계산한다.

\mathbf{R}(t) = \mathbf{R}_0\exp(t\log(\mathbf{R}_0^{-1}\mathbf{R}_1))

이는 SLERP와 등가이며, 회전 행렬에서 직접 계산되는 형태이다.

7. 회전 보간의 응용 사례

7.1 매니퓰레이터 궤적 생성

매니퓰레이터의 말단 장치 자세를 키프레임 사이에서 부드럽게 보간하여 작업 공간 궤적을 생성한다. 위치는 직선 보간 또는 다항식 보간으로, 자세는 SLERP로 처리한다.

7.2 자율 주행 차량의 헤딩 보간

자율 주행 차량이 두 경로점 사이를 통과할 때 헤딩 방향을 매끄럽게 보간한다. 헤딩이 평면 회전이므로 2차원 회전 보간이 사용된다.

7.3 드론의 자세 명령

드론의 비행 제어에서 목표 자세가 매끄럽게 변화해야 한다. 목표 자세 명령을 SLERP로 보간하여 안정적 제어가 가능하다.

7.4 카메라 추적과 시점 전환

증강 현실, 시각화, 게임에서 카메라 시점이 매끄럽게 전환되도록 회전 보간이 사용된다.

7.5 자세 추정 평활화

자세 추정의 후처리(post-processing)에서 추정된 자세 시퀀스를 평활화할 때, 인접 자세 사이의 보간 또는 큐빅 스플라인이 사용된다.

7.6 모션 캡처 데이터 처리

모션 캡처 시스템이 누락된 프레임이 있는 경우 인접 프레임의 자세를 보간하여 누락을 채운다.

8. 보간의 시간 매개화

8.1 균일 매개화

t가 시간에 비례하면 회전도 균일하게 변한다(SLERP의 경우). 이는 일정한 각속도를 의미하며, 가장 단순한 매개화이다.

8.2 가속/감속 매개화

운동의 시작과 끝에서는 천천히, 중간에서는 빠르게 변하도록 t를 비선형적으로 매개화한다. 이는 더 자연스러운 동작을 만든다(예: ease-in, ease-out).

8.3 호 길이 매개화

t가 회전의 누적 호 길이에 비례하도록 매개화한다. 측지선 거리 기반의 보간이며, 시간과 회전 양의 관계가 명확해진다.

9. 회전 보간과 위치 보간의 결합

강체 변환의 보간은 회전과 위치를 모두 보간하는 것이다. 이때 다음의 두 접근이 가능하다.

9.1 분리 보간

회전과 위치를 독립적으로 보간한다. 위치는 직선 보간, 회전은 SLERP로 처리한다. 단순하고 효율적이다.

9.2 통합 보간 (스크류 보간)

SE(3) 매니폴드의 측지선을 따라 회전과 위치를 동시에 보간한다. 이는 슈아세의 정리에 의한 단일 스크류 운동이며, 더 자연스러운 운동을 만든다.

매니퓰레이터의 작업 공간 궤적에서는 분리 보간이 자주 사용되지만, 우주선의 자세 운동학에서는 통합 보간이 더 적합할 수 있다.

10. 참고 문헌

  • Shoemake, K. (1985). “Animating Rotation with Quaternion Curves.” SIGGRAPH Computer Graphics, 19(3), 245–254.
  • Park, F. C., & Ravani, B. (1997). “Smooth Invariant Interpolation of Rotations.” ACM Transactions on Graphics, 16(3), 277–295.
  • Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
  • Diebel, J. (2006). “Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors.” Stanford University Technical Report.
  • Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.

version: 1.0