1. 程式人生 > >4自由度臂型機器人MATLAB模擬

4自由度臂型機器人MATLAB模擬

導師佈置的小作業,建立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