選了機械人的課,作業需要用matlab機械人工具箱robotic toolbox。作業要求是搭建乙個機械臂,然後在工作空間某個平面內寫乙個字,涉及到機械人的軌跡規劃,求逆解。步驟:
1. 搭建四軸scara機械人:
dh模型iα
adθ1
02250θ1
201750θ23
00d0
4000
θ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();
r.name='scara ls3';
drivebot(r);
2. 軌跡規劃:採用直線規劃,設定線段的兩個端點,然後對線段中間點進行插值,可以選擇多種的插值方式,本程式採用其自帶的ctraj函式,本質是多項式插值。
如對「口」字進行規劃,設定四個頂點的位置座標:
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); %機械人運動**
結束。
Matlab機械人工具箱(二)
上一章主要介紹了在二維和三維空間中如何描述位姿。這一章則將上章拓展到物件,其位姿是時間的函式。分兩個部分,第乙個部分主要討論如何產生一系列短暫的位姿序列,一條足夠光滑的從起始位姿到終止位姿的軌跡 第二部分主要討論位姿改變速率的概念,即其導數,以及如何將從機械學角度比如速度和角速度等方面將這些概念 聯...
MATLAB機械人工具箱 1
工具箱版本不同下面的函式呼叫格式會有微弱不同但是大體一樣。以機械臂運動規劃分析為例子 1.link 呼叫格式 l link theta d a alpha sigma offset convention 其中theta為關節角,d為連桿偏移量,a為連桿長度,alpha為連桿轉角,sigma代表關節型...
機械人工具箱的安裝
機械人工具箱的安裝 機械人工具箱估計會一直更新下去,下面把工具箱管理者更新工具箱的位址貼上 上面有許多程式 的示例和一些 addpath c robotic tool box rvctools startup rvc 上面的這種方法在每次開啟matlab之後都需要手動輸入這兩條指令,未免有些繁瑣,下...