slam十四講(一)三維空間剛體運動

2022-07-06 00:57:08 字數 1836 閱讀 5188

外積的方向垂直於這兩個向量,大小為 |a| |b| sin ⟨a, b⟩,是兩個向量張成的四邊形的有向面積。且外積可以表達旋轉矩陣。

其中這個為反對稱矩陣,寫作a^

我們把中間的陣拿出來,定義成乙個矩陣 r。這個矩陣由兩組基之間的內積組成,刻畫了旋轉前後同乙個向量的座標變換關係。只要旋轉是一樣的,那麼這個矩陣也是一樣的。

可以說,矩陣 r 描述了旋轉本身。因此它又稱為旋轉矩陣。

旋轉矩陣的性質:

1.rt=r-1

2.行列式=1

3.符合so(3)性質

轉和平移合到一起,有:

a、 = ra + t.

齊次座標與變化矩陣

我們把乙個三維向量的末尾新增 1,變成了四維向量,稱為齊次座標。對於這個四維向量,我們可以把旋轉和平移寫在乙個矩陣裡面,使得整個關係變成了線性關係。該式中,矩陣 t 稱為變換矩陣(transform matrix)。我們暫時用 ã 表

示 a 的齊次座標。

關於變換矩陣 t ,它具有比較特別的結構:左上角為旋轉矩陣,右側為平移向量,左

下角為 0 向量,右下角為 1。這種矩陣又稱為特殊歐氏群(special euclidean group):

對於座標系的旋轉,我們知道,任意旋轉都可以用乙個旋轉軸和乙個旋轉角來刻畫。於是,我們可以使用乙個

向量,其方向與旋轉軸一致,而長度等於旋轉角。這種向量,稱為旋轉向量(或軸角, axis-angle)。這種表示法只需乙個三維向量即可描述旋轉。

我們也可以計算從乙個旋轉矩

陣到旋轉向量的轉換。對於轉角 θ,有

尤拉角則提供了一種非常直觀的方式來描述旋轉——它使用了三個分離的轉角,把乙個旋轉分解成三次繞不同軸的旋轉。

1. 繞物體的 z 軸旋轉,得到偏航角 yaw;

2. 繞旋轉之後的 y 軸旋轉,得到俯仰角 pitch;

3. 繞旋轉之後的 x 軸旋轉,得到滾轉角 roll。

s 稱為四元數的實部,而 v 稱為它的虛部。如果乙個四元數虛部為 0,稱之為實四元數。反之,若它的實部為 0,稱之為虛四元數。

用四元數表示旋轉

相似、仿射、射影變換

相似變換:

仿射變換:

射影變換:

視覺SLAM十四講 三 三維空間剛體運動 下

理論部分請看 三維空間剛體運動 首先安裝 eigen sudo apt get install libeigen3 dev一般都安裝在 usr include eigen3 中 include include using namespace std eigen 部分 include 稠密矩陣的代數運...

視覺SLAM十四講 三 三維空間剛體運動 下

理論部分請看 三維空間剛體運動 首先安裝 eigen sudo apt get install libeigen3 dev一般都安裝在 usr include eigen3 中 include include using namespace std eigen 部分 include 稠密矩陣的代數運...

SLAM學習 三維空間剛體變換(1)

1.歐式變換 相機運動是乙個剛體運動,它保證了同乙個向量在各個座標系下的長度和夾角都不會發生變化。這種變換稱為歐氏變換。乙個歐式變換由乙個旋轉和乙個平移兩部分組成 其中,旋轉矩陣表徵繞各個座標軸所旋轉的角度,平移矩陣表徵沿各個座標軸移動的大小 如 考慮世界座標系中的向量a 經過一次 旋轉 用 r 描...