HI
各位小伙伴你们好!距离上次更新有两周多了。最近实在是忙,提前预告一个小小的消息,我正在开发一个kuka的小软件,已经快到完成阶段了。大家如果有兴趣参与第一批内测请持续关注哦!!!
今天我们来聊聊机器人最最初级的,却又有很多人始终不是很理解的内容——机器人运动
1 机器人是如何记住位置的
在机器人程序中有这样的一条一条运动指令,这些指令相分别对应了一个位置。那么机器人是怎么知道这些位置在哪呢?
Touch Up 的时候机器人怎么把这些位置记住的呢?
这些点都有他们自己的名字。比如"P46,P48"这些都是点位的名称,机器人就是用这些名称来区分目标位置的。
这些名称其实是给我们看的,实际上它还有另外一个名称"XP46"。只要我们将这些运动点展开折合就可以看到了。
如此看来,在运动点的"外衣"下,竟然藏着这么多行代码。并且还把P46这个名字改成了XP46
2 机器人是怎样到达目标点的
认识了运动点的真面目,再来看看运动点的内部。
我们都知道在专家模式下一个程序模块就变成了两个文件,***.src和***.dat那么***.dat就是机器人的数据文件。
数据文件中能找到和运动点名称一样的声明,不用怀疑,这就是运动点的记录方式。机器人通过这个变量来记住他的目标位置。
我们来研究一下
DECL :这是KUKA声明变量的关键字。
E6POS :KUKA系统声明好的结构类型。
XP46 : 结构变量的应用变量名称
{......} :结构中元素的赋值
由此可见,机器人的运动是通过系统预先声明好的结构来完成记录的。
那么这个结构都包含哪些内容呢?
我们可以看看大括号里面的内容就知道了。
{X 1510.68005,Y -527.704773,Z 1313.13501,A 60.2024002,B -3.09933209,C 12.1171799,S 2,T 34,E1 -90.0562973,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
X,Y,Z,A,B,C:坐标位置数据
S,T:机器人的姿态数据
E1...E6:外部轴位置数据
这些数据也是一个运动点不可或缺的数据,KUKA利用这些数据来描述一个目标位置。
除了这些数据外还需要运动参数数据来描述到达目标点的过程,不如速度,加速度,参考坐标,TCP,逼近,逼近距离。
对于目标点的描述结构统计如下
E6POS = {X,Y,Z,A,B,C,S,T,E1,E2,E3,E4,E5,E6}
POS = {X,Y,Z,A,B,C,S,T}
E6AXIS ={A1,A2,A3,A4,A5,A6,E1,E2,E3,E4,E5,E6}
AXIS = {A1,A2,A3,A4,A5,A6}
FRAME = {X,Y,Z,A,B,C,S,T}