将机械手与CodeSys中的运动学模型绑定

news2024/11/17 1:32:59

文章目录

  • 1.背景介绍
  • 2.选定运动学模型
  • 3.机械手各尺寸的对应
  • 4.总结
    • 4.1.选择正确的运动学模型
    • 4.2.注意各个关节旋转的正方向。
    • 4.3.编码器零点与机械零点的偏移修正。

1.背景介绍

最近搞到了一台工业机械手,虽然这个机械手有自己的控制程序,但是我们还是想用CodeSys来进行运动控制,测试一下它的运动控制功能是否可用。
下面介绍一下如何将CodeSys中的运动学模型与现实的机械手进行绑定(映射、对应,使用你喜欢的术语)。

2.选定运动学模型

在这里插入图片描述上图左侧为实物六轴机械手的机械结构及各个轴的旋转方向。
上图右侧为CodeSys中的运动学模型:TRAFO.Kin_ArticulatedRobot_6DOF。
在这里插入图片描述
可以看到,物理机械手与运动学模型的每个关节的相对转动方向都是能够对应上的。也就是说,CodeSys中的运动学模型是能够用于实物六轴机械手的运动学控制的。

3.机械手各尺寸的对应

假如我们需要在CodeSys中使用六轴机器人模型,则必须先将下面的7个参数配置好:d1、a1、a2、d3、a3、d4、d6。只有这7个参数与现实世界的机械手对应上,才能对现实的机械手进行准确、精确的控制。
在这里插入图片描述

那么这七个参数d1、a1、a2、d3、a3、d4、d6分别代表的是啥?我们来看一下CodeSys的示意图
在这里插入图片描述

从上图可以看到,这七个参数代表的意义为:(世界坐标,轴的颜色RGB与轴的对应XYZ)
d1:机械坐标系的XY平面到关节2(J2)轴线的Z方向距离。
a1:关节2(J2)轴线到关节1(J1)轴线的X方向距离。
a2:关节2(J2)轴线到关节3(J3)轴线的Z方向距离
d3:关节4(J4)轴线到关节1(J1)轴线的Y方向距离
a3:关节3(J3)轴线到关节4(J4)轴线的Z方向距离
d4:关节3(J3)轴线到关节5(J5)轴线的X方向距离
d6:法兰盘平面与关节5(J5)轴线的X方向距离
结合目前我们实际机械手的尺寸及结构,
在这里插入图片描述这7个参数应该为:
d1: 345
a1: 20
a2: 260
d3: 0
a3: 20
d4: 280
d6: 78
d3为0是因为我们的物理机械手的J4、J1的轴线在同一个平面内。

4.总结

4.1.选择正确的运动学模型

可能运动学模型有些结构一眼看上去和实际的物理机械手结构不一样,但只是距离为0而已。一定要确保能够对应上才能进行后面的操作。

4.2.注意各个关节旋转的正方向。

有些机械手在出厂时会在机械手上标注好各个关节旋转的正方向,但是请忘记这些标记的方向。因为现在我们用的是自己的运动学模型,因此必须要按照我们运动学模型指定的旋转方向来规范各个轴。
轴的旋转正方向可以根据示意图的箭头,按照右手螺旋法则确定。(是的,和电磁感应的右手法则方向是一致的)
在这里插入图片描述
在这里插入图片描述

4.3.编码器零点与机械零点的偏移修正。

由于安装的原因,机械手的各个轴的编码器在走到零点时,可能实际上还没走到机械上的零点(两个半键槽对齐,如下图所示)。
在这里插入图片描述

也就是说,编码器零点与机械零点没对齐。由于我们的运动学模型要求各个轴的零点必须要处于模型指定的位置(各个轴与机械坐标系的某个轴平行)。否则,由于各个轴的空间关系,各个轴的偏移误差会产生非线性累加,导致最终的运动学求解结果与实际位置相差甚大。因此,必须要保证各个轴的模型零点与机械零点保持一致。
这个时候其实只要在软件轴上进行偏差修正就行。也就是各对各个轴的fOffsetPosition赋值就可以了。这个补偿的正负号可以通过测试确定,感觉直接填机械零点时轴的读数即可。
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

概述篇——计算机网络学习笔记(基于谢希仁教材与PPT)

教材用的是谢希仁的教材,图片来源于谢希仁老师配套的PPT 计算机网络课程PPT(通过这个链接,你可以找到课程配套的ppt) 计算机网络的定义及其特点 定义 网络 过去大众熟知的三种网络分别是提供电话、电报及传真等服务的电信网络&am…

中小企业如何通过 Tita 统一员工管理

老实说,我不知道如果没有Tita,我们会做什么?如何收集五个不同人的反馈、经理的反馈、员工对经理的反馈,并将其全部放在一个地方? 在没有上线 Tita 之前,我们不是不做,是因为我们做不到。 — CE…

认识下MapReduce

🔍 什么是MapReduce? MapReduce是一种分布式计算模型,最初由Google提出,用于处理大规模数据集的并行计算。它将数据处理任务分解成独立的Map和Reduce两个阶段,以实现分布式计算和并行化处理。Map阶段负责将输入数据映…

《C语言文件处理:从新手到高手的跃迁》

📃博客主页: 小镇敲码人 💚代码仓库,欢迎访问 🚀 欢迎关注:👍点赞 👂🏽留言 😍收藏 🌏 任尔江湖满血骨,我自踏雪寻梅香。 万千浮云遮碧…

C++STL初阶(1):string的使用及初阶原理

此文作为学习stl的笔记,许多普及、概念性的知识点将不再罗列(如stl的发展、背景等) 便于读者作为复习等方法了解。 0.STL简介(笔记向) STL不是祖师爷本贾尼实现的,是在惠普实验室中实现的。其作为一个数据结…

lora体验

项目链接 GitHub - cloneofsimo/lora: Using Low-rank adaptation to quickly fine-tune diffusion models. 现在如果想体验stable diffusion的lora功能,有很多种渠道吧,虽然lora是微软开源,但是cloneofsimo提供了适配stable diffusion的lor…

Centos 停服倒计时!你的操作系统何去何从?

在计算机技术的不断演进中,操作系统扮演着至关重要的角色。然而,对于许多企业和个人用户来说,CentOS的突然停服消息带来了一场不小的冲击。作为一款备受欢迎的企业级Linux发行版,CentOS的停服意味着用户需要重新评估自己的操作系统…

Win10 WSL2 Ubuntu 22.04 配置深度学习环境

文章目录 WSL安装Anaconda下载Anaconda安装包安装配置conda命令conda换国内源conda初始化shell环境conda init手动源激活脚本: 安装Windows上的NVIDIA GPU驱动WSL安装CUDA Toolkit安装12.1版本环境配置报错1报错2 内存不足导致安装崩溃问题描述问题分析问题解决 WSL…

VMware虚拟机中ubuntu使用记录(8)—— 如何在Ubuntu18.04中安装运行非ROS版本的ORB_SLAM3跑官方数据集(全程手把手教学安装)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ORB_SLAM3的介绍一、gitee下载ORB_SLAM3源码1. gitee导入gitHub仓库 二、安装支持C特性依赖三、安装Pangolin1. 安装Pangolin的依赖2. 下载编译 四、安装Eigen31.下…

java-spring 09 下.populateBean (方法成员变量的注入@Autowird,@Resource)

01.在populateBean 方法中的:用于Autowird,Resource注入 // 后处理器已经初始化boolean hasInstAwareBpps hasInstantiationAwareBeanPostProcessors();// 需要依赖检查boolean needsDepCheck (mbd.getDependencyCheck() ! AbstractBeanDefinition.DEP…

基于FPGA的数字信号处理(11)--定点数的舍入模式(2)向最临近值取整nearest

前言 在之前的文章介绍了定点数为什么需要舍入和几种常见的舍入模式。今天我们再来看看另外一种舍入模式:向最临近值取整nearest。 10进制数的nearest nearest: 向最临近值方向取整。它的舍入方式和四舍五入非常类似,都是舍入到最近的整数…

【电路笔记】-无源高通滤波器

无源高通滤波器 文章目录 无源高通滤波器1、概述2、一阶高通滤波器的频率响应3、高通滤波器示例4、二阶高通滤波器5、RC 差异化因素高通滤波器与低通滤波器电路完全相反,因为这两个组件已互换,滤波器输出信号现在从电阻器两端获取。 1、概述 由于低通滤波器只允许低于其截止…

【论文合集1】- 存内计算加速机器学习

本章节论文合集,存内计算已经成为继冯.诺伊曼传统架构后,对机器学习推理加速的有效解决方案,四篇论文从存内计算用于机器学习,模拟存内计算,对CNN/Transformer架构加速角度阐述存内计算。 【1】WWW: What, When, Where…

C# OpenCvSharp Demo - 棋盘格相机标定

C# OpenCvSharp Demo - 棋盘格相机标定 目录 效果 项目 代码 下载 效果 项目 代码 using OpenCvSharp; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.Text; using Sys…

2019年计算机真题

2019年计算机真题 离散数学 一、用逻辑符号表达下列语句(论域为包含一切事物的集合) 1)过平面上的两个点,有且仅有一条直线通过。 解: (1) P ( x , y ) : x , y \mathrm{P}_{(\mathrm{x}, \mathrm{y})}: \mathrm{x}, \mathrm{y} P(x,y)​:x,y 是平面上的…

线性表

1.1线性表的定义 线性表:零个或多个数据元素的有限序列。 注: (1)它是一个序列。元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个…

SpringBoot 使用logback(多环境配置)

Logback是由log4j创始人设计的又一个开源日志组件。可用于项目日志功能。官网地址 第1步&#xff1a;添加坐标依赖 <!--logback--> <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version…

该问题未得到解决(仅记录)

https://releases.ubuntu.com/bionic/进入网页下载ubuntu 选择烧录软件将下载的Ubuntu烧录到U盘中 之前用这个U盘烧录过一次&#xff0c;成功了&#xff0c;后来应该是U盘受损或者是什么其他原因使得用这个U盘总是烧录失败

网安面经之xss漏洞

目录 一、XSS漏洞 1、xss漏洞原理与危害 2、xss的类型&#xff1f;区别&#xff1f;修复&#xff1f; 3、常见使用的标签&#xff0c;payload构造 一、XSS漏洞 1、xss漏洞原理与危害 原理&#xff1a;xss就是跨站脚本攻击漏洞&#xff0c;也可以理解为前端的代码注入&…

数字人金融应用技术指南

根据《北京金融科技产业联盟团体标准管理办法》的规定&#xff0c;2024年3月27日经北京金融科技产业联盟第三届理事会第二次会议审议&#xff0c;批准发布《数字人金融应用技术指南》&#xff08;T/BFIA 027—2024&#xff09;、《图数据库金融应用技术要求》&#xff08;T/BFI…