基于admas与matlab联合仿真

本文介绍如何使用ADAMS进行机械系统建模,并通过MATLAB进行控制算法的设计与仿真。主要内容包括:在ADAMS中建立机械系统模型、定义变量与运动学参数,配置ADAMS与MATLAB的接口,以及在MATLAB/Simulink环境中实现控制算法。

通过solidworks进行建模

导入到admas添加材料属性,及约束(转动副),添加力(重力、接触力、碰撞力)

需要定位坐标点,轮子的零件图的圆的圆心

2.创建变量

创建变量如下:

命名好名字点击OK则生成两个变量如图:

3.然后在变量variable_part1中填写函数DX(PART_2.cm)这个函数用来测量构件PART_2质心点cm的X坐标;变量variable_motion1不做任何改变;

在MOTION_1 中填入VARVAL(VARIABLE_motion1),variable_motion1将作为ADAMS的输入变量,MATLAB传递给ADAMS的数据,通过变量variable_motion1传递给MOTION_1。

 

4. 在adams中点击Plugins——Controls——Plant Export,进行adams控制模块设置窗口

点击Plant Export后出现如下界面

然后对图中标记的地方进行修改

同理操作右侧空白选中VARIABLE_Part1_CMx,然后如下图

注意修改Target Software为MATLAB,显示这样的界面后点击OK,此时在模型的工程目录下会生成如下几个文件

这样ADAMS中的操作就已经完成

打开MATLAB,在MATLAB中输入工程目录下生成的文件的文件名如Control_Plant_3,回车MATLAB如下

然后输入adams_sys回车,打开如下的一个窗口

新建一个Simulink空白文档把ADAMS_sub拖进新的文档

双节adams_sub如图

双击MSC_Software如图

设置2中的0.005为ADAMS仿真步长,1中的batch可以自己试着设置一下

设置Simulink的仿真步长,Simulink的仿真步长一定要和ADAMS中的仿真步长一致

 

点击绿色按钮开始仿真,adams_sub就是ADAMS在Simulink中的模型,输入的左右轮速,输出为小车质心的X,y坐标值和速度

ADAMS(Automatic Dynamic Analysis of Mechanical Systems)是一款广泛应用于机械系统动力学仿真的软件,以下介绍使用ADAMS进行棘轮仿真的一般方法和可能的案例思路。 ### 仿真方法 #### 1. 模型创建 在ADAMS中,可以通过多种方式创建棘轮模型。一种是利用ADAMS自带的建模工具,通过绘制基本的几何形状(如圆、多边形等)来构建棘轮和之配合的棘爪等部件。例如,绘制棘轮时,可根据其齿数、齿形等参数确定每个齿的形状和位置。 ```python # 这里只是示意代码,实际ADAMS有自己的命令和操作界面 # 假设创建一个圆形的棘轮基体 create_circle(radius=50) # 半径为50的圆作为基体 # 循环创建棘轮的齿 for i in range(num_teeth): create_tooth(position=i * angle_between_teeth) ``` #### 2. 约束添加 为了模拟棘轮和棘爪的实际运动关系,需要添加合适的约束。一般会添加旋转副(Revolute Joint)到棘轮的中心,使其可以绕轴旋转;同时,在棘爪机架之间也添加旋转副,让棘爪能绕固定点摆动。此外,还需要添加接触约束来模拟棘爪棘轮齿的接触和脱离过程。 ```python # 添加棘轮的旋转副 add_revolute_joint(part=ratchet, axis=[0, 0, 1]) # 绕Z轴旋转 # 添加棘爪的旋转副 add_revolute_joint(part=pawl, axis=[0, 0, 1]) # 添加接触约束 add_contact(ratchet_teeth, pawl_tip) ``` #### 3. 驱动设置 给棘轮或棘爪添加驱动以使其运动。如果模拟棘轮的单向转动,可以给棘爪添加一个周期性的摆动驱动,使其不断棘轮齿接触和脱离,从而带动棘轮单向转动。驱动可以是函数驱动,如正弦函数等。 ```python # 给棘爪添加摆动驱动 add_driver(part=pawl, motion_type="oscillation", function="sin(time)") ``` #### 4. 仿真运行结果分析 设置好仿真的时间、步长等参数后,运行仿真。ADAMS会记录棘轮和棘爪的运动数据,如位移、速度、加速度等。可以通过后处理模块绘制这些数据的曲线,分析棘轮的运动特性,如转动的平稳性、转速变化等。 ```python # 设置仿真参数 set_simulation_time(time=10) # 仿真时间为10秒 set_step_size(step=0.01) # 步长为0.01秒 # 运行仿真 run_simulation() # 后处理分析 plot_displacement(ratchet) plot_velocity(ratchet) ``` ### 案例 以一个简单的手动棘轮扳手为例。在这个案例中,手柄相当于棘爪,棘轮则是扳手头部的可旋转部件。通过手柄的往复摆动,带动棘轮单向转动,从而实现拧紧或松开螺母的功能。 在ADAMS中创建该模型时,首先分别创建手柄(棘爪)和棘轮的几何模型,添加相应的旋转副和接触约束。给手柄添加一个往复摆动的驱动,模拟手动操作。运行仿真后,可以分析棘轮在不同摆动频率和幅度下的转动情况,如每次摆动棘轮的转动角度、转动过程中的冲击等。这有助于优化棘轮扳手的设计,提高其工作效率和可靠性。
评论 24
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值