机器人建模中移动关节如何建立坐标系_1.工业机器人运动学分析-正运动学_weixin_39932300的博客-程序员秘密

技术标签: 机器人建模中移动关节如何建立坐标系  

1.1机器人的D-H表示法和正运动学

D-H建模是一种对机器人连杆和关节建模的非常简单的方法,适用于任何机器人结构,而不用考虑机器人的结构顺序和复杂程度。D-H建模可以用于直角坐标、球坐标和柱坐标的变换。

机器人由任意的连杆和关节以任意顺序连接而成,为每个关节指定一个参考坐标系,并求出相临两关节的变化关系。例如求出机器人基座和第一个关节的变换,再求出第一个关节和第二个关节的变换,依次下去,直到求出最后一个关节的变化。把所有变换结合起来得到总变换关系,即机器人基座和末端执行器的变化关系。

c9fd33c1feae2a6d347c437dcf8bb71a.png
连杆坐标

如图所示,θ为绕Z轴的转角,d为Z轴方向两相临公垂线的距离,a为每条公垂线长度(大多数情况下为连杆长度),α为相临Z轴夹角(一般为0或90゜)。下面求关节n+1到相临关节n+2的变化关系,求解分四步进行。

(1) 绕Zn轴旋转θn+1,使Xn和Xn+1平行,变换矩阵为Rot(Z, θn+1);

(2) 沿Zn轴平移dn+1,使Xn和Xn+1共线,变换矩阵为Trans(0,0, dn+1);

(3) 沿Xn轴平移an+1,

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39932300/article/details/110122329

智能推荐

通过QT Creator创建菜单,添加图标和背景图片_qt 纯代码 菜单图标_dreamtdp的博客-程序员秘密

一. 首先创建一个 project. New->QT4 Gui Application. 创建完毕后,点击 XXX.ui ,开始添加菜单:双击左上角的 ”Type Here” 进行编辑,编辑完后回车(回车很重要),回车后就会出现下拉菜单,继续类似编辑。 Ok, 菜单编辑完成了,界面的 Action Editor 就会有你添加的内容 , 如下 .二,之后会在资源管理窗口看见编

linux中使用u盘和光驱的命令_linux挂载光盘等设备详解_weixin_39582656的博客-程序员秘密

光盘挂载之前,先要在“虚拟机”设置中添加CD/DVD设备,使用光盘镜像文件,否则在挂载光盘过程中系统会提醒“mount找不到介质”!!!创建挂载点(目录):mkdir/cdrom挂载:mount-tiso9660/dev/cdrom/mnt/cdrom其中-tiso9660指定文件系统类型,可以省略,系统会自动找到对应类型卸载:umout/mnt/cdrom查看系统已经挂载:ls/...

linux sw4stm32下载,SW4STM32 - System Workbench for STM32:Windows、Linux和OS X上的免费IDE - STMicroelectronic..._roueou的博客-程序员秘密

我想订阅ST电子报ST (as data controller according to the Privacy Policy) will keep a record of my navigation history and use that information as well as the personal data that I have communicated to ST for ma...

java微服务架构知识入门_贺贺42的博客-程序员秘密

一、互联网技术的发展1.集中式架构缺点:代码耦合,维护成本高无法针对不同的模块进行精准优化无法水平扩展,可扩展性弱单点容错率低,并发能力弱2.垂直拆分优点:解决了并发问题,系统拆分流量,分担系统压力。可以针对每个模块进行优化,耦合度少了。方便水平扩展,负载均衡,容错率提高了。缺点:耦合度虽然低了,但是重复代码多了,各个系统相互独立,降低了开发效率。3.分布式服务...

JAVA如何输出当前时间和日期?_输出当前日期和时间_久伴丶.丶的博客-程序员秘密

一。将Date模式转换为指定的文本模式1.创建SimpleDateFormat对象,且在构造方法的参数中输入指定的格式;如:SimpleDateFormat a = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");2.用SimpleDateFormat对象调用format方法,将Date日期格式转化为符合模式的日期字符串;(1)先要创建一个Da...

File(文件类)_简玄冰的博客-程序员秘密

File类1、构造方法    File(String filename);    File(String directoryPath,String filename);    File(File dir,String filename);    其中,filename 是文件名字,directoryPath 是文件的路径,dir 为一个目录。2、File类的常用方法

随便推点

React之hooks_叫我黑莓大人的博客-程序员秘密

1. React Hook/Hooks是什么?(1). Hook是React 16.8.0版本增加的新特性/新语法(2). 可以让你在函数组件中使用 state 以及其他的 React 特性2. 三个常用的Hook(1). State Hook: React.useState()(2). Effect Hook: React.useEffect()(3). Ref Hook: React.useRef()3. State Hook(1). State Hook让函数组件也可.

css实现文字竖排_文字纵向牌 css_newborn2012的博客-程序员秘密

以下css实现文字竖排:.totoptext { font: bold 20px/40px simsun; float: left; transform: rotate(90deg); -moz-transform: rotate(90deg); -webkit-transform: rotate(90deg); -o-transform: rotate(90deg); writ

大O表示法初学者指南_响尾大菜鸟的博客-程序员秘密

原文地址:https://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/ 计算机科学中,大O表示法被用来描述一个算法的性能或复杂度。大O表示法可以用来描述一个算法的最差情况,或者一个算法执行的耗时或占用空间(例如内存或磁盘占用)。 相信许多人读过《Programming Pearls》(《编程珠玑》)或者其他计算机科学书籍时,在

【MyBatis】无法扫描到resources下的mapper配置文件_winrh的博客-程序员秘密

一般我们都是分离Java和配置文件,但是如果配置路径有问题,会导致找不到配置文件。在mybatis-config文件中,设置配置文件路径,注意:不要用.而是用/不要用.而是用/不要用.而是用/ <mappers> <mapper resource="org/example/dao/EmployeeMapper.xml"/> </mappers>不然会扫描不到...

Intellij IDEA使用junit单元测试及其junit与spring版本不兼容问题_idea 和junit不兼容_oldbig_lin的博客-程序员秘密

Intellij IDEA自动创建单元测试,这在我之前的博客已有介绍  IntelliJ IDEA中用快捷键自动创建测试类下面是我在创建springboot测试类中的说明和遇到的问题创建好了测试类后1.测试service层测试类需要加上注解:@Runwith,@SpringBootTest2.测试Controller层测试类需要加上注解:@Runwith,@SpringB

sas:利用SQL连接表_中年英雄王叔叔的博客-程序员秘密

基本语句:select variable1, variable2, variable3.....from tablewhere condition1 and/or condition2....group by variable1, variable2, variable3......having condition1, condition2.....order by va