在五轴数控加工中的3+2定位加工经常用会用到坐标系旋转。首先在UG后处理中根据机床结构,把特征坐标系的Z轴与机床Z轴对齐,此时只需要旋转两个角度就够了,但是如果只旋转两个角度,在机床上应用类似G68.2&G53.1,PLANE SPATIAL等功能时,虽然机床主轴可以自动与特征坐标系Z轴对齐,但是会根据不同的机床此时的特征坐标系X轴或者Y轴与机床坐标轴并没有对齐,所以需要三个旋转才能保证特征坐标系与机床坐标系对齐,主轴与特征坐标系对齐,至少有一个机床线性轴与特征坐标系的X或者Y对齐,这样在应用精镗循环和雷尼绍测头的时候才能正确退刀和补偿测球偏心。
ZXZ顺序的欧拉角根据特征坐标系的Z轴矢量和机床结构后处理出对应的三个角度α,β,γ。在机床上运行G68.2&G53.1等功能时会把机床坐标系根据程序内容的定义旋转相应的角度以达成上述要求。此时原来的初始坐标系下的坐标点位x,y,z将会发生变化,需要计算出欧拉角旋转之后的x',y',z'的新坐标。
本文主要为解决这个问题。假设初始坐标系x=3,y=4,z=5。ZXZ欧拉角α=135,β=54.7356,γ=-90,求三次旋转之后该点在最后的坐标系里的坐标值。注意:ZXZ欧拉角旋转是基于旋转之后的坐标轴进行旋转的,即第一次绕初始坐标系Z轴旋转135°,再绕新X轴旋转54.7356°,最后绕最新Z轴旋转-90°。初始坐标系的矩阵:|1,0,0| |0,1,0| |0,0,1|
最简单的计算方法如下:(直接应用矩阵右乘形成最终坐标变换矩阵)
①计算出cosα,sinα的值备用,根据绕Z轴旋转的旋转矩阵代入cosα和sinα的值形成矩阵α (|α11,α12,α13| |α21,α22,α23| |α31,α32,α33|)
②计算出cosβ,sinβ的值备用,根据绕X轴旋转的旋转矩阵代入cosβ和sinβ的值形成矩阵β (|β11,β12,β13| |β21,β22,β23| |β31,β32,β33|)
③计算出cosγ,sinγ的值备用,根据绕Z轴旋转的旋转矩阵代入cosγ和sinγ的值形成矩阵γ (|γ11,γ12,γ13| |γ21,γ22,γ23| |γ31,γ32,γ33|)
④右乘上述三个矩阵:矩阵γ的行分别乘矩阵β的列形成矩阵γβ (例:γ首行*矩阵β的列 |γ11*β11+γ12*β21+γ13*β31,γ11*β12+γ12*β22+γ13*β32,γ11*β13+γ12*β23+γ13*β33|)
⑤矩阵γβ的行乘矩阵α的列形成最终矩阵γβα,此即为坐标变换矩阵。
⑥点坐标(3,4,5)乘最终矩阵γβα得出新坐标点。x‘=矩阵γβα首行第一个元素*3+第二个元素*4+第三个元素*5 ,y',z’按行以此类推即可得出正确结果,最终如图所示:
相对比较麻烦的计算方法如下:(应用矩阵左乘并转置结果矩阵,同时角度需反向)
0.输入负的α角度,负的β角度,负的γ角度
①计算出cosα,sinα的值备用,根据绕Z轴旋转的旋转矩阵代入cosα和sinα的值形成矩阵α (|α11,α12,α13| |α21,α22,α23| |α31,α32,α33|)
②计算出cosβ,sinβ的值备用,根据绕X轴旋转的旋转矩阵代入cosβ和sinβ的值形成矩阵β (|β11,β12,β13| |β21,β22,β23| |β31,β32,β33|)
③计算出cosγ,sinγ的值备用,根据绕Z轴旋转的旋转矩阵代入cosγ和sinγ的值形成矩阵γ (|γ11,γ12,γ13| |γ21,γ22,γ23| |γ31,γ32,γ33|)
④左乘上述三个矩阵:矩阵α的行分别乘矩阵β的列形成矩阵αβ (例:α的首行*矩阵β的列 |α11*β11+α12*β21+γα13*β31,α11*β12+α12*β22+α13*β32,α11*β13+γα12*β23+α13*β33|)
⑤矩阵αβ的行乘矩阵γ的列形成矩阵αβγ
⑥手动把矩阵αβγ的行列互换形成转置矩阵αβγ(此即为坐标变换矩阵,但是还是要注意输入的角度都取反向),在excel可以用transpos函数
⑦点坐标(3,4,5)乘最终矩阵γβα得出新坐标点。x‘=矩阵γβα首行第一个元素*3+第二个元素*4+第三个元素*5 ,y',z’按行以此类推即可得出正确结果,最终如图所示: