MATLAB和ADAMS联合仿真实现一种位置控制系统Word格式文档下载.docx
《MATLAB和ADAMS联合仿真实现一种位置控制系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MATLAB和ADAMS联合仿真实现一种位置控制系统Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
![MATLAB和ADAMS联合仿真实现一种位置控制系统Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/19/a4bbf146-5fa8-40dc-8414-92344bf43c17/a4bbf146-5fa8-40dc-8414-92344bf43c171.gif)
示。
1.6设置重力加速度。
选择菜单栏\Setting\Gravity,设置重力加速度,此时弹出Error对话框。
选择“CreateModel”,并起名为“Qiu1”,点击“OK”
再次选择菜单栏\Setting\Gravity,设置重力加速度:
勾选Gravity前方框,点击-Y*,如下图示,点击“OK”。
1.7设置单位。
选择菜单栏\Setting\Units,设置单位,此时弹出“UnitsSettings”对话框,点击“MKS”按钮,各单位符号如右图示,点击“OK”。
1.8建立半径10cm的球,放置在点(0,0,0上。
“右键”点击主工具栏第一排第二个符号-
刚体:
连杆
,弹出扩展工具符号,选择第
二排第一个符号-
球,勾选Radius前方框,则此球半径为10.0cm。
1.9建立球与大地之间移动副。
“右键”点击主工具栏第二排第二个符号-
连接:
旋转副
,弹出扩展工具符号,选择
第二排第一个符号-连接:
移动副。
该移动副属性为2个构件,1个作用点。
鼠标动作顺序为:
1.左键点击“ground”一次,选取大地为第一个构件;
2.左键点击球体一次,选取球为第二个构件;
3.右键在球心位置点击一次,弹出Select对话框,左键双击“PART_2.cm”;
4.右键在球心位置点击一次,弹出Select对话框,左键双击“PART_2.cm.Y”。
以上步骤完毕后,球体中心会出现移动副图标。
1.10在移动副上建立直线动力源。
“右键”点击主工具栏第三排第二个符号-
旋转副驱动
二排第一个符号-直线副驱动。
将鼠标移动到球体中心处,跟随光标会显示“JIONT_1”,
点击左键确定。
球体如下图所示。
1.11建立状态变量VF。
选择菜单栏\Build\SystemElements\StateVariable\New,创建变量,此时弹出CreateStateVariable对话框,将Name栏修改为.Qiu1.VF,如右图所示。
1.12将VF导入到直线驱动幅的函数定义中。
右键单击球体中心,弹出菜单栏,选择
Motion:
MOTION_1\Modify,修改直线驱动副参
数,此时弹出JointMotion对话框,将Function(time
栏修改为-VARVAL(VF,点击OK。
1.13将变量VF设置为输入变量INPUT
选择菜单栏\Build\ControlsToolkit\PlantInput…,
创建输入变量。
在VariableName后,输入VF,
点击OK,如下图所示。
1.14建立状态变量VS。
选择菜单栏\Build\SystemElements\State
Variable\New,创建变量,此时弹出
CreateStateVariable对话框,将Name
栏修改为.Qiu1.VS,将F(time,…栏修改
为DY(cm,表示测量球体的中心cm点
沿Y方向的位移,点击OK,如右图示。
1.15建立状态变量F。
栏修改为.Qiu1.F,将F(time,…栏修改为
MOTION(MOTION_1,1,3,0,表示测
量驱动球体运动的沿Y轴方向驱动力,
点击OK,如右图示。
1.16将变量VS/F设置为输出变量
OUTPUT。
选择菜单栏\Build\Controls
Toolkit\PlantOutput…,创建输入
变量。
在VariableName后,输
入VS,F,点击OK,如右图所示。
1.17运行一下,看模型建立是否正确。
点击主工具栏第二排第三个符号:
运行,点击开始按钮,
运行一下。
弹出MessageWindows,里有警告信息,提示的是MOTION
运动副依赖于VARVAL函数。
1.18保存文件
选择菜单栏File\SaveDatabase,弹出Information对话框,点击
OK。
1.19调出Control模块
选择菜单栏Tool\Plugin
Manager,调出插件管理器(Plugin
Manager)。
勾选
ADAMS/Controls后面Load(加载
和LoadatStartup(启动时加载,
如下图。
1.20在菜单栏新增的Controls中。
选择菜单栏Controls\PlantExport,弹出ADAMA/ControlsPlantExport对话框,需要设置:
FilePrefix-:
输入work01(输出接口文件名称;
PlantInput:
双击此栏,在弹出的DatabaseNavigator,双击选择PINPUT_1;
PlantOutput:
双击此栏,在弹出的DatabaseNavigator,双击选择POUTPUT_1;
ControlPackage:
单击此栏,在下拉菜单中选择MATLAB;
Type:
默认为non_linear(非线性);
InitialStaticAnalysis:
默认为No,不进行初始状态计算;
ADAMS/SolverChoice:
默认Fortran语言;
UserDefinedLibraryName:
默认空;
ADAMSHost:
默认,此栏为机器名。
2.MATLAB中建模过程
2.1接口文件生成。
在工作目录下会生成三个文件:
work11.adm;
work11.cmd;
work11.m。
2.2启动MATLAB。
双击work11.m文件,启动MATLAB。
或启动MATLAB后,找到work11.m文件。
(确保MALTAB的工作目录与ADAMS中设置工作目录相同)。
2.3修改work11.m文件。
将29行内容复制并替换到24行(内容如下),保存,
ADAMS_sysdir='
C:
\MSC~1.SOF\MSC~1.ADA\2005\'
;
2.4运行work11.m文件。
点击图标运行work11.m文件。
此时MATLAB的CommandWindow中会弹出信息,主要内容是在ADAMS中设置的输入、输出变量名字,即在ADAMS中设置的VF和VS。
2.5输入adams_sys
在CommandWindow中,输入adams_sys,会弹出Simulink文件。
2.6启动Simulink。
点击MATLAB左上方,快速工具栏中图标
,启动Simulink,弹出SimulinkLibraryBrowser对话框。
2.7建立Simulink模型
点击SimulinkLibraryBrowser对话框中快速工具栏图标,新建一个Simulink文件,将adams_sub黄色块和示波器拷进,剩余文件不做处理存盘为control01.mdl。
2.8添加Simulink中元件,并连接完毕。
在SimulinkLibraryBrowser,选择以下元件,拖拽到control01窗口中:
点击Simulink\Sources\Step;
;
点击Simulink\Math\Operations\Sum点击Simulink\Continuous\Operations\TransferFcn点击Simulink\Sinks\Scope;
点击SimulinkExtras\AdditionalLinear\PIDcontrol(SimulinkExtras一栏在目录在下方,往下拖拽Libraries的滑动条可以找到。
VSPIDStepPIDController1s+1TransferFcnFadams_sub1
编辑各元件参数双击阶跃环节图标,在弹出的对话框中,将Steptime下原数值1修改为0,其余不变;
双击比较环节图标,在弹出的对话框中,将Listofsigns下的两个正号“++”修改为一个正号和一个负号“+-”。
双击PID环节图标,在弹出的对话框中,将Proportional、Intergral和Derivative值分别设置为10、10、10。
双击TransferFcn环节图标,在弹出的对话框中,将Denominatorcofficient值设置为[111]。
拖拽鼠标左键,连接各环节如下图所示。
VSPIDStepPIDController1s2+s+1TransferFcnFadams_sub设置adams_sub环节双击adams_sub黄色块,弹出untitled/adams_sub窗口。
双击ADAMSPlant红色元件,弹出FunctionBlockParameters:
ADAMSPlant对话框。
将对话框最下端Animationmode中原bach改为interactive。
ADAMS_uoutUToWorkspace1VS1VFADAMSPlant2ADAMS_youtMuxYToWorkspaceADAMS_toutClockTToWorkspaceDemuxFMuxMSCSoftwareDemux设置仿真参数点击菜单栏Simulation\ConfigurationParemeters,弹出ConfigurationParemeters:
untilted/Configuration(Active对话框。
设置仿真时间Stoptime修改为10,其余不变。
2.31保存。
2.32在MATLAB的CommandWindow中进行一下操作输入clc,回车(清除CommandWindow中文字);
输入clear,回车(清除MATLAB内存中的数据)2.33点击,运行work11.m文件。
2.35运行新生成的Simulink文件(control01.mdl2.36双击示波器图标VSF查看仿真结果。