「SLAM」三维空间刚体运动名词笔记
主要內(nèi)容:旋轉(zhuǎn)矩陣、變換矩陣、四元數(shù)、歐拉角
3.1 旋轉(zhuǎn)矩陣
3.1.1 點(diǎn)、向量和坐標(biāo)系
- 剛體:三維空間中的物體,需要用三維坐標(biāo)(xyz)和位姿(物體朝向)來描述
- 左/右手坐標(biāo)系:將大拇指、食指、中指兩兩垂直,定義大拇指代表x軸,食指代表y軸,中指代表z軸;那么左手xyz三個(gè)方向合起來表示的即是左手坐標(biāo)系,右手xyz三個(gè)方向合起來表示的即是右手坐標(biāo)系;區(qū)別是,左手坐標(biāo)系和右手坐標(biāo)系對(duì)應(yīng)的xyz軸,三軸不能同時(shí)重合
3.1.2 坐標(biāo)系間的歐氏變換
- 世界坐標(biāo)系/慣性坐標(biāo)系:固定不動(dòng)
- 移動(dòng)坐標(biāo)系:從世界坐標(biāo)系看移動(dòng)坐標(biāo)系,會(huì)發(fā)現(xiàn)移動(dòng)坐標(biāo)系在世界坐標(biāo)系中,原點(diǎn)會(huì)變化;而移動(dòng)坐標(biāo)系自己看自己,原點(diǎn)是不變的
- 剛體運(yùn)動(dòng):兩個(gè)坐標(biāo)系之間的運(yùn)動(dòng),由旋轉(zhuǎn)加上平移組成
- 歐式變換:在世界坐標(biāo)系下一個(gè)物體從一個(gè)點(diǎn)移動(dòng)到另一個(gè)點(diǎn)的過程,由旋轉(zhuǎn)和平移組成
- 旋轉(zhuǎn)矩陣:旋轉(zhuǎn)前后坐標(biāo)系的兩組基的內(nèi)積構(gòu)成的矩陣,描述了旋轉(zhuǎn)本身;旋轉(zhuǎn)矩陣是一個(gè)行列式為1的正交矩陣(充要)
- 平移矩陣:向量加減
3.1.3 變換矩陣與齊次坐標(biāo)
變換并不是線性的,為了方便表示多次變換的結(jié)果,引入了矩陣的表示方法,即齊次坐標(biāo)和變換矩陣,引入齊次坐標(biāo)后,寫成矩陣形式,變換即為線性了
- 齊次坐標(biāo):在某個(gè)向量坐標(biāo)末尾增加一個(gè)數(shù)值為1的維度,使其變成四維向量,該向量則被稱為齊次坐標(biāo)
- 變換矩陣:包含旋轉(zhuǎn)和平移,使變換關(guān)系為線性的矩陣。變換矩陣是一個(gè)分塊矩陣,其左上角為旋轉(zhuǎn)矩陣,右上角為平移向量,左下角為0向量,右下角為1;自由度為6(前,右,上,旋轉(zhuǎn),俯仰,偏航)
3.2 旋轉(zhuǎn)向量和歐拉角
由于旋轉(zhuǎn)矩陣用了4*4共16個(gè)數(shù)值來表達(dá)6個(gè)自由度之間的變換存在數(shù)據(jù)的冗余、旋轉(zhuǎn)矩陣自身帶有的行列式為1和正交的約束使得求解過程可能存在困難——從而引出了旋轉(zhuǎn)向量和歐拉角
3.2.1 旋轉(zhuǎn)向量
任意旋轉(zhuǎn)都可以用一個(gè)旋轉(zhuǎn)角和一個(gè)旋轉(zhuǎn)軸來刻畫,而旋轉(zhuǎn)向量正好包含了這兩個(gè)特性。
-
旋轉(zhuǎn)向量:向量方向與旋轉(zhuǎn)軸一致,向量長(zhǎng)度等于旋轉(zhuǎn)角,是一個(gè)三維向量,用于描述旋轉(zhuǎn)
假定存在一個(gè)單位向量n,此時(shí)向量具有一個(gè)方向,為旋轉(zhuǎn)軸的方向;假定旋轉(zhuǎn)角為θ,那么θn即可描述一次旋轉(zhuǎn) -
變換矩陣的旋轉(zhuǎn)向量表示:使用一個(gè)旋轉(zhuǎn)向量和一個(gè)平移向量即可表示變換矩陣,表達(dá)一次旋轉(zhuǎn)
-
旋轉(zhuǎn)矩陣R和旋轉(zhuǎn)向量θn之間的相互計(jì)算:
n -> R:
R -> θ:
旋轉(zhuǎn)軸n與R之間的關(guān)系:由于旋轉(zhuǎn)軸上的向量經(jīng)過旋轉(zhuǎn)后不發(fā)生改變,則有Rn = n,因此轉(zhuǎn)軸n是矩陣R特征值1對(duì)應(yīng)的特征向量
3.2.2 歐拉角
由于旋轉(zhuǎn)矩陣和旋轉(zhuǎn)向量的表述比較不直觀,為了直觀地表述旋轉(zhuǎn)究竟是怎么回事,歐拉角的概念被引入
大部分領(lǐng)域使用歐拉角時(shí)的定義(旋轉(zhuǎn)順序,旋轉(zhuǎn)方式)不一定相同
- 歐拉角:有三個(gè)分離的轉(zhuǎn)角,將一次旋轉(zhuǎn)分解成三次三個(gè)不同方向旋轉(zhuǎn)的總和
存在多種分解方式:旋轉(zhuǎn)軸旋轉(zhuǎn)的先后順序(xyz, zyx, yzx等),繞固定軸旋轉(zhuǎn)還是繞最新旋轉(zhuǎn)的軸旋轉(zhuǎn)等 - 偏航(yaw)、俯仰(pitch)、翻滾(roll)
偏航:繞物體Z軸旋轉(zhuǎn)得到
俯仰:繞物體Y軸旋轉(zhuǎn)得到
翻滾:繞物體X軸旋轉(zhuǎn)得到 - rpy角:一個(gè)膾炙人口的特定旋轉(zhuǎn)流程的歐拉角描述,rpy角旋轉(zhuǎn)順序是zyx
歐拉角的使用過程中會(huì)碰到一個(gè)萬向鎖問題。具體自行查閱。
3.3 四元數(shù)
旋轉(zhuǎn)矩陣用9個(gè)數(shù)值描述3個(gè)自由度的旋轉(zhuǎn)存在一定的冗余,而歐拉角和旋轉(zhuǎn)向量雖然緊湊但存在奇異性。
總結(jié)
以上是生活随笔為你收集整理的「SLAM」三维空间刚体运动名词笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 广东江门军人医院在哪里
- 下一篇: 「Swift」第三章String and