matlab 機械人工具箱6 乙個例子

2021-09-30 01:58:46 字數 1582 閱讀 7618

乙個具體的例子

a1=sym('a1')

l1=sym('l1')

a2=sym('a2')

l2=sym('l2')

a3=sym('a3')

l3=sym('l3')

t01=trotz(a1)*transl(l1,0,0)

t12=trotz(a2)*transl(l2,0,0)

t23=trotz(a3)*transl(l3,0,0)

t03=t01*t12*t23

l(1)=link([0 0 1 0])

l(2)=link([0 0 1 0])

l(3)=link([0 0 1 0])

threelink=seriallink(l,'name','planar3r')

tl=[-1 0 0 0;0 -1 0 1;0 0 1 0;0 0 0 1]

q0=[0 -pi/2 pi/2]

qf=threelink.ikine(tl,q0,'mask',[1 1 0 0 0 1])

% threelink.plot(qf)

traj=jtraj(q0,qf,(0:.05:1))

threelink.plot(traj)

顯示的乙個動態的運動過程

traj =

0   -1.5708    1.5708

0.0018   -1.5708    1.5653

0.0134   -1.5708    1.5305

0.0418   -1.5708    1.4454

0.0910   -1.5708    1.2979

0.1626   -1.5708    1.0830

0.2562   -1.5708    0.8023

0.3694   -1.5708    0.4626

0.4986   -1.5708    0.0749

0.6391   -1.5708   -0.3465

0.7854   -1.5708   -0.7854

0.9317   -1.5708   -1.2242

1.0722   -1.5708   -1.6457

1.2014   -1.5708   -2.0334

1.3146   -1.5708   -2.3731

1.4082   -1.5708   -2.6538

1.4798   -1.5708   -2.8687

1.5290   -1.5708   -3.0162

1.5574   -1.5708   -3.1013

1.5690   -1.5708   -3.1361

1.5708   -1.5708   -3.1416

剛開始的時候會報錯:number of robot dof must be >= the same number of 1s in the mask matrix

參考了乙個帖子加mask

qf=threelink.ikine(tl,q0,'mask',[1 1 0 0 0 1])

但是出來的結果效果和書上不一樣,現在有待考究

matlab機械人工具箱學習

選了機械人的課,作業需要用matlab機械人工具箱robotic toolbox。作業要求是搭建乙個機械臂,然後在工作空間某個平面內寫乙個字,涉及到機械人的軌跡規劃,求逆解。步驟 1.搭建四軸scara機械人 dh模型i ad 1 02250 1 201750 23 00d0 4000 3 建立機械...

Matlab機械人工具箱(二)

上一章主要介紹了在二維和三維空間中如何描述位姿。這一章則將上章拓展到物件,其位姿是時間的函式。分兩個部分,第乙個部分主要討論如何產生一系列短暫的位姿序列,一條足夠光滑的從起始位姿到終止位姿的軌跡 第二部分主要討論位姿改變速率的概念,即其導數,以及如何將從機械學角度比如速度和角速度等方面將這些概念 聯...

MATLAB機械人工具箱 1

工具箱版本不同下面的函式呼叫格式會有微弱不同但是大體一樣。以機械臂運動規劃分析為例子 1.link 呼叫格式 l link theta d a alpha sigma offset convention 其中theta為關節角,d為連桿偏移量,a為連桿長度,alpha為連桿轉角,sigma代表關節型...