zoukankan      html  css  js  c++  java
  • 电气比例伺服系统-增广最小二乘法

    这篇写的挺烂的,公式太多,图片我本地是没能显示,也不能attach 文件。有需要的可以发邮件到zhaoyueplc@163.com.或者去我的新浪微博留言。我这边还有vb编的ui,还有一些matlab仿真结果,采样数据都有。

    一,   模型结构的确定

    根据文献中的机理建模建立的电气比例伺服系统的数学模型表明,其系统模型一般可以表示为:

             

    考虑到一般情况,系统可用下面的三阶可控平均滑动模型来作为系统辨识模型:

    其中,,,,v(k)为系统中的力干扰(包括滑动摩擦力和负载力)。

    二,输入信号及数据预处理

    1.输入信号的选择

    由于对于辨识信号的最低要求是:在辨识时间内能够持续激励过程的所有模态,也就是输入信号的频谱要能够覆盖系统的频谱。所以辨识时采用M序列作为输入信号。

    M序列选择应满足如下条件:

    (1)        在选取Np时,使得M序列的周期必须大于系统的过度时间以保证时间大于NpΔt后,系统的脉冲响应趋近于零。一般

                        

         其中,ts为系统的过度时间,Δt为脉冲时间间隔。

    (2)        脉冲时间间隔Δt的选择应使M序列的频带宽度大于辨识系统的频带。由于待辨识系统具有低通滤波的特性,在0~0.45/Δt的范围内,它的自功率谱近似为常数,因此Δt的选择可按下式计算:

     

    其中,为系统的最高工作频率。

    (3)M序列的幅值选择不能过大以免超过活塞的移动范围,也不能太小影响辨识的精度。

     满足上述条件,本实验选用如下M序列:

           采用6阶M序列,幅值及周期可在实验过程中通过面板输入以达到最佳的辨识效果。

    2.采样时间的确定

       采样时间的选取将直接影响辨识模型的精度,它的选取原则最起码应满足如下条件:

    (1)    要满足采样定理,即采样速度不低于信号截止频率的2倍。

    (2)    与模型应用时的采样时间保持一致,并且尽量顾及辨识算法,控制算法的计算速度和执行机构,检测元件的响应速度等问题。一般有

    T0=T95/(5~15)

       因此,根据参考文献中的有关分析,采样时间T0为10ms。

    3.数据与处理

       由于输入输出数据中含有直流分量或低频成分,用任何辨识方法都无法消除它们对辨识精度的影响,此外数据中的高频也应该剔除。因此,应对数据做如下处理:

    (1)    零均值化  采用差分法或平均法,本实验利用差分法。

    (2)    用低通滤波器剔除数据中的高频成分。

    (3)为了消除过程输入输出中的低频扰动,辨识时去除M序列第一个周期的数据。从第二个周期开始采集数据。

       

    三, 辨识方法及实验结果

    1.辨识方法选择增广最小二乘法。由于气动系统的开环是不稳定的,辨识的时候只需要研究对象的输入输出数据,直接建立被测对象的数学模型,反馈通道的模型可以未知。

    将模型写成如下格式:

    其中,

    因为h(k)中包含不可测量的噪声量v(k-1),v(k-2),用估计值来代替:

     

     

                        辨识算法的流程图

    2.辨识软件的实现

      本系统中利用VB作为开发软件,获得输入输出数据后,通过Matlab的强大数据分析和计算能力,系统参数进行辨识。

    3.  辨识结果

      分别采集M序列周期和幅值不等的开环闭环数据进行辨识,其结果如下:

           图1  闭环超前校正,M序列周期为4s 幅值800数据长度1000

    图2闭环超前校正M序列周期为6s幅值800数据长度1000

              图3闭环超前校正M序列周期为6s幅值800数据长度800

    图4闭环滞后校正M序列周期为6s幅值800数据长度1000

    图5闭环超前校正M序列周期为6s幅值1000数据长度1000

    图6开环M序列周期为6s幅值800数据长度1000

    图1为闭环超前校正辨识,M序列周期为4s(即Δt=4/63s),幅值为800,数据长度选择1000。

    辨识结果为:

    1-1.3198+0.1313+0.2130

    ++0.0015

    -0.2784+0.0611

    图2为闭环超前校正辨识,M序列周期为6s(即Δt=6/63s),幅值为800,数据长度选择1000。

    辨识结果为:

    1-1.2886+0.0141+0.2887

    ++0.0017

    -0.3815+0.0738

    图3为闭环超前校正辨识,M序列周期为6s(即Δt=6/63s),幅值为800,数据长度选择800。

    辨识结果为:

    1-1.3669+0.1964+0.1833

    ++0.0013

    -0.6374+0.1732

    图4为闭环滞后校正辨识,M序列周期为6s(即Δt=6/63s),幅值为800,数据长度选择1000。

    辨识结果为:

    1-1.5913+0.5455+0.0583

    -0.0015+0.0029+0.0032

    -0.6488+0.1555

    图5为闭环超前校正辨识,M序列周期为6s(即Δt=6/63s),幅值为1000,数据长度选择1000。

    辨识结果为:

    1-1.3938+0.2782+0.1313

    ++0.0024

    -0.3237+0.1175

    图6开环辨识,M序列周期为6s(即Δt=6/63s),幅值为800,数据长度选择1000。

    辨识结果为:

    1-1.3154+0.2575+0.0679

    +0.0022+0.0046

    -0.4668+0.1733

    结果分析:

       由于选择的辨识方式(开环和闭环),以及在实验过程中噪声干扰的影响,得出的结论略有差异,但对其各个残差进行分析发现结果都没有大的问题,因此可以认为辨识的结果是比较理想的。

    四, 模型的验证

    1.新数据验证

    重新采集一组数据分别对三阶模型进行验证。最终得到精确的模型。

     

    模型验证

    从图中可以看出新数据与老数据辨识结果重合度较好,故可以确定系统模型为

     

    其中:

    1-1.3938+0.2782+0.1313

    ++0.0024

    -0.3237+0.1175

                                          

                                                     

  • 相关阅读:
    iOS企业版打包 发布在线安装包 plist
    iOS企业版打包(转载)
    微信小程序开发入门教程
    SVN常用命令说明
    高仿QQ、微信效果的图片浏览器(支持原图和缩略图、多种手势、CocoaPods)
    iOS 调试大法
    MFMailComposeViewController发送邮件的实例
    自定义UISearchBar外观
    npm 包命令:不是内部或外部命令 问题分析
    angular 子路由跳转出现Navigation triggered outside Angular zone, did you forget to call ‘ngZone.run() 的问题修复
  • 原文地址:https://www.cnblogs.com/zhaoyueplc/p/3334602.html
Copyright © 2011-2022 走看看