Matlab与adams联合仿真仿真结果动画的保存与后处理_第1页
Matlab与adams联合仿真仿真结果动画的保存与后处理_第2页
Matlab与adams联合仿真仿真结果动画的保存与后处理_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab与adams联合仿真实例本实例以matlab为外部控制程序,使用PID算法控制偏心杆的摆动,使偏心杆平衡到指定位置。1. 在adams/view中建立偏心杆模型图1 偏心杆模型1) 新建模型如图所示,将Units设置为MMKS。设置自己的Working Directory,这里设置为C:adamsexercise。点击OK按钮。图2 新建模型对话框2) 创建连杆设置连杆参数为Length=400,Width=20,Depth=20,创建如图所示的连杆。图3 创建连杆3) 创建转动幅在连杆质心MARKER点处创建转动幅,旋转副的参数设置为1Location和Normal To gri

2、d将连杆与大地相连。图4 创建转动幅4) 创建球体球体选项设置为Add to part,半径设置为20,单击连杆右侧Marker点,将球体添加到连杆上图5 创建球体5) 创建单分量力矩单击ForcesCreate a Torque(Single Component)Applied Forces,设置为Space Fixed,Normal to Grid,将Characteristic设置为Constant,勾选Torque并输入0,单击连杆,再点击连杆左侧的Marker点,在连杆上创建一个单分量力矩。图6 创建单分量力矩2. 模型参数设置1) 创建状态变量图7 新建状态变量点击图上所示得按钮,

3、弹出创建状态变量对话框,创建输入状态变量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(MAR

4、KER_i,MARKER_j)表示MARKER_i绕MARKER_j的Z轴旋转的角度,WZ表示MARKER_i绕MARKER_j的Z轴旋转的角速度。图9 新建输出状态变量Angel、Velocity2) 将输入状态变量Torque与模型关联双击单分量力矩图标,弹出Modify Torque对话框,修改Function为VARVAL(.MODEL_1.Torque),VARVAL是用于返回Torque的值。图10 将输入状态变量Torque与模型关联3) 指定输入输出变量点击 ,右键单击Variable Name右边的文本框,如图所示选择Torque。图11 指定输入变量图12 指定输入变量To

5、rque点击 ,分别两次右键单击Variable Name右边的文本框,分别选择Angel和Velocity。图13 指定输出变量图14 指定输出变量为Angel、Velocity4) 导出控制参数点击PluginsControlsPlant_Export。图15 导出控制参数点击From Pinput,选择PINPUT_1。图16 设置输入输出参数同样的方法,点击From Poutput选择POUTPUT_1。将Target Software设置为MATLAB。File Prefix设置为controls_PID,其他按照默认设置不做改动。图17 导出控制参数对话框3. 建立MATLAB控制

6、模型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_s

7、ub中包含有非线性方程,也包含许多有用的变量。图18 导出ADAMS在MATLAB中的模块图19 ADAMS在MATLAB中的模块2) 建立控制方案在MATLAB/Simulink选择窗口中,单击菜单filenewmodel或直接单击新建模型按钮 ,弹出新的Simulink窗口,单击工具栏中的保存按钮,将新窗口存盘为control_model.mdl(不能与.m文件同名)。将ADAMS_sub 方框拖拽到control_model窗口中,并搭建如图所示控制系统,此控制系统采用角度PID控制对偏心杆的角度进行控制。也可以采用其他的控制方案。图20 Simulink中PID控制图3) 设置MATL

8、AB与ADAMS之间的数据交换参数在control_model窗口中双击ADAMS_sub方框,在弹出的新的窗口中双击MSC Software,弹出数据交换参数设置对话框,将Adams Solver type设置为Fortran(如果设置为C+,ADAMS的构件不会运动,看不到动画效果。),将Interprocess设置为PIDE(DDE),如果不是在一台计算机上,选择TCP/IP,Animation mode设置成interactive,表示交互式计算,在计算过程中会自动启动ADAMS/View,以便观察仿真动画,如果设置成batch,则用批处理的形式,看不到仿真动画,将Simulation

9、 Mode设置为continuous,将Communication Interval输入框中输入0.005,表示每隔0.005s在MATLAB和ADAMS之间进行一次数据交换,若仿真过慢,可以适当改大该参数,其他使用默认设置即可。图21 数据交换参数设置对话框4) 仿真设置和仿真计算单击窗口中菜单SimulationModel Configuration Parameters,将Stop Time设置为20。Type设置为Variable-step,其他使用默认选项,单击0K按钮。单击开始按钮,开始仿真。(若出现错误,重启MATLAB即可。每次启动MATLAB都需要选择路径包含Controls

10、_PID.m、Controls_PID.cmd、Controls_PID.adm的文件夹,并输入Controls_PID(.m文件名)和adams_sys(ADAMS与MATLAB的接口命令)。仿真过程中将自动加载Adams/View窗口,并生成一个aviewAS.cmd的文件,如果你的Adams/View所设置的工作目录中含有此文件,那么启动软件时将不会出现欢迎界面,如果需要在启动时出现欢迎界面必须把此文件删除。4. 结果后处理在MATLAB示波器中,可以得到角度、角速度和力矩的曲线,Angel、Velocity、Torque的曲线如图所示。此模型初始受重力作用,产生转动,通过控制力矩地大小,最终角度、角速度、力矩都能达到稳定,角度达到预设值。控制框图的预设值为幅值为10的阶跃信号,即控制偏心杆的角度为100。观察角度的变化曲线发现大约在14s时,Angel的值达到预设值10,满足控制要求。图22 角度变化曲线图23 角速度变化曲线图21 角速度变化曲线图24 力矩变化曲线图25 Adams/Viwe中偏心杆在13.3450s时的状态。在原模型中导入联合仿真结果文件Controls_PID.res(注意Model Name

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论