![69d7dd5fe42f336374deb2c80de853d8.png](https://i-blog.csdnimg.cn/blog_migrate/269fa7d31d16b877a04e4b563df0d28e.jpeg)
最近因为课题需要,学习了一下如何用Matlab与Adams进行联合仿真,这方面资料网上有一些,但是大多讲的很粗糙,而且大多数都是纯英文的,下面我就把自己学习的结果做一个总结,希望对大家有帮助。
一、基本软件介绍
本次联合仿真用到的软件版本为:Solidworks2019、Adams2018、Matlab2018b。
二、Solidworks绘制三维模型
Adams的三维建模能力相比于Solidworks这样的专业建模软件来说还是有差距的,所以三维模型的绘制这块我就通过Solidworks2019来实现。
图1所示为本次实验的对象,我们用Solidworks2019创建了一个直径10mm,长度150mm的圆杆,材料我们选择304钢材,图2、图3所示为材料相关属性,图4为该模型的质量属性,质量属性将随模型一起导入到Adams中。
![353f55e0ff11aca1b8704bb18f46715e.png](https://i-blog.csdnimg.cn/blog_migrate/f597307966b4d1b675fe2f729d18a475.jpeg)
![8e646d36e20beda5c664c3175d7aeb3e.png](https://i-blog.csdnimg.cn/blog_migrate/70fd9bc445baa92c71cd5a39b7d765d1.png)
![3e2a6aef1038cbb5ded94c829cd7506f.png](https://i-blog.csdnimg.cn/blog_migrate/ba0b84a0dcdb4596389b81a7b25b5e65.jpeg)
![5bf6f222aff1dd6082985a9bfb84e096.png](https://i-blog.csdnimg.cn/blog_migrate/62d66face8e586c79f69d42840bbda3a.jpeg)
模型创建好后另存为.x_t类型的文件。
![4483062767a9b87c0cae4598a7c5054f.png](https://i-blog.csdnimg.cn/blog_migrate/b4d0456cc1d7f6ad2364a98a38ed6a39.jpeg)
三、Adams创建机械系统
右击桌面Adams View2018图标,进入属性,将我们仿真文件的工作目录复制并粘贴到起始位置栏,用同样的方法修改Matlab工作目录,如图6、图7所示。
![b06c4afe279e7e001a0e572be469c426.png](https://i-blog.csdnimg.cn/blog_migrate/c4ba0fc60fd73c9778a11f2b3315e3fd.jpeg)
![23179840c190fbcbd98d3a2fb8e5d5b4.png](https://i-blog.csdnimg.cn/blog_migrate/a71bc8d0eb27b043cafcd52dd2b8b254.jpeg)
打开Adams,新建模型。
![ceab4d294cc9d74ce173adaf8e36388d.png](https://i-blog.csdnimg.cn/blog_migrate/67ab5c61e01b8f705d28058a86479425.png)
![f3e2c28ff616442cad757a93272e2a10.png](https://i-blog.csdnimg.cn/blog_migrate/62caba00d09ecf11d15628206b704c08.png)
导入模型,文件类型选择.x_t类型,读取文件选择之前Solidworks保存的.x_t文件,并命名模型名称。
![be739e852818fc661e0b5c9ba4e48877.png](https://i-blog.csdnimg.cn/blog_migrate/1abe21b5a63006c79beb0198cb7a4936.png)
![3765c0137752263bcce2471e9d2c3bf0.png](https://i-blog.csdnimg.cn/blog_migrate/0eb3667d0219ef9fd3b94cef91d1fcc0.png)
修改渲染模式为精确填充,这样模型看起来更好看。
![225f08ad4cd575d804a4ec9d35330ac0.png](https://i-blog.csdnimg.cn/blog_migrate/12b59473ea5140c97528ae70db743847.jpeg)
![c0d2f8587f5d96c909bba5f1d013f948.png](https://i-blog.csdnimg.cn/blog_migrate/45a8973dd6812578f04196e5aca95d76.png)
右击PART2模型,选择修改,可以查看模型的密度以及惯性矩、质量等属性,这个跟之前之前Solidworks中的质量属性是一致的结果。
![77447e78098595f48114018e086f62e6.png](https://i-blog.csdnimg.cn/blog_migrate/213c5a8d5131170a19a1b9de1d03b978.jpeg)
![ed4300c79886ae2732e0c0de7faca37f.png](https://i-blog.csdnimg.cn/blog_migrate/9774240ec4d71ce3829ca24ccb478bc5.jpeg)
添加旋转副,构建方式如图15所示,图16所示为旋转副添加结果。
![3c25f7a905c0b6c135ecf5814752ac67.png](https://i-blog.csdnimg.cn/blog_migrate/54af32a0f986fb58db0e3d009a9b805e.png)
![66e808884f493590d6ccbdc2d3c37a98.png](https://i-blog.csdnimg.cn/blog_migrate/b35e1aa390cd2ad90a344d17d1b85e2c.jpeg)
添加力矩到旋转副上,构建方式如图17所示,力矩大小选择为0。
![5507a3c418adf6bfe08604c0096795d4.png](https://i-blog.csdnimg.cn/blog_migrate/6b73ea98b5bd4762c2dac595109790d4.png)
![fb36586a25ceee8942c90fe39d07a7fe.png](https://i-blog.csdnimg.cn/blog_migrate/cf5f0c826e48029122ce251f899336c1.png)
添加状态变量,命名为torque,如图19、图20所示,同样的方法添加angle和angular_velocity变量。
![4a1cee315d02bc7ff5d9ba6b2a7ef2f6.png](https://i-blog.csdnimg.cn/blog_migrate/904104f31447dfa6a662659b1dc8eee0.jpeg)
![9f161a67e0961fc4ccbf027324b8d71f.png](https://i-blog.csdnimg.cn/blog_migrate/f74f05832b80a84bd1d8b090bf54224f.png)
修改力矩函数,并将其关联到图19添加的状态变量,删掉原来的0值,选择数据单元,点击辅助
![7d68637bd4db6c342a54fb5a82d67cf0.png](https://i-blog.csdnimg.cn/blog_migrate/0edb150bc4f284014ec6dab13dddd350.jpeg)
![7fd3772f06659c1595838a5aa6b9d69b.png](https://i-blog.csdnimg.cn/blog_migrate/bffb1302dab51be5ca11c6a4a9e698af.jpeg)
![66afa85b96c553ff247aaeb1e207eceb.png](https://i-blog.csdnimg.cn/blog_migrate/f29df7bbba27c052b34d4b3cf30c6376.png)
![6c42471b0f180af95502669ff62aaffd.png](https://i-blog.csdnimg.cn/blog_migrate/106daf7909e84151d2d14c0e78f6aa12.png)
修改angle函数,如图26,右击角度,修改,删除原来的0,选择位移,选择Angle about z(根据模型在Adams中的选转轴进行选择),点击辅助,然后根据模型和大地之间的坐标系选择标记点,如图27所示。同样的方法修改angular_velocity变量的函数,如图28所示。
![dd6c75201804c633064b4bb2f6a4194d.png](https://i-blog.csdnimg.cn/blog_migrate/3b61d3e438cb7a96cd86334a1af0e77b.jpeg)
![3162b50b43ba2d71171b0a72d7c25fde.png](https://i-blog.csdnimg.cn/blog_migrate/e29cc195f72e476c02374bf5d34d25d8.png)
![8c0d6cabec32d6baf0b2d0c083e33137.png](https://i-blog.csdnimg.cn/blog_migrate/66143ef06797e16242adc710cff9b9b0.jpeg)
添加输入量(torque),同样的方法添加输出量(angle和angular_velocity)。
![7d75b023765668926fc692be9fe6bdcd.png](https://i-blog.csdnimg.cn/blog_migrate/79b2793953358a83fdc45ed74467963c.jpeg)
![a4394c118ea8fdfd4dfd8019f817bb35.png](https://i-blog.csdnimg.cn/blog_migrate/2ac38a341f35a31aa4eccb596834a1c3.png)
选择Adams Controls插件,导出机械系统,如图31、图32所示。
![046f4010580d1780b65cce927d0bcc93.png](https://i-blog.csdnimg.cn/blog_migrate/9f5f8bd8bfd87f707b66c2dc249f694b.png)
![b152ad2771aa83fa8484aba29f0d82cf.png](https://i-blog.csdnimg.cn/blog_migrate/b7bf7ba19c5ac15c35a9da2685bcd284.jpeg)
至此,Adams机械系统已经搭建完毕。
四、Matlab搭建仿真系统
打开Matlab,运行Pendulum_a指令(就是Adams导出机械系统的文件名),如图33所示。
![9654497e81dd30326f986fccc6940f7e.png](https://i-blog.csdnimg.cn/blog_migrate/78eca80ecd0f626be36325499d2dc5e0.png)
运行adams_sys指令,调出adams的simulink系统,中间黄色的模块(adams_sub)就是我们需要的机械系统模型。
![5009fc30db8e773eb56448da2af3b7eb.png](https://i-blog.csdnimg.cn/blog_migrate/27a73671ec8bcb1b9df9ec1bc15da96e.jpeg)
创建一个新的simulink文件,并添加需要的模块进去,构建仿真系统,如图35、图36所示,这里采用PD控制器,控制杆到某一个固定的角度。
![4aff022612c488143ad2d135512f91c8.png](https://i-blog.csdnimg.cn/blog_migrate/2461327a696108b08460b7e5343c3ed8.jpeg)
![13e367f9b109af5eba290aca9a27d809.png](https://i-blog.csdnimg.cn/blog_migrate/c4429de974f2373f4eb20b92fac27986.png)
修改adams_sub,双击adams_sub进入子模块,再双击ADAMS Plant(如图37)修改参数如图38所示。
![483a13f61e215deb59a656f1fb6c0637.png](https://i-blog.csdnimg.cn/blog_migrate/5baa7aed737bad9ad243320a5a1399ac.png)
![c97bdb37b4229c2153e30c37b00983ec.png](https://i-blog.csdnimg.cn/blog_migrate/13bcb71b1c1421231226867e10102c1a.jpeg)
点击Run进行仿真,Adams会被自动打开,可以看到仿真动画效果,如图40所示。
![1da3836d1d930ee805f531f1fc70955e.png](https://i-blog.csdnimg.cn/blog_migrate/02d6f38769f6bf796c40ef3b4df19768.png)
![73906a350f7c26dad1e866277acd190c.png](https://i-blog.csdnimg.cn/blog_migrate/05cc5d7bb9222a43dc8ca6d81e842d62.jpeg)
打开示波器可以看到仿真数据监控图像。
![79395333a848b3a009d170b5e5890f25.png](https://i-blog.csdnimg.cn/blog_migrate/c2fddbe1a6e47763d1925cd6a5581c77.jpeg)
至此,通过Matlab和Adams联合仿真的步骤就已经全部实现,剩下的细节就需要大家不断摸索啦。
希望对大家有所帮助!