Adams应用教程第10章ADAMS参数化建模及优化设计.docx
《Adams应用教程第10章ADAMS参数化建模及优化设计.docx》由会员分享,可在线阅读,更多相关《Adams应用教程第10章ADAMS参数化建模及优化设计.docx(49页珍藏版)》请在冰豆网上搜索。
Adams应用教程第10章ADAMS参数化建模及优化设计
【Adams应用教程】第10章ADAMS参数化建模及优化设计
第10章ADAMS参数化建模及优化设计
本章将通过一个具体的工程实例,介绍ADAMS/View的参数化建模以及ADAMS/View提供的3种类型的参数化分析方法:
设计研究(Designstudy)、试验设计(DesignofExperiments,DOE)和优化分析(Optimization)。
其中DOE是通过ADAMS/Insight来完成,设计研究和优化分析在ADAMS/View中完成。
通过本章学习,可以初步了解ADAMS参数化建模和优化的功能。
10.1ADAMS参数化建模简介
ADAMS提供了强大的参数化建模功能。
在建立模型时,根据分析需要,确定相关的关键变量,并将这些关键变量设置为可以改变的设计变量。
在分析时,只需要改变这些设计变量值的大小,虚拟样机模型自动得到更新。
如果,需要仿真根据事先确定好的参数进行,可以由程序预先设置好一系列可变的参数,ADAMS自动进行系列仿真,以便于观察不同参数值下样机性能的变化。
进行参数化建模时,确定好影响样机性能的关键输入值后,ADAMS/View提供了4种参数化的方法:
(1)参数化点坐标在建模过程中,点坐标用于几何形体、约束点位置和驱动的位置。
点坐标参数化时,修改点坐标值,与参数化点相关联的对象都得以自动修改。
(2)使用设计变量通过使用设计变量,可以方便的修改模型中的已被设置为设计变量的对象。
例如,我们可以将连杆的长度或弹簧的刚度设置为设计变量。
当设计变量的参数值发生改变时,与设计变量相关联的对象的属性也得到更新。
(3)参数化运动方式通过参数化运动方式,可以方便的指定模型的运动方式和轨迹。
(4)使用参数表达式使用参数表达式是模型参数化的最基本的一种参数化途径。
当以上三种方法不能表达对象间的复杂关系时,可以通过参数表达式来进行参数化。
参数化的模型可以使用户方便的修改模型而不用考虑模型内部之间的关联变动,而且可以达到对模型优化的目的。
参数化机制是ADAMS中重要的机制。
10.2ADAMS参数化分析简介
参数化分析有利于了解各设计变量对样机性能的影响。
在参数化分析过程中,根据参数化建模时建立的设计变量,采用不同的参数值,进行一系列的仿真。
然后根据返回的分析结果进行参数化分析,得出一个或多个参数变化对样机性能的影响。
再进一步对各种参数进行优化分析,得出最优化的样机。
ADAMS/View提供的3种类型的参数化分析方法包括:
设计研究(Designstudy)、试验设计(DesignofExperiments,DOE)和优化分析(Optimization)。
在建立好参数化模型后,当取不同的设计变量,或者当设计变量值的大小发生改变时,仿真过程中,样机的性能将会发生变化。
而样机的性能怎样变化,这是设计研究主要考虑的内容。
在设计研究过程中,设计变量按照一定的规则在一定的范围内进行取值。
根据设计变量值的不同,进行一系列仿真分析。
在完成设计研究后,输出各次仿真分析的结果。
通过各次分析结果的研究,用户可以得到以下内容:
(1)设计变量的变化对样机性能的影响。
(2)设计变量的最佳取值。
(3)设计变量的灵敏度,即样机有关性能对设计变量值的变化的敏感程度。
Experiments)
试验设计(DesignofExperiments,DOE)考虑在多个设计变量同时发生变化时,各设计变量对样机性能的影响。
试验设计包括设计矩阵的建立和试验结果的统计分析等。
最初,所设计的试验设计(DOE)用在物理实验上面,但对于虚拟试验的效果也很好。
传统上的DOE是费时费力的。
使用ADAMS的DOE可以增加获得结果的可信度,并且在得到结果的速度上比试错法试验或者一次测试一个因子的试验更快,同时更能有助于用户更好地理解和优化机械系统地性能。
对于简单的设计问题,可以将经验知识,试错法或者施加强力的方法混合使用来探究和优化机械系统的性能。
但当设计方案增加时,这些方法也就不能得出快速地、系统化公式化的答案。
一次改变一个因素(也称设计参数,Factors)不能给出因素之间相互影响的信息,而进行多次仿真同时测试多个不同的因素会得到大量的输出数据让用户评估。
为了减少耗时的工作,ADAMS/Insight提供一个定制计划和分析工具来进行一系列的试验,并且ADAMS/Insight帮助确定相关的数据进行分析,并自动完成整个试验设计过程。
总的说来,ADAMS中的DOE是安排试验和分析试验结果的一整套步骤和统计工具,试验的目的就是测量出虚拟样机模型的性能,制造过程的产量,或者成品的质量。
DOE一般有以下五个基本步骤:
(1)确定试验目的。
例如,想确定那个变量对系统影响最大。
(2)为系统选择你想考察的因素集,并设计某种方法来测量系统的响应。
(3)确定每个因素的值,在试验中将因素改变来考察对试验的影响。
(4)进行试验,并将每次运行的系统性能记录下来。
(5)分析在总的性能改变时,哪些因素对系统的影响最大。
对设计试验的过程的设置称为建立矩阵试验(设计矩阵)。
设计矩阵的列表示因素,行表示每次运行,矩阵中每个元素表示对应因素的水平级(即可能取值因子,Levels),是离散的值。
设计矩阵给每个因素指定每次运行时的水平级数,只有根据水平级才能确定因素在运算时的具体值。
创建设计矩阵通常有五种方法,这五种的目的和特点各有所区别:
●PerimeterStudy:
测试分析模型的健壮性。
●DOEScreening(2-level):
确定影响系统行为的某因素和某些因素的组合;确定每个因素对输出会产生多大的影响。
●DOEResponseSurface(RSM):
对试验结果进行多项式拟合。
●SweepStudy:
在一定范围内改变各自的输入。
●MonteCarlo:
确定实际的变化对设计功能上的影响。
创建好设计矩阵后,用户需要确定试验设计的类型。
在ADAMS/Insight中有六种内置设计类型来创建设计矩阵,也可以导入自己创建的设计矩阵。
可以自由选择设计矩阵,为系统创建最有效率的试验。
当使用内置的设计类型时,ADAMS/Insight根据选择的设计类型生成相应的设计矩阵。
这六种设计类型是FullFactorial、Plackett-Burman、FractionalFactorial、Box-BehnkenCentral、CompositeFaced(CCF)、D-Optimal。
(1)FullFactorial是所有设计类型中综合程度最高的,使用到了因素水平的所有可能的组合。
(2)Plackett-Burman设计类型适用于在大量的因素中筛选最有影响的因素。
该设计所需要的传统设计类型运行的次数最少,但不允许用户估计这些因素之间的相互的影响。
(3)FractionalFractorial和Plakett-Burman使用的是FullFactorial专门的子集,因而也被看作减化的Factorial。
它普遍用于筛选重要变量并主要用于两水平的因素,能够估计其对系统的影响。
(4)Box-Behnken设计类型使用设计空间中平面上的点。
这样该设计就适用于模型类型为二次的RSM试验。
Box-Behnken对每个因素需要三个水平。
(5)CCF(CenterCompositeFaced)设计类型使用的是每个数据轴上的点(开始点),以及设计空间的角点(顶点),和一个以上的中心点。
CCF比Box-Behnken相比较运行的次数更多。
CCF适用于二次RSM试验的模型类型。
(6)D-Optimal设计类型产生的是将系数不确定性降到最低的模型。
这种设计类型由根据最小化规则从大量候选因素中随机抽取的行所组成。
D-Optimal指明了在试验中运行的总次数,将以前试验中已存在的行提供给新的试验,并对每个因素指定不同的水平。
这些特性使得D-Optimal在很多情况,特别是在试验费用惊人的情况下,成为最佳选择,。
优化是指在系统变量满足约束条件下使目标函数取最大值或者最小值。
目标函数是用数学方程来表示模型的质量、效率、成本、稳定性等。
使用精确数学模型的时候,最优的函数值对应着最佳的设计。
目标函数中的设计变量对需要解决的问题来说应该是未知量,并且设计变量的改变将会引起目标函数的变化。
在优化分析过程中,可以设定设计变量的变化范围,施加一定的限制以保证最优化设计处于合理的取值范围。
另外对于优化来说,还有一个重要的概念是约束。
有了约束才使目标函数的解为有限个,有了约束才能排除不满足条件的设计方案。
通常,优化分析问题可以归结为:
在满足各种设计条件和在指定的变量变化范围内,通过自动地选择设计变量,由分析程序求取目标函数的最大值或最小值。
虽然Insight也有优化的功能,但两者还是有区别,并且互相补充。
试验设计主要研究哪些因素的影响比较大,并且还调查这些因素之间的关系;而优化分析着重于获得最佳目标值。
试验设计可以对多个因素进行试验分析,确定哪个因素或者哪些因素的影响较大,然后,可以利用优化分析的功能对这些影响较大的因素进行优化,这样可以达到有效提供优化分析算法的运算速度和可靠性。
10.3参数化建模应用实例
由于多体动力学仿真系统是复杂的系统,仿真模型中各个部件之间存在着复杂的关系,因此在仿真建模的时候需要提供一个良好的创建模型、修改模型机制,在对某个模型数据进行改变时,与之相关联的数据也随之改动,并最终达到优化模型的目的。
ADAMS为多体动力学仿真建模提供了这样一个机制――参数化建模机制,它为用户设计、优化模型提供极大的方便。
在10.1节中,对参数化建模做了简要的介绍,本节将主要以双摆臂独立前悬架运动学模型为例,着重介绍参数化点坐标的方式参数化建模。
双摆臂独立前悬架系统主要部件有上摆臂(UCA,UpperControlArm)、下摆臂(LCA,LowerControlArm)、转向节(Knuckle)、横向拉杆(TieRod)、测试台(TestPlane)、地面(Ground,由于车身固定在地面上,因此车身和地面为一体),它们之间由铰链联接,并提供给其一个位移驱动,使其能绕轴上下转动。
其联接关系图如下:
图10.-1模型拓扑结构
(1)设置工作平面。
这里设置XOZ为工作平面。
设置方式如下,进入菜单settings、workinggrid…,见图10-2。
在弹出对话框中选择GloabXZ(图10-3)在主工具箱,点击视图设置(图10-4)。
图10-2图10-3
图10-4图10-5
(2)单位设置。
点击菜单命令Settings->Units…,选择MMKS。
(3)消息窗口设置。
点击菜单命令View->MessageWindow,在弹出对话框中点击左下角按钮Setting,弹出图10-5所示对话框,选择Error。
采用参数化点的方式来建模时,参数化点主要提供多体系统模型中各个对象(部件、约束、标架、力、力元等)的位置坐标,修改对象通过修改这些参数化点来完成。
因此在参数化点方式参数化建模时,参数化点是最基本的要素。
参数化点方式建模的步骤大致为:
确立参数化点->创建参数化点->创建模型部件->创建联接关系->创建驱动、力或者力元。
(1)确定参数化点
对于本节双摆臂独立前悬架系统,参数化点的确立主要考虑两个方面:
1.能为模型对象位置和方向定位;
2.根据点能创建模型可视化几何实体。
根据以上两原则,由模型的拓扑结构可得到下参数化表:
表10-1模型的参数化表
序号
名称
坐标值(X,Y,Z)
说明
1
lca_r_center
307.0,1560.0,383.0
下摆臂后端与车体铰链联接点
2
lca_f_center
307.0,1285.0,388.0
下摆臂前端与车体铰链联接点
3
lca_knuckle
686.0,1414.0,364.0
转向节与下摆臂铰链联接点
4
uca_r_center
384.0,1564.0,650.0
上摆臂后端与车体铰链联接点
5
uca_f_center
384.0,1330.0,708.0
上摆臂前端与车体铰链联接点
6
uca_knuckle
593.0,1448.0,686.0
转向节与上摆臂铰链联接点
7
tierod_middle
377.0,1311.0,471.0
左横向拉杆与车体铰链联接点
8
tierod_knuckle
703.0,1305.0,459.0
转向节与横向拉杆铰链联接点
9
hookref
390.0,1311.0,471.0
定位万向节(车体上)Z方向点
10
knuckle_center
686.0,1442.0,507.0
转向节中心点
11
wheel_center
743.0,1442.0,507.0
轮中心点
12
wheel_outer
813.0,1442.0,507.0
定义轮几何实体辅助点
13
wheel_inner
673.0,1442.0,507.0
定义轮几何实体辅助点
14
test_plane
743.0,1442.0,207.0
测试台与转向节铰链联接点
(2)创建参数化点
创建参数化点在ADAMS/View中有两种方式,一种是通过主工具箱中快捷图标
创建,另外一种方式是通过“Tool”菜单中的”CommandNavigator…”来创建。
见图10-6
通过快捷图标创建通过菜单命令创建
图10-6创建参数化点
在本节示例中,我们采用后一种方式创建,即菜单命令。
随后出现CommandNavigator对话框,找到其中的point,点击前面“+”号展开,在展开后的列表中双击create,见图10-7,这时系统弹出创建点对话框(图10.3-8)。
图10-7创建点命令图10-8创建点对话框
图10-8“307.0,1560.0,383.0”;最后一个编辑框是选择参考标架,如果选择有参考标架,则说明该点的坐标是在参考标架里的坐标,如果不填则视为全局标架下的坐标。
点击Ok,并重复上述步骤创建剩下的点,或者点击Apply,直接改动名字,输入坐标。
创建完成后,界面上会出现
图标,这表示创建出的点。
注意:
如果看不到图标,可以点击主工具箱中的按钮“Icon”,或者按“Ctrl+v”。
(3)创建模型部件
1.创建空部件
在ADAMS中必须先有部件才能为其创建可视化几何实体。
因此我们先创建一个空部件,即没有任何属性的部件。
先创建上摆臂。
进入“CommandNavigator”对话框,依次展开“part”、“create”和“rigid_body”,双击“name_and_position”,见图10“OK”,图10-10。
一个名为uca的部件被创建,接下来将创建uca的几何实体。
图10-9创建几何形体图10-10创建几何形体对话框
2.创建几何实体
●在“CommandNavigator”对话框中展开“geometry”,“create”,“shape”,双击“cylinder”见图10-11。
●将光标移到“CenterMarker”编辑框中,右击鼠标选择“Marker”,在出现的子菜单中点击“Create”,弹出创建Marker的对话框,使用缺省名字。
见图10-11。
●将光标移到”Location“编辑框中,右击鼠标,选择“PickLocation”,然后用鼠标在图形区中选择点“uca_knuckle”,在对话框的下拉菜单中选择“AlongAxisorientation”,选择点“uca_f_center”,见图10-12。
表示创建的Marker“Z”轴方向为点“uca_knuckle”指向点“uca_f_center”方向,这指定了所创建圆柱体的轴线方向。
点击“OK”。
图10-13为选择好参数的对话框。
注意:
Marker是ADAMS中是重要的对象,ADAMS中的几何实体,约束、力、力元都由Marker定义。
我们将根据已创建成功的参数化点来创建Marker,这样当我们修改参数化点的时候,与之关联的Marker也随之改动。
图10-11创建中心标架
图10-12图10-13
●回到创建圆柱体的对话框,在长度对话框栏右击鼠标,选择“Parameterize”->“Expressionbuild”,在弹出对话框中的下拉菜单选择“ModelingFunction”,在下面列表中选择“DM”,用来计算两点之间距离。
点击按钮“Assist...”,弹出对话框,在object1编辑框中输入第一个点“uca_knuckle”,在object2编辑框中输入“uca_f_center”见图10-14,10-15。
图10-14求两点距离函数图10-15输入两点
●关闭对话框后回到创建几何实体对话框,在“Radius”编辑栏中输入15,点击“OK”,则几何体创建成功。
然后根据点“uca_knuckle”和“uca_f_center”创建uca部件的另外一个几何实体。
3.创建其他部件
通过上述方式分别为余下部件创建几何实体
表2模型部件列表
部件
CenterMarker
长度(L)
半径
Location
AlongAxis…
DM(object1,object2)
15
LCA
Cylinder1
lca_knuckle
lca_f_center
lca_knuckle,lca_f_center
15
Cylinder2
lca_knuckle
lca_r_center
lca_knuckle,lca_r_center
15
tierod
Cylinder1
tierod_knuckle
tierod_middle
tierod_knuckle,tierod_middle
15
test_plane
Cylinder1
testplane
wheel_center
20
120
Knuckle
Cylinder1
knuckle_center
uca_knuckle
knuckle_center,uca_knuckle
15
Cylinder2
knuckle_center
lca_knuckle
knuckle_center,lca_knuckle
15
Cylinder3
knuckle_center
tierod_knuckle
knuckle_center,tierod_knuckle
15
Cylinder4
knuckle_center
uca_knuckle
knuckle_center,uca_knuckle
15
Wheel
Cylinder1
wheel_center
wheel_inner
70
300
Cylinder2
wheel_center
wheel_outer
70
300
Location
AlongAxis…
长度
顶端半径
底端半径
Frustum1
wheel_outer
wheel_center
-30
270
300
Frustum2
wheel_inner
wheel_center
-30
270
300
注意:
1.在此模型中,我们规定轮与转向节之间没有转动,两者属于同一部件;
2.在创建每个几何实体前必须先创建一个空部件。
最终形成图10-16所示的仿真模型。
图10-16模型生成图
(4)创建约束
1.进入“CommandNavigator”对话框,展开“constraint”、“joint”,双击“spherical”。
2.在弹出对话框的I、JpartName编辑框中分别输入uca和knuckle,在“location”编辑框中选择点uca_knuckle见图10-17所示,点击“ok”完成创建。
图10-17创建约束对话框
3.在横向拉杆(tierod)和车体(ground)之间由万向节联接,由于创建万向节比其他约束困难,这里将其创建过程描述如下:
●进入“CommandNavigator”对话框,展开“constraint”、“joint”,双击“hook”。
弹出创建对话框(图10-18),在下拉菜单中选择“PositionByUsingMarkers”,通过Marker来为铰定向。
图10-18选择I、J标架
●IMarkerName编辑框中右击选择“Marker”、“Create”,弹出创建Marker对话框,这里先创建属于地面的IMarker,它的Z轴为水平方向.将名字改为“”,在“Location”中选择点tierod_middle,下拉菜单中选择“AlongAxisOrientation”,选择点hookref。
点击“OK”。
见图10-19。
图10-19创建I标架对话框
●建横向拉杆上的JMarker,其Z轴为横向拉杆的轴线方向。
在创建Marker对话框中改名字为“”,在Location编辑框中选择点tierod_middle,在下拉菜单中选择“AlongAxisOrientation”,选择点tierod_middle,点击“OK”。
见图10-20
图10-20创建J标架对话框
●铰创建对话框,点击“OK”,则完成创建万向节。
4.按照上述方法,创建下表中的约束。
表10-3约束列表
铰类型
IPart
JPart
Location
AlongAxisOrientation
球铰
lca
knuckle
球铰
tierod
knuckle
旋转铰
lca
ground
lca_f_center
lca_r_center
旋转铰
uca
ground
uca_f_center
uca_r_center
平移副
test_plane
ground
test_plane
wheel_center
inplane
test_plane
knuckle
test_plane
(5)创建驱动
1.进入“CommandNavigator”对话框,依次展开“constraint”、“create”、“joint”,双击“motion_generator”,弹出图10-21对话框。
2.可以在“Motionname”改变motion的名字。
在函数类型下拉菜单中选择“Function”,在编辑框中输入“-100*time+100”。
在接下来的两个下拉菜单中分别选择“displacement”和“MotionOnJoint”。
3.在JointName中选择测试台上的平移铰,在自由度类型下拉菜单中选择“translational”。
4.点击“OK”。
注意:
驱动有平移和旋转两种,有点驱动(加在Marker上)和铰驱动(加在铰上),通过在此加一个平移类型的铰驱动,相当于给测试平台加上一个上下移动的激励。
图10-21创建驱动对话框
10.4优化设计实例分析
本节通过对双摆臂独立前悬架的参数化模型来具体说明设计研究、试验设计和优化设计这三种参数