关于Adams错误Internal Error during execution of command 3. AEI_Initialization: Error in initialization.

关于Adams错误Internal Error during execution of command 3. AEI_Initialization: Error in initialization.解决方法

问题描述

笔者在进行Matlab与Adams联合仿真时遇到了如下图所示的错误。
问题描述

联合仿真流程

为了详细说明问题,现简述联合仿真流程。

  1. 在Adams中设置好仿真模型,设置系统变量,导出机械系统Control_Plant_[N]
    【注意】导出时的Adams模型不能有设置为失效的部分,否则会报如下错误。
    【提示】驱动方式最好使用速度加速度,否则运行到运动学奇异位置可能发生位置突变(例如:翻腕等),即使是进行正运动学控制(正运动学控制:控制电机运动;逆运动学控制:控制末端运动)。
    ErrorCausedByDeactivation

  2. 打开Matlab,并设置路径为与Adams相同的路径

  3. (可选) Matlab命令行运行load('[Data_Workspace].mat'),加载所需数据。

  4. Matlab命令行运行Controls_Plant_[N],导入Matlab与Adams接口配置参数。

  5. (可选) 若之前存在文件adams_sys_.slx,重命名、移动或删除该文件,以保证下一步的运行。

  6. (可选) Matlab命令行运行which adams_sys,查看adams_sys.m文件所在位置。在资源管理器中打开该位置,将adams_sys_template.mdl.r2011b文件另存为adams_sys_template.mdl,并覆盖原文件。
    【注意】仅输入输出格式与上次不变,才可以省略该步骤。

  7. Matlab命令行运行adams_sys,这样将在根目录下生成Adams最新一次导出的adams_sys_.slx文件。其中,该文件中有需要使用的模块adams_sub

  8. 新建[File_Name].slx文件,复制adams_sub模块到该文件,进行Simulink搭建。

  9. 双击adams_sub模块,进入并双击MSC Software模块,配置相关参数。
    【注意】
    若需要打开Adams界面实时仿真,则将Animation mode选项由batch改为interactive
    一般Simulation mode设为discrete
    Communication interval改为Simulink 的仿真时间步长。

  10. 运行Simulink。

解决方法

该问题主要是由于Simulink中的adams_sub模块在路径中找不到需要的文件导致的。

需要注意的是,虽然在Matlab中设置了Simulink当前路径,但是adams_sub模块不一定在当前路径中加载文件。

这是由于在Matlab中使用命令Control_Plant_[N],生成Adams导出到Simulink的接口参数时,路径参数以字符串的形式被保存在了工作区,这将影像adams_sub模块调用文件路径。

通常地,ADAMS_cwd与被导出的ADAMS模型路径有关,ADAMS _sysdir与ADAMS的安装路径有关。

在这里插入图片描述
需要检查:

  1. ADAMS_cwd是否与Matlab工作路径相同。
  2. ADAMS_sysdir + 'controls\matlab\'路径下是否存在以下文件:
    • adams.tlc
    • adams_sys.m
    • adams_sys_template.mdl
    • adams_sys_template.mdl.r2011b
    • decode.m
    • deriv.tlc
    • io_template.mdl
    • set_some_params_states.m
    • setio.m
    • setup_rtw_for_adams.m
    • start_adams_daemon.m
  3. ADAMS_sysdir + 'controls\win64\'路径下是否存在以下文件:
    • adams_plant.mexw64
    • plant.lib
    • scontrols.exe
    • ut_driver.exe
    • vcontrols.exe

另外,若同一个Adams模型被导出了多次(具有相关的多个Control_Plant_[N].m),还应检查接口参数中的ADAMS_prefix,该参数对应的Control_Plant[N].m是否在Matlab工作路径中。

笔者通过检查以上内容,解决了该问题。

针对不同的软件版本(笔者Adams2019+Matlab2016),具体内容可能有所不同。

附加:
Internal Error during execution of commond 12 属于Adams内模型问题,需要检查模型质量参数(不能小于0等)。

希望为大家提供一点思路,若有疏漏之处,欢迎大家批评指正(^∀^●)ノシ

哎最后吐槽一下,Adams真的迷啊,头秃了头秃了

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值