【机器人学】机器人运动学基础

文章目录

  • DH table
    • 参考
    • MDH
    • SDH
  • 齐次变换矩阵
    • 左乘、右乘
    • 左右乘与DH参数
  • 欧拉角
    • 欧拉角的奇异性
    • 欧拉角万向节死锁
  • 四元数
  • 齐次变换矩阵、欧拉角、轴角和四元数之间的转化关系
  • 机器人pieper准则

DH table

DH参数可以说是机器人学中最最基础的部分,SDH和MDH虽说殊途同归,但是在阅读一些论文的时候却发现有时候作者不直接指明是那种DH这样对论文的阅读和仿真就会带来一些问题,虽说MDH相较于SDH有很多优点,但是目前发现仍有很多论文在对串联机器人分析时使用SDH。
在这里直接指出机器人学的两大神书:

  • 《机器人学导论》使用的时MDH,但是书中没有说明自己使用的就是MDH。
  • 《机器人动力学与控制》使用的是SDH并且对MDH做出了说明,实属点赞。

参考

  • 《机器人动力学与控制》 霍伟
  • 《机器人学导论》John J. Craig

MDH

目前国内大多数用的都是修改DH,一般来说也比较熟悉,这里直接给出截图。

【机器人学】机器人运动学基础_第1张图片

修改DH对应的齐次方程一般表达式:

【机器人学】机器人运动学基础_第2张图片

SDH

标准DH虽说有一定缺陷,但是在国外的一些论文中仍然十分常见。
首先看一下杆和关节的规定:(这里sdh和mdh都一样当)

【机器人学】机器人运动学基础_第3张图片

再看坐标系的建立方法:

【机器人学】机器人运动学基础_第4张图片 【机器人学】机器人运动学基础_第5张图片

其齐次变换矩阵为:

【机器人学】机器人运动学基础_第6张图片

用例子更好的理解标准dh:

【机器人学】机器人运动学基础_第7张图片

在论文验证及仿真过程中要搞清楚是哪一种dh。

齐次变换矩阵

【机器人学】机器人运动学基础_第8张图片

结合例子就更好理解:
rotz(45)=

0.7071   -0.7071         0
0.7071    0.7071         0
     0         0    1.0000

rotz(90) =

 0    -1     0
 1     0     0
 0     0     1

其中投影就是在其上的坐标。

左乘、右乘

很多人搞不清矩阵左乘、右乘对旋转的影响。而且很多博客给出的都是错误的结论,鱼龙混杂。
在这直接给出仿真结果:
设有R_world=E(世界坐标系)和R_my(在世界坐标系下的 描述),蓝线是Z轴,红线是X轴,绿线是Y轴

  • 左乘:R_my=rotx(t)*R_my
    可以看出R_my坐标系先对于自己的x轴发生旋转(并且是顺时针,这是因为R_my相对于rotx(t)旋转了,rotx(t)是逆时针旋转)。
【机器人学】机器人运动学基础_第9张图片
  • 右乘:R_my=R_my*rotx(t)
    可以看出R_my坐标系先对于R_world的x轴发生旋转。
【机器人学】机器人运动学基础_第10张图片

左右乘与DH参数

欧拉角

这里一般就指常用的RPY角度

欧拉角的奇异性

欧拉角的奇异性实际上就是在从旋转矩阵逆解旋转角度过程中,由于三角函数的性质导致出现退化解的现象,详细见:

《机器人学建模、规划与控制》西西里安诺 P36

其中需要注意公式 (2.23)第二个式子符号有误。

欧拉角万向节死锁

例子正在研究中。

四元数

理论部分的解释见Quaternions for Computer Graphics. 其中的链接用safari或谷歌打开比较快。

【机器人学】机器人运动学基础_第11张图片

齐次变换矩阵、欧拉角、轴角和四元数之间的转化关系

在机器人控制中,由于不同机器人之间的接口不甚相同,因此常常需要将他们之间进行相互转换。
matlab在实践过程中总是有问题,但是eigen完全没问题,所以这里用eigen:

  • Eigen中四元数、欧拉角、旋转矩阵、旋转向量之间的转换
  • Eigen Main Page
  • 坐标变换学习笔记—代码篇Eigen,看一下其中算法具体的实现方式。
  • Eigen子矩阵操作

机器人pieper准则

很好理解->《机器人动力学与控制》霍伟著

【机器人学】机器人运动学基础_第12张图片

你可能感兴趣的:(机器人,机器人)