《adamsmatlab联合仿真》由会员分享,可在线阅读,更多相关《adamsmatlab联合仿真(71页珍藏版)》请在金锄头文库上搜索。
1、adams-matlabadams-matlab联合仿真联合仿真1、基于Matlab的控制系统设计简介2、ADAMS/Controls 控制系统设计流程3、例子双杆的控制系统设计4、例子倒立单摆的控制系统设计基于基于MatlabMatlab的控制系统设计的控制系统设计例例: : 以二阶线性传递函数为被控对象以二阶线性传递函数为被控对象, ,进行进行PIDPID控制。控制。Simulink方式:VH例:倒立单摆的例:倒立单摆的PIDPID控制系统设计控制系统设计设摆杆偏离垂直直线的角度:摆杆重心的坐标:则有:根据牛顿定律:建立水平和垂直运动状态方程:摆杆围绕其重心的转动运动方程:其中:摆杆围绕其
2、重心的转动惯量摆杆重心的水平运动方程:摆杆重心的垂直运动方程:小车的水平运动方程:假设很小则以上各式变为:由此,得单级倒立摆的方程:取:单级倒立摆的摆角单级倒立摆的摆速小车位置小车速度则建立倒立单摆的状态方程为:其中,M-文件方式的matlab控制系统仿真ADAMS/Controls 控制系统设计流程控制系统设计流程Design Process Before ADAMS/ControlsImproved Design Process with ADAMS/Controls基于基于ADAMSADAMS的控制系统设计的二个途径:的控制系统设计的二个途径: 基于基于ADAMS/ViewADAMS/V
3、iew中的中的Controls Toolkit:Controls Toolkit:针对具有复杂控制装置的机械系统针对具有复杂控制装置的机械系统针对一般的控制环节针对一般的控制环节 基于控制系统软件(基于控制系统软件(MATLABMATLAB、 EASY5 EASY5或或MATRIXMATRIX):):ADAMS/Controls ADAMS/Controls 的应用的应用ADAMS/Controls ADAMS/Controls 的设计流程的设计流程 确定确定ADAMSADAMS的输入和输出变量,生成对象的输入和输出变量,生成对象/ /过程模型过程模型建立控制系统模块建立控制系统模块模型的仿真
4、模型的仿真建立机械系统的建立机械系统的ADAMSADAMS模型模型天线模型的控制系统天线模型的控制系统 MSC.ADAMSMSC.ADAMS模型的导入模型的导入 ADAMS/Controls ADAMS/Controls 的载入的载入 MSC.ADAMSMSC.ADAMS天线模型天线模型仿真仿真MSC.ADAMSMSC.ADAMS模型的导入模型的导入1 1、打开、打开ADAMSADAMS。2 2、选择文件输入。、选择文件输入。3 3、选择模型所在目录,、选择模型所在目录, OK OK。4 4、在文件输入窗口,击右键,选择、在文件输入窗口,击右键,选择“Browse”“Browse”, 并选择文
5、件:并选择文件:antenna.cmdantenna.cmd。ADAMS/ADAMS/ControlsControls 的载入的载入操作:操作:ADAMS/View=Tools=Plugin Manger:ADAMS/View=Tools=Plugin Manger:选择选择Load checkbox=ControlsLoad checkbox=Controls ADAMS ADAMS 天线模型的介绍天线模型的介绍 方位角马达通过旋转副约束与大地相连;方位角马达通过旋转副约束与大地相连; 减速齿轮通过旋转副约束与大地相连;减速齿轮通过旋转副约束与大地相连; 圆盘通过旋转副约束与大地相连;圆盘通
6、过旋转副约束与大地相连; 高位轴承通过固定副约束与天线支撑相连;高位轴承通过固定副约束与天线支撑相连; 天线通过旋转副约束与高位轴承相连。天线通过旋转副约束与高位轴承相连。 天线支撑通过固定副约束与圆盘相连;天线支撑通过固定副约束与圆盘相连;天线模型的分析天线模型的分析失效驱动下的试验仿真失效驱动下的试验仿真 操作:操作: EditEdit选择选择 Deactivate=Deactivate=弹出数据导航表弹出数据导航表=双击模双击模 型型main_main_oltolt=选择选择azimuth_motion_azimuth_motion_csdcsd=OK=OK ADAMS/CONTROLS
7、 ADAMS/CONTROLS 将将“azimuth_motion_azimuth_motion_csdcsd”失效。失效。 运行天线模型。运行天线模型。确定确定ADAMS ADAMS 对象的输入输出对象的输入输出 校验输入变量和输入函数校验输入变量和输入函数 校验输出变量和输出函数校验输出变量和输出函数 MSC.ADAMS 控制对象文件的产生控制对象文件的产生核实核实MSC.ADAMS MSC.ADAMS 对象的输入与输出流程对象的输入与输出流程输入变量定义与修正输入变量定义与修正选择选择BuildSystem ElementsState VariableModify 双击双击main_ol
8、t,选择选择“control_torque”,按按“ok” 选择选择BuildSystem ElementsState VariableNew定义定义修正修正确定输入函数确定输入函数选择选择EditModify数据数据导航器导航器双击双击main_olt,选择选择“azimuth_actuator”OKOKVARVAL(id): VARVAL(id): 变量函数变量函数, ,返回状态变量的当前值。返回状态变量的当前值。确定输出函数确定输出函数天线的机械系统向控制系统输出的两个信号:天线的机械系统向控制系统输出的两个信号: 天线的方位角:天线的方位角:azimuth_position;azimu
9、th_position; 马达转速:马达转速:rotor_velocityrotor_velocity。BuildBuildSystem ElementsSystem ElementsState VariableState VariableModifyModify数据库数据库浏览器;浏览器;双击双击main_oltmain_olt显示显示ADAMS/VIEWADAMS/VIEW变量表变量表选择选择azimuth_posistionazimuth_posistionOKOK;显示修改状态变量对话框:显示修改状态变量对话框:方位角变量表达式定义为:方位角变量表达式定义为:AZ(.main_olt.
10、bearings.MAR70,.main_olt.ground.MAR.26)AZ(.main_olt.bearings.MAR70,.main_olt.ground.MAR.26)其中,其中,函数函数AZ(To Marker,From Marker):AZ(To Marker,From Marker):返回环绕返回环绕Z Z轴旋转的转角轴旋转的转角马达转速变量马达转速变量rotor_velocity:rotor_velocity:函数函数 WZ(To Marker, From WZ(To Marker, From Marker, About Marker ):Marker, About Ma
11、rker ):返回两标架角速度矢量差在返回两标架角速度矢量差在Z Z轴旋轴旋转的分量。转的分量。控制对象的生成:控制对象的生成:ControlPlant export:在在Plant input Plant input 栏按右键选择栏按右键选择plant inputcreateplant inputcreate完成以上过程,构建的模型已经成功的转为完成以上过程,构建的模型已经成功的转为MATLABMATLAB可以读取的形式,可以读取的形式,包括包括: :文件名文件名.adm.adm文件名文件名.cmd.cmd文件名文件名.m.m控制系统设计控制系统设计 Load ADAMS Load ADAM
12、S 变量变量 产生产生SimulinkSimulink 模块模块 在在MatlabMatlab工作窗口下:工作窗口下:whoADAMS_forcesADAMS_inputsADAMS_jointsADAMS_outputsADAMS_prefixADAMS_sysdirADAMS_uy_idsADAMS_modeADAMS_utidir产生产生Simulink Simulink 模块模块 在MATLAB中输入”adams_sys”会产生如下的窗口: S-Function: 实现非线性MSC.ADAMS 模型的Adams_sub包括s-function和其他变量State-Space 是线性化的
13、MSC.ADAMS的模型。Output File Prefix:Output File Prefix:设置文件名,生成仿真设置文件名,生成仿真分析结果:分析结果:仿真结果文件:仿真结果文件:*.res*.res仿真要求文件:仿真要求文件:*.req*.req仿真图形文件:仿真图形文件:*.gra*.gra仿真分析模式:仿真分析模式:Discrete/continuousDiscrete/continuous动画显示:动画显示:interactiveinteractive初始化方式:初始化方式:ADAMS_initADAMS_init构造控制系统构造控制系统仿真过程在仿真过程在ADAMSADAM
14、S中的重现:中的重现:范例:构建机械手臂模型范例:构建机械手臂模型建立测量用传感器建立测量用传感器在在JOINT1JOINT1上按右键选择上按右键选择measure measure 如下:如下:创建扭矩创建扭矩ADAMS/Controls ADAMS/Controls 控制模型输出控制模型输出建立输入变量建立输入变量重复,建立扭矩重复,建立扭矩2 2:Torque2Torque2建立扭矩与变量的联系建立扭矩与变量的联系模型输出:模型输出:选择选择controlcontrolplant exportplant exportMatlab Matlab 控制控制ADAMS ADAMS 变量的载入变量的载入Simulink Simulink 模块的生成模块的生成Matlab Matlab 窗口下:窗口下:adams_sysadams_sys设计简单设计简单PIDPID控制器控制器结束结束