失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Adams与matlab联合仿真的一些小技巧

Adams与matlab联合仿真的一些小技巧

时间:2024-05-17 03:42:40

相关推荐

Adams与matlab联合仿真的一些小技巧

Adams与simulink联合仿真之快速设置初值

去年到现在一直做的两个项目要用到Adams与simulnk联合仿真,虽然网上有很多这方面的教程,但都比较基本,要实现一些稍微复杂的要求就比较困难了,比如我需要改变模型的初始位姿,原来的方式是在adams中设置,再生成联合仿真需要的文件,再在matlab中进行调用和仿真,如果工况多的话这样就特别耗时耗力,经过长时间的摸索,终于找出了在matlab中直接改变Adams模型参数的方法,下面具体说明一下。

我这里的模型是一个小球通过弹簧连接在坐标原点,仿真开始后在重力作用下会振荡运动,模型的输出是小球的速度和位移,输入是作用在小球上的控制力。建立两个设计变量,分别为小球的初始速度和弹簧的刚度。由于建模到这一部分网上有很多教程,此处不再赘述。

然后在simulink中导入Adams模型并加上自己的控制模块,连成回路。这一步网上也有很多其他教程,所以不详细讲了。

再然后创建一个matlab脚本,如下所示:

clearclcsimus_ctrlcmd1= 'variable modify variable_name = .test.y0 real_value = -0.1!';cmd2='move translation part = ball c1=0.0 c2=-200 c3=0.0!';cmd3 = 'variable modify variable_name = .test.K real_value = 0.1!';ADAMS_init =[cmd1 cmd2 cmd3];sim('ball_ctrl')

其中,第4行为Adams导出的文件名,运行以生成联合仿真需要的参数;

第6行设置小球的初速度y0,这是之前在Adams中建立的设计变量,并和小球的初速度关联起来了;

第7行设置小球的初始位置,c1,c2,c3为小球在惯性系里 的位置坐标;

第8行设置弹簧刚度K,这也是这是之前在Adams中建立的设计变量,并和弹簧刚度关联起来了。

注意:第6行到第8行每行后边都要加感叹号!!要不然只能执行第一句,然后会出错!

第10行是把上面的三条命令赋值给ADAMS_init,这个参数在simulink中Adams模块点开会看到,初值设置的命令就行通过它传给Adams模型的。

最后,第12行,运行simulink,进行仿真。

通过这样的方式,直接在matlab中就可以修改你关心的量,不用再去Adams中修改,然后导出文件,再导入matlab,大大提高了工作效率!

如果觉得《Adams与matlab联合仿真的一些小技巧》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。