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

系列文章目录

本科毕设正在做多轴机械臂相关的内容,这里是一个学习机械臂运动学课程的相关记录。

如有任何问题,可发邮件至layraliu@foxmail.com问询。
1. 数学基础
2. 机械臂几何法与DH表示法
3. 机械臂运动学逆解

文章目录


一、引言

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问询。

相关推荐
使者大牙几秒前
【大语言模型学习笔记】第一篇:LLM大规模语言模型介绍
笔记·学习·语言模型
As977_23 分钟前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
ajsbxi26 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
Rattenking27 分钟前
React 源码学习01 ---- React.Children.map 的实现与应用
javascript·学习·react.js
顶呱呱程序34 分钟前
2-143 基于matlab-GUI的脉冲响应不变法实现音频滤波功能
算法·matlab·音视频·matlab-gui·音频滤波·脉冲响应不变法
dsywws1 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
道法自然04021 小时前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
爱吃生蚝的于勒1 小时前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
cuisidong19973 小时前
5G学习笔记三之物理层、数据链路层、RRC层协议
笔记·学习·5g
南宫理的日知录3 小时前
99、Python并发编程:多线程的问题、临界资源以及同步机制
开发语言·python·学习·编程学习