【机器人学导论知识点+习题笔记2.1~2.13】(间歇性更新)
知識點:
定義:
1.世界坐標系 p13
2.笛卡爾坐標系 p13
3.旋轉矩陣(用于表示姿態)記為??也可稱為標準正交陣p14
4.方向余弦 p14
5.位姿 = 位置 + 姿態(四個矢量成一組表示位姿) p15
6.坐標平移 p16
7.坐標旋轉 p17
8.齊次變換矩陣 p18 用于表示一般變換的旋轉和平移
9.算子 p20
10.平移算子DQ p20 旋轉算子RK(θ)p21
11.歐拉角 p30
12.轉交排列設定法 p31
1.用三維位置矢量給世界坐標系中任何點定位矢量用一個左上標來表明坐標系
2.一組三個矢量可以用來確認一個姿態
旋轉矩陣
3.旋轉矩陣的逆矩陣等于它的轉置
4.線性代數中正交陣的逆等于它的轉置
5.正交陣是指滿足AA^T=E或者A^T A=E的n階方陣A,其中E為n階單位陣。
6.旋轉矩陣的行列式為1
7.旋轉矩陣也可以稱為標準正交陣
8.非標準正交陣的行列式是-1
9. 設A為n維方陣,若有A'=-A,則稱矩陣A為反對稱矩陣。
用一個三維列向量來描述位置
用一組三個三維列向量來描述一個姿態
用旋轉矩陣和位置向量,一共四個列向量來描述一個位姿
坐標平移
當兩個坐標系的姿態相同時,我們可以用矢量相加的方式來描述一個坐標系的矢量相對另一個坐標系的表示方法。
這里引入矢量PBORG來表示一個坐標系原點關于另一個坐標系原點的位置。
這樣AP = BP + PBORG
坐標旋轉
1.根據定義:旋轉矩陣的各列模均為1,并且這些單位矢量均相互正交,有:
2.旋轉矩陣的列描述的是B的單位矢量在A中的描述,所以旋轉矩陣的行就是A的單位矢量在B中的描述。
3.齊次變換矩陣表示了一般變換的旋轉和平移
?
?
算子
旋轉算子:矢量經某一旋轉R得到的旋轉矩陣與描述某個坐標系相對參考坐標系旋轉R所得的旋轉矩陣是相同的。
變換算子:包含旋轉R和平移Q的變換與描述某個坐標系相對于參考坐標系旋轉R并平移Q的變換是相同的。
逆變換
用3個參數來表示旋轉矩陣的方法:
X-Y-Z 固定角
使用條件:一開始坐標系和一個已知參考坐標系重合
注意事項:旋轉次序是從右往左排列的
X-Y-Z固定角的逆問題 角度求解公式 p 29
Z-Y-X 歐拉角
三次繞固定軸旋轉的最終姿態和以相反順序繞運動軸坐標系轉動的最終姿態相同 ????
Z-Y-Z 歐拉角
逆問題角度求解公式p31
習題詳解
從第二章開始:
我主要是補充書上沒給答案的那部分,有的時候對書上答案難理解的地方做一些解釋
2.1 【X-Y-Z固定軸】
2.2 【X-Y-Z固定軸】
按照題目旋轉的順序,從右向左寫矩陣
?
ans =
? ? 0.0810 ? -0.8509 ? -0.5190
? ? 0.1313 ? ?0.5253 ? -0.8407
? ? 0.9880 ? ? ? ? 0? ? ? ?0.1543
?2.3 【Z-Y-X歐拉角】
2.4 就是將數據代入,不多贅述
2.5 RB坐標系的X軸方向的單位向量??
2.7
matlab代碼
K = zeros(3,1); disp('請輸入K:'); for i = 1:3K(i) = input(''); end o = input('請輸入θ:'); R = [K(1)*K(1)*(1-cos(o))+cos(o) K(1)*K(2)*(1-cos(o)-K(3)*sin(o)) K(1)*K(3)*(1-cos(o))+K(2)*sin(o);K(1)*K(2)*(1-cos(o))+K(3)*sin(o) K(1)*K(2)*(1-cos(o))+cos(o) K(2)*K(3)*(1-cos(o))-K(1)*sin(o);K(1)*K(3)*(1-cos(o))-K(2)*sin(o) K(2)*K(3)*(1-cos(o))+K(1)*sin(o) K(3)*K(3)*(1-cos(o))+cos(o)];?2.8 【公式在p29】
代入公式得:
回轉角為:?0.0717
俯仰角為:0.3618
偏轉角為:0.3880
2.10
代入公式得:
Z-Y-Z歐拉角:
β =??0.5242
α =?-0.7854
γ =?0.7854
2.11
由線性代數的知識可知,兩個N階對稱矩陣相乘可以互換。所以兩個旋轉矩陣是對稱陣即可
2.13
由題意:TBC = TUC*TAU*TBA
MATLAB代碼:
TUA = [0.866 -0.5 0 11;0.5 0.866 0 -3;0 0 1 9;0 0 0 1]; TBA = [1 0 0 0;0 0.866 -0.5 10;0 0.5 0.866 -20;0 0 0 1]; TCU = [0.866 -0.5 0 -3;0.433 0.75 -0.5 -3;0.25 0.433 0.866 3;0 0 0 1]; RUA = [0.866 -0.5 0;0.5 0.866 0;0 0 1]; PUA = [11;-1;8]; TAU = [RUA' -RUA'*PUA;0 0 0 1]; RCU = [0.866 -0.5 0;0.433 0.75 -0.5;0.25 0.433 0.866]; PCU = [-3 -3 3]'; TUC = [RCU' RCU'*PCU;0 0 0 1]; TBC = TUC*TAU*TBA結果:
?
?
總結
以上是生活随笔為你收集整理的【机器人学导论知识点+习题笔记2.1~2.13】(间歇性更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用PLSQL解决世界最难数独(不到1毫秒
- 下一篇: 、谷歌离线地图开发教程