Matlab及adams联合仿真仿真结果动画的保存及后处理.docx

上传人:b****0 文档编号:10062608 上传时间:2023-05-23 格式:DOCX 页数:17 大小:950.90KB
下载 相关 举报
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第1页
第1页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第2页
第2页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第3页
第3页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第4页
第4页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第5页
第5页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第6页
第6页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第7页
第7页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第8页
第8页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第9页
第9页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第10页
第10页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第11页
第11页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第12页
第12页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第13页
第13页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第14页
第14页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第15页
第15页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第16页
第16页 / 共17页
Matlab及adams联合仿真仿真结果动画的保存及后处理.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Matlab及adams联合仿真仿真结果动画的保存及后处理.docx

《Matlab及adams联合仿真仿真结果动画的保存及后处理.docx》由会员分享,可在线阅读,更多相关《Matlab及adams联合仿真仿真结果动画的保存及后处理.docx(17页珍藏版)》请在冰点文库上搜索。

Matlab及adams联合仿真仿真结果动画的保存及后处理.docx

Matlab及adams联合仿真仿真结果动画的保存及后处理

Matlab与adams联合仿真实例

本实例以matlab为外部控制程序,使用PID算法控制偏心杆的摆动,使偏心杆平衡到指定位置。

1.在adams/view中建立偏心杆模型

 

图1偏心杆模型

1)新建模型

如下图,将Units设置为MMKS。

设置自己的WorkingDirectory,这里设置为C:

\adams\exercise。

点击OK按钮。

 

图2新建模型对话框

2)创立连杆

设置连杆参数为Length=400,Width=20,Depth=20,创立如下图的连杆。

 

图3创立连杆

3)创立转动幅

在连杆质心MARKER点处创立转动幅,旋转副的参数设置为1Location和NormalTogrid将连杆与相连。

 

 

图4创立转动幅

4)创立球体

球体选项设置为Addtopart,半径设置为20,单击连杆右侧Marker点,将球体添加到连杆上

 

图5创立球体

5)创立单分量力矩

单击Forces>CreateaTorque(Singleponent)AppliedForces,设置为SpaceFixed,NormaltoGrid,将Characteristic设置为Constant,勾选Torque并输入0,单击连杆,再点击连杆左侧的Marker点,在连杆上创立一个单分量力矩。

 

图6创立单分量力矩

2.模型参数设置

1)创立状态变量

 

 

图7新建状态变量

点击图上所示得按钮,弹出创立状态变量对话框,创立输入状态变量Torque,将Name修改为.MODEL_1.Torque。

 

图8新建输入状态变量Torque

再分别创立状态变量Angel和Velocity〔后面所设计控制系统为角度PID控制,反应变量为Angel,Velocity为Angel对时间求导,不需要变量Velocity,这里设置Velocity是为了展示多个变量的创立〕。

设置Angel的函数AZ(MARKER_3,MARKER_4)*180/PI,Velocity的函数为WZ(MARKER_3,MARKER_4)*180/PI。

〔MARKER_3为连杆上的点,MARKER_4为地面上固定的点〕AZ(MARKER_i,MARKER_j)表示MARKER_i绕MARKER_j的Z轴旋转的角度,WZ表示MARKER_i绕MARKER_j的Z轴旋转的角速度。

 

图9新建输出状态变量Angel、Velocity

2)将输入状态变量Torque与模型关联

双击单分量力矩图标,弹出ModifyTorque对话框,修改Function为VARVAL(.MODEL_1.Torque),VARVAL是用于返回Torque的值。

 

图10将输入状态变量Torque与模型关联

3)指定输入输出变量

点击,右键单击VariableName右边的文本框,如下图选择Torque。

 

图11指定输入变量

 

 

图12指定输入变量Torque

点击,分别两次右键单击VariableName右边的文本框,分别选择Angel和Velocity。

 

图13指定输出变量

 

图14指定输出变量为Angel、Velocity

4〕导出控制参数

点击Plugins>Controls>Plant_Export。

 

图15导出控制参数

点击FromPinput,选择PINPUT_1。

 

图16设置输入输出参数

同样的方法,点击FromPoutput选择POUTPUT_1。

将TargetSoftware设置为MATLAB。

FilePrefix设置为controls_PID,其他按照默认设置不做改动。

 

图17导出控制参数对话框

3.建立MATLAB控制模型

1)导出ADAMS模型在MATLAB中的模块

启动MATLAB,先将MATLAB的工作目录指向ADAMS的工作目录,方法是修改当前的工作目录为之前在ADAMS中新建模型时的工作目录,这里是C:

\adams。

点击浏览文件夹选择文件夹C:

\adams。

在命令窗口提示符?

下输入Controls_PID,也就是Controls_PID.m的文件名,再在命令提示符?

下输入adams_sys,弹出一个新窗口,这个窗口是MATLAB/Simulink的选择窗口其中S-Function方框表示ADAMS模型的非线性模型,即进展动力学计算的模型,State-Space表示ADAMS模型的线性化模型,在ADSMA_sub中包含有非线性方程,也包含许多有用的变量。

 

图18导出ADAMS在MATLAB中的模块

 

图19ADAMS在MATLAB中的模块

2)

建立控制方案

在MATLAB/Simulink选择窗口中,单击菜单file>new>model或直接单击新建模型按钮,

弹出新的Simulink窗口,单击工具栏中的保存按钮,将新窗口存盘为control_model.mdl(不能与.m文件同名)。

将ADAMS_sub方框拖拽到control_model窗口中,并搭建如下图控制系统,此控制系统采用角度PID控制对偏心杆的角度进展控制。

也可以采用其他的控制方案。

 

图20Simulink中PID控制图

3)设置MATLAB与ADAMS之间的数据交换参数

在control_model窗口中双击ADAMS_sub方框,在弹出的新的窗口中双击MSCSoftware,弹出数据交换参数设置对话框,将AdamsSolvertype设置为Fortran〔如果设置为C++,ADAMS的构件不会运动,看不到动画效果。

〕,将Interprocess设置为PIDE〔DDE〕,如果不是在一台计算机上,选择TCP/IP,Animationmode设置成interactive,表示交互式计算,在计算过程中会自动启动ADAMS/View,以便观察仿真动画,如果设置成batch,那么用批处理的形式,看不到仿真动画,将SimulationMode设置为continuous,将municationInterval输入框中输入0.005,表示每隔0.005s在MATLAB和ADAMS之间进展一次数据交换,假设仿真过慢,可以适当改大该参数,其他使用默认设置即可。

 

图21数据交换参数设置对话框

4)仿真设置和仿真计算

单击窗口中菜单Simulation>ModelConfigurationParameters,将StopTime设置为20。

Type设置为Variable-step,其他使用默认选项,单击0K按钮。

单击开场按钮,开场仿真。

〔假设出现错误,重启MATLAB即可。

每次启动MATLAB都需要选择路径包含Controls_PID.m、Controls_PIDd、Controls_PID.adm的文件夹,并输入Controls_PID〔.m文件名〕和adams_sys〔ADAMS与MATLAB的接口命令〕〕。

仿真过程中将自动加载Adams/View窗口,并生成一个aviewASd的文件,如果你的Adams/View所设置的工作目录中含有此文件,那么启动软件时将不会出现欢送界面,如果需要在启动时出现欢送界面必须把此文件删除。

4.结果后处理

在MATLAB示波器中,可以得到角度、角速度和力矩的曲线,Angel、Velocity、Torque的曲线如下图。

此模型初始受重力作用,产生转动,通过控制力矩地大小,最终角度、角速度、力矩都能到达稳定,角度到达预设值。

控制框图的预设值为幅值为10的阶跃信号,即控制偏心杆的角度为100。

观察角度的变化曲线发现大约在14s时,Angel的值到达预设值10,满足控制要求。

 

 

图22角度变化曲线

 

图23角速度变化曲线

 

图21角速度变化曲线

 

图24力矩变化曲线

 

 

图25Adams/Viwe中偏心杆在13.3450s时的状态。

在原模型中导入联合仿真结果文件Controls_PID.res〔注意ModelName要选择原模型名〕,这样就可以在adams中进展后处理了。

可以发现在模型树Results中多了一个Controls_PID的结果。

对此结果可以使用adams的后处理模块Postprocessor进展后处理。

 

 

图26导入联合仿真结果文件

 

 

图26在adams中进展后处理

 

图27在adsms中对结果进展动画处理

 

图28adams中力矩后处理结果

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

当前位置:首页 > 医药卫生 > 基础医学

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

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