Matlab Robotics Toolbox--旋轉矩陣
阿新 • • 發佈:2019-01-30
摘要
在機器人工具箱中,可以用rotx()、roty()、rotz()計算旋轉的旋轉矩陣,預設單位為度(版本10.2.0)。可以用trplot()和tranimate()實現座標旋轉視覺化。
獲取旋轉矩陣
- rotx(): R=rotx()是表示圍繞X軸旋轉角度為得到的旋轉矩陣,返回一個3x3的矩陣。
- roty(): R=roty()是表示圍繞Y軸旋轉角度為得到的旋轉矩陣,返回一個3x3的矩陣。
- rotz(): R=rotz()是表示圍繞Z軸旋轉角度為得到的旋轉矩陣,返回一個3x3的矩陣。
例如
>> R=rotx(30)
R =
1.0000 0 0
0 0.8660 -0.5000
0 0.5000 0.8660
繪製座標系
函式trplot()
trplot(R):繪製由旋轉矩陣R得到的座標系,其中座標系根據正交旋轉矩陣圍繞原點旋轉得到,R為3x3的矩陣。
trplot(T):trplot(R):繪製由齊次矩陣T表示的三維座標系,T為4x4的矩陣。另外函式trplot()還包含了以下主要可選引數
引數 | 意義 | 引數 | 意義 |
---|---|---|---|
‘noaxes’ | 在繪圖上不顯示座標軸 | ‘axis’, A | 將圖形顯示的軸尺寸設定為A,其中 A=[xmin xmax ymin ymax zmin zmax] |
‘color’,C | 設定軸的顏色,C代表MATLAB圖形內建的顏色型別 | ‘frame’,F | 將繪製出來的座標系命名為F,並且X,Y,Z軸的下標含有F |
‘text_opts’,opt | 調整顯示文字的字型等屬性;例如{‘FontSize’,10,’FontWeight’,’bold’} | ‘view’,V | 把繪圖檢視引數設定為V=[az,el]角度,或者對於座標系的原點檢視‘atuo’ |
‘length’,s | 座標軸的長度(預設值1) | ‘arrow’ | 設定座標軸的末端為箭頭,而不是線段 |
‘with’,w | 箭頭寬度(預設值1) | ’thick‘,t | 線條粗細,預設0.5 |
’3d‘ | 在三維空間中使用浮雕圖形繪製 | ’anaglyph‘,A | 將“3d”的浮雕顏色指定為左右兩個字元(預設為rc):選自紅,綠,藍,青,品紅 |
’dispar‘,D | 3d顯示差異(預設0.1) | ’text‘ | 啟用在框架上顯示X,Y,Z標籤 |
’labels‘,L | 使用字串L的第1個,第2個,第3個字元標記X,Y,Z軸 | ’rbg‘ | 以紅色,綠色,藍色分別顯示X,Y,Z軸 |
##動畫展示
函式為:tranimate()
tranimate(x1,x2,options)展示3D座標系從姿態x1變換到姿態x2的動畫效果。其中姿態x1和x2有三種表示方法:一個4x4的其次矩陣,或一個3x3的旋轉矩陣,或一個四元素。
tranimate(x,options)展示座標系由上一個姿態變換到姿態x的動畫效果。其中姿態x有三種表示方法:一個4x4的其次矩陣,或一個3x3的旋轉矩陣,或一個四元素。
tranimate(xseq,options)展示了移動一段軌跡的動畫效果。xseq可以是一組4x4xN的其次矩陣,或一組3x3xN的旋轉矩陣,或是一組四元素向量(Nx1).
options可以是以下可選引數
引數 意義 引數 意義 ‘fps’,fps 每秒顯示的幀數(預設為10) ‘nstep’,n 沿路徑的步數(預設50) ‘axis’,A 設定三個軸的邊界,A=[xmin xmax ymin ymax zmin zmax] ‘movie’,M 將幀儲存為資料夾M中的檔案,M為檔案的路徑 例子
R=rotx(0); R2=rotx(90); tranimate(R,R2);
結果如下圖所示
參考文獻
[1]機器人模擬與程式設計技術[M].楊辰光,李智軍,許楊.北京:清華大學出版社,2018