機器人工具箱使用大致分爲三步:
一、構件模型;二、規劃軌跡及使用逆解函數;三、圖形輸出。
一、建立機器人數學模型(連桿機構),如下:
>> l1=Link([0 0 0 pi/2]);
l2=Link([0 0 0.4318 0]);
l3=Link([-pi/2 0.1505 0.02032 -pi/2]);
l4=Link([0 0.4318 0 pi/2]);
l5=Link([0 0 0 -pi/2]);
l6=Link([0 0 0 0]);
pm560=SerialLink([l1 l2 l3 l4 l5 l6]);
其中Link([θ d a α])裏的θ表示兩個連桿的夾角,d表示z方向的長度(z爲選轉軸),a爲連桿的長度即x方向的長度(參考的座標爲杆首段座標即前一杆尾端座標。每個杆的兩端放置一個笛卡爾座標,通過座標變換實現求解。)。α爲杆兩端兩個座標的夾角(主要指兩個選擇軸z的夾角)。
機器人的正解如下:
機器人逆解的如下:其中ikine6s與ikine函數解不一樣。但是再正解後結果是一樣的?。
二、下面爲逆解過程:即從座標點~~~各關節角度值的過程。
>>t=0:0.2:2;
>> T2=transl(0.4521,0,0.4318);
>> T=ctraj(T1,T2,length(t));
>> Q=pm560.ikine6s(T);
>> pm560.plot(Q) %顯示機器人三維圖動畫過程。
>> tranimate(T) %動畫演示座標系自初始點運動到目標點的過程
三、演示如何畫圖:
>> s(1)=subplot(3,2,1); %一共分三行,每行兩個,現在畫出第一行第一個。
>> plot(t,Q(:,1)) %畫出對應時間t的關節角度變化,Q(:,1)表示一個關節角度值。
>> xlabel(s(1),'times') %爲圖表添加橫座標。
>> ylabel(s(1),'關節1')
>> s(2)=subplot(3,2,2);
plot(t,Q(:,2))
xlabel(s(2),'times')
ylabel(s(2),'關節2')
。。。。。。。
最終六個關節角度如下圖: