ADAMS高级应用文档格式.docx

上传人:b****3 文档编号:6669198 上传时间:2023-05-07 格式:DOCX 页数:36 大小:1,006.93KB
下载 相关 举报
ADAMS高级应用文档格式.docx_第1页
第1页 / 共36页
ADAMS高级应用文档格式.docx_第2页
第2页 / 共36页
ADAMS高级应用文档格式.docx_第3页
第3页 / 共36页
ADAMS高级应用文档格式.docx_第4页
第4页 / 共36页
ADAMS高级应用文档格式.docx_第5页
第5页 / 共36页
ADAMS高级应用文档格式.docx_第6页
第6页 / 共36页
ADAMS高级应用文档格式.docx_第7页
第7页 / 共36页
ADAMS高级应用文档格式.docx_第8页
第8页 / 共36页
ADAMS高级应用文档格式.docx_第9页
第9页 / 共36页
ADAMS高级应用文档格式.docx_第10页
第10页 / 共36页
ADAMS高级应用文档格式.docx_第11页
第11页 / 共36页
ADAMS高级应用文档格式.docx_第12页
第12页 / 共36页
ADAMS高级应用文档格式.docx_第13页
第13页 / 共36页
ADAMS高级应用文档格式.docx_第14页
第14页 / 共36页
ADAMS高级应用文档格式.docx_第15页
第15页 / 共36页
ADAMS高级应用文档格式.docx_第16页
第16页 / 共36页
ADAMS高级应用文档格式.docx_第17页
第17页 / 共36页
ADAMS高级应用文档格式.docx_第18页
第18页 / 共36页
ADAMS高级应用文档格式.docx_第19页
第19页 / 共36页
ADAMS高级应用文档格式.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ADAMS高级应用文档格式.docx

《ADAMS高级应用文档格式.docx》由会员分享,可在线阅读,更多相关《ADAMS高级应用文档格式.docx(36页珍藏版)》请在冰点文库上搜索。

ADAMS高级应用文档格式.docx

1.2.2导入ADAMS的两种方式

介绍一下如何把UG模型导入ADAMS,这里有几种方法:

第一种,在UG里导出PARASOLID格式,(因为ADAMS核心即是PARASOLID)EXPORT-PARASOLID,选V12~17版,注意存的时候存成*.XMT_TXT.在ADAMS中导入即可了。

第二种,

(1)在UG-MOTION里,file-export-adams,对话框中,输入文件名,GEOMETORYFORMATE选PAROSOLIDE,OK,输出目录里就有两个文件,一个是*.ANL,一个是*.XMT_TXT,把ANL那个文件改名成*.ADM;

(2)然后在ADAMS里把两个文件分两次导入就行了,注意放到同一个MODEL里

1.2.3UG导入adams后的坐标系问题

1.3参数设置

1.3.1力或力矩的加载

添加运动副后,一般还存在几个自由度。

这个时候,剩余自由可以通过添加驱动约束来进行。

如果添加的是运动Motion,则就是运动学分析,如果添加的是力或者是力矩就是动力学分析。

1.3.2力矩加载

电机力矩加载位置

应加载到质心处?

对于刚性体来说,加到什么位置并没有太多区别;

而对于柔性体来说,有一定的区别,需要认真考虑;

1.4确定ADAMS的输入和输出

1.4.1新建状态变量并设置

状态变量(StateVariable)可以理解为是一个Buffer(缓冲器),它用来向MATLAB传送、接受信息。

当为对象量如:

力矩(Torque)、力(Force)等,可以先新建一个状态变量VARIABLE_X,然后将其赋值给对象量Torque=VARVAL(VARIABLE_X)。

一般通过Adams的函数进行赋值,如VARVAL、VZ等。

(20.0d*time,一般motion所默认值)。

如果,状态变量为模型中没有的量,则需要在新建的时候,同时创建。

如下图所示。

利用FunctionBuilder进行任意的编辑,即可得到所需状态变量。

MOTIONMACHINE.MOTION_XAxishasbeendeclaredtodependontheVARVALfunction.MotionsshouldonlybefunctionsofTIME.

如何删除状态变量

1.4.2设置输入输出变量

在ADAMS/Control中定义输出、输入变量Plantinput、PlantOutput,并将以上状态变量赋值给输入、输出变量,从而通过ADAMS/Control模块同其他控制程序相连接。

建立它们后,就可以在Control/PlantExport中找到它们。

1.4.3导出模块

设置完成后,ADAMS/Control将输入、输出信息保存到.m文件中,同时产生一个ADAMS/View命令文件(.cmd)和一个ADAMS/Solve命令文件(.adm),供联合仿真分析使用。

1.5静力学、运动学的验证

1.5.1运动学分析

一般在模型构建完成之后,即几何模型以及运动副添加之后,应在每个自由度处添加一个Motion,从而进行运动学的验证。

1.5.2静力学的验证

静力学分析能保证一个机构可以承受一定的稳定载荷。

将所有的力矩设置为零,从而进行静力学的验证。

1.6模态分析Vibration

固定自由度

首先,将所有的自由度进行固定。

主要是电机的自由度的固定。

模态的阶数

对于刚体而言,有多少个自由度,就有多少阶模态。

问题

固定与合并的区别

固定后模态分析的时候,还是会振动。

受迫振动

清除所有与Vibration有关的内容

参见帮助文件:

MacroforRemovingVibrationObjects

1.7MATLAB调用

将以上生成的.m文件拖入到MatlAB中,就会显示:

%%%INFO:

ADAMSplantactuatorsnames:

1VARIABLE_TorqueIn

ADAMSplantsensorsnames:

1VARIABLE_PositionOut

但不建议采用以上方法。

采用修改路径来打开:

1.7.1创建模块图

然后,在MATLAB命令空间中输入:

adams_sys,则可以将以上的ADAMS模块导入,并显示。

S-Function:

代表非线性Adams模型;

Adams_sub:

包含了S-Function,而且产生了几个有用的MATLAB变量,如下图所示;

(当模型为线性的,则State-Space将替代S-Function)

State-Space:

代表了一个线性化的Adams模型;

Adams_sub模块的结构图

我们根据需求从三个中选取Adams_sub模块,组建方框图。

(即:

新建一个空白文件,将Adams_sub模块拖入,然后添加其他控制模块即可)

如果出现不能保存仿真文件时,可以采用新建或者另存的方式。

因为adams_sys与系统名有冲突。

1.7.2仿真参数设置

仿真前,要设置仿真参数、仿真时间、仿真分析模式、动画显示模式等。

在ADAMS_SUB框中双击红色的MechanicalDynamic模块,即弹出MechanicalDynamics模块参数设置对话框

1)在仿真分析模式(Simulationmode)栏,选择discrete参数。

仿真分析模式定义了ADAMS程序求解机械系统方程的方式,以及控制程序求解控制方程的方式。

2)在动画显示(Animationmode)栏,选择interactive参数。

动画显示决定了ADAMS/VIEW中动态显示跟踪仿真结果的方式。

3)在初始化方式(Initializationmode)栏,选择automatic。

另外再设置仿真时间等

仿真方法参数

离散方式分别定义ADAMS程序的机械系统求解方程,以及控制程序的控制系统求解方程。

而连续方式定义控制程序中的机械系统求解方程和控制系统求解方程。

对于大多数联合仿真分析,离散方式通常是比较有效的联合仿真方式。

同连续方式相比,离散方式分析速度快,并且能够适应于非常复杂的样机模型。

但如果控制系统的分析结果会对ADAMS的机械系统产生很多的耦合影响的时候,应该采用连续方式进行联合仿真。

例如,当样机必须采用非常小的步长进行联合仿真时,采用连续方式可能更合适。

为了能够维持正常的机械系统动力学仿真分析,在离散分析方式下,对机械系统的采样频率应该5倍于机械系统有影响的最高频率。

如步长不能达到机械系统最高设计频率的5倍,应该改用连续方式进行联合仿真分析。

可以利用ADAMS/Linear模块确定机械系统最高设计频率。

1.7.3仿真分析

这些设置完之后就可以点击start,开始进行机电系统联合仿真分析。

程序将显示一个新的ADAMS/View窗口,显示仿真分析结果。

同时,还显示一个窗口,用以显示联合仿真分析过程中的各种数据。

如下图所示:

利用ADAMS/Controls程序的交互式对话功能,可以调用后处理模块ADAMS/PostProcessor,可以更仔细的观察和监控ADAMS/View中的样机图形,在这个模块中还可以绘制出仿真分析结果曲线,以便能够全面地了解当前的仿真结果

1.8常见问题

仿真参数的设置

步长过大可能导致以下问题。

可采用增大step,减小endtime。

Thecorrectorhasnotconvergedafter6attempts.No.ofiterations=10.

网上查询:

有人认为是计算中雅可比矩阵出现奇异,无法迭代!

解决方法考虑为:

更换积分方法;

变换积分步长;

设置出错误差;

也可能是模型中存在问题,在五联动机床的实例中,曾出现缺少一个铰接副,导致以上问题。

勤保存

每步进行保存。

第2章柔性连接的添加

2.1Bushing——轴套力[1]

可以用于固定、移动结合部的连接。

其中移动结合部的连接可以通过将某一个方向的刚度设为0即可。

2.2Contact——接触[1]

第3章仿真控制及数据的采集

3.1Adams仿真控制设置——精度问题

在装配、静态分析、运动分析、动力学分析中,均使用到插值方法求解方程,在插值求解的过程中,需要制定允许的误差。

误差过大会导致仿真分析失败或出现错误的仿真结果。

但另一方面,过高的精度会导致仿真分析的时间和成本大大增加。

Adams/view设置了默认的插值误差,如下所示:

表仿真求解精度设置

分析类型

默认精度

说明

动力学分析

(Dynamic)

10-3

控制位移误差,进一步的设置可以使用用户设置功能

运动分析

(Kinematics)

10-4

控制位移误差

静力分析

(Equilibrium)

控制位移误差,平衡力等其他参数的设置可以使用用户设置功能

装配分析

(Assemble)

10-10

装配操作过程的位置误差

上表中的默认精度对应的就是SolverSetting中的Error中的误差精度,如下图所示:

3.1.1仿真控制设置的主要方式,有如下两个方面:

注:

点击上图中的Simulationsetting也可以进入下图。

3.1.2仿真求解设置

SolverSettings–Dynamic

动力学分析的控制参数设置

(1)Integrator积分方法

在动力学分析中,需要使用数值分析法进行求解微分方程和代数方程。

ADAMS/Solver提供了四种积分方法。

3种为刚性:

Gear法(GSTIFF)、改进Gear法(WSTIFF)和DASSL法(DSTIFF),1种为柔性积分法ABAM法。

刚性数字积分法使用隐含的向后差分方法求解微分和代数方程,而柔性数字积分法先采用坐标分隔方法从微分和代数方程获得普通微分方程,然后用显式求解微分方程。

(2)积分步长控制

HMin表示为满足精度可以采用的最小步长,默认为最大步长的10-6倍;

Hmax允许积分过程中采用的最大步长,默认为指定的输出步

Hinit开始分析的第一步积分步长。

默认问哦最大步长的0.05倍;

(3)积分阶数IntegratorOrder——Kmax

选择积分使用的最大多项式阶数;

积分器控制积分的阶数和步长大小进而控制了每一步的当时的积分误差在制定的精度误差范围之内。

(4)迭代次数Iteratornumber——Maxit

设置最大的迭代次数,如果迭代运算达到设置的最大迭代次数仍没有达到精度,则程序停止分析。

一般,maxit的值不要大于10。

因为迭代次数增加会增加误差。

3.1.3仿真求解的建议

优先采用默认设置,不要随便改动;

动力学仿真失败后,求解参数调整的先后次序是:

位移精度、迭代次数、JacobianEvaluation;

对一个新建的样机进行动力学分析时,一般要进行两次分析。

首先使用默认的迭代精度,然后提高一个数量级的迭代精度,如果结果有较大差别,则应该将迭代精度提高一个数量级后再次进行分析。

直至两次结果基本相同。

3.2仿真

仿真类型:

Default、动力学分析(Dynamic)、运动学分析(Kinematic)、静态分析(Static)。

Endtime

Steps代表设置的总的步数;

StepsSize代表生成数据之间的时间长度;

3.3数据采集及实时显示

PartMeasure数据采集

在Part处右键,Measure即可。

而且可以在仿真时实时显示

XXMeasure数据采集

Bulid/Measure/……

3.4模态分析Vibration

首先,将自由的自由度进行固定。

而像弹簧、阻尼之类的限制的自由度可以保留或者说必须保留,因为完全限制自由度后,就不能进行模态分析。

因为是刚体,如果没有自由度就不可能振动;

因为只有是柔性体或者是某个自由度是弹簧、阻尼之类限制时,才可以有模态。

第4章参数化建模与优化设计

4.1函数

4.1.1函数种类

ADAMS的函数种类比较多:

     

 

1、DisplacementFunctions

    2、VelocityFunctions

     3、AccelerationFunctions

     4、ContactFunctions

     5、SplineFunctions

     6、ForceinObjectFunctions

     7、ResultantForceFunctions

     8、MathFunctions

     9、DataElementAccess

     10、User-WrittenSubroutineInvocation

     11、Constants&

Variables

4.1.2常用

Constants&

Variables函数

Time

PI

STEP函数

格式:

STEP(x,x0,h0,x1,h1)

参数说明:

x ―自变量,可以是时间或时间的任一函数

x0―自变量的STEP函数开始值,可以是常数或函数表达式或设计变量;

x1―自变量的STEP函数结束值,可以是常数、函数表达式或设计变量

h0―STEP函数的初始值,可以是常数、设计变量或其它函数表达式

h1―STEP函数的最终值,可以是常数、设计变量或其它函数表达式

STEP(time,5,0,10,20)

图中曲线为Step函数、折线为If函数

实例说明 

1、分段函数的表示

在ADMA中如何输入力或位移、速度、加速度等的分段曲线,这一直是一个值得注意的问题。

下面用一个小例子进行简单说明:

(这个例子实际上就是常见的加速-匀速-减速问题)

1)要输入的速度函数为:

        10*t 

(0<

t<

0.1)

V= 

 1 

(0.1<

0.4)

-10*t+5 

(0.4<

0.5)

2) 

在ADMAS中的表示:

velo(time)=if(time-0.1:

step(time,0,0,0.1,1),1,step(time,0.4,1,0.5,0))

2、方形波函数的输入

1) 

有时需要输入下方波形式的力或力矩,如果单纯地采用STEP函数迭加是不能实现的

在ADAMS中输入的函数形式为:

step(sin(2*pi*time),-0.01,-1,0.01,1)

注意点:

(1)当方波的频率改变时,可以通过改变下式中的FREQ得以实现

sin(2*pi*FREQ*time)

(2)改变方波的上下限的方法:

step(sin(2*pi*time),-0.01,LOWER,0.01,UPPER)

(3)例如:

step(sin(2*pi*3.0*time),-0.01,0,0.01,7)中的频率为3HZ,上下限分别为0,7

IF函数

IF(表达式1:

表达式2,表达式3,表达式4)

表达式1-ADAMS的评估表达式;

表达式2-如果的Expression1值小于0,IF函数返回的Expression2值;

表达式3-如果表达式1的值等于0,IF函数返回表达式3的值;

表达式4-如果表达式1的值大于0,IF函数返回表达式4的值;

例如:

函数IF(time-2.5:

0,0.5,1)

结果:

0.0iftime<

2.5

  

0.5iftime=2.5

   1.0iftime>

由于IF函数会形成突变,一般要避免使用。

IMPACT函数

Impact函数的力学基理:

IMPACT函数值由自变量值决定其有无:

IMPACT=Off  ifs>

so

On 

ifs<

=so

IMPACT函数的数学计算公式为:

MAX{0,K(so-s)**e-Cv*STEP(s,so-d,1,so,0)}

s——位移变量

v——速度变量

so——碰撞力的激发位移值

K——刚度系数

C——阻尼系数

D ——阻尼逐渐增大的位移值

实质:

用只抗压缩的非线性的弹簧阻尼方法近似计算出单边碰撞力。

IMPACT(DisplacementVariable,VelocityVariable,TriggerforDisplacementVariable,StiffnessCoefficient,StiffnessForceExponent,DampingCoefficient,DampingRamp-upDistance)

DisplacementVariable

实时位移变量值,通过DX、DY、DZ、DM等函数实时测量。

VelocityVariable

实时速度变量值,通过VX、VY、VZ、VM等函数实时测量。

TriggerforDisplacementVariable

激发碰撞力的位移测量值。

StiffnessCoefficientorK

刚度系统。

StiffnessForceExponent

非线性弹簧力指数。

DampingCoefficientorC

阻尼系数。

DampingRamp-upDistance

当碰撞力被激发阻尼逐渐增大的位移值。

AKISPL函数

AKISPL(FirstIndependentVariable,SecondIndependentVariable,SplineName,DerivativeOrder)

FirstIndependentVariable   

—— spline中的第一个自变量

SecondIndependentVariable(可选)—— spline中的第二自变量

SplineName         

—— 数据单元spline的名称

DerivativeOrder(可选)—— 插值点的微分阶数,一般用0就可以了

function=AKISPL(DX(marker_1,marker_2,marker_2),0,spline_1)

spline_1用下表中的离散数据定义

自变量(x):

函数值(y):

-4.0 

-3.6

-3.0 

-2.5

-2.0 

-1.2

-1.0 

-0.4

0.0 

0.0

0.4

1.2

2.5

3.6

AKISPL函数的应用

有时做路径规划或输入力或力矩时

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2