坐標轉換矩陣


參考:《Robotics,Vision and Control》、《魚雷航行力學》、其他學位論文

為了開題看論文,結果發現坐標轉換矩陣這個基礎部分竟然卡殼了,網上的一些討論要不缺少中間過程,要不甚至是錯的,於是整理了一下。
p.s.沒想到《Robotics,Vision and Control》這本一直認為和研究關系不大的書成了救命稻草。




右手定則
繞一個向量的旋轉

書上直接給出了分別繞x,y,z軸旋轉sita角度的矩陣,而且這三個矩陣也經常見到。但值得注意的是,這三個矩陣其實是坐標系的轉換矩陣,公式為

原坐標=[坐標轉換矩陣]新坐標

而我們通常是希望求新坐標,所以

新坐標=[坐標轉換矩陣的逆]原坐標

又因為是正交矩陣,所以求逆即轉置

新坐標=[坐標轉換矩陣的轉置]原坐標

看了一些論文,雖然最后總的坐標轉換矩陣是對的,但得出結論的過程里缺少了將坐標轉換矩陣轉置的操作,從而有誤(雖然過程一般會被讀者跳過),如下:

除此之外,也有的書籍(《魚雷航行力學》)和論文,把前面的推導過程省略,直接給出了點對點的坐標轉換矩陣,讓人感覺很奇怪,甚至懷疑結論的正確性。(但后來推導發現這是轉置后的矩陣)

於此同時,根據建立的坐標系的不同,旋轉順序也有差異,但有一定的標准。

下面《魚雷航行力學》書上的旋轉順序,是因為建立了“東-天-南”的地面坐標系,即x軸指東,y軸指天,z軸指南,與之對應的雷體坐標系也是按照“東-天-南”來使用,其旋轉順序為y-z-x,分別旋轉了航向-俯仰-橫滾角
而上面的旋轉矩陣來自於某些航空類的書籍和論文,因為是z軸在垂直方向(有的是z軸指天,有的是z軸指地...),常用的導航角旋轉順序是z-y-x,同樣是按照航向-俯仰-橫滾角的順序。

2020年補充
當你嘗試改變一個現有的Matlab仿真程序中的坐標系時,記得將S函數中設置的狀態變量中的歐拉角次序與x,y,z軸順序一一對應,比如對於“東-天-南”坐標系應分別為橫滾-航向-俯仰,然后才能得到新坐標系正確的坐標轉換矩陣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM