1、前言

回顾前面几期的内容,在第一期中介绍了机器人的正/逆运动学建模,正运动学解决的问题是如何从关节空间的关节变量描述操作空间的位姿,反之则是逆运动学的内容。将操作空间和关节的空间的关系用以下关系式进行表达。

机器人正/逆运动学始终在解决上面这个公式,已知末端的位姿,求解关节变量,或者已知关节变量,确定末端的位姿,这些描述的是静态位置之间的关系,属于静态运动学问题。

在第二、三期介绍了机器人动力学建模,使用是拉格朗日法,由于需要计算的每个连杆的动能,因此在第三期介绍了角速度和线速度的传递公式,即在已知每个关节的转动/平动速度情况下,从第一个运动关节出发,递推末端关节的速度(v,w)。在本期中将介绍如在已知末端的速度的情况下,求得每个关节需要的运动速度。在机器人的控制方案,一般先规划末端的轨迹,而不是规划每个关节的运动速度,因此通过末端的运动状态求解关节的运动更具现实意义。

2、雅克比矩阵

2.1概念补充

关节空间:n个自由度的机械臂的末端位姿由n个关节变量决定,这n个关节变量统称为n维关节矢量,所有关节矢量构成的空间称为关节空间。即关节空间是由关节变量组成的空间。

式中指右边部分

操作空间:也称任务空间,一般来讲是笛卡尔空间,简单来讲就是空间直角坐标系。末端的位姿在这个空间描述,上式指左边部分。关于末端空间姿态的表示的方法后续补充。

矩阵的求导:这里直接给出矩阵的求导的计算公式。

2.2雅克比矩阵意义

在前面我们知道正/逆运动学所要做的内容,可以用上式进行表述,那么是否存在这个的表达式能够将操作空间的速度和关节空间的速度联系起来。首先对上式关于时间t进行求导

通过链式法则得到了操作空间的速度与关节空间的速度关系,将以上关系简记成如下形式:

其中J即为本期需要介绍的雅克比矩阵,它建立从关节变量速度到末端速度的映射,且它们之间的关系为线性的。

2.3雅克比矩阵计算

方法一:根据变换矩阵

在笛卡尔坐标系下,末端的位姿和速度表示如下:

那么雅克比矩阵相应的可以表示成:

线速度部分

可以根据变换矩阵,其中第四列代表的含义为末端的位置。将第四列的前三个提取出来关于关节变量进行求导即可。

角速度部分

末端角速度是由每个不同的旋转关节进行线性叠加而成,在三维空间中,角速度的表示为指向旋转轴的向量,其方向可借助右手定则进行判断。在以自身旋转轴旋转和关节自身的坐标系下考虑角速度对末端的影响,关节的旋转轴在自身坐标系下通常定义为z轴([0,0,1]),角速度定义为[0,0,w],那么对于末端的角速度的贡献为[0,0,w]([0,0,1].*w)。而Jw是基于基坐标系下的表述形式。因此只需要将每个旋转轴转换成基坐标系中表示即可。

方法二:微元法

假设其它关节不动,只有第二关节绕其轴旋转微小角度。由此产生的第N个连杆的微小位移和微小转动。

写成矩阵的形式:

其中:

方法三:根据速度传递公式

速度的传递公式可回顾第三期的内容。这里直接写出速度的传递公式:

以上均针对转动关节而言,将雅克比矩阵写成以下形式:

对于末端的线速度记,末端角速度记为we,末端的速度是由每个关节运动对末端叠加,

写出如下叠加公式:

其中:

同上写出:

【下期预告】

实例讲解雅克比矩阵(下)-----雅克比应用

机械臂中的四元素转为旋转矩阵_雅克比矩阵(上)雅克比推导相关推荐

  1. 机械臂中的四元素转为旋转矩阵_机器臂的运动学

    机器人在这两年莫名其妙就成了热门话题了.在人们的想象之中,机器人智慧聪颖,无所不能,仿佛今天就要抢我饭碗,明天就要灭绝人类了.胡思乱想固然容易,不过想让机器人真的做到这些事,可就真是为难了我们这帮工程 ...

  2. python取出矩阵中的某一元素_将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例...

    在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作).那么在 tensorflow 的 Variable 类型中如何做到这一点呢? ...

  3. 六轴机械臂DIY(四)机械模型重建及DH法建模

    通过本系列文章的前三篇,一个小型桌面舵机机械臂我们就获得了,但一个控制单关节实现整体运动的机械臂无非就是一个桌面玩具,根本就不能称之为"机器人",因此在接下来的文章中我们会使用机器 ...

  4. 双轴机械臂中的闭环步进电机平顺控制算法: 42HS48EIS,57HS

    ■ 实验背景 在 两轴机械臂+机械爪整体控制板设计与机械爪控制调试 的基础上对于机械臂各关节进行了 双关节机械臂+机械爪运动控制 ,其中存在的主要问题还是肩关节运动不平稳的情况. ▲ 机械臂肩部运动 ...

  5. 5R机械臂中的5R是什么?3RPC机械臂是什么意思?6PUS是什么意思?

    在空间机构的分析中为了方便表述.将机械臂命名为数字加字母的表示方法. 字母R:转动副 字母P:移动副 字母C:圆柱副 字母S:球面副 字母E:平面副 字母U:虎克绞 空间单环机构通常用一串运动副符号表 ...

  6. ROS+UR机械臂+Moveit+ 仿真与实体机械臂的使用+realsense相机+eye_handeye手眼标定(亲测有效)上

    Universal Robots(优傲机器人)公司是一家引领协作机器人全新细分市场的先驱企业,该公司成立于2005年,关注机器人的用户可操作性和灵活度,总部位于丹麦的欧登塞市,主要的机器人产品有:UR ...

  7. 三轴机械臂/三自由度四足单腿DH正逆运动学及matlab验证

    实物模型 DH建立坐标系以及正逆运动学推导 Matlab验证 clear; clc; a1=-9.57*0.001;alpha1=pi/2; a2=-59.2*0.001; a3=-77*0.001; ...

  8. java将xml中的标签名称转为小写_深入学习Java Web(七): JSTL标签库

    本文转自与博客园一杯凉茶的博客. 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上 ...

  9. 星辰变中第四个鸿蒙,我吃西红柿构造的鸿蒙金榜上,为何第四位鸿蒙掌控者迟迟不出来?...

    看着这个标题,小编不由得想到在08年左右,网络小说上大火的<星辰变>,那段日子,每当小编去希望读书社去租书,结果这本书都租不齐全,好在后来出了大部头,才可以将其阅览一番. 在<星辰变 ...

最新文章

  1. Java 参数后面跟三个... 的作用
  2. 迁移Win 2003 DHCP服务到2008R2
  3. 从今天开始,你就可以通过云“体验”量子计算了!
  4. C# log4net 不输出日志
  5. php codesniffer 代码规范,规范三:PHP_CodeSniffer 辅佐代码规范
  6. asp.net core发布后无法访问
  7. pscc2019滤镜抽出_Photoshop(ps)cc2019 已经发现你啦!
  8. Linux系列之Linux安装及源配置(软件源)的介绍
  9. Rust本地化实现 —— fluent
  10. 小Z的袜子【莫队算法】
  11. Linux基础PHP网站搭建
  12. DSP的时钟和系统控制
  13. 计算机绘制表格教案,《表格的制作》教学设计
  14. PermissionError: [WinError 5] 拒绝访问。: ‘E:\\IdeaProjects\\maintenance\\dist\\main‘
  15. 基于FPGA的RISC_V五级流水设计---存储设计
  16. 什么是python的内置函数_什么是python内置函数
  17. 我们一起聊聊数据库的可观测性
  18. 电脑粉碎文件 c语言,C/C++ 编译器的命名粉碎规则(name mangling)和C/C++混合(ZZ)
  19. Emule与bt协议小议
  20. 8.深入浅出:集成运放的电流源——参考《模拟电子技术基础》清华大学华成英主讲

热门文章

  1. C和C++实务精选丛书
  2. “.NET研究”谈谈C# 4.0新特性“缺省参数”的实现
  3. 使用Notepad++来比较文件
  4. netty 游戏服务器框图_基于Netty和WebSocket协议实现Web端自动打印订单服务方法与流程...
  5. Linux Shell命令能力倾向问题和解答
  6. phpmyadmin管理mysql_用phpMyAdmin管理MySQL数据库_MySQL
  7. 简述计算机图形的图形应用主要有哪些,5计算机图形学考试简答题复习.doc
  8. android so abi适配,Android NDK学习(六): so文件兼容之abiFilters的使用
  9. 2019写给对象的话_恋爱中写给对象看的说说 2019最流行的情侣间情话
  10. c# uri.host_C#| 具有示例的Uri.Host属性