机器人控制系列教程之运动规划(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的角度、速度及加速度曲线

往期推荐

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/860864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

低代码平台如何重塑项目管理:效率与创新的新边界

引言 随着数字化转型的加速和技术创新的推动,低代码开发平台在近年来逐渐崭露头角,成为企业和组织加速应用开发和创新的重要工具。低代码平台通过提供可视化的开发环境和预构建的组件,极大地简化了应用程序的开发过程,使非专业开发…

C++学习全教程(day1:变量和数据类型、运算符、流行控制语句)

目录 一、变量和数据类型 1、变量 2、标识符 3、作用域 4、常量 5、数据类型 1.基本数据类型-整型 2.char类型 3.bool类型 4.浮点类型 5.字面值常量 二、运算符 1、算数运算符 2、赋值运算符 3、复合赋值运算符 4、关系和逻辑运算 1.关系运算符 -------结果是…

PointCloudLib NDT3D算法实现点云配准 C++版本

0.实现效果 效果不咋好 ,参数不好调整 1.算法原理 3D NDT(Normal Distributions Transform)算法是一种用于同时定位和地图生成(SLAM)的机器人导航算法,特别适用于三维点云数据的配准。以下是关于3D NDT算法的详细解释: 算法原理 点云划分与分布计算:3D NDT算法首先将…

2024第十三届中国PMO大会主持人介绍

全国PMO专业人士年度盛会 由PMO评论主办的2024第十三届中国PMO大会邀请了到十几位知名企业的PMO和项目管理专家来担任大会主持人。大会将于6月29-30日在北京举办,敬请关注! 主持人介绍 肖杨,国际知名组织级项目管理专家,微薄之力…

武汉星起航:亚马逊全球化布局助力企业拓展国际市场

在当今全球化经济的大背景下,企业如何突破地域限制,将产品推向更广阔的市场,成为了摆在众多企业家面前的重要课题。武汉星起航相信,亚马逊,作为全球最大的在线零售平台之一,以其独特的全球化布局和强大的服…

fidder自动测试cookie脚本

前言 工作在使用fidder抓包时,经常需要找到一个请求携带的cookie中,真正校验了那些cookie,从而在代码中实现写入这些cookie的请求。这个过程除了根据经验快速过滤,就只能一个一个删除测试了。 所以我写了这个脚本,自动…

东南亚本地化游戏

通常,亚洲电子游戏市场首先与中国联系在一起。但最近,分析人士越来越关注一个邻近地区:东南亚。而且有充分的理由。 该地区包括中南半岛、马来群岛和邻近岛屿上的十一个国家。1967年,其中10个国家(除东帝汶外&#xf…

全自动封箱机技术革新:效率优化新篇章

在日新月异的物流行业中,全自动封箱机以其高效、精准的特性,成为了不可或缺的关键设备。然而,随着市场竞争的加剧和客户需求的不断升级,如何进一步优化全自动封箱机的效率,成为了行业内外关注的焦点。 一、全自动封箱机…

如何快速绘制logistic回归预测模型的ROC曲线?

详情请点击下方: 零代码课程来了,不需要R语言,快速构建预测模型 临床预测模型,也是临床统计分析的一个大类,除了前期构建模型,还要对模型的预测能力、区分度、校准度、临床获益等方面展开评价,确…

智慧车库管理系统

摘 要 随着城市化进程的不断加快,私家车数量的快速增长给城市交通带来了巨大的挑战,停车问题成为城市交通管理中的一大难题。车辆停车时,在停车场寻找停车位耗时过久,不仅仅浪费用户的时间,还可能引起交通拥堵。城市停…

小程序中this(1)

}, onLoad: function() {}, }) 此时经过编译后模拟器的显示: 这里都容易理解,当点击了button按钮后,触发点击事件执行testfun函数,将test02设置为8,如图: 通过this.data.test028这种方式直接赋值可以吗&…

[深度学习] 门控循环单元GRU

门控循环单元(Gated Recurrent Unit, GRU)是一种用于处理序列数据的递归神经网络(Recurrent Neural Network, RNN)变体,它通过引入门控机制来解决传统RNN在处理长序列时的梯度消失问题。GRU与长短期记忆网络&#xff0…

【redis】redis概述

1、定义 Redis(Remote Dictionary Server),即远程字典服务,是一个开源的、内存中的数据结构存储系统。redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)…

基于springboot实现旅游网站系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现旅游网站系统演示 摘要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率…

想远程控制手机,用哪个软件好?

很多人都想知道安卓系统或iOS系统要如何实现手机远程控制手机、电脑远程控制手机,分别需要用到什么软件,这篇文章一次说清楚。 注意,安卓系统需要是7.0及以上版本,iOS系统需要是11及以上版本。具体使用步骤请点击关注,…

windows安装Nacos并使用

Nacos(前身为阿里巴巴的Nacos Config和Nacos Discovery)是一个开源的动态服务发现、配置和服务管理平台,由阿里巴巴开发并维护。它提供了一种简单且易于使用的方式来管理微服务架构中的服务注册、发现和配置管理。 主要功能包括:…

基于React18+Appwrite实现类似Instagram的社交APP

源码地址:https://github.com/sikichan/Ins-social-media-app 请给我一个Star ⭐️ 谢谢!

报道 | 2024年7月-2024年9月国际运筹优化会议汇总

封面图来源: https://www.pexels.com/zh-cn/photo/1181406/ 2024年7月-2024年9月召开会议汇总: 2024 INFORMS Advances in Decision Analysis Conference (ADA) Location: Finland Important Dates: Conference: July 10-12, 2024 Details:https://w…

【云原生】Kubernetes网络知识

Kubernetes网络管理 文章目录 Kubernetes网络管理一、案例概述二、案例前置知识点2.1、Kubernetes网络模型2.2、Docker网络基础2.3、Kubernetes网络通信2.3.1、Pod内容器与内容之间的通信2.3.2、Pod与Pod之间的通信 2.4、Flannel网络插件2.5、Calico网络插件2.5.1、Calico网络模…

【吊打面试官系列-Mysql面试题】说说对 SQL 语句优化有哪些方法?

大家好,我是锋哥。今天分享关于 【说说对 SQL 语句优化有哪些方法?】面试题,希望对大家有帮助; 说说对 SQL 语句优化有哪些方法? 1、Where 子句中:where 表之间的连接必须写在其他 Where 条件之前&#xff…