(二)機械人工具箱三維空間描述
1.旋轉矩陣
rx=rotx(pi/3); %繞x軸的旋轉矩陣rx(pi/3),同理如下
ry=roty(pi/4);
rz=rotz(pi/2);
2.帶變數的旋轉矩陣
syms alpha beta gama
rx1=rotx(alpha) %繞x軸的旋轉矩陣,同理如下
ry1=roty(beta)
rz1=rotz(gama)
3.座標系繪製
trplot(rx,'frame','rx_1','color','g');%rx即要繪製的旋轉矩陣,frame是當前座標系的標識
顯示效果
3.座標系繪製
trplot(rx,'frame','rx_1','color','g');%rx即要繪製的旋轉矩陣,frame是當前座標系的標識
4.旋轉動畫顯示
while(1)
tranimate(rz*rx*ry);%顯示從基座標開始到rz的變換動畫
pause(5);%等待5s再迴圈動畫
end5.尤拉角(zyz時)
ou_zyz=eul2r(0.1,0.2,0.3);%zyz尤拉角,等價於下面的旋轉變換的疊乘
r1=rotz(0.1)*roty(0.2)*rotz(0.3);
trplot(ou_zyz);%繪製尤拉角
tranimate(ou_zyz);%動畫顯示尤拉變換
rot_eul1=tr2eul(r1);%旋轉矩陣轉換為尤拉角
6.尤拉角(卡爾丹式 xyz,翻滾、俯仰、偏航)
ou_xyz=rpy2r(0.1,0.2,0.3);%xyz尤拉角,理論上等價於下面旋轉變換的疊乘
r2=rotx(0.1)*roty(0.2)*rotz(0.3);
rot_eul2=tr2rpy(r2);%旋轉矩陣轉換為尤拉角
7.繞任意軸旋轉
r3=eul2r(0.1,0.2,0.3);
[theta,v]=tr2angvec(r3);%theta 表示旋轉角度的大小,v 表示轉軸的方向向量
執行結果
theta =
0.4466
v =0.0450 0.4486 0.8926
上面的這些資訊實際上是包含在 r3 的特徵值和特徵向量中,仔細對比lambdta對角線上的元素為r3的特徵值,由於正交旋轉矩陣必有有乙個特徵值為1其餘的為lambdta值為 cos(theta)±isin(theta),而特徵值為1所對應的列向量即為旋轉軸的方向向量
[v,lambda]=eig(r3)
執行結果
v =0.7064 + 0.0000i 0.7064 +0.0000i 0.0450 + 0.0000i
-0.0143 - 0.6318i -0.0143 +0.6318i 0.4486 + 0.0000i
-0.0284 + 0.3175i -0.0284 -0.3175i 0.8926 + 0.0000i
lambda =
0.9019 + 0.4319i 0.0000 +0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.9019 - 0.4319i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 +0.0000i 1.0000 + 0.0000i
上面的紅色字型為 cos(theta)=0.9019 、sin(theta)= 0.4319
,黃色背景表示特徵值1對應的列向量為旋轉軸
8.四元數
四元數的表示為 q=s+v=s+v1i+v2j+v3k,其中s為標量
q=quaternion(rpy2r(0.1,0.2,0.3));%執行結果中第乙個是標量,其他的為i、j、k
執行結果
q =
0.98186 < 0.064071, 0.091158, 0.15344>
若q.norm=1 則表示的是單位四元數,即 s2+v12+v22+v32=1
單位向量非常特殊,他可以表示繞軸n轉了theta角,相關關係為s=cos(theta/2) ,v=sin(theta/2)n
8.四元數
q=quaternion(rpy2r(0.1,0.2,0.3));%執行結果中第乙個是標量,其他的為i、j、k
q.inv();%表示四元數的逆或者說是共軛
q*q.inv();%乘積為標量
q/q;%等價於q*q.inv()
q.r;%表示將四元數轉換為旋轉矩陣
q.plot();%繪製四元數座標系
Matlab機械人工具箱(二)
上一章主要介紹了在二維和三維空間中如何描述位姿。這一章則將上章拓展到物件,其位姿是時間的函式。分兩個部分,第乙個部分主要討論如何產生一系列短暫的位姿序列,一條足夠光滑的從起始位姿到終止位姿的軌跡 第二部分主要討論位姿改變速率的概念,即其導數,以及如何將從機械學角度比如速度和角速度等方面將這些概念 聯...
matlab機械人工具箱學習
選了機械人的課,作業需要用matlab機械人工具箱robotic toolbox。作業要求是搭建乙個機械臂,然後在工作空間某個平面內寫乙個字,涉及到機械人的軌跡規劃,求逆解。步驟 1.搭建四軸scara機械人 dh模型i ad 1 02250 1 201750 23 00d0 4000 3 建立機械...
機械人工具箱的安裝
機械人工具箱的安裝 機械人工具箱估計會一直更新下去,下面把工具箱管理者更新工具箱的位址貼上 上面有許多程式 的示例和一些 addpath c robotic tool box rvctools startup rvc 上面的這種方法在每次開啟matlab之後都需要手動輸入這兩條指令,未免有些繁瑣,下...