ADAMS与Matlab联合仿真

合集下载

Matlab与adams联合仿真+仿真结果动画地保存与后处理

Matlab与adams联合仿真+仿真结果动画地保存与后处理

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联合仿真的理论基础在进行MATLAB与ADAMS的机械臂联合仿真研究时,理解两种软件的理论基础和它们之间的交互方式是至关重要的。

MATLAB作为一种强大的数值计算环境和编程语言,广泛应用于算法开发、数据可视化、数据分析以及数值计算等多个领域。

而ADAMS(Automated Dynamic Analysis of Mechanical Systems)则是一款专门用于多体动力学仿真的软件,特别适用于复杂机械系统的运动学和动力学分析。

MATLAB与ADAMS的联合仿真理论基础主要包括以下几个方面:接口技术:MATLAB与ADAMS之间的数据交换和通信是联合仿真的核心。

通常,这需要通过特定的接口技术来实现,如ADAMS提供的Control接口或MATLAB的Simulink接口。

基于Adams与Matlab的汽车电动助力转向系统的联合仿真

基于Adams与Matlab的汽车电动助力转向系统的联合仿真

基于Adams与Matlab的汽车电动助力转向系统的联合仿真一、本文概述随着汽车工业的快速发展和环保理念的深入人心,电动汽车在全球范围内得到了广泛的关注和研究。

电动助力转向系统(EPS)作为电动汽车的重要组成部分,其性能直接影响到车辆的操控性和安全性。

对电动助力转向系统进行深入研究,优化其设计,提高其性能,对于推动电动汽车的发展具有重要意义。

本文旨在通过Adams与Matlab的联合仿真,对汽车电动助力转向系统进行深入研究。

介绍了电动助力转向系统的基本原理和结构,分析了其在实际应用中的挑战和难点。

详细阐述了Adams和Matlab在电动助力转向系统仿真中的应用,包括模型的建立、仿真参数的设置、仿真结果的获取和分析等。

通过Adams进行机械系统的运动学和动力学仿真,结合Matlab进行控制系统设计和优化,实现了对电动助力转向系统的全面仿真分析。

本文的研究方法结合了仿真模拟和理论分析,旨在通过联合仿真,对电动助力转向系统的性能进行深入挖掘和优化。

通过对比不同参数和设计方案下的仿真结果,本文为电动助力转向系统的设计和优化提供了有价值的参考。

本文的研究不仅有助于加深对电动助力转向系统的理解,也为电动汽车的发展提供了有益的探索和实践。

通过Adams与Matlab的联合仿真,我们可以更加准确地预测和优化电动助力转向系统的性能,为电动汽车的安全性和操控性提供有力保障。

二、汽车电动助力转向系统概述汽车电动助力转向系统(Electric Power Steering,简称EPS)是一种通过电动机提供辅助转向力矩的先进转向系统。

该系统主要由转向传感器、车速传感器、扭矩传感器、电子控制单元(ECU)和助力电机等组成。

EPS系统的核心在于电子控制单元,它可以根据驾驶员的转向意图、车速以及转向力矩等因素,实时计算出所需的辅助转向力矩,并通过助力电机为驾驶员提供适当的助力。

与传统的液压助力转向系统(Hydraulic Power Steering,简称HPS)相比,EPS系统具有诸多优势。

MATLAB和ADAMS联合仿真

MATLAB和ADAMS联合仿真

1. 版本兼容问题。

Adams和Matlab版本有兼容性。

至少Adams2005+ Matlab7、ADAMS2005+Matlab6.5都是可以的。

其他的我没有试过。

一般而言,版本是没问题的。

关于adams和其他软件的兼容性问题在msc的官方网站上有更详细的说明,您可以随时查阅。

但也确实有位网友反映他的adams2005和matlab7联合仿真不成功,卸载了7.0,按装了6.5就可以了。

如果您实在怀疑是版本的问题,您不妨一试。

2. Adams/Control模块的安装进入Adams/View之后,菜单Tools→Plugin Manager,出现Plugin Manager对话框,选择Load 下的Adams/Control,单击OK就可。

在Load下选择,每次都需要重复的安装;在Load at Startup下选择的话,每次模块都自动启动。

3. Adams界面遮挡仿真画面的问题。

仿真时出现“系统找不到指定文件”错误,仿真能执行,adams仿真界面中出现打开窗口,挡住了仿真画面,请问如何去掉?解决办法是:打开<MSC.ADAMS>\aview\aviewAS.cmd 文件。

在interface dialog display dialog=.gui.new_session那一行前面加一个!。

不过要记得先将文件属性的…只读‟去掉。

点右键->编辑即可打开。

4. 联合仿真的具体步骤可以参阅wxd的两个经典帖子,在精华区就有。

或者您利用搜索功能,搜索wxd发表的帖子。

还有ndlx2001的“matlab7.1+adams2005联合仿真经验”友情提示一:您做的时候细心点,有位朋友在matlab里输入adams_sys的时候将adams_sys 写成了adasm_sys浪费了不少时间。

:)友情提示二:真的找不到adams-plant.dll和plant.dll的时候您可以在电脑上搜索。

MATLAB+ADAMS联合仿真

MATLAB+ADAMS联合仿真

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坐标值。

ADAMS与Matlab联合仿真例子

ADAMS与Matlab联合仿真例子

ADAMS与Matlab联合仿真例子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所示。

ADAMS与Matlab联合仿真

ADAMS与Matlab联合仿真

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,创建摇臂和手柄、手柄和连杆的旋转约束副。

(完整版)Matlab与adams联合仿真+仿真结果动画的保存与后处理

(完整版)Matlab与adams联合仿真+仿真结果动画的保存与后处理

(完整版)Matlab与adams联合仿真+仿真结果动画的保存与后处理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)AppliedForces,设置为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是为了展示多个变量的创建)。

adams和matlab的联合仿真心得

adams和matlab的联合仿真心得

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”。

adam与matlab联合仿真的实现

adam与matlab联合仿真的实现

以电动助力转向的联合仿真实现为例,看看怎么联合起来的4.3 ADAMS-MATLAB联合仿真实现ADAMS提供了两种实现机电一体化联合仿真的方法。

一种方法是利用ADAMS 提供的控制工具箱(Control Toolkit)来实现控制等电气系统与机械系统的联合仿真。

控制工具箱提供简单的线性控制模块和滤波模块,可以方便地实现前置滤波、PID控制和其他连续时间单元的模拟仿真。

对于较为简单的控制问题,可以直接在样机模型中添加控制模块,搭建控制系统,完成机电一体化联合仿真。

另一种方法是使用ADAMS/Control模块来实现,利用ADAMS/Control模块可以实现将在ADAMS中建立的样机机械模型与MATLAB、EASY5、MATRIX等软件中建立的电气模型联合起来,实现机电一体化联合仿真。

由于在MATLAB/Simulink中进行电气控制系统建模非常方便,很适合建立比较复杂的控制系统模型,所以本文使用ADAMS/Control模块来将在ADAMS/Car中建立的整车模型与在MATLAB/Simulink中建立的电动助力转向系统模型联合起来,完成整个机电一体化联合仿真。

仿真的过程中,会在ADAMS/Car和MATLAB/Simulink中形成回路[31],如图4-10所示:图 4-10 ADAMS/Car和MATLAB/Simulink联合仿真回路图中,Control Application即在MATLAB/Simulink中建立的电动助力转向系统。

ADAMS/Car中的整车模型输出车速及方向盘扭矩,作为MATLAB/Simulink中建立的电动助力转向系统的输入,电动助力转向系统输出齿条助力,作为整车模型的输入,在仿真的过程中的每个采样时刻信号在两个软件之间进行交换一次。

本文实现联合仿真的过程如下[32][33][34]:1. 要定义好整车模型的输入输出:(1)建立输入,在建立转向系统模板时提到要在Template Builder模式下建立状态变量rack_ assist_ force,使用VARVAL函数,使VFORCE取状态变量rack_ assist_ force的值,即VFORCE的函数值设为VARVAL(._rack_pinion_steering.rack_assist_force),再建立一个名为“control”的Plant_ Input,使用状态变量rack_ assist_ force。

MATLAB和ADAMS联合仿真实现一种位置控制系统.

MATLAB和ADAMS联合仿真实现一种位置控制系统.

MATLAB 和ADAMS 联合仿真实现一种位置控制系统0. 预先操作01 在D 盘根目录下新建文件夹Model ,路径中无空格、无中文字符,模型统一存放处。

1. ADAMS 中建模过程1.1 启动ADMAS双击桌面图标:或从“开始”中选择启动:1.2 进入ADMAS 界面。

1.3 设置工作目录。

选择菜单栏File\Select Directory,弹出浏览文件夹对话框,选择D:\Model文件夹。

1.4 弹出主工具栏。

选择菜单栏\View\Toolbox and Toolbars ,勾选Tool Settings中Main Toolbar,弹出工具栏。

1.5 ADAMS 中按F4调出位置/坐标显示。

1.6 设置重力加速度。

选择菜单栏\Setting\Gravity,设置重力加速度,此时弹出Error 对话框。

选择“Create Model”,并起名为“Qiu1”,点击“OK ”再次选择菜单栏\Setting\Gravity,设置重力加速度:勾选Gravity 前方框,点击-Y*,如下图示,点击“OK ”。

1.7 设置单位。

选择菜单栏\Setting\Units,设置单位,此时弹出“Units Settings ”对话框,点击“MKS ”按钮,各单位符号如右图示,点击“OK ”。

1.8 建立半径10cm 的球,放置在点(0,0,0上。

“右键”点击主工具栏第一排第二个符号-刚体:连杆,弹出扩展工具符号,选择第二排第一个符号-刚体:球,勾选Radius 前方框,则此球半径为10.0cm 。

1.9 建立球与大地之间移动副。

“右键”点击主工具栏第二排第二个符号-连接:旋转副,弹出扩展工具符号,选择第二排第一个符号-连接:移动副。

该移动副属性为2个构件,1个作用点。

鼠标动作顺序为:1. 左键点击“ground ”一次,选取大地为第一个构件; 2. 左键点击球体一次,选取球为第二个构件;3. 右键在球心位置点击一次,弹出Select 对话框,左键双击“PART_2.cm”;4. 右键在球心位置点击一次,弹出Select 对话框,左键双击“PART_2.cm.Y”。

我的Adams和matlab联合仿真接口设置

我的Adams和matlab联合仿真接口设置

Adams/matlab联合仿真软件接口设置
1、安装adams 2010
2、安装matlab r2009a
3、因matlab 默认工作目录为其安装路径的work 目录,因此将adams 默认目录修改为此目录,以保证联合仿真不会出错。

方法:右击ADAMS/view或car快捷方式----属性—在起始位置处修改,如下图:
或者两个软件都设置为adams默认目录,每次启动matlab时,将此目录设置为工作目录。

PS:我都改成了E:\matlab2009\work。

即matlab的默认工作目录。

4、设置环境变量
ADAMS_CONTROLS_WTIME = 60
该设置非常重要,必不可少!
5.将adams安装目录里的adams_plant.mexw32文件复制一份到MATLAB和ADAMS公用的工作目录下。

(我的是E:\matlab2009\work。


如果电脑是64位的,则拷贝adams_plant.mexw64文件。

我的电脑目前是32位,装的XP系统,各位参考。

这样设置好了,可以做一个联合仿真的
小实例来验证两个软件是否正确联通。

adams-matlab联合仿真 adams_controlxu

adams-matlab联合仿真 adams_controlxu
➢ 校验输入变量和输入函数 ➢ 校验输出变量和输出函数 ➢ MSC.ADAMS 控制对象文件的产生
核实MSC.ADAMS 对象的输入与输出流程
输入变量定义与修正
定义
选择Build>System Elements>State Variable >New
修正
选择Build>System Elements>State Variable >Modify 双击main_olt,选择 “control_torque”, 按“ok”
则建立倒立单摆的状态方程为:
x Ax Bu
其中, 0 1 0 0
A
t1 0 t2
0 0 0
0 0 0
0 10
0
B
t3 0 t4
t1
m(m M (M m)I
) gl Mml 2
,
mgl t3 (M m)I Mml2
t2
(M
m2 gl 2 m)I Mml2
I ml2 t4 (M m)I Mml2
0
-0.5
0
2
4
6
8
10
12
14
16
18
20
time(s)
ADAMS/Controls 控制系统设计流程
Design Process Before ADAMS/Controls
Improved Design Process with ADAMS/Controls
基于ADAMS的控制系统设计的二个途径:
确定输入函数
选择Edit>Modify数据 导航器双击main_olt, 选择 “azimuth_actuator”O K
VARVAL(id): 变量函数,返回状态变量的当前值。

基于ADAMS与MATLAB的倒立摆联合仿真实验5篇

基于ADAMS与MATLAB的倒立摆联合仿真实验5篇

基于ADAMS与MATLAB的倒立摆联合仿真实验5篇第一篇:基于ADAMS与MATLAB的倒立摆联合仿真实验基于ADAMS与MATLAB的倒立摆联合仿真实验一、实验目的在传统的机电一体化研究设计过程中,机械工程师和控制工程师虽然在共同设计开发一个系统,但是他们各自都需要建立自己的模型,然后分别采用不同的分析软件,对机械系统和控制系统进行独立的设计、调试和试验,最后进行机械系统和控制系统各自的物理样机联合调试,如果发现问题又要回到各自的模型中分别修改,然后再联合调试,显然这种方式费时费力。

基于多领域的建模与联合仿真技术很好的解决了这个问题,为机械和控制系统进行联合分析提供了一种全新的设计方法。

机械工程师和控制工程师就可以享有同一个样机模型,进行设计、调试和试验,可以利用虚拟样机对机械系统和控制系统进行反复联合调试,直到获得满意的设计效果,然后进行物理样机的建造和调试。

ADAMS与MATLAB是机械系统仿真和控制系统仿真领域应用较为广泛的软件,其中ADAMS为用户提供了强大的建模、仿真环境,使用户能够对各种机械系统进行建模、仿真和分析,具有十分强大的运动学和动力学分析功能;而MATLAB具有强大的计算功能、极高的编程效率及模块化的建模方式,因此,把ADAMS与MATLAB联合起来仿真,可以充分将两者的优势相结合,将机械系统仿真分析同控制系统设计有机结合起来,实现机电一体化的联合分析。

本实验以倒立摆为例,进行ADAMS与MATLAB的联合仿真,对倒立摆的运动性能和运动规律进行分析。

二、实验方法软件环境:MD ADAMS R3,MATLAB R2009b 2.1 建立倒立摆的动力学模型启动ADAMS/View模块弹出如图1所示对话框,建立小车及摆杆模型。

首先选择“Create a new model”选项,创建一个新的模型,将该文件保存在相应的文件夹下,本实验将结果保存在E:daolibai_adams文件夹下,将文件名取为“daolibai_adams”,其余选项保持默认。

Adams_car与Matlabd的联合仿真

Adams_car与Matlabd的联合仿真

Adams/car与Matlab的联合仿真一、状态变量的建立1、在建模器界面通过菜单栏Build→System Elements→Sate Varible→New建立输入状态变量和输出状态变量。

其中输入变量F(time)定义框中设为零,其值从matlab中输入。

输出变量通过定义框右侧方块定义,如下图所示。

2、点击定义框右侧方块后出现Function builder对话框,如下图所示。

可通过下拉菜单选择位移、速度、加速度等根据需要定义输出变量。

3、在打开的模板中根据需要建立合适的作动器,通过Function将建立的作动器与输入状态变量建立联系。

二、Adams整车模型的输出1、将建立状态变量的模版生成子系统,再使用生成的子系统组成成整车装配。

2、在标准界面通过菜单栏Tools→Plugin Manager选中control模块,点击OK,如下图所示,将其加入到标准界面。

3、通过菜单栏Controls→Plant Export进入模型输出对话框。

假设输出模型命名为car_1。

在Input Signal(s)框中右键单击,通过Browse选择输入变量。

在Output Signal(s)框中右键单击,通过Browse选择输出变量(所选择的状态变量在前面步骤中已建好)。

Target Software选择MATLAB,点击OK。

生成的m文件存放到Adams的工作目录当中。

三、仿真激励的输出1、标准界面,通过菜单栏Simulate或Ride选择仿真项目。

以单移线为例,进入Single Lane Change对话框根据需求进行设置,其中Mode of Simulation选择files_only。

假设仿真取名为lane_change。

生成的仿真文件存放在Adams的工作目录当中,生成的文件前缀为lane_change_sin。

四、联合仿真的实现1、打开Matlab设置为与Adams相同的工作目录。

用Matlab打开生成的car_1.m,将ADAMS_prefix = 'car_1_sin'修改为ADAMS_prefix = 'lane_change_sin',将ADAMS_init = 'file/command=car _1_sin_controls.acf'修改为ADAMS_init = 'file/command=lane_change_sin_controls.acf',保存。

ADAMS matlab联合仿真

ADAMS matlab联合仿真

一、ADAMS /Controls模块ADAMS /Controls是ADAMS其他模块如ADAMS/View,ADAMS/Car,ADAMS/solver等的插件模块,为建立的模型添加控制系统。

通过ADAMS/Controls 模块,可以将机械系统仿真分析工具同控制设计仿真软件MATLAB,EASY5,MATRIX等有机地连接起来,实现以下功能。

(1)将复杂的控制系统添加到机械系统模型中,然后对机电一体化进行联合分析。

(2)直接利用ADAMS程序创建控制系统分析中的机械系统仿真模型,而不需要使用数学公式建模。

(3)在ADAMS环境或控制应用程序环境获得机电联合仿真结果。

ADAMS /Controls控制系统可以有两种使用方式:●交互式:在ADAMS/Car, ADAMS /Chassis,ADAMS/Rail, ADAMS/View等模块中添加ADAMS /Controls,通过运动仿真查看控制系统和模型结构变化的效果。

●批处理式:为了获得更快的仿真结果,直接利用ADAMS /Solver这个强有力的分析工具运行ADAMS /Controls。

设计ADAMS/Controls控制系统主要分为4个步骤:1.建模:机械系统模型既可以在ADAMS /Controls下直接建立,也可以外部输入已经建好的模型。

模型要完整包括所需的所有几何条件、约束、力以及测量等。

2.确定输入输出:确定ADAMS 输入输出变量,可以在ADAMS和控制软件之间形成闭环回路。

3.建立控制模型:通过一些控制软件如Matlab、Easy5或者Matrix等建立控制系统模型,并将其与ADAMS机械系统连接起来。

4.仿真模型:使用交互式或批处理式进行仿真机械系统与控制系统连接在一起的模型。

二、MATLAB/Simulink工具箱MATLAB是MathWorks公司开发的软件,具有很多工具箱,其中Simulink工具箱,可以应用于对动态系统进行仿真和分析,他可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。

Matlab与Adams联合仿真的实现(3-3)

Matlab与Adams联合仿真的实现(3-3)

Matlab与Adams联合仿真的实现(3-3)最后使⽤MATLAB的Simulink建⽴控制系统:打开Matlab,进⼊刚才的⼯程的⽬录,输⼊刚才的产⽣的m⽂件的⽂件名运⾏,它会做⼀些初始化⼯作。

打开此m⽂件可以看到,它会向Matlab⼯作⽬录添加ADAMS的路径,如X:\MSC.Software\MSC.ADAMS\2005\win32下的adams_plant.dll库函数,是adams_sub的核⼼,ADAMS提供了⼀个S函数,⽤于ADAMS和Simulink联合仿真的调度和通信,如果Simulink找不到它,则仿真就不能运⾏,⽽运⾏那个m⽂件将⾃动向Matlab⼯作⽬录添加以上路径。

另外它还会向当前⼯作空间添加⼀些变量,联合仿真时,Simulink会⽤到,所以每次要做联合仿真时都要先运⾏此m⽂件,在Matlab中输⼊who命令可以看到这些变量。

注意:运⾏以上m⽂件时可能会出警告,不⽤管它。

Warning: Function d:\MSC~1.SOF\MSC~1.ADA\2005\win32\amd.dll has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.然后是导⼊ADAMS模块并使⽤,输⼊adams_sys,将弹出adams_sys_.mdl的模块窗⼝并保存到当前路径,如下上⾯这些就是联合仿真时要⽤到的ADAMS模块,其中S-Function是实现⾮线性MSC.ADAMS模型的,State-Space是线性化的MSC.ADAMS模型,adams_sub包括S-Function和其它变量。

要构建⾃⼰的控制系统时,直接将要⽤到的拖到⾃⼰的Simulink模型中,然后做如下设置即可双击adams_sub模块,出现此⼦系统的框图如下双击MSCSoftware,出现设置对话框这⾥⾯就是ADAMS模块可以设置的属性,可以看到,这⾥⾯已经填好了Matlab⼯作空间中的变量,这些变量就是刚才那个m ⽂件产⽣的,可以修改相应变量的值来达到对ADAMS模块的设置。

ADAMS 2005R2与MATLAB7.0联合仿真(word文档良心出品)

ADAMS 2005R2与MATLAB7.0联合仿真(word文档良心出品)

ADAMS 2005R2与MATLAB7.0联合仿真ADAMS/Controls(控制模块)可以将ADAMS的机械系统模型与控制系统应用软件(如:MATLAB、EASY5或者MATRIX)连接起来,实现在控制系统软件环境下进行交互式仿真,还可以在ADAMS/View中观察结果。

一般来说,控制系统最好用数学上的控制系统框图来表示,而基于几何外形的机械运动系统则用动画和曲线进行描述。

在仿真计算过程中,ADAMS采取两种工作方式:其一,机械系统采用ADAMS解算器,控制系统采用控制软件解算器,二者之间通过状态方程进行联系;其二,利用控制软件书写描述控制系统的控制框图,然后将该控制框图提交给ADAMS,应用ADAMS解算器进行包括控制系统在内的复杂机械系统虚拟样机的同步仿真计算。

一、ADAMS/Controls的设计流程ADAMS/Controls控制系统设计主要有以下四个步骤,如图1-1所示。

图1-1 ADAMS/Controls的设计流程第一步:建立机械系统模型机械系统模型可以在ADAMS/Controls下直接建立,也可以建立已经建好的外部模型。

第二步:确定ADAMS的输入输出变量通过确定ADAMS的输入和输出变量可以在ADAMS和控制软件之间形成一个闭合回路,如图1-2所示。

Input Controls图1-2 ADAMS的输入和输出变量第三步:建立控制系统模型使用控制软件MATLAB、EASY5或者MATRIX建立控制系统模型,并将其与ADAMS机械系统模型连接起来。

第四步:仿真模型可以使用交互式或者批处理方式仿真机械系统和控制系统连接在一起的模型。

二、ADAMS/Controls的应用实例:ADAMS帮助文件《Getting Started Using ADAMS/Controls》(即李军等人写的《ADAMS实例教程》)中的天线模型(antenna.cmd)。

1、导入用于控制仿真软件(CSS)MATLAB的模型文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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锁钩节点坐标X坐标Y坐标Z坐标1 5 3 02 3 5 03 -6 6 04 -14 6 05 -15 5 06 -15 3 07 -14 1 08 -12 1 09 -12 3 010 -5 3 011 4 2 0图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,创建摇臂和手柄、手柄和连杆的旋转约束副。

如图7-12所示:图7-12添加旋转约束副和圆柱约束副2、添加圆柱约束副选择并点击约束库(Joints)中的圆柱副(Cylindrical Joints);选择“2 Bodies - 1 Location”(两个物体一个位置),“Normal To Grid”(垂直于工作网络),在连杆和锁钩之间创建圆柱副,位置为Point_6,如图7-11所示。

3、添加点--面约束副选择并点击约束库(Joints)中的点--面副(In-Plane Primitive Joints);选择“2 Bodies - 1 Location”(两个物体一个位置),“Pick Geometry Feature”(通过几何体特征确定约束副方向),用鼠标左键首先选择锁钩,然后选择固定块,设置约束副的位置(-12,1,0),确定约束副的方向垂直向上,如图7-13所示,创建点—面约束副,使锁钩上的一点可以在固定块的一个平面内移动。

图7-13添加点--面约束副7.1.3添加载荷1、添加弹簧选择并点击载荷库(Create Forces)中的弹簧(Spring-Damper),设置弹簧刚度(K)为800,阻尼(C)为0.5,用鼠标左键选择位置(-14,1,0)、(-23,1,0),创建锁钩和大地之间的弹簧,如图7-14所示。

图7-14添加弹簧2、添加单向力选择并点击几何模型库(Geometric Modeling)中的连体坐标系(Marker),在位置(-18,14,0)处创建“Mar_5”;选择并点击载荷库(Create Forces)中的单向力(Force),设置力的方向为“Body Moving”与物体固连,初始方向选择“Pick Geometry Feature”,力设为“Constant”,数值为80;用鼠标左键选择手柄为参考物体,然后选择Point_4为力的作用点,选择“Mar_5”确定为力的方向,如图7-15所示:图7-15添加单向力至此,夹紧机构模型已经成功创建。

选择主工具栏(Main Tools)中仿真运行(Run Simulation),设置仿真终止时间(End Time)为0.2,仿真工作步长(Steps)为100,然后开始仿真,观测模型的运行情况。

7.1.4结果后处理本小节将通过测量弹簧力的大小测试夹紧机构的夹紧力,通过测量三个点的角度值测试手柄的运动轨迹,并通过创建一个传感器确定夹紧机构的锁止位置。

1、测量弹簧力将鼠标放置在夹紧机构模型中的弹簧上,按右键选择“Spring_1”中的测量(Measure)命令,并将测量对话框中特性(Characteristic)选项设为力(Force);系统生成弹簧力变化曲线,如图7-16所示:图7-16弹簧力测试曲线2、测量角度选择菜单栏【Build】→【Measure】→【Angle】→【New】,在测量角度对话框中,鼠标右键单击(First Point)栏,选择“Marker”中的“Pick”,选择Point_5处的Marker作为测量角度的第一点;相同的方法选择(Middle Point)和(Last Point)为Point_3和Point_6处的Marker。

如图7-17所示:图7-17测量角度对话框设置示意图系统生成三个点形成的角度变化曲线,如图7-18所示:图7-18角度测量曲线3、创建传感器选择菜单栏【Simulate】→【Sensor】→【New】,设置传感器对话框,如图7-19所示,表示当“Angle_Mea_4”等于或小于(Less than and equal)0,系统将终止(Stop)仿真。

图7-19传感器对话框设置示意图运行仿真模型,测量的弹簧力和测量角度变化情况如图7-20、图7-21所示,当角度等于0时,系统终止了仿真。

[1]图7-20弹簧力变化曲线图7-21测量角度变化曲线7.2ADAMS/Controls使用实例本实例以MATLAB作为外部控制程序,以偏心连杆模型为例,讲解ADAMS与MA TLAB的联合仿真过程。

主要包括创建机械系统模型、模型参数设置、建立MATLAB控制模型以及结果后处理四个步骤。

机械模型建立、模型参数设置这两步为了导出一个可在MATLAB软件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所示。

相关文档
最新文档