matlab機械人工具箱學習

2021-07-22 05:59:14 字數 1659 閱讀 3145

選了機械人的課,作業需要用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之後都需要手動輸入這兩條指令,未免有些繁瑣,下...