机器人工具坐标系(TCP算法)的D-H变换之第一篇:建立坐标系模型
公司最近生意惨淡,可能是欧美企业在中国的高光时刻快过去了,于是闲来无聊,研究下机器人的坐标系D-H变换问题,配置机器人外部轴耦合都会用到这个理论。
正在看工具坐标系的计算算法原理,机器人的应用中,指哪打哪,那和工具坐标系是分不开的,可以这么理解,机器人工具坐标系就是机器人的代表,例如人们说机器人在点1位置,那么就是说机器人的工具坐标系在点1位置。
如此重要的坐标系是怎么计算出来的呢,查了各方面资料,脑子里刚开始一团浆糊,为了大家少走弯路,给大家讲讲我总结的原理机制,让大家能理解它。
我将用下面这张六轴机器人模型图作为模型讲解:

六轴机械手3D模型
首先,要先建立六轴机械手的坐标系模型,有坐标系了才能把机械结构变为数字计算问题,建模好了,基本上就完成了百分之80工作量了,建模分为下面三步:
第一步,先找到六个关节旋转电机的位置,为下图J1,J2,J3,J4,J5,J6.

六轴机械手六关节模型
第二步,找到关节轴(坐标系的Z轴),DH变换定义的Z轴是这样的:
Z轴定义:
旋转关节,垂直于关节的旋转平面,一般定义为电机的旋转中轴线,按右手定则大拇指指向为正方向,其它四个手指为电机旋转正方向。
伸缩关节,沿关节的直线运动的正方向。(六轴机械手加行走轴会用到。)
如下图所示,六个轴都为旋转轴,所以找到了各个关节坐标系的Z轴就是各个电机旋转中轴线了。

电机中轴线图
第三步,找X轴,DH变换定义X轴是这样的:
X轴定义:
两Z轴不平行不相交,沿两Z轴的公垂线方向为X轴正方向
两Z轴平行,按任一公垂线为X轴
两Z轴相交,按两轴的叉积(也就是同时垂直两个Z轴的直线)方向为X轴
先找坐标系O1的X轴,如下图所示,根据定义,因Z1和Z2相交于O1点,属于两Z轴相交的情况,那么X轴就是两Z轴的叉积方向,即同时垂直于Z1和Z2,满足条件的X就只有一根直线,坐标系O1就确定了,O1坐标系的Y轴就通过右手定则搞定。

找坐标系O2的X2轴,如下图所示,属于两Z轴平行的情况,那么就按任一公垂线为X轴,同时垂直Z2和Z3的有无数条直线,图中我就选择一条与电机相交的直线,到此O2坐标系建立完成。

轴视图

正视图
找坐标系O3的X3轴,如下图所示,属于Z3,Z4两Z轴相交的情况,X3得到唯一的确定,得到坐标系O3。


找坐标系O4的X4轴,如下图所示,属于Z4,Z5两Z轴相交的情况,X4得到唯一的确定,得到坐标系O4。


找坐标系O5的X5轴,如下图所示,属于Z5,Z6两Z轴相交的情况,X5得到唯一的确定,得到坐标系O5,O5和O4重合。


到此,D-H变换的坐标系建模,快完成了,还差最后一个。O0坐标系,也就是永远不变的基坐标系,可以任意设定,大部分机器人是只把O1的Z轴降低点,作为基坐标系。如下图最下面的坐标系,这张图也是坐标系建模进化的完全体了,注意图中只显示X和Z轴,Y轴自己通过右手定则确定:

到此,坐标系O0,O1,O2,O3,O4,O5六个坐标系建模完成。D-H变换完成百分之80了,下面就是填写D-H变换表了,这个命题再更新,还有机器人奇异点的DH解释,都在下一篇文章给大家说的明明白白。这篇有啥不理解的,欢迎大家提问题。