坐标系:为确定机器人的位置和姿态而在机器人或空间上进行的位置指标.系统。
首先让我们捋一下,目前所知道的或者听说过的坐标系:
序号 名称
1 轴坐标系
2 机器人根坐标系
3 世界坐标系
4 法兰坐标系
5 工具坐标系
6 工件坐标系
接下来,我们来聊聊这些坐标系之间的相互关系:
(di)一层关系
世界坐标与工件坐标的关系
按照简单的情况来分析,先来看图,
前面说了,如图安装完机器人后,世界坐标系和根坐标系重合,因此这里不再罗列根坐标系。
先来看世界坐标系,它的特点很容易总结:
1. 固定不变
2. 所有使用者都知道世界坐标系的位置及方向。(即坐标系已知)
再来看看工件坐标系,它有哪些特点呢?我们来看一下。首先,很多时候一个机器人需要在多个工位上干活,这意味着我得为机器人设定很多个工件坐标系以对应不同工位。
因此特点很简单,一个机器人虽然只有一个世界坐标系,但是可以有很多个工件坐标系。(理论上ABB,KUKA都可以无限设定)
所以第二个特点就工件坐标系可以自定义。
好,现在我们深入思考一下这个问题。由于工件坐标系是由用户自定义的,因此当你设定了一个工件坐标系后,你必须得告诉机器人这个工件坐标系的具体位置情况,不然机器人是不知道这个坐标系的信息的。那么问题来了,怎么样能让机器人知道一个工件坐标系具体情况呢?
当我们要描述一个具体的坐标系时,首先需要做的是........找参考坐标系。。。。
参考坐标系的选择有两个前提条件:
1. 两者相对位置固定不变
2. 参考坐标系已知。
然后我们发现了一个现成的坐标系,没错,就是世界坐标系。它正好符合这两个要求。
当把世界坐标系设定为参考坐标系后,剩下的事情只有两件了:
1.指明工件坐标系原点的位置
2.指明工件坐标系三个方向的情况
简单来说,就是找原点,定方向。
原点怎么表示呢??
原点是不是一个点?一个点在一个坐标系中怎么表示?学过初中数学的都知道,可以用X,Y,Z三个值来表示空间点的位置。所以我们用一组X,Y,Z就搞定了原点的位置信息
接下来方向该怎么定呢?
直接对坐标系方向做说明是件很繁琐的事,不过我们有更简易的方法,那就是欧拉角。欧拉角的意义是这样的:我们已经有一个参考坐标系(世界坐标系),这个坐标系是已知的(即原点方向我们都知道),那么我们能不能这么操作,在原始坐标系方向的基础上,让它沿着不同的方向轴进行旋转,比如先绕着Z轴旋转一定角度(角度A),再绕着Y轴旋转一定角度(角度B),绕着X轴旋转一定角度(角度C),使得旋转之后的坐标系方向和我所需的工件坐标系方向一致。那么这三个旋转角就可以用来描述方向的变化,也就是我们所说的欧拉角。值得注意的是,类似X,Y,Z的平移是不讲究顺序的,也就是说,只要这三个值确定了,目标点的空间位置就是确定的。而转角却和旋转顺序有关,先转和后转会导致不同的结果。
因此需要说明的是,ABB,KUKA欧拉角顺序为ZYX,也就是先转Z轴,然后Y轴,X轴。有些机器人品牌是另外的欧拉角顺序,比如KEBA,Comau是ZYZ等等。
好了,我们现在既有原点信息(X,Y,Z),又有方向信息(A,B,C),这样一来机器人就知道工件坐标系的确切空间位置了。举例:KUKA的工件坐标系描述:base_data[1]={x 0,y 0,z 0,a 0,b 0,c 0}。ABB的工件坐标系描述和KUKA稍有不同,采用四元数的方式描述方向,此次讨论暂不涉及。
所以关系就明确了:工件坐标系是通过世界坐标系下的{x ,y ,z,a ,b ,c }来确定的,或者说工件坐标系是基于世界坐标系推算出来的
新闻中心