机器人机械臂运动学——逆运动学解算

news2025/1/19 17:24:08

1.情景概述

        假设最一般的情况,我们的机械臂有六个自由度,那么从初始状态想要变化到目标的状态,一般情况下我们至少需要进行六次的变换,而这六次变换的矩阵参数隐含在整体的变换矩阵中。

         根据之前的知识,左上角的3*3代表了三个单位向量的转置,这九个数6个限制条件:模长为一、两两垂直,决定了有三个自由度。右上角的3*1代表了平移变换,共三个自由度。而我们6次的变换都有12个三角函数关系式,对应着6个未知数和6个限制条件,我们的目标就是为了求解这六个未知数。

2.求解概念

2.1Reachable workspace

机械臂可以用一种以上的姿态到达的位置,左图的同心圆以及右图的圆(不包括边界)。

2.2Dexterous workspace

机械臂可以用任何的姿态到达的位置,右图的中心点。

2.3Subspace

机械臂在定义头尾的变换矩阵T所能到达的变动范围

 比如这个2自由度的机械臂,引入(x,y)坐标,那么他的T是固定的:

可以看到,如果(x,y)一定,那么实际上左边的角度也都是确定的;而且,所能到达的位置也是有限的,因为旋转矩阵的九个数字已经有五个数字是确定的,只有四个数字可以发生变化。

2.4多重解

很多时候,到达一个点有多种驱动的实现方式,举一个例子,PUMA(6 rotational joints)

 针对特定的工作点,前三轴会对应四种姿态,而每种姿态,具有两种的手腕转动姿态,因此共有八组解。不难发现这些角度有如下的关系:

 但是由于机械结构的限制,未必每组解都会成为可行解。

选择解的方式要考虑以下几点:

1.相对于目前状态最快实现

2.相对于目前状态最节能

3.可以躲避障碍物

3.求解方法 

3.1解析法

解析法分为代数法或几何法。目前来讲设计的大多数手臂都存在解析解,而且为了便于求解,通常将后三个轴交于一点。

3.2数值法

3.3求解过程

下面我们来看一个例子,分析其求解过程。

 我们已知的条件是(x,y,φ),目标是要求解(θ1,θ2,θ3),即:

已知:    ,来求解

 

几何法:空间几何拆解成平面几何

 量化计算结果如下所示:

 代数法:建立方程式

 首先根据两个矩阵建立方程式,通过观察首先求解θ2,然后通过大小判断是否有解,有几组解:

 其次将θ2带入方程式:

 再进行变数变换:

 随后求解θ1:

当我们的θ2选择不同的解,θ1也会跟着产生变化。

最后求解θ3:

 三角函数方程式的求解

 

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

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

相关文章

m基于隐马尔科夫模型(HMM)的手机用户行为预测(MMUB)算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,广泛应用在语音识别,词性自动标注,音字转换,概率文法…

R语言中的Nelson-Siegel模型在汇率预测的应用

这篇文章的目的是指导读者逐步使用R编程语言实现Nelson-Siegel模型的步骤。 最近我们被客户要求撰写关于Nelson-Siegel模型的研究报告,包括一些图形和统计输出。 您可能已经知道,估计利率期限结构是任何资产定价的关键,因此对投资者和政策制…

5G无线技术基础自学系列 | 基于Massive MIMO的场景化波束优化

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 前面内容提到, 5G中引入了M…

机器人机械臂运动学——运动学正向解算

本博客内容参考台湾大学_林沛群教授_机器人学的课程内容 1.相对运动关系的描述方法 假设有现在这样的一个情景,从左到右有三个转轴,转轴本身可以转动,也可以沿着轴线上下平动,那么我们如何描述其中的运动学关系及其位置关系呢&am…

Linux Red Hat 8.0 cat、cut、sed、tail命令

1.cat: 在终端设备上显示文件内容 常用选项: -n 显示行数(空格有编号) -b 显示行数(空格没有编号) 命令格式:cat 选项 文件 特殊用法tac:倒着显示内容 配合重定向使用 查看 test1…

DPDK 多进程

DPDK库里是支持多进程和多线程,本文主要总结多进程的相关的操作。 DPDK多进程使用的关键启动参数: --proc-type:指定一个dpdk进程是主进程还是副进程(参数值就用上面的primary或是secondary,或者是auto)-…

【Bio】基础生物学 - 五个重要官能团 five important functional group

文章目录1. 羟qiǎng基(hydroxyl)2. 羧suō基(carboxyl)3. 氨基(amino)4. 磷酸盐(phosphate)5. 巯基(sulfhydryl)1. 羟qiǎng基(hydroxyl&#xf…

最新进展 | Android 自定义机器学习堆栈

作者 / Android 机器学习平台团队相较于服务器端机器学习 (ML),设备端机器学习有其独特的优势,如支持离线使用、延迟更低、隐私性更高和推理成本更低,因此 Android 中设备端机器学习的使用迅速增长。在构建基于设备端 ML 的功能时&#xff0c…

Android基于perfetto分析native内存泄露

官方文档(可在Chome直接翻译) https://perfetto.dev/docs/data-sources/native-heap-profiler 示例 raw-trace 资源地址 https://download.csdn.net/download/CSqingchen/87321798 本文示例是windows,这里使用了python工具,在Linux和mac同样适用 首先安装…

胡凡 《算法笔记》 上机实战训练指南 3.1 简单模拟

胡凡 《算法笔记》 上机实战训练指南 3.1 持续更新中 , 菜鸡的刷题笔记… 大学到现在了还没咋好好刷过题,该push自己了… 文章目录胡凡 《算法笔记》 上机实战训练指南 3.13.1 简单模拟【PAT B1001】害死人不偿命的(3n1)猜想【PAT B1032】挖掘…

spring扩展之基于HandlerMapping实现接口灰度发布的demo

背景 面试经常被问到,你了解spring源码吗?有基于spring做过什么扩展吗?除了PropertyPlaceholderConfigurer处理占位符(被说烂了)还有其他的吗? 看了springmvc的源码,有了一个新的案例可讲(吹) 基于HandlerMapping实现…

运营活动没做好,是没有明确目标

有很多运营人在做项目的时候,其实没有一个明确的目标,不清楚自己究竟为什么要做这件事。 我们在做运营方案前,要分析用户的需求有哪些,如何达成目标,制定出一个计划: 1、要做什么——计划 我们需要掌握运…

ES基础入门

ES 一、简介 1、Elastic Stack ES技术栈: ElasticSearch:存数据搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。 使用…

软件测试面试题和面试流程

自我介绍部分 .... 项目经历 .... 技能部分 性能 使用什么工具?介绍下最近做的性能测试项目,性能测试过程中遇到哪些问题?性能标准谁来定?你们性能测试的流程是什么?什么是分布式?为什么要用分布式&a…

硅片检测半导体运动台控制器的设计(二)

虽然我国目前对于精密硅片检测运动平台的整机研发还比较空白,但是值得注意的是,对于 X、Y 两自由度运动平台,甚至多自由度运动平台、先进驱动方式和控制策略的研究已经积累了一定的经验,吸收这些经验并应用于本运动平台的研发对选…

分布式系统(事务处理)

文章目录事务(Transaction)分布式事务原子提交协议单阶段提交两阶段提交三阶段提交串行等价 / 并发控制分布式死锁锁超时全局等待图边追逐算法事务放弃时的恢复服务器崩溃后的恢复恢复文件重组恢复文件日志从Crash 中恢复2PC 的恢复事务(Tran…

【Bio】基础生物学 - 化学键 chemical bond

文章目录化学键1. 共价键2. 离子键3. 金属键4. 非共价键5. 氢键Ref.化学键 化学键(chemical bond)是纯净物分子内或晶体内相邻两个或多个原子(或离子)间强烈的相互作用力的统称。使离子(ion)相结合或原子&…

【强化学习笔记】二.价值学习

文章目录Q&A1.DQN工作原理2.如何训练DQN2.1.如何更新模型参数3.2.1.完整走完流程,再更新模型参数。3.2.2.无需走完流程,即可更新模型参数。3.如何将TD算法应用到DQN网络Q&A 问:强化学习的目标是什么? 最大化累计奖励&am…

Windows 的 常用指令操作

目录 1、启动方式 2、修改cmd窗口背景色和字体色 3、文件夹常用指令 4、网络相关常用指令 5、其他常用命令 1、启动方式 用户启动:winR,输入cmd,Enter。 管理员启动:winR,输入cmd,CTRLShiftEnter。 …

Dubbo架构设计与源码解析(二) 服务注册

一、Dubbo简介 Dubbo是一款典型的高扩展、高性能、高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题。其核心模块包含【RPC通信】和【服务治理】,其中服务治理又分为服务注册与发现、服务容错、负载均衡、流量调度等。今天…