4自由度臂型機器人MATLAB模擬
阿新 • • 發佈:2019-02-10
導師佈置的小作業,建立4自由度機械臂,並對其進行matlab模擬。
首先下載機器人工具箱,放到tool資料夾下。執行startup_rvc命令,新增路徑並儲存。
我按照實驗室的科大寶寶二代機器人,建立了4自由度機械臂模型,規劃其軌跡,讓它寫字。
程式碼如下:
clear L L(1) = Link([ 0 -0.3 0 pi/2 0]); L(2) = Link([ 0 0 0.8 -pi/2 0]); L(3) = Link([ 0 0 0.1 -pi/2 0]); L(4) = Link([ 0 -0.6 0 -pi/2 0]); mrbt=SerialLink(L, 'name', 'lbx', 'base', transl(0,0,1)*troty(pi/2)); q0 = [0 0 0 0 ]; %mrbt.teach; mrbt.plot(q0); path =[ 0 2 1; 0 2 0; 1 2 0; 1 1 0; 0 1 0; 0 0 0; 1 0 0; 1 0 1; 2 2 1; 2 2 0; 3 2 0; 3 0 0; 2 0 0; 2 2 0; 2 2 1; 5 2 1; 5 2 0; 4 2 0; 4 0 0; 5 0 0; 5 1 0; 4 1 0; 4 1 1]*[-1 0 0; 0 -1 0; 0 0 1]; plot3(path(:,1)* 0.3,path(:,2)* 0.3,path(:,3)* 0.3,'color','k','LineWidth',2) p = mstraj(path, [0.5 0.5 0.3], [], [ 0 0 0], 0.2, 0.2); plot3(p(:,1),p(:,2),p(:,3),'color','k','LineWidth',2) about(p) numrows(p) * 0.2 Tp=transl(0.1*p); Tp=homtrans( transl(-0.8,-0.2,0.3), Tp); q = mrbt.ikine(Tp,'mask',[1 1 1 0 0 0]); mrbt.plot(q);
臂型機器人模型如下:
路徑設計如下,我們實驗室的門牌號206,由於4自由度機械臂可有效到達範圍較小,此模擬按照3自由度雅克比迭代方式求其逆解,即不考慮機械臂末端的姿態,只考慮其末端能夠到達的座標。
4自由度機械臂可到達的範圍較小,故使用命令
Tp=transl(0.1*p);
使得真實路徑縮小為設計的0.1倍,這樣機械臂末端就能夠到達所規劃的點。
點選執行按鈕,就可以看到機械臂按照給定的路徑慢慢運動,其末端在平面上畫出206字樣。
參考資料《Robotics,Vision and Control》P157。
2018年6月12日於科大機器人中心206