
虚拟样机技术是设计制造领域的一项新技术,其应用涉及汽车制造、工程机械、航空航天、造船、航海、机械电子和通用机械等众多领域。采用虚拟样机替代物理样机,不但可以缩短开发周期,而且还大大提高了设计效率。
本书注重基础、突出实例讲解,分为基础与实例两部分,共17章。其中基础部分包括软件及动力学理论简介、动力学模型建立基础、ADAMS运动学分析、ADAMS静力学分析及线性化分析和求解器算法以及ADAMS应用基础、载荷施加、后处理分析等内容;实例部分包括多刚体分析、刚-柔耦合分析、多柔体分析、耐久性分析、振动分析、参数化分析和车辆分析等内容。本书光盘配有书中实例的几何模型以及实例的分析模型,方便读者查阅。
本书是作者结合多年科研实践和本科生与研究生的相关教学经验编著而成的,可作为理工科院校相关专业的高年级本科生、研究生及教师学习ADAMS软件的教材或参考书,也可作为从事汽车交通、铁道、石油化工、航空航天、机械制造、国防工业、造船等科学研究的工程技术人员使用ADAMS软件的参考书。
本书介绍的软件ADAMS是专门用于机械产品虚拟样机开发方面的工具,通过虚拟试验和测试,在产品开发阶段就可以帮助设计者发现设计缺陷,并提出改进的方法。
ADAMS研究复杂系统的运动学关系和动力学关系,它以计算多体系统动力学为理论基础,结合高速计算机来对产品进行仿真计算,得到各种试验数据,帮助设计者发现问题并解决问题。本书主要介绍ADAMS的使用方法,由于其涉及到较多的理论知识,尤其是力学方面的知识,请读者参考多体系统动力学和结构动力学方面的书籍。
本书以ADAMS 2012版本为基础,涉及的内容包括刚性体建模、柔性体建模、参数化设计、优化计算、振动分析、控制系统等,详细介绍了ADAMS/View、ADAMS/PostProcsser、ADAMS/Autoflex、ADAMS/Vibration、ADAMS/Control、ADAMS/Car等模块的使用方法,所介绍的内容不仅仅是入门内容,更多的是高级应用的内容。
全书共分为17章,内容由浅入深,通过本书的讲解和实例,相信读者可以很快掌握这些模块。
第1章 简要介绍了ADAMS 2012的新功能、ADAMS软件的基本算法,包括ADAMS建模中的一些基本概念、运动学分析算法、动力学分析算法、静力学分析及线性化分析算法以及ADAMS软件积分器等内容。
第2章 本章首先介绍了ADAMS 2012的工作界面、零件库约束库和设计流程,然后讲解了ADAMS中工作界面的设置,物体、约束副和施加载荷的创建,最后分析讲解了后处理中的动画显示,输出测量曲线等。
第3章 本章介绍了载荷的施加方式以及各种载荷的作用,并通过实例具体讲解了各种载荷的施加方式。
第4章 本章讲解后处理的使用方法,通过后处理,计算Marker点的位移、速度和加速度,计算运动副关联的两个构件之间的相对位移、速度和加速度等。
第5章 本章通过一个卡车模型和三个具体实例,帮助读者熟悉刚体建模、定义材料属性、施加驱动和约束及仿真分析、后处理等操作步骤,以达到掌握运用ADAMS进行刚体建模的目的。
第6章 本章介绍刚-柔耦合建模的知识,通过3个具体的实例讲解刚-柔耦合仿真模型的建立及求解和后处理等内容。
第7章 本章首先介绍多柔体仿真的工程背景,然后讲解多柔体系统动力学中的几个突出问题,最后通过两个实例具体讲解了多柔体系统动力学仿真的使用方法。
第8章 本章首先介绍机电联合仿真的基础知识,然后对控制工具栏进行了详细讲解,最后通过实例讲解了机电一体化联合仿真的实践与应用。通过本章的学习,读者可以掌握利用控制器进行仿真控制设置以及实现机电一体联合仿真。
第9章 本章首先介绍三维建模软件与ADAMS之间的交换接口,然后讲解Pro/E和SOLID模型导入ADAMS的步骤,最后给出了UG与ADAMS之间双向模型交换的一个典型实例,讲解两者之间模型转换的方法。
第10章 本章首先对参数化建模做了简单介绍,然后通过双摆臂独立前悬架机构实例对参数化建模做了详尽的阐述和分析,最后利用前悬架机构优化设计分析实例对机构优化设计进行了深入分析。通过本章的学习,读者可以掌握参数化建模和分析的步骤,以及通过参数化建模来分析不同变量对系统的影响。
第11章 本章首先介绍振动分析模块,然后通过实例讲解刚性体模型建立振动模型、振动参数的输入和输出,以及模型的测试、验证、精化及优化等,最后通过实例讲解柔性体模型建立振动模型的过程。通过本章的学习,读者可以掌握振动模型的输入和输出、振动仿真模型测试、验证、精化及优化,以及结果后处理方法等相关知识。
第12章 本章以三个耐久性例子为基础,介绍耐久性模块的使用,通过实例的学习和分析,使读者对耐久性模块能够有深入地了解和认识,学会通过耐久性模块,查看模型的应力和应变信息,并生成报告文件。
第13章 本章首先介绍ADAMS二次开发用户界面的定制,然后讲解宏命令的使用方法,最后讲解循环命令和条件命令的使用。
第14章 本章首先介绍ADAMS主要文件,然后讲解Solver模型语言分类并对每个模型语言与语法附带一个例子,最后介绍Solver命令及仿真控制文件。通过本章的学习,读者可以深刻理解ADAMS中几何、约束、力元等的实质,脱离ADAMS/View环境直接利用ADAMS/Solver进行一些高级应用。
第15章 本章首先介绍用户子程序种类和使用的基本知识,然后通过例子讲解GFOSUB用户子程序及常用的子程序,最后对功能子程序进行了概述,重点讲解SYSARY和SYSFNC功能子程序。通过本章的学习,读者将具备基本的开发用户子程序的能力。
第16章 本章通过简要讲解ADAMS中专业车辆模块ADAMS/Car,再通过创建悬吊系统,整车装配等来展示如何应用这个专业模块进行设计和仿真设计。使读者掌握用车辆模块创建整车模型以及进行仿真设计。
第17章 本章首先介绍ADAMS函数基本知识,然后通过例子讲解驱动约束,定义和调用系统状态变量和度量及请求的定义和调用。通过本章的学习,读者将对函数有进一步的认识和了解,提高对函数的掌握和理解。
本书最后的附录给出了ADAMS中常用的使用技巧,帮助读者在学习过程中能够更快的掌握软件的使用技巧,提高工作效率。
本书由陈峰华编著,郑明辉、刘力、陈磊、何嘉扬、张杨、周文华、丁学英、吕广宪、孙万泉、黄利、王清、吴永福、张圣东、唐明明、黄利、李秀峰也参与了本书的编写,在此一并表示感谢。
虽然作者在本书的编写过程中力求叙述准确、完善,但由于水平有限,书中欠妥之处在所难免,希望读者和同仁能够及时指出,共同促进本书质量的提高。
读者在学习过程中遇到与本书有关的问题,可以发邮件到编者邮箱comshu@126.com,编者会尽快给予解答。
编 者
2013.3
第1章 ADAMS 2012简介 1
1.1 ADAMS 2012新功能 1
1.2 ADAMS多体系统动力学的建模、分析和计算方法 2
1.2.1 广义坐标的选择 2
1.2.2 多体系统动力学研究状况 2
1.2.3 多体系统建模理论 6
1.2.4 多体系统动力学数值求解 7
1.2.5 计算多刚体系统动力学自动建模 10
1.2.6 多体系统动力学中的刚性(Stiff)问题 10
1.3 ADAMS建模基础 14
1.3.1 参考标架 14
1.3.2 坐标系的选择 14
1.4 ADAMS运动学分析 15
1.4.1 ADAMS运动学方程 15
1.4.2 ADAMS运动学方程的求解算法 16
1.5 ADAMS动力学分析 17
1.5.1 ADAMS动力学方程 17
1.5.2 初始条件分析 20
1.5.3 ADAMS动力学方程的求解 22
1.6 ADAMS静力学及线性化分析 23
1.6.1 静力学分析 23
1.6.2 线性化分析 24
1.7 ADAMS求解器算法介绍 24
1.7.1 ADAMS数值算法简介 24
1.7.2 动力学求解算法介绍 25
1.7.3 坐标缩减的微分方程求解过程算法 26
1.7.4 动力学求解算法特性比较 26
1.7.5 求解器的特点比较 27
1.7.6 刚性问题求解算法选择 28
1.8 本章小结 28
第2章 ADAMS应用基础 29
2.1 设置工作环境 29
2.2 ADAMS的界面 34
2.3 ADAMS的零件库 36
2.4 ADAMS的约束库 38
2.5 ADAMS的设计流程 42
2.6 创建物体 43
2.7 创建约束副 55
2.8 施加力 65
2.9 仿真和动画 68
2.10 输出测量曲线 70
2.11 本章小结 70
第3章 施加载荷 71
3.1 外部载荷的定义 71
3.2 柔性连接 73
3.3 在运动副上添加摩擦力 76
3.4 实例 78
3.4.1 实例一:齿轮接触分析 78
3.4.2 实例二:小车越障柔性连接 80
3.4.3 实例三:射击 83
3.5 本章小结 88
第4章 计算求解与结果后处理 89
4.1 计算求解 89
4.1.1 计算类型 89
4.1.2 验证模型 90
4.1.3 仿真控制 90
4.1.4 传感器 94
4.2 实例一:仿真类型与传感器 95
4.2.1 设计要求 95
4.2.2 建模 96
4.2.3 模型运动初步仿真 100
4.2.4 存储数据文件 101
4.2.5 生成地块及添加约束 101
4.2.6 测量 102
4.2.7 生成传感器 103
4.2.8 模型仿真 104
4.3 ADAMS后处理简介 104
4.3.1 ADAMS/PostProcessor的用途 104
4.3.2 ADAMS/PostProcessor 的启动与退出 105
4.3.3 ADAMS/PostProcessor窗口介绍 105
4.4 ADAMS/PostProcessor使用技巧 106
4.4.1 创建任务和添加数据 106
4.4.2 工具栏的使用 108
4.4.3 窗口模式的设置 110
4.4.4 ADAMS/PostProcessor的页面管理 110
4.5 ADAMS/PostProcessor输出仿真结果的动画 111
4.5.1 动画类型 111
4.5.2 加载动画 111
4.5.3 动画演示 112
4.5.4 时域动画的控制 112
4.5.5 频域动画的控制 113
4.5.6 记录动画 114
4.6 ADAMS/PostProcessor绘制仿真结果的曲线图 115
4.6.1 由仿真结果绘制曲线图的类型 115
4.6.2 曲线图的建立 115
4.6.3 曲线图上的数学计算 117
4.7 曲线图的处理 118
4.7.1 曲线数据滤波 119
4.7.2 快速傅立叶变换 120
4.7.3 生成伯德图 120
4.8 实例二:跳板振动分析 121
4.8.1 动力学模型的建立和仿真分析 121
4.8.2 采用ADAMS/PostProcessor建立和设置曲线图 122
4.8.3 采用ADAMS/PostProcessor对曲线图进行操作 124
4.9 实例三:加紧机构仿真后处理 125
4.9.1 细化模型 125
4.9.2 深化设计 131
4.10 本章小结 134
第5章 刚性体建模及仿真分析 135
5.1 模型的建立 135
5.2 定义材料属性 136
5.3 重命名部件 137
5.4 施加约束 137
5.4.1 创建固定副 137
5.4.2 创建旋转副 138
5.4.3 创建滑移副 140
5.4.4 柔性约束力 140
5.4.5 施加接触 141
5.5 施加驱动 143
5.5.1 车轮与车体之间施加旋转驱动 143
5.5.2 在滑移副上施加平移驱动 143
5.6 求解器设置 144
5.7 仿真 145
5.8 后处理分析 146
5.9 实例一:吊车起吊过程分析 147
5.9.1 创建模型 147
5.9.2 定义材料属性 148
5.9.3 重命名部件 149
5.9.4 施加约束 149
5.9.5 施加驱动 152
5.9.6 求解器设置 154
5.9.7 仿真 154
5.9.8 后处理分析 155
5.10 实例二:转盘机构刚体建模及仿真分析 156
5.10.1 模型的建立 156
5.10.2 查看约束 156
5.10.3 施加驱动 157
5.10.4 求解器设置 158
5.10.5 仿真 158
5.10.6 后处理分析 159
5.11 实例三:偏转摩天轮多刚体动力学仿真分析 159
5.11.1 导入模型 159
5.11.2 定义材料属性 161
5.11.3 重命名部件 162
5.11.4 渲染模型和布尔运算 163
5.11.5 施加约束 163
5.11.6 施加驱动 165
5.11.7 求解器设置 166
5.11.8 仿真 166
5.11.9 后处理分析 167
5.12 本章小结 169
第6章 刚-柔混合建模 170
6.1 离散柔性连接件 170
6.2 利用有限元程序建立柔性体 171
6.2.1 模态的概念 172
6.2.2 柔性体与刚性体之间的连接 172
6.2.3 柔性体替换刚性体 172
6.3 实例一:模态中性文件的生成及编辑 173
6.3.1 在ADAMS中导入MNF文件 174
6.3.2 编辑柔性体 174
6.4 实例二:铁锤敲击墙壁刚柔碰撞动力学分析 178
6.4.1 建立模型 178
6.4.2 定义材料属性 178
6.4.3 渲染模型 179
6.4.4 施加约束 180
6.4.5 施加载荷 181
6.4.6 检查模型 182
6.4.7 仿真计算 182
6.4.8 柔性体的替换与编辑 182
6.4.9 仿真计算 184
6.4.10 后处理 184
6.5 实例三:钟摆机构刚体离散及动力学分析 185
6.5.1 创建模型 185
6.5.2 施加约束和驱动 186
6.5.3 仿真 188
6.5.4 创建柔性离散连杆 188
6.5.5 创建刚-柔体间的约束和驱动 189
6.5.6 仿真 191
6.5.7 后处理 191
6.6 本章小结 193
第7章 多柔体动力学仿真 194
7.1 多柔体系统及工程背景 194
7.2 多柔体系统动力学的几个突出的问题 196
7.3 实例一:连杆机构柔体动力学仿真分析 196
7.3.1 创建模型 196
7.3.2 柔性化连杆机构 199
7.3.3 施加约束和驱动 201
7.3.4 仿真 201
7.3.5 后处理 202
7.4 实例二:风力发电机建模及风载仿真分析 203
7.4.1 导入并编辑模型 204
7.4.2 驱动 205
7.4.3 仿真 206
7.4.4 后处理 206
7.5 本章小结 209
第8章 机电一体联合仿真 210
8.1 机电一体化系统仿真分析简介 210
8.2 ADAMS/View控制工具栏 211
8.2.1 ADAMS中建立控制器的方法 211
8.2.2 使用ADAMS/View中的控制工具栏 212
8.2.3 控制模块类型 212
8.2.4 产生控制模块 213
8.2.5 检验控制模块的连接关系 214
8.3 实例一:雷达机构的机电联合仿真 214
8.3.1 ADAMS/Controls求解基本步骤 214
8.3.2 启动ADAMS/Controls模块 215
8.3.3 构造ADAMS机械系统样机模型 215
8.3.4 确定ADAMS的输入和输出 218
8.3.5 控制系统适模 222
8.3.6 机电系统联合仿真分祈 225
8.4 实例二:滚动球体机电联合仿真分析 227
8.4.1 打开以及浏览模型 227
8.4.2 创建控制系统 228
8.4.3 创建传感器信号 229
8.4.4 创建激励信号 230
8.4.5 编辑控制系统 231
8.4.6 用信号管理器连接信号 231
8.4.7 输出面板 233
8.4.8 创建MATLAB控制系统 233
8.5 本章小结 235
第9章 ADAMS与其他软件接口 236
9.1 三维建模软件与ADAMS 236
9.1.1 Pro/E与ADAMS之间数据传递 236
9.1.2 SOLIDWORKS与ADAMS之间数据传递 237
9.2 UG与ADAMS之间数据交换 238
9.2.1 UG与ADAMS共同支持的数据格式 238
9.2.2 实例:UG与ADAMS双向数据交换 238
9.3 本章小结 245
第10章 ADAMS参数化建模及优化设计 246
10.1 ADAMS参数化建模简介 246
10.2 实例一:参数化建模应用 247
10.2.1 双摆臂独立前悬架拓扑结构 247
10.2.2 系统环境设置 247
10.2.3 双摆臂独立前悬架参数化建模 248
10.3 实例二:前悬架机构优化设计分析 254
10.3.1 参数化分析的准备 254
10.3.2 设计研究 257
10.3.3 试验设计 262
10.3.4 结果分析 269
10.4 本章小结 271
第11章 ADAMS振动分析 272
11.1 振动分析模块简介 272
11.2 实例一:刚性体卫星振动分析 272
11.2.1 建立模型 273
11.2.2 仿真模型 274
11.2.3 建立输入通道 275
11.2.4 建立运动学输入通道和激振器 277
11.2.5 建立输出通道 278
11.2.6 测试模型 279
11.2.7 验证模型 281
11.2.8 精化模型 284
11.2.9 优化模型 287
11.3 实例二:柔性体卫星振动分析 289
11.3.1 建立模型 289
11.3.2 仿真模型 290
11.3.3 建立输入通道 291
11.3.4 建立运动学输入通道和激振器 292
11.3.5 建立输出通道 294
11.3.6 测试模型 295
11.3.7 验证模型 296
11.3.8 精化模型 299
11.3.9 优化模型 302
11.4 实例三:火车转向架振动分析 304
11.4.1 建立模型 304
11.4.2 仿真模型 305
11.4.3 定义设计变量 305
11.4.4 建立输入通道 306
11.4.5 建立输出通道 307
11.4.6 测试模型 307
11.4.7 后处理 308
11.5 本章小结 311
第12章 耐久性分析 312
12.1 耐久性简介 312
12.2 实例一:气缸-曲轴系统耐久性分析 312
12.2.1 导入并熟悉模型 313
12.2.2 约束 313
12.2.3 驱动 313
12.2.4 加载耐久性模块 314
12.2.5 仿真 314
12.2.6 后处理 315
12.3 实例二:斜面拉伸耐久性分析 320
12.3.1 导入并熟悉模型 320
12.3.2 倾斜 321
12.3.3 建立约束 321
12.3.4 创建载荷 322
12.3.5 加载耐久性模块 322
12.3.6 仿真 323
12.3.7 后处理 323
12.4 实例三:悬臂梁耐久性分析 326
12.4.1 创建模型 326
12.4.2 查看模型信息 326
12.4.3 施加约束 329
12.4.4 施加载荷 329
12.4.5 加载耐久性模块 330
12.4.6 仿真 330
12.4.7 重新单向力定义函数 331
12.4.8 重新仿真 331
12.4.9 后处理 332
12.5 本章小结 338
第13章 ADAMS二次开发 339
13.1 定制用户界面 339
13.1.1 定制菜单 341
13.1.2 定制对话框 346
13.2 宏命令的使用 350
13.2.1 创建宏命令 350
13.2.2 在宏命令中使用参数 352
13.3 循环命令和条件命令 356
13.3.1 循环命令 356
13.3.2 条件命令 357
13.4 本章小结 359
第14章 ADAMS模型语言及仿真控制语言 360
14.1 ADAMS的主要文件介绍 360
14.2 ADAMS/Solver模型语言 361
14.2.1 ADAMS/Solver模型语言分类及其语法介绍 361
14.2.2 模型文件的开头与结尾 363
14.2.3 惯性单元 364
14.2.4 几何单元 365
14.2.5 约束单元 367
14.2.6 力元 369
14.2.7 系统模型单元 372
14.2.8 轮胎单元 373
14.2.9 数据单元 375
14.2.10 分析参数单元 377
14.2.11 输出单元 378
14.3 ADAMS/Solver命令及仿真控制文件 380
14.3.1 ADAMS/Solver命令结构及分类 380
14.3.2 创建ADAMS/Solver仿真控制文件 387
14.4 本章小结 389
第15章 ADAMS用户子程序 390
15.1 ADAMS用户子程序简介 390
15.1.1 用户子程序的种类 390
15.1.2 子程序的使用 392
15.2 常用ADAMS用户子程序简介 394
15.2.1 使用GFOSUB用户子程序实例 394
15.2.2 常用用户定义子程序及实例 396
15.3 功能子程序 403
15.3.1 功能子程序概述 403
15.3.2 功能子程序SYSARY和SYSFNC 405
15.4 本章小结 408
第16章 车辆仿真与设计 409
16.1 创建悬吊系统 409
16.1.1 创建悬吊和转向系统 410
16.1.2 定义车辆参数 410
16.1.3 后处理 411
16.1.4 推力分析 412
16.1.5 仿真结果绘图 413
16.1.6 悬吊系统与转向系统的修改 415
16.1.7 修改后的系统模型分析 416
16.1.8 分析结果 416
16.2 弹性体对悬吊和整车装配的影响 417
16.2.1 创建悬吊装配 417
16.2.2 创建弹性体 418
16.3 包含弹性体的整车装配 419
16.4 本章小结 422
第17章 ADAMS/View 及ADAMS/Solver函数 423
17.1 函数类型及建立 423
17.1.1 建立表达式模式下的函数 423
17.1.2 建立运行模式下的函数 424
17.2 ADAMS/View设计函数 424
17.2.1 数学函数 424
17.2.2 位置/方向函数 425
17.2.3 建模函数 426
17.2.4 矩阵/数组函数 427
17.2.5 字符串函数 429
17.2.6 数据库函数 429
17.2.7 GUI函数组 430
17.2.8 系统函数组 430
17.3 ADAMS/View运行函数及ADAMS/Solver函数 431
17.3.1 位移函数 431
17.3.2 速度函数 432
17.3.3 加速度函数 432
17.3.4 接触函数 432
17.3.5 样条差值函数 432
17.3.6 约束力函数 433
17.3.7 合力函数 433
17.3.8 数学函数 433
17.3.9 数据单元 434
17.4 函数应用实例 434
17.4.1 定义不同形式的驱动约束 434
17.4.2 定义和调用系统状态变量 436
17.4.3 度量或请求的定义和调用 437
17.5 本章小结 437
附录 ADAMS的使用技巧 438
参考文献 444