900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划

Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划

时间:2023-09-21 19:48:44

相关推荐

Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划

利用matlab robotics 进行轨迹规划

轨迹规划有两个函数:

(1)、jtraj,已知初始和终止的关节角度,利用五次多项式来规划轨迹。

[q,qd,qdd] = jtraj(q0, qf, m)

(2)、ctraj,已知初始和终止的末端关节位姿,利用匀加速、匀减速运动来规划轨迹。

tc = ctraj(T0, T1, n)

相关代码如下:

clear;clc;L1 = Link('d', 0, 'a', 0, 'alpha', pi/2); %Link 类函数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 类函数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;

仿真的结果如图所示:

左上图为机器人模型,

左下图为 ctraj 轨迹规划的末端关节轨迹

有边三个图分别是 jtraj 轨迹规划的各关节的角度,角速度,角加速度

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。