10.26 쿼터니언 운동학 방정식의 유도

1. 운동학 방정식의 목표

쿼터니언 운동학 방정식의 목표는 쿼터니언 \mathbf{q}(t)의 시간 미분과 각속도 \boldsymbol{\omega} 사이의 관계를 유도하는 것이다. 결과는 다음의 단순하고 우아한 공식이다.

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

본 절에서는 이 공식을 단계별로 유도한다.

2. 유도 방법 1: 회전 행렬 미분으로부터

2.1 회전 행렬의 시간 미분

회전 행렬 \mathbf{R}(t)의 시간 미분은 다음과 같다.

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

여기서 [\boldsymbol{\omega}]_\times는 각속도 벡터의 반대칭 행렬 표현이다.

2.2 쿼터니언과 회전 행렬의 관계

단위 쿼터니언 \mathbf{q}와 회전 행렬 \mathbf{R}(\mathbf{q})의 관계로부터 시작한다. \mathbf{q}의 시간 미분이 \mathbf{R}의 시간 미분을 어떻게 결정하는지 계산한다.

2.3 벡터 회전 공식의 미분

벡터 회전 공식 \mathbf{v}' = \mathbf{q}\mathbf{v}\mathbf{q}^*의 시간 미분

\dot{\mathbf{v}}' = \dot{\mathbf{q}}\mathbf{v}\mathbf{q}^* + \mathbf{q}\mathbf{v}\dot{\mathbf{q}}^*

여기서 \mathbf{v}는 고정된 벡터이고, \mathbf{q}\mathbf{v}' = \mathbf{q}\mathbf{v}\mathbf{q}^*가 시간에 따라 변한다.

2.4 각속도를 이용한 \dot{\mathbf{v}}'

회전 행렬 미분으로부터

\dot{\mathbf{v}}' = \dot{\mathbf{R}}\mathbf{v} = \mathbf{R}[\boldsymbol{\omega}]_\times\mathbf{v} = \mathbf{R}(\boldsymbol{\omega}\times\mathbf{v})

쿼터니언 표현으로 (순수 벡터 쿼터니언 사용)

\dot{\mathbf{v}}' = \mathbf{q}(\boldsymbol{\omega}\times\mathbf{v})\mathbf{q}^*

2.5 두 표현의 일치

두 표현이 일치해야 한다.

\dot{\mathbf{q}}\mathbf{v}\mathbf{q}^* + \mathbf{q}\mathbf{v}\dot{\mathbf{q}}^* = \mathbf{q}(\boldsymbol{\omega}\times\mathbf{v})\mathbf{q}^*

2.6 \dot{\mathbf{q}}의 결정

이 식을 \dot{\mathbf{q}}에 대해 풀기 위해 다음의 가정을 도입한다.

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

여기서 \mathbf{p}는 어떤 쿼터니언이다. 단위 노름 제약으로부터 \mathbf{p}는 순수 벡터 쿼터니언이어야 한다.

이 가정을 대입하면

(\mathbf{q}\mathbf{p})\mathbf{v}\mathbf{q}^* + \mathbf{q}\mathbf{v}(\mathbf{q}\mathbf{p})^*

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

= \mathbf{q}\mathbf{p}\mathbf{v}\mathbf{q}^* - \mathbf{q}\mathbf{v}\mathbf{p}\mathbf{q}^*

= \mathbf{q}(\mathbf{p}\mathbf{v} - \mathbf{v}\mathbf{p})\mathbf{q}^*

두 순수 벡터 쿼터니언 \mathbf{p}\mathbf{v}의 곱의 차이는

\mathbf{p}\mathbf{v} - \mathbf{v}\mathbf{p} = 2(\mathbf{p}\times\mathbf{v})

(쿼터니언 곱 공식으로부터, 외적 항이 두 배가 된다)

따라서

\dot{\mathbf{v}}' = 2\mathbf{q}(\mathbf{p}\times\mathbf{v})\mathbf{q}^*

이것이 \mathbf{q}(\boldsymbol{\omega}\times\mathbf{v})\mathbf{q}^*와 같아야 하므로

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

2.7 결과

따라서

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

이는 본체 좌표계의 각속도에 대응하는 쿼터니언 운동학 방정식이다.

3. 유도 방법 2: 축-각도 표현으로부터

3.1 작은 회전의 쿼터니언

짧은 시간 \Delta t 동안의 작은 회전을 고려한다. 각속도가 \boldsymbol{\omega}이면 회전 각은 \Delta\phi = \lVert\boldsymbol{\omega}\rVert\Delta t이고, 회전 축은 \hat{\mathbf{u}} = \boldsymbol{\omega}/\lVert\boldsymbol{\omega}\rVert이다.

이에 대응하는 쿼터니언은

\Delta\mathbf{q} = (\cos(\Delta\phi/2), \sin(\Delta\phi/2)\hat{\mathbf{u}})

3.2 작은 회전의 근사

\Delta t \to 0의 극한에서 \Delta\phi \to 0이므로

\cos(\Delta\phi/2) \approx 1

\sin(\Delta\phi/2) \approx \Delta\phi/2 = \lVert\boldsymbol{\omega}\rVert\Delta t/2

따라서

\Delta\mathbf{q} \approx \left(1, \frac{\lVert\boldsymbol{\omega}\rVert\Delta t}{2}\hat{\mathbf{u}}\right) = \left(1, \frac{\boldsymbol{\omega}\Delta t}{2}\right)

3.3 쿼터니언 갱신

시간 t에서 t + \Delta t로의 쿼터니언 갱신은 본체 좌표계 각속도에 대해

\mathbf{q}(t + \Delta t) = \mathbf{q}(t)\otimes\Delta\mathbf{q}

이다. 작은 회전의 근사를 대입하면

\mathbf{q}(t + \Delta t) \approx \mathbf{q}(t)\otimes\left(1, \frac{\boldsymbol{\omega}\Delta t}{2}\right)

3.4 미분으로의 변환

양변에서 \mathbf{q}(t)를 빼고 \Delta t로 나누어 \Delta t \to 0의 극한을 취하면

\dot{\mathbf{q}}(t) = \lim_{\Delta t\to 0}\frac{\mathbf{q}(t + \Delta t) - \mathbf{q}(t)}{\Delta t}

\mathbf{q}(t)\otimes(1, \mathbf{0}) = \mathbf{q}(t)이므로

\mathbf{q}(t + \Delta t) - \mathbf{q}(t) \approx \mathbf{q}(t)\otimes\left(0, \frac{\boldsymbol{\omega}\Delta t}{2}\right)

\Delta t로 나누면

\frac{\mathbf{q}(t + \Delta t) - \mathbf{q}(t)}{\Delta t} \approx \mathbf{q}(t)\otimes\left(0, \frac{\boldsymbol{\omega}}{2}\right) = \frac{1}{2}\mathbf{q}(t)\otimes\boldsymbol{\omega}_q

극한을 취하면 기본 운동학 방정식이 얻어진다.

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

4. 유도 방법 3: 지수 사상으로부터

4.1 쿼터니언 지수 사상

S^3에서 쿼터니언 지수 사상은 다음과 같이 정의된다.

\exp(\mathbf{p}) = \sum_{k=0}^\infty \frac{\mathbf{p}^k}{k!}

순수 벡터 쿼터니언 \mathbf{p} = (0, \mathbf{p}_v)에 대해

\exp(\mathbf{p}) = (\cos\lVert\mathbf{p}_v\rVert, \sin\lVert\mathbf{p}_v\rVert\mathbf{p}_v/\lVert\mathbf{p}_v\rVert)

4.2 시간 적분

각속도가 일정할 때 쿼터니언의 시간 진화는

\mathbf{q}(t) = \mathbf{q}(0)\otimes\exp\left(\frac{\boldsymbol{\omega}_q t}{2}\right)

4.3 미분

위 식을 t에 대해 미분하면

\dot{\mathbf{q}}(t) = \mathbf{q}(0)\otimes\exp\left(\frac{\boldsymbol{\omega}_q t}{2}\right)\otimes\frac{\boldsymbol{\omega}_q}{2} = \mathbf{q}(t)\otimes\frac{\boldsymbol{\omega}_q}{2} = \frac{1}{2}\mathbf{q}\otimes\boldsymbol{\omega}_q

이는 동일한 기본 운동학 방정식을 산출한다.

5. 두 좌표계의 차이

5.1 본체 좌표계의 각속도

위에서 유도한 공식은 본체 좌표계의 각속도에 대응한다.

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

본체 좌표계는 강체에 고정된 좌표계이며, IMU의 자이로스코프가 측정하는 각속도이다.

5.2 공간 좌표계의 각속도

공간 좌표계의 각속도에 대응하는 공식은 다음과 같다.

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

각속도가 왼쪽에서 곱해진다.

5.3 두 좌표계의 변환

본체 좌표계 각속도와 공간 좌표계 각속도의 관계는 다음과 같다.

\boldsymbol{\omega}_W = \mathbf{R}(\mathbf{q})\boldsymbol{\omega}_B

이 관계로부터 한 형태의 운동학 방정식에서 다른 형태로 변환할 수 있다.

6. 유도의 물리적 의미

6.1 절반의 각속도

쿼터니언 운동학 방정식에서 1/2 계수는 쿼터니언이 회전 각의 절반을 사용하는 사실을 반영한다. 각속도 \boldsymbol{\omega}가 짧은 시간 동안 작용할 때, 쿼터니언의 변화는 실제 회전 각의 절반에 해당한다.

6.2 이중 피복의 반영

S^3SO(3)을 이중 피복한다는 사실이 1/2 계수로 나타난다. 물리적 회전 각이 쿼터니언에서 절반으로 인코딩되기 때문이다.

6.3 쿼터니언 곱과 미분의 관계

쿼터니언 곱이 회전 합성이고, 운동학 방정식은 “무한소 회전의 적용“으로 해석된다. 곱의 형태가 합성과 미분의 구조적 유사성을 보여준다.

7. 운동학 방정식의 검증

7.1 단위 노름 보존

유도한 방정식이 자동으로 단위 노름을 보존함을 확인할 수 있다(앞 절에서 증명). 이는 \dot{\mathbf{q}}가 항상 \mathbf{q}에 직교함을 의미한다.

7.2 회전 행렬과의 호환

쿼터니언 미분과 회전 행렬 미분이 서로 호환된다.

\mathbf{R}(\dot{\mathbf{q}}) \cdot \mathbf{R}(\mathbf{q})^{-1} \cdot \mathbf{v} = \boldsymbol{\omega}\times\mathbf{v}

이는 두 표현이 같은 회전 속도를 기술함을 의미한다.

8. 일반화된 운동학 방정식

각속도가 시간에 따라 변하는 경우에도 기본 공식이 성립한다.

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

이는 시간 의존적 공식이며, 수치 적분 시 각속도의 시간 변화를 고려해야 한다.

9. 확장: 각가속도

각가속도(angular acceleration) \dot{\boldsymbol{\omega}}도 쿼터니언 기구학에 영향을 준다. 쿼터니언의 이차 미분은 다음과 같이 표현된다.

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

이는 동역학 분석과 더 정밀한 적분에 사용된다.

10. 운동학 방정식의 활용

10.1 자세 추정

IMU의 각속도를 적분하여 자세를 갱신한다.

10.2 자세 제어

목표 자세로 수렴하기 위한 제어 입력(각속도)을 결정한다.

10.3 시뮬레이션

강체의 회전 운동을 시뮬레이션할 때 운동학 방정식이 사용된다.

10.4 칼만 필터

확장 칼만 필터와 오류 상태 칼만 필터에서 상태 전이 모델로 사용된다.

11. 참고 문헌

  • 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