python机械臂仿真_基于Python的3R机器人运动仿真
一、問題描述
如右圖所示的三自由度機(jī)械臂,關(guān)節(jié)1和關(guān)節(jié)2相互垂直,關(guān)節(jié)2和關(guān)節(jié)3相互平行。如圖所示,所有關(guān)節(jié)均處于初始狀態(tài)。
要求:
(1) 定義并標(biāo)注出各關(guān)節(jié)的正方向;
(2) 定義機(jī)器人基坐標(biāo)系{0}及連桿坐標(biāo)系{1},{2},{3};
(3) 求變換矩陣 , , ;
(4) 根據(jù)末端腕部位置 (x, y, z) 返求出對(duì)應(yīng)關(guān)節(jié) , , ;
(5) 利用軟件繪制出機(jī)器人模型的三維點(diǎn)線圖,并控制機(jī)器人腕部沿半徑r=0.1的圓弧運(yùn)動(dòng).
圖1 3R機(jī)器人示意圖
二、任務(wù)求解
2.1建立坐標(biāo)系
2.2變換矩陣
2.2.1變換求解
(1)連桿坐標(biāo)系{1}——基坐標(biāo)系{0}
原點(diǎn)重合,可繞z軸任意旋轉(zhuǎn)
(2)連桿坐標(biāo)系{2}——連桿坐標(biāo)系{1}
先繞x軸旋轉(zhuǎn)90°,再繞新得到的y軸旋轉(zhuǎn)90°,然后沿新得到的y軸平移 ,最后得到的坐標(biāo)系可繞z軸任意旋轉(zhuǎn)
(3)連桿坐標(biāo)系{3}——連桿坐標(biāo)系{2}
繞z軸旋轉(zhuǎn)-90°,再沿新得到的y軸平移 ,最后得到的坐標(biāo)系可繞z軸任意旋轉(zhuǎn)
2.2.2物理意義求解
變換矩陣的前三列,每列值對(duì)應(yīng)的數(shù)為變換坐標(biāo)系的坐標(biāo)軸x、y、z在基坐標(biāo)系中的坐標(biāo)位置,第四列為變換坐標(biāo)系的原點(diǎn)在基坐標(biāo)系中的坐標(biāo)位置,第四行為齊次補(bǔ)行數(shù)據(jù),則可根據(jù)坐標(biāo)系的位置直接列出下式:
可見,兩種方式的結(jié)果表達(dá)式一致。
2.2.3變換矩陣終解
2.3逆運(yùn)動(dòng)學(xué)求解
2.3.1矩陣逆推導(dǎo)
由連桿坐標(biāo)系{3}到基座坐標(biāo)系{0}的齊次矩陣可以表示為
末端執(zhí)行器的位置在基座坐標(biāo)系{0}中的描述為
末端執(zhí)行器的位置在連桿坐標(biāo)系{3}中的描述為
關(guān)系為:
根據(jù)矩陣對(duì)應(yīng)元素相等,由MATLAB計(jì)算可得可得下面等式:
x=-(7*cos(a2)*sin(a1))/25-(7*cos(a2)*sin(a1)*sin(a3))/20(7*cos(a3)*sin(a1)*sin(a2))/20y=(7*cos(a1)*cos(a2))/25+(7*cos(a1)*cos(a2)*sin(a3))/20+(7*cos(a1)*cos(a3)*sin(a2))/20z=(7*sin(a2))/25 + (7*sin(a2)*sin(a3))/20 - (7*cos(a2)*cos(a3))/20 + 47/100
由
則:
由對(duì)應(yīng)元素相等,得:
(x*cos(a1))/(cos(a1)^2 + sin(a1)^2) + (y*sin(a1))/(cos(a1)^2 + sin(a1)^2)=0(y*cos(a1))/(cos(a1)^2 + sin(a1)^2) - (x*sin(a1))/(cos(a1)^2 + sin(a1)^2)=(7*cos(a2))/25+(7*cos(a2)*sin(a3))/20+(7*cos(a3)*sin(a2))/20z=(7*sin(a2))/25 + (7*sin(a2)*sin(a3))/20 - (7*cos(a2)*cos(a3))/20 + 47/100
綜上可得,
2.3.2幾何推導(dǎo)
在x0y平面,將末端執(zhí)行器的軌跡投影到該平面,藍(lán)色表示原位置,橘色代表移動(dòng)后的位置,黑色坐標(biāo)系為基坐標(biāo)系,如下圖:
由圖易見, 為末端執(zhí)行器投影到xoy平面x與y的夾角,(逆時(shí)針為正),
在y0z平面,將末端執(zhí)行器的軌跡投影到該平面,藍(lán)色表示原位置,橘色代表移動(dòng)后的位置,黑色坐標(biāo)系為基坐標(biāo)系,如下圖:
將末端執(zhí)行器的軌跡投影到下圖所示平面,藍(lán)色表示原位置,橘色代表移動(dòng)后的位置,黑色坐標(biāo)系為基坐標(biāo)系,如下圖:
構(gòu)建直角三角形,可得:
綜上,得各關(guān)節(jié)角與坐標(biāo)位置的關(guān)系為:
三、D-H模型法求解
3.1坐標(biāo)系建立
0號(hào)桿件固連在基座上,建立基坐標(biāo)系
3.2 D-H參數(shù)
3.3各關(guān)節(jié)變換矩陣
若已知四個(gè)參數(shù)就完全確定了兩連桿之間的相對(duì)關(guān)系。對(duì)此,我們建立基坐標(biāo)系和連桿運(yùn)動(dòng)坐標(biāo)系之間的變換關(guān)系。對(duì)于旋轉(zhuǎn)關(guān)節(jié)可以確定以下的齊次矩陣
即先繞x軸旋轉(zhuǎn),然后沿x軸移動(dòng),再沿基坐標(biāo)系的z軸移動(dòng)d,最后繞z軸旋轉(zhuǎn)
將參數(shù)代入上式,由此可以得到各關(guān)節(jié)變換矩陣
3.4求逆變換
同2.3.1
四、軟件仿真
4.1程序代碼
用軟件python(x,y)編寫代碼,如下:
4.2仿真結(jié)果
圖7 仿真結(jié)果
總結(jié)
以上是生活随笔為你收集整理的python机械臂仿真_基于Python的3R机器人运动仿真的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle32位客户端安装教程,Win
- 下一篇: python刷题技巧_【python刷题