六自由度机器人(机械臂)运动学建模及运动规划系列(二)——运动学分析
本篇主要介绍六轴机械臂的运动学分析。
运动学分析是工业机器人研究和应用的重要内容,是运动控制的基础,主要研究机器人末端坐标系与基坐标系的转换关系,分为正运动学和逆运动学分析两部分。
另外,对于刚刚学习机器人理论的小伙伴,推荐看一下蔡自兴老师的《机器人学》这本书,里面对机器人介绍,运动学及动力学分析,以及运动规划等内容介绍的非常详细。
本篇目录
- 一、数理基础
- 1. 空间位姿描述
- 2. 空间坐标变换
- 2. 齐次矩阵与齐次变换
- 二、运动学建模
- 1.建立连杆坐标系
- 2. 确定连杆参数
- 三、运动学分析
- 1. 正运动学求解
- 2. 逆运动学求解
- 2.1 求逆解时的注意点:
- 四、总结
一、数理基础
在对机器人进行运动学分析时,一般将其各组成部分视为刚体,下面介绍运动学分析过程中用到的数理知识。
1. 空间位姿描述
位姿表示刚体的位置和姿态。任何一个刚体在空间基坐标系B(OXYZ)中的位置状态都可以用位姿来准确描述。
位置描述:表示刚体上的点p在空间基坐标系中的位置,可用一个三维列向量来表示:
姿态描述:在刚体上建立坐标系E(O^’ X^’ Y’Z’)并与刚体固连,则刚体坐标系在与基坐标系同原点时,相对于基坐标系的转动即为刚体的姿态描述,可用一个3×3的姿态矩阵来表示:)
在机器人运动运动学分析中,在连杆末端建立坐标系。求得末端坐标系原点在基坐标系中的位置向量以及姿态矩阵后,连杆的位置状态便随之确定。
2. 空间坐标变换
坐标系在机械系统的分析中起着至关重要的作用,系统中不同构件之间的关系都需要用坐标系来描述。在机器人系统中,常常需要定义各类坐标系,如基坐标系,末端坐标系及工具坐标系等。因此进行系统分析时,会涉及到用不同坐标系描述同一个连杆的问题,需要得到从一个坐标系描述到另一个坐标系描述的转换关系。这种转换关系包括平移,旋转,复合变换等。
1)平移变换
若坐标系{E}和坐标系{B}的姿态相同但原点不重合,则P点在两个坐标系中的位置描述满足:
2)旋转变换
若坐标系{E}和坐标系{B}的原点重合但姿态不相同,则P点在两个坐标系中的位置描述满足:
3)复合变换
若坐标系{E}和坐标系{B}的原点不重合且姿态不相同,则将前面两种变换结合在一起,P点的位置描述满足:
2. 齐次矩阵与齐次变换
在机器人学中,将位置向量和姿态矩阵结合起来,形成一个4×4的矩阵,称为齐次矩阵,来统一描述构件的位置和姿态,齐次矩阵表示为:
齐次矩阵不但可以描述构件在空间中的位姿,还可以描述不同坐标系的位姿变换过程。在描述点的坐标时,通过在三维坐标中加入比例因子1,将其变为齐次坐标:
用P点的齐次坐标左乘齐次变换矩阵,得到其在不同坐标系下的位置描述,这种变换称为齐次变换,变换过程可以表示为:
拥有以上数理基础后,可以进行运动学建模及分析。
二、运动学建模
对于多关节串联型的工业机器人,一般采用D-H法建模。D-H 法是 Denavit和Hartenberg在1955年提出的,通过在机器人所有连杆上建立固连坐标系,用齐次变换矩阵描述相邻连杆的关系。下图为D-H法的通用连杆-关节示意图。
D-H法分为标准D-H法和改进D-H法两种,两者在连杆参数定义及变换顺序上略有不同。两种方法均定义了四个参数,包括关节转角θ,关节偏距d,连杆扭角α以及连杆长度a。两种建模方法的不同如下表所示:
D-H法 | 改进D-H法 | |
---|---|---|
固连坐标系 | 以连杆后一个关节坐标系为其固连坐标系 | 以连杆前一个关节坐标系为其固连坐标系 |
相邻关节坐标系变换顺序 | θ,d,a,α | a,α,d,θ或者α,a,θ,d |
1.建立连杆坐标系
D-H法建模的第一步,需要根据机器人确定连杆坐标系。其中,各个坐标系的Z轴方向与关节旋转方向相同,X轴与Y轴的确定可具体查阅资料,D-H法和改进D-H法确定X轴的方式也是不同的。建好的坐标系如下图:
2. 确定连杆参数
这里以改进D-H法为例,介绍四个参数的确定方法。
连杆i-1坐标系经过2次旋转和2次平移可以变换到连杆i的坐标系。这4次变换分别为:
(1) 沿Xi-1轴平移ai-1, 将Oi-1移动到O′i-1;
(2) 以Xi-1为转轴, 旋转αi-1角度, 使新的Zi-1轴与Zi轴同向;
(3) 沿Zi平移di, 使O′i-1移动到Oi;
(4) 以Zi轴为转轴, 旋转θi角度, 使新的Xi-1轴与Xi轴同向。
通过四次变换,便可得到各连杆参数表。对应上图的连杆参数表如下:
三、运动学分析
求解机器人各连杆关节的运动关系称为机器人运动学。已知各连杆夹角以及其余连杆坐标系参数,求解末端执行器的位姿,称为机器人的正运动学求解,反之称为逆运动学求解。
1. 正运动学求解
相邻坐标系的转换关系可以由其变换矩阵表示。 根据前述,连杆i-1坐标系经过2次旋转和2次平移可以变换到连杆i的坐标系,将这四次变换分别用矩阵表示出来,然后相乘就可以得到相邻关节的变换矩阵。
对于改进D-H法而言,变换矩阵可以表示为:
将各个连杆参数代入,便可得到形如下式的变换矩阵:
最后,将各个关节的变换矩阵相乘,便得到总的变换矩阵:
至此我们得到了机器人的正运动学方程,即求得了运动学的正解。
2. 逆运动学求解
求取机器人的逆解,就是在已知末端执行器位姿的情况下,经过矩阵变换,求得各个关节的转角,从而控制机器人达到理想的位姿。
求逆解的一般方法为:在如上图所示的矩阵方程两端,同时乘单个T矩阵的逆矩阵,接着进行观察,令等号两端矩阵特定元素对应相等,得到方程进行求解。
那我所求的逆解举例,首先在正运动学求解过程中,得到了矩阵的具体形式。在求逆解时,矩阵
的元素是已知的,因此通过观察,令等式两端矩阵中的(1,4),(2,4),(3,4)元素对应相等,可以得到方程
进而得到前三个关节角的解析解:
2.1 求逆解时的注意点:
(1)由于反三角函数的性质,一个三角函数值对应两个角度,因此求出的逆解往往有多组。常见情况下,对六自由度机械臂而言,求出的逆解有八组。
(2)求逆解过程中计算复杂(涉及大量矩阵运算和解三角函数方程),且没有统一的计算方法,所以刚开始求解时,一定要沉下心来,并且多加练习,就可以掌握规律,求得正确结果。
四、总结
本篇主要介绍了六轴机械臂的运动学建模以及正逆运动学求解过程,为后续运动规划奠定基础。
六自由度机器人(机械臂)运动学建模及运动规划系列(二)——运动学分析相关推荐
- 六自由度机器人(机械臂)运动学建模及运动规划系列(四)——轨迹规划
本篇目录 一.轨迹规划概述 二.关节空间规划 1. 点对点规划 2. 多节点规划 示例程序 三.笛卡尔空间规划 1. 速度规划 2. 位置规划 3. 姿态插补 4. 基于几何解法的一种简化位置规划方法 ...
- 六自由度机器人(机械臂)运动学建模及运动规划系列(三)——机器人建模及运动学分析的Matlab仿真
在完成机器人的建模以及运动学分析之后,可以利用Matlab中的Robotics工具箱进行仿真. 本篇目录 一.工具箱下载 二.机器人建模仿真 三.机器人运动学计算仿真 四.小结 一.工具箱下载 要在M ...
- 六自由度机器人(机械臂)运动学建模及运动规划系列(五)——避障路径规划
在之前的内容中,我们对机器人的运动轨迹进行了规划,但是,这种规划方法的运动路径是根据简单的轨迹人为组合起来的,具有较大的任意性.在实际的复杂工作环境中,采用人工规划路径的方法,难以保证规划的效率和准确 ...
- 六自由度机器人(机械臂)运动学建模及运动规划系列——避障路径规划算法补充:粒子群算法(PSO)
上一篇介绍了遗传算法,本篇接着介绍应用于路径规划的另一种算法--粒子群算法(PSO),主要介绍算法的理论基础以及实现流程等. 本篇目录 1. 算法起源与理论基础 2. 算法实现流程 (1)粒子群初始化 ...
- 六自由度机器人(机械臂)运动学建模及运动规划系列——避障路径规划算法补充:遗传算法
上一篇介绍了蚁群算法,本篇介绍路径规划的另一种经典算法--遗传算法,主要介绍算法原理,流程以及在路径规划中的应用示例. 目录 1. 理论基础 2. 算法实现流程 3. 路径规划应用示例 4. 总结 1 ...
- MATLAB机器人机械臂运动学正逆解、动力学建模仿真与轨迹规划
MATLAB机器人机械臂运动学正逆解.动力学建模仿真与轨迹规划,雅克比矩阵求解.蒙特卡洛采样画出末端执行器工作空间 基于时间最优的改进粒子群优化算法机械臂轨迹规划设计 ID:4610679190520 ...
- 资深老师傅讲解六轴机器人机械臂的特征和优缺点!
资深老师傅讲解六轴机器人机械臂的特征和优缺点! 六轴关节式机器人机械手臂使用旋转轴(或者叫活关节)进行装载.卸载和后处理工作.它使用一直线轴重新定位,可以做出灵活得像人类一样的动作.其具有六轴自由度, ...
- 【机器人学】使用代数法求解3自由度拟人机械臂的逆运动学解
这篇博客会讨论一下使用解析法求解3自由度拟人机械臂的逆解及分析. 一.机械臂的逆解 机械臂的逆运动学问题就是由给定的末端执行器位置和方向,确定机械臂各个关节变量的值.机械臂的求解方法可以分为两大类:数 ...
- 修正逆解文章——六轴UR机械臂正逆运动学求解_MATLAB代码(标准DH参数表)
如下参考链接1的作者大大实现了UR5机械臂的正运动学和逆运动学的Matlab代码.但逆解部分在不同版本的Matlab中运行有错误. 本篇文章是MatlabR2016a下完成的,并说明一下原代码错误的原 ...
最新文章
- canvas画柱状图 和饼图
- 测试Robotium
- 信息系统项目管理师教程章节重点考点汇总(1)绪论重点
- Android截屏方法总结
- 【泛型】Generic 参数化类型 类型转换
- cmw500综合测试仪使用_山西优质三相直流电阻测试仪图片-南电合创
- MySQL 重中之重 [ 事物 ]
- Lnmp架构之PHP
- (原创)sqlite封装库SmartDB1.3发布
- 3dXXX Android,Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi
- [笔记] Golang小试实现神经网络框架
- 马化腾的格局:最后都是人品的竞争
- Android性能优化之启动速度优化
- 利用python openpyxl库实现对多个excel工作簿的快速汇总
- bzoj1236 KPSUM bzoj2900 好玩的数字游戏
- linux延时函数及头文件,linux延时函数
- 专访Databricks辛湜,谈Spark排序比赛摘冠及生态圈热点-2014
- 力扣(506.539)补8.22
- 判断字符串是中文或者英文
- 解决雷电模拟器上Xposed框架不能用的问题。
热门文章
- Linux软件安装缺少依赖包解决方法。
- 单位指定美年大健康入职体检不合格流程有哪些?
- android 如何启动浏览器
- proe 5.0的秘密
- What went wrong:Execution failed for task ‘:app:mergeDebugResources‘.> A failure occurred while
- eterm和easyfare的官网地址
- 浅谈众测模式与发展趋势
- ENVI使用教程之直方图
- 线上CPU100%及应用OOM的排查和解决过程
- 全球名校AI课程库(28)| MIT麻省理工 · 基因组学机器学习课程『Machine Learning for Genomics』