ADAMS与Matlab联合仿真要点
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(Automated Dynamic Analysis of Mechanical Systems)则是一款专门用于多体动力学仿真的软件,特别适用于复杂机械系统的运动学和动力学分析。
MATLAB与ADAMS的联合仿真理论基础主要包括以下几个方面:接口技术:MATLAB与ADAMS之间的数据交换和通信是联合仿真的核心。
通常,这需要通过特定的接口技术来实现,如ADAMS提供的Control接口或MATLAB的Simulink接口。
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联合仿真例子
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所示。
Matlab Amesim Adams联合仿真
联合仿真可以充分利用各仿真软件的优点,从而简化建模实现快速仿真。
这里首先讲下如何实现联合仿真,工欲善其事,必先利其器。
一.Matlab与Amesim1. 安装好matlab与amesim。
要点:安装目录不要有空格,比如不要放到program files这个目录中。
2.安装编译器(compiler)Microsoft Visual C++ 6.0(必须)或者Compaq Visual Fortran Pro v6.6.0(可选),在安装过程中遇到设置环境变量的(environmental variance)选择‘yes’,免得以后自己添加麻烦3.拷贝Microsoft Visual C++ 6.0安装目录下\VC98\Bin\VCVARS32.BAT文件到Amesim的安装目录下。
比如:C:\Program Files\Microsoft Visual Studio\VC98\Bin中的VCVARS32.BAT拷贝到C:\AMESim\7.0.0下面4.设置Matlab环境变量,这样联合仿真时Amesim才能找到matlab。
在系统变量中添加‘MATLAB’,其值为Matlab的安装路径,如D:\MATLAB\R2009a。
5.在matlab中设置编译器(如下图)。
在matlab命令行里输入mex -setup,选择编译器Microsoft Visual C++6.0 ,最后选Y确定。
6. 在Amesim里选择编译器。
打开Amesim--tools--options--Amesim preferences选择Microsoft Visual C++7.在Matlab 的目录列表里加上AMESim与Matlab 接口文件所在的目录%AME%\matlab\amesim,其中%AME%是AMESim的安装目录,如果安装在C:\AMEsim ,则就加上C:\AMEsim\matlab\amesim。
(有的版本这个目录可能是安装目录\******ing\matlab\amesim)8.在matlab中set path中继续添加路径:%AME%\7.0.0\interface\simulink以及%AME%\7.0.0\interface\sl2ame9. 完成,实现amesim to simulink 和simulink to amesim 的联合仿真。
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,创建摇臂和手柄、手柄和连杆的旋转约束副。
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”。
(完整版)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。
我的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_Car如何与控制软件联合仿真
在做ADAMS/Car与控制软件进行联合仿真过程中,可能很多人会有这样的疑问:如果按照ADAMS/View中介绍的流程从Control Export输出*.inf或*.m文件,则联合仿真过程中信息可能不全,比如,整车路面信息和其它一些分析设置文件,因为它们需要在Adams/Car界面Simulate>Full-Vehicle Analysis菜单下设置,从而导致联合仿真没法进行,怎么办?下面通过操作流程介绍Adams与控制软件实现联合仿真的方法,包括Adams/Car与Matlab、Adams/Car与Easy5的联合仿真流程。
一、ADAMS/Car与Matlab联合仿真流程1、在ADAMS/Car界面下打开或建立好整车模型后,导入Controls插件:Tools>Plugin Manager>ADAMS/Controls;2、开启ADAMS/Controls>Plant Export对话框,设置输入输出变量,点击ok,工作路径下会生成Controls_Plant_1.m文件,如下图所示:图1 设置输入输出变量这里以软件安装路径下的Vehicle_demo为例,分别以sdi_testrig中的steering_wheel_torque和steering_wheel_angle作为输入、输出变量。
3、点击Simulation菜单,进行整车仿真,设置整车分析的模式mode of simulation为files_only,下面以step_steer仿真为例进行说明,分析设置如下图所示:点击ok,会生成一系列文件,其中有后面步骤中需要用到的cosimulation_step_steer.acf、cosimulation_step_steer_controls.acf和cosimulation_step_steer.m文件。
图2 整车分析设置4、鼠标双击cosimulation_step_steer.m文件,修改ADAMS_outputs为testrig.steering_wheel_angle,一一对应具体的输入输出变量,修改ADAMS_uy_ids中的变量编号代码,具体形式可参照Controls_Plant_1.m中的设置;图3 修改cosimulation_step_steer.m文件中的输出变量名及编号5、打开Matlab,设置工作路径与ADAMS/Car一致(非常关键),运行cosimulation_step_steer:>> cosimulation_step_steer%%% INFO : ADAMS plant actuators names :1 testrig.steering_wheel_torque%%% INFO : ADAMS plant sensors names :1 testrig.steering_wheel_angle6、运行adams_sys,调出adams_plant,打开simulink,建立控制系统框图,设置adams_sub输出文件;图4 建立控制系统框图7、点击simulation运行联合仿真。
基于ADAMS和MATLAB的机器人联合运动仿真
三角 函数有关 , 其位移 函数是正 弦函数和余 弦函
第2 期
胡蕴博 : 基
A D A MS 和 MA T L A B的机器人联合运动仿真
器 人第 四关 节 上 的末 端执 行 器 L S 3 一 S H A F T ( 根 据 实 际 工作 需 求 设 计 ) 能 在许 用 范 围 内 的水 平 面 上
1 L 0 l
o - J
' ]
( 1 )
约束副。由图4 可 以看 出 , E 1 机 器 人虚 拟 样 机模 型 包含 6 个 约束 副 , 分别由3 个 固定副 、 2 个 旋转 副
及1 个 平 面副组 成 。
I 1 c o s 1 I
脚 c=
l L L 0 s i n 0 j l
实现匀速位移 , 这需要第一关节和第二关节协调
配 合才 能实 现 。 本 文 的仿 真 分 析 将 探 究 L S 3 一 S HA F T在 水 平 面 上 匀 速运 动 时 , E1 机器 人 第 一关 节 和 第 二关 节 之 间的相互 运 动关 系 。 为 了满 足上 述研 究 要求 , 在A D AMS 中将 机器
l 在 A D A M s 中 对 E 1 机 器 人 施 加 约 束 和 驱 动
设置机器人仿真运行参 数
由于 S o l i d Wo r k s 和A D A MS 之 间不 能 进 行 无 缝连接 , 直 接 将 机 器 人 的三 维 实体 模 型 导 人 A D .
A M S 中会 造成 图形 元素 的丢失 。故先 在 S o l i d —
Wo r k s 中将 机 器 人 的 三 维 实 体 模 型 文 件 转 换 为 P a r a s o l i d 格式 , 再 通 过 AD A MS / Vi e w窗 口中 的 I m —
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工具箱,可以应用于对动态系统进行仿真和分析,他可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。
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所示。
图7-25创建旋转副4、创建球体单击几何工具包中的球体按钮,将球体的选项设置为Add to Part,半径设置为20,然后在图形区单击连杆,再单击连杆右侧处的Marker点,将球体加入到连杆上,如图7-26所示。
四足机器人Adams与Matlab联合仿真设置
Matlab与adams联合仿真设置1 模型设置 (2)2 运动副设置 (3)3 驱动与力设置 (4)4 检验设置是否正确 (7)5 Adams中与Matlab联合仿真的设置 (8)6 Matlab中与Adams联合仿真的设置 (12)7 联合仿真结果显示 (14)1 模型设置在soildworks建好四足整体模型,开始时做一个简化版的模型就可以了,另存为.x_t格式。
打开adams,点击文件->导入,在文件类型中选择“Parasoild”,双击“读取文件”空白处,打开选取文件界面,找到保存的四足模型,选择。
在模型名称的空白栏处右击,选择模型->创建,命名为“ghost”。
点击确定(图1.1)。
读取的文件目录中不要出现中文,否则会出现错误。
(图1.1)(图1.2)导入后的模型显示如图1.2。
点击界面右下角的球形图标,将模型转化为实体。
(图1.3。
倒数第四个)点击界面左上的设置->单位,将长度量纲改为毫米。
点击设置->重力,将重力设置为Y轴方向-9806.65。
点击界面左侧框图浏览->物体的左侧加号,出现模型各个部件的名称(图1.4)。
由于将模型从soildworks导入adams中时会损失质量信息,接下来将设置每个部件的质量。
双击某一部件,弹出设置界面(图1.5),在“定义质量方式”中选择“几何形状和密度”,随后设置密度。
由于实际中四足的腿的质量很小,大部分质量都集中在身体的铝架上,所以将腿部结构的的密度设为(200.0(kg/meter**3)),将身体部分的密度设为(1200.0(kg/meter**3))(图1.5)(图1.4)逐个双击部件设置密度信息。
完成后可在某个部件上右击,选择信息,查看该部件的信息(图1.6)。
(图1.6)统计质量信息如下:小腿长:0.0435kg*4 、小腿短:0.0252kg*4、大腿0.0132kg*8身体:5.79kg.总质量:6.18kg。
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_matlab问题总结
adams_matlab问题总结Matlab7.1+ADAMS2005仿真步骤与调试经验参照SimWe中wxd等大牛关于联合仿真帖子,最近也做了一些联合仿真,遇到了不少困难,最后得到的结果还令人满意,深切体会到联合仿真在机电系统控制分析中的作用,下面将自己的一些笔记整理后与大家共享,作为对SimWe的回报,其中有不少错误和问题应该是新手都比较容易遇到的,希望可以对大家有所帮助。
1.建立Adams仿真模型,设文件名为Adams.bin和Adams.biq 并进行初步仿真,验证其合理性。
2.在Matlab中建立控制模型,进行单独仿真,确保控制模型的正确性。
3.新建立一个仿真文件夹,比如Adams_Matlab,将Adams.bin 和Adams.biq文件copy到该文件夹下;将…\MSC.ADAMS\2005\Win32\文件夹中的adams_plant.dll文件和…\MSC.ADAMS\2005\Controls->Win32\下的plant.lib文件也Copy到该文件夹下(仿真中经常因为路径问题出错,有不少关于路径设定的帖子,本帖子中的方法已经过验证,优点是文件集中,便于统一管理)。
4.打开Adams.bin文件,注意,打开文件时,选择“Open an existing database”后,一定要将下边的“Start in”设置到…\Adams_Matlab\文件夹,确保生成的*.m(假设文件名为simwe.m)等4个文件在该文件夹中,避免不必要的麻烦。
5.Adams->Controls->Plant Export,设定输入变量和输出变量以及文件名等。
详见郑建荣的“ADAMS—虚拟样机技术入门与提高”等书;也可以查看Adams的Help->Other Product Help->ADAMS/Controls中的Examples等帮助,看帮助文件的好处是消除了版本不同所带来的局限,例如在Adams2003以上的版本中对输入变量和输出变量的设置需要借助PINPUT_1和PINPUT_1等中间变量,与基于ADAMS12及以下版本的书中描述的不同。
联合仿真
9.建立控制系统,进行仿真即可
仿真时易出现各种错误,有很多是adams与matlab信息交换不畅造成的,一般解决方法是:
1.关掉防火墙或杀毒软件,比如卡巴斯基开着的话,仿真总是失败
2.彻底关掉matlab,重新执行各种操作
1.首先将adams的路径改为matlab下的work工作目录;file/select directory
2.进行only-files的动力学仿真Байду номын сангаас比如analysis name设置为test1car(这里的仿真时间和步长可以设置得非常小,比如0.01s和1个步长)
3.在设置好input和output后,用controls/plant export将模型输出,比如file prefix设置为semiactive1s
control/function=user(300,50.000000,328)
7.用记事本打开semiactive1s.m,将ADAMS_prefix = 'semiactive1s' 项修改为:
ADAMS_prefix = 'test1car_dyn' ;
再将ADAMS_init = '' 项修改为:
semiactive1s.m
6.用记事本把 test1car_dyn.acf 打开,将前4行和后3行删掉,剩余内容为:
array/3, numbers = 2, 1, 50.000000
simulate/static
control/function=user(917,6,50.000000)
4.再进行一次only files的动力学仿真,设置与前一次相同;
5.这时,你将在work文件夹下找到6个文件,如:
ADAMS和MATLAB的联合仿真_李华
(6)采用进口模块设计,同时结合N+1热备份的冗余设计和先进的自主均流技术。
(7)智能监控单元采用大屏幕图形显示和菜单式按键,具有良好的人机界面,操作简便,读取直观。
5 结语太阳能充电回路与风机的功率跟随原理是一样的,只不过太阳能电池板的输入电压低、变化比较缓慢,所以采用PH30048-48模块作主回路。
目前,国内有部分企业生产独立型的风能电源或太阳能电源,而生产风能、太阳能综合电源系统的还没有。
国外有少数企业生产综合型的电源系统,但价格昂贵,不适合国内使用。
因此,利用ATM EGA8单片机控制和北京万众公司的直流变换模块为主电路做成的风光互补发电系统具有较高的经济意义。
(收稿日期:2007-01-05)文章编号:1001-0874(2007)03-0100-02 ADAMS和MATLAB的联合仿真李华1,樊炳辉1,刘强2(1.山东科技大学机器人研究中心,山东青岛266510;2.济南志友集团,山东济南250022)中图分类号:TD391.9 文献标识码:BADAM S是美国M D I公司开发的软件,它为用户提供了强大的建模、仿真环境,使用户能够对各种机械系统进行建模、仿真和分析,具有十分强大的运动学和动力学分析功能,广泛应用于世界各国的工程领域。
M ATLAB以其强大的计算功能和编程的可视化、以及极高的编程效率,迅速成为从事科学研究和工程设计不可缺少的工具软件。
而把ADAM S 和MATLAB联合起来仿真,可以将机械系统仿真分析同控制设计仿真有机地结合起来,实现机电一体化的联合分析。
现以ADAM S和M ATLA B为对象,就联合仿真的若干问题进行探讨。
1 联合仿真实现的功能(1)将复杂的控制添加到机械系统的样机模型中,然后对机电一体化系统进行联合仿真。
(2)直接利用程序建立控制系统分析中的机械系统仿真模型,而不需要使用数学公式建模。
(3)分析在环境或环境获得的机电联合仿真结果。
对机械和控制系统进行联合分析,提供了一种全新的设计方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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锁钩节点坐标图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所示。
图7-25创建旋转副4、创建球体单击几何工具包中的球体按钮,将球体的选项设置为Add to Part,半径设置为20,然后在图形区单击连杆,再单击连杆右侧处的Marker点,将球体加入到连杆上,如图7-26所示。