在SLAM經常需要談論一件事情,就是座標系變換與座標變換,座標系變換和座標變換是不一樣的,要注意區分兩者的不同。在n維線性空間中,任意n個線性無關的向量都可取作它的基或座標系。但是對於不同的基或座標系,同一個向量的座標是不同的,下面討論當基改變時,向量的座標是如何變化的。
一、基變換
設xxx1,xxx2,…,xxxn是舊基,yyy1,yyy2,…,yyyn是新基,則根據基的定義可以知道
或者形式的寫成
其中矩陣CCC稱作由舊基到新基的過渡矩陣,過渡矩陣代表了座標系變換或者基變換,可以證明過渡矩陣是非奇異矩陣。
二、座標變換
當我們知道了座標系的變換之後就可以求解座標變換的問題了,假設一個向量ppp在舊基下的座標爲(ξ1,ξ2,...,ξn)T,在新基下的座標爲(η1,η2,...,ηn)T,那麼有:
ppp=ξ1xxx1+ξ2xxx2+...+ξnxxxn=η1yyy1+η2yyy2+...+ηnyyyn
根據過渡矩陣,可以得到:
(η1,η2,...,ηn)T=C−1(ξ1,ξ2,...,ξn)T
上式即爲同一向量在不同座標系下的座標變換,可以看到座標變換矩陣是基變換矩陣的逆。
三、旋轉矩陣與平移向量
在視覺SLAM中,相機運動屬於剛體運動,而剛體運動可以分解爲旋轉和平移。當定義好了相機座標系後,相機座標系的旋轉可以用旋轉矩陣來表示,平移可以用平移向量來表示,注意,這裏旋轉矩陣和平移向量一般在世界座標系下的表達。假設相機座標系1經過旋轉和平移變成了座標系2,將座標系1設爲世界座標系,旋轉矩陣爲RRR,平移向量爲ttt,某向量在座標系1中的座標爲aaa=(a1,a2,a3)T,在座標系2中的座標系爲bbb=(b1,b2,b3)T,則
aaa=RRRbbb+ttt
旋轉矩陣是正交陣,自然也是非奇異矩陣。上述座標是用非齊次座標來表示的,如果改成齊次座標:aaa′=(a1,a2,a3,1)T和bbb′=(b1,b2,b3,1)T
則上式可以寫成更簡單的表達方式:
aaa′=TTTbbb′
其中
TTT稱作變換矩陣(Transformation Matrix),用於描述歐式變換。
那麼旋轉矩陣和基變換是什麼關係呢?答:旋轉矩陣就是基變換,但旋轉矩陣和平移向量構成的變換不是基變換。
四、位姿
位姿在視覺SLAM中是指每一幀對應的相機座標系相對於世界座標系(或初始幀相機座標系)的剛體運動:即旋轉矩陣和平移向量,故位姿是座標系的變換而非座標變換。有了每一幀的位姿,我們就可以得到相機的運動軌跡。