matlab機器人工具箱學習

選了機器人的課,作業需要用matlab機器人工具箱robotic toolbox。作業要求是搭建一個機械臂,然後在工作空間某個平面內寫一個字,涉及到機器人的軌跡規劃,求逆解。步驟:

1. 搭建四軸scara機器人:

DH模型

i α a d Θ
1 0 225 0 Θ1
2 0 175 0 Θ2
3 0 0 d 0
4 0 0 0 Θ3
創建機器人:
%DH模型-創建scara機器人
L1=link([0 225 0 0 0]);
L2=link([0 175 0 0 0]);
L3=link([0 0 0 0 1]);
L4=link([0 0 0 0 0]);
r=robot({L1 L2 L3 L4});
r.name='Scara LS3';
drivebot(r);
2. 軌跡規劃:
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">採用直線規劃,設置線段的兩個端點,然後對線段中間點進行插值,可以選擇多種的插值方式,本程序採用其自帶的ctraj函數,本質是多項式插值。</span>

如對“口”字進行規劃,設定四個頂點的位置座標:

T0=transl([300,-50,-50]);   %目標點位置,下同
T1=transl([300,50,-50]);
T2=transl([250,50,-50]);
T3=transl([250,-50,-50]);
T4=transl([300,-50,-50]);
設置初始位置,時間間隔:

t=0:0.05:2;
qA=[0 0 -50 0]; %初始位置(關節空間)
需要注意初始位置是在關節空間下。

然後進行軌跡離散點生成:

t01=ctraj(T0,T1,length(t)); %直角空間軌跡規劃,多項式插值
TC1=transl(t01);            %離散點
t02=ctraj(T1,T2,length(t));
TC2=transl(t02);
t03=ctraj(T2,T3,length(t));
TC3=transl(t03);
t04=ctraj(T3,T4,length(t));
TC4=transl(t04);
合併生成的軌跡爲TTC後,計算每個離散點下的機器人關節座標,即求逆解:

qs_store = [];  %存儲關節向量
for i=1:size(TTC',2)
    tc1=[eye(3,3),TTC(i,:)'];
    TTC1=[tc1;[0 0 0 1]];
    qs=ikine(r,TTC1,qA,[1 1 1 1 0 0]);%逆運動學,機器人逆解
    qA=qs;
    qs_store(i,:) = qA; %保存關節向量
end
求出關節向量後,驅動機器人畫圖:

plot(r,qs_store);   %機器人運動仿真

結束。









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章