找回密码
 注册
Simdroid-非首页
查看: 138|回复: 4

[资料共享] Adams/Car如何与控制软件联合仿真

[复制链接]
发表于 2017-6-2 16:11:07 | 显示全部楼层 |阅读模式 来自 中国

在做ADAMS/Car与控制软件进行联合仿真过程中,可能很多人会有这样的疑问:如果按照ADAMS/View中介绍的流程从Control Export输出*.inf或*.m文件,则联合仿真过程中信息可能不全,比如,整车路面信息和其它一些分析设置文件,因为它们需要在Adams/Car界面Simulate>Full-Vehicle Analysis菜单下设置,从而导致联合仿真没法进行,怎么办?

下面通过操作流程介绍Adams与控制软件实现联合仿真的方法,包括Adams/Car与Matlab、Adams/Car与Easy5的联合仿真流程。

一、ADAMS/Car与Matlab联合仿真流程
1、在ADAMS/Car界面下打开或建立好整车模型后,导入Controls插件:Tools>Plugin Manager>ADAMS/Controls;

2、开启ADAMS/Controls>Plant Export对话框,设置输入输出变量,点击ok,工作路径下会生成Controls_Plant_1.m文件,如下图所示:

图1  设置输入输出变量
这里以软件安装路径下的Vehicle_demo为例,分别以sdi_testrig中的steering_wheel_torque和steering_wheel_angle作为输入、输出变量。

3、点击Simulation菜单,进行整车仿真,设置整车分析的模式mode of simulation为files_only,下面以step_steer仿真为例进行说明,分析设置如下图所示:
点击ok,会生成一系列文件,其中有后面步骤中需要用到的cosimulation_step_steer.acf、cosimulation_step_steer_controls.acf和cosimulation_step_steer.m文件。

图2  整车分析设置

4、鼠标双击cosimulation_step_steer.m文件,修改ADAMS_outputs为testrig.steering_wheel_angle,一一对应具体的输入输出变量,修改ADAMS_uy_ids中的变量编号代码,具体形式可参照Controls_Plant_1.m中的设置;

图3  修改cosimulation_step_steer.m文件中的输出变量名及编号

5、打开Matlab,设置工作路径与ADAMS/Car一致(非常关键),运行cosimulation_step_steer:
>> cosimulation_step_steer
%%% INFO : ADAMS plant actuators names :
1 testrig.steering_wheel_torque
%%% INFO : ADAMS plant sensors   names :
1 testrig.steering_wheel_angle

6、运行adams_sys,调出adams_plant,打开simulink,建立控制系统框图,设置adams_sub输出文件;

图4  建立控制系统框图

7、点击simulation运行联合仿真。
ADAMS/Car与Matlab联合仿真也可以改变上面流程的第4步,通过修改ADAMS/Controls Plant Export生成的Controls_Plant_1.m文件,即保留前面的步骤,作如下调整:
鼠标双击第1步生成的Controls_Plant_1.m文件:
修改ADAMS_prefix=‘*******’为ADAMS_prefix = 'cosimulation_step_steer',
修改ADAMS_init = 'file/command=Controls_Plant_1_controls.acf'为ADAMS_init = 'file/command=cosimulation_step_steer_controls.acf';
打开Matlab,设置工作路径与ADAMS/Car一致(非常关键),运行Controls_Plant_1:
>> Controls_Plant_1
%%% INFO : ADAMS plant actuators names :
1 testrig.steering_wheel_torque
%%% INFO : ADAMS plant sensors   names :
1 testrig.steering_wheel_angle
后面步骤与前面相同。

二、ADAMS/Car与EASY5联合仿真流程

1、在ADAMS/Car界面下打开或建立好整车模型后,导入Controls插件:Tools>Plugin Manager>ADAMS/Controls;

2、开启ADAMS/Controls>Plant Export对话框,设置输入输出变量,点击ok,工作路径下会生成Controls_Plant_1.inf文件,如下图所示:

图5  设置输入输出变量
这里以软件安装路径下的Vehicle_demo为例,分别以sdi_testrig中的steering_wheel_torque和steering_wheel_angle作为输入、输出变量。

3、点击Simulation菜单,进行整车仿真,设置整车分析的模式mode of simulation为files_only,下面以step_steer仿真为例进行说明,分析设置如下图所示,点击ok,会生成一系列文件,其中有后面步骤中需要用到的cosimulation_step_steer.acf、cosimulation_step_steer_controls.acf和test_step_steer.inf文件。

图6  整车分析设置

4、鼠标双击cosimulation_step_steer.inf文件,修改NUMBER OF INPUTS/OUTPUTS,由“1 30”改为“1 1” (当然输入输出变量个数是多少就写多少), 修改OUTPUT VARIABLES,去除多余的输出变量,按照第2步中ADAMS/Control Plant Export的要求,仅留下testrig.steering_wheel_angle 31 1;

图7  修改输出变量个数及输出变量名

5、打开EASY5,设置路径与ADAMS/Car一致,点击Configure,选cosimulation_step_steer.inf和co-Simulation,点击done完成设置;

图8  在Easy5软件的Adams接口元件中读取inf文件

6、在EASY5图形界面中完成控制系统框图,进行分析设置;

图9  建立控制系统框图

7、点击运行联合仿真。
ADAMS/Car与EASY5联合仿真也可以改变上面流程的第4步,通过修改ADAMS/Controls Plant Export生成的Controls_Plant_1.inf文件,即保留前面的步骤,作如下调整:
鼠标双击Controls_Plant_1.inf文件:
将文件中的Controls_Plant_1全部替换为cosimulation_step_steer,例如,
file/command=Controls_Plant_1_controls.acf变成
file/command=cosimulation_step_steer_controls.acf

图10  修改Controls_Plant_1.inf文件
打开EASY5,设置路径与ADAMS/Car一致,点击Configure,选Controls_Plant_1和co-Simulation,点击done完成设置;

图11  在Easy5软件的Adams接口元件中读取inf文件
后面步骤与前面相同。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2020-7-11 16:59:29 | 显示全部楼层 来自 陕西西安
Simdroid开发平台

可以加下楼主嘛,联合仿真这块一直弄不通
回复 不支持

使用道具 举报

发表于 2020-7-11 18:24:56 | 显示全部楼层 来自 中国
swag91 发表于 2020-7-11 08:59
可以加下楼主嘛,联合仿真这块一直弄不通

就是文件数据的传递,想清楚了就不难了。
回复 不支持

使用道具 举报

发表于 2020-8-4 11:29:48 | 显示全部楼层 来自 江苏宿迁
my_dear2002 发表于 2020-7-11 18:24
就是文件数据的传递,想清楚了就不难了。

谢谢楼主
回复 不支持

使用道具 举报

发表于 2020-8-31 16:20:49 | 显示全部楼层 来自 浙江宁波
有和amesim的联合仿真吗?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 03:02 , Processed in 0.034941 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表