matlab中结束脚本运行_ADAMS与MATLAB联合仿真

   今天给大家带来一个工程案例,使用ADAMS/Controls在ADAMS中建立模型并插入到控制模型中去。

例子:Antenna Control Problem

Azimuth and Elevation DOF

Flexible support

Disturbance to elevation loop 

Input torques applied

7df4814b7805588b125874ee2525eb4d.png

第一步:从ADAMS输出使用于控制仿真软件(CSS)的被控对象文件

例如:创建或输入天线模型;确定天线模型的输入输出变量(控制antenna运动的力,扭矩;方位角和高度位置测量)

“plant export”命令会创建几种特定的文件,这些文件能够在CSS中生成一个ADAMS天线模型:

·.adm和.cmd文件描述机械模型

·.acf文件包含solver命令(不是必要使用)

·.m文件用于MATLAB;.inf文件用于MATRIXx和EASY5

be4008dd1a2a93ef7c5ca84162d64048.png

例子:天线模型产生的.m文件如下所视

addpath( 'F:\PROGRA~1\ADAMS1~2.0/controls' ) ;

addpath( 'F:\PROGRA~1\ADAMS1~2.0\controls\matlab' ) ;       

% ADAMS / MATLAB Interface - Release 12.0.0

ADAMS_sysdir = 'F:\PROGRA~1\ADAMS1~2.0' ;

ADAMS_exec = '' ;

ADAMS_prefix = 'ant_test' ;         

if (exist([ADAMS_prefix,'.adm']))

ADAMS_static = 'no' ;

ADAMS_init = '' ;

ADAMS_inputs = 'control_torque' ;

ADAMS_outputs = 'rotor_velocity!azimuth_position' ;         

ADAMS_pinput = '.main_olt.tmp_MDI_PINPUT' ;

ADAMS_poutput = '.main_olt.tmp_MDI_POUTPUT' ;

ADAMS_uy_ids = [

1

2

3

] ;

ADAMS_mode = 'non-linear' ;

tmp_in = decode( ADAMS_inputs ) ;

tmp_out = decode( ADAMS_outputs ) ;

disp( ' ' ) ;

disp( '%%% INFO : ADAMS plant actuators names :' ) ;

disp( [int2str([1:size(tmp_in,1)]'),blanks(size(tmp_in,1))',tmp_in] ) ;

disp( '%%% INFO : ADAMS plant sensors names :' ) ;

disp( [int2str([1:size(tmp_out,1)]'),blanks(size(tmp_out,1))',tmp_out] ) ;

disp( ' ' ) ;

clear tmp_in tmp_out ;

else

disp( ' ' ) ;

disp( '%%% ERROR : missing ADAMS plant model file !!!' ) ;

disp( ' ' ) ;

end

% ADAMS / MATLAB Interface - Release 12.0.0

第二步:在CSS中创建被控对象

MATLAB

将.m文件读入MATLAB后,键入“adams_sys”命令可以生成ADAMS模型

15248e127ea7ab3f891393a61617e037.png

双击视窗中的“adams_sub”模块

·输入输出名是自动产生的

·Workspace hooks也是自动产生的

94660136ed7d20220d0f8df43620e195.png

第三步:与ADAMS被控对象建立联系并在CSS中调整仿真参数

MATLAB plant面板

·双击Mechanical Dynamics模块就会弹出面板

·在这里你可以从中选择模式并且可以得到ADAMS/Controls的全部性能

1f3cb81c9805efb491495e1428dfea71.png

第四步  在CSS进行仿真

例如:天线模型可以根据控制输入(力,力矩等)来进行仿真;

在MATLAB中使用Simulation下的Parameters项来控制控制系统积分器的步长、结束时间以及积分器设置。

e9ea73018894d857e7f1bfd50b765f55.png

Interactive模式与Batch模式

·Interactive模式对应于ADAMS/View(vcontrols.exe将使用.cmd文件,能看到模型的更新)

·Batch模式对应于ADAMS/Solver(scontrols.exe使用.adm文件,无法看到模型更新,但会运行的更快)

1f3cb81c9805efb491495e1428dfea71.png

MATLAB要点:

·输入输出变量会自动保存在工作区(如果使用了“adams_sub”模块)

·使用/改变MATLAB的变量名以改变面板中的数据,代替了直接在面板上编辑数据

·如果你希望手动或者在MATLAB的脚本中设置面板上的变量,只要使用命令行就能很轻易的实现

好了,今天的内容就到此为止,下期再见!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值