机器人 标准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.rhkb.cn/news/268788.html

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

相关文章

【Python】变量的引用

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

微服务day04-基于Feign的远程调用

一.Feign的认识 是http客户端,因为使用RestTemplate存在一些问题:代码可读性差,参数配置费事,不够优雅… String url"http://userservice/user/"order.getUserId(); User userrestTemplate.getForObject(url,User.cla…

【AIGC】如何提高Prompt准确度

前言 随着人工智能的迅猛进展,AIGC(通用人工智能聊天工具)已成为多个行业中不可或缺的自然语言处理技术。Prompt作为AIGC系统的一项关键功能,在工具的有效运作中发挥了举足轻重的作用。本篇文章将深入探讨Prompt与AIGC之间的紧密…

OpenLayers线性渐变和中心渐变(径向渐变)

目录 1.前言2.添加一个面要素3.线性渐变3.1 第一个注意点3.2 第二个注意点 4.中心渐变(径向渐变)5.总结 1.前言 OpenLayers官网有整个图层的渐变示例,但是没有单个要素的渐变示例,我们这里来补充一下。OpenLayers中的渐变是通过fi…

PostgreSQL restartpoint 原理详解

背景 大部分人对 PG 的 checkpoint 机制会熟悉一点,但是对 restartpoint 却不太熟悉,网上介绍这方面的文章也比较少。因此,本文将以 PG 14.7 的社区代码为基础,介绍 PG 中的 restartpoint 机制。 原理介绍 什么是 restartpoint…

Docker的基础知识与应用技巧

文章目录 一.docekr简介二.docekr安装三.docker命令 一.docekr简介 Docker是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上。Docker基于轻量级虚拟化技术&a…

2024022701-信息安全(二)——密码学

密码学的基本概念 密码学(Cryptology): 研究信息系统安全保密的科学。 密码编码学(Cryptography): 研究对信息进行编码,实现对信息的隐蔽。 密码分析学(Cryptanalytics) : 研究加密消息的破译或消息的伪造。 消息被称为明文(Plaintext)。 用…

【CSS】(浮动定位)易忘知识点汇总

浮动特性 加了浮动之后的元素,会具有很多特性,需要我们掌握的. 1、浮动元素会脱离标准流(脱标:浮动的盒子不再保留原先的位置) 2、浮动的元素会一行内显示并且元素顶部对齐 注意: 浮动的元素是互相贴靠在一起的(不会有缝隙)&…

用于游戏开发的顶级 PYTHON 框架

一、说明 我们试图用python开发游戏,一旦产生这个念头,就伴随这样一个问题:当今用于构建游戏的领先 Python 框架有哪些?python下,支持游戏开发平台有哪些优势?我们在这篇博文中告诉你。 二、高级游戏平台简…

nginx使用详解--缓存

Nginx 是一个功能强大的 Web 服务器和反向代理服务器,它可以用于实现静态内容的缓存,缓存可以分为客户端缓存和服务端缓存。 客户端缓存 客户端缓存指的是浏览器缓存, 浏览器缓存是最快的缓存, 因为它直接从本地获取(但有可能需要发送一个协商缓存的请…

NOIP 2009普及组初赛试题及解析

NOIP 2009普及组初赛试题及解析 一. 单项选择题 (共20题,每题1.5分,共计30分。每题有且仅有一个正确答案.)。二. 问题求解(共2题,每题5分,共计10分)三. 阅读程序写结果(共…

【精选】Java项目介绍和界面搭建——拼图小游戏 上

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

MYSQL---日志

1.日志的概述 日志是MySQL数据库的重要组成部分。日志文件中记录着MySQL数据库运行期间发生的变化;也就是说用来记录MySQL数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因&#xff0…

【Web】速谈FastJson反序列化中JdbcRowSetImpl的利用

目录 简要原理分析 exp 前文:【Web】速谈FastJson反序列化中TemplatesImpl的利用 简要原理分析 前文的TemplatesImpl链存在严重限制,即JSON.parseObject()需要开启Feature.SupportNonPublicField fastjson的第二条链JdbcRowSetImpl,主要…

2024年,只有搞颜色的P站真正关心网站性能

2024 年,大家觉得一个网站 JS 文件的平均大小应该是多少?1MB、5MB、10MB,还是更加大呢? 近年来,层出不穷的现代化前端技术让人眼花缭乱,让网站拥有了更多的交互和丰富的功能,再加上终端设备的配置越来越高,许多网站似乎不用再过分担心性能问题 —— 常常打开网站就要下…

EI论文部分复现:含VSC-HVDC的交直流系统内点法最优潮流计算Simulink模型!

适用平台:MatlabSimulink;复现内容:VSC-HVDC模型 简介 高压直流传输系统主要包括换流站、输电线路和终端设备,其中换流站起着关键作用,他可以实现交流整流和直流逆变。常见的HVDC系统有全桥式、半桥式和两水平VSC等。…

spring boot学习第十三篇:使用spring security控制权限

该文章同时也讲到了如何使用swagger。 1、pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…

PackagingTool_x64_v2.0.1.0图片转档打包二进制文件合并字库生成图片软件介绍

继去年12月份发布的打包软件PackagingTool v1.4.0.2之后&#xff0c;今年再度投入精力&#xff0c;完善了软件功能&#xff0c;同时开发了几个更加实用的工具&#xff0c;可助力UI界面的设计开发。当前最新版本为PackagingTool_x64_v2.0.1.0&#xff0c;该版本主界面如下&#…

二叉树(C/C++)

本篇将较为详细的介绍二叉树的相关知识&#xff0c;以及二叉树的实现。对于二叉树的相关知识&#xff0c;本篇介绍了其概念、特殊的二叉树、性质还有存储结构。 接着对于实现二叉树的每个函数都有其思路讲解&#xff0c;主要的函数分为&#xff1a;遍历&#xff1a;前中后序遍历…

什么是网络安全、信息安全、计算机安全,有何区别?

这三个概念都存在&#xff0c;一般人可能会混为一谈。 究竟它们之间是什么关系&#xff1f;并列&#xff1f;交叉&#xff1f; 可能从广义上来说它们都可以用来表示安全security这样一个笼统的概念。 但如果从狭义上理解&#xff0c;它们应该是有区别的&#xff0c;区别在哪呢&…