ADAMS与Matlab联合仿真例子
- 格式:doc
- 大小:333.50 KB
- 文档页数:9
Matlab与adams联合仿真实例本实例以matlab为外部控制程序,使用PID算法控制偏心杆的摆动,使偏心杆平衡到指定位置。
1.在adams/view中建立偏心杆模型图1 偏心杆模型1)新建模型如图所示,将Units设置为MMKS。
设置自己的Working Directory,这里设置为C:\adams\exercise。
点击OK按钮。
图2 新建模型对话框2)创建连杆设置连杆参数为Length=400,Width=20,Depth=20,创建如图所示的连杆。
图3 创建连杆3)创建转动幅在连杆质心MARKER点处创建转动幅,旋转副的参数设置为1Location和Normal To grid将连杆与大地相连。
图4 创建转动幅4)创建球体球体选项设置为Add to part,半径设置为20,单击连杆右侧Marker点,将球体添加到连杆上图5 创建球体5)创建单分量力矩单击Forces>Create a Torque(Single Component)Applied Forces,设置为Space Fixed,Normal to Grid,将Characteristic设置为Constant,勾选Torque并输入0,单击连杆,再点击连杆左侧的Marker点,在连杆上创建一个单分量力矩。
图6 创建单分量力矩2.模型参数设置1)创建状态变量图7 新建状态变量点击图上所示得按钮,弹出创建状态变量对话框,创建输入状态变量Torque,将Name 修改为.MODEL_1.Torque。
图8 新建输入状态变量Torque再分别创建状态变量Angel和Velocity(后面所设计控制系统为角度PID控制,反馈变量为Angel,Velocity为Angel对时间求导,不需要变量Velocity,这里设置Velocity是为了展示多个变量的创建)。
设置Angel的函数AZ(MARKER_3,MARKER_4)*180/PI,Velocity 的函数为WZ(MARKER_3,MARKER_4)*180/PI。
基于MATLAB与ADAMS的机械臂联合仿真研究一、本文概述随着机器人技术的快速发展,机械臂作为机器人执行机构的重要组成部分,其运动性能和控制精度对于机器人整体性能具有决定性影响。
为了提升机械臂的设计水平和控制性能,研究者们不断探索新的仿真技术。
在此背景下,基于MATLAB与ADAMS的机械臂联合仿真研究应运而生,为机械臂的设计优化和控制策略的开发提供了有力支持。
本文旨在探讨基于MATLAB与ADAMS的机械臂联合仿真的方法与技术,并对其进行深入的研究。
介绍了MATLAB和ADAMS软件的特点及其在机械臂仿真中的应用优势。
阐述了机械臂联合仿真的基本原理和步骤,包括模型的建立、动力学方程的求解、控制算法的设计等。
接着,通过实例分析,展示了联合仿真在机械臂运动学性能分析和控制策略验证方面的实际应用。
总结了联合仿真的研究成果,并展望了未来的发展方向。
本文的研究不仅有助于提升机械臂的设计水平和控制性能,也为相关领域的研究者提供了有益的参考和借鉴。
通过不断深入研究和完善联合仿真技术,将为机器人技术的发展注入新的活力。
二、MATLAB与ADAMS联合仿真的理论基础在进行MATLAB与ADAMS的机械臂联合仿真研究时,理解两种软件的理论基础和它们之间的交互方式是至关重要的。
MATLAB作为一种强大的数值计算环境和编程语言,广泛应用于算法开发、数据可视化、数据分析以及数值计算等多个领域。
而ADAMS(Automated Dynamic Analysis of Mechanical Systems)则是一款专门用于多体动力学仿真的软件,特别适用于复杂机械系统的运动学和动力学分析。
MATLAB与ADAMS的联合仿真理论基础主要包括以下几个方面:接口技术:MATLAB与ADAMS之间的数据交换和通信是联合仿真的核心。
通常,这需要通过特定的接口技术来实现,如ADAMS提供的Control接口或MATLAB的Simulink接口。
1.建立一个简单的模型MODEL_Co_Simulation,创建一个构件PART_2,创建一个转动约束JOINT_1,给转动约束一个驱动MOTION_12.创建两个变量VARIABLE_PART2_CMx和变量VARIABLE_motion1创建变量如下:命名好名字点击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中的模型,输入motion为正弦信号,输出为part2质心的X坐标值。
7.1ADAMS/Controls使用实例本实例以MATLAB作为外部控制程序,以偏心连杆模型为例,讲解ADAMS与MA TLAB的联合仿真过程。
主要包括创建机械系统模型、模型参数设置、建立MA TLAB控制模型以及结果后处理四个步骤。
机械模型建立、模型参数设置这两步为了导出一个可在MA TLAB软件Simulink 中使用的模块,这个模块包含了所建立ADAMS模型的信息参数,并有输入输出接口。
利用这个模块在MALTAB中建立控制系统,就可以控制ADAMS模型,在仿真结束后,可以直接在MATLAB 中得到所需的数据结果进行后处理。
偏心连杆的形心与大地以铰链相连,连杆可以绕着铰链转动。
连杆右端连接有一个小球,由于小球的存在,使整个机构的质心与形心不重合,若在连杆左端没有力矩作用,连杆将做顺时针运动。
本例通过测量连杆运动的角速度、角度,对左端力矩的大小进行不断控制,最终使连杆相对平衡,即其角速度为零。
图7-22偏心连杆模型以下将详细介绍联合仿真的详细步骤。
通过本实例的学习,能够详细了解ADAMS软件与MA TLAB联合控制的使用方法。
7.2.1 创建机械系统模型1、设置单位启动ADAMS/View,选择新模型,在模型名输入MODEL_1。
选择菜单栏【Settings】→【Units】命令,设置模型物理量单位,将单位设置成MMKS,长度和力的单位设置成毫米和牛顿,如图7-23所示:图7-23设置模型物理量单位2、创建连杆单击几何工具包中的连杆按钮,将连杆参数设置为Length=400,Width=20,Depth=20,然后在图形区水平拖动鼠标,创建一个连杆,如图7-24。
图7-24创建连杆3、创建旋转副单击运动副工具包中的旋转副按钮,将旋转副的参数设置为1 Location和Normal to gird,单击连杆质心处的Marker点,将连杆和大地关联起来,如图7-25所示。
图7-25创建旋转副4、创建球体单击几何工具包中的球体按钮,将球体的选项设置为Add to Part,半径设置为20,然后在图形区单击连杆,再单击连杆右侧处的Marker点,将球体加入到连杆上,如图7-26所示。
基于ADAMS和MATLAB的汽车主动悬架联合仿真研究基于ADAMS和MATLAB的汽车主动悬架联合仿真研究1. 引言在现代汽车工业中,悬挂系统是保证车辆行驶平稳性和乘坐舒适性的重要组成部分。
传统的汽车悬挂系统是被动的,通过弹簧和减振器来吸收路面不平造成的冲击力,但对于不同路面条件和行驶动态的应对能力有一定的局限性。
随着科技的进步和人们对驾驶体验的要求提高,汽车的主动悬挂系统逐渐得到了广泛关注。
主动悬挂系统能够通过感知路面信息和车辆状态来实时调整悬挂参数,从而提高车辆的行驶稳定性和乘坐舒适性。
2. 主动悬挂系统的工作原理主动悬挂系统由悬挂执行机构、传感器和控制算法等组成。
传感器用于感知路面信息和车辆状态,悬挂执行机构负责实时调整悬挂参数。
控制算法根据传感器获取的信息来生成相应的控制策略,控制悬挂执行机构的工作。
3. ADAMS仿真模型建立ADAMS是一款用于多体动力学仿真的软件,可以模拟机械系统的动力学行为。
在本研究中,我们使用ADAMS软件建立了主动悬挂系统的仿真模型,包括车身、车轮、悬挂执行机构等。
通过在ADAMS中定义悬挂系统的各个参数和控制策略,我们可以模拟不同工况下悬挂系统的工作状态。
4. MATLAB控制算法设计MATLAB是一款强大的数学计算和仿真软件,我们使用MATLAB来设计主动悬挂系统的控制算法。
在控制算法设计中,我们需要考虑路面信息的感知、悬挂参数的调节等因素。
通过MATLAB的编程和仿真工具,我们可以方便地设计和验证不同控制策略的性能。
5. 联合仿真与分析在ADAMS和MATLAB的联合仿真中,我们将MATLAB中设计的控制算法与ADAMS中的悬挂系统模型相结合,进行系统级的仿真和分析。
通过联合仿真,我们可以模拟车辆在不同路面条件下主动悬挂系统的工作情况,评估系统的控制性能和对车辆行驶动态的影响。
6. 结果与讨论通过联合仿真和分析,我们可以得到主动悬挂系统在不同路面条件下的反馈响应结果。
7.1机械夹紧机构建模使用实例机械系统建模实例将创建一种机械夹紧机构模型,是阿波罗登月计划中用于夹紧登月舱和宇宙飞船的十二个夹紧机构之一。
夹紧机构包括:摇臂(Pivot)、手柄(Handle)、锁钩(Hook)、连杆(Slider)和固定块(ground Block)等物体。
夹紧机构的工作原理是:如图7-1所示,在夹紧机构手柄(Handle)处施加一个作用力,驱动机构运动,使其锁钩(Hook)处产生十倍于作用力的夹紧力,用于夹紧登月舱和宇宙飞船。
夹紧机构的设计要求是:至少产生800N的夹紧力;施加在手柄上的力应不大于80N;释放手柄的力应最小;在振动环境中夹紧机构应安全可靠。
手柄Handle锁钩Hook图7-1 夹紧机构三维模型图以下将从创建几何构件、添加约束、添加载荷及结果后处理等几个方面详细介绍机械夹紧机构模型的建立。
通过本实例的学习,能够详细了解ADAMS软件设计流程及使用方法。
7.1.1创建几何构件1、创建新模型本实例将使用ADAMS/View的零件库、约束库和力库创建夹紧机构模型。
首先打开ADAMS/View,选择“Create a new model”,模型名称(Model Name):Latch,点击OK,创建新模型完毕。
其它设置如图7-2所示:图7-2 创建新模型2、设置工作环境选择菜单栏【Settings】→【Units】命令,设置模型物理量单位,如图7-3所示:图7-3设置模型物理量单位选择菜单栏【Settings】→【Working Grid】命令,设置工作网格,如图7-4所示:图7-4设置工作网格3、创建设计点设计点是几何构件形状设计和位置定位的参考点。
本实例将通过设计点列表编辑器创建几何构件模型所需要的全部设计点。
选择并点击几何模型库(Geometric Modeling)中的点(Point),下拉菜单选择(Add to Ground)、(Don’t Attach),并单击Point Table列表编辑器,创建并生成Point_1、Point_2等六个设计点,如图7-5、图7-6所示:图7-5设计点列表编辑器图7-6创建设计点4、创建摇臂(Pivot)选择并点击几何模型库(Geometric Modeling)中的平板(Plate),设置平板厚度值(Thickness)为1,圆角半径(Radius)为1,用鼠标左键选择设计点:Point_1、Point_2、Point_3,按鼠标右键完成摇臂(Pivot)的创建,将其重新命名(Rename)为Pivot,如图7-7所示:图7-7创建摇臂5、创建手柄(Handle)选择并点击几何模型库(Geometric Modeling)中的连杆(Link),用鼠标左键选择设计点:Point_3和Point_4,完成手柄(Handle)的创建,将其重新命名(Rename)为Handle,如图7-8所示:图7-8创建手柄6、创建锁钩(Hook)选择并点击几何模型库(Geometric Modeling)中的拉伸体(Extrusion),选择“New Part”和“Clsoed”,拉伸体长度(Lengh)设为1,用鼠标左键选择表7-1所示的11个位置,按鼠标右键完成锁钩的创建,将其重新命名(Rename)为Hook,如图7-9示:表7-1锁钩节点坐标图7-9创建锁钩7、创建连杆(Slider)选择并点击几何模型库(Geometric Modeling)中的连杆(Link),用鼠标左键选择设计点:Point_5和Point_6,完成连杆(Slider)的创建,将其重新命名(Rename)为Slider,如图7-10所示:图7-10创建连杆8、创建固定块(Ground Block)选择并点击几何模型库(Geometric Modeling)中的长方体(Box),选择“On Ground”,使其与大地(Ground)固结在一起,按下图创建固定体用鼠标左键选择设计点:Point_5和Point_6,完成连杆(Slider)的创建,将其重新命名(Rename)为Slider,如图7-11所示:图7-11创建固定块7.1.2添加约束1、添加旋转约束副选择并点击约束库(Joints)中的旋转副(Revolute Joints);选择“1 Location”(一个位置),“Normal To Grid”(垂直于工作网络),用鼠标左键选择Point_1,创建摇臂和大地的约束副;选择“2 Bodies - 1 Location”(两个物体一个位置),“Normal To Grid”(垂直于工作网络),选择摇臂和锁钩两个物体,左键选择Point_2,创建摇臂和锁钩的约束副;同理选择摇臂和手柄,位置为Point_3,手柄和连杆,位置为Point_5,创建摇臂和手柄、手柄和连杆的旋转约束副。
adams和matlab的联合仿真⼼得经过反复查阅资料和⽆数次尝试,终于初步实现了adams和matlab的联合仿真,放在这⾥,⼀为备忘,⼆为纪念。
*:\MSC.Software\MSC.ADAMS\2005\controls\examples中的ball_beam为例,以下为详细步骤:1、将ball_beam⽂件夹拷贝到任⼀位置,在adams/aview中以"importa file"打开"ball_beam.cmd"。
2、假定已经完成adams的建模、约束和⼒的添加。
3、创建输⼊状态变量:my_torquebuild ->state elements ->state varilable ->new:在name栏内填写“my_torque”。
ok退出。
在主界⾯中需要连接输⼊状态变量的⼒矩标⽰上右点选择"Torque:*** ->modify",在function栏后点击"function builder"按钮,填写函数VARVAL(.ball_beam.my_torque),然后ok退出。
⾄此,完成了“从 my_torque 中获取⼒矩值”的关键⼀步,控制软件matlab到adams的输⼊通道构建完毕。
4、检验定义的状态变量:build ->state elements ->state varilable ->modify中选取my_torque,在F(time..)栏任意填写⼀给定,在主界⾯右点然后使⽤“measure"进⾏某参数值的量测,进⾏仿真判断输出变量设置,完成后改回零值。
5、创建输出状态变量:my_angle, my_positionbuild ->state elements ->state varilable ->new:在name栏内填写“my_angle”。
Adams与Matlab联合仿真例子作者寄语:这个文件是基于李增刚《adams入门详解与实例》一书中,Adams与Matlab联合仿真的例子,以及一个名为《2013版ADAMS与Matlab联合仿真(绝对正确版)》的pdf文件上修改来,为了方便起见,用了一些复制、粘贴,所以中间的一些过程会和这两个文件有所重合,不要惊讶,也不要吐槽。
做这个例子的目的,是站在一个普通学习者的角度,介绍联合仿真,和众多学习adams的人共勉。
我的结论是:以上两个例子中的结果并不矛盾,都是正确的,基本上看了我的例子后,他们的也就懂了。
李增刚第236页开始。
《2013版ADAMS与Matlab联合仿真(绝对正确版)》1、知识储备以上两个例子都用到了PID控制(比例(proportion)、积分(integral)、微分(derivative)控制器)比例就是对误差乘以一个系数积分就是对误差积分然后再乘以一个系数微分是对误差求导注意我的模型,上面是角速度Angle velocity,下面是角度angle,这里的积分是对angle进行积分,导致上面两个例子的不同也就在这,这个地方尤其要注意,不要上下搞反了。
表示的是对angle乘以一个系数,这里选了1,为比例调节,即P调节。
就是对angle的积分,(就是累加的意思),即I调节,然后乘以了系数1。
因为输出的是角速度,角速度就是angle的微分的,所以不用做什么操作,后面乘以了一个系数1。
然后这三个相加起来作为反馈调节,所以用了这个模块,这个表示累减。
将角度值送到Matlab的workspace工作空间,这个表示把时间送到workspace中去,因为角度这里是角度与时间的函数。
注意:这些模块不是必要模块,我只是为了做对比而加上去的,去掉不会对仿真产生影响,但是如果要加的话这两个模块缺一不可。
我的软件是adams2012与Matlab 7.12.0(R2011a)。
现在进入正题1、设置单位启动ADAMS/View,选择新模型,在模型名输入link。
Matlab与adams联合仿真实例本实例以matlab为外部控制程序,使用PID算法控制偏心杆的摆动,使偏心杆平衡到指定位置。
1.在adams/view中建立偏心杆模型图1 偏心杆模型1)新建模型如图所示,将Units设置为MMKS。
设置自己的Working Directory,这里设置为C:\adams\exercise。
点击OK按钮。
图2 新建模型对话框2)创建连杆设置连杆参数为Length=400,Width=20,Depth=20,创建如图所示的连杆。
图3 创建连杆3)创建转动幅在连杆质心MARKER点处创建转动幅,旋转副的参数设置为1Location和Normal To grid将连杆与大地相连。
图4 创建转动幅4)创建球体球体选项设置为Add to part,半径设置为20,单击连杆右侧Marker点,将球体添加到连杆上图5 创建球体5)创建单分量力矩单击Forces>Create a Torque(Single Component)Applied Forces,设置为Space Fixed,Normal to Grid,将Characteristic设置为Constant,勾选Torque并输入0,单击连杆,再点击连杆左侧的Marker点,在连杆上创建一个单分量力矩。
图6 创建单分量力矩2.模型参数设置1)创建状态变量图7 新建状态变量点击图上所示得按钮,弹出创建状态变量对话框,创建输入状态变量Torque,将Name 修改为.MODEL_1.Torque。
图8 新建输入状态变量Torque再分别创建状态变量Angel和Velocity(后面所设计控制系统为角度PID控制,反馈变量为Angel,Velocity为Angel对时间求导,不需要变量Velocity,这里设置Velocity是为了展示多个变量的创建)。
设置Angel的函数AZ(MARKER_3,MARKER_4)*180/PI,Velocity的函数为WZ(MARKER_3,MARKER_4)*180/PI。
摘要汽车电子稳定程序系统ESP是一种新型主动安全控制系统,也是最近几年汽车安全领域研究的热点。
这种新型系统能够根据汽车驾驶员的意图和路面状况主动的控制汽车的运动,避免危险状况的发生,提高行驶安全性。
本文首先对ESP的稳定控制原理进行了分析,并利用Matlab/simulink 建立了汽车二自由度模型,得到汽车在行驶中理论的横摆角速度和质心侧偏角,然后在Adams/Car建立了汽车整车模型,并对该模型进行了仿真试验,以便为后续的实验研究提供准确的模型。
在控制方面选用PID控制,以横摆角速度和质心侧偏角的误差作为输入,把调整汽车稳定所需要的力矩作为输出。
用Adams/Control将汽车模型和Simulink连接后,又对整车车进行了转向盘阶跃模拟试验,试验结果表明配有ESP系统的汽车有比较好的路径保持能力,转弯半径明显减小,且横摆角速度和质心侧偏角都能得到较好的控制。
由此可以看出ESP确实能较好的改善汽车操纵稳定性和汽车行驶的安全性。
关键词:汽车;ESP;二自由度模型;PID控制;联合仿真。
参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参AbstractESP Electronic Stability Program system is a new active safety control system. In recent years it also became the hot field of automotive safety research. The new system based on the intention of driver can actively control and road conditions motorists sports car, to avoid dangerous situations and improve driving safety.The ESP stability control principle is analyzed at first,and the two degree of freedom model car is also established by Matlab / Simulink .From it getting the theory of yaw rate and lateral sideslip angle, then Adams / car automobile model was established. At last a simulation experiment is made on this model in order to provide an accurate model for the subsequent experimental study. As control ,the PID control is used and the yaw rate and sideslip angle error are used as input, the torque required to adjust the car stable as output.With Adams / Control after the car model and Simulink connection, and carried out on the vehicle steering wheel vehicle simulation step.The results showed that the car is equipped with ESP systems ability to maintain a relatively good path, turning radius is significantly reduced, and the yaw rate and sideslip angle can be better controlled. It can be seen that ESP really can better improve vehicle handling and stability and safety of cars.Key words: Vehicle; ESP; Two degrees of freedom model ; PID control;C o-simulation;参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参目录摘要 (I)Abstract (II)1 绪论 (1)1.1 研究ESP的背景和意义 (1)1.2 ESP系统的关键技术 (2)1.3 国内外ESP 系统研究 (3)1.4本文研究的主要内容 (8)2 ESP系统的基本理论 (9)2.1汽车失稳的原因分析 (9)2.2 ESP系统的介绍 (11)2.3 ESP系统的控制策略分析 (13)2.4本章小结 (15)3 汽车模型的建立 (16)3.1 相关软件的介绍 (16)3.2 影响汽车稳定性的参数 (21)3.3 汽车参考模型的建立 (22)3.4 Adams/Car汽车模型的建立 (24)3.5整车模型的检验 (28)3.6本章小结 (30)4 基于汽车ESP控制系统的设计 (31)4.1 ESP系统控制系统的分析 (32)4.2 PID控制系统 (34)4.3 本章小结 (41)参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参5 基于Adams和Matlab 的汽车ESP联合仿真 (42)5.1联合仿真的简介 (42)5.2导入Adams子系统模型 (43)5.3 PID控制的ESP仿真模型的建立与分析 (46)5.5 本章小结 (49)6 结论与展望 (50)参考文献 (52)致谢 (54)附录 (55)参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参1 绪论1.1 研究ESP的背景和意义在现代社会中,汽车在我们的日常生活中充当着重要角色,成为人们日常工作生活不可或缺的工具,相应的汽车的安全性也越来越受到人们的关注。
7.1ADAMS/Controls使用实例本实例以MA TLAB作为外部控制程序,以偏心连杆模型为例,讲解ADAMS与MA TLAB的联合仿真过程。
主要包括创建机械系统模型、模型参数设置、建立MA TLAB控制模型以及结果后处理四个步骤。
机械模型建立、模型参数设置这两步为了导出一个可在MA TLAB软件Simulink 中使用的模块,这个模块包含了所建立ADAMS模型的信息参数,并有输入输出接口。
利用这个模块在MALTAB中建立控制系统,就可以控制ADAMS模型,在仿真结束后,可以直接在MA TLAB 中得到所需的数据结果进行后处理。
偏心连杆的形心与大地以铰链相连,连杆可以绕着铰链转动。
连杆右端连接有一个小球,由于小球的存在,使整个机构的质心与形心不重合,若在连杆左端没有力矩作用,连杆将做顺时针运动。
本例通过测量连杆运动的角速度、角度,对左端力矩的大小进行不断控制,最终使连杆相对平衡,即其角速度为零。
图7-22偏心连杆模型以下将详细介绍联合仿真的详细步骤。
通过本实例的学习,能够详细了解ADAMS软件与MA TLAB联合控制的使用方法。
7.2.1 创建机械系统模型1、设置单位启动ADAMS/View,选择新模型,在模型名输入MODEL_1。
选择菜单栏【Settings】→【Units】命令,设置模型物理量单位,将单位设置成MMKS,长度和力的单位设置成毫米和牛顿,如图7-23所示:图7-23设置模型物理量单位2、创建连杆单击几何工具包中的连杆按钮,将连杆参数设置为Length=400,Width=20,Depth=20,然后在图形区水平拖动鼠标,创建一个连杆,如图7-24。
图7-24创建连杆3、创建旋转副单击运动副工具包中的旋转副按钮,将旋转副的参数设置为1 Location和Normal to gird,单击连杆质心处的Marker点,将连杆和大地关联起来,如图7-25所示。
图7-25创建旋转副4、创建球体单击几何工具包中的球体按钮,将球体的选项设置为Add to Part,半径设置为20,然后在图形区单击连杆,再单击连杆右侧处的Marker点,将球体加入到连杆上,如图7-26所示。
此时连杆的质心产生了移动。
图7-26创建球体5、创建单分量力矩单击载荷工具包中的单分量力矩按钮,将单分量力矩的选项设置为Space Fixed和Normal to Grid,将Characteristic设置为Constant,勾选Torque并输入0,然后在图形区单击连杆,再单击连杆左侧的Marker点,在连杆上创建一个单分量力矩,如图7-27所示。
图7-27创建单分量力矩至此,偏心连杆模型已经建好。
7.2.2 模型参数设置1、创建输入状态变量单击菜单【Build】→【System Elements】→【State V ariable】→【New】,弹出创建状态变量对话框。
如图7-28,将Name输入框改成. MODEL_1.Torque(MODEL_1为文件名,Torque为变量名)。
单击OK按钮后创建状态变量Torque作为输入变量。
3、将状态变量与模型关联在图形区双击单分量力矩的图标,打开编辑对话框,如图7-28所示,在Function输入框中输入V ARV AL(.MODEL_1.Torque) ,这里V ARV AL()是一个ADAMS函数,它返回变量.MODEL_1.Torque的值。
通过函数把状态变量Torque与力矩关联起来,力矩取值将来自于状态变量Torque。
图7-28 编辑单分量力矩对话框4、指定状态变量Torque为输入变量单击菜单【Build】→【Controls Toolkit】→【Plant Input】后,弹出定义控制输入对话框,如图7-29所示。
将Plant Input Name 输入框改成.MODEL_1.PINPUT_Torque, 在Variable Name 输入框中,用鼠标右键快捷菜单输入状态变量.MODEL_1.Torque,单击OK按钮。
图7-29 定义控制输入对话框5、创建输出状态变量单击菜单【Build】→【System Elements】→【State V ariable】→【New】,弹出创建状态变量对话框。
如图7-30所示,将Name输入框修改成.MODEL_1. Angle,在F(time,…)=输入框中输入表达式AZ(MARKER_3,MARKER_4)*180/PI,单击Apply按钮创建状态变量Angle作为第一个输出变量,然后将Name修改成.MODEL_1.V elocity,在F(time,…)=输入框中输入表达式WZ(MARKER_3,MARKER_4)*180/PI,如图7-31所示。
其中AZ()函数返回绕Z轴旋转的转角,这里代表连杆相对于转轴的转角,WZ()函数返回绕Z轴旋转的角速度,这里代表连杆的角速度。
图7-30 创建输出变量Angle 图7-31 创建输出变量V elocity6、指定状态变量angle、V elocity为输出变量单击菜单【Build】→【Controls Tookit】→【Plant Output】后,弹出创建控制输出对话框,如图7-32所示。
将Plant Output Name输入框修改成. MODEL_1.PINPUT_output。
在V ariable Name 输入框中,用鼠标右键快捷菜单输入状态变量Angel和V elocity,单击OK按钮。
图7-32创建控制输出对话框7、导出控制参数如果还没有加载ADAMS/Controls模块,单击菜单【Tools】→【Plugin Manager】,在弹出的插件管理对话框中选择ADAMS/Controls模块,并单击OK按钮,之后出现一个新的菜单Controls。
单击菜单【Controls】→【Plant Export】,弹出导出控制参数对话框,如图7-33所示。
在File Prefix 输入框中输入controlspid,在Plant Input输入框中用鼠标右键快捷菜单输入PINPUT_Torque,在Plant Output输入框中用鼠标右键快捷菜单输入.PINPUT_output,将Control package选择为MA TLAB,Type选择为non_linear,Initial Static Analysis选择NO,ADAMS/Solver Choice选择为Fortran。
单击OK按钮后,在ADAMS的工作目录下将生成controlspid.m、controlspid.cmd、controlspid.adm这3个文件。
图7-33 导出控制参数对话框7.2.3 建立MATLAB控制模型1、导出ADAMS模型在MA TLAB里的模块启动MA TLAB ,先将MA TLAB的工作目录指向ADAMS的工作目录,方法是单击工作栏中Current Direction后的按钮,弹出选择路径对话框。
在MA TLAB命令窗口的>>提示符下,输入controlspid,也就是controlspid.m的文件名,然后在>>提示符下输入命令ADAMS_sys ,该命令是ADAMS与MA TLAB的接口命令。
在输入ADAMS_sys命令后,弹出一个新的窗口,该窗口是MA TLAB/Simulink的选择窗口,其中S-Function方框表示ADAMS模型的非线性模型,即进行动力学计算的模型,State-Space表示ADAMS模型的线性化模型,在ADAMS_sub包含有非线性方程,也包含许多有用的变量。
2、建立控制方案在MA TLAB/Simulink选择窗口中,单击菜单【File】→【New】→【Model】后,弹出一个新的窗口,单击工具栏中的保存按钮,将新窗口存盘为control_model.mdl(不能与.m文件同名),将ADAMS_sub方框拖拽到control_model.mdl窗口中,并参考图7-34完成控制系统的搭建,也可采用其他的控制方案。
图7-34 连接后的控制方案3、设置MA TLAB与ADAMS之间的数据交换参数在control_model.mdl窗口中双击ADAMS_sub方框,在弹出的新的窗口中双击MSCSDoftware,弹出数据交换参数设置对话框,将Interprocess设置为PIPE(DDE) ,如果不是在一台计算机上,选择TCP/IP,将Communication Interval输入框中输入0.005,表示每隔0.005s在MA TLAB和ADAMS之间进行一次数据交换,若仿真过慢,可以适当改大该参数,将Simulation Mode设置为continuous,Animation mode设置成interactive,表示交互式计算,在计算过程中会自动启动ADAMS/View,以便观察仿真动画,如果设置成batch,则用批处理的形式,看不到仿真动画,其他使用默认设置即可。
4仿真设置和仿真计算。
单击窗口中菜单【Simulation】→【Simulation Parameters】,弹出仿真设置对话框,在Solver 页中将Start time设置为0,将Stop time设置为20,将Type设置为Variable-step,其他使用默认选项,单击OK按钮。
最后单击开始按钮,开始仿真。
(若出现错误,重启MATLAB即可。
每次启动MATLAB都需要选择路径到包含controlspid.m、controlspid.cmd、controlspid.adm的文件夹,并输入controlspid(.m文件名)和ADAMS_sys(ADAMS与MA TLAB的接口命令))。
7.2.4 结果后处理在MA TLAB示波器中,可以得到角度和力矩的曲线。
得到的V elocity变量曲线和Torque变量曲线分别如图7-35和图7-36所示。
此模型初始受重力作用,产生转动,通过控制力矩的大小,最终角速度为零,模型达到平衡。
图7-35 变量V elocity随时间的变化图7-36 变量Torque随时间的变化。