机器人 标准DH与改进DH

文章目录

  • 1 建立机器人坐标系
    • 1.1 连杆编号
    • 1.2 关节编号
    • 1.3 坐标系方向
  • 2 标准DH(STD)
    • 2.1 确定X轴方向
    • 2.2 建模步骤
    • 2.3 变换顺序
    • 2.4 变换矩阵
  • 3 改进DH(MDH)
    • 3.1 确定X轴方向
    • 3.2 建模步骤
    • 3.3 变换顺序
    • 3.4 变换矩阵
  • 4 标准DH与改进DH区别
  • 5 Matlab示例
  • 参考链接

1 建立机器人坐标系

1.1 连杆编号

基座为杆0,从基座往后依次定义为杆1,杆2,…,杆i;

1.2 关节编号

杆i离基座近的一端(近端)的关节为关节i,远的一端(远端)为关节i+1。
在这里插入图片描述

1.3 坐标系方向

  1. 确定Z轴,如果关节是旋转的,Z轴按右手定则,大拇指指向为正方向,关节转角θ为关节变量。如果关节是移动的,Z轴定在沿直线运动方向的正方向,连杆偏移d为关节变量。
  2. 确定X轴,情况一:两关节Z轴既不平行也不相交,即呈异面直线时。则取两Z轴公垂线方向作为X轴方向。
    情况二:两关节Z轴平行。此时,两Z轴之间有无数条公垂线,可挑选与前一关节的公垂线共线的一条公垂线。
    情况三:两关节Z轴相交。则取两条Z轴的叉积方向作为X轴(叉积:向量积)
  3. 确定Y轴,通过右手定则确定Y轴的方向。大拇指指向Z轴的方向,以x轴为准,逆时针旋转90°的方向为y轴的方向。

2 标准DH(STD)

2.1 确定X轴方向

X轴的方向取当前的Z轴和前一个关节Z轴( Z i − 1 Z_{i-1} Zi1轴)的叉乘方向,根据右手定则:由 Z i − 1 Z_{i-1} Zi1轴转向Z轴,大拇指方向即为X轴方向。可以简便的取为由 Z i − 1 Z_{i-1} Zi1轴指向Z轴,公垂线方向即是X轴的方向。
在这里插入图片描述

2.2 建模步骤

  1. z i − 1 z_{i-1} zi1轴旋转 θ i \theta_i θi,使得 x i − 1 x_{i-1} xi1 x i x_i xi平行;
  2. 沿 z i − 1 z_{i-1} zi1轴平移 d i d_i di,使得 x i − 1 x_{i-1} xi1 x i x_i xi重合;
  3. 沿 x i x_{i} xi轴平移 a i a_i ai,使得 z i − 1 z_{i-1} zi1 z i z_i zi重合;
  4. x i x_{i} xi轴旋转 α i \alpha_i αi,使得 z i − 1 z_{i-1} zi1 z i z_i zi共线;

2.3 变换顺序

STD-DH方法变换时四个参数相乘的顺序依次为 θ → d → a → α \theta \to d \to a \to \alpha θdaα

2.4 变换矩阵

R o t ( z i − 1 , θ i ) = [ cos ⁡ θ i − s i n θ i 0 0 sin ⁡ θ i cos ⁡ θ i 0 0 0 0 1 0 0 0 0 1 ] \mathrm{Rot(z_{i-1},\theta_i)}=\begin{bmatrix}\cos\theta_\mathrm{i}&-\mathrm{sin\theta_i}&0&0\\\sin\theta_\mathrm{i}&\cos\theta_\mathrm{i}&0&0\\0&0&1&0\\0&0&0&1\end{bmatrix} Rot(zi1,θi)= cosθisinθi00sinθ

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

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

相关文章

Elasticsearch:如何创建搜索引擎

作者:Jessica Taylor 搜索引擎是生活中我们认为理所当然的事情之一。 每当我们寻找某些东西时,我们都会将一个单词或短语放入搜索引擎,就像魔术一样,它会为我们提供一个匹配结果列表。 现在可能感觉不那么神奇了,因为这…

Go-知识struct

Go-知识struct 1. struct 的定义1.1 定义字段1.2 定义方法 2. struct的复用3. 方法受体4. 字段标签4.1 Tag是Struct的一部分4.2 Tag 的约定4.3 Tag 的获取 githupio地址:https://a18792721831.github.io/ 1. struct 的定义 Go 语言的struct与Java中的class类似&am…

最简单的基于 FFmpeg 的收流器(以接收 RTMP 为例)

最简单的基于 FFmpeg 的收流器(以接收 RTMP 为例) 最简单的基于 FFmpeg 的收流器(以接收 RTMP 为例)正文结果工程文件下载参考链接 最简单的基于 FFmpeg 的收流器(以接收 RTMP 为例) 参考雷霄骅博士的文章…

蓝凌OA frpt_listreport_definefield.aspx接口存在SQL注入漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

DevStack 部署 OpenStack

Devstack 简介 DevStack 是一系列可扩展的脚本,用于基于 git master 的最新版本快速调出完整的 OpenStack 环境。devstack 以交互方式用作开发环境和 OpenStack 项目大部分功能测试的基础。 devstack 透过执行 stack.sh 脚本,搭建 openstack 环境&…

lv20 QT主窗口4

熟悉创建主窗口项目 1 QAction 2 主窗口 菜单栏:fileMenu menuBar()->addMenu(tr("&File")); 工具栏:fileToolBar addToolBar(tr("File")); 浮动窗:QDockWidget *dockWidget new QDockWidget(tr("Dock W…

Threejs之精灵模型Sprite

参考资料 精灵模型Sprite…Sprite模拟下雨、下雪 知识点 注:基于Three.jsv0.155.0 精灵模型Sprite精灵模型标注场景(贴图)Sprite模拟下雨、下雪 精灵模型Sprite Three.js的精灵模型Sprite和Threejs的网格模型Mesh一样都是模型对象,父类都是Object3…

Matlab 最小二乘插值(曲线拟合)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 在多项式插值时,当数据点个数较多时,插值会导致多项式曲线阶数过高,带来不稳定因素。因此我们可以通过固定幂基函数的最高次数 m(m < n),来对我们要拟合的曲线进行降阶。之前的函数形式就可以变为: 二、实现…

spring Boot 报错RedisConnectionFailureException

错误描述&#xff1a; 错误重点&#xff1a;&#xff08;图片中蓝色区域&#xff09; Unable to connect to Redis; 无法连接到Redis Unable to connect to 127.0.0.1 无法连接到本地服务器 所以&#xff0c;错误是本地服务器没有连接上Redis所引起的 错误解析…

Linux——进程控制(二)进程等待

目录 前言 一、进程等待 二、如何进行进程等待 1.wait 2.waitpid 2.1第二个参数 2.2第三个参数 3. 等待多个进程 三、为什么不用全局变量获取子进程的退出信息 前言 前面我们花了大量的时间去学习进程的退出&#xff0c;退出并不难&#xff0c;但更深入的学习能为本…

048 异常

什么是异常 异常体系结构 异常的继承关系 Error Exception 异常处理机制 try&#xff1a;用{}将可能产生异常的代码包裹catch&#xff1a;与try搭配使用&#xff0c;捕获try包裹代码中抛出的异常并进行后续动作finally&#xff1a;跟在try后&#xff0c;在try和catch之后执行…

web3时事粥报

比特币正成为更具有吸引力的通胀对冲工具 在通胀的宏观经济浪潮中&#xff0c;比特币正逐渐崭露头角&#xff0c;成为那些渴望多元化投资组合的投资者眼中的璀璨明星。Kooner 预测&#xff0c;2024年&#xff0c;各种宏观经济挑战可能进一步提升比特币、黄金和白银等资产的避险…

Google Dremel和parquet的复杂嵌套数据结构表征方法解析

转载请注明出处。作者&#xff1a;archimekai 核心参考文献&#xff1a; Dremel: Interactive Analysis of Web-Scale Datasets 文章目录 引言复杂嵌套数据结构的无损表征问题Dremel论文中提出的表征方法parquet备注 引言 Dremel是Google的交互式分析系统。Google大量采用prot…

搭建服务器及跨域处理

使用内置的模块搭建服务器 自己电脑: 域名:localhost ip:127.0.0.1 http模块搭建服务器 const http = require(http)// 创建一个http对应的服务器,每次改完服务器的代码后都需要重新启动下服务器 /*方式一: const server = http.createServer((request,response)=>{…

铁路关基保护新规发布!铁路软件供应链安全洞察与治理思路

近日&#xff0c;国家铁路局发布《铁路关键信息基础设施安全保护管理办法》&#xff0c;《办法》第十四条提到&#xff1a;“运营者应当加强铁路关键信息基础设施供应链安全保护&#xff0c;优先采购安全可信的网络产品和服务。运营者采购网络产品和服务&#xff0c;应当预判该…

Intel FPGA IP之LVDS SerDes IP学习

FPGA 视频数据输入输出直通工程&#xff1a; 屏&#xff1a;13.2吋8bit色深&#xff0c;屏幕分辨率为1440*192060&#xff0c;具有两个Port&#xff0c;每个Port有4个差分数据对与1个差分时钟对&#xff0c;差分对均支持LVDS协议芯片&#xff1a;Cyclone V系列FPGA目的&#x…

Noise Conditional Score Networks(NCSN)学习

参考&#xff1a; [1] https://zhuanlan.zhihu.com/p/597490389 [2] https://www.zhangzhenhu.com/aigc/Score-Based_Generative_Models.html TOC 1 基于分数的生成模型1.1 简介和动机1.2 Score Matching及其改进1.2.1 Score Matching1.2.2 Sliced score matching&#xff08;不…

XSS_lab(level1-level5)

level1 直接输入页面没有发现输入框&#xff0c;观察url发现有传参 尝试修改传参为&#xff1a;<script>alert(1)</script> 过啦&#xff01; level2 页面中有输入框&#xff0c;尝试构建语句&#xff1a;<script>alert(1)</script>,传输后查看源代…

国际心理学导师-叶子文JeffreyYip的《意识地图》

“物质就是能量。” ---爱因斯坦 “時常保持觉知&#xff0c;有意识地发现情绪起伏 你随时都能翻转人生 做自己人生的导演 当你频率高时&#xff0c;万事万物为你而来” ---大卫霍金斯 叶子文-《意识地图》&#xff1a;高阶心理学课程 宇宙间万物的本质是能量。一切都靠能量…

Java基础---lambda表达式

一、为什么要引入lambda表达式 lambda 表达式是一个可传递的代码块 &#xff0c; 可以在以后执行一次或多次 。 在介绍lambda表达式之前&#xff0c;我们看一下&#xff0c;以前&#xff0c;我们对于一个问题的通常写法。 假设你已经了解了如何按指定时间间隔完成工作&#xf…