matlab的ctraj,Matlab 机器人工具箱 轨迹生成----jtraj ctraj

% [q,qd,qdd] = jtraj(q0,qf,m); %利用五次多项式规划轨迹

% tc = ctraj(T0,T1,n);         %利用匀加速匀减速规划轨迹

%机器人建模

L1 = Link('d',0,'a',0,'alpha',pi/2);

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]);

robot.name = '球形腕关节的拟人臂';

robot.manuf = 'qiangbaa';

%******************%

%      jtraj       %

%******************%

%轨迹规划参数设置

init_ang = [0 0 0 0 0 0];

targ_ang = [pi/4, -pi/3, pi/5, pi/2, -pi/4, pi/6];

step = 50;

%轨迹规划方法

[q,qd,qdd] = jtraj(init_ang,targ_ang,step);                                %直接得到角度、角速度、角加速度的的序列

%动画显示

subplot(3,2,[1,3]); %subplot 对画面分区,【1.3】占用1 3的位置,3.2三行两列

robot.plot(q);

%显示位置、速度、加速度变化曲线

subplot(3, 2, 2);

i = 1:6;

plot(q(:,1));

title('位置');

grid on;

subplot(3, 2, 4);

i = 1:6;

plot(qd(:,1));

title('速度');

grid on;

subplot(3, 2, 6);

i = 1:6;

plot(qdd(:,1));

title('加速度');

grid on;

t = robot.fkine(q);%运动学正解

rpy=tr2rpy(t);     %t中提取位置(xyz)

subplot(3,2,5);

plot2(rpy);

fa3ef10533e71b614d57b0534b0b3e02.png

%******************%

%      ctraj       %

%******************%

%参数设置

T0 = robot.fkine(init_ang);%运动学正解

T1 = robot.fkine(targ_ang);%运动学正解

Tc = ctraj(T0,T1,step);                                                    %得到每一步的T阵

tt = transl(Tc);

plot2(tt,'r');

title('T0-T1直线轨迹');

grid on;

4794f1808b1499d08411119122f5365f.png

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值