机器人研究方向的自我学习[2] Matlab机器人工具箱 欧拉角 参考书:《机器人学导论》第四版
生活随笔
收集整理的這篇文章主要介紹了
机器人研究方向的自我学习[2] Matlab机器人工具箱 欧拉角 参考书:《机器人学导论》第四版
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
空間描述和變換
- 空間描述和變換
- 1、位姿描述:即操作臂的位置和狀態。
- 2、坐標系一般變換:
- 3、復合變換和逆變換
- 4、其他姿態描述
- P43頁MATLAB練習
- 1.a
- 1.b
- 1.d
空間描述和變換
1、位姿描述:即操作臂的位置和狀態。
2、坐標系一般變換:
表示B相對于A的坐標
表示B坐標系的原點偏距
3、復合變換和逆變換
4、其他姿態描述
X-Y-Z固定角
Z-Y-X(z-y-z)歐拉角
首先將坐標系{B}和另一個已知參考坐標系{A}重合。先將{B}繞Zb轉α角,再繞Yb轉β角,最后繞Xb轉γ角。
等效角度-軸線表示法
符號Rx(30.0)表示繞一個給定軸X旋轉30度的姿態描述。
P43頁MATLAB練習
這里寫目錄標題
- 空間描述和變換
- 1、位姿描述:即操作臂的位置和狀態。
- 2、坐標系一般變換:
- 3、復合變換和逆變換
- 4、其他姿態描述
- P43頁MATLAB練習
- 1.a
- 1.b
- 1.d
1.a
注意
用 a,b,c分別代表角α,β,γ 。
我用的是角度,sind(角度)
運行程序,例如輸入角度45,45,45,得到旋轉矩陣R
1.b
clc clear alla=input("輸入歐拉角a:");%a-alpha,b-beta,c-gramma b=input("輸入歐拉角b:"); c=input("輸入歐拉角c:"); Rz=[cosd(a), -sind(a), 0; sind(a), cosd(a), 0; 0, 0, 1]; %afa是繞z軸旋轉a,偏航角——yaw Ry=[cosd(b),0, sind(b);0, 1, 0; -sind(b), 0, cosd(b)];%beta是繞y軸旋轉b,俯仰角——pitch Rx=[1, 0, 0; 0, cosd(c), -sind(c); 0, sind(c), cosd(c)];%gama是繞x軸旋轉c,翻滾角——rollR=Rz*Ry*Rx; b=(atan(-R(3,1)/sqrt(R(1,1)^2+R(2,1)^2)))*180/pi; a=(atan((R(2,1)/cosd(b))/(R(1,1)/cosd(b))))*180/pi; c=(atan((R(3,2)/cosd(b))/(R(3,3)/cosd(b))))*180/pi;if b==90a=0;b=90;c=(atan(R(1,2)/R(2,2)))*180/pi;elseif b==-90a=0;b=-90;c=(-atan(R(1,2)/R(2,2)))*180/pi;end enda b c運行程序:發現成功反解旋轉矩陣
1.d
clc; clear all;R=rotx(pi/4)*roty(pi/4)*rotz(pi/4);t=rpy2tr(pi/4,pi/4,pi/4);%求旋轉矩陣 w=(tr2rpy(t))*180/pi;%旋轉矩陣反解R t wt的第四行和第四列表示原點偏移為0.
注意:使用函數rpy2tr()反解旋轉函數時可能會有不同結果,因為有序旋轉順序的存在,故旋轉矩陣的反解會有多種。詳情請看:https://www.cnblogs.com/dadidelearning/p/9571101.html
總結
以上是生活随笔為你收集整理的机器人研究方向的自我学习[2] Matlab机器人工具箱 欧拉角 参考书:《机器人学导论》第四版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中关于API函数与系统调用
- 下一篇: 算法--机器人学导论