DH参数可以说是机器人学中最最基础的部分,SDH和MDH虽说殊途同归,但是在阅读一些论文的时候却发现有时候作者不直接指明是那种DH这样对论文的阅读和仿真就会带来一些问题,虽说MDH相较于SDH有很多优点,但是目前发现仍有很多论文在对串联机器人分析时使用SDH。
在这里直接指出机器人学的两大神书:
目前国内大多数用的都是修改DH,一般来说也比较熟悉,这里直接给出截图。
修改DH对应的齐次方程一般表达式:
标准DH虽说有一定缺陷,但是在国外的一些论文中仍然十分常见。
首先看一下杆和关节的规定:(这里sdh和mdh都一样当)
再看坐标系的建立方法:
其齐次变换矩阵为:
用例子更好的理解标准dh:
在论文验证及仿真过程中要搞清楚是哪一种dh。
结合例子就更好理解:
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轴。
这里一般就指常用的RPY角度
欧拉角的奇异性实际上就是在从旋转矩阵逆解旋转角度过程中,由于三角函数的性质导致出现退化解的现象,详细见:
《机器人学建模、规划与控制》西西里安诺 P36
其中需要注意公式 (2.23)第二个式子符号有误。
例子正在研究中。
理论部分的解释见Quaternions for Computer Graphics. 其中的链接用safari或谷歌打开比较快。
在机器人控制中,由于不同机器人之间的接口不甚相同,因此常常需要将他们之间进行相互转换。
matlab在实践过程中总是有问题,但是eigen完全没问题,所以这里用eigen:
很好理解->《机器人动力学与控制》霍伟著