许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB创建callback函数及实现Matlab-Adams联合仿真

MATLAB创建callback函数及实现Matlab-Adams联合仿真

阅读数 34
点赞 0
article_banner

69d7dd5fe42f336374deb2c80de853d8.png

最近因为课题需要,学习了一下如何用Matlab与Adams进行联合仿真,这方面资料网上有一些,但是大多讲的很粗糙,而且大多数都是纯英文的,下面我就把自己学习的结果做一个总结,希望对大家有帮助。



一、基本软件介绍

本次联合仿真用到的软件版本为:Solidworks2019、Adams2018、Matlab2018b。



二、Solidworks绘制三维模型

Adams的三维建模能力相比于Solidworks这样的专业建模软件来说还是有差距的,所以三维模型的绘制这块我就通过Solidworks2019来实现。

图1所示为本次实验的对象,我们用Solidworks2019创建了一个直径10mm,长度150mm的圆杆,材料我们选择304钢材,图2、图3所示为材料相关属性,图4为该模型的质量属性,质量属性将随模型一起导入到Adams中。

353f55e0ff11aca1b8704bb18f46715e.png


   图1 单杆模式
 

8e646d36e20beda5c664c3175d7aeb3e.png


   图2 材料选择
 

3e2a6aef1038cbb5ded94c829cd7506f.png


   图3 材料属性
 

5bf6f222aff1dd6082985a9bfb84e096.png


   图4 质量属性
 

模型创建好后另存为.x_t类型的文件。

4483062767a9b87c0cae4598a7c5054f.png


   图5 另存为.x_t文件
 



三、Adams创建机械系统

右击桌面Adams View2018图标,进入属性,将我们仿真文件的工作目录复制并粘贴到起始位置栏,用同样的方法修改Matlab工作目录,如图6、图7所示。

b06c4afe279e7e001a0e572be469c426.png


   图6 修改Adams工作目录
 

23179840c190fbcbd98d3a2fb8e5d5b4.png


   图7 修改Matlab工作目录
 

打开Adams,新建模型。

ceab4d294cc9d74ce173adaf8e36388d.png


   图8 新建模型
 

f3e2c28ff616442cad757a93272e2a10.png


   图9 新建模型
 

导入模型,文件类型选择.x_t类型,读取文件选择之前Solidworks保存的.x_t文件,并命名模型名称。

be739e852818fc661e0b5c9ba4e48877.png


   图9 导入模型
 

3765c0137752263bcce2471e9d2c3bf0.png


   图10 导入模型
 

修改渲染模式为精确填充,这样模型看起来更好看。

225f08ad4cd575d804a4ec9d35330ac0.png


   图11 修改渲染模式
 

c0d2f8587f5d96c909bba5f1d013f948.png


   图12 修改渲染模式
 

右击PART2模型,选择修改,可以查看模型的密度以及惯性矩、质量等属性,这个跟之前之前Solidworks中的质量属性是一致的结果。

77447e78098595f48114018e086f62e6.png


   图13 模型属性查看
 

ed4300c79886ae2732e0c0de7faca37f.png


   图14 模型属性查看
 

添加旋转副,构建方式如图15所示,图16所示为旋转副添加结果。

3c25f7a905c0b6c135ecf5814752ac67.png


   图15 添加旋转副
 

66e808884f493590d6ccbdc2d3c37a98.png


   图16 旋转副添加结果
 

添加力矩到旋转副上,构建方式如图17所示,力矩大小选择为0。

5507a3c418adf6bfe08604c0096795d4.png


   图17 添加力矩
 

fb36586a25ceee8942c90fe39d07a7fe.png


   图18 添加力矩效果
 

添加状态变量,命名为torque,如图19、图20所示,同样的方法添加angle和angular_velocity变量。

4a1cee315d02bc7ff5d9ba6b2a7ef2f6.png


   图19 添加状态变量
 

9f161a67e0961fc4ccbf027324b8d71f.png


   图20 添加状态变量
 

修改力矩函数,并将其关联到图19添加的状态变量,删掉原来的0值,选择数据单元,点击辅助

7d68637bd4db6c342a54fb5a82d67cf0.png


   图22 修改力矩函数
 

7fd3772f06659c1595838a5aa6b9d69b.png


   图23 修改力矩函数
 

66afa85b96c553ff247aaeb1e207eceb.png


   图24 修改力矩函数
 

6c42471b0f180af95502669ff62aaffd.png


   图25 修改力矩函数
 

修改angle函数,如图26,右击角度,修改,删除原来的0,选择位移,选择Angle about z(根据模型在Adams中的选转轴进行选择),点击辅助,然后根据模型和大地之间的坐标系选择标记点,如图27所示。同样的方法修改angular_velocity变量的函数,如图28所示。

dd6c75201804c633064b4bb2f6a4194d.png


   图26 修改angle函数
 

3162b50b43ba2d71171b0a72d7c25fde.png


   图27 选择angle变量标记点
 

8c0d6cabec32d6baf0b2d0c083e33137.png


   图28 修改angular_velocity函数
 

添加输入量(torque),同样的方法添加输出量(angle和angular_velocity)。

7d75b023765668926fc692be9fe6bdcd.png


   图29 添加输入量
 

a4394c118ea8fdfd4dfd8019f817bb35.png


   图30 添加输入输出量
 

选择Adams Controls插件,导出机械系统,如图31、图32所示。

046f4010580d1780b65cce927d0bcc93.png


   图31 导出机械系统
 

b152ad2771aa83fa8484aba29f0d82cf.png


   图32 导出机械系统
 

至此,Adams机械系统已经搭建完毕。



四、Matlab搭建仿真系统

打开Matlab,运行Pendulum_a指令(就是Adams导出机械系统的文件名),如图33所示。

9654497e81dd30326f986fccc6940f7e.png


   图33 运行Pendulum_a指令
 

运行adams_sys指令,调出adams的simulink系统,中间黄色的模块(adams_sub)就是我们需要的机械系统模型。

5009fc30db8e773eb56448da2af3b7eb.png


   图34 调出adams的simulink系统
 

创建一个新的simulink文件,并添加需要的模块进去,构建仿真系统,如图35、图36所示,这里采用PD控制器,控制杆到某一个固定的角度。

4aff022612c488143ad2d135512f91c8.png


   图35 创建新的simulink文件
 

13e367f9b109af5eba290aca9a27d809.png


   图36 构建仿真系统
 

修改adams_sub,双击adams_sub进入子模块,再双击ADAMS Plant(如图37)修改参数如图38所示。

483a13f61e215deb59a656f1fb6c0637.png


   图37 双击ADAMS Plant
 

c97bdb37b4229c2153e30c37b00983ec.png


   图38 修改参数
 

点击Run进行仿真,Adams会被自动打开,可以看到仿真动画效果,如图40所示。

1da3836d1d930ee805f531f1fc70955e.png


   图39 仿真
 

73906a350f7c26dad1e866277acd190c.png


   图40 仿真动画
 

打开示波器可以看到仿真数据监控图像。

79395333a848b3a009d170b5e5890f25.png


   图41 仿真监控图像
 

至此,通过Matlab和Adams联合仿真的步骤就已经全部实现,剩下的细节就需要大家不断摸索啦。

希望对大家有所帮助!


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空