You are on page 1of 3

系 统 仿 真 学 报 Vol. 17 No.

8
·2022· JOURNAL OF SYSTEM SIMULATION Aug. 2005

基于 ADAMS 的两维/三维混合仿真研究
王立新 1,黄文良 2
(1 郑州大学机械工程学院, 河南郑州 450001; 2 南京理工大学机械工程学院, 江苏南京 210094)

摘 要:提出了在 ADAMS 中用两维曲线-曲线接触来代替实体-实体接触的方法,介绍了具体的实


现过程,Autodesk Inventor 中实体边界轮廓的提取和离散,ADAMS/Solver 中的矩阵文件格式及生
成,以无返回力矩钟表机构的调速器为例,比较和分析了两种结果。发现嵌入实体的曲线-曲线接
触计算结果不但效率高而且准确度也好。
关键词:接触;两维/三维混合仿真;ADAMS;Autodesk Inventor
文章编号:1004-731X (2005) 08-2022-03 中图分类号:TP391.9 A 文献标识码:A

Study of 2D/3D Mixed Simulation Based on ADAMS


WANG Li-xin1, HUANG Wen-liang2
( School of Mechanical Engineering, ZZU, Zhengzhou 450001, China; 2School of Mechanical Engineering, NUST, Nanjing 210094,China)
1

Abstract: The method of curve-curve contact instead of solid-solid contact is presented. The realization procedure, obtaining
and discretizing of the edge of the solid-model in Autodesk Inventor, format of MATRIX in ADAMS/View were described in
detail. As an example, the runaway escapement was simulated. Two kinds of results were discussed and analyzed. Both the
calculation efficiency and the accuracy of curve-curve contact are better than the solid-slid contact.
Key words: contact; 2D/3D mixed simulation; ADAMS; Autodesk Inventor

入实体的曲线对曲线接触代替实体对实体接触的方法和仿
引 言1
真结果。
机械系统动力学仿真引入接触可使模型接近实际的物
1 实现方法
理模型。由于接触问题的复杂性,工程上的接触问题只能用
数值方法,如:载荷增量叠加法、数学规划法等。处理接触 ADAMS 软件提供有创建几何模型的部件库,因功能较
问题的离散模型主要有:有限元法和边界元法。数学模型主 弱,绝大多数的用户在使用中都会选用第三方的 CAD 软件
要有:约束法,拉格朗日乘子法,罚函数法和综合拉格朗日 进行三维实体造型,通过一定的中间文件转换格式(IGES,
[1]
乘子法与罚函数法的增广拉格朗日法 。 STEP, STL, Render, Parasolid 等)输入到 ADAMS 中。
赫兹接触理论认为接触发生在一个接触局部区域内,而 图 1 给出了基于 Autodesk Inventor 和 ADAMS 的用嵌入
[2]
接触区域通常很难确定 ,随着计算机图形学的发展,用计 实体的两维曲线接触代替三维实体接触的具体实现过程。
算机图形学的方法精确描述接触体,对接触体进行离散,然 一方面在 Autodesk Inventor 中进行实体建模,使用 STL
后逐个进行接触判断,接触判断占用了大量的计算机时间。 格式导入 ADAMS。另一方面从 Inventor 的实体边界提取并
在机械系统动力学仿真软件 ADAMS 中可以处理多种 离散轮廓曲线,写成 ADAMS 的矩阵格式文件,读入到
形式的两维和三维接触,两维接触采用 MDI 自己内部开发 ADAMS 中生成两维曲线,通过定位准确的嵌入到实体零件
的几何引擎,三维接触采用来自 Unigraphics 的 Parasolid 几 中去。
何引擎。几何引擎用于接触判断,计算接触点位置及其公法 1.1 Autodesk Inventor 中的边界轮廓提取与离散
线[3]。
要想随意提取 Inventor 实体模型的轮廓,就要利用
由于所采用的几何引擎不同,接触判断的计算效率差别
Inventor API 的交互选取(Interactive Selection)方法。Inventor
很大。在很多情况下是可以用嵌入实体的两维曲线来代替三
通过暴露一系列的事件(events)来提供交互选取功能[4]。
维实体进行接触判断的。接触判断过程中,最关键的是两个
每当选取了属于规定过滤范围内的对象时,就会自动调
接触体的几何形状,它决定了接触判断的准确性。
用相应的方法函数进行处理。处理思想如下(为了程序简单,
本文以无返回力矩钟表机构的调速器为例探讨了用嵌
要求用户按照顺序选择边界,顺时针和逆时针均可,中间不
能跳过边界直线或圆弧)。
收稿日期:2004-07-11 修回日期:2005-04-20
作者简介:王立新(1967-), 男, 河南新乡人, 博士, 研究方向为机械
首先分别纪录前两个边界的离散点数据,通过 4 个端点
CAD、仿真、虚拟样机技术;黄文良(1939-), 男, 辽宁人, 教授, 博导, 研 的距离判别,将两条边界元素连接起来,存入边界离散数组
究方向为机械振动、虚拟样机等。
Vol. 17 No. 8
Aug. 2005 王立新, 等:基于 ADAMS 的两维/三维混合仿真研究 ·2023·

在 AutoDesk Inventor 中进行三维实体造型 度 end_a,圆弧的等分圆心角增量为 delta_a,若 start_a <


end_a 则:delta_a = (end_a - start_a) / n_section,否则:delta_a
用 VB 编程选择要提取的实体轮廓,分别针对
将模型 = (end_a + 2 * Pi - start_a) / n_section
轮廓曲线形状进行离散处理,将离散点按照首
尾相连的顺序保存为数组 存为 STL 圆弧上的等分点坐标(全局坐标系)为:
格式文件
xi=r*Cos(delta_a * i+start_a)+oEdge. Geometry. Center.X
将离散点数组按照 ADAMS 矩阵(MATRIX)
文件格式进行保存 yi=r*Sin(delta_a * i+start_a) + oEdge.Geometry.Center.Y
ADAMS 中 1.2 ADAMS 中的边界轮廓曲线的导入
在 ADAMS 中读入矩阵文件生成矩阵数据元素
导入 STL
文件,创建 ADAMS/View 支 持 的 三 种 格 式 矩 阵 数 据 文 件 是 :
利用生成的矩阵数组元素创建曲线(CURVE) 新零件 ADAMS/ Solver 的 ADAMSMAT 或 ADAMSMAT2 格式,标
数据元素
准的 FSAVE 格式,可选的 MATSAVE 格式。后两种文件都
在需要添加曲线的零件中随意创建一条样条几 是 MATRIXx 软件包所支持的格式[5]。
何曲线(SPLINE)
由于 ADAMS 软件起初是用 FORTRAN 语言开发的,
编辑这条样条曲线,使用创建的曲线数据元素 其矩阵文件格式也是按照 FORTRAN 语言的文件格式定义
来代替任意曲线,能得到一条与实体轮廓完全
的。ADAMSMAT 文件格式如表 1。
一致的曲线
表 1 ADAMSMAT 文件格式说明
图 1 两维三维混合仿真零件几何模型的创建过程 FORTRAN
项目 记录数 内容 符号
格式
中,以后每选取一条边界就将它与离散数组的尾部连接起 1 1 文件头 ADAMSMAT A
来,直到选择结束。边界轮廓可以是封闭的,也可以是开放 2 1 文件中包含的矩阵个数 N I5
的。 3 (n+3)/4 这 n 个矩阵的名称 NAME 4(8A,10X)
假设:轮廓线是由若干条直线和圆弧组成的,圆弧和直 矩阵名称 NAME A8,
线的离散段数均为 n_section 满阵/稀疏阵(FULL/SPARSE) A8,

1.1.1 直线边界的离散方法 满阵时:按行/列存取


(CORDER/ RORDER) A8,
从边界数据对象中提取端点坐标(x1, y1, z1),(x2, y2, z2), 4 1 稀疏阵时:空白
直线中间的等分点坐标为:
行,列数量 M,N 2I5,
xi=x1+(x2-x1)*i/n_section :
矩阵中元素个数 Number I5,
yi=y1+(y2-y1)*i/n_section :
FORTRAN 的格式定义 FORMAT A41
zi=z1+(z2-z1)*i/n_section
满阵的全部元素 A(I,J) FORMAT
5 变量
1.1.2 圆弧边界的离散方法 稀疏阵的非零元素指针和元素 I,J,A(I,J) FORMAT

如图 2 所示:建立以圆弧的圆心 O'(x0,y0)为坐标原点, 注:表中的项目 4 和 5 记录了一个完整的矩阵数据,如


平行于全局坐标系 OXY 的局部坐标系 O'X'Y'。假设:从边 果文件中包含有 n 个矩阵,项目 4 和 5 就要重复 n 次。
界数据对象中提取的圆弧起点坐标:A(a,b),终点坐标 B(c,d), 例如:有一个文件中记录了矩阵名为 abc,用“行”方
半径:r,从起点到终点始终是逆时针方向。 式存取的 351x3 满阵,文件的内容如下:
ADAMSMAT

Y' Y 1
B(c,d)
abc
end_a

abc FULL RORDER 351 3 1053(3F20.10)


-3.59168832166712 -2.3 0
-3.56825455523378 -2.3 0
……
O'(x0,y0)
start_

X'
A(a,b) 导入和生成过程参见图 1。ADAMS 中数据库的层次结
a

构是零件的下一层包含有点(Point)、标记(Marker)、几何体
(Geometry)等。几何体可以有 shell 体、Bspline 曲线等。因
O(0,0) X
此可以在一个零件中既包含有 shell 体又包含有 Spline 曲线。
图 2 圆弧离散

根据起点坐标、终点坐标,分 4 个象限和是否位于坐
2 ADAMS 中零件的装配
标轴上等情况分别讨论确定圆弧起始角度 start_a 和终止角 在 ADAMS 中进行零件的装配不同于 CAD 软件。在
Vol. 17 No. 8
·2024· 系 统 仿 真 学 报 Aug. 2005

20000.0
CAD 软件中,装配的约束功能(配合、对准角度、相切和
插入等)能很方便的将各个零件装配在一起,而 ADAMS
11250.0

Angular Velocity (deg/sec)


中的装配主要是指各种运动副、运动等约束,目的是为了消
除动力学方程中刚体的自由度,而不改变零件的相对位置。
2500.0
如果零件的位置不准确,其质心位置也不准确,直接影响仿 0.0
真结果,并且在可视化方面也显得不够真实。
-6250.0
在 ADAMS 中,首先要将需装配的零件移动、旋转到适
当的位置,然后再施加约束。ADAMS 中零件的定位可通过
-15000.0
点(Point), 标记(Marker)来进行。 0.0 0.005 0.01 0.015 0.02
Time (sec) 2004-03-23 13:59:53
所要仿真的零件位置定位准确后,施加一定的约束关系
图 4 两种接触类型计算的卡摆转动角速度
和初始条件,即可得到仿真的模型。

3 两维三维混合接触仿真的实例
3.1 模型建立
图 3 是引信安全系统无返回力矩钟表机构中的调速器,
是由卡摆和擒轮组成的冲击振动系统,卡摆的周期性往返振
动,是通过卡摆对擒轮的冲击实现的。
仿真模型中,卡摆和擒轮分别与大地施加转动副
(Revolute),擒轮的转动副上施加一个驱动力矩 T。一种情况
图 5 样条曲线和 STL 实体的放大图
是在(a)中定义实体-实体(solid-solid)接触;另一种情况是定义曲
线-曲线(curve-curve)接触,(b)(c)中分别显示了从 Inventor 中提 原因在于前面所讲的,接触判断的关键是几何形体,这里的
取后导入到 ADAMS 中而生成的卡摆和擒轮曲线。 实体是由 STL 文件导进来的,STL 文件所描述的形体表面
是用小的三角形片组成的,并不是光滑的曲面。而曲线是由
矩阵数据元素所表示的点拟合成的样条曲线,是光滑曲线。
如图 5 所示,由离散点形成的曲线是样条曲线,而由其弦组
成的三角形则是实体的边界。从几何意义上讲,曲线所表达
的轮廓要比导入的实体更精确一些。因此,在三维实体中嵌
入其轮廓曲线后,定义曲线-曲线接触比实体-实体接触既节
(a) (b)
省计算时间又能获得更准确的结果。

4 结论
在 ADAMS 的实体-实体接触中,如果运动形式可以用
线接触来表达的话,就可以在 CAD 软件中从实体上提取并
离散其接触边界,生成 ADAMS 的矩阵文件,把由矩阵生成
(c) 的曲线附着在实体的指定平面上,利用曲线-曲线接触来代
图 3 调速器的两维三维混合接触仿真模型
替实体-实体接触进行仿真,在仿真效率和仿真结果准确度
3.2 仿真结果与分析 上都有提高。

从表 2 中可以看到,实体-实体接触所耗机时约为曲线- 参考文献:
曲线接触的 8 倍左右。
[1] 石明全. 模火炮自动供输弹系统和全炮耦合的发射动力学研究[D].
从图 4 中可以看出,代表嵌入实体曲线-曲线接触的虚 博士论文. 南京理工大学, 2003.
线比代表实体-实体接触的实线表达的周期要稍微长一点, [2] K L Johnson. 接触力学(Contact Mechanics)[C]. 北京: 高等教育
出版社, 1992.
表 2 两种接触类型计算时间对照表
[3] MDI. Using ADAMS/Solver [Z]. 软件手册, 2002.
接触类型 开始时间 结束时间 仿真步长 耗费机时
[4] Autodesk. Autodesk Inventor R6 API Programming Help[Z], 软件手
curve-curve 13:59:53 14:09:41 1e-6 s 9min34sec 册, 2002.
solid-solid 14:15:57 15:29:13 1e-6 s 1hr13min10sec [5] MDI. Building Models in ADAMS/View [Z]. 软件手册, 2002.

You might also like