四元概要をリーリー代数でVisual SLAM

SLAMは、多くの場合、毎分は大きな頭を取得するには、多くの場合、外出先を導出する数式を導出する必要がある回転変換を表現する四元、とリーリー代数に使用されています。ので、いくつかの自然を固定どこでもSLAMに、多くの場合、これだけ一般的に使用される式と自然の一部であることができることを覚えてあまりにも多くの不要のため、これらの数学的基礎の詳細な研究は、存在しない、使用されています。したがって、私はこのプロジェクトで、将来の使用のための簡単な概要については、これらの数学的基礎の上にここにいます。

回転表現

SLAMは、しばしば回転変換空間を表現する3つの方法で使用されている:回転ベクトル、回転行列、四元。

回転ベクトル

単位ベクトルが存在する仮説空間:回転ベクトル回転変換空間を表す非常に直感的であることができる(\ mathbf {N} \ \ ) 、に(\ \ mathbf {N} \ ) 軸と回転方向と\(\ mathbf {N} \)同じ回転角度(\ \シータ\) :回転変換とを組み合わせて、 "対角軸"と呼ぶことができる- (\ <\シータ、\ mathbf {N}>)\、作業ベクトルの形で組み合わせることができる:\(\ mathbf {\ファイ} = \シータ\ {N-mathbf} \)

回転行列

回転行列\(\ mathbf {R} _ {AB}は\) オブジェクトによって表すことができるポーズ\(A \)ポーズする回転変換を\(B \)場合、プロセスを\(A \)B(\ \ )座標系として、\(\ mathbf {R} _ {BAは} \) 座標系を表すことができる)(\ \の座標系における(B \)\の姿勢。セット\(Wは\)世界のためには、姿勢によって物体の座標系(\ mathbf {R} _ { WA} \)\ 変換ジェスチャー\(\ mathbf {R} _ {WB} \) であることができる{\(\ mathbfをR} _ {AB} \)ことを示す:\(\ mathbf {R&LT} _ {WB} = \ mathbf {R&LT} _ {WA} \ mathbf {R} _ {AB} \)を
座標の関係は非常にある場合明らかに、インデックスが直接直接除去することができると呼ぶ(\ mathbf {R} \ \ ) を特徴とする。\(\ mathbf {R} \ ) 以下の特性を有する直交行列の単位で:

  1. \(\ mathbf {R} \ ) の行(列)の単位ベクトルであり、それぞれ直交しています。
  2. \(\ mathrm {それ}(\ mathbf {R})= 1 \)
  3. \(\ mathbf {R} ^ { - 1} = \ mathbf {R} ^ \ mathrm {T} \)

クォータニオン

四元数は以下のように定義することができる:
\ [\ mathbf} = {Q + W + XI + YJ ZK \]

前記\(I、J、K \ ) 以下の三つの仮想特性を満足3つの虚数単位四元である:
\ [\ {\開始マトリックス} {I ^ J ^ 2 + 2 + K \左^ 2 = 1 \\ IJ = K 、JI = -k \\ JK = I、KJ = -i \\ KI = J、IK = -j \端{行列} \右。\]

四元数はまた、のように表すことができる
\ [\ mathbf {Q} = [W、X、Y、Z] ^ \ mathrm {T} \]

若しくは

\ [\ mathbf {Q} = [S、\ mathbf {V}]、\ mathbf {V} = [X、Y、Z] ^ \ mathbb {R} ^ 3 \ \でmathrm {T} \]

我々が使用することができ、単位四元数を条件を満たす任意の空間回転変換、表現するために\(W ^ 2 + X ^ 2 + y ^ 2 + Z ^ 2 = 1 \) クォータニオンクォータニオンユニット。

三つの方法の間の変換

3つの数学的なツールは、交換することができ、彼らは実際には同等であり、回転スペースを示すことができます。

回転ベクトル\(\ leftrightarrow \)回転行列

回転ベクトルが設定されている\(\ mathbf {\ファイ} = \シータ\ N-mathbf {} \)された回転行列と等価である、\(\ R&LT mathbf {} \) 両者間の変換は羅を使用することができますロドリゲス式は、達成即ちれる
\ [\ mathbf {R} = \ COS \シータ\ mathbf {I} +(1 - \ COS \シータ)\ mathbf {N} \ mathbf {N} ^ \ mathrm {T} + \罪\シータ\ mathbf { N} ^ {\楔} \]

前記\(\ mathbf {N} ^ {\くさび} \) によって\(\ mathbf {N} \ ) 対称行列になって、すなわち
\ [\ mathbf {N} ^ {\楔} = \始まります0 -n_3 bmatrix} {&n_3とN_2&0 \\ \\&-n_1のN_1&0&-n_2 \ bmatrix終了{} \]
\(\ {N-mathbfは} \)を使用することもできる反対称行列である(\ [\ mathbf {N}] _ {\回} \)が表されています。
逆に、\(\ mathbf {R} \ ) に\(\ mathbf {N} \ ) の方法である:
\ [\ \左{\開始マトリックス{} \シータ= \ ARCCOS(\ FRAC {\ mathrm {TR}(\ mathbf {R
}) - 1} {2})\\ \ mathbf {R} \ mathbf {N} = \ mathbf {N} \端{行列}] \ \右請求\(\ mathbf {R} \ mathbf {N} = \ mathbf {N} \) 行列を表す(\ mathbf {R} \は、\ ) ユニットに対応する固有ベクトル値によって特徴付けられます。

回転ベクトル\(\ leftrightarrow \)四元

回転ベクトルが設定されている\(\ mathbf {\ファイ} = \シータ\ N-mathbf {} \)として、四元均等物\(\ mathbf {Q} \)がある:
\ [\ mathbf { Q} = \ COS \ FRAC { \シータ} {2} + \ mathbf {N} \罪\ FRAC {\シータ} {2} = [\ COS \ FRAC {\シータ} {2}、\ mathbf {N} \罪\ FRAC {\シータ}
{2}] ^ \ mathrm {T} \] 虚数とオイラーの公式のこの変換は非常に似ている、すなわち、\(\ mathrm {E} ^ {J \シータ} = \ COS \シータ+ J \のSiN \シータ\)アナロジーを覚えています、。

回転行列\(\ leftrightarrow \)四元

提供クォータニオン\(\ mathbf {Q} = Q_0 q_2j + + + q_1i q_3k \)回転行列と等価であり、\(\ R&LT mathbf {} \) :、それらの間の変換
\ [\ mathbf {R} = \開始{bmatrix } 1-2q_2 ^ 2-2q_3 ^ 2&2 Q_1 Q_2 - 2 Q_0 q_3&2 Q_1 q_3 + 2 Q_0 Q_2 \\ 2 Q_1 Q_2 + 2 Q_0 q_3&1 - 2 Q_1 ^ 2 - 2 q_3 ^ 2&2 Q_2 q_3 - 2 Q_0 Q_1 \\ 2 Q_1 q_3 - 2 Q_0 Q_2&2 Q_2 q_3 + 2 Q_0 Q_1&1 - 2 Q_1 ^ 2 - 2 Q_2 ^ 2 \端{bmatrix} \]

\ [\開始{行列} Q_0 = \ FRAC {\ SQRT {\ mathrm {TR}(\ mathbf {R})+ 1} {2}&Q_1 = \ FRAC {M_ {23} -m_ {32}} {4 Q_0}&Q_2 = \ FRAC {M_ {31} -m_ {13}} {4} Q_0&q_3 = \ FRAC {M_ {12} - M_ {21}} {4 Q_0} \端{行列} \ ]

自然のリーリー代数

上記回転行列上記\(\ mathbf {R} \ ) 即ち特殊直交群リーSO(3)、および回転ベクトルを構成することができる(\ mathbf {\ PHI} \ = \シータ\ mathbf {} \)、リー代数を構成することができる(\ \ mathfrak {SO}(3)\) リー代数の導入のためには、その回転行列の導出は非常に便利になります。最適化対象のSLAMまたは姿勢の導出に回転したときには、Liリー代数とマトリックスとの間の遷移の多数を使用します。

インデックスと対数マッピング

リーインデックスと数代数リー間の変換を実現することができる。
指数マップ:
\ [\ R&LT mathbf} = {\ EXP(\ mathbf {\ファイ^ {} \}ウェッジ)= \ EXP(\シータ\ mathbf {} ^ {\くさび})= \ COS \シータ\ mathbf {I} +(1- \ COS \シータ)\ mathbf {} \ mathbf {} ^ {\ mathrm {T}} + \ 罪\シータ\ mathbf {} ^ {\楔} \]

この式は、ルックスの上に非常に知り合いではないでしょうか?ロドリゲス式の前に言ったはい、それは上記です。

対数マッピング:
\ [\ mathbf {\ファイ} = \ LN(\ mathbf {R&LT})^ {\ VEE} = \左(\ sum_ {N- = 0} ^ {\ inftyの} \ FRAC {( - 1)。 ^ n}が{N + 1}
(\ mathbf {R} - \ mathbf {I})^ {N + 1} \右)^ {\ VEE} \] この式は、少し複雑に見えますが、それはとにかく問題ではありませんまた、我々は通常、マップの数を計算する式を費やすことはありませんので、あまり使用されるが、微量の回転行列を用いて計算することがない、見回転ベクトルを\(\ leftrightarrow \)回転行列一つが導入されています。

BCH公式

指数関数\(\ EXP(X)\)(xはスカラー)と\(\ EXP(X_1)\ EXP(X_2)= \ EXP(X_1 + X_2)\) の特性が、リー代数インデックスマッピングか\(\ EXP(\ mathbf { \ PHI} _1 ^ {\くさび})\ EXP(\ mathbf {\ PHI} _1 ^ {\くさび})= \ EXP((\ mathbf {\ PHI} _1 + \ mathbf {\ファイ} _2)^ {\ウェッジ})\) それの性質?残念ながら、このプロパティは存在しませんが、BCHを用いて近似することができます。
次のようにBCHの式は、
\ [\ LN(\ EXP(\ mathbf {\ファイ} _1 ^ {\ウェッジ})\ mathbf {\ファイ} _2 ^ {\ウェッジ}))^ {\ VEEは} \約\ {\左開始\ {行列} \ mathbf { J} _L(\ mathbf {\ PHI} _2)^ { - 1} \ mathbf {\ PHI} _1 + \ mathbf {\ PHI} _2&\ mathbf {\ PHI} _1 \で\シグマ\\ \ mathbf {\ PHI } _1 + \ mathbf {J} _r(\ mathbf {\ PHI} _1)^ { - 1} \ mathbf {\ PHI} _2&\ mathbf {\ PHI} _2 \で\ シグマ\端{行列} \右 。\]

前記\(\シグマ\) 電子レンジの設定量を表します。上記式において、第二の近似式により右に左によって最初の近似のための式。これは次のようになりまし説明します。
最初の式は、回転行列を仮定することである\(\ mathbf {R} _2 \) これはリー代数に対応\(\ mathbf {\ファイ} _2 \) )、のための\(\ mathbf {R} _2 \)、若干の回転行列により左\(\ mathbf {R&LT} _1 \) リー代数にその対応である(\ mathbf {\ファイ} _1 \ \) )、\(\ mathbf {R} _1 \ mathbf {R} _2 \)リー代数に対応する程度である\(\ mathbf {J} _L (\ mathbf {\ PHI} _2)^ { - 1} \ mathbf {\ PHI} _1 + \ mathbf {\ PHI} _2 \) ここで、\(\ mathbf {J} _L (\ mathbf {\ PHI} _2)^ { - 1} \ mathbf {\ PHI} _1 \) わずかな回転行列によって左に(\ \ mathbf {R} _1 \)リー代数は増加の一部を引き起こしました。

第2の式のために、回転行列を仮定することである\(\ mathbf {R} _1 \) これはリー代数に対応\(\ mathbf {\ファイ} _1 \) )、のための\(\ mathbf {R} _1 \)わずかな回転行列右\(\ mathbf {R&LT} _2 \) リー代数に対応される\(\ mathbf {\ファイ} _2 \) )、\(\ mathbf {R} _1 \ mathbf {R} _2 \)リー代数に対応する程度である\(\ mathbf {J} _r (\ mathbf {\ PHI} _1)^ { - 1} \ mathbf {\ PHI} _2 + \ mathbf {\ PHI} _1 \) ここで、\(\ mathbf {J} _r (\ mathbf {\ PHI} _1)^ { - 1} \ mathbf {\ PHI} _2 \) わずかな回転行列によって左に(\ \ mathbf {R} _2 \)リー代数は増加の一部を引き起こしました。

BCH式は以下の形態でも書くことができる\(\デルタ\ mathbf {\ PHIが} \) :わずかな回転を添加する
\ [\開始{行列} \ EXP(\デルタ\ mathbfの{\ファイ^ {\ウェッジ} })\ EXP(\ mathbf { \ PHI ^ {\くさび}})= \ EXP((\ mathbf {J} _L ^ { - 1}(\ mathbf {\ PHI})\デルタ\ mathbf {\ PHI} + \ mathbf {\ PHI})^ {\くさび})\\ \ EXP(\ mathbf {\ PHI ^ {\くさび}})\ EXP(\デルタ\ mathbf {\ PHI ^ {\くさび}})= \ EXP ((\ mathbf {\ PHI} + \ mathbf {J} _r ^ { - 1}(\ mathbf {\ PHI})\デルタ\ mathbf {\ PHI})^ {\くさび})\\ \ EXP((\ mathbf {\ PHI} + \デルタ \ mathbf {\ PHI})^ {\くさび})= \ EXP((\ mathbf {J} _L \デルタ\ mathbf {\ PHI})^ {\くさび})\ EXP( \ mathbf {\ PHI} ^ { \くさび})= \ EXP(\ mathbf {\ PHI} ^ {\くさび})\ EXP((\ mathbf {J} \デルタ\ mathbf _r {\ PHI})^ {\ くさび})\端{行列} \]

リー代数導出

我々は空間点があると(\ mathbf {P}を\) \ 与えるために回転された\(\ mathbf {R&LT} \ mathbf {P}を\) そして今、我々は回転行列に対する誘導体の回転後の点を計算しますすなわち:
\ [\ FRAC {\部分(\ R&LT mathbf {} \ mathbf {P})} {\部分\ R&LT mathbf {^ {} \ mathrm {T}}} \]

ための\(\ mathbf {R} \で\ mathrm {SO}(3)\) ように誘導を容易にするために、我々は、派生にリー代数を使用することができるでは、離れ加えて、すなわち式が正式に変換される:
\ [\ FRAC {\部分(\ mathbf {R} \ mathbf {P})} {\部分\ mathbf {R} ^ {\ mathrm {T}}} \ Leftrightarrow \ FRAC {\ \(部分EXP(\ mathbf { \ PHI} ^ {\くさび} )\ mathbf {P})} {\部分\ mathbf {\ PHI}} = - (\ mathbf {R} \ mathbf {P})^ {\楔} \ mathbf {J} _L \]

式の結果にBCH-乗じて得られた近似を用いて得られ、以降は(\ mathbf {J} _L \ \) 外乱モデルを簡略化するために(左によって)使用することができるので、計算の複雑さが増加存在します。外乱モデル左の結果である:
\ [\ FRAC {\部分(\ mathbf {R&LT} \ mathbf {P})} {\部分\ mathbf {R&LT} ^ {\ mathrm {T}}} \ Leftrightarrow \ FRAC {\部分(\ mathbf {R} \ mathbf {P})} {\部分\ PHI} = - (\ mathbf {R} \ mathbf {P})^ {\楔} \]

あなたが派生方法を知りたい場合は、単に上記の式は、直接メモリへと、使用され、我々は文献[1] P74〜P75で見つかりました。

四元数の性質

ここでは主に4つの数多くの操作といくつかのプロパティの簡単な要約を作ること。特定チュートリアル四元読み出し参照[2]。

四の多数追加

\ [\ mathbf {P} + \ mathbf {Q} = [p_w、\ mathbf {P} _V] ^ {\ mathrm {T}} + [q_w、\ mathbf {Q} _V] ^ {\ mathrm {T} } = [p_w + q_w、\ mathbf {P} _V + \ mathbf {Q} _V] ^ {\ mathrm {T}} \]

四乗算無数

加算器四元記号\(\ otimes \)図。次のようにどちらのアルゴリズムは次のとおりです。

\ [\ mathbf {P} \ otimes \ mathbf {Q} = \ p_w q_w {bmatrixを}開始 - \ mathbf {P} _V ^ \ mathrm {T} \ mathbf {Q} _V \\ p_w \ mathbf {Q} _V + q_w \ mathbf {P} _V + \ mathbf {P} _V \回\ mathbf {Q} _V \端{bmatrix} \]

四元数乗算は、すなわち:可換ではない
\ [\ mathbf {P} \ otimes \ mathbf {Q} \ NEQ \ mathbf {Q} \ otimes \ mathbf {P} \]

しかし、四元数乗算依然として連想である、すなわち:
\ [(\ mathbf {P} \ otimes \ mathbf {Q})\ otimes \ mathbf {R&LT} = \ mathbf {P} \ otimes(\ mathbf {Q} \ otimes \ mathbf {R})\ ]

したがって、四元はまた、加算器、すなわち:にわたって分配
\ [\ mathbf {P} \ otimes(\ mathbf {Q} + \ R&LT mathbf {})= \ mathbf {P} \ otimes \ mathbf {Q} + \ mathbf {P} \ otimes \ mathbf {
R} \] または:
\ [(\ mathbf {P} + \ mathbf {Q})\ otimes \ mathbf {R&LT} = \ mathbf {P} \ otimes \ mathbf {R&LT} + \ mathbf {Q} \ otimes \ mathbf {R} \]

2つの四元数を乗算すること、すなわち、行列表現の形でも使用することができる:
\ [\ mathbf {Q} _1 \ otimes \ mathbf {Q} _2 = [\ mathbf {Q}] _ L \ mathbf {Q} _2 = [\ mathbf {Q}] _ R \ mathbf {Q} _1 \]

而其中的\([\ mathbf {Q}] _ L \)\([\ mathbf {Q}] _ R \)分别如下
\ [[\ mathbf {Q}] _ L = \開始{bmatrix} q_w& - q_x&-q_y&-q_x \\ q_x&q_w&-q_z&q_y \\ q_y&q_z&q_w&-q_x \\ q_z&-q_y&q_x&q_w \端{bmatrix} = q_w \ mathbf {I} +開始\ {bmatrix} 0 - \ mathbf {Q} _V ^ \ mathbf {T} \\ \ mathbf {Q} _V&[\ mathbf {Q} _V] _ {\回} \端{bmatrix} \]

\ [[\ mathbf {Q}] _ R = \開始{bmatrix} q_w&-q_x&-q_y&-q_x \\ q_x&q_w&q_z&-q_y \\ q_y&-q_z&q_w&q_x \\ q_z& q_y&-q_x&q_w \端{bmatrix} = q_w \ mathbf {I} + \開始{bmatrix} 0 - \ mathbf {Q} _V ^ \ mathbf {T} \\ \ mathbf {Q} _V& - [ \ mathbf {Q} _V] _ {\回} \端{bmatrix} \]

上記のこれらの2つの式が導出式またはプロセスを証明する際に有用である、我々は、に焦点を当てることができます。

リファレンス

[1]「ビジョンSLAM 14話す-理論から実践に」コ、タオ
[2]「のクォータニオン運動ジョーンソラエラー状態カルマンフィルタ」。

おすすめ

転載: www.cnblogs.com/MerakXuan/p/12148013.html