10.25 쿼터니언 미분과 각속도의 관계

1. 쿼터니언 운동학의 기본 방정식

시간에 따라 변하는 단위 쿼터니언 \mathbf{q}(t)의 시간 미분은 각속도 \boldsymbol{\omega}와 다음의 기본 관계를 가진다.

\dot{\mathbf{q}} = \frac{1}{2}\mathbf{q}\otimes\boldsymbol{\omega}_q

또는 좌표계에 따라

\dot{\mathbf{q}} = \frac{1}{2}\boldsymbol{\omega}_q\otimes\mathbf{q}

여기서 \boldsymbol{\omega}_q = (0, \boldsymbol{\omega})는 각속도 벡터의 순수 벡터 쿼터니언 표현이고, \otimes는 쿼터니언 곱이다.

이 관계는 **쿼터니언 운동학(quaternion kinematics)**의 핵심 방정식이며, 자세 추정과 제어의 기초이다.

2. 두 좌표계의 구분

위 공식의 두 형태는 각속도가 어느 좌표계에서 표현되는지에 따라 다르다.

2.1 본체 좌표계의 각속도

각속도가 본체 좌표계에서 측정된 경우(\boldsymbol{\omega}_B):

\dot{\mathbf{q}} = \frac{1}{2}\mathbf{q}\otimes\boldsymbol{\omega}_{q,B}

2.2 공간 좌표계의 각속도

각속도가 공간(월드) 좌표계에서 측정된 경우(\boldsymbol{\omega}_W):

\dot{\mathbf{q}} = \frac{1}{2}\boldsymbol{\omega}_{q,W}\otimes\mathbf{q}

두 형태는 서로 관련이 있지만, 사용 시 좌표계 선택에 주의해야 한다. IMU가 측정하는 각속도는 일반적으로 본체 좌표계의 값이므로 첫 번째 형태가 더 자주 사용된다.

3. 유도

3.1 단위 노름 제약

\lVert\mathbf{q}(t)\rVert = 1의 양변을 시간 미분하면

\frac{d}{dt}(\mathbf{q}^T\mathbf{q}) = 2\mathbf{q}^T\dot{\mathbf{q}} = 0

즉, \dot{\mathbf{q}}\mathbf{q}에 직교한다. 이는 \dot{\mathbf{q}}\mathbf{q}에 대한 S^3의 접공간에 속함을 의미한다.

3.2 쿼터니언 곱으로의 표현

접공간의 원소는 \mathbf{q}를 기준으로 한 다음의 형태로 표현될 수 있다.

\dot{\mathbf{q}} = \mathbf{q}\otimes\mathbf{p}

여기서 \mathbf{p}는 어떤 쿼터니언이다.

\mathbf{q}^T\dot{\mathbf{q}} = 0의 조건으로부터 \mathbf{p}가 순수 벡터 쿼터니언(\mathrm{Re}(\mathbf{p}) = 0)이어야 함을 유도할 수 있다.

3.3 각속도와의 연결

순수 벡터 쿼터니언 \mathbf{p} = (0, \mathbf{p}_v)로 표현된 운동학적 양은 각속도와 관련이 있다. 비례 상수 1/2를 결정하기 위해 회전 행렬의 시간 미분 공식 \dot{\mathbf{R}} = [\boldsymbol{\omega}]_\times\mathbf{R}을 사용한다.

회전 행렬과 쿼터니언의 관계를 미분하고 위의 공식과 비교하면

\mathbf{p}_v = \frac{1}{2}\boldsymbol{\omega}

따라서

\dot{\mathbf{q}} = \frac{1}{2}\mathbf{q}\otimes\boldsymbol{\omega}_q

이며, 여기서 \boldsymbol{\omega}_q = (0, \boldsymbol{\omega})이다.

4. 쿼터니언 미분의 명시적 형태

\mathbf{q} = (q_w, q_x, q_y, q_z)\boldsymbol{\omega} = (\omega_x, \omega_y, \omega_z)일 때, 쿼터니언 미분은 성분별로 다음과 같다.

\dot{q}_w = \frac{1}{2}(-q_x\omega_x - q_y\omega_y - q_z\omega_z)

\dot{q}_x = \frac{1}{2}(q_w\omega_x + q_y\omega_z - q_z\omega_y)

\dot{q}_y = \frac{1}{2}(q_w\omega_y + q_z\omega_x - q_x\omega_z)

\dot{q}_z = \frac{1}{2}(q_w\omega_z + q_x\omega_y - q_y\omega_x)

이 공식은 쿼터니언 곱을 전개한 결과이며, 수치 계산에서 직접 사용된다.

5. 행렬 형태

쿼터니언 미분을 행렬-벡터 곱으로 표현할 수 있다.

\dot{\mathbf{q}} = \frac{1}{2}\boldsymbol{\Omega}(\boldsymbol{\omega})\mathbf{q}

여기서 \boldsymbol{\Omega}(\boldsymbol{\omega})는 다음의 4 \times 4 행렬이다.

\boldsymbol{\Omega}(\boldsymbol{\omega}) = \begin{bmatrix} 0 & -\omega_x & -\omega_y & -\omega_z \\ \omega_x & 0 & \omega_z & -\omega_y \\ \omega_y & -\omega_z & 0 & \omega_x \\ \omega_z & \omega_y & -\omega_x & 0 \end{bmatrix}

이 행렬은 반대칭 행렬이며, 각속도로부터 쿼터니언의 시간 진화를 기술하는 연산자이다.

6. 쿼터니언 미분의 기하학적 해석

6.1 접공간

쿼터니언 미분 \dot{\mathbf{q}}S^3 상의 점 \mathbf{q}에서의 접벡터이다. 즉, \mathbf{q}에 수직한 방향이다.

6.2 각속도와 접벡터의 관계

각속도 \boldsymbol{\omega}는 3차원 벡터이지만, 쿼터니언 공간에서의 접벡터 \dot{\mathbf{q}}는 4차원이다. 1/2 계수는 회전 각의 절반이 쿼터니언에 사용되기 때문이다.

7. 역방향: 쿼터니언 미분에서 각속도로

쿼터니언과 그 미분으로부터 각속도를 추출할 수 있다.

\boldsymbol{\omega}_q = 2\mathbf{q}^*\otimes\dot{\mathbf{q}}

또는 본체 좌표계의 경우

\boldsymbol{\omega}_q = 2\mathbf{q}^*\otimes\dot{\mathbf{q}}

이 식의 결과는 순수 벡터 쿼터니언이며, 그 벡터 부분이 각속도이다.

8. 수치 적분

각속도로부터 쿼터니언을 시간 적분하는 방법은 여러 가지가 있다.

8.1 오일러 적분 (1차)

가장 단순한 방법은 오일러 적분이다.

\mathbf{q}_{k+1} = \mathbf{q}_k + \dot{\mathbf{q}}_k\Delta t

그러나 이는 단위 노름을 보존하지 않는다. 매 단계 후 정규화가 필요하다.

8.2 정확한 지수 적분

각속도가 일정하다고 가정하면, 정확한 적분은 지수 함수로 표현된다.

\mathbf{q}_{k+1} = \mathbf{q}_k\otimes\exp\left(\frac{\boldsymbol{\omega}\Delta t}{2}\right)

여기서 \exp는 쿼터니언 지수 함수이다. 작은 회전에 대해 이 지수는 다음과 같이 계산된다.

\exp\left(\frac{\boldsymbol{\omega}\Delta t}{2}\right) = \left(\cos\left(\frac{\lVert\boldsymbol{\omega}\rVert\Delta t}{2}\right), \frac{\sin(\lVert\boldsymbol{\omega}\rVert\Delta t/2)}{\lVert\boldsymbol{\omega}\rVert}\boldsymbol{\omega}\right)

이 방법은 단위 노름을 정확히 보존하며, 수치적으로 안정적이다.

8.3 고차 룬게-쿠타 적분

더 정밀한 적분이 필요한 경우 룬게-쿠타 방법을 사용할 수 있다. 그러나 매 단계마다 정규화가 필요하다.

8.4 리 군 적분기

SO(3) 매니폴드의 구조를 존중하는 특별한 적분기가 있다. 이는 매 단계 후 매니폴드에서 벗어나지 않도록 설계되었다.

9. 쿼터니언 미분의 응용

9.1 자세 추정

IMU의 자이로스코프가 각속도 \boldsymbol{\omega}를 측정하고, 이를 적분하여 자세 \mathbf{q}를 갱신한다.

\mathbf{q}_{k+1} = \mathbf{q}_k\otimes\exp\left(\frac{\boldsymbol{\omega}_k\Delta t}{2}\right)

9.2 자세 제어

자세 오차의 미분으로부터 제어 입력(각속도 또는 토크)을 계산한다. 쿼터니언 운동학 방정식이 피드백 제어 설계의 기반이 된다.

9.3 칼만 필터

칼만 필터의 예측 단계에서 쿼터니언 운동학 방정식이 상태 전이 모델로 사용된다. 오류 상태 칼만 필터(ESKF)는 이 방정식을 효율적으로 활용한다.

9.4 시각 관성 오도메트리 (VIO)

VIO에서 IMU 각속도를 사용한 자세 예측이 쿼터니언 운동학 방정식을 기반으로 한다.

10. 쿼터니언 미분과 회전 행렬 미분의 비교

회전 행렬 미분은 다음과 같다.

\dot{\mathbf{R}} = [\boldsymbol{\omega}]_\times\mathbf{R} \quad \text{(공간 좌표계)}

\dot{\mathbf{R}} = \mathbf{R}[\boldsymbol{\omega}]_\times \quad \text{(본체 좌표계)}

쿼터니언 미분의 형태

\dot{\mathbf{q}} = \frac{1}{2}\mathbf{q}\otimes\boldsymbol{\omega}_q \quad \text{(본체 좌표계)}

는 회전 행렬 미분의 본체 좌표계 형태와 구조적으로 유사하다. 둘 다 오른쪽에서 각속도가 곱해진다.

11. 쿼터니언 미분과 단위 노름 보존

쿼터니언 미분 방정식은 자동으로 단위 노름을 보존한다. 즉, \mathbf{q}(t)가 단위 노름이면 \dot{\mathbf{q}}(t)의 방향은 항상 \mathbf{q}에 직교하고, 노름이 증가하거나 감소하지 않는다.

증명: \lVert\mathbf{q}\rVert^2 = \mathbf{q}\mathbf{q}^*의 시간 미분

\frac{d}{dt}(\mathbf{q}\mathbf{q}^*) = \dot{\mathbf{q}}\mathbf{q}^* + \mathbf{q}\dot{\mathbf{q}}^*

\dot{\mathbf{q}} = \frac{1}{2}\mathbf{q}\otimes\boldsymbol{\omega}_q를 대입하면

= \frac{1}{2}\mathbf{q}\boldsymbol{\omega}_q\mathbf{q}^* + \frac{1}{2}\mathbf{q}(\mathbf{q}\boldsymbol{\omega}_q)^*

(\mathbf{q}\boldsymbol{\omega}_q)^* = \boldsymbol{\omega}_q^*\mathbf{q}^* = -\boldsymbol{\omega}_q\mathbf{q}^* (\boldsymbol{\omega}_q가 순수 벡터이므로 \boldsymbol{\omega}_q^* = -\boldsymbol{\omega}_q)

= \frac{1}{2}\mathbf{q}\boldsymbol{\omega}_q\mathbf{q}^* - \frac{1}{2}\mathbf{q}\boldsymbol{\omega}_q\mathbf{q}^* = 0

따라서 노름이 시간에 보존된다.

다만, 수치 적분에서 부동 소수점 오차로 단위 노름이 점점 손실될 수 있으므로 주기적 정규화가 필요하다.

12. 작은 회전의 근사

작은 시간 간격에서 각속도가 일정하다고 가정하면, 쿼터니언 갱신을 근사할 수 있다.

12.1 차 근사

\mathbf{q}_{k+1} \approx \mathbf{q}_k + \frac{1}{2}\mathbf{q}_k\otimes\boldsymbol{\omega}_q\Delta t

이는 단위 노름을 정확히 보존하지 않는다.

12.2 차 근사

\mathbf{q}_{k+1} \approx \mathbf{q}_k + \frac{1}{2}\mathbf{q}_k\otimes\boldsymbol{\omega}_q\Delta t + \frac{1}{8}\mathbf{q}_k\otimes(\boldsymbol{\omega}_q\otimes\boldsymbol{\omega}_q)\Delta t^2

더 정확하지만 여전히 단위 노름을 정확히 보존하지 않는다.

12.3 정확한 지수

\mathbf{q}_{k+1} = \mathbf{q}_k\otimes\exp\left(\frac{\boldsymbol{\omega}_q\Delta t}{2}\right)

이는 단위 노름을 정확히 보존하며 권장되는 방법이다.

13. 변수 각속도의 처리

실제 시스템에서 각속도는 일반적으로 시간에 따라 변한다. 이 경우 적분 방법은 다음과 같다.

13.1 단계별 상수 근사

각 시간 단계에서 각속도가 일정하다고 가정한다. 단계가 충분히 작으면 정확한 근사가 된다.

13.2 평균 각속도

두 시점의 각속도의 평균을 사용한다.

\bar{\boldsymbol{\omega}} = \frac{\boldsymbol{\omega}_k + \boldsymbol{\omega}_{k+1}}{2}

13.3 고차 적분

룬게-쿠타 등의 고차 방법을 사용한다. 각 단계 내에서 각속도의 변화를 고려한다.

14. 부호 일관성

쿼터니언 미분에서 부호 이중성은 일반적으로 문제가 되지 않는다. \mathbf{q}-\mathbf{q}가 같은 회전을 나타내며, 미분도 부호만 반전된다.

\frac{d(-\mathbf{q})}{dt} = -\dot{\mathbf{q}}

그러나 시간 시퀀스에서 부호 점프가 발생하면 비매끄러운 미분이 될 수 있다. 따라서 연속적 부호 추적이 중요하다.

15. 참고 문헌

  • Hamilton, W. R. (1844). “On Quaternions; or on a New System of Imaginaries in Algebra.” Philosophical Magazine, Vol. 25, 489–495.
  • Kuipers, J. B. (1999). Quaternions and Rotation Sequences. Princeton University Press.
  • Sola, J. (2017). “Quaternion Kinematics for the Error-State Kalman Filter.” arXiv:1711.02508.
  • Markley, F. L., & Crassidis, J. L. (2014). Fundamentals of Spacecraft Attitude Determination and Control. Springer.
  • Titterton, D. H., & Weston, J. L. (2004). Strapdown Inertial Navigation Technology (2nd ed.). IET.

version: 1.0