机器人-笛卡尔空间轨迹规划

本节将介绍使用笛卡尔空间进行轨迹规划,上一节使用关节空间对五自由度机械臂进行了轨迹规划。

笛卡尔空间轨迹规划用函数 c t r a j ctraj ctraj表示,函数 c t r a j ctraj ctraj的用法和 j t r a j jtraj jtraj很相似,函数 c t r a j ctraj ctraj的调用格式为“ T 10 = t r a n s l ( 4 , − 0.5 , 0 ) ∗ t r o t y ( p i / 6 ) T10=transl(4,-0.5,0)*troty(pi/6) T10=transl(4,0.5,0)troty(pi/6) T 11 = t r a n s l ( 4 , − 0.5 , − 2 ) ∗ t r o t y ( p i / 6 ) ; T11=transl(4,-0.5,-2)*troty(pi/6); T11=transl(4,0.5,2)troty(pi/6) T s = c t r a j ( T 10 , T 11 , l e n g t h ( t ) ) Ts=ctraj(T10,T11,length(t)) Ts=ctraj(T10,T11,length(t))”, t r a n s l transl transl代表矩阵中的平移变量, t r o t y troty troty代表矩阵中的旋转变量, T 10 T10 T10 T 11 T11 T11分别代表初始和末端的位姿。

首先根据运动学的正解算,计算出机器人末段工具的位置和位姿,然后根据初始位姿和末端位姿来对机器人的末端轨迹进行规划。下面是机器人末端的坐标变化:

T10 = transl(4, -0.5, 0) * troty(pi/6);
T11 = transl(4, -0.5, -2) * troty(pi/6);

笛卡尔空间轨迹规划程序:

% 笛卡尔空间轨迹规划
clc
clear
L(1) = Link([0 0 0 -pi/2 0]);
L(2) = Link([0 0 1.2 0 0]);
L(3) = Link([0 0 1 0 0]);
L(4) = Link([0 0 0 pi/2 0]);
L(5) = Link([0 0 0 0 0]);
h = SerialLink(L, 'name', 'fivelink');
M = [1 1 1 1 1 0];
qz = [0 0 0 0 0];
t = 0:0.01:2;
T = fkine(h,qz);
%T(1,4:)  %T(2,4:)  %T(3,4:)
T10 = transl(4, -0.5, 0) * troty(pi/6);
T11 = transl(4, -0.5, -2) * troty(pi/6);
Ts = ctraj(T10, T11, length(t));
figure(1);
plot(t, transl(Ts))
figure(2);
plot(t, tr2rpy(Ts))
u = Ts(1,4,:);v = Ts(2,4,:);w = Ts(3,4,:);
x = squeeze(u);y = squeeze(v);z = squeeze(w);
figure(3);
subplot(3,1,1);
plot(t,x) 
xlabel('Time')
ylabel('x')
subplot(3,1,2);
plot(t,y) 
xlabel('Time')
ylabel('y')
subplot(3,1,3);
plot(t,z) 
xlabel('Time')
ylabel('z')

仿真结果:
首先是末端执行器从初始位姿到末端位姿坐标系的平移变化,其中 a a a线代表的是坐标系中 x x x轴的变化, b b b线代表的是坐标系中 y y y轴的变化, c c c线代表的是坐标系中的 z z z轴的变化。
请添加图片描述

其次是末端执行器从初始位姿到末端位姿坐标系旋转的变化, a a a线和 b b b线分别代表 y y y轴和 z z z轴的旋转变化。
请添加图片描述
最后是机器人末端执行器从初始位姿到末端位姿的空间轨迹的规划图形投影到 x O y xOy xOy坐标轴内的变化,图中显示了末端执行器在 x 、 y 、 z x、y、z xyz坐标内时间的变化曲线。
请添加图片描述

  • 7
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Matlab是一个强大的数值计算、数据分析和工程应用软件,可以应用于多个领域,包括机器人学中的轨迹规划笛卡尔空间轨迹规划是指在笛卡尔坐标系下,通过一系列规定的点和运动约束,确定机器人末端执行器的轨迹。Matlab可以通过运用其强大的计算功能和机器人学工具箱,来实现笛卡尔空间轨迹规划。 在Matlab中,可以使用机器人模型来描述机器人运动学和动力学特性。可以根据机器人的几何参数以及运动自由度,构建机器人的模型。通过使用Matlab提供的机器人学工具箱中的函数,可以进行运动学分析,计算机器人末端执行器的位姿和姿态。 在规划笛卡尔空间轨迹时,首先需要定义机器人末端执行器需要经过的一系列目标点。然后利用Matlab的插值函数,可以根据这些目标点生成平滑的轨迹。在生成的轨迹中,可以设置速度和加速度的限制,以确保机器人的平滑运动。 完成轨迹生成后,可以利用Matlab提供的机器人建模和仿真功能,通过对机器人模型进行数值计算,验证规划的轨迹在实际情况下是否可行。如果需要,还可以对生成的轨迹进行优化,例如最小化路径长度或时间。 总之,Matlab是一个强大的工具,可以在机器人学中进行笛卡尔空间轨迹规划。通过利用Matlab机器人学工具箱和插值函数,可以方便地规划出机器人末端执行器的平滑轨迹,并进行仿真和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值