1. 程式人生 > >Matlab Robotics Toolbox--旋轉矩陣

Matlab Robotics Toolbox--旋轉矩陣

這裡寫圖片描述

摘要

在機器人工具箱中,可以用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);

    結果如下圖所示
    tannimate

    參考文獻
    [1]機器人模擬與程式設計技術[M].楊辰光,李智軍,許楊.北京:清華大學出版社,2018