[发明专利]一种子空间系统辨识方法及系统有效
申请号: | 202110561327.6 | 申请日: | 2021-05-22 |
公开(公告)号: | CN113110068B | 公开(公告)日: | 2023-03-10 |
发明(设计)人: | 夏元清;高润泽;詹玉峰;翟弟华;戴荔;孙中奇;张金会;闫莉萍;刘坤;郭泽华;崔冰;邹伟东 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G05B13/04 | 分类号: | G05B13/04 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 杜阳阳 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 种子 空间 系统 辨识 方法 | ||
1.一种子空间系统辨识方法,其特征在于,包括:
采集被控系统的历史输入数据和历史输出数据;
根据所述历史输入数据和所述历史输出数据,初始化四组输入输出数据矩阵,第一组输入输出数据矩阵为第一输入数据Hankel矩阵和第一输出数据Hankel矩阵,第二组输入输出数据矩阵为第二输入数据Hankel矩阵和第二输出数据Hankel矩阵,第三组输入输出数据矩阵为第三输入数据Hankel矩阵和第三输出数据Hankel矩阵,第四组输入输出数据矩阵为第四输入数据Hankel矩阵和第四输出数据Hankel矩阵;第一组输入输出数据矩阵中的数据是第二组输入输出数据矩阵中的数据的早期数据,第三组输入输出数据矩阵中的数据是第四组输入输出数据矩阵中的数据的早期数据;
将所述第一输入数据Hankel矩阵和所述第一输出数据Hankel矩阵合并,获得第一中间变量矩阵;
将所述第三输入数据Hankel矩阵和所述第三输出数据Hankel矩阵合并,获得第二中间变量矩阵;
获得所述第二输出数据Hankel矩阵的行空间沿着所述第二输入数据Hankel矩阵的行空间投向所述第一中间变量矩阵的行空间的投影,定义为第一投影;
获得所述第四输出数据Hankel矩阵的行空间沿着所述第四输入数据Hankel矩阵的行空间投向所述第二中间变量矩阵的行空间的投影,定义为第二投影;
将所述第一投影按列分为col个矩阵块;col为偶数;
基于奇异值分解方法,对col个矩阵块按顺序进行处理,获得多个第一奇异值分解结果;
将获得的多个第一奇异值分解结果中每两个第一奇异值分解结果为一组进行聚合;
判断获得的聚合结果数量是否为1;
若获得的聚合结果数量为1,则输出聚合结果;
若获得的聚合结果不为1,则对多个聚合结果进行奇异值分解,获得第一奇异值分解结果,返回步骤“将获得的多个第一奇异值分解结果中每两个第一奇异值分解结果为一组进行聚合”;
对聚合结果进行奇异值分解,获得第二奇异值分解结果;
对所述第二奇异值分解结果、所述第一投影和所述第二投影进行聚合,获得系统状态空间模型;
球杆系统包括控制计算机、伺服驱动器、球杆机械本体和传感器,控制计算机、伺服驱动器、球杆机械本体和传感器组成一个闭环系统,控制目的是使小球到达横杆上某一指定位置,并停下来保持不动,在某一采样时刻t,球杆系统的输入变量为u(t),代表齿轮角度θ,检测到输出变量为其中y1(t),y2(t)分别代表小球的位置和速度;
使球杆系统运行2N+j-1个采样时刻,收集2N+j-1个采样时刻内球杆系统的输入数据和输出数据;
建立输入输出数据Hankel矩阵:
第一输入数据Hankel矩阵:
第二输入数据Hankel矩阵:
第一输出数据Hankel矩阵:
第二输出数据Hankel矩阵:
第三输入数据Hankel矩阵:
第四输入数据Hankel矩阵:
第三输出数据Hankel矩阵:
第四输出数据Hankel矩阵:
进行基于工作流结构的子空间系统辨识;
所述将获得的多个第一奇异值分解结果中每两个第一奇异值分解结果为一组进行聚合,具体包括:
利用BlockMerge函数,将获得的多个第一奇异值分解结果中每两个第一奇异值分解结果为一组进行聚合,获得聚合结果;
其中,BlockMerge函数的输入为两个第一奇异值分解结果,第一个分解结果为U1,∑1,V1和第二个分解结果为U2,∑2,V2,输出为聚合结果Ur,∑r,Vr;
通过BlockMerge函数获得聚合结果Ur,∑r,Vr的过程为:
获得U1,∑1,V1的低阶近似结果U1k,∑1k,V1k;
获得U2,∑2,V2的低阶近似结果U2l,∑2l,V2l;
对U1k∑1k、U2l∑2l进行聚合并奇异值分解,获得
根据公式对V1k,V2l进行聚合,获得Vr;
所述基于奇异值分解方法,对col个矩阵块按顺序进行处理,获得多个第一奇异值分解结果,具体包括:
使用DoMergeOfBlocks函数对col个矩阵块进行奇异值分解;
所述使用DoMergeOfBlocks函数对col个矩阵块进行奇异值分解,具体包括:
预设存放分解结果的列表lU、l∑和lV,其中,列表lU中存储各矩阵块进行奇异值分解的U矩阵,列表l∑中存储各矩阵块进行奇异值分解的∑矩阵,列表lV中存储各矩阵块进行奇异值分解的V矩阵,矩阵块的奇异值分解结果为U∑VT;
根据公式Nl=len(lU),获得列表长度Nl;
根据公式level=ceil(log2Nl),获得迭代层数level;
初始化i=1;
建立的空列表lUt、l∑t和lVt,使用列表lU为lUt进行赋值,列表l∑为l∑t进行赋值,列表lV为lVt进行赋值;
初始化j=1;
利用所述BlockMerge函数,根据公式Uj,∑j,Vj=BlockMerge(lUt(j),l∑t(j),lVt(j),lUt(j+1),l∑t(j+1),lVt(j+1)),获得Uj,∑j,Vj;其中,lUt(j)表示列表lUt第j个元素,l∑t(j)表示列表l∑t第j个元素,lVt(j)表示列表lVt第j个元素;
将Uj放入列表lU中,将∑j放入列表lU中,将Vj放入列表lV中;
将j值加2;
判断j是否小于或等于列表长度Nl;
若j小于或等于列表长度Nl,则返回步骤“利用所述BlockMerge函数,根据公式Uj,∑j,Vj=BlockMerge(lUt(j),l∑t(j),lVt(j),lUt(j+1),l∑t(j+1),lVt(j+1)),获得Uj,∑j,Vj”;
若j大于列表长度Nl,则判断列表长度Nl是否为奇数;
若列表长度Nl是奇数,则将列表lUt的最后一项加入列表lU,将列表l∑t的最后一项加入列表l∑,将列表lVt的最后一项加入列表lV;
若列表长度Nl是偶数,则i值加1;
判断i是否小于或等于迭代层数level;
若i小于或等于迭代层数level,则返回“建立的空列表lUt、l∑t和lVt,使用列表lU为lUt进行赋值,列表l∑为l∑t进行赋值,列表lV为lVt进行赋值”;
若i大于迭代层数level,则结束循环;
将列表lU、l∑和lV作为第一奇异值分解结果输出;
所述对聚合结果进行奇异值分解,获得第二奇异值分解结果,具体包括:
根据公式Nc=round(n/col′+0.45)获得切割列块数目;n表示待分解聚合结果矩阵M的列数,col′表示预设拆分后列块宽度;
建立存放切割后列块的列表lA和各列块存放分解结果的列表lU、l∑和lV;
将矩阵M按列切割Nc个列块,将Nc个列块放入列表lA中;
对Nc个列块进行奇异值分解,将结果对应存入列表lU、l∑和lV中;
将lU、l∑和lV作为DoMergeOfBlocks函数的输入,获得矩阵M的奇异值分解结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110561327.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电子烟雾化器油性分离结构
- 下一篇:一种底层装配式框架结构体系的建造方法