从CATIA位置矩阵求解欧拉角的计算方法分析

2017-07-01 08:33刘成业汪洋周颖
科技视界 2017年6期
关键词:欧拉角计算方法

刘成业 汪洋 周颖

【摘 要】本文首先介绍了需要进行位置矩阵求解欧拉角的应用场合,接着对位置矩阵和欧拉角的定义进行了描述。然后推导了从位置矩阵到欧拉角的转换公式,并提出两种从位置矩阵求解欧拉角的计算方法,分别为下三角矩阵求解方法和上三角矩阵求解方法。同时说明了上述方法的优缺点及适用条件。最后说明了一类特殊类型的位置矩阵,分析其对应的欧拉角无唯一解的原因并提出相应的求解方法。

【关键词】位置矩阵;欧拉角;计算方法

0 引言

在进行多体动力学仿真时通常需要将三维设计软件中的数模导入到多体仿真软件中[1],以CATIA数模导入ADAMS软件为例,通常有两种方法,第一种方法是将零件手动依次导入到ADAMS软件中[2]。第二种方法是通过SIMDESIGNER软件将组件导入到ADAMS中[3]。第一种方法首先需将零件的局部坐标系转换到组件的全局坐标系中并依次手动导入,存在工作量大的问题。第二种方法首先需要购买SIMDESIGNER软件,同时在实现零件导入的过程中同样存在着零件名称与数模不一致的情况[4]。经研究可以对第一种方法进行扩展,通过自动提取CAITA组件中的位置矩阵,接着将位置矩阵转换为ADAMS中可以识别的欧拉角,最后通过编写CMD命令实现零件的批量导入,本文仅对上述方法中的位置矩阵转换为欧拉角的求解方法进行分析求解。

1 位置矩阵和欧拉角的定义及转换

1.1 CAITA位置矩阵的定义

在CAITA中每个组件都定位在产品的三维坐标系统所确定的三维空间中,位置信息由Position属性来定义[5]。物体的位置信息由一个长度为12的数组来定义,该数组结构如下所示(设数组变量为M):

前九个数值组成了一个3x3的矩阵,它描述了物体的旋转信息[6],最后3个数值描述了物体的原点位置。整个数组描述了一个相对于绝对坐标的三维坐标(T,U,V,W)系统[7]。

1.2 ADAMS中的欧拉角的定义

根据欧拉转动定理,刚体在空间旋转时,其连体坐标系可以相对于自身旋转后的某个坐标轴旋转一定角度(刚体固定,Body Fixed),也可以相对于自身原来的坐标系旋转一定角度(空间固定,Space Fixed)[8]。在旋转时,可以绕不同的坐标轴旋转,也可以绕着相同的坐标轴旋转,这样就形成了一个旋转序列,在ADAMS/View中,绕x轴旋转称为1旋转,绕y轴旋转称为2旋转,绕z轴旋转称为3旋转[9],这样就可以形成多个旋转序列(Rotation Sequence),如313、213、123等。如果按照313刚体固定的旋转序列来旋转坐标系,则旋转过程如图1所示。图中的旋转序列称为刚体固定313旋转序列[10],这种旋转序列的三次旋转的角度称为欧拉角。

1.3 欧拉角和位置矩阵的转换关系

根据空间变换矩阵,刚体固定的313旋转序列可以描述为下式:

式中α为首次绕z轴旋转的角度,β为第二次绕x轴旋转的角度,?酌为第三次绕z轴旋转的角度。设sinα=u,cosα=v,sinβ=w,cosβ=x,sin?酌=y,cos?酌=z通过上次三次变换得到的位置矩阵应与CAITA中的位置矩阵中旋转部分矩阵一致,即:

M(0) M(1) M(2)M(3) M(4) M(5)M(6) M(7) M(8)?圳vz-uxy uz+vxy wy-vy-uxz -uy+vxz wz uw -vw x(3)

公式3即为ADAMS软件中的欧拉角和CATIA软件中的位置矩阵的转换关系,通过该公式即可对欧拉角进行求解。

2 欧拉角的求解方法

2.1 下三角求解方法

观察公式3的左下角较为简洁,从左下角的对应关系可以得出:

上式可以进一步得到:

由于三角函数的特性,上式得到的α、β、?酌三个值的解存在解的不唯一性,可以將求解得到的几组欧拉角数值代入公式3中进行验算即可唯一确定欧拉角的数值。

上述方法的优点是计算简单,可以迅速通过编程实现自动求解,缺点是若有一个值为零,则上述方法无解。

2.2 上三角求解方法

在下三角求解方法不满足求解条件的情况下从公式3的右上角对应关系入手,假设vz=l,vy=m,uz=n,uy=p,可以得到方程组:

进而得到:

上述公式可以用来判断位置矩阵是否正确,从上式可以解出?酌的值进而得到:y,z则u、v可以得到,解出α值,由cosβ=x=M(8)可以解出β的值。与下三角求解方法的情况相同,由于三角函数的特性,上式得到的α、β、?酌三个值的解存在解的不唯一性,可以将求解得到的几组欧拉角数值代入公式3中进行验算即可唯一确定欧拉角的数值。

上述方法的优点是计算方法易通过编程实现,在下三角求解方法不满足适用条件时可以完成计算,缺点是计算公式略微繁琐,同时当-M(1)-M(8)·M(3)=0且-M(0)+M(8)·M(4)=0时无解。

3 CAITA中特殊类型的位置矩阵

CAITA的位置矩阵中存在着一类特殊的位置矩阵,其对应的欧拉角有无穷多个解,因而采用常规的计算方法无法完成欧拉角的求解。本节对该类矩阵的类型进行描述,分析产生无穷多组解的原因,并提出针对这种矩阵的求解方法。

该类矩阵如式8所示,

由公式3可以得到下列关系:

上式中β的值可以确定,后两组等式可以转换为:

4 小结

本文首先推导了从位置矩阵到欧拉角的转换公式,接着提出下三角矩阵求解方法、上三角矩阵求解方法两种从位置矩阵求解欧拉角的计算方法,并对两种方法的优缺点及应用条件进行了阐述,最后说明了一种对应的欧拉角无唯一解的位置矩阵并分析其原因、提出相应的解法。得到的结论如下:

A.欧拉角与位置矩阵的对应关系见公式3。

B.求解欧拉角的下三角的计算方法适用条件为M(5)、M(7)均不为零,该方法计算公式简单,可通过编程迅速求解。

C.求解欧拉角的上三角的计算方法适用条件为-M(1)-M(8)·M(3)≠0或-M(0)+M(8)·M(4)≠0,该方法作为下三角求解方法不适用时的补充,也可通过编程迅速求解。

D.类似公式8的位置矩阵无唯一对应的欧拉角,上述两种类型的位置矩阵均可通过假定?酌=0来获得欧拉角的唯一解。

【参考文献】

[1]余国权.基于CATIA和ADAMS的减速器参数化设计及仿真[D].大连理工大学,2006.

[2]龚杰.基于CATIA和ADAMS的汽车变速器参数化设计及仿真[D].武汉理工大学,2012.

[3]李伟,赵剑.基于SimDesigner的自卸汽车举升机构仿真分析[J].山东交通学院学报,2012(02):1-5.

[4]张萌,王鹏林.MSC SimDesigner在产品设计中的作用[J].计算机辅助工程,2006,(S1):447-449.

[5]胡添元,余雄庆.基于CATIA二次开发的飞翼外形参数化建模[J].飞机设计.2007(06).

[6]胡挺,吴立军编著.CATIA二次开发技术基础[M].电子工业出版社,2006.

[7]彭欢.基于V5 Automation的CATIA二次开发技术研究[J].电子机械工程,2012(02):61-64.

[8]尚玫.高等动力学[M].机械工业出版社,2013.

[9]郑凯,胡仁喜,陈鹿民,等编著.ADAMS 2005机械设计高级应用实例[M].机械工业出版社,2006.

[10]李军,等编.ADAMS实例教程[M].北京理工大学出版社,2002.

[责任编辑:朱丽娜]

猜你喜欢
欧拉角计算方法
基于多传感器融合的老人跌倒检测
四旋翼无人机飞行控制中四元数与欧拉角的转换
随机振动试验包络计算方法
基于能量的球压痕硬度的计算方法
不同应变率比值计算方法在甲状腺恶性肿瘤诊断中的应用
大姿态角入水时的鱼雷半实物仿真方法研究
一种伺服机构刚度计算方法
四元数与欧拉角刚体动力学数值积分算法及其比较
对受压加劲板极限承载力计算方法的评述