在刚体运动学、飞机飞行、卫星姿态等领域,欧拉角是一个非常重要的概念和控制参数。
通俗讲,一个直角坐标系Sys-1,绕自己的X、Y、Z坐标轴依次转动一个角度,变为坐标系Sys-2,则转动的角度为欧拉角。欧拉角的值与转动顺序相关,例如从Sys-1转到Sys-2,转序X→Y→Z与转序Z→X→Y的欧拉角通常不同。因此,讲欧拉角时必须明确转序。除了绕3个轴转的欧拉角,还有绕2个轴转的欧拉角,例如转序X→Y→X。
除了运动学,精密设备的指向变化,有时也用欧拉角表示。例如,某精密指向、定位设备安装面为X-Y平面,指向为Z轴。由于外载荷(力、热等)作用,引起该设备安装面、指向发生变化,这时,可以用指定转序下的欧拉角表示设备指向状态的变化量。此处指定转序下的欧拉角称为绝对欧拉角。
对于有一定角度关系的两台精密设备,当关注两台设备相对指向变化时,引入相对欧拉角描述。
下面以简单例子介绍平面变形、指向欧拉角的计算,包括绝对欧拉角、相对欧拉角。
1 简化模型
下面的六面体为表面壳模型,下面由三段梁支持,三段梁分别沿X、Y、Z轴向。六个面的厚度不同,在上侧3个面施加不同的压力,如下左图所示。位移云图如下右图所示。
2 计算要求
计算六面体上面3个面的变形欧拉角,包括3个面的绝对欧拉角,平面2、3相对与平面1的相对欧拉角。平面1、2、3如下图所示。
3 数据处理
使用平面节点坐标、位移数据计算平面变形欧拉角。可以使用Python脚本输出平面节点编号、节点坐标(X、Y、Z)、节点位移(U1、U2、U3),如下图所示。下图为平面1的10个工况的数据文件,打开的文本文件中7列数据为节点编号、坐标、位移。
三个平面10个工况的节点数据文件如下图所示。每个文件中包含一个工况一个平面的节点编号、坐标、位移数据。
4 绝对欧拉角计算
使用PyQt Python开发了一个简单的小软件,计算绝对欧拉角、相对欧拉角。
首先计算各平面的绝对欧拉角。
计算平面1的10个工况的绝对欧拉角。
平面1变形的绝对欧拉角计算结果如下图所示。
伴随绝对欧拉角计算结果,软件同时写出了平面变形前后的坐标系数据,如下图。每行18个数据,每3个数据为一个坐标轴向量,变形前后2个坐标系,6个坐标轴,18个数据。
5 相对欧拉角计算
利用计算绝对欧拉角时得到的坐标系文件,计算平面变形相对欧拉角,如下图所示,计算平面2相当于平面1、平面3相对与平面1的相对欧拉角。
计算结果如下图所示。
6 小结
上述软件用的算法申请了发明专利,软件申请了软著。CAE工程师,也可以自制软件工具,解决重复性、复杂性数据处理等工作痛点。
2021年8月24日于西昌卫星发射中心