ADAMS与Matlab联合仿真例子.docx
《ADAMS与Matlab联合仿真例子.docx》由会员分享,可在线阅读,更多相关《ADAMS与Matlab联合仿真例子.docx(17页珍藏版)》请在冰豆网上搜索。
![ADAMS与Matlab联合仿真例子.docx](https://file1.bdocx.com/fileroot1/2023-1/4/3525de00-5bfb-43cd-8b6c-2312c0fe60cd/3525de00-5bfb-43cd-8b6c-2312c0fe60cd1.gif)
ADAMS与Matlab联合仿真例子
7.1
ADAMS/Controls使用实例本实例以MATLAB作为外部控制程序,以偏心连杆模型为例,讲解ADAMS与MATLAB的联合仿真过程。
主要包括创建机械系统模型、模型参数设置、建立MATLAB控制模型以及结果后处理四个步骤。
机械模型建立、模型参数设置这两步为了导出一个可在MATLAB软件Simulink中使用的模块,这个模块包含了所建立ADAMS模型的信息参数,并有输入输出接口。
利用这个模块在MALTAB中建立控制系统,就可以控制ADAMS模型,在仿真结束后,可以直接在MATLAB中得到所需的数据结果进行后处理。
偏心连杆的形心与大地以铰链相连,连杆可以绕着铰链转动。
连杆右端连接有一个小球,由于小球的存在,使整个机构的质心与形心不重合,若在连杆左端没有力矩作用,连杆将做顺时针运动。
本例通过测量连杆运动的角速度、角度,对左端力矩的大小进行不断控制,最终使连杆相对平衡,即其角速度为零。
图
7-22
偏心连杆模型以将下联TLABMA详细介绍联合仿真的详细步骤。
通过本实例的学习,能够详细了解ADAMS软件与合控制的使用方法。
创建机械系统模型7.2.1
、设置单位1
】Units→Settings】【选择菜单栏选择新模型,启动ADAMS/View,在模型名输入MODEL_1。
【7-23长度和力的单位设置成毫米和牛顿,如图,命令,设置模型物理量单位,将单位设置成MMKS所示:
图7-23设置模型物理量单位
2、创建连杆
单击几何工具包中的连杆按钮,将连杆参数设置为Length=400,Width=20,Depth=20,然后在图形区水平拖动鼠标,创建一个连杆,如图7-24。
7-24创建连杆图3、创建旋转副,单Normaltogird单击运动副工具包中的旋转副按钮,将旋转副的参数设置为1Location和7-25所示。
Marker击连杆质心处的点,将连杆和大地关联起来,如图
图7-25创建旋转副
4、创建球体
单击几何工具包中的球体按钮,将球体的选项设置为AddtoPart,半径设置为20,然后在图形区单击连杆,再单击连杆右侧处的Marker点,将球体加入到连杆上,如图7-26所示。
此时连杆的质心产生了移动。
图7-26创建球体
5、创建单分量力矩
单击载荷工具包中的单分量力矩按钮,将单分量力矩的选项设置为SpaceFixed和Normalto
Grid,将Characteristic设置为Constant,勾选Torque并输入0,然后在图形区单击连杆,再单击所示。
7-27点,在连杆上创建一个单分量力矩,如图Marker连杆左侧的.
7-27创建单分量力矩图至此,偏心连杆模型已经建好。
7.2.2模型参数设置1、创建输入状态变量,弹出创建状态变量】ariable】→【NewBuild单击菜单【】→【SystemElements】→【StateV为变为文件名,Torque(输入框改成.MODEL_1.TorqueMODEL_1,将对话框。
如图7-28Name作为输入变量。
OK。
单击按钮后创建状态变量Torque量名)
Torque7-28图创建输入变量、将状态变量与模型关联3.
在图形区双击单分量力矩的图标,打开编辑对话框,如图7-28所示,在Function输入框中输入VARVAL(.MODEL_1.Torque),这里VARVAL()是一个ADAMS函数,它返回变量.MODEL_1.Torque的值。
通过函数把状态变量Torque与力矩关联起来,力矩取值将来自于状态变量Torque。
图7-28编辑单分量力矩对话框
4、指定状态变量Torque为输入变量
单击菜单【Build】→【ControlsToolkit】→【PlantInput】后,弹出定义控制输入对话框,如图7-29所示。
将PlantInputName输入框改成.MODEL_1.PINPUT_Torque,在VariableName输入框中,用鼠标右键快捷菜单输入状态变量.MODEL_1.Torque,单击OK按钮。
图7-29定义控制输入对话框
5、创建输出状态变量
单击菜单【Build】→【SystemElements】→【StateVariable】→【New】,弹出创建状态变量对话框。
如图7-30所示,将Name输入框修改成.MODEL_1.Angle,在F(time,…)=输入框中输入作为第一个输Angle按钮创建状态变量Apply,单击AZ(MARKER_3,MARKER_4)*180/PI表达式
出变量,然后将Name修改成.MODEL_1.Velocity,在F(time,…)=输入框中输入表达式WZ(MARKER_3,MARKER_4)*180/PI,如图7-31所示。
其中AZ()函数返回绕Z轴旋转的转角,这里代表连杆相对于转轴的转角,WZ()函数返回绕Z轴旋转的角速度,这里代表连杆的角速度。
Velocity
创建输出变量图7-317-30创建输出变量Angle图为输出变量、指定状态变量angle、6Velocity】后,弹出创建控制输出对话框,如PlantOutput】→【ControlsTookit】→【单击菜单【Build输。
在VariableName7-32图所示。
将PlantOutputName输入框修改成.MODEL_1.PINPUT_output,单击OK按钮。
入框中,用鼠标右键快捷菜单输入状态变量Angel和Velocity
创建控制输出对话框图7-32、导出控制参数7,在弹出的】→【PluginManager】如果还没有加载ADAMS/Controls模块,单击菜单【Tools。
按钮,之后出现一个新的菜单Controls插件管理对话框中选择ADAMS/Controls模块,并单击OKFilePrefix在,】弹出导出控制参数对话框,如图7-33所示。
】→单击菜单【Controls【PlantExportPlantTorque,在输入框中用鼠标右键快捷菜单输入controlspid输入框中输入,在PlantInputPINPUT_,MA.PINPUT_output输入框中用鼠标右键快捷菜单输入,将Controlpackage选择为TLABOutput单击。
Fortran选择为NO,ADAMS/SolverChoice选择InitialStaticAnalysis,non_linear选择为Type
OK按钮后,在ADAMS的工作目录下将生成controlspid.m、controlspid.cmd、controlspid.adm这3个文件。
图7-33导出控制参数对话框
7.2.3建立MATLAB控制模型
1、导出ADAMS模型在MATLAB里的模块
启动MATLAB,先将MATLAB的工作目录指向ADAMS的工作目录,方法是单击工作栏中
后的按钮,弹出选择路径对话框。
在MATLAB命令窗口的CurrentDirection>>提示符下,输入controlspid,也就是controlspid.m的文件名,然后在>>提示符下输入命令ADAMS_sys,该命令是ADAMS与MATLAB的接口命令。
在输入ADAMS_sys命令后,弹出一个新的窗口,该窗口是MATLAB/Simulink的选择窗口,其中S-Function方框表示ADAMS模型的非线性模型,即进行动力学计算的模型,State-Space表示ADAMS模型的线性化模型,在ADAMS_sub包含有非线性方程,也包含许多有用的变量。
、建立控制方案2.
在MATLAB/Simulink选择窗口中,单击菜单【File】→【New】→【Model】后,弹出一个新的窗口,单击工具栏中的保存按钮,将新窗口存盘为control_model.mdl(不能与.m文件同名),将ADAMS_sub方框拖拽到control_model.mdl窗口中,并参考图7-34完成控制系统的搭建,也可采用其他的控制方案。
连接后的控制方案图7-34
之间的数据交换参数与ADAMS3、设置MATLAB击中双新的窗口ADAMS_sub方框,在弹出的击在control_model.mdl窗口中双,如果不是在设置为PIPE(DDE)MSCSDoftware,弹出数据交换参数设置对话框,将Interprocess在,表示每隔0.005sCommunicationInterval输入框中输入0.005一台计算机上,选择TCP/IP,将Simulation之间进行一次数据交换,若仿真过慢,可以适当改大该参数,将和MATLABADAMS,表示交互式计算,在计算过程中会interactiveAnimationmode设置成Mode设置为continuous,,则用批处理的形式,看不到仿batch自动启动ADAMS/View,以便观察仿真动画,如果设置成真动画,其他使用默认设置即可。
仿真设置和仿真计算。
4Solver弹出仿真设置对话框,在】,单击窗口中菜单【Simulation】→【SimulationParameters其他使设置为Variable-step,将Type20设置为0,将Stoptime设置为,Starttime页中将即可。
每MATLABOK按钮。
最后单击开始按钮,开始仿真。
(若出现错误,重启用默认选项,单击的文件夹,controlspid.admcontrolspid.cmd、都需要选择路径到包含次启动MATLABcontrolspid.m、
。
TLAB的接口命令))ADAMS)controlspid(.m文件名和ADAMS_sys(与MA并输入7.2.4结果后处理变变量曲线和VelocityTorque示波器中,可以得到角度和力矩的曲线。
得到的在MATLAB所示。
此模型初始受重力作用,产生转动,通过控制力矩的大小,7-36和图7-35量曲线分别如图
最终角速度为零,模型达到平衡。
Velocity随时间的变化图7-35变量
随时间的变化Torque变量7-36图