机器人-关节空间轨迹规划
机器人工作时,已知机器人各关节的初始位置便可以根据机器人的正运动方程求解出机器人末端的末端位姿。知道到机器人末端执行器的初始位姿和末端位姿就可以规划出机器人从初始位姿到达期望位姿的轨迹。
本节将介绍关节空间轨迹规划并使用MATLAB进行仿真。
关节空间轨迹规划用函数jtrajjtrajjtraj来表示,函数jtrajjtrajjtraj的调用格式为[qqdqdd]=jtraj(qz,qn,t)\begin{bmatrix}{qq}&{dq}&{dd}\end{bmatrix} = jtraj\left( {qz,qn,t} \right)[qqdqdd]=jtraj(qz,qn,t),从qzqzqz到qnqnqn的两个位姿之间进行平滑插值,就可以得到一个关节空间轨迹,q、qd、qddq、qd、qddq、qd、qdd分别为规划的位移、速度和加速度,ttt为时间。
在这里我取的始末位置为:
qz = [0 0 0 0 0]; %初始位姿
qn = [pi/2 -pi/2 pi/6 pi/12 0]; %末端位姿
运行下面的程序:
% 关节空间轨迹规划
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');
t = 0:0.01:2; %采样时间为2s,采样间隔为0.01s
qz = [0 0 0 0 0]; %初始位姿
qn = [pi/2 -pi/2 pi/6 pi/12 0]; %末端位姿
[q, qd, qdd] = jtraj(qz, qn, t); %轨迹规划
plot(h,q,'trail','b-') %图形演示
T = fkine(h, q); %生成三维矩阵
%取机械臂末端执行器位置所标矩阵
m = squeeze(T(:,4,:)); % 末端执行器坐标的变化曲线
plot(t, m); %绘制机械臂末端执行器空间轨迹
%生成关节i(i=1, 2, 3, 4, 5)的角位移曲线
figure(2);
subplot(3,1,1);
plot(t,q(:,1),'r','LineWidth',1);
title('关节1位移变化曲线');
%生成关节i(i=1, 2, 3, 4, 5)的角速度曲线
subplot(3,1,2);
plot(t,qd(:,1),'g','LineWidth',1);
title('关节1速度变化曲线');
%生成关节i(i=1, 2, 3, 4, 5)的角加速度曲线
subplot(3,1,3);
plot(t,qdd(:,1),'b','LineWidth',1);
title('关节1加速度变化曲线');
运行结果:
注:
- 运行之前需在命令行窗口输入startup_rvcstartup\_rvcstartup_rvc运行机器人工具箱
- 若要得到关节2、3、4、5关节的位移、速度、加速度曲线,需将后面的代码进行替换
%生成关节i(i=1, 2, 3, 4, 5)的角位移曲线
figure(2);
subplot(3,1,1);
plot(t,q(:,2),'r','LineWidth',1);
title('关节2位移变化曲线');
%生成关节i(i=1, 2, 3, 4, 5)的角速度曲线
subplot(3,1,2);
plot(t,qd(:,2),'g','LineWidth',1);
title('关节2速度变化曲线');
%生成关节i(i=1, 2, 3, 4, 5)的角加速度曲线
subplot(3,1,3);
plot(t,qdd(:,2),'b','LineWidth',1);
title('关节2加速度变化曲线');
关节3、4、5同理,下节讲述笛卡尔坐标系轨迹规划。
机器人-关节空间轨迹规划相关推荐
- 机器人关节空间轨迹规划--S型速度规划
关节空间 VS 操作空间 关节空间与操作空间轨迹规划流程图如下(上标$i$和$f$分别代表起始位置initial和目标位置final): 在关节空间内进行轨迹规划有如下优点: 在线运算量更小,即无需进 ...
- Scara机器人关节空间轨迹规划-机器人工具箱函数jtraj
1.前记:记录下scara机器人建模和轨迹规划.由于有移动关节的存在,稍微和六轴的有区别. clc clear L1=Link([0 0 0 0 0],'modified'); L2=Link([0 ...
- (学习用1)调用用RRT算法进行笛卡尔空间轨迹规划和关节空间轨迹规划
在MoveIt中,可以通过调用computeCartesianPath()函数来使用RRT算法进行笛卡尔空间轨迹规划,可以通过调用computeJointSpacePath()函数来使用RRT算法进行 ...
- 机器人轨迹规划:简单的笛卡尔空间/关节空间轨迹规划方案
文章目录 知乎:[OpenRobotSL](https://www.zhihu.com/people/OpenRobotSL) 写在前面 1.关节空间同步运动 2.如何处理运动过程中的平滑性问题 3. ...
- 机器人笛卡尔空间与关节空间轨迹规划算法
本实例为如何生成和模拟插值关节轨迹,从一个初始运动到一个理想的末端执行器姿态. 轨迹的定时是基于手臂工具(EOAT)的一个近似的期望末端速度. 加载KINOVA Gen3刚体树(RBT)机器人模型 r ...
- MATLAB机器人工具箱3-及轨迹规划
轨迹规划 机器人轨迹规划分为关节空间轨迹规划和笛卡尔空间轨迹规划 关节空间轨迹规划 关节空间轨迹规划是以关节角的函数来描述轨迹(在时间和空间)的轨迹生成方法. clc; clear;%%轨迹规划的第一 ...
- 2021-11-06关节空间路径规划和算法(采样、搜索)或者末端轨迹优化?
关节空间路径规划 一些概念 一. 摘自 运动规划ompl 1.1. 运动规划 (Motion Planning) 我们这里讲的 运动规划 ,有别于 轨迹规划 (Path Planning).一般来说, ...
- 多自由度机械臂运动学正-逆解|空间轨迹规划控制|MATLAB仿真+实际机器调试
多自由度机械臂运动学正-逆解|空间轨迹规划控制|MATLAB仿真+实际机器调试 ) DH建模法可以参考这个博客: 还有<机器人>这本书,一定要理论实践相结合,理解后可以用几何法建模也可以用 ...
- scara机器人动荷载_SCARA机器人结构设计及轨迹规划算法.pdf
第31卷第7期 合肥工业大学学报(自然科学版) V01.31No.7 HEFEI TECHNoIoGY 2008年7月 JOURNAL0F I小rn咂RSrrY0F Jul.2008 SCARA机器人 ...
最新文章
- ERROR: Failed to resolve: com.android.databinding:library:3.4.2
- 免费版CloudFlare CDN基本设置参考
- Android学习笔记43:XML文件解析(Pull方式)
- 【C】printf按8进制、10进制、16进制输出以及高位补0
- 使用Google Cloud Platform分散您的应用程序
- ICMP (互联网控制消息协议 )是什么
- ret2dlresolve归纳
- Halcon图像预处理与形态学(图像的滤波)
- Intent在Activity间的传值
- 【Hive】Hive 建表语句详解
- 自回归(Autoregressive Models,AR)模型
- html+css 登录界面
- msvcr71.dll文件丢失——解决办法
- 括号匹配(POJ2955)题解
- 六字诀养生法 气功口诀
- 用PS做的一个个人logo
- 新特效火爆抖音!各路神仙齐唱《蚂蚁呀嘿》,网友:短短几秒需一生来治愈
- 【第17周复盘】拿到红本本喽!
- WMS仓储管理系统定制
- 自己动手实现远程执行功能