四元數的筆記

2022-02-17 16:27:31 字數 1886 閱讀 1668

四元數 \(h = a + bi + cj + dk\)

共軛: $ h^* = a -bi -cj -dk$

逆: $ h^ = \frac$

所以單位四元數的共軛等於他的逆

單位四元數(絕對值為1的四元數)若實部為cos(t),它的共軛作用是乙個角度為2t的轉動,轉軸為虛部的方向。

四元數的優點是:

只有單位四元數才能表示旋轉,所以在eigen中一般會有quaternion.normialzed()進行歸一化的處理

任給乙個單位四元數q,計算它的虛部,我們就馬上可以知道轉軸是什麼,計算乙個單位四元數的實部,它的反余弦值給出旋轉角的一半。在四元數表示下,計算轉軸和旋轉角變得異常簡單。

當我們使用旋轉軸加上旋轉角表示旋轉的時候,我們定義如下

\(v =u \theta\) , u是單位向量,\(\theta = ||v||\)

並且由泰勒展開,我們有, \(e^v = e^ = cos\theta + usin\theta\)

記住乙個繞軸u旋轉\(\theta\)角度的旋轉,表示成四元數的時候是做兩次旋轉,對應的q是\(cos(\frac ) + u sin(\frac )\) = \(

\begin

cos(\frac ) \\

u sin(\frac ) \\

\end\)

\[x^ = q \bigotimes x \bigotimes q^ = rx

\]對應的當我們旋轉很小的角度,\(\theta\) --> 0的時候,我們對上面的矩陣和e函式求近似值,有

對時間求微分

\[\frac = lim \frac

\]代入就有

\]看上面的公式,角速度在不同的座標系表示下,乙個是乘在左邊的乙個是在右邊的,如果把右邊的乙個r乘過去,

\[\dotr(t)^t = \phi(t)^\wedge

\]這個是不是很熟悉,就是李群和李代數之間的變換關係。

在下面的那篇**中可以證明,

說明李群中對應的skew-matrix不是隨便選取的(不是只要滿足反對成矩陣的性質),是有一定的方法。\(\omega\)又叫做rotation vector. encodes the angle and axis of rotation

在一段時間內\([t_n,t_]\),\(\dot \omega =0\),

上面的左邊就是\(e^\),根據上面說的這個指數對應的旋轉角是\(w_n \delta t\),所以有,

\[q(n+1) = q(n) \bigotimes q\

\]這樣我們就有了相鄰時刻的四元數關係,上面的所有公式都可以在下面的**找到。

quaternion kinematics for the error-state kalman filter

四元數的學習筆記

在平時的開發中,經常會遇到旋轉的操作,也因此經常會接觸到四元數的相關概念。但是,這個概念說難不難,但是理解起來也挺費勁的。我經常會使用到四元數,但是每次使用時都會查資料,當時理解了概念,但是過兩天又忘記了,當再次使用的時候,又要重新查資料。挺蛋疼。於是就寫一篇部落格,關於四元數,算是加強印象。先放一...

四元數乘法 剛體旋轉中的四元數

四元數博大精深,用途之一圖形學中的三維旋轉。單純從應用角度考慮,四元數可以以如下方式應用於旋轉。旋轉示意圖 假定我們有乙個經過原點的旋轉軸 其中 則,3d旋轉可以通過四元數乘法來表示 1 其中,為單位四元數,等價於 和 分別為 的共軛和逆。對於單位四元數而言 根據式 1 結合四元數的乘法,可以完成一...

視覺SLAM筆記(12) 四元數

3.旋轉表示 4.旋轉矩陣轉換 旋轉矩陣用九個量描述三自由度的旋轉,具有冗餘性 尤拉角和旋轉向量是緊湊的,但具有奇異性 事實上,找不到不帶奇異性的三維向量描述方式 這有點類似於,當想用兩個座標表示地球表面時 如經度和緯度 必定存在奇異性 緯度為 90 時經 度無意義 三維旋轉是乙個三維流形,想要無奇...