Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划
生活随笔
收集整理的這篇文章主要介紹了
Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
利用matlab robotics 進(jìn)行軌跡規(guī)劃
軌跡規(guī)劃有兩個(gè)函數(shù):
(1)、jtraj,已知初始和終止的關(guān)節(jié)角度,利用五次多項(xiàng)式來規(guī)劃軌跡。
(2)、ctraj,已知初始和終止的末端關(guān)節(jié)位姿,利用勻加速、勻減速運(yùn)動(dòng)來規(guī)劃軌跡。
tc = ctraj(T0, T1, n)相關(guān)代碼如下:
clear; clc; L1 = Link('d', 0, 'a', 0, 'alpha', pi/2); %Link 類函數(shù) L2 = Link('d', 0, 'a', 0.5, 'alpha', 0,'offset',pi/2); L3 = Link('d', 0, 'a', 0, 'alpha', pi/2,'offset',pi/4); L4 = Link('d', 1, 'a', 0, 'alpha', -pi/2); L5 = Link('d', 0, 'a', 0, 'alpha', pi/2); L6 = Link('d', 1, 'a', 0, 'alpha', 0); robot=SerialLink([L1,L2,L3,L4,L5,L6]); %SerialLink 類函數(shù) robot.name='帶球形腕的擬人臂'; %SerialLink 屬性值 robot.manuf='飄零過客'; %SerialLink 屬性值init_ang=[0 0 0 0 0 0]; targ_ang=[pi/4,-pi/3,pi/5,pi/2,-pi/4,pi/6]; step=40; [q,qd,qdd] = jtraj(init_ang, targ_ang, step); subplot(3,2,[1,3]); robot.plot(q); subplot(3,2,2); i=1:6; plot(q(:,i)); title('位置'); grid on; subplot(3,2,4); i=1:6; plot(qd(:,i)); title('速度'); grid on; subplot(3,2,6); i=1:6; plot(qdd(:,i)); title('加速度'); grid on;p1 =[ -0.7071 -0.0000 0.7071 1.4142;0.0000 -1.0000 -0.0000 -0.0000;0.7071 0.0000 0.7071 1.9142;0 0 0 1.0000];p2 =[ 0.9640 -0.2639 -0.0332 0.9331;0.0979 0.2361 0.9668 1.9331;-0.2473 -0.9352 0.2534 0.8618;0 0 0 1.0000];Tc=ctraj(p1,p2,step); Tjtraj=transl(Tc); subplot(3,2,5); plot2(Tjtraj,'r'); title('p1到p2直線軌跡'); grid on;仿真的結(jié)果如圖所示:
左上圖為機(jī)器人模型,
左下圖為 ctraj 軌跡規(guī)劃的末端關(guān)節(jié)軌跡
有邊三個(gè)圖分別是 jtraj 軌跡規(guī)劃的各關(guān)節(jié)的角度,角速度,角加速度
總結(jié)
以上是生活随笔為你收集整理的Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab Robotic Toolb
- 下一篇: C/C++之变长数组(VLA)和可伸缩型