用于鲁棒控制的系统辨识方法与流程

文档序号:14940421发布日期:2018-07-13 20:33阅读:269来源:国知局

本发明属于控制领域,特别涉及用于鲁棒控制的系统辨识方法。



背景技术:

在控制器的设计过程中,通常会把被控对象描述成一个线性系统或者把一个非线性系统在某个工作点附近展开再近似成一个线性系统,然后在此基础上引入线性的控制器。

在化工行业,被控对象(如流量、温度、压力等)在许多工况下其特征会随时间变化而变化(该类系统也被称为时变系统)或者被控对象的非线性很强。因此,近似得到的线性系统的参数并不能很好地代表实际系统。即实际系统的参数是不确定的;或者模型与实际系统存在一定偏差。为了保证生产平稳,很有必要设计鲁棒的控制方法来控制这类系统。

在现有技术中,鲁棒控制方法已经较为成熟,但是对不确定系统的辨识手段却非常有限;同时大部分鲁棒控制方法都是基于假设被控系统模型的不确定性是已知的,但是这并不符合实际情况,无法满足实际控制过程的需求。



技术实现要素:

为了解决现有技术中存在的缺点和不足,本发明提供了基于最大可行集思想对参数求解,进而提高确定参数取值范围效率的用于鲁邦控制的系统辨识方法。

为了达到上述技术目的,本发明提供了用于鲁棒控制的系统辨识方法,用于对非线性系统参数的取值区间进行确定,所述系统辨识方法,包括:

建立离散切换模型方程,对离散切换模型进行简化处理,得到方程的简洁表达式;

获取模型数据,将模型数据代入简洁表达式中求解,得到方程参数数据集;

对参数数据集中的数据进行过滤得到滤除数据,将滤除数据进行重分配操作,得到重分配参数数据集。

可选的,所述建立离散切换模型方程,对离散切换模型进行简化处理,得到方程的简洁表达式,包括:

建立如公式一所示的离散切换模型方程

其中,uk是采样时刻k步的输入值,yk采样时刻k步的输出值,vk测量噪声或者是模型误差,且σk为子模型的序号,取值范围为[1,s],s为正整数;

定义回归向量和参数向量的表达式,代入公式一中,得到如公式二所示的简洁表达式

其中,定义为

定义为k的取值为正整数。

可选的,所述获取模型数据,基于模型数据对简洁表达式求解,得到方程参数数据集,包括:

获取与非线性系统对应的包括输入数据和输出数据的模型数据,将输入数据与输出数据代入得到的简洁表达式;

将每组输入数据与对应的输出数据代入简洁表达式后,得到对应的方程参数数值,在将模型数据全部代入简洁表达式后,得到方程参数数值构成的方程参数数据;

根据最大可行集求解方法对方程参数数据进行分类,获取到由未知数量的方程参数数值构成的方程参数数据集。

可选的,所述根据最大可行集求解方法对方程参数数据进行分类,获取到由预设数量的方程参数数值构成的方程参数数据集,包括:

构建线性规划的目标函数约束条件为aθ-s≤b,s≥0,其中,j为目标函数值,si为弹性变量,b为约束阈值,s为约束参数,n的取值为非零自然数;

在获取目标函数j取值的过程中,如果j取值不等于零,则对目标函数中对应的数据进行删除处理,直至目标函数j取值为零时,得到目标函数最优解。

可选的,所述系统辨识方法,还包括:

构建线性规划的目标函数

其中,t代表转置,n的取值为非零自然数。

可选的,所述对参数数据集中的数据进行过滤得到滤除数据,将滤除数据进行重分配操作,得到重分配参数数据集,包括:

对参数数据集中的数据进行基于最小截平方和的估计处理,通过估计得到的参数向量滤除参数数据集中的被错误分类的数据;

从被错误分类的数据中选取残差绝对值小于残差阈值的数据,将得到的参数值进行重新估计,得到重分配参数数据集。

可选的,所述系统辨识方法,还包括:

将重分配参数数据集中的参数向量和参数数据分别在参数平面和数据平面上进行投影;

从投影中选取相对距离小于预设距离阈值的目标参数向量,选取与目标参数向量对应的参数数据,基于目标参数向量和参数数据进行重新估计得到预估计参数向量

在参数平面上,以预估计参数向量为中心点,向每个维度延伸,构建出超立方体,令每个数据平面均穿过超立方体,获取每个数据平面与超立方体外表面相交处的交界数值,令交界数值作为每个数据的上下限;

其中,数据平面的表达式为

参数平面的表达式为

本发明提供的技术方案带来的有益效果是:

通过在确定参数数据集的过程中,基于最大可行集的思想,同时采用高效地近似计算方法,能够快速地辨识出时变系统的参数上下限,弥补了现有技术中多种辨识方法的不足,能够提高确定参数取值范围的效率。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的用于鲁棒控制的系统辨识方法的流程示意图;

图2是本发明提供的基于最大可行集求解思想的求解流程示意图;

图3(a)是本发明提供的数据平面的示意图;

图3(b)是本发明同一数据平面的直线的交叉情况示意图;

图4(a)是本发明提供的测量噪声上限值与模型匹配度示意图;

图4(b)是本发明提供的子模型数量之间的关系示意图;

图5是本发明提供的基于样本数据的残差值示意图。

具体实施方式

为使本发明的结构和优点更加清楚,下面将结合附图对本发明的结构作进一步地描述。

实施例一

本发明提供了用于鲁棒控制的系统辨识方法,用于对非线性系统参数的取值区间进行确定,如图1所示,所述系统辨识方法,包括:

11、建立离散切换模型方程,对离散切换模型进行简化处理,得到方程的简洁表达式;

12、获取模型数据,将模型数据代入简洁表达式中求解,得到方程参数数据集;

13、对参数数据集中的数据进行过滤得到滤除数据,将滤除数据进行重分配操作,得到重分配参数数据集。

在实施中,为了实现控制系统的鲁棒控制,常常需要将对现有的非线性系统(时变系统)的参数的取值或是取值范围进行确定,得到便于鲁棒控制的系统参数范围。本发明的主要步骤为借助一个或多个线性系统对非线性系统进行近似,获得多组参数,进而对参数数据集中的错误数据进行滤除,最终得到能够准确表征非线性系统特性的参数集。

在确定参数数据集的过程中,最大可行集的思想为基础,采用高效地近似计算方法,能够快速地辨识出时变系统的参数上下限,弥补了以上辨识方法的不足。其主要优点在于:利用最大可行集的思想,避免了辨识过程中对模型数量的要求;提出的辨识算法不需要重复处理输入输出数据,实现步骤十分简洁;相比较现有技术,数据处理环节中每次求解优化问题都只需要计算解析解,大幅度降低了计算复杂度;对数据处理结果采用鲁棒的估计方法,提高了计算精确度;根据鲁棒控制的要求,加入了辨识模型后处理环节,提高了辨识算法的可信度,并定义了模型参数的区间。

可选的,所述建立离散切换模型方程,对离散切换模型进行简化处理,得到方程的简洁表达式,包括:

建立如公式一所示的离散切换模型方程

其中,uk是采样时刻k步的输入值,yk采样时刻k步的输出值,vk测量噪声或者是模型误差,且σk为子模型的序号,取值范围为[1,s],s为正整数;

定义回归向量和参数向量的表达式,代入公式一中,得到如公式二所示的简洁表达式

其中,定义为

定义为k的取值为正整数。

在实施中,本实施例中用于确认参数的非线性系统或时变系统的具体表达式未知,为了对非线性系统或时变系统进行准确模拟,需要以能够确认具体参数的线性系统表达式进行多次模拟,直至线性系统的结果与非线性系统(或时变系统)的输出值的误差小于可以接受的范围时,即完成对非线性系统的模拟。

为了完成全部的模拟步骤,首先需要建立线性系统表达式,该表达式以离散切换模型方程的形式呈现。具体的使用离散切换arx模型。

该模型方程的通用表达式如公式一所示,方程中的系数表达式分别为:

其中,σk为子模型的序号,an、bn为系数表达式中的系数,n的取值为正整数。

在本步骤中确定了arx模型的表达式后,在后续步骤中通过将获取到的针对该非线性模型(时变模型)对应的参数数据。

可选的,所述获取模型数据,基于模型数据对简洁表达式求解,得到方程参数数据集,包括:

获取与非线性系统对应的包括输入数据和输出数据的模型数据,将输入数据与输出数据代入得到的简洁表达式;

将每组输入数据与对应的输出数据代入简洁表达式后,得到对应的方程参数数值,在将模型数据全部代入简洁表达式后,得到方程参数数值构成的方程参数数据;

根据最大可行集求解方法对方程参数数据进行分类,获取到由预设数量的方程参数数值构成的方程参数数据集。

在实施中,为了能够尽快的通过带入数据计算的方式确定用于模拟非线性系统的参数,这里需要代入的数据也被称为输入输出采样数据,会来自不同的子模型。为了根据子模型的不同,划分清楚这些数据,把子模型σ的输入输出数据集记作dσ,定义为对于此数据集,可以定义一个会员集sσ包含所有的参数向量使得残差的绝对值小于

显然,对于子模型σ,其对应的参数向量是sσ的一个元素,可以用常规的优化算法估计得到,如最小二乘算子。问题在于数据集dσ是未知的,且包含所有数据的数据集d并不能估计出一个参数向量使得残差的绝对值小于换言之,不存在一个参数向量θ,满足这里y=[y1y2…yn]t∈rn如果写成aθ≤b的形式,那么以下线性系统是无可行解的:

因此,这里关注的辨识问题,其关键在于如何估计数据集dσ,使其会员集sσ非空,同时把(式4.3)中的线性系统划分成最少数量的可行系统。求解此问题可以转化成求解一系列的最大可行集问题(maxfs),即:给定一个不可行(无解)系统,σ:{aθ≤b},a∈r2n×n,b∈r2n,搜寻该系统包含的所有可行(有解)集中含最多数量的那个可行集。求解流程在图2中表示。

图2表达的原理为:首先从集合d中选取集合d1,集合d1中的参数数据为能够满足最大数量的输入参数数据与输出参数的参数数据,接着从d中除d1外的数据中选取能够满足最大数量的输入参数数据与输出参数的参数数据集合d2,再从d中除d1、d2外的数据中确定能够满足最大数量的输入参数数据与输出参数的参数数据集合d3,以此类推。完成全部参数数据集合的选取。

可选的,所述根据最大可行集求解方法对方程参数数据进行分类,获取到未知数量的方程参数数值构成的方程参数数据集,包括:

构建线性规划的目标函数约束条件为aθ-s≤b,s≥0;

在获取目标函数j取值的过程中,如果j取值不等于零,则对目标函数中参数的取值进行删除处理,直至目标函数j取值为零时,得到目标函数最优解。

在实施中,前述问题中提出的基于最大可行集的求解方法,思路为把不可行系统σ转化成一个可行系统σ',方法是加入2n个非负的弹性变量,si≥0,即:

σ:{aθ≤b}→σ':{aθ-s≤b},其中s=[s1s2…s2n]t

为使得估计到的数据集具有最多的数据,即可行系统具有最多的不等式数量,弹性变量值的和则期望达到最小,转变为得到如下带约束的线性规划问题。

使目标函数值j迅速下降的有效方法是去除含最大si对应的约束,所以得到以下第一条规则:

规则1:a←[a],s←[s],b←[b]

其中,[*]定义为行删除操作符,该操作符删除对应于最大弹性变量的那一行。其次,从(式4.3)中,可以观察到一个数据对应该在约束中引入了两个不等式,另外还引入了两个关于弹性变量本身的不等式。因此,如果一个不等式被删除,则另三个相关的不等式也应该一起被删除。

规则2:如被删,

则sm≥0、和sn≥0都须被删

基于以上两条规则,(式4.4)中的优化问题等价成以下优化问题且求解maxfs的流程可以简单地归纳成三步。

首先,对(式4.5)中的目标函数进行求解;

其次,如果求得的解中目标函数值j不等于零,则根据制定的规则1和规则2再次对目标函数进行求解;

再次,直至目标函数值j等于零时,结束操作。

可选的,所述系统辨识方法,还包括:

构建线性规划的目标函数

在实施中,以上提到的maxfs问题的求解步骤虽然简单,但是一旦数据量很大,每一步求解lp问题所耗费的时间仍然会比较大。为进一步提高计算效率,考虑近似(式4.5)中的lp问题为一个无约束的二次规划问题。

这个优化策略是分两步来解释。首先,前述优化问题只关注了的部分。如果所有残差的绝对值都小于得到了所需的数据。从另一角度,只考虑残差绝对值最大的那组数据。如果最大的残差绝对值小于同样得到一个可行系统,替换图中的判断依据j=0为

其次,利用无约束qp问题具有解析解的特点,考虑替换(式4.5)

可选的,所述对参数数据集中的数据进行过滤得到滤除数据,将滤除数据进行重分配操作,得到重分配参数数据集,包括:

对参数数据集中的数据进行基于最小截平方和的估计处理,通过估计得到的参数向量滤除参数数据集中的被错误分类的数据;

从被错误分类的数据集中选取残差绝对值小于残差阈值的数据,将得到的参数值进行重新估计,得到重分配参数数据集。

在实施中,对两类数据作了处理,一类是关于错误分类数据的处理,另外一类是关于错误删除数据的处理。下面解释如何处理这两类数据。

第一,对于估计得到的子模型数据集而言,无可避免地会引入少量错误分类的数据。对特定的子模型而言,这些数据可以被视为“野值”。为降低“野值”的影响,对子模型数据集采用最小截平方和(lts)的估计策略。

其中,h是正整数,是已排序的残差平方,满足

用估计所得的参数向量滤除错误分类的数据部分。

第二,对于错误删除的数据采用回填数据的方式重新估计参数向量。

首先,从剩余数据集中找到满足残差绝对值小于的数据;然后构造新的数据集重新估计参数向量。

可选的,所述系统辨识方法,还包括:

将重分配参数数据集中的参数向量和参数数据分别在参数平面和数据平面上进行投影;

从投影中选取相对距离小于预设距离阈值的目标参数向量,选取与目标参数向量对应的参数数据,基于目标参数向量和参数数据进行重新估计得到预估计参数向量

在参数平面上,以预估计参数向量为中心点,向每个维度延伸,构建出超立方体,令每个数据平面均穿过超立方体,获取每个数据平面与超立方体外表面相交处的交界数值,令交界数值作为每个数据的上下限;

其中,数据平面的表达式为

参数平面的表达式为

在实施中,对于由于多模型切换控制系统的设计比较复杂且实际实施起来很困难,因此工程应用上人们常常更倾向于设计单个鲁棒控制系统对具有多模型的系统进行控制。在辨识得到多个系统的子模型后,可以考虑采用聚类的方法对所得的模型进行后处理。解决方法如下,

第一,基于霍夫变换的思想,把估计得到参数向量以及数据在参数平面上投影表示出来。数据平面可以表示为其对应的参数平面则为

第二,选取临近的参数向量,并且利用这些参数向量相关的数据,重新估计用于鲁棒控制的参数向量

第三,在参数平面上,以为中心点,向每个维度伸展,共同构建出一个超立方体,使得所有数据平面穿越此立方体。从而得到模型参数的上下限:

图3展示了一个二维的例子来简要地说明霍夫变换。其中图3(a)显示的是数据平面(这个例子里数据平面为直线),用星号和圆点画出了两条直线上的数据点,π1:y=2x和π2:y=0.5x。每个数据点在参数平面中即图3(b)被变换成了一条直线,这些直线的交点对应的是数据平面的参数,即(0.5,0)和(2,0),其中0为截距。如果加入测量噪声的影响,图3(a)的数据点将偏移所在的数据平面。在这种情况下,图3(b)中属于同一数据平面的直线将不完全交叉于同一点,而是穿越参数点附近的一个领域,即(0.5±δc,0±δc0)和(2±δc,0±δc0)*,由此便可以得到参数的上下限。为表述方便,假设参数的上下限偏离参数点的距离一致,都为δc或者δc0。

实例测试

对本发明作了相关的实例测试,对于化工过程中一种常见的非线性系统采集了900组数据,600组数据用于系统辨识,300组数据用于模型验证。模型验证测试中,模型匹配度用fit函数来度量,其定义如下:

和y601:900分别是预测和实际的输出值,mean(.)函数代表取均值。测试中测量噪声的上限是未知的。图4(a)、4(b)展示的是测量噪声上限值与模型匹配度以及子模型数量之间的关系。子模型数量和模型匹配度可以根据实际需求取舍。这里以子模型数量等于4为例,显示模型的匹配度为91.7%,对应的=0.5.

图5展示了模型验证的结果。可以看出,基于辨识模型的预测值与实际采样真值的误差非常小,几乎所有残差都在0.5范围之内。

本发明提供了用于鲁棒控制的系统辨识方法,用于对非线性系统参数的取值区间进行确定,包括:建立离散切换模型方程,对离散切换模型进行简化处理,得到方程的简洁表达式;获取模型数据,将模型数据代入简洁表达式中求解,得到方程参数数据集;对参数数据集中的数据进行过滤得到滤除数据,将滤除数据进行重分配操作,得到重分配参数数据集。通过在确定参数数据集的过程中,基于最大可行集的思想,同时采用高效地近似计算方法,能够快速地辨识出时变系统的参数上下限,弥补了现有技术中多种辨识方法的不足,能够提高确定参数取值范围的效率。

上述实施例中的各个序号仅仅为了描述,不代表各部件的组装或使用过程中的先后顺序。

以上所述仅为本发明的实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1