机器人控制系列教程之运动规划(1)

机械臂的运动

工业机器人的运动,根据其运动轨迹可分为点到点的运动和路径跟踪运动。点到点的运动只关心特点的位置点,而路径跟踪运动关心整个运动路径。

点到点运动

点到点的运动根据目标点的机器人位姿,利用逆向运动学求取机器人各个关节的目标位置,通过控制各个关节的运动,使机器人的末端到达目标位姿。

轨迹跟踪运动

轨迹跟踪运动希望机器人的末端以特定的姿态沿给定的路径运动。为了保证机器人的末端处在给定的路径上,需要计算出路径上各点的位置,以及在各个位置点上机器人所需要达到的姿态。上述计算路径上各点处的机器人位置与姿态的过程,称为机器人笛卡儿空间的路径规划(后续推文将进行讲解)。根据规划出的各个路径点处的机器人位置与姿态,利用逆向运动学求取机器人各个关节的目标位置,通过控制各个关节的运动,便机器人的末端到达各个路径点处的期望位姿。
轨迹跟踪是以点到点运动为基础的,而点到点运动的中间路径是不确定的。因此,轨迹跟踪运动只是在给定的路径点上能够保证机器人末端到达期望位姿,而在各个路径点中间不能保证机器人末端到达期望位姿。

关节空间的轨迹规划

关节空间路径规划,是指给定关节角的约束条件(起点、终点或中间节点的位置、速度、加速度等),生成各关节变量变化曲线的过程。

当只给定起点、终点时刻的约束条件时,相应的路径规划称为点到点路径规划;若要求关节变量严格按照指定曲线运动时的规划称为连续路径规划;当要求经过多个中间点,而对节点间的轨迹没有严格限制时的路径规划,称为多节点路径规划。实际中,往往是采用介于点到点和连续路径规划之间的多节点路径规划。

可以三次多项式插值、五次多项式插值、采用梯形速度插值、用抛物线拟合的线性插值、三/五次样条、贝塞尔曲线等插值函数进行关节空间的路径规划。高级的有TOPP算法。

三次多项式插值的轨迹规划方法

在这里插入图片描述

五次多项式插值的轨迹规划方法

在这里插入图片描述

抛物线过渡的线性运动轨迹规划方法

己知始点及末端终止点关节角度的机器人,如果想以恒定运动速度来控制机器人各关节,运动段的起点和终点的产生所需的在边界点瞬间速度需要一个无穷大的加速度。为避免上述情况,可以用抛物线来过渡运动段的起点和终止点处,

在这里插入图片描述

MATLAB机器人工具箱jtraj函数解析

该函数为MATLAB机器人工具箱中计算关节空间轨迹的函数,该函数中采用五次多项式,使用方式如下:

  1. [Q,QD,QDD] = JTRAJ(Q0, QF, M):表示是关节坐标从初始位置Q0到终止位置QF的运动,M表示步数,速度和加速度的边界条件默认均为0。可得出关节的角度Q、速度QD、加速度QDD。

  2. [Q,QD,QDD] = JTRAJ(Q0,QF,M,QD0,QDF):如上,但其中还定义了轨迹的边界条件,即:起始关节速度:QD0,终止关节速度:QDF。

  3. [Q,QD,QDD] = JTRAJ(Q0, QF, T): 同1中,但轨迹的步数换为步长T来定义。

  4. [Q,QD,QDD] = JTRAJ(Q0, QF, T, QD0, QDF): 同2中,但轨迹的步数换为步长T来定义。

关节空间轨迹求解

相关代码:

% 导入机器人模型
% 这里输入你的机器人模型
clear,clc,close all;
%% 建立机器人DH参数,初始状态为竖直状态
L1=Link('d',162.50,'a',0,'alpha',0,'modified');
L2=Link('d',0,'a',0,'alpha',pi/2,'offset',pi/2,'modified');
L3=Link('d',0,'a',425,'alpha',0,'modified');
L4=Link('d',126.70+6.6,'a',392.25,'alpha',0,'offset',pi/2,'modified');
L5=Link('d',99.70,'a',0,'alpha',pi/2,'modified');
L6=Link('d',99.60-4.5,'a',0,'alpha',-pi/2,'modified');

robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','UR5')

t = 0:0.01:2;    %采样时间为2s,采样间隔为0.01s
qz = [0 0 0 0 0 0];    %初始位姿
qn = [pi/2 -pi/2 pi/6 pi/12 0 0];    %末端位姿
[q, qd, qdd] = jtraj(qz, qn, t);    %轨迹规划
plot(robot,q,'trail','b-')    %图形演示
T = fkine(robot, q);    %生成三维矩阵
%取机械臂末端执行器位置所标矩阵
m = squeeze(T(:,4,:));   % 末端执行器坐标的变化曲线
plot(t, m);    %绘制机械臂末端执行器空间轨迹
%生成关节i(i=1, 2, 3, 4, 5, 6)的角位移曲线
figure(2);
subplot(3,1,1);
plot(t,q(:,1),'r','LineWidth',1);
title('关节1位移变化曲线');
%生成关节i(i=1, 2, 3, 4, 5, 6)的角速度曲线
subplot(3,1,2);
plot(t,qd(:,1),'g','LineWidth',1);
title('关节1速度变化曲线');
%生成关节i(i=1, 2, 3, 4, 5, 6)的角加速度曲线
subplot(3,1,3);
plot(t,qdd(:,1),'b','LineWidth',1);
title('关节1加速度变化曲线');

规划动画

关节1的角度、速度及加速度曲线

往期推荐

在这里插入图片描述

  • 33
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安川YRC机器人编程教程是一种教授如何编程和操作安川YRC系列机器人的学习材料。YRC机器人是一种先进的工业机器人系统,广泛应用于各个领域,包括制造业、物流、医疗等。 安川YRC机器人编程教程通常包括以下内容: 1. 基础知识:教程会介绍YRC机器人的基本结构、组件和工作原理,包括机器人的关节、执行器和传感器等。学习者将了解机器人的各个部分如何协同工作,以及如何编写程序来控制它们。 2. 编程语言:教程会介绍安川YRC机器人系统的编程语言,通常是一种类似于C语言的结构化编程语言。学习者将学习如何使用该语言来编写控制程序,并了解如何控制机器人运动、姿态和执行特定的任务。 3. 开发环境:教程会介绍如何设置安川YRC机器人的开发环境,包括安装必要的软件和配置硬件设备。学习者将了解如何连接机器人与计算机,并通过开发环境进行实时监控和调试。 4. 任务示例:教程通常提供一些实际的任务示例,帮助学习者将理论知识应用到实践中。这些示例可以包括机器人运动轨迹规划、物体抓取和放置、路径规划等。学习者可以通过完成这些任务来加深对机器人编程的理解。 总体而言,安川YRC机器人编程教程旨在帮助初学者掌握YRC机器人系统的编程技能。通过学习这些教程,学员可以获得对机器人编程的基本理解,并具备开发、操作和维护安川YRC机器人系统的能力。 ### 回答2: 安川YRC机器人编程教程是一套教学材料,旨在帮助学习者快速入门和掌握安川YRC机器人编程技能。下面是对安川YRC机器人编程教程的简要介绍。 该编程教程分为多个章节,从基础知识开始逐步深入,适合初学者和有一定基础的学习者。教程中提供了详细的步骤和示例,帮助学习者理解和应用各种编程概念和技术。 首先,教程介绍了安川YRC机器人的基本结构和工作原理。学习者将了解机器人的各个组成部分以及它们之间的互动方式。紧接着,教程介绍了机器人编程的基本概念,包括程序结构、常用指令和编程语言。 在教程的后续章节中,学习者将学习如何使用YRC编程软件进行机器人编程。这个软件提供了直观的用户界面和丰富的功能,可以帮助学习者轻松地创建、编辑和调试机器人程序。教程还提供了一系列的实例和练习,帮助学习者熟悉编程技巧和应用场景。 除了基本的编程知识和技能外,教程还介绍了更高级的机器人编程技术,如路径规划机器人联动和传感器控制等。学习者可以通过这些内容深入了解机器人编程的进阶知识,为日后的实际应用做好准备。 总之,安川YRC机器人编程教程是一套系统性的教学材料,它将帮助学习者快速掌握YRC机器人编程技能。通过学习这个教程,学习者可以获得丰富的知识和实践经验,为未来从事与机器人相关的工作打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值