很多想进一步了解机器人的朋友,一直想了解机器人的(正向和反向)解的问题。理解手册还是很难的。其实原理并不难。难的是逆解不是唯一的。再加上机械位置的限制,有些机器人跑不起来,所以这些细节的计算量巨大!还好,今天我只讲原则!
很多朋友可能对运动学正解的D-H变换部分有粗略的了解,但要看到完整的逆解并不容易。大部分信息都是矩阵运算,让我看的头破血流。今天我就来说说逆解的原理(如果对计算部分感兴趣,详细推理步骤请阅读机器人手册等专业书籍)!
原理部分的讲解,对于想搞清楚机器人如何运动的朋友很有帮助。上一篇文章写了正解部分,今天的(逆)解部分,机器人可以简单移动了!
如下图,同一个机器人坐标位置有八种(逆)解,即机器人有八种姿态到达该点!
该机器人在同一坐标下有8种关节解。
这个机器人在同一个坐标下有八种关节解。
其实我的理解是,机器人要运动到一个设定点(刀具和坐标系都已经设定好),机器人的六个关节应该怎么运动?
6轴DH参数
2.代入DH参数,可以得到DH正解模型中坐标系1相对于坐标系0的变换矩阵(上一篇文章有详细说明);同样,2相对于1,3相对于2,4相对于3,5相对于4,6相对于5的变换矩阵都可以得到。因为六轴机器人是串联的,这六个变换矩阵相乘得到的矩阵就是从基准坐标系0到刀具坐标系6的变换矩阵!如下图:
转换公式
1到0转换
2-相对1变换
3到2转换
4到3转换
5-相对4变换
6-相对5变换
3.在纯数学计算的情况下,我们只需要将基础标记在X、Y、Z方向平移一定距离,然后将RX、RY、RZ旋转一定角度,就可以得到TCP的坐标。可以理解,TCP是通过碱基标记的平移和旋转获得的。
这种纯数学变换的平移加旋转变换叫做齐次变换(我在之前的文章里写过齐次变换的文章,有兴趣可以看看)。记住这个齐次变换矩阵!
齐次变换矩阵
(齐次变换)矩阵中的旋转参数对应下面两个图,两个图相等,从而得到r11-r33的值(前面都推导过了):
旋转矩阵公式
旋转矩阵参数
4.第二步中六个变换矩阵相乘得到的矩阵就是第三步中的等于's矩阵;
两对矩阵元素相互对应以获得12个方程:
12个方程式
C12的意义
C1为COS1,是电机1的角度1的余弦;同样,S1代表sin1;其他人依次!
5.如果你已经设置了机器人的点(Px,Py,PZ,,,)TCP相对于基座目标的数据,那么第四步中的r11-r33和PX,PY,Pz都是已知的!
剩下的就是解决了!这个方程是多解的。让我们看看你是否对推理感兴趣。我只说原理,手动扣会致命。最好用电脑matlab来解!
不要以为真正的机器人只有那么多操作,就那么一点点。还有很多因素要考虑。比如每个电机我可以得到两个结果,那么运行的时候应该取哪个解呢?这个需要加权,一般哪条路径最接近!但是有些路径很近,但是机器会干涉,有些轴在那里不能旋转
还有,一般情况下,如果每个变量不为0,最多有16个解,这是不能接受的。机器人没有这样的智能算法,所以有些机械参数要设计成0,六轴机器人的4轴、5轴、6轴一般都设计成相交,这样解就减少了,又不缺乏自由度!
机器人运动学逆解原理分析完毕。如果你觉得有用,多关注我,我会继续分享一些经验和教训给你!