本篇主要介绍六轴机械臂的运动学分析。
运动学分析是工业机器人研究和应用的重要内容,是运动控制的基础,主要研究机器人末端坐标系与基坐标系的转换关系,分为正运动学和逆运动学分析两部分。
另外,对于刚刚学习机器人理论的小伙伴,推荐看一下蔡自兴老师的《机器人学》这本书,里面对机器人介绍,运动学及动力学分析,以及运动规划等内容介绍的非常详细。

本篇目录

    • 一、数理基础
      • 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. 六自由度机器人(机械臂)运动学建模及运动规划系列(四)——轨迹规划

    本篇目录 一.轨迹规划概述 二.关节空间规划 1. 点对点规划 2. 多节点规划 示例程序 三.笛卡尔空间规划 1. 速度规划 2. 位置规划 3. 姿态插补 4. 基于几何解法的一种简化位置规划方法 ...

  2. 六自由度机器人(机械臂)运动学建模及运动规划系列(三)——机器人建模及运动学分析的Matlab仿真

    在完成机器人的建模以及运动学分析之后,可以利用Matlab中的Robotics工具箱进行仿真. 本篇目录 一.工具箱下载 二.机器人建模仿真 三.机器人运动学计算仿真 四.小结 一.工具箱下载 要在M ...

  3. 六自由度机器人(机械臂)运动学建模及运动规划系列(五)——避障路径规划

    在之前的内容中,我们对机器人的运动轨迹进行了规划,但是,这种规划方法的运动路径是根据简单的轨迹人为组合起来的,具有较大的任意性.在实际的复杂工作环境中,采用人工规划路径的方法,难以保证规划的效率和准确 ...

  4. 六自由度机器人(机械臂)运动学建模及运动规划系列——避障路径规划算法补充:粒子群算法(PSO)

    上一篇介绍了遗传算法,本篇接着介绍应用于路径规划的另一种算法--粒子群算法(PSO),主要介绍算法的理论基础以及实现流程等. 本篇目录 1. 算法起源与理论基础 2. 算法实现流程 (1)粒子群初始化 ...

  5. 六自由度机器人(机械臂)运动学建模及运动规划系列——避障路径规划算法补充:遗传算法

    上一篇介绍了蚁群算法,本篇介绍路径规划的另一种经典算法--遗传算法,主要介绍算法原理,流程以及在路径规划中的应用示例. 目录 1. 理论基础 2. 算法实现流程 3. 路径规划应用示例 4. 总结 1 ...

  6. MATLAB机器人机械臂运动学正逆解、动力学建模仿真与轨迹规划

    MATLAB机器人机械臂运动学正逆解.动力学建模仿真与轨迹规划,雅克比矩阵求解.蒙特卡洛采样画出末端执行器工作空间 基于时间最优的改进粒子群优化算法机械臂轨迹规划设计 ID:4610679190520 ...

  7. 资深老师傅讲解六轴机器人机械臂的特征和优缺点!

    资深老师傅讲解六轴机器人机械臂的特征和优缺点! 六轴关节式机器人机械手臂使用旋转轴(或者叫活关节)进行装载.卸载和后处理工作.它使用一直线轴重新定位,可以做出灵活得像人类一样的动作.其具有六轴自由度, ...

  8. 【机器人学】使用代数法求解3自由度拟人机械臂的逆运动学解

    这篇博客会讨论一下使用解析法求解3自由度拟人机械臂的逆解及分析. 一.机械臂的逆解 机械臂的逆运动学问题就是由给定的末端执行器位置和方向,确定机械臂各个关节变量的值.机械臂的求解方法可以分为两大类:数 ...

  9. 修正逆解文章——六轴UR机械臂正逆运动学求解_MATLAB代码(标准DH参数表)

    如下参考链接1的作者大大实现了UR5机械臂的正运动学和逆运动学的Matlab代码.但逆解部分在不同版本的Matlab中运行有错误. 本篇文章是MatlabR2016a下完成的,并说明一下原代码错误的原 ...

最新文章

  1. canvas画柱状图 和饼图
  2. 测试Robotium
  3. 信息系统项目管理师教程章节重点考点汇总(1)绪论重点
  4. Android截屏方法总结
  5. 【泛型】Generic 参数化类型 类型转换
  6. cmw500综合测试仪使用_山西优质三相直流电阻测试仪图片-南电合创
  7. MySQL 重中之重 [ 事物 ]
  8. Lnmp架构之PHP
  9. (原创)sqlite封装库SmartDB1.3发布
  10. 3dXXX Android,Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi
  11. [笔记] Golang小试实现神经网络框架
  12. 马化腾的格局:最后都是人品的竞争
  13. Android性能优化之启动速度优化
  14. 利用python openpyxl库实现对多个excel工作簿的快速汇总
  15. bzoj1236 KPSUM bzoj2900 好玩的数字游戏
  16. linux延时函数及头文件,linux延时函数
  17. 专访Databricks辛湜,谈Spark排序比赛摘冠及生态圈热点-2014
  18. 力扣(506.539)补8.22
  19. 判断字符串是中文或者英文
  20. 解决雷电模拟器上Xposed框架不能用的问题。

热门文章

  1. Linux软件安装缺少依赖包解决方法。
  2. 单位指定美年大健康入职体检不合格流程有哪些?
  3. android 如何启动浏览器
  4. proe 5.0的秘密
  5. What went wrong:Execution failed for task ‘:app:mergeDebugResources‘.> A failure occurred while
  6. eterm和easyfare的官网地址
  7. 浅谈众测模式与发展趋势
  8. ENVI使用教程之直方图
  9. 线上CPU100%及应用OOM的排查和解决过程
  10. 全球名校AI课程库(28)| MIT麻省理工 · 基因组学机器学习课程『Machine Learning for Genomics』