MATLAB模型自动辨识

上传人:cl****1 文档编号:456907165 上传时间:2022-09-18 格式:DOCX 页数:10 大小:611.15KB
返回 下载 相关 举报
MATLAB模型自动辨识_第1页
第1页 / 共10页
MATLAB模型自动辨识_第2页
第2页 / 共10页
MATLAB模型自动辨识_第3页
第3页 / 共10页
MATLAB模型自动辨识_第4页
第4页 / 共10页
MATLAB模型自动辨识_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《MATLAB模型自动辨识》由会员分享,可在线阅读,更多相关《MATLAB模型自动辨识(10页珍藏版)》请在金锄头文库上搜索。

1、下面我来介绍关于系统如何构建。对于一般的Simulink建模方法可以分为两类。第一类是首要原则法,就是根据系统的物理意义构造微分方程,得到状态方程后,利用Simulink里自带的乘法和加法器进行模块构建,或者直接用状态方程模块分别写入A,B,C,D四个矩阵得到系统。还有一种方法是利用Simulink里面自带的Simscape物理建模平台,里面有基本的建立机械系统,动力传动系统和机械和电子系统的模块搭建系统。最后一种就是搭建CAD模型,利用SimMechanics把CAD模型转换成MATLAB模块进行系统的搭建。所以这种方法需要玩家的数学功底比较强,知识面广阔。第二类是数据驱动法,利用MAtLA

2、B系统辨识工具箱,根据实测数据反推系统的方程,从而达到建模目的。这种方法的首要前提是要有搭建好的物理模型进行测试。还有一个工具叫SimulinkDesignOptimization,根据实测数据调节首要原则法建立的模型中不准确的参数。从这里我们很快就能发现LEGO最大的优点就是很快的建立好物理模型,利用蓝牙传送被测的物理量。所以利用系统辨识工具箱可以很快建立出模型。下面我对系统辨识工具箱的应用进行讲解。在讲解之前,首先我们对这次建模利用的Simulink模块进行介绍。首先是SignalBuilder模块,如图1所示。打开模块的设置界面,可以方便地通过GUI(用户交互式)界面画出任意需要的波形,

3、如图2所示。波形的输入可以通过手动的修改波形,也可以通过Excel导入的形式输入到模块内。这个模块的意义就是写入测试数据,这个就是数据驱动法的首要条件。当然在以后的设计中,当我们得到了系统,建立模型进行测试的时候不是通过上NXT进行测试,而是经过Simulink仿真,所以我们经常要写一些测试数据,所以这个模块的意义也变得十分重要。在MATLAB帮助文件里面也经常会看见这个模块的出现。Group1SignalBuilderl回Signal1Q.60,40.2v2rghtPointName5Time(sec)Signal1(#1)JYMinYMaxSignalGuilder(untitled/Si

4、gnalBuilde?;Signal11卡(shownFileEditGroupSignalAxesHelpAdjustsegmentYpositionIndex:1Q1i?加然后是LEGOMINDSTORMSNXT模块,如图3所示。中两个指轮状的就是电机模型,一个是角度传感器,返回的是电机转动的角度,一个是电机模块,输入是电机的速度-100,100之间。回GBMailboxLEGOSendvisBluEtc-c-thfRJConn-ectisn园Liiraj:le-gonxtlibLEGOMINDSTORMSMXTAcceleTtic-n5已nmEatte-LEGOLEGO日u廿nnColo

5、rS&n&a-jLightStnsDJMotorSpeaierTimerTu-uchSEnsarUltrasDnicSenses-CspTight201-1-2312ThsMsthWEHto,InaLEGOLEGOFLEGOG4LEGOXALEGOSOi-$卷恂2Si砖Fc-rt1山怕吐訂淀1ReceivEviaEluEtunthR)匚rmnecti-snLEQLEGOLEGO爆-inrg$oFwtA.Rot1LinelEncc-derLEGOLEGOLEGO、.5oPart1PertAPOTtlS&undSehsot接着是差分模块,如图4所示。顾名思义通过模块得到上一次的值与这一次值的差值,

6、例如角度传感器输入进去后,输出的就是角速度。z-1彳1、:DifTerence最后是输出模块,如图5所示。这个模块可以把输出结果,放入MATLAB的工作空间中,以便进行数据处理。举个例子说明工作空间的意思,你在写C语言的时候如果想看某些变量数值的时候是比较麻烦的,但是在MATLAB把变量的数值放在工作空间中,能像Excel一样的观看数值,而且可以画出图像等等,十分方便。3simoutI:11ToWorkspace下面开始建立Simulink模型如图6所示。输入是角速度,输出是反馈回来的角速度,也可以反馈是角度值。回TestLEGOz-1SIMzFilerEditViewSimLilationF

7、ormatToolsHelpd訂唇|爲晦斗仑卜审匝而wH|1rSign日IBuilderEncoder125%MotorToWorkspaceDisplayCJ/AAPartALEGOPortADifference凰Tes-tjoad其中SignalBuilder如图7所示。我是利用Excel导入进SignalBuilder中的,如图8所示。回150DC1W050505015040-0450DC1IClicktoselectsignal蚀AlDC-1(#1)YMinYMaxJFileEditGroupSignalAxesHelpSignalBuilderlTestJoad/SignaIBuil

8、der)YNam-eIndXr2003&0DCl(shown)闘.越知庇:诫站链髓圍:3HI冷250TimesecAETimeDC02022.100:-100:,*100;loi.-100:1100no-_成”ii3:50112100:114100:114或115二亘115-50:117-50117-LOQ,119-100119120:-012050122住-50125呼、:这样我们就可以点Tool-RunonTargetHardWare-Run就可以编译下载到NXT中了最后得到一个结构体,数据经过提取Time和得到的角速度建立矩阵out,再把输入值建立矩阵in,格式是第一列是时间,第二列是角

9、速度。在MATLAB中输入Ident打开系统辨识工具箱。点Importdata,如图9所示,选择Time-DomainSignals时域信号,并填入图10所示的参数。:Modelreskis:DataspectraFrequencyfunctionTrashValidation?ataStatuslineishe-re.Ncisesp&ctrumFrs-quencyreap.IZerosandpol&EIm卩urtData回C=!点击Estimate选择QuickStart。如图11所示。我们发现arxqs拟合度为91.82比较好。吧arxqs拖动到ToWorkspace中,这样我们的系统就建

10、立完毕了。ModelOutput;ylieneFileOptionsStyleChannelHelpExperiment7Trans-ient名瞬p(7FrequencyrespNomodeloutputforSPAmodels.jJlJmy-dstsRjModelcutp-ut;JModelresidsValidatianDwtw&clickcnicDnfcrt&Ktinfcrmaticn.Z&rcsan-dpols&WeisespectrLnnNonlinearAR.VA:V下面开始讲如何应用系统,建立如图12所示的模型。其中LTISystem模块参数修改为arxqs,就可以把模型输入到系统中了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号