【RTB机器人工具箱学习记录】轨迹规划实例

这篇具有很好参考价值的文章主要介绍了【RTB机器人工具箱学习记录】轨迹规划实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

给定位置:
T1 = transl(0.3,-0.5,0)*trotx(180);
T2 = transl(0.3,0.5,0.5)*trotx(180);
q1 = ur3.ikunc(T1);
q2 = ur3.ikunc(T2);

ur3.plot(q1);
pause;
ur3.plot(q2);

% 会发现末端朝上,因为末端坐标系默认和世界坐标系重合,世界坐标系是朝上的
% 因此变换矩阵需要乘trotx(180),将坐标系调整至向下

遍历方式求轨迹:

P1=[0.3,-0.5,0];
P2=[0.3,0.5,0.5];
t=linspace(0,2,51);
Traj=mtraj(@tpoly,P1,P2,t);

n=size(Traj,1);
T=zeros(4,4,n);
for i=1:n
    T(:,:,i)=transl(Traj(i,:))*trotx(180);
end

Qtraj=ur3.ikunc(T);
figure(1)
% ur3.plot(Qtraj,'trail','b'); % 画轨迹
ur3.plot(Qtraj,'trail','b','movie','tpolytrail.gif'); % 保存为动画

【RTB机器人工具箱学习记录】轨迹规划实例

figure(2)
hold on
plot(t,Traj(:,1),'.-','linewidth',1);
plot(t,Traj(:,2),'.-','linewidth',1);
plot(t,Traj(:,3),'.-','linewidth',1);
grid on
legend('x','y','z');
xlabel('time');
ylabel('position');

【RTB机器人工具箱学习记录】轨迹规划实例


直接使用插值函数求轨迹:

位姿插值:trinterp()

trinterp(T0, T1, M)

​ T0:初始变换矩阵

​ T1:结束变换矩阵

​ M:

T1=transl(P1);
T2=transl(P2);
% 线性插值
T_liner = trinterp(T1,T2,51);
P_liner = transl(T_liner);
t1 = linspace(0,2,51);
figure(3)
subplot(1,2,1);
hold on 
plot(t1,P_liner(:,1),'.-','linewidth',1);
plot(t1,P_liner(:,2),'.-','linewidth',1);
plot(t1,P_liner(:,3),'.-','linewidth',1);
grid on
title('线性插值')
legend('x','y','z');
xlabel('time');
ylabel('position');

% 五次多项式插值
T_tpoly = trinterp(T1,T2,tpoly(0,2,50)/2);
P_tpoly = transl(T_tpoly);
t2 = linspace(0,2,50);
subplot(1,2,2);
hold on 
plot(t2,P_tpoly(:,1),'.-','linewidth',1);
plot(t2,P_tpoly(:,2),'.-','linewidth',1);
plot(t2,P_tpoly(:,3),'.-','linewidth',1);
grid on
title('五次多项式插值')
legend('x','y','z');
xlabel('time');
ylabel('position');
figure(4)
ur3.plot(ur3.ikunc(T_liner),'trail','r'); % 画轨迹
ur3.plot(ur3.ikunc(T_liner),'trail','r','movie','linertrail.gif'); % 保存为动画
figure(5)
ur3.plot(ur3.ikunc(T_tpoly),'trail','g'); % 画轨迹
ur3.plot(ur3.ikunc(T_tpoly),'trail','g','movie','tpolytrail.gif'); % 保存为动画

【RTB机器人工具箱学习记录】轨迹规划实例

线性插值轨迹动画:(轨迹如上图左所示)

【RTB机器人工具箱学习记录】轨迹规划实例

五次多项式插值轨迹动画:(轨迹如上图右所示,和上面用mtraj遍历方式的轨迹相同)

【RTB机器人工具箱学习记录】轨迹规划实例


笛卡尔轨迹ctraj():

TC = ctraj(T0, T1, N)

​ T0:初始变换矩阵

​ T1:结束变换矩阵

​ N:插值次数(默认梯形速度图像),改成tpoly()可作为五次多项式插值方式使用。

T1=transl(P1);
T2=transl(P2);
T_clspb = ctraj(T1,T2,51);
T_ctpoly = ctraj(T1,T2,tpoly(0,2,50)/2);
Pcls = transl(T_clspb);
Pctp = transl(T_ctpoly);
t1 = linspace(0,2,51);
t2 = linspace(0,2,50);
figure(6)
hold on 
plot(t1,Pcls(:,1),'.-','linewidth',1);
plot(t1,Pcls(:,2),'.-','linewidth',1);
plot(t1,Pcls(:,3),'.-','linewidth',1);
plot(t2,Pctp(:,1),'.-','linewidth',1);
plot(t2,Pctp(:,2),'.-','linewidth',1);
plot(t2,Pctp(:,3),'.-','linewidth',1);
grid on
xlabel('time');
ylabel('position');
legend('x\_lspb','y\_lspb','z\_lspb','x\_tpoly','y\_tpoly','z\_tpoly');
figure(4)
ur3.plot(ur3.ikunc(T_liner),'trail','r'); % 画轨迹
ur3.plot(ur3.ikunc(T_liner),'trail','r','movie','linertrail.gif'); % 保存为动画
figure(5)
ur3.plot(ur3.ikunc(T_tpoly),'trail','g'); % 画轨迹
ur3.plot(ur3.ikunc(T_tpoly),'trail','g','movie','tpolytrail.gif'); % 保存为动画


【RTB机器人工具箱学习记录】轨迹规划实例文章来源地址https://www.toymoban.com/news/detail-420964.html

到了这里,关于【RTB机器人工具箱学习记录】轨迹规划实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab 机器人工具箱 (一)DH参数和正逆运动学

    作者为大三学生,本博客为边学习边使用,如有错误,请见谅。 在文章结束附加代码。 前置坐标系对应改进版:modified 后置坐标系对应标准版:standard 因为学习过程中大部分为前置坐标系,故本文仅讨论前置坐标系。 用的最习惯的是如下的代码: 参数‘alpha’代表扭转角

    2024年02月02日
    浏览(57)
  • Matlab机械臂建模:机器人工具箱的使用&&导入自己的机械臂模型

            本文主要介绍 如何在matlab中建立机械臂模型( 前提要下载了Robotics Toolbox机器人工具箱~ ),并进行基于正逆运动学计算的轨迹运动 。对于已有的Solidworks机械臂三维模型,如何导入Matlab,并对其进行运动控制。         关于 机器人工具箱的安装 及函数的详细

    2024年02月07日
    浏览(59)
  • Matlab 机器人工具箱中SE3是什么,如何转换成double

    先看如下代码 ML1 = Link([0   0 0     pi/2      0     ],\\\'modified\\\'); ML2 = Link([0 0     1    0     0   ],\\\'modified\\\'); ML3 = Link([0 0     1     0     0     ],\\\'modified\\\'); rob = SerialLink([ML1 ML2 ML3],\\\'name\\\',\\\'modified\\\'); rob.tool=[eye(3),[1;0;0];0 0 0 1]; rob.plot([40,20,30]/180*pi,\\\'scale\\\',0.5,\\\'delay\\\',0.00001

    2024年02月09日
    浏览(58)
  • 使用Matlab机器人工具箱完成四元数到旋转矩阵的转换,附程序

    在进行机械臂操作或写论文时,经常需要进行四元数、旋转矩阵、欧拉角等的转换。 此时,我们利用matlab里的机器人工具箱(Peter 开发)内置的函数就可完成,具体程序如下: 环境:Matlab2020b+robotics toolbox(安装方法在前几期文章里有) 此时运行matlab可得以下结果: 重要注

    2024年02月13日
    浏览(56)
  • 2023超级AI大脑-开源AI工具箱网站 支持机器人聊天和AI绘画等

    超级AI大脑是一个开源AI工具箱,基于Spring Boot架构,支持web,Android,IOS,H5多端应用,使用了OpenAI的ChatGPT模型实现了智能聊天机器人。用户可以在界面上与聊天机器人进行对话,聊天机器人会根据用户的输入自动生成回复。同时也支持画图,用户输入文本,便可以自动制作文

    2024年02月11日
    浏览(93)
  • 【标准DH法和改进DH法介绍及三自由度四足或双足机器人腿建模——MATLAB机器人工具箱使用】

    DH参数是机器人学习过程中常用的一种建模方法,通常情况下每一次坐标变换需要6个独立参数来描述坐标系i相对坐标系i-1的关系,即3个用来描述位置另外3个用来描述姿态。而DH参数法只需要4个参数,列出DH参数表并带入变换矩阵中可以轻易的得到机械手末端和基

    2024年02月02日
    浏览(64)
  • 基于Matlab的Robotics Toolbox工具箱的机器人仿真函数介绍(空间位姿表示与动力学)

    随着我们了解到机器人如何建立运动学模型和动力学模型之后,我们可以使用Matlab中的仿真工具箱内来对模型的准确性进行验证,并且可以通过内置的函数进行简单的轨迹规划和可视化观察,本节涉及到的工具箱是MATLAB自带的Robotics Toolbox工具箱。 平移与旋转函数: SE2(x,y,t

    2024年02月07日
    浏览(50)
  • 机械臂仿真:使用matlab机器人工具箱与标准DH法,实现6自由度机械臂的仿真运动

    在了解了如何描述末端执行器的位姿之后,接下来我们就可以实现对机械臂的数学建模。建模的工具有很多种,本文介绍一种基于 标准DH参数法 与Matlab的Robotics Toolbox - Peter Corke库来实现此过程,并尝试实现6自由度机器人的仿真运动。 强烈推荐b站教学视频MATLAB机器人工具箱

    2024年04月13日
    浏览(64)
  • 【C#学习记录】添加控件后工具箱不显示是什么原因

    大家好,我是雷工! 今天在一个Winform程序中用到将WindowsMediaPlayer控件添加到工具箱,但添加了好几次,工具箱内均无法显示,经翻找资料和验证确认是跟创建项目时选择的模板有关,为了遇到同样问题的小伙伴能够快速解决问题,现将问题情况记录如下: 1、VS版本信息:

    2024年02月13日
    浏览(50)
  • [机器人相关学习记录] KUKA 的仿真工具

    KUKA Sim Pro v3.1.2 和 Workvisual 的区别 项目 KUKA Sim Pro v3.1.2 Workvisual 功能 专注于机器人仿真和编程 集成机器人仿真、编程和监控 适用场景 适用于机器人研发、调试和教育 适用于机器人生产、调试、维修和管理 界面 简洁,侧重于机器人仿真和编程操作 更为全面,包含机器人状态

    2024年04月27日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包