lastnamesong

[Rotation Matrix] Properties of vee/hat operator 본문

Robotics

[Rotation Matrix] Properties of vee/hat operator

응솩이 2024. 7. 17. 00:00
반응형

앞선 글에서 Skew-symmetric matrix와 vee/hat operator의 정의에 대해 소개했던 적이 있다.

 

[Rigid Body Motions] Linear & Angular Velocities

Linear and angular velocities of rigid bodies

lastnamesong.tistory.com

 

Skew-symmetric matrix와 3차원 벡터의 mapping으로 정의할 수 있다.

이 중 hat operator와 관련한 쓸모있는 성질들을 소개하고 몇 가지는 증명을 해보도록 하겠다. 이 글에서 정의하는 수식적인 부분 중 소문자 알파벳 (e.g., \(a, b, ...\))은 \(3 \times 1 \) 벡터, \( R \)은 3차원의 rotation matrix로 정의하겠다. 


- \( \hat{\cdot} \) is linear

Linearity를 보이기 위해서는 두 가지를 확인하면 된다. Superposition과 Homogeneity이다. 어려워 보이는 듯한 이 용어는 수식으로 표현하면 간단하게 표현할 수 있다.

  • superposition: \( \widehat{a + b} = \hat{a} + \hat{b} \)
  • homogeneity: \( \gamma \hat{a} = \widehat{\gamma a} \) ( \( \gamma \)는 scalar)

이를 보이기 위해서는 \( \widehat{(\gamma_{1}a_{1} + \gamma_{2}a_{2})} = \gamma_{1}\hat{a_{1}} + \gamma_{2}\hat{a_{2}} \)임을 보이면 되며, 그 방법은 \( a_{1} = \begin{bmatrix} a_{1x} & a_{1y} & a_{1z} \end{bmatrix}^{T} \), \( a_{2} = \begin{bmatrix} a_{2x} & a_{2y} & a_{2z} \end{bmatrix}^{T} \)로 정의하고 다 넣어서 풀면 된다.

 

- \( \hat{a}b = a \times b \)

외적을 풀어보면 쉽게 확인할 수 있다. \( a = \begin{bmatrix} a_{x} & a_y & a_z \end{bmatrix}^{T} \)와 \( b = \begin{bmatrix} b_{x} & b_y & b_z \end{bmatrix}^{T} \)에 대해

$$ a \times b = \begin{bmatrix} a_{x} \\ a_{y} \\ a_{z} \end{bmatrix} \times \begin{bmatrix} b_{x} \\ b_{y} \\ b_{z} \end{bmatrix} = \begin{bmatrix} 0 & -a_{z} & a_{y} \\ a_{z} & 0 -a_x \\ -a_y & a_x & 0\end{bmatrix} \begin{bmatrix} b_{x} \\ b_{y} \\ b_{z} \end{bmatrix} = \mathbf{\hat{a}b} $$

 

- \( \widehat{Ra} = R\hat{a}R^{T} \)

사실 이 부분에 대해서 증명을 찾아보다가 이 글을 쓰게 되었다..

 

[Rotation Matrix] 회전변환과 벡터 외적의 분배법칙(?)

회전변환 행렬의 여러 성질이 있지만, 벡터 외적과 관련하여 흥미로운 성질이 있어 공유한다. 두 벡터를 회전시킨 후 벡터 외적을 취하는 것과 벡터 외적을 먼저 취한 다음 결과를 회전시키는

lastnamesong.tistory.com

위의 글에서, \( (Ra) \times (Rb) = R(a \times b) \)임을 보였다. 이를 hat operator를 이용하여 skew-symmetry form으로 써보면,

$$ \widehat{Ra} (Rb) = R(\hat{a}b)$$

 

그리고 \( \hat{a} \)와 \( b \) 사이에 \( R^{T}=I \)를 넣으면 identity matrix를 곱한 것이므로 식에 영향을 주지 않으면서 다음과 같이 쓸 수 있게 된다.

$$ \widehat{Ra} (Rb) = R(\hat{a}b) = R(\hat{a}R^{T}Rb) $$

결합법칙으로 정리하면

$$ \widehat{Ra}(Rb) = (R\hat{a}R^{T})(Rb)$$

 

위의 식이 임의의 \( 3 \times 1 \) 벡터 \(b\)에 대해 성립하려면 앞의 행렬들이 같아야 한다는 것은 자명하다.

$$ \widehat{Ra}R = R\hat{a}R^{T}R$$

양변의 우측에 \( R^T = R^{-1} \)을 곱하면 다음과 같은 식을 얻을 수 있다.

$$ \widehat{Ra} = R\hat{a}R^{T} $$

 

- Other useful properties of hat operator

  • \( \hat{a}^{T} = -\hat{a} \)
  • \( (a \times b)^{T} = a^T\hat{b} \)
  • \( \hat{a}\hat{b} = ba^{T} -  a^{T}bI \)
  • \( \hat{a}^T = aa^T- ||a||^{2}I \)
  • \( \widehat{a \times b} = \hat{a}\hat{b} - \hat{b}\hat{a} = ba^T-ab^T \)

이번 글에서는 skew-symmetry를 정의할 때 필수적으로 따라오는 vee/hat operator의 성질 대해 정리해보았다.

언젠가는 들여다 볼 일이 있기를..

 

 

반응형