PCL:点云配准1、基础知识:平面3自由度、旋转矩阵精讲
背景:(臺大林沛群講義)
1、如何去描述一個剛體的運動?
先從平面開始:假設我們的剛體是圖中所畫的綠色的橢圓(黑白相見的是質心位置),在平面上面定義一個平面坐標(因為是二維的所以是xy),那如何去描述這個平面上的運動呢?一個平面運動總共有3個我們稱之為自由度(2個移動1個轉動),就等于說我們需要3個參數來描述它的運動,從圖中可以看出來這三個自由度中有兩個是可以是移動的,這個橢圓可以水平的移動沿著x軸,或者上下的移動沿著y軸,所以說我們需要2個參數來描述這個剛體的移動狀態,所以說平面上有兩個自由度;這個橢圓也可以在平面上做一個旋轉,可以是順時針轉或者是逆時針轉,所以說在平面上他需要有1個自由度來描述剛體的運動。所以總結來說在平面上我們需要3個自由度來描述這個剛體,或者說我們需要3個參數才夠。
??
假設是一個空間中的剛體:在原有的坐標系上加上一個Z軸,所以空間中是3個維度,空間中變成3個維度之后,假設從移動來看,質心就可以左右上下前后動,所以說移動有3個自由度;那轉動來看如果我們從這個軸的方向來想,它也可以分別對著X軸,Y軸跟Z軸做轉動,所以到了空間之后轉動是從平面的一個自由度直接跳到3個自由度,所以說如果在一個空間中的剛體原則上我們需要6個參數來描述他的運動(3個是移動的,3個是轉動的)。有了6個參數之后,我們有沒有一個方法可以把移動跟轉動混在一起來表達(這樣我們在列式子的時候不用說針對移動的部分寫一個式子,針對轉動的部分寫一個式子,而有一個統一的表達法涵蓋移動跟轉動兩個部分)。做法就是我們直接在剛體本身上建立一個坐標系(在綠色的橢球上畫上一個坐標系統),這個坐標系統是建立在剛體上面的,他會動,一般叫他body frame,通用方式我們會把這個body frame建立在剛體上的定點上面,簡單的剛體我們會像圖中一樣定在他的質心上面,怎樣利用這個坐標的姿態代表剛體的運動?現在坐標會跟著剛體在動,剛體動到哪里,坐標就會動到哪里,所以就可以說借由判斷剛體的原點位置就可以知道剛體的移動狀態(因為兩個是一直重合的)。
至于轉動的部分,剛體上邊牽著這3個坐標軸,所以只要這3個坐標軸在空間中轉來轉去,那我們通過這3個坐標軸相對于世界坐標系的姿態,我們就可以知道剛體坐標在世界坐標下的姿態是什么;所以我們借由一個frame的設定,同時利用frame原點,以及frame上邊3軸的一個姿態,就可以來描述一個剛體在空間中移動跟轉動兩個部分的狀態;
下面是要理解的重點:
問題1:Rotation Matrix與轉角?
針對Rotation matrix(旋轉矩陣)的三種用法總結:
1、用于描述一個frame(相對于另一個frame)的姿態
2、將point由一個frame的表達換到另一個和此frame僅有相對轉動的frame來表達
3、將point(vector)在同一個frame中進行轉動
問題2:二、兩個拆解方式:
1、Fixed angle(固定角度):對方向【固定不動】的轉軸旋轉;(在空間中固定某一個坐標系,作為基準(非自身坐標系),圍繞這個基準轉動)(有兩個坐標系比如世界和自身,是以世界魏為基準在轉。)
2、Euler angle(歐拉角):對【轉動的frame當下所在】的轉軸方向旋轉(在物體自身有一個基準,圍繞自身的XYZ轉動(轉軸隨著我們的狀態而變動的))(以自身為基準,跟世界無關)
理解兩種拆解方式的本質不同:固定角度先轉的對應矩陣放后邊乘與歐拉角先轉的對應矩陣放前邊乘的區別。歐拉角可以結合Mapping來想。
最后要明白:歐拉角的正轉跟固定角的反轉會得到得到一摸一樣的解。
下次繼續
參考鏈接:https://zhuanlan.zhihu.com/p/118671570
總結
以上是生活随笔為你收集整理的PCL:点云配准1、基础知识:平面3自由度、旋转矩阵精讲的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PCL:自定义创建带颜色的点云保存后rg
- 下一篇: IEEE-754标准(32位) 十六进制