乙個具體的例子
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代表關節型...