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

1、前言      

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

b9866a92c7870ce8c300eadfd0db1a87.png

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

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

2、雅克比矩阵

2.1概念补充

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

4f41d5e1a129c4b7e5055a4fd40e4526.png

式中指右边部分

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

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

2b47073d68519c67d956578283aed815.png

2.2雅克比矩阵意义

dc0fcc7cfa7fa64c85400b0062aa3e56.png

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

872881b09da33eab931d1960d559e915.png

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

8d87ca0aa1f38525adc0d5b4fe2816d5.png

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

2.3雅克比矩阵计算

方法一:根据变换矩阵

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

311856c6d53bd93f4e5f614d54e0d05d.png

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

52179c87b1460acf408b8f4c96cd93d4.png

线速度部分

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

角速度部分

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

方法二:微元法

0de23a8989b26524e4ff0ebf1e7e9a68.png

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

2c272956866b6d194e1912b5828eff38.png

写成矩阵的形式:

d5d0debeae929bc1606dde3963607029.png

其中:

88d7fb2c5dc441a77ffa9bd7f01db082.png

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

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

ce837e9e4681cd38e06e24a1841622b2.png

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

f81dcedc1aaff7c13e5c08b616e92000.png

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

写出如下叠加公式:

d70b02140fe25bfac617f93107af63d2.png

其中:

e2cd18c56ce9321c9cba71f5048f1953.png

同上写出:

97c5eb47da34671b4b4662dc80c4f45e.png

【下期预告】

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

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

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

相关文章

DS1819 对应版本的FFMPEG_OpenCV开发笔记(七十):红胖子带你傻瓜式编译VS2017x64版本的openCV4...

若该文为原创文章,转载请注明出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/107837715各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究红胖子(红模仿)的博文…

用Android打出马奔跑的动画,一款非常好用的动画库Lottie

简介Lottie是Android和iOS的移动图书馆,用于解析Adobe After Effects动画,并以Bodymovin作为json导出,并在手机和网络上本机呈现。该项目在GitHub已经获得三个端累计3万的star。在Lottie社区提供了更多的动画下载。如果你是一个设计师还可以将…

全站仪和手机连接软件_全站仪各方面应用的原理、操作及计算,看这篇就对了!...

来源:豆丁施工版权归原作者所有全站仪是什么?全站仪,即全站型电子速测仪。它是随着计算机和电子测距技术的发展,近代电子科技与光学经纬仪结合的新一代既能测角又能测距的仪器,它是在电子经纬仪的基础上增加了电子测距…

C#session共享+redis_技术干货分享:基于SpringBoot+Redis的Session共享与单点登录

categories:架构author: mrzhoutags:SpringBootredissession单点登录基于SpringBootRedis的Session共享与单点登录前言使用Redis来实现Session共享,其实网上已经有很多例子了,这是确保在集群部署中最典型的redis使用场景。在SpringBoot项目中&#xff0c…

android 热修复视频,Android热修复

所谓热修复,简单来说就是不以下载新版本apk的方式来修改应用的bug,而是在应用启动后从服务器下拉补丁包实现动态修复bug。所以在应用出现bug后,我们只需要打一个补丁,用户无需下载安装新的版本。主要是针对一些紧急的bug的修复。常…

text 两端对齐 小程序_leetcode 68 文本左右对齐

给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 填…

for循环如果先--_乐字节Java循环:循环控制和嵌套循环

乐字节小乐上次讲完了Java反射,接下来小乐给大家讲述Java循环。循环有以下四部分:Java循环一、循环控制1. do..while直到型 ( 先执行后判断) ,结构为:先执行循环体,后判断布尔表达式。循环体至少执行一次其流程图如下:2. for灵活的…

input框传值是怎么才能是整形_做了这些项目,到底多久才能化妆?

要说变美有两招最好用:一是化妆,二是整形。化妆能让长相普通的妹子变个大美妞,但程序繁琐的很,手残宝宝都表示好心累。整形就不一样了,不用左一层右一层的涂粉底神马的,绝对是手残党的福利,最最…

html纵向固定导航菜单代码,jQuery和css3响应式垂直固定导航菜单插件

这是一款非常实用的jQuery和css3响应式垂直固定导航菜单插件。当你的页面上有很多的内容,用户需要花费大量的时间才能找到他们想要的内容。这个垂直固定导航菜单插件能够为页面提供一个内容预览,使用户能非常轻松的找到他们需要的内容。HTML结构导航菜单…

单点登录 cas 设置回调地址_单点登录落地实现技术有哪些,有哪些流行的登录方案搭配?...

实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性,因此要点也就以下两个:1、存储信任 ;2、服务器生产~验证信任 ; 3、拿到服务器再次验证。单点登录的常见落地实现技术有哪…

python 长度queue_python:常见的数据结构

​ Python中常见的数据结构可以统称为容器。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。线性数据结构分类:栈(stack)--先进后出、 队列(queue)-先进先出、双端队列(deque…

纯java pdf转换成html,java pdf转换html代码

java pdf转换html代码[2021-02-03 00:56:42] 简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff1a…

tina中信号带宽_如何评测示波器带宽

示波器最重要的单一特性,即带宽在频率域提供范围标示。带宽以Hz衡量,根据频率决定信号范围,以便能精确显示及进行测试。带宽不足,则示波器将不能显示出实际信号的准确表现。例如,信号的幅度也许会不准确、边缘也许会不…

esc指令检查打印状态_【行业知识分享】八千字解读ESC系统

汽车电子稳定控制系统ESC(Electronic StabilityController)是一个主动安全控制系统,通过传感器监控车辆自身行驶状态,在车辆紧急躲避障碍物、转弯等容易出现不稳定状况时,以及在转向过度或转向不足情况下,利用动力系统干预及制动系…

c语言中文网 vc++6.0下载量_【新手必看】C语言开发环境,请查收!

C语言开发环境的选择,貌似是告诉我们,工欲善其事,必先利其器。01、Visual StudioVisual Studio(简称 VS),它是 Windows 下的标准 IDE,VS系列为IDE(集成开发环境)&#xf…

hssfworkbook.write 生成文件 数据丢失_电脑文件丢失了,数据恢复我只用这一个软件!...

电脑使用久了,遇到硬盘数据丢失或者误删乃是常见之事。所以这样的事情发生之时,最重要的是找到一个明智的解决方法,切忌浮躁,一个不小心,可能造成更严重的后果。据不完全统计,当电脑文件丢失后,…

html如何让图片跟字体重叠,CSS设置图片与文字的间距

【实例介绍】CSS设置图片与文字的间距希望图片本身与文字有一定的距离只需要给标记添加margin属性即可。margin属性包括margin.top、margin-right,margin-bottom、margin—left、margin。属性margin可以用来同时设置图片的四边外边距,而其他的…

查看so库中是否有某个定义_论Linux ELF中动态库符号重定义利用 属性/Linker 做隐藏的手法...

假如libgetthree.so libgetseven.so , 同时这两个so内部都用了internal_do_calculation()函数,并且各自定义了自己的internal_do_calculation()的实现,你会想当然的认为他们各自不影响,libgetthree和libgetseven会分别用自己的internal_do_ca…

华为新系统鸿蒙能互通吗,「连接」万物的鸿蒙,能拯救华为手机吗?

为 IoT 而生的鸿蒙操作系统,其优势与特点几乎都是围绕「万物互联」展开的。在曝光两年之后,华为的鸿蒙系统终于正式和用户见面了。6 月 2 日,华为鸿蒙操作系统及华为全场景新品发布会开启,正式推出 HarmonyOS 2.0,并发…

dw中html颜色的设置颜色代码,Dreamweaver 如何编辑字体大小颜色

以下为学做网站论坛关于“Dreamweaver 如何编辑字体大小颜色”讲解视频教程。dreamweaver是个可视化的软件,你直接选中你要更改的设置,在编辑器中直接就可以更改了。或是用CSS也可以设置你说的那些内容字体大小、颜色样式。dreamweaver编辑字体大小、颜色…