GD&T培训|基准偏移系列7:坐标变换|GD&T几何尺寸和公差|GDTP

前面我们用了多篇文章讨论了基准偏移这个话题,今天我们继续这个话题,今天涉及到的内容是坐标变换。

这次的话题数学味道比较重,各位小伙伴要有思想准备。因为我们发现,在深挖基准偏移这个话题的时候,数学(尤其是线性代数)是一个避不开的坎。

废话少说,直接说我们要解决什么问题吧。

已知零件图标注如下:

图1 图纸标注

当我们的质量部门收到图1这个实际的钣金件后(注意,这个钣金件不完美),放到影像仪上去测量φ14这个孔的位置度(图1中红圈部分),先不考虑每个孔的形状误差,假设我们已经测得了图1中3个孔的中心的坐标值(在机器坐标系中),见下图:

图2 在机器坐标系中3个孔的坐标

我们现在要解决的问题是,基于图2中的3个孔的坐标值(包括基准B孔,基准C孔和被测孔D孔),如何计算D孔的位置度误差?

注意,为了从简单的案例入手,我们故意选了薄壁的钣金件,一个2维的案例,所以没有Z坐标。

要得出图2中D孔的位置度误差(也就是实测位置度),思路非常简单,只要将实际的被测要素和理想要素进行比对,比对的方法采用最小区域法就能解决。

我们说人话呢,就是直接计算被测要素到理想要素的距离的2倍,就是位置度的几何误差了。(如果对这段话表示看不懂的小伙伴,建议看本文最后的链接《测量的本质》)。

被测要素的坐标,也就是图2中D孔中心的坐标,我们是清楚的,在机器坐标系中,PD的坐标为(56.31,52.59)。理想要素,也就是图1中φ14孔的中心PI的坐标,我们也是清楚的,在基准坐标系中,它的坐标为(20,17),见下图:

图3 理想要素在基准坐标系中的坐标

也就是说,我们现在知道了被测要素的坐标,理想要素的坐标,理论上是可以计算他们之间的距离的。

但是,目前还不能直接计算他们两个的距离。

为什么呢?

因为机器坐标系XAOYA和基准坐标系XBOYB不是同一个坐标系,我们没有办法直接计算的。

所以就涉及到今天的主题,坐标变换。

我们现在要做的,就是要把被测要素和理想要素这两个冤家放到同一个坐标系里边,才能去比对。见下面动画和图4.

动画1 把理想要素和被测要素放在一起

图4 把理想要素和被测要素放到同一坐标系

见图4,如果我们把理想要素放到机器坐标系XAOYA里边,只要求出理想要素在机器坐标系里边的坐标(xA1, yA1), 再根据平面解析几何(或勾股定理),我们就可以直接求出图4中被测要素和理想要素的距离,再乘以2,就是位置度的实际测量值了。

问题是,如何计算出理想要素的新坐标(xA1, yA1)呢?

这个就是我们今天要讲的内容,今天的内容对探索基准偏移非常重要,我们后边发的基准偏移的文章,都是基于今天学的内容,建立合适的数学模型,才能有效的观察它的特点。

今天的内容分为三个部分:

  1. 坐标系,基和坐标

2. 坐标系的旋转和平移

3. 在同一坐标系下计算位置度

为了照顾到数学知识可能已经退化的小伙伴,我们从最基础讲起,本文前面两章可能有点啰嗦,对测量的软件工程师或者非标测量设备的软件工程师来说,这些都是最基础的内容,嫌啰嗦的话,建议直接跳到第3章。

1. 坐标系,基和坐标

我们常用的坐标系,就是笛卡尔坐标系。据说是一天,笛卡尔躺在床上,看到天花板上悬挂着一只蜘蛛,为了确定蜘蛛在空间中的具体位置,他提出了直角坐标系。

图5 笛卡尔和空间坐标系

为了方便理解,我们从最简单的平面直角坐标系开始理解,它是由两根相互垂直的坐标轴构成,分别是x轴和y轴,平面中的任意一个点P,可以用一对有序数(x1, y1)来表示:

图6 直角坐标系中点的坐标

图6中这对有序数(x1, y1)就表示P点的坐标。

这些关于坐标系的知识是我们上初中时学过的内容。接下来,我们换一种方式来理解坐标系和点,那就是采用向量的方式来理解。

德辉学堂前面的文章中,我们学过单位矢量(或单位向量),也就是长度为1的矢量。我们把沿着x轴方向的单位矢量叫i, 沿着y轴方向的单位矢量叫j, 用列向量来表达则为:

显然,i和j是相互垂直的两个向量。

上面的单位矢量看起来高大上的样子,它其实在直角坐标系里,就是一个很短的矢量,相当于一个基本单元,见下图:

图7 沿坐标轴的单位矢量

注意,这个i,j有个专门的术语,他们是坐标系xoy的基(也叫自然基),这个基是基本单元的基的意思。

为啥这样说呢?因为那帮无聊的数学家们发现,直角坐标系中的任何一个点,都可以用i,j乘以一个系数后来表达。比如P点,就有

或者说,我们将直角坐标系中的任何一个点,都可以看成一个向量,它的方向是从原点指向该点,比如P点,我们把它看成向量,用向量表示则有

到这里,我假设各位小伙伴理解矩阵的数乘和加法的基本规则,比如说:

不理解也没有关系,观察上式,相信您可以看出规律来。

我们再回头来观察公式(1):

图8 系数和基

从图8中,我们仔细观察P点,它其实是将i放大(或延长)x1倍,形成一个新的向量,那就是x1i,再将j放大(或延长)y1倍,形成新的向量y1j, 然后将两个向量相加合成后就形成了P:

其中,x1, y1可以为任意实数,可以大于1,也可以小于1,还可以是负数或者零。

注意,上式中的表达和图8中的公式表达,其实一样的。图8我们用向量的形式表达,公式(2)我们是用代数的形式表达。

重点来了,图8中或者公式(2)中的系数,也就是x1, y1, 就是点P的坐标, 我们写成(x1, y1)。

看到没?坐标是这样来的。

为了让大家更加容易理解公式(2)的几何意义,我们看动画,看看点P是怎么形成的(我又假设各位小伙伴理解矢量相加的平行四边形法则)。

动画2 基和坐标

事实上,直角坐标系平面上任何一个点(或者任何一个向量),都可以用自然基i和j乘以某个系数,也就是把基放大(延长)或者缩小(缩短)后再合成。

所有的这些点的组合就叫基i和基j的张量空间。

关键点在于,刚刚讲过的系数x1,y1, 就是对应点的坐标。

显然,不同的系数,对应不同的点。

我们再把公式(1)写在下面:

我们将上面的这个式子写成矩阵相乘的样子:

如果各位小伙伴忘记了矩阵的乘法公式,就看上面这个式子,记住它的规律。

式(3)中,等式左边有一个方阵,也是单位矩阵。当然,我们在《最小二乘法的数学公式中》介绍过,单位矩阵,类似实数中的1, 乘以任何矩阵,矩阵不变。

在本文中,这不是重点,重点是要仔细认识单位矩阵中的列向量,每个列向量的意义:

图9 矩阵中的列向量

我们仔细看图9,这是一个非常简单的矩阵乘法算式。但是我们要思考后面代表的几何意义:点P(x1,y1)的坐标,表示了P点在直角坐标系xoy中的具体位置,它是将单位矢量i放大x1倍,将单位矢量j放大y1倍,然后再矢量相加(平行四边形法则),才得到的P点!

也就是说,点的坐标和基,这两个东西,确定了点P在空间中的具体位置。

我们平时根据坐标(x1,y1)来找P点在坐标系中的具体位置时,本能告诉我们,画两条平行于坐标轴的线,相交得到P点,其实就是无意识的在利用上面的方法。

我们再捋一捋刚刚讲过的知识点:

1. 我们刚刚讲了如何确定点P在空间中的位置。因为有坐标系的存在,就决定了它的两个基的相对夹角(相互垂直)。

2. 然后有了P点的坐标(x1,y1)后,我们在分别把x轴的基i给它放大(延长)x1倍,y轴的基j给他放大(延长)y1倍,然后再用平行四边形法则合成,得到了P点的具体位置。

到这里,我们理解了坐标系,基和坐标的几何意义后,再往下走。

2. 坐标系的旋转和平移

本章我们分两部分来阐述,一个是坐标系的旋转,一个是坐标系的平移。

1)旋转

首先,我们假设有两个坐标系,一个固定不动的,我们叫母坐标系,比如机器坐标系,另外一个可能会动的坐标系,我们叫子坐标系,比如基准坐标系。见下图:

图10 母坐标系和子坐标系

如图10所示,我们将蓝色坐标系XAOYA叫母坐标系,而红色的XBOYB叫子坐标系。

在现实中,人们更加关心的是,子坐标系中的一个已知点P,在母坐标系中的坐标是多少?或者反过来,母坐标系中的已知点P,在子坐标系中的坐标是多少?

也就是说,要实现两个坐标系中点P的相互转化,是否有具体的公式直接转化?

答案是有的,这正是我们本章要讨论的内容。

显然,这个坐标转化,和两个坐标系之间的相对位姿(位置和姿态)有关系。所谓位置,就是两个坐标系原点之间的相对位置;所谓姿态,就是坐标轴之间的相对旋转夹角。

我们先来讨论姿态的影响。

假设子坐标系XBOYB和母坐标系XAOYA他们的原点重合,但是旋转了一个角度θ。见下面动画.

动画3 子坐标系纯粹旋转了θ角

这个时候,如果我们站在子坐标系XBOYB上看,xB轴和yB轴方向的基,也就是单位矢量,他们分别是:

显然他们和旋转无关。

但是如果我们换一个视角,站在母坐标系XAOYA上,观察子坐标系XBOYB的两个基iB和jB(子坐标系旋转过后),发现这两个基的在母坐标系上的坐标就变化了,见下动画4:

动画4 子坐标系的基在母坐标系

或者大家看下面这个静态图:

图11 子坐标系的基在母坐标系

我们将子坐标的基iB, jB放在母坐标系上看,见图11,我们用向量表示子坐标的基,则有:

在图11中,又因为自然基的长度是1,也就是:

仔细观察图11,再利用三角函数,我们很容易得出:

把上面的这4个式子和公式(4)结合起来,则可以得出:

公式(5)把子坐标系的基搞清楚了,我们再来看子坐标系中的P点的坐标。

图12 子坐标系中的点P

图12中,已知点P在子坐标系中的坐标为(xB1,yB1),我们接下来要讨论P点在母坐标系中的具体位置。

我们现在站在母坐标系上,来仔细观察P, 看它的位置怎么确定的。

我们知道,任何一个向量乘以一个常数K,都是将该向量沿着原来的方向,长度被延长或者缩短至原来长度K倍。

图12中,我们第一章就讲过,P点位置的确定,我们是将子坐标系的基iB, 给他放大xB1倍,将子坐标系的另外一个基jB也放大yB1倍后,再相加合成(平行四边形法则)就形成了新的向量OP, 见下面动画。

动画5 P点位置的确定

我们将动画5的过程,写成向量相加的公式:

再结合公式(5),可以得出:

注意,以上的这些公式,是站在母坐标系上观察的。

我们设P点在母坐标系的坐标为P(xA1,yA1),见图13:

图13 母坐标系中的P

由公式(6)我们可以得出:

大家看到没有?上式中,我们隐隐约约可以算出P点在母坐标系中的坐标了!

我们再整理一下,将上式写成矩阵相乘的形式,可以得出:

我们再精简整理:

公式(7)非常非常重要!发烧友级的小伙伴一定要记住!因为通过公式7,我们搞来搞去,终于把同一个点P,在子坐标系中的坐标(xB1, yB1)和在母坐标系中的坐标(xA1,yA1),它们之间的映射关系给他搞通了!

如果我们把下面这个矩阵看成一个系数R:

然后把P点在子坐标系中的坐标位置叫PB, 在母坐标系中的坐标位置叫PA, 其中:

再结合公式(7)和公式(8),可以将公式(7)写成一个非常简洁的公式:

公式(9)简单不?如果我们知道一个点在子坐标系中的坐标PB, 要计算它在母坐标系中的坐标PA,乘以一个系数R就OK啦!

当然,公式(9)仅仅适用于纯粹旋转的情形,就是子坐标系和母坐标系原点重合,两个坐标系相互之间仅仅是旋转了一个角度θ的情形(这个θ可以带入公式8,把系数R给算出来的哦)。

还是不太理解怎么使用这个公式?看下面的例子.

例1如果有个P点,已知在子坐标系中的坐标是(4,3),假设子坐标系和母坐标系原点重合,子坐标系相对于母坐标旋转了30°,求P点在母坐标系中的坐标(xA1,yA1)?

先看动画:

动画6 例题

我们可以直接套用公式(7):

所以,P点在母坐标系中,新的坐标是(1.96,4.60)。

有很多小伙伴可能觉得矩阵的乘法计算很复杂,其实很简单,用Excel的函数MMULT()可以直接搞定哦!

这里稍微要多说一下,那个充当系数角色的矩阵R

这个是一个2维的旋转矩阵,它左乘以任何一个点(或一个向量),就相当于把这个点(或向量)围绕坐标系原点O逆时针旋转θ度。如果θ从0开始变化到360度,对应的点也跟着绕原点绕360度旋转。见下面的动画:

动画7 旋转的点

有的文献将他称为SO(2), 它也是一个特殊的正交群(Group), 那些无聊的数学天才们发现它有个对我们有用的特点,那就是该矩阵的转置等于它的逆矩阵:

公式(10)这个特点大家最好记住,可能对我们有用哦。这里我又假设您已经了解什么是转置矩阵和逆矩阵,如果不了解,点击本文后边的链接《最小二乘法的数学公式》,里边有介绍。

到这里,有的反应快的小伙伴可能要问了,在现实中,我们遇到的不可能都是纯粹的旋转啊,还有平移,或者平移加旋转这种情况,我们如何计算坐标变换呢?比如下面这个动画:

动画8 旋转加平移

这个时候,我们又该如何求P点在母坐标系中的坐标(xA1,yA1)呢?

不急,接下来,我们开始讲解本章第2节。

2)平移

我们直接讨论旋转加平移的综合作用的公式吧,因为我们的数学前辈们已经研究出来了。假设子坐标系相对母坐标系既有旋转角度θ,又有相对平移。见下图:

图14 坐标系旋转加平移

图14中,已知子坐标系xBOyB中点P的坐标(xB1,yB1),而且我们知道子坐标系xBOyB相对母坐标系xAOyA旋转了角度θ,而且子坐标系的原点红O在母坐标系中的坐标是(xBO_A, yBO_A),我们求P点在母坐标系中的坐标(xA1,yA1)?

这回不想啰里啰嗦的逻辑推导了,我们直接上公式吧:

这也是个非常非常重要的公式,有兴趣的发烧友最好记住。

为了帮助大家更好的记忆,我们再增加一个平移矩阵TBO_A, 命TBO_A为:

其实TBO_A就是子坐标系的原点O在母坐标系中的坐标了(见图14哦)。

还记得上一节那个纯粹旋转简洁的公式(9)吗?我写在下面:

我们结合公式(12),公式(9),可以把公式(11)写成下面的形式:

公式13也是一个简洁的综合公式。因为子坐标系的最终位置是旋转和平移后确定的,这个公式刚好就体现了旋转加平移,R表示旋转系数(或旋转矩阵),TBO_A表示平移系数(平移矩阵)。

为了帮助大家记忆,看下图:

图15 坐标变换公式的含义

图15的公式中,如果子坐标系的原点O和母坐标系原点O重合,也就是有:

那么就是纯粹的旋转了,公式如下:

图15的公式中,如果θ=0,那么就没有旋转(旋转角度为0),就是纯粹的平移了,代进去可得:

公式(14)相信很多直觉好的小伙伴,马上就可以意识到它的正确性(就是自身坐标加原点坐标)。如果有兴趣的小伙伴可以用软件画一个图玩一玩。

还是举个例子吧。

例2 已知子坐标系xBOyB中点P的坐标是(4,3),而且我们知道子坐标系xBOyB相对母坐标系xAOyA旋转了30°,而且子坐标系的原点红O在母坐标系中的坐标是(3, 1),我们求P点在母坐标系中的坐标(xA1,yA1)?

图16 坐标变换案例

根据例子给的条件,我们不难得出,旋转矩阵R为:

平移矩阵为TBO_A:

代入公式:

则有:

所以,P点在母坐标系里的坐标为(4.96,5.6)。

可能对有些小伙伴来说,以上的计算看起来有些恐怖,再说一遍,如果熟练利用EXCEL的相关计算函数,它和我们用手按计算器没有任何区别哦。

如果您已经耐心看到这里,恭喜您,您已经具备了坐标变换的数学知识!现在我们要解决题目给出的问题就非常容易了,我们继续往下走。

3. 在同一坐标系下计算位置度

我们接下来就要利用我们刚刚讲过的数学知识计算位置度了。先来看一下图纸:

图17 设计图纸

这个是测量的数据:

图18 测量数据

现在我们的任务是,根据图18测量的数据,来评价图17中红圈处的位置度误差。

前面已经讲过,我们现在的目标是把理想要素和被测要素放到同一个坐标系里边,然后求出距离,再乘以2,就是位置度的几何误差了。我们其实有两种方法:

1. 把理想要素放到机器坐标系里边,去和被测要素比对。

2. 把被测要素放到基准坐标系里边,去和理想要素比对。

两种方法都是可行的,篇幅原因,本文只讲第一种方法,因为我们可以直接用前面讲过的理论。至于第2中方法,需要用逆矩阵转换一下公式(三坐标测量设备都是用第2种方法),有兴趣的发烧友可以自己思考,推导不出来又确实有兴趣的小伙伴可以微信我。

首先我们要建立基准坐标系。

因为B基准是第二基准,C是第三基准,所以我们必须把基准坐标系的原点放在B孔中心,BC的连线当成X轴,再过B点做一个垂直于X轴的线为Y轴。

建立好基准坐标系(子坐标系)后,然后在理论正确位置处放置理想要素。见下面动画:

动画9 建立基准坐标系

接下来,我们要做的就是计算动画9中的理想要素P在机器坐标系(母坐标系)中的坐标(xA1,yA1),见图19。

图19 理想要素P在母坐标系中的坐标

图19中,子坐标系原点的坐标,也就是B孔中心的坐标PB,决定了平移矩阵TBO_A,这个是已知的。

而旋转矩阵R是由旋转角度θ确定的,这个θ怎么算呢?

这个也比较简单,因为PB和PC的坐标都知道,我们可以直接算出来θ角。假设:

图20 计算旋转角θ

见图20,利用三角函数,不难计算出:

那么我们可以得出旋转矩阵R:

再根据简洁公式就可以计算理想要素在机器坐标系中的坐标了:

将上面的算式用EXCEL函数计算,可以得出:

在同一个机器坐标系下,我们知道了理想要素的坐标P(55.82,52.17),被测要素的坐标是PD(56.91,52.59),根据定位最小区域法,我们很容易算出被测要素的位置度几何误差D:

最后得出:D=1.289

当然,该孔的位置度是不合格的。

终于搞定!

如果您坚持看到这里,我觉得您是GD&T真正的发烧友,必须为您点赞!

这次的内容到这里就结束了,希望对您有所收获!

【后记】

今天的话题,我们只是把基准坐标系,基准和被测要素,开始尝试用把它们之间的数学关系建立起来,这里边还有很多有价值的话题可以挖。

1. 我们知道,一个平面上的物体或者特征,有三个自由度,两个平移,一个旋转,我们在表达坐标变换的时候,在公式当中,刚好有这三个参数:

图20 3个自由度参数

2. 从图20中可以看出,在一面两孔的基准系中,第二基准B,也就是我们常说的主定位孔,它确定了两个平移的自由度xBO_A,yBO_A。而我们通常认为,第三基准C限制了旋转自由度θ,事实上,旋转自由度θ并非第三基准C一个人决定的, 第二基准B也参与其中,也就是说,旋转的自由度是由B和C共同决定的,还记得公式(15)吗?我把它放在这里:

从上面公式相信大家可以看出来,第二基准B的坐标和第三基准C的坐标都会影响这个θ的大小。

3. 假设我们要分析加工部门在加工下图B,C,D三个孔的时候,位置度误差对哪个孔最敏感呢?

图21 位置度对三个孔的敏感度

这个时候,我们可以对B,C,D的X, Y坐标给一个扰动,比如λ,并命:

再带入坐标变换公式,看看对位置度的影响。欢迎有兴趣的小伙伴思考这个话题。

4. 最后一条,也是最重要的一条,如果位置度标注中,基准BC都带了M圈,那就意味着有基准偏移产生,基准偏移产生是因为B的坐标和C的坐标并不稳定,从而导致坐标系也不稳定,有一定的浮动量,这个浮动量会让位置度几何误差变得更小,那么我们应该怎么建模呢?这个问题,先留给大家思考,我们争取下次再来探讨这个话题。

(0)

相关推荐