中正平和的机器人学笔记——2. 机械臂逆运动学(附MATAB代码)_平面三连杆机械臂逆运动学-程序员宅基地

技术标签: 机器人学  逆运动学  MATLAB  

0. 预备知识(别跳过呀)

上一篇我们讲了正运动学,也就是通过齐次变换矩阵,知晓关节角后求得机械臂末端的位姿,并表示在基座标系下。这一篇我们就来讲一讲逆运动学问题——已知工具坐标系{T}相对于固定坐标系{S}的期望位姿,如何计算一系列满足期望要求的关节角?

0.1 求解的难度

这是一个难度更大的问题,因为求解操作臂运动学方程是一个非线性问题。譬如六自由度的机械臂Puma560,回顾最后求得的运动学方程,
在这里插入图片描述
这里我们一共有12个方程,6个未知数。旋转部分3×3的矩阵由于每一列都是单位矢量,两两正交,因此这9个方程只有3个是独立的。再加上第四列前三行位置矢量的三个方程,6个方程对应6个未知数,应当是有解的。但是其中含有sin和cos,是非线性超越方程,求解难度很大,应到考虑到解是否存在,多解以及求解方法的问题。

0.2 解的存在性

这里引入三个概念,
工作空间(workspace):操作臂末端的执行器所能达到的范围。
灵巧工作空间(dexterous workspace):机器人末端执行器能从各个方向达到的空间。
可达工作空间(reachable workspace):机器人至少从一个方向上可以道德的空间。

从上述概念可以分析得到,如果要求解存在,那么期望点一定在工作空间内才行。
我们以两连杆机械臂为例,如果l1 = l2 = r,且关节旋转角能达到360°,那么其可达工作空间为半径为2r的圆,灵巧工作空间为原点;如果l1 ≠ l2,那么可达工作空间为外径l1 + l2,内径为|l1 - l2|的圆环,不存在灵巧工作空间。
一般的,当机械臂自由度小于6时,其不能到达三维空间内一般的目标位姿。

0.3 多解问题

多解问题也很好理解,例如Puma560机械臂,对已确定目标可有8个不同解,但往往由于关节运动范围的限制,这8个解中的某些解不能实现。如下图所示:
在这里插入图片描述

0.4 解法

由于非线性方程组没有通用的求解算法&

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

智能推荐

Swagger2总结(Swagger2引入、Spring-Swagger2整合、Swagger2常用注解与插件)-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏12次。Swagger2引入、Spring-Swagger2整合、Swagger2常用注解与插件_swagger2

JVM原理讲解和调优_jvm原理及性能调优-程序员宅基地

文章浏览阅读881次。一、什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java_jvm原理及性能调优

社交网络分析重要概念简介、相关资料和前沿研究(持续更新ing...)_social network的bei 和ei-程序员宅基地

文章浏览阅读804次。社交网络分析重要概念简介、相关资料和前沿研究_social network的bei 和ei

pythontcp服务器框架_GitHub - xiaowang359/ChatServer: 基于python-tornado 与 sqlalchemy建立的1个TCP聊天服务器框架示例。...-程序员宅基地

文章浏览阅读140次。version 0.1 版本还存在一些BUG,采用sqlite数据库做为测试关于推送部分大家可以在pypi搜索anps 下载安装apnsclient 测试###通用部分提交length = json整体包长action = 协议关键字部分提交部分提交 uid ,为了使协议通用语web环境返回status = 状态成功失败errcode = 错误代码,需要具体定义common1000010001 ..._python tornado tcp 聊天

TensorFlow安装过程问题汇总_loading channels: failed-程序员宅基地

文章浏览阅读1.6k次。1. 问题: conda search numpy 以及 conda search --full-name python 失败。失败的现象:Loading channels: failedCondaHTTPError: HTTP 404 NOT FOUND for url <http://pypi.douban.com/simple/noarch/repodata.json>..._loading channels: failed

pip install sklearn安装成功后,提示ModuleNotFoundError: No module named ‘sklearn‘错误解决办法_pip sklearn库安装成功但是报错-程序员宅基地

文章浏览阅读6.5k次,点赞10次,收藏16次。pip install sklearn安装成功后,提示ModuleNotFoundError: No module named 'sklearn'错误解决办法_pip sklearn库安装成功但是报错

随便推点

PYTHON常用库简介_python常用库介绍-程序员宅基地

文章浏览阅读8.3k次,点赞6次,收藏80次。Python科学计算基础库:Numpy,Pandas,Scipy,Matplotlib1.NumPy支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,线性代数,傅里叶变换和随机数功能底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,效率远高于纯Python代码。2.PandasPandas是一个强大的基于Numpy分析结构化数据的工具集;Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Micros_python常用库介绍

Anaconda创建Pytorch虚拟环境(排坑详细)_anaconda创建pytorch环境-程序员宅基地

文章浏览阅读5.9w次,点赞150次,收藏1.4k次。利用conda指令搭建Pytorch环境,并在Pytorch环境中安装GPU版Pytorch相关包。_anaconda创建pytorch环境

Linux: 磁盘状态观察命令lsblk、blkid-程序员宅基地

文章浏览阅读955次,点赞12次,收藏32次。有时我们在磁盘规划前会想要确定一下当前系统的文件系统或磁盘分区情况。这时,就有几个命令可以供选择,通过本文,可以学习这些命令的使用。_lsblk

构造方法与方法的区别详解_构造方法和普通方法之间的区别-程序员宅基地

文章浏览阅读5.7k次,点赞11次,收藏46次。结论!!!学生类当中虽然没有构造方法 但是测试代码当中Student对象也创建完成了。是因为当类中没有任何构造方法的时候系统默认构造一个无参数的构造方法构造方法和普通方法结构的区别如下:​​​​​​​调用构造方法怎么调用呢?..._构造方法和普通方法之间的区别

高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据...-程序员宅基地

文章浏览阅读199次。全文链接:http://tecdat.cn/?p=23378在本文中,我们将使用基因表达数据。这个数据集包含120个样本的200个基因的基因表达数据。这些数据来源于哺乳动物眼组织样本的微阵列实验(点击文末“阅读原文”获取完整代码数据)。相关视频1 介绍在本文中,我们将研究以下主题证明为什么低维预测模型在高维中会失败。进行主成分回归(PCR)。使用glmnet()进行岭回归、lasso 和弹性网el..._高维数据回归方法

中科数安 | 防泄密软件-程序员宅基地

文章浏览阅读419次,点赞16次,收藏3次。此外,中科数安防泄密软件还具有智能加密功能,可以识别散落在企业不同位置的机密文件,并对其强制加密,非核心数据不被过分加密,防止敏感内容泄漏。同时,它还支持离网办公,针对出差人员或网络故障等原因引起的客户端离网,用户可以发起离网审批,确保终端密文在出差过程中保持可用状态,不影响正常办公。它采用了多种加密机制和技术手段,确保企业数据的安全性、完整性和机密性。总之,中科数安防泄密软件是一种功能强大、技术先进的企业数据保护软件,可以有效地防止敏感数据的泄露和非法访问,保障企业的信息安全和业务连续性。

推荐文章

热门文章

相关标签