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

news2024/11/23 21:02:10

简介

在笛卡尔坐标空间中轨迹规划时,首先用位置矢量和旋转矩阵表示所有相应的机器人节点,其次在所有路径段插值计算相对的位置矢量和旋转矩阵,依次得出笛卡尔坐标空间中的轨迹序列通过求解运动学逆问题得到相应关节位置参数。

优点:

  1. 在笛卡尔坐标空间规划的轨迹比较直观,实际运动路径准确度高;
  2. 某些工作任务本身对在笛卡尔坐标空间中的轨迹有要求,必须首先在笛卡尔坐标空间规划。

缺点:

  1. 计算量远远大于关节空间法,控制时间间隔较长;
  2. 不能保证除预定的路径点外轨迹上其他的点都在机器人的运动空间,而关节空间轨迹规划可以;
  3. 轨迹路径有可能接近或通过操作空间的盲点。

规划方法

根据机器人的末端执行器的位置和姿态,该方法主要有以下几种:

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

两个位姿之间的笛卡尔轨迹

  1. tc = ctraj(T0, T1, n)表示从位姿T0到T1的笛卡尔轨迹,其中n个点遵循沿路径的梯形速度分布。笛卡尔轨迹是一个齐次变换序列,最后一个下标是点索引,即T(:,:,i)是路径上的第i个点。

  2. tc = ctraj(T0, T1, s)如上所述,但S(Nx1)的元素指定了路径上的分数距离,这些值在[0 1]范围内。第i个点对应于S(I)沿路径的距离。

Note:
如果T0或T1等于[],则认为它是单位矩阵。在第二种情况下,S可以由标量轨迹生成器生成,如TPOLY(五次多项式)或LSPB(组合轨迹,默认)。

笛卡尔空间轨迹求解

相关代码:

% 导入机器人模型
% 这里输入你的机器人模型
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')

% M = [1 1 1 1 1 0];
qz = [0 0 0 0 0 0];
t = 0:0.01:2;
T = fkine(robot,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); 
TP=transl(Ts);
x=plot(t, TP(:,1));hold on;
y=plot(t, TP(:,2));hold on;
z=plot(t, TP(:,3));
legend([x,y,z],'X轴','Y轴','Z轴')
ylim([-3 5])

%末端执行器从初始位姿到末端位姿坐标系旋转的变化
figure(2); 
Tr=tr2rpy(Ts);
x=plot(t, Tr(:,1),'-*');hold on;
y=plot(t, Tr(:,2),'LineStyle','--');hold on;
z=plot(t, Tr(:,3));
legend([x,y,z],'X轴','Y轴','Z轴')
ylim([-0.002 0.01])

% 末端执行器从初始位姿到末端位姿的空间轨迹的规划图形投影到xOy坐标轴内的变化
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')

末端执行器从初始位姿到末端位姿坐标系的平移变化。

末端执行器从初始位姿到末端位姿坐标系旋转的变化。

机器人末端执行器从初始位姿到末端位姿的空间轨迹的规划图形投影到xOy坐标轴内的变化

往期推荐

在这里插入图片描述

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

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

相关文章

绘制图形

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在前3节的实例中,我们一直绘制的都是直线,实际上,海龟绘图还可以绘制其他形状的图形,如圆形、多边形等…

通过frp实现内外网映射

frp介绍和使用方法可以参考官网:安装 | frp 1、准备两台服务器,一台内网服务器A,一台有公网ip的外网服务器B(47.12.13.15) 2、去官方仓库下载frp安装包:Releases fatedier/frp GitHub 下载包根据自己服务系统选择 ​ 3、先在外网服务器…

类的默认成员函数——拷贝构造函数

1.概念引入 在现实生活中,如果有两个兄弟长得一模一样,我们就称其为双胞胎 当我们创建了一个新的对象,需要用同类型的对象拷贝并初始化,就要用到拷贝构造函数 拷贝构造函数:只有单个形参,该形参是对本类类…

2024 年 8 款最佳建筑 3D 渲染软件

你现在使用的3D 渲染软件真得适合你吗? 在建筑和室内渲染当中,市面上有许多3D渲染软件可供选择。然而,并不是每款软件都适合你的需求。本指南将重点介绍2024年精选的8款最佳建筑3D渲染软件,帮助你了解不同的选项,并选…

STM32的SPI通信

1 SPI协议简介 SPI(Serial Peripheral Interface)协议是由摩托罗拉公司提出的通信协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,使用于对通信速率要求较高的场合。 …

基于Java的宠物领养管理系统【附源码】

摘 要 近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,宠物管理系统利用计算机网络实现信息化管理,使整个宠物领养的发展和服务水平有显著提升。 本文拟采用IDEA开发工具…

Live Wallpaper Themes 4K Pro for Mac v19.9 超高清4K动态壁纸

Live Wallpaper & Themes 4K Pro for Mac v19.7 是一款专为Mac用户设计的超高清4K动态壁纸应用程序。它凭借出色的视觉效果和丰富的个性化设置,为用户带来全新的桌面体验。 这款软件提供了大量精美的动态壁纸供用户选择,涵盖了各种风格和主题&#…

考个嵌入式中级证书吧,有大用!

随着物联网、人工智能的蓬勃发展,嵌入式行业迎来了前所未有的发展机遇:物联网的万物互联需求,为嵌入式系统开拓了广阔的应用场景;人工智能的融入促使嵌入式设备向更智能、更自主的方向进化。然而,行业的火爆&#xff0…

都2024年了,现在互联网行情怎样?

都2024年了,互联网行情是怎样的? 很直白的说,依旧是差得很,怎么说? 我刚在掘金上看到一个掘友写的文章,他是四月领了大礼包,据他的描述如下: 互联网行情依旧是差得很,很…

通过迭代器删除容器中的元素

通过之前的介绍我们知道通过迭代器来遍历单例集合的操作仍然需要借助于循环结构。而且我们知道在单例集合中调用iterator方法返回的Iterator对象中还有一个remove方法我们没有介绍,它的作用是删除容器中的元素。说道这里应该有人会发现一个很明显的问题,…

第28课 绘制原理图——绘制导线

概述 放置完元器件之后,接着就要用导线将元器件的管脚一个一个连起来了。 绘制导线的方法 点击快速工具条上的“线”命令,进入绘制导线的过程。 点击选择某个管脚或电源端口,作为导线的起始端。 再点击选择另一个管脚或电源端口&#xff0c…

MT6989(天玑9300)芯片性能参数_MTK联发科5G处理器

MT6989是联发科Dimensity旗舰系列的成员,旨在为旗舰5G智能手机供应商提供最先进的技术和性能。MT6989也是联发科目前最具创新和强大的5G智能手机芯片,具有领先的功耗效率,无与伦比的计算架构,有史以来最快和最稳定的5G调制解调器&…

动物常见图像的图像分类数据集

常见动物图像分类数据集 数据集: 链接:https://pan.baidu.com/s/1zZnCUZuNlX6MjuZImlDjTw?pwd03b9 提取码:03b9 数据集信息介绍: 文件夹 大象 中的图片数量: 1446 文件夹 松鼠 中的图片数量: 1862 文件夹 河马 中的图片数量:…

YOLOv8/v10项目使用教程

根据改好的YOLOv8.yaml改yolov10.yaml教程 打开ultralytics/cfg/models/v8路径,找到需要移植的yaml文件,从其中复制相关的模块。打开一个YOLOv10的yaml文件。 注释掉之前相应位置的模块,并粘贴上面复制的模块,完成。 其余使用步骤…

upload-labs第14关

upload-labs第14关 第十四关一、源代码分析代码审计 二、绕过分析a. 制作图片码首先需要一个照片,然后其次需要一个eval.php。 b.上传图片码上传成功 c.结合文件包含漏洞进行访问访问:http://192.168.1.110/upload-labs-master/include.php?filehttp://…

SNEC天合储能秀:全球首发多元场景一站式工商业储能融合解决方案

6月13日-15日,SNEC2024光伏与智慧能源展在上海隆重举行,来自全球95个国家和地区3000家国内外展商齐聚展会,5000行业专家共话产业发展。致力于成为全球光储智慧能源解决方案的领导者,天合光能(展位号:7.2H-E…

LiveMedia视频汇聚平台的设备管理功能

LiveMedia视频汇聚平台的设备管理功能是实现视频资源有效管理和控制的关键组成部分。以下是设备管理功能的详细介绍: 设备接入与管理: 设备添加与编辑:平台支持添加、编辑与删除设备,可编辑的信息包括设备接入的协议类型、服务节…

ICASSP论文结构研究

MLCA-AVSR 基于多层交叉注意融合的视听语音识别 ABSTRACT 目标任务现状、目前研究现状(研究大方向、研究的欠缺)、本文方法、方法效果(排名、分数) 有一个Index Terms INTRODUCTION 目标任务的简单发展历程与发展现状,目前任务的难点,指出为什么会…

代码随想录-Day39

62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径&…

Gradle学习-2 Groovy

1、Groovy基础语法 1.1、基本数据类型 Groovy支持数据类型:byte, short, int, long, float, double, char (1)创建一个Android Studio项目 (2)在根目录新建一个 leon.gradle,输入以下内容 leon.gradle…