多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法 学习记录03——机械臂运动学逆解

本文主要是介绍多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法 学习记录03——机械臂运动学逆解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录

本科毕设正在做多轴机械臂相关的内容,这里是一个学习机械臂运动学课程的相关记录。
如有任何问题,可发邮件至layraliu@foxmail.com问询。
1. 数学基础
2. 机械臂几何法与DH表示法
3. 机械臂运动学逆解

文章目录

  • 系列文章目录
  • 一、引言
    • 1.手臂顺向运动学forward kinematics(FK)
    • 2.手臂逆向运动学inverse kinematics(IK)
  • 二、求解概念
    • 1.概念1
    • 2.概念2
    • 3.概念3
  • 三、多重解
    • 1.解的数目
    • 2.puma(6 rotational joints)
    • 3.解的选择方式
  • 四、求解方法
    • 1.解析法(closed-form solutions)
    • 2.数值法(numerical solutions)
    • 3.A RRR Manipulator
    • 4.A Pieper’s Solution
  • 五、一般的例子
    • 1.坐标系
    • 2.物件取放任务
  • 总结


一、引言

1.手臂顺向运动学forward kinematics(FK)

正运动学(forward kinematics)是从关节变量θ到坐标系{b}在坐标系{s}中的位置和方向的映射T(θ)。
即,正运动学是通过 Joints 的转动角度或移动距离来推算末端执行器的位姿。

2.手臂逆向运动学inverse kinematics(IK)

逆向运动学刚好相反,是由末端执行器的位姿来推算 Joints 的状态。
在这里插入图片描述

二、求解概念

1.概念1

假设手臂有6 DOFs,则有:在这里插入图片描述
在H frame中提取出16个数字,其中:转动9个数字,第六个frame的原点相对于第零个点位移量3个数字。
转动的9个数字:3个自由度,6个限制条件(三个列向量之间两两垂直——三个约束条件;秩为3——三个约束条件)。
位移的3个数字:独立,3个自由度
在这里插入图片描述

求解:
12个nonlinear transcendental 方程式。(非线性超越方程组)

2.概念2

reachable workspace可达空间:手臂可以用一种以上的姿态到达的位置。
dexterous workfare灵巧空间:手臂可以用任何的姿态到达的位置。
在这里插入图片描述
原点为dexterous workspace(360度)

3.概念3

subspace:手臂在定义头尾的T所能到达的变动范围
(如下就只有一个)
若x和y确定,左上角旋转矩阵就定下来了,没有多余的解。
在这里插入图片描述

三、多重解

1.解的数目

由于是非线性超越方程,所以六个未知数六个方程不代表有唯一解。
(6个未知数、6个限制条件)
是由joint和link参数所决定的。
在这里插入图片描述

2.puma(6 rotational joints)

针对一个特定工作点,有八组解;
前3个轴具有4种姿态;
在这里插入图片描述
每一个姿态中,具有2组手腕转动姿态。
在这里插入图片描述
但若手臂本身有几何限制,并非每一种解都可以运作。

3.解的选择方式

选择:离目前状态最近的解
最快/最省能;
避开障碍物。

四、求解方法

在这里插入图片描述

1.解析法(closed-form solutions)

代数法/几何法
目前大多数机械手臂都设计成具有解析解,即pieper’s solution,相邻三轴相交于一点。

2.数值法(numerical solutions)

3.A RRR Manipulator

(已知是红色的,未知是橙色的)
在这里插入图片描述
附:
在这里插入图片描述

  1. 几何法
    将空间几何切割成平面几何。划分成平面几何后,按正弦、余弦定律等找解。
    在这里插入图片描述
    量化计算
    在这里插入图片描述
  2. 代数解
    在这里插入图片描述
    注意这里theta 2是双解
    在这里插入图片描述
    在这里插入图片描述
    一个数学问题:(理解为高数里的万能公式)
    在这里插入图片描述

4.A Pieper’s Solution

若6DOFs具有三个连续的轴相交于一点,则手臂有解析解。
一般来说,会把最后三轴如此设计。(例如puma)
在这里插入图片描述

前三轴:产生移动;
后三轴:产生转动。
因为三轴交一点,所以:
在这里插入图片描述
以下为解析过程:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、一般的例子

1.坐标系

在这里插入图片描述

2.物件取放任务

情景:机械手臂夹住放在桌子的杯子,移动手臂将杯子挂到墙上的杯架。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅简单介绍了 多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法的学习记录03——机械臂运动学逆解,而Matlab提供了大量能使我们快速便捷地处理数据的函数和方法。如有任何问题,可发邮件至layraliu@foxmail.com问询。

这篇关于多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法 学习记录03——机械臂运动学逆解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913236

相关文章

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

浅谈MySQL的容量规划

《浅谈MySQL的容量规划》进行MySQL的容量规划是确保数据库能够在当前和未来的负载下顺利运行的重要步骤,容量规划包括评估当前资源使用情况、预测未来增长、调整配置和硬件资源等,感兴趣的可以了解一下... 目录一、评估当前资源使用情况1.1 磁盘空间使用1.2 内存使用1.3 CPU使用1.4 网络带宽二、

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/