预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ADAMS/Controls使用实例 本实例以MATLAB作为外部控制程序,以偏心连杆模型为例,讲解ADAMS与MATLAB的联合仿真过程。主要包括创建机械系统模型、模型参数设置、建立MATLAB控制模型以及结果后处理四个步骤。机械模型建立、模型参数设置这两步为了导出一个可在MATLAB软件Simulink中使用的模块,这个模块包含了所建立ADAMS模型的信息参数,并有输入输出接口。利用这个模块在MALTAB中建立控制系统,就可以控制ADAMS模型,在仿真结束后,可以直接在MATLAB中得到所需的数据结果进行后处理。 偏心连杆的形心与大地以铰链相连,连杆可以绕着铰链转动。连杆右端连接有一个小球,由于小球的存在,使整个机构的质心与形心不重合,若在连杆左端没有力矩作用,连杆将做顺时针运动。本例通过测量连杆运动的角速度、角度,对左端力矩的大小进行不断控制,最终使连杆相对平衡,即其角速度为零。 图7-22偏心连杆模型 以下将详细介绍联合仿真的详细步骤。通过本实例的学习,能够详细了解ADAMS软件与MATLAB联合控制的使用方法。 创建机械系统模型 1、设置单位 启动ADAMS/View,选择新模型,在模型名输入MODEL_1。选择菜单栏【Settings】→【Units】命令,设置模型物理量单位,将单位设置成MMKS,长度和力的单位设置成毫米和牛顿,如图7-23所示: 图7-23设置模型物理量单位 2、创建连杆 单击几何工具包中的连杆按钮,将连杆参数设置为Length=400,Width=20,Depth=20,然后在图形区水平拖动鼠标,创建一个连杆,如图7-24。 图7-24创建连杆 3、创建旋转副 单击运动副工具包中的旋转副按钮,将旋转副的参数设置为1Location和Normaltogird,单击连杆质心处的Marker点,将连杆和大地关联起来,如图7-25所示。 图7-25创建旋转副 4、创建球体 单击几何工具包中的球体按钮,将球体的选项设置为AddtoPart,半径设置为20,然后在图形区单击连杆,再单击连杆右侧处的Marker点,将球体加入到连杆上,如图7-26所示。此时连杆的质心产生了移动。 图7-26创建球体 5、创建单分量力矩 单击载荷工具包中的单分量力矩按钮,将单分量力矩的选项设置为SpaceFixed和NormaltoGrid,将Characteristic设置为Constant,勾选Torque并输入0,然后在图形区单击连杆,再单击连杆左侧的Marker点,在连杆上创建一个单分量力矩,如图7-27所示。 图7-27创建单分量力矩 至此,偏心连杆模型已经建好。 模型参数设置 1、创建输入状态变量 单击菜单【Build】→【SystemElements】→【StateVariable】→【New】,弹出创建状态变量对话框。如图7-28,将Name输入框改成.MODEL_1.Torque(MODEL_1为文件名,Torque为变量名)。单击OK按钮后创建状态变量Torque作为输入变量。 图7-28创建输入变量Torque 3、将状态变量与模型关联 在图形区双击单分量力矩的图标,打开编辑对话框,如图7-28所示,在Function输入框中输入VARVAL(.MODEL_1.Torque),这里VARVAL()是一个ADAMS函数,它返回变量.MODEL_1.Torque的值。通过函数把状态变量Torque与力矩关联起来,力矩取值将来自于状态变量Torque。 图7-28编辑单分量力矩对话框 4、指定状态变量Torque为输入变量 单击菜单【Build】→【ControlsToolkit】→【PlantInput】后,弹出定义控制输入对话框,如图7-29所示。将PlantInputName输入框改成.MODEL_1.PINPUT_Torque,在VariableName输入框中,用鼠标右键快捷菜单输入状态变量.MODEL_1.Torque,单击OK按钮。 图7-29定义控制输入对话框 5、创建输出状态变量 单击菜单【Build】→【SystemElements】→【StateVariable】→【New】,弹出创建状态变量对话框。如图7-30所示,将Name输入框修改成.MODEL_1.Angle,在F(time,…)=输入框中输入表达式AZ(MARKER_3,MARKER_4)*180/PI,单击Apply按钮创建状态变量Angle作为第一个输出变量,然后将Name修改成.MODEL_1.Velocity,在F(