机器人控制系列教程之Delta机器人轨迹规划

news2024/10/5 22:21:54

并联机器人轨迹规划原理

轨迹规划:并联机器人的轨迹规划相比于串联机器人更加严苛,因为在大多数工作场合都有高速、高精度、轻载的特征。其一般运动轨迹为 Point-To-Point,对这始末两点的轨迹规划在 Delta 机器人乃至所有机器人领域具有重要的意义,这直接影响机器人的工作节拍、动态性能、运动控制。


对于每一段轨迹,末端执行器抓起和放下经历:静止启动—高速运行—减速停止这一过程。为了避免对机器太大的冲击,保证运动的平稳性,末端的初始和终止时刻的速度、加速度应都为零,这样轨迹函数关于时间的一阶和二阶导数必然是连续的,能够避免机器人启动和停止时的冲击,对设备造成损坏。因此,对于轨迹函数中的时间、 (角)位移、速度、加速度有如下要求:

其中T为完成单周期任务的时间,S为完成单周期(角)位移,满足此函数要求的运动规律有很多。 速度的最大值𝑉_𝑚𝑎𝑥 、加速度的最大值𝑎_𝑚𝑎𝑥以及跃度最大值𝑗_𝑚𝑎𝑥,其表达式为:


在这里插入图片描述


在这里插入图片描述

clear all
clc

ti=0:0.01:5;

T=5;

th=sA(0.100,0.02,0.730)


amax1=5.77*th(1,1)*pi/(180*T^2);
amax2=5.77*th(1,2)*pi/(180*T^2);
amax3=5.77*th(1,3)*pi/(180*T^2);


skd1j=[];
skdd1j=[];

skd2j=[];
skdd2j=[];

skd3j=[];
skdd3j=[];
for i=1:size(ti,2)
    
    t=ti(1,i)
    
    sk1=(amax1*(T^2)/5.77)*(6*(t/T)^5-15*(t/T)^4+10*(t/T)^3); 
    skd1=(2*amax1*T/5.77)*(30*(t/T)^4-60*(t/T)^3+30*(t/T)^2); 
    skdd1=(amax1/5.77)*(120*(t/T)^3-180*(t/T)^2+60*(t/T)); 
    
    sk2=(amax2*(T^2)/5.77)*(6*(t/T)^5-15*(t/T)^4+10*(t/T)^3); 
    skd2=(2*amax2*T/5.77)*(30*(t/T)^4-60*(t/T)^3+30*(t/T)^2); 
    skdd2=(amax2/5.77)*(120*(t/T)^3-180*(t/T)^2+60*(t/T)); 
    
    sk3=(amax3*(T^2)/5.77)*(6*(t/T)^5-15*(t/T)^4+10*(t/T)^3); 
    skd3=(2*amax3*T/5.77)*(30*(t/T)^4-60*(t/T)^3+30*(t/T)^2); 
    skdd3=(amax3/5.77)*(120*(t/T)^3-180*(t/T)^2+60*(t/T)); 
    
    skd1j=[skd1j skd1];
    skdd1j=[skdd1j abs(skdd1)];
    
    skd2j=[skd2j skd2];
    skdd2j=[skdd2j abs(skdd2)];
    
    skd3j=[skd3j skd3];
    skdd3j=[skdd3j abs(skdd3)];
    
end

figure(1);
plot(ti,-skd1j);
hold on 
plot(ti,-skd2j);
hold on 
plot(ti,-skd3j);
title('速度曲线');
legend('theta1d','theta2d','theta3d');

figure(2);
plot(ti,skdd1j);
hold on 
plot(ti,skdd2j);
hold on 
plot(ti,skdd3j);
title('加速度曲线');
legend('theta1dd','theta2dd','theta3dd');



% sA(0,0,0.5453210063806)
% sk=6*(t/5)^5-15*(t/5)^4+10*(t/5)^3;

往期推荐

在这里插入图片描述

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

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

相关文章

【干货】SaaS企业使用PLG模式实现用户自增长与留存的三大战略

近年来越来越多toB厂商开始采用SaaS模式,消费者的体验需求和购买行为也逐渐转变。根据Forrester研究调查显示,B端购买者现在越来越倾向于进行产品体验和产品调研与评估,而非如传统的方式那样直接与销售人员接触。 因此,SaaS&…

Halcon 基于分水岭的目标分割

一 分水岭 1 分水岭介绍 传统的分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是地质学上的拓扑地貌,图像中每一像素的灰度值表示该点的海拔高度,每一个局部极小值及其周边区域称为集水盆地&…

视频汇聚/安防监控/GB28181国标EasyCVR视频综合管理平台出现串流的原因排查及解决

安防视频监控系统/视频汇聚EasyCVR视频综合管理平台,采用了开放式的网络结构,能在复杂的网络环境中(专网、局域网、广域网、VPN、公网等)将前端海量的设备进行统一集中接入与视频汇聚管理,视频汇聚EasyCVR平台支持设备…

【基于R语言群体遗传学】-5-扩展到两个以上等位基因及多基因位点

我们现在继续对于群体遗传学进行统计建模,书接上回,我们讨论了孤雌生殖的物种违反哈代温伯格遗传比例的例子,那我们现在来看多于两个等位基因的情况的计算。 如果没有看过之前文章的同学,可以先去看一下之前的文章: …

数据库day1

MySQL的安装: 采用MySQL的zip格式安装

在C++中,工厂模式的思考(《C++20设计模式》及常规设计模式对比)

文章目录 一、前言二、讲解1、构造函数的弊端2、工厂方法(解决上述弊端)3、简单工厂3.1 **UML类图**3.2 **实现** 4、工厂模式4.1 **UML类图**4.2 **实现** 5、抽象工厂5.1 **UML类图**5.2 **实现** 三、总结 一、前言 在看《C20设计模式》一书中产生了…

Element 的 el-table 表格实现单元格合并

html 部分 <template><div class"index-wapper"><el-table :data"tableData" :span-method"objectSpanMethod" border><el-table-column v-for"(item, index) in tableHeader" :key"index" :prop&quo…

Qt Creator配置以及使用Git

Qt Creator配置以及使用Git 引言一、Qt Creator配置git二、Qt Creator使用git2.1 创建git仓库 or git项目导入Qt2.2 配置远端&#xff0c;拉代码 or 上传代码2.3 查看更改2.4 更多细节可参考官方文档 三、参考的博客以及文档 引言 Qt Creator配置Git之后&#xff0c;可以看作是…

严蔚敏数据结构(C语言版)吴伟民宁编著清华大学计算机系列教材+题集+配套题库+笔记+习题PDF电子版

今天分享的是 严蔚敏数据结构&#xff08;C语言版&#xff09;题集配套题库笔记习题PDF电子版 注&#xff1a;本资源搜集于网络&#xff0c;仅供学习交流&#xff0c;严禁用于商业用途 内容简介&#xff1a; “数据结构”是计算机程序设计的重要理论技术基础&#xff0c;它…

pdf怎么拆分成一页一页?4种拆分方法分享

在日常的办公学习中&#xff0c;PDF文档因其跨平台、易阅读、不易篡改等特性&#xff0c;成为我们工作和学习中不可或缺的一部分。然而&#xff0c;当我们需要对PDF进行编辑、打印或分享时&#xff0c;有时需要将整个PDF文档拆分成一页一页的单独文件。那么&#xff0c;如何高效…

Hive测试

1、数据仓库的体系结构包含四个层次&#xff0c;分别是&#xff1a; 数据源 数据存储和管理 数据服务 数据应用 2、Hive提供了类似关系数据库SQL的查询语言&#xff1a; HiveQL 3、Hive某种程度上可以看作 用户编程接口&#xff0c;本身不存储和处理数据&#xff0c;存储数据依…

【RAG】Dense X Retrivel:合适的检索粒度对RAG的重要性(浅看命题粒度的定义及分解方法)

前言 在传统的密集检索中&#xff0c;常见的检索单元包括文档、段落或句子。然而&#xff0c;这些单元的选择可能会影响检索性能和下游任务的效果。例如&#xff0c;段落可能包含与问题无关的额外细节&#xff0c;而句子可能过于复杂或缺乏必要的上下文信息。为了解决这些问题…

Spring中使用FactoryBean配置注入Bean

spring通过FactoryBean配置可以将第三方框架整合到Spring中来&#xff0c;FactoryBean配置如下&#xff1a; 写一个用于注于的实体类&#xff0c;如User,并对这个类写一个实现FactoryBean的中间类&#xff08;UserFactoryBean&#xff09; User类 /** *Description: *author…

MySQL的下载安装

1.软件的下载 打开官网下载mysql-installer-community-8.0.37.0.msi 2.软件的安装 mysql下载完成后&#xff0c;找到下载文件&#xff0c;双击安装 3.配置环境变量 4.自带客户端登录与退出

【前端VUE】VUE3第一节—vite创建vue3工程

什么是VUE Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0…

使用Python绘制彩虹效果:动态彩虹动画

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义绘制彩虹函数定义颜色列表主循环 完整代码 引言 彩虹是自然界中最美丽的现象之一。通过编程&#xff0c;我们可以将这一奇妙的景象带到屏幕上。在这篇博客中&#xff0c;我们将使用Python来创建一个…

Q-Vision新功能发布 | CANReplay-enable发送

Q-Vision是一款网络分析与ECU测试工具软件&#xff0c;支持CAN&#xff08;FD&#xff09;、LIN、以太网、LVDS等车载网络标准&#xff0c;以及CCP/XCP/UDS/OBD等协议&#xff0c;并能导入DBC/LDF/ARXML/A2L/ODX等格式的数据库。 使用Q-Vision可实现对多种总线网络的在线记录、…

k8s学习--k8s群集ELK日志收集部署最详细的过程与应用(收集k8s群集日志)(图形化界面手把手教学)

文章目录 FilebeatFilebeat主要特点Filebeat使用场景 ELK简介Elasticsearch简介Elasticsearch主要特点Elasticsearch使用场景 Logstash简介Logstash主要特点Logstash使用场景 Kibana简介Kibana主要特点Kibana使用场景 简单理解 环境一、ELK集群部署1.软件安装2.软件配置及启动(…

golang写的自动更新器

文件自动更新器&#xff0c;这个很多端游和软件都有用到的。 golang的rpc通信&#xff0c;是非常好用的一个东西&#xff0c;可以跟调用本地函数一样&#xff0c;调用远程服务端的函数&#xff0c;直接从远程服务端上拉取数据下来&#xff0c;简单便捷。 唯一的遗憾就是&#x…

SQLite 命令行客户端 + Windows 批处理应用

SQLite 命令行客户端 Windows 批处理应用 下载 SQLite 客户端1. Bat 辅助脚本1. 执行SQL.bat执行 2. 导出Excel.bat执行效果 3. 导出HTML.bat执行效果 4. 清空-订单表.bat 2. 测试 SQL1. 创建订单表.sql2. 插入订单表.sql3. 查询订单表.sql4. 清空订单表.sql5. 删除订单表.sql…