ADAMS实例教程

ADAMS实例教程
ADAMS实例教程

前言

随着科技的发展,计算机辅助设计技术越来越广泛地应用在各个设计领域。现在,它已经突破了二维图纸电子化的框架,转向以三维实体建模、动力学模拟仿真和有限元分析为主线的虚拟样机制作技术。使用虚拟样机技术可以在设计阶段预测产品的性能,优化产品的设计,缩短产品的研制周期,节约开发费用。本书从最基础的入门讲起,介绍了建立虚拟样机软件在工程上的应用,以此推动虚拟样机技术在我国的普及。

机械系统动力学仿真分析软件ADAMS可以直接创建完全参数化的机械系统几何模型,也可以使用从其他CAD软件(如:Pro/ENGINEER)传过来的造型逼真的几何模型;然后,在几何模型上施加约束、力/力矩和运动激励;最后对机械系统进行交互式的动力学仿真分析,在系统水平上真实地预测机械结构的工作性能,实现系统水平的最优设计。

作为一名系统分析工程师,作者参加了多个国家级大型项目的研制工作,深深地体会到学习ADAMS软件的艰辛。作者希望把这些年来在设计产品中使用ADAMS软件的经验感受贡献出来和大家分享,以使后来者能够更快地进入ADAMS软件提供的机械系统动力学仿真领域。

在本书各个章节中,结合大量的工程实例,通过图形化的说明和具体操作过程,介绍了ADAMS软件的设计流程、在动力学仿真分析方面的应用、ADAMS软件的二次开发以及ADAMS软件与控制软件和有限元分析软件的接口等等。通过本书的学习,可以使您熟练地使用ADAMS软件并进行产品的系统分析。

本书的第一章、第二章由郭海涛编写,第三章、第四章和第八章由李军编写,第五章和第六章由邢俊文编写,第七章由覃文洁编写。在编写过程中,得到了谷中丽教授的指导和MDI中国办事处的支持,在此表示感谢。

感谢所有为本书做出贡献的人。

由于时间仓促、作者水平有限,书中错误在所难免,欢迎广大读者批评指正。

编者

— I —

目 录

第一章ADAMS 的界面

1.1 ADAMS 简介ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(1) 1.2 ADAMS 的界面ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(2) 1.3 ADAMS 的零件库áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(4) 1.4 ADAMS 的约束库ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(6) 1.5 ADAMS 的设计流程ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(10)

1.6 ADAMS 的分析和计算方法áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(12)

1.6.1 广义坐标的选择á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(12) 1.6.2 动力学方程的建立áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(13) 1.6.3 动力学方程的求解áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(13)

1.6.4 静力学分析、运动学分析和初始条件分析á

áááááááááááááááááááááááááááááááááááááááááááááá(15) 1.6.5 计算分析过程综述á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(18) 第二章 ADAMS 应用基础

2.1 设置工作环境ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(19)

2.2 创建物体ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(23) 2.3 创建约束副ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(36) 2.4 施加力ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(46)

2.5 仿真和动画ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(49) 2.6 输出测量曲线ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(50)

第三章 ADAMS 应用实例

3.1 夹紧机构模型áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(53) 3.1.1 创建模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(54) 3.1.2 测试模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(65) 3.1.3 验证模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(68) 3.1.4 细化模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(73) 3.1.5 迭代模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(74) 3.1.6 优化设计ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(77) 3.1.7 定制界面á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(80) 3.2 汽车前悬架模型áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(87)

3.2.1 创建前悬架模型áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(88) 3.2.2 测试前悬架模型á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(95)

— II —

3.2.3 细化前悬架模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(104)

3.2.4 定制界面á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(109) 3.2.5 优化前悬架模型á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(116) 3.3 汽车整车模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(119) 3.3.1 创建底盘模型á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(119) 3.3.2 创建前悬架模型á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(120) 3.3.3 创建转向机构模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(124) 3.3.4 创建后悬架模型ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(127) 3.3.5 创建轮胎和地面谱ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(129)

3.3.6 仿真模型áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(134)

第四章 ADAMS 应用中的技巧

4.1 静平衡的求法ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(139) 4.1.1 建立模型á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(139) 4.1.2 建立微分方程áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(139) 4.1.3 定义作用力áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(139) 4.1.4 求解静平衡áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(140) 4.1.5 保存模型á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(141) 4.2 约束副的失效áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(141) 4.2.1 建立模型á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(141) 4.2.2 建立传感器á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(142) 4.2.3 描述仿真过程á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(142) 4.2.4 仿真模型áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(143) 4.2.5 保存模型áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(144) 4.3 碰撞力的解除áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(144) 4.3.1 建立模型á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(144) 4.3.2 创建碰撞力áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(146) 4.3.3 编辑宏命令áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(146) 4.3.4 创建命令菜单áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(148) 4.3.5 设置状态变量áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(149) 4.3.6 解除碰撞力áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(150) 4.3.7 仿真模型áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(150) 4.3.8 保存模型á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(150) 第五章 ADAMS/View 的用户化设计

5.1 定制用户界面ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(151)

5.1.1 定制菜单á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(152) 5.1.2 定制对话窗áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(153) 5.2 使用宏命令áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(157)

— III —

5.2.1 宏命令参数的用法áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(157)

5.2.2 创建宏命令á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(159) 5.2.3 宏命令应用实例á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(161) 5.2.4 宏命令应用技巧á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(162) 5.3 使用条件循环命令áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(163) 5.4 综合应用实例áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(167) 5.4.1 基本格式á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(167) 5.4.2 履带模型对话窗áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(168) 5.4.3 履带模型建立过程áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(168)

第六章 ADAMS 控制系统设计

6.1 控制工具箱的使用áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(176) 6.1.1 控制系统设计流程áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(176) 6.1.2 控制环节的用法áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(177) 6.1.3 创建控制系统á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(178) 6.1.4 应用实例áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(178)

6.2 ADAMS/Controls 的应用áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(180)

6.2.1 ADAMS/Controls 的设计流程áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(180) 6.2.2 ADAMS/Controls 应用实例áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(182)

6.2.3 仿真参数的设置á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(188) 第七章 ADAMS/Flex 柔性分析模块

7.1 概述áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(190)

7.1.1 关于ADAMS/Flex 中的柔性体ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(190)

7.1.2 使用ADAMS/Flex áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(190)

7.2 ADAMS/Flex 柔性体理论áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(191)

7.2.1 柔性体的表示áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(191)

7.2.2 柔性体的运动微分方程áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(192)

7.3 在ADAMS/View 中使用柔性体ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(193)

7.3.1 在模型中引入柔性体ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(194) 7.3.2 对柔性体进行校验áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(199) 7.3.3 设置柔性体进行仿真á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(201) 7.3.4 观察仿真结果á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(206) 7.4 使用ADAMS/Flex 工具箱áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(209) 7.4.1 浏览模态中性文件á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(209) 7.4.2 将模态中性文件转换成矩阵文件á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(209) 7.4.3 优化模态中性文件á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(210) 7.4.4 运行MSC/NASTRAN 模态中性文件转换器áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(210) 7.5 在ADAMS/Solver 中使用ADAMS/Flex áááááááááááááááááááááááááááááááááááááááááááááááááá(212)

— IV —

7.5.1 选择模态和结点áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(212)

7.5.2 创建矩阵文件á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(213) 7.5.3 添加注释á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(214) 7.6 模态非线性变形ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(216)

7.6.1 建立由几段短梁组成的柔性梁á

áááááááááááááááááááááááááááááááááááááááááááááááááááááá(216) 7.6.2 建立整梁的模型á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(217) 7.6.3 建立旋转轴áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(217) 7.6.4 仿真及结果áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(218)

7.7 利用有限元分析生成模态中性文件áááááááááááááááááááááááááááááááááááááááááááááááááá(218)

7.7.1 生成模态中性文件对有限元模型的要求ááááááááááááááááááááááááááááááááááááááááááááááááá(218)

7.7.2 设置文件转换选项á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(219)á7.7.3 利用有限元分析软件ANSYS 生成模态中性文件áááááááááááááááááááááááááááááááááááááááááááááááá(220)

第八章 MECHANISM/Pro 模块简介

8.1 MECHANISM/Pro 的设计流程ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(222)

8.2 应用实例áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(223)

8.2.1 创建装配模型á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(223) 8.2.2 定义刚体á

ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(223) 8.2.3 创建约束副ááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(225)

8.2.4 传送模型及仿真分析á

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá(226) 参考文献

áááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááááá

(229)

第一章ADAMS的界面

1.1 ADAMS简介

ADAMS(Automatic Dynamic Analysis of Mechanical System)软件是美国MDI(Mechanical Dynamics Inc.)公司开发的机械系统动力学仿真分析软件,它使用交互式图形环境和零件库、约束库、力库,创建完全参数化的机械系统几何模型,其求解器采用多刚体系统动力学理论中的拉格朗日方程方法,建立系统动力学方程,对虚拟机械系统进行静力学、运动学和动力学分析,输出位移、速度、加速度和反作用力曲线。ADAMS软件的仿真可用于预测机械系统的性能、运动范围、碰撞检测、峰值载荷以及计算有限元的输入载荷等。

ADAMS软件包括核心模块ADAMS/View和ADAMS/Solver,以及其他扩展模块。

ADAMS/View(界面模块)是以用户为中心的交互式图形环境,它提供丰富的零件几何图形库、约束库和力库,将便捷的图标操作、菜单操作、鼠标点取操作与交互式图形建模、仿真计算、动画显示、优化设计、X`Y曲线图处理、结果分析和数据打印等功能集成在一起。

ADAMS/Solver(求解器)是ADAMS软件的仿真“发动机”,它自动形成机械系统模型的动力学方程,提供静力学、运动学和动力学的解算结果。ADAMS/Solver有各种建模和求解选项,以便精确有效地解决各种工程问题。

ADAMS/Controls(控制模块)可以通过简单的继电器、逻辑与非门、阻尼线圈等建立简单的控制机构,或者利用在通用控制系统软件(如:MATLAB、MATRIX、EASY5)中建立的控制系统框图,建立包括控制系统、液压系统、气动系统和运动机械系统的仿真模型。

ADAMS/Linear(系统模态分析模块)可以在进行系统仿真时将系统非线性的运动学或动力学方程进行线性化处理,以便快速计算系统的固有频率(特征值)、特征向量和状态空间矩阵,更快更全面地了解系统的固有特性。

ADAMS/Flex(柔性分析模块)提供ADAMS软件与有限元分析软件之间的双向数据交换接口。利用它与ANSYS、MSC/NASTRAN、ABAQUS、I-DEAS等软件的接口,可以方便地考虑零部件的弹性特性,建立多体动力学模型,以提高系统的仿真精度。

MECHANISM/Pro(Pro/E接口)是连接Pro/E与ADAMS之间的桥梁,二者采用无缝连接的方式,不需要退出Pro/E应用环境,就可以将装配的总成根据其运动关系定义为机构系统,进行系统的运动学仿真,并进行干涉检查、确定运动锁止的位置,计算运动副的作用力等等。

ADAMS/Car(轿车模块)是MDI公司与Audi、BMW、Renault和V olvo等公司合作开发的整车设计模块,它能够快速建造高精度的整车虚拟样机,其中包括车身、悬架、传动系统、发动机、转向机构、制动系统等,可以通过高速动画直观地再现在各种试验工况下(例如:天气、道路状况、驾驶员经验)整车的动力学响应,并输出标志操纵稳定性、制动性、乘坐舒适性和安全性的特征参数。

—1 —

ADAMS/Driver(驾驶员模块)是在德国的IPG-Driver基础上,经过二次开发而形成的成熟产品,它可以确定汽车驾驶员的行为特征,确定各种操纵工况(例如:稳态转向、转弯制动、ISO变线试验、侧向风试验等),同时确定转向盘转角或转矩、加速踏板位置、作用在制动踏板上的力、离合器的位置、变速器挡位等,提高车辆动力学仿真的真实感。ADAMS/Driver还可以通过调整驾驶员行为适应各种汽车特定的动力学特性,并具有记忆功能。

ADAMS/Rail(铁道模块)是由美国MDI公司、荷兰铁道组织(NS)、Delft工业大学以及德国ARGE CARE公司合作开发的,专门用于研究铁路机车、车辆、列车和线路相互作用的动力学分析软件。利用ADAMS/Rail可以方便快速地建立完整的、参数化的机车车辆或列车模型以及各种子系统模型和各种线路模型,并根据分析目的不同而定义相应的轮/轨接触模型,可以进行机车车辆稳定性临界速度、曲线通过性能、脱轨安全性、牵引/制动特性、轮轨相互作用力、随机响应性能和乘坐舒适性指标以及纵向列车动力学等问题的研究。

1.2 ADAMS的界面

确信ADAMS软件已经由MDI公司的工程师安装成功,或者按照该软件的安装说明已经正确安装。双击ADAMS/View在屏幕上的快捷图标,或者从“开始”菜单中,选择“程序”,选择“ADAMS 10.0”(本书以ADAMS 10.0为例),再选择“A View”中的“ADAMS-View”,即可启动ADAMS/View 10.0,如图1 ` 1所示。

图1 ` 1 ADAMS启动界面

ADAMS启动界面包括三部分:欢迎对话窗(Welcome to ADAMS)、主工具箱(Main ToolBox)和工作窗口(ADAMS)。

欢迎对话窗有四个选项:

—2 —

Create a new model ——创建新模型;

Open an existing database ——打开一个已经存在的模型;

Import a file ——通过读入ADAMS/View命令文件或ADAMS/Solver数据文件,开始一个新模型;

Exit ——退出ADAMS/View。

选择“Create a new model ^,使用系统默认的文件名model_1,按“OK”,就可以创建新模型model_1.bin,如图1 ` 2所示。

图1 ` 2 ADAMS界面

在工作窗口的左上角显示有模型的名称(model_1),左下角显示有三维坐标系(x、y、z)的方向,工作窗口还显示重力(Gravity)及其方向(默认为` y方向)和工作捕捉点等。

在ADAMS/View菜单栏中,选择“File”菜单中的“Save Database”命令,可以保存创建的模型(图1 ` 3)。

选择“File”菜单中的“Exit”命令,可以退出ADAMS/View(图1 ` 4)。

图1 ` 3 保存模型命令 图1 ` 4 退出ADAMS命令

—3 —

— 4

—1.3 ADAMS 的零件库

在ADAMS/View 的主工具箱(Main ToolBox

)中,选择图标,按右键,系统弹出

ADAMS/View 的零件库,如图1 ` 5所示。

下面介绍ADAMS/View 零件库中常用零件几何模型的属性: (Link ):创建连杆。创建连杆需要画一条线来确定连杆的长度(Length )。缺省时(图1 ` 6),ADAMS/View 创建的连杆的宽度(Width )为连杆长度(Length )的10%,连杆的厚度(Depth )为连杆长度(Length )的5%,连杆两端的半径为连杆宽度的一半。创建连杆前,也可以定义连杆的长度、宽度和厚度。

图1 ` 6 连杆(Link ) 图1 ` 5 ADAMS 的零件库

(Box ):创建长方体。创建长方体需要画出长方体的长度(Length )和高度(Height )。缺省时(图1 ` 7),ADAMS/View 创建的长方体的厚度(Depth )为长方体长度(Length )和高度(Height )中较小尺寸的两倍(d = 2 × min (l ,h ))。创建长方体前,也可以定义长方体的长度、高度和厚度。

图1 ` 7 长方体(Box )

(Cylinder ):创建圆柱体。创建圆柱体需要画出圆柱体的中心线来确定圆柱体的长度

(Length )。缺省时(图1 ` 8),ADAMS/View 创建的圆柱体的半径(Radius )为圆柱体中心线长度(Length )的25%。创建圆柱体前,也可以定义圆柱体的长度和半径。

(Sphere ):创建球体。创建球体需要定义其原点(Center Point )和三个方向的半径

(Radii ),如图1 ` 9所示。

— 5 —

图1 ` 8 圆柱体(Cylinder ) 图1 ` 9 球体(Sphere )

(Frustum ):创建截锥体。创建截锥体需要画出截锥体的长度(Length )。缺省时(图

1 ` 10),ADAMS/View 创建的截锥体的顶部半径(Top Radius )为截锥体长度(Length )的12.5%,底部半径(Bottom Radius )为截锥体长度(Length )的50%。创建截锥体前,也可以定义截锥体的长度以及其顶部和底部半径。

(Torus ):创建圆环。创建圆环需要定义圆环的中心(Center point )和外径(Outer radius );

缺省时(图1 ` 11)

,ADAMS/View 创建的圆环的内径(Inner radius )为圆环外径(Outer radius )的25%。创建圆环前,也可以定义圆环的内径和外径。

图1 ` 10 圆锥体(Frustum ) 图1 ` 11 圆环(Torus )

(Extrusion ):创建拉伸体。创建拉伸体需要画出拉伸体的截面(Profile )并定义其长度(Length ),ADAMS/View 创建的拉伸体的生长方向为屏幕z 轴的正方向,如图1 ` 12所示。拉伸体的生长方式有三种:向前(Forward )、向两边(About Center )和向后(Backward ),如图1 ` 13所示。

图1 ` 12 拉伸体(Extrusion )

— 6

图1 ` 13 拉伸体的生长方式

(Revolution ):创建旋转体。创建旋转体需要定义其旋转轴线(Axis )和截面(Profile ),如图1 ` 14所示。

图1 ` 14 旋转体(Revolution )

(Plate ):创建平板。创建平板至少需要定义三个位置,根据需要,也可以定义它的

厚度(Thickness )和圆角半径(Radius ),如图1 ` 15所示。

图1 ` 15 平板(Plate )

1.4 ADAMS 的约束库

在ADAMS/View 主工具箱(Main ToolBox )中,选择图标

,按右键,系统弹出ADAMS

— 7 —

的约束库,如图1 ` 16所示。

下面介绍ADAMS 约束库中常用的约束副:

(Revolute Joint ):旋转副。旋转副只允许两个物体绕一条共同的轴线旋转,它可以

在旋转轴线的任意位置,旋转副的方向决定旋转轴线的方向,如图1 ` 17所示。一个旋转副

可以从模型中去除5个自由度。

图1 ` 16 ADAMS 的约束库 图1 ` 17 旋转副(Revolute Joint )

(Translational Joint ):移动副。移动副只允许两个物体沿一条轴线相互移动,移动副

的位置不影响物体的运动,移动副的方向确定物体滑

移的方向,如图1 ` 18所示。一个移动副可以从模型中去除5个自由度。

(Cylindrical Joint ):圆柱副。圆柱副允许两

个物体沿一条轴线既可以滑动又可以旋转,圆柱副可

以在轴线的任意位置,圆柱副的方向确定轴线的方向,如图1 ` 19所示。一个圆柱副可以从模型中去除4个自由度。

(Spherical Joint ):球副。球副允许两个物体

相对于一点自由转动,但是,没有平移,球副的位置

确定旋转点的位置,如图1 ` 20所示。一个球副可以从模型中去除3个自由度。

图1 ` 18 移动副(Translational

Joint )

— 8

图1 ` 19 圆柱副(Cylindrical Joint ) 图1 ` 20 球副(Spherical Joint )

(Fixed Joint ):固定副。固定副就是把两个物体固结在一起,两个物体没有相对运动,固定副的位置和方向都不影响仿真结果。因此,可以将其放在容易看见的位置,如图1 ` 21所示。一个固定副可以从模型中去除6个自由度。

(Hooke/Universal Joint ):万向节副。万向节副允许一个物体把旋转运动传递给另一

个物体,并且两个物体的旋转轴线可以有夹角,万向节副的位置确定两个物体的连接点,万向节副的方向如图1 ` 22和图1 ` 23所示。一个万向节副可以从模型中去除4个自由度。

图1 ` 21 固定副(Fixed Joint ) 图1 ` 22 万向节副(Hooke Joint )

图1 ` 23 万向节副(Universal Joint )

— 9 —

(Constant-Velocity Joint ):恒速度副。恒速度副允许两个物体以相等的速度旋转,恒

速度副的位置确定两个物体的连接点,恒速度副的方向如图1 ` 24所示。一个恒速度副可以从模型中去除4个自由度。

图1 ` 24 恒速度副(Constant-Velocity Joint )

(Planar Joint ):平面副。平面副允许一个物体在另一个物体的平面内滑动和转动,

平面副的位置确定约束平面通过的点,平面副的矢量方向垂直于约束平面,如图1 ` 25所示。

一个平面副可以从模型中去除3个自由度。

(Screw Joint ):螺纹副。螺纹副允许一个物体相对于另一个物体的轴线旋转,并且有

轴向移动。确定螺纹副时,还需要定义螺距值,正的螺距值创建右手螺纹,负的螺距值创建左手螺纹,如图1 ` 26所示。

图1 ` 25 平面副(Planar Joint ) 图1 ` 26 螺纹副(Screw Joint )

(Gear Joint ):齿轮副。齿轮副允许两个物体在共同的速度点以相同的速度运动,它

通过耦合两个约束副连接两个物体,约束副可以为移动副、旋转副或圆柱副。根据约束副的

不同,可以创建齿轮传动、螺旋传动、齿轮 ` 齿条传动等,如图1 ` 27所示。

(Coupler Joint ):耦合副。耦合副可以把两个或三个约束副连接在一起,它以一定的

比例关系定义约束副之间的平移和/或旋转运动,如图1 ` 28所示。

— 10

图1 ` 27 齿轮副(Gear Joint ) 图1 ` 28 耦合副(Coupler Joint )

(Pin-in-Slot Cam ):销 ` 槽凸轮副。销 ` 槽凸轮副允许一个物体上的固定点在第二个

物体的曲线上自由翻转和滑动,固定在第二个物体的曲线可以是开口曲线也可以是闭合曲线,

如图1 ` 29和图1 ` 30所示。一个销 ` 槽凸轮副可以从模型中去除2个自由度。

图1 ` 29 销 ` 槽凸轮副 图1 ` 30 销 ` 槽凸轮副 (Pin-in-Slot Cam ,开口曲线) (Pin-in-Slot Cam ,闭合曲线)

(Curve-on-Curve Cam ):曲线 ` 曲线凸轮副。

曲线 ` 曲线凸轮副要求第一个物体的曲线必须和第二个物体的曲线接触,定义的这两条曲线必须在同一个平面内,两条曲线可以为开口曲线,也可以为闭合曲线,如图1 ` 31所示。一个曲线 ` 曲线凸轮副从模型中去除三个自由度。

1.5 ADAMS 的设计流程

ADAMS 的设计流程,如图1 ` 32所示,它包括以下几个方面:

图1 ` 31 曲线 ` 曲线凸轮副

(Curve-on-Curve Cam )

— 11 —

图1 ` 32 ADAMS 的设计流程

(1)创建(Build )模型

在创建机械系统模型时,首先要创建构成模型的物体(Part ),它们具有质量、转动惯量等物理特性。创建物体(Part )的方法有两种:一种是使用ADAMS/View 中的零件库创建形状简单的物体(Part ),另一种是使用ADAMS/Exchange 模块从其他CAD 软件(如:Pro/E )输入形状复杂的物体(Part )。

使用ADAMS/View 创建的物体一般有三类:刚体、点质量和弹性体。其中:刚体拥有质量和转动惯量,但是不能变形;点质量是只有质量和位置的物体,它没有方向;使用ADAMS/View 还可以创建分离式的弹性连杆,并且可以向有限元分析软件(如:ANSYS )输出载荷。

创建完物体(Part )后,需要使用ADAMS/View 中的约束库创建两个物体之间的约束副

(Constraint )

,这些约束副(Constraint )确定物体之间的连接情况以及物体之间是如何相对运动的。

最后,通过施加力(Force )和力矩(Torque ),以使模型按照设计要求进行运动仿真。 (2)测试(Test )和验证(Validate )模型

创建完模型后,或者在创建模型的过程中,都可以对模型进行运动仿真,通过测试整个模型或模型的一部分,以验证模型的正确性。

在对模型进行仿真的过程中,ADAMS/View 自动计算模型的运动特性,如:距离、速度信息等。使用ADAMS/View 可以测量这些信息以及模型中物体的其他信息,例如:施加在

— 12

— 弹簧上的力、两个物体之间的角度等等。在进行仿真时,ADAMS/View 可以通过测量曲线直观地显示仿真的结果。

将机械系统的物理试验数据输入到ADAMS/View 中,并且以曲线的形式叠加在ADAMS/View 的仿真曲线中,通过比较这些曲线,就可以验证创建的模型的精确程度。

(3)细化(Refine )模型和迭代(Iterate )

通过初步地仿真分析,确定了模型的基本运动后,就可以在模型中增加更复杂的因素,以细化模型。例如:增加两个物体之间的摩擦力、将刚性体改变为弹性体、将刚性约束副替换为弹性联接等等。

为了便于比较不同的设计方案,可以定义设计点(Design Point )和设计变量(Design Variable ),将模型进行参数化,这样就可以通过修改参数自动地修改整个模型。

(4)优化(Optimize )设计

ADAMS/View 可以自动进行多次仿真,每次仿真改变模型的一个或多个设计变量,帮助找到机械系统设计的最优方案。

(5)定制界面(Automate )

为了使ADAMS/View 符合设计环境,可以定制ADAMS/View 的界面,将经常需要改动的设计参数定制成菜单和便捷的对话窗,还可以使用宏命令执行复杂和重复的工作,提高工作速度。

1.6 ADAMS 的分析和计算方法

ADAMS 采用世界上广泛流行的多刚体系统动力学理论中的拉格朗日方程方法,建立系统的动力学方程。它选取系统内每个刚体质心在惯性参考系中的三个直角坐标和确定刚体方位的三个欧拉角作为笛卡尔广义坐标,用带乘子的拉格朗日方程处理具有多余坐标的完整约束系统或非完整约束系统,导出以笛卡尔广义坐标为变量的运动学方程。ADAMS 的计算程序应用了吉尔(Gear )的刚性积分算法以及稀疏矩阵技术,大大提高了计算效率。

1.6.1广义坐标的选择

动力学方程的求解速度很大程度上取决于广义坐标的选择。研究刚体在惯性空间中的一般运动时,可以用它的连体基的原点(一般与质心重合)确定位置,用连体基相对惯性基的方向余弦矩阵确定方位。为了解析地描述方位,必须规定一组转动广义坐标表示方向余弦矩阵。第一种方法是用方向余弦矩阵本身的元素作为转动广义坐标,但是变量太多,同时还要附加六个约束方程;第二种方法是用欧拉角或卡尔登角作为转动坐标,它的算法规范,缺点是在逆问题中存在奇点,在奇点位置附近数值计算容易出现困难;第三种方法是用欧拉参数作为转动广义坐标,它的变量不太多,由方向余弦计算欧拉角时不存在奇点。ADAMS 软件用刚体i 的质心笛卡尔坐标和反映刚体方位的欧拉角作为广义坐标,即T ][i i ,,,z ,y ,x q ?θψ=,T T T 2T 1][n q ,,q ,q q ???=。由于采用了不独立的广义坐标,系统动力学方程虽然是最大数量,但

却是高度稀疏耦合的微分代数方程,适用于稀疏矩阵的方法高效求解。

— 13 —

1.6.2动力学方程的建立

ADAMS 程序采用拉格朗日乘子法建立系统运动方程:

Q q

T q T t q q =++?????μθρ?T T T T )((d d 完整约束方程 0)(=t ,q ?

非完整约束方程 0),,(=t q

q θ (1 ` 1) 其中 T ——系统动能;

q ——系统广义坐标列阵; Q ——广义力列阵;

? ——对应于完整约束的拉氏乘子列阵; μ ——对应于非完整约束的拉氏乘子列阵。

1.6.3 动力学方程的求解

把(1 ` 1)式写成更一般的形式:

0),,,,(=t u u q F λ

0),(=?=q

u q u G F (q ,t ) = 0 (1 ` 2)

其中 q ——广义坐标列阵;

u q , ——广义速度列阵;

λ——约束反力及作用力列阵;

F ——系统动力学微分方程及用户定义的微分方程(如用于控制的微分方程、非完整

约束方程);

F ——描述约束的代数方程列阵。

如定义系统的状态矢量T T T T ],,[λu q =y ,式(1 ` 2)可写成单一矩阵方程:

0)(=t ,y

,y g (1 ` 3) 在进行动力学分析时,ADAMS 采用两种算法:

(1)提供三种功能强大的变阶、变步长积分求解程序:GSTIFF 积分器、DSTIFF 积分器和BDF 积分器来求解稀疏耦合的非线性微分代数方程,这种方法适于模拟刚性系统(特征值变化范围大的系统)。

(2)提供ABAM 积分求解程序,采用坐标分离算法来求解独立坐标的微分方程,这种方法适于模拟特征值经历突变的系统或高频系统。

1.微分 ` 代数方程的求解算法

用Gear 预估 ` 校正算法可以有效地求解式(1 ` 2)所示的微分 ` 代数方程。首先,根据当前时刻的系统状态矢量值,用泰勒级数预估下一时刻系统的状态矢量值:

???+??+??+=+2

2

2

1

!21h t y h t y y y n n n n (1 ` 4)

— 14

— 其中,时间步长n n t t h ?=+1。

这种预估算法得到的新时刻的系统状态矢量值通常不准确,式(1 ` 2)右边的项不等于零,可以由Gear k +1阶积分求解程序(或其他向后差分积分程序)来校正。如果预估算法得到的新时刻的系统状态矢量值满足式(1 ` 2),则可以不必进行校正。

∑=+?+++?=k

i i n i n n y y h y 11101αβ (1 ` 5)

其中 1+n y ——)(t y 在1+=n t t 时的近似值;

i ,αβ0——Gear 积分程序的系数值。

整理式(1 ` 5)得:

][1

1

1101∑=+?++??=

k

i i n i n n y y h y αβ (1 ` 6) 将式(1 ` 2)在1+=n t t 时刻展开,得: 0)(11111=+++++n n n n n t ,,u ,u ,q F λ

0))(1

(

)(1

11011111=???=?=∑=+?++++++k

i i n i n n n n n n q q h u q u q ,u G αβ (1 ` 7) 0)(11=++n n t ,q Φ

ADAMS 使用修正的Newton ` Raphson 程序求解上面的非线性方程,其迭代校正公式为:

0=??+??+

??+

??+

j j j j j F

u u

F u u

F q q

F

F λλ

0=??+??+j j j u u G

q q G G (1 ` 8)

0=??+

j j q q

Φ

Φ

其中,j 表示第j 次迭代。

j j j j j j j j j ,u u u ,

q q q λλλ?=?=?=+++11

1 (1 ` 9)

由式(1 ` 6)知:

j j u h

u

)1

(

?= (1 ` 10)

由式(1 ` 7)知:

I u

G

,I h q G =??=??1(0

β (1 ` 11) 将式(1 ` 10)和式(1 ` 11)代入式(1 ` 8),得:

j j j

G F u q q I I h q u F h u F q F ???=

???????????ΦλΦ

βΦβ0

)(01()()1(0T 0 (1 ` 12)

— 15 —

式(1 ` 12)左边的系数矩阵称系统的雅可比矩阵, 其中

q

F

??——系统刚度矩阵; u F

??——系统阻尼矩阵; u

F

??——系统质量矩阵。 通过分解系统雅可比矩阵(为了提高计算效率,ADAMS 采用符号方法分解矩阵)求解

j j j ,u ,q

λ,计算出111111++++++j j j j j j ,u ,q ,,u ,q λλ ,重复上述迭代校正步骤,直到满足收敛条件,最后是积分误差控制步骤。如果预估值与校正值的差值小于规定的积分误差限,接受

该解,进行下一时刻的求解。否则拒绝该解,并减少积分步长,重新进行预估 ` 校正过程。总之,微分 ` 代数方程的求解算法是重复预估、校正、进行误差控制的过程,直到求解时间达到规定的模拟时间。

2.坐标缩减的微分方程求解算法

ADAMS 程序提供ABAM (Adams-Bashforth and Adams-Moulton )积分程序,采用坐标分离算法,将微分 ` 代数方程减缩成用独立广义坐标表示的纯微分方程,然后用ABAM 程序进行数值积分。

坐标减缩微分方程的确定及其数值积分过程按以下步骤进行:

(1)坐标分离 将系统的约束方程进行矩阵的满秩分解,可将系统的广义坐标列阵{}q 分解成独立坐标列阵{}

i

q 和非独立坐标列阵{}

d

q

,即{}

=d i q q q 。

(2)预估 用Adams-Bashforth 显式公式,根据独立坐标前几个时间步长的值,预估1+n t 时刻的独立坐标值{}

p

i q ,p 表示预估值。

(3)校正 用Adams-Moulton 隐式公式对上面的预估值,根据给定的收敛误差限进行校正,以得到独立坐标的校正值{}c

i q ,c 表示校正值。

(4)确定相关坐标 确定独立坐标的校正值之后,可由相应公式计算出非独立坐标和其

他系统状态变量值。

(5)积分误差控制 与上面预估 ` 校正算法积分误差控制过程相同,如果预估值与校正值的差值小于给定的积分误差限,接受该解,进行下一时刻的求解。否则减小积分步长,重复第二步开始的预估步骤。

1.6.4 静力学分析、运动学分析和初始条件分析

1.静力学分析

对应于上面的动力学分析过程,在进行静力学、准静力学分析时,分别设速度、加速度为零,则得到静力学方程:

相关主题
相关文档
最新文档