本发明属于自动化控制领域,尤其是涉及一种mimo偏格式无模型控制器基于系统误差的参数自整定方法。
背景技术:
mimo(multipleinputandmultipleoutput,多输入多输出)系统的控制问题,一直以来都是自动化控制领域所面临的重大挑战之一。
mimo控制器的现有实现方法中包括mimo偏格式无模型控制器。mimo偏格式无模型控制器是一种新型的数据驱动控制方法,不依赖被控对象的任何数学模型信息,仅依赖于mimo被控对象实时测量的输入输出数据进行控制器的分析和设计,并且实现简明、计算负担小及鲁棒性强,对未知非线性时变mimo系统也能够进行很好的控制,具有良好的应用前景。mimo偏格式无模型控制器的理论基础,由侯忠生与金尚泰在其合著的《无模型自适应控制—理论与应用》(科学出版社,2013年,第105页)中提出,其控制算法如下:
其中,u(k)为k时刻的控制输入向量,u(k)=[u1(k),…,umu(k)]t,mu为控制输入个数,δu(k)=u(k)-u(k-1);e(k)为k时刻的误差向量,e(k)=[e1(k),…,emy(k)]t,my为输出个数;
然而,mimo偏格式无模型控制器在实际投用前需要依赖经验知识来事先设定惩罚因子λ和步长因子ρ1,…,ρl等参数的数值,在实际投用过程中也尚未实现惩罚因子λ和步长因子ρ1,…,ρl等参数的在线自整定。参数有效整定手段的缺乏,不仅使mimo偏格式无模型控制器的使用调试过程费时费力,而且有时还会严重影响mimo偏格式无模型控制器的控制效果,制约了mimo偏格式无模型控制器的推广应用。也就是说:mimo偏格式无模型控制器在实际投用过程中还需要解决在线自整定参数的难题。
为此,为了打破制约mimo偏格式无模型控制器推广应用的瓶颈,本发明提出了一种mimo偏格式无模型控制器基于系统误差的参数自整定方法。
技术实现要素:
为了解决背景技术中存在的问题,本发明的目的在于,提供一种mimo偏格式无模型控制器基于系统误差的参数自整定方法。
为此,本发明的上述目的通过以下技术方案来实现,包括以下步骤:
步骤(1):针对具有mu个输入(mu为大于或等于2的整数)与my个输出(my为大于或等于2的整数)的mimo(multipleinputandmultipleoutput,多输入多输出)系统,采用mimo偏格式无模型控制器进行控制;确定所述mimo偏格式无模型控制器的控制输入线性化长度常数l,l为大于1的整数;所述mimo偏格式无模型控制器参数包含惩罚因子λ和步长因子ρ1,…,ρl;确定mimo偏格式无模型控制器待整定参数,所述mimo偏格式无模型控制器待整定参数,为所述mimo偏格式无模型控制器参数的部分或全部,包含惩罚因子λ和步长因子ρ1,…,ρl的任意之一或任意种组合;确定bp神经网络的输入层节点数、隐含层节点数、输出层节点数,所述输出层节点数不少于所述mimo偏格式无模型控制器待整定参数个数;初始化所述bp神经网络的隐含层权系数、输出层权系数;
步骤(2):将当前时刻记为k时刻;
步骤(3):基于mimo系统的第jy个输出期望值与第jy个输出实际值(1≤jy≤my),采用第jy个误差计算函数计算得到k时刻的第jy个误差,记为ejy(k);将第jy个误差及其函数组、第jy个输出期望值、第jy个输出实际值的任意之一或任意种组合,记为集合{误差组jy},并放入集合{系统误差集};针对mimo系统的其他my-1个输出,重复执行本步骤,直至所述集合{系统误差集}包含全部{{误差组1},…,{误差组my}}的集合,并同时得到由my个误差所构成的误差向量e(k)=[e1(k),…,emy(k)]t,然后进入步骤(4);
步骤(4):将步骤(3)得到的所述集合{系统误差集}作为bp神经网络的输入,所述bp神经网络进行前向计算,计算结果通过所述bp神经网络的输出层输出,得到所述mimo偏格式无模型控制器待整定参数的值;
步骤(5):基于步骤(3)得到的所述误差向量e(k)、步骤(4)得到的所述mimo偏格式无模型控制器待整定参数的值,采用mimo偏格式无模型控制器的控制算法,计算得到mimo偏格式无模型控制器针对被控对象在k时刻的控制输入向量u(k)=[u1(k),…,umu(k)]t;
步骤(6):针对步骤(5)得到的所述控制输入向量u(k)中的第ju个控制输入uju(k)(1≤ju≤mu),计算所述第ju个控制输入uju(k)分别针对各个所述mimo偏格式无模型控制器待整定参数在k时刻的梯度信息,具体计算公式如下:
当所述mimo偏格式无模型控制器待整定参数中包含惩罚因子λ时,所述第ju个控制输入uju(k)针对所述惩罚因子λ在k时刻的梯度信息为:
当所述mimo偏格式无模型控制器待整定参数中包含步长因子ρ1时,所述第ju个控制输入uju(k)针对所述步长因子ρ1在k时刻的梯度信息为:
当所述mimo偏格式无模型控制器待整定参数中包含步长因子ρi且2≤i≤l时,所述第ju个控制输入uju(k)针对所述步长因子ρi在k时刻的梯度信息为:
其中,δuj(k)=uj(k)-uj(k-1),
上述全部所述梯度信息的集合记为{梯度信息ju},放入集合{梯度信息集};
针对步骤(5)得到的所述控制输入向量u(k)中的其他mu-1个控制输入,重复执行本步骤,直至所述集合{梯度信息集}包含全部{{梯度信息1},…,{梯度信息mu}}的集合,然后进入步骤(7);
步骤(7):以系统误差函数的值最小化为目标,采用梯度下降法,结合步骤(6)得到的所述集合{梯度信息集},进行系统误差反向传播计算,更新bp神经网络的隐含层权系数、输出层权系数,作为后一时刻bp神经网络进行前向计算时的隐含层权系数、输出层权系数;
步骤(8):所述控制输入向量u(k)作用于被控对象后,得到被控对象在后一时刻的my个输出实际值,返回到步骤(2),重复步骤(2)到步骤(8)。
在采用上述技术方案的同时,本发明还可以采用或者组合采用以下进一步的技术方案:
所述步骤(3)中的所述第jy个误差计算函数的自变量包含第jy个输出期望值与第jy个输出实际值。
所述步骤(3)中的所述第jy个误差计算函数采用
所述步骤(3)中的所述第jy个误差及其函数组,包含k时刻的第jy个误差ejy(k)、k时刻及之前所有时刻的第jy个误差的累积即
所述步骤(7)中的所述系统误差函数的自变量包含my个误差、my个输出期望值、my个输出实际值的任意之一或任意种组合。
所述步骤(7)中的所述系统误差函数为
本发明提供的mimo偏格式无模型控制器基于系统误差的参数自整定方法,能够实现良好的控制效果,并有效克服惩罚因子λ和步长因子ρ1,…,ρl需要费时费力进行整定的难题。
附图说明
图1为本发明的原理框图;
图2为本发明采用的bp神经网络结构示意图;
图3为两输入两输出mimo系统在惩罚因子λ和步长因子ρ1,ρ2,ρ3同时自整定时第1个输出的控制效果图;
图4为两输入两输出mimo系统在惩罚因子λ和步长因子ρ1,ρ2,ρ3同时自整定时第2个输出的控制效果图;
图5为两输入两输出mimo系统在惩罚因子λ和步长因子ρ1,ρ2,ρ3同时自整定时的控制输入图;
图6为两输入两输出mimo系统在惩罚因子λ和步长因子ρ1,ρ2,ρ3同时自整定时的惩罚因子λ变化曲线;
图7为两输入两输出mimo系统在惩罚因子λ和步长因子ρ1,ρ2,ρ3同时自整定时的步长因子ρ1,ρ2,ρ3变化曲线;
图8为两输入两输出mimo系统在惩罚因子λ固定而步长因子ρ1,ρ2,ρ3自整定时第1个输出的控制效果图;
图9为两输入两输出mimo系统在惩罚因子λ固定而步长因子ρ1,ρ2,ρ3自整定时第2个输出的控制效果图;
图10为两输入两输出mimo系统在惩罚因子λ固定而步长因子ρ1,ρ2,ρ3自整定时的控制输入图;
图11为两输入两输出mimo系统在惩罚因子λ固定而步长因子ρ1,ρ2,ρ3自整定时的步长因子ρ1,ρ2,ρ3变化曲线。
具体实施方式
下面结合附图和具体实施例对本发明进一步说明。
图1给出了本发明的原理框图。针对具有mu个输入(mu为大于或等于2的整数)与my个输出(my为大于或等于2的整数)的mimo系统,采用mimo偏格式无模型控制器进行控制;确定mimo偏格式无模型控制器的控制输入线性化长度常数l,l为大于1的整数;mimo偏格式无模型控制器参数包含惩罚因子λ和步长因子ρ1,…,ρl;确定mimo偏格式无模型控制器待整定参数,其为mimo偏格式无模型控制器参数的部分或全部,包含惩罚因子λ和步长因子ρ1,…,ρl的任意之一或任意种组合;在图1中,mimo偏格式无模型控制器待整定参数为惩罚因子λ和步长因子ρ1,…,ρl;确定bp神经网络的输入层节点数、隐含层节点数、输出层节点数,其中输出层节点数不少于mimo偏格式无模型控制器待整定参数个数;初始化bp神经网络的隐含层权系数、输出层权系数。
将当前时刻记为k时刻;将第jy个输出期望值
图2给出了本发明采用的bp神经网络结构示意图。bp神经网络可以采用隐含层为单层的结构,也可以采用隐含层为多层的结构。在图2的示意图中,为简明起见,bp神经网络采用了隐含层为单层的结构,即采用由输入层、单层隐含层、输出层组成的三层网络结构,输入层节点数设为3×my个,隐含层节点数设为8个,输出层节点数设为待整定参数个数(图2中待整定参数个数为l+1个)。输入层的节点数分成my组,每组包含3个节点,其中第jy组的3个节点与集合{误差组jy}中的误差ejy(k)、误差的累积
以下是本发明的一个具体实施例。
被控对象为典型非线性的两输入两输出mimo系统:
y1(k)=x11(k)
y2(k)=x21(k)
其中,α(k)=1+0.1sin(2kπ/1500),β(k)=1+0.1cos(2kπ/1500)。
系统输出期望值y*(k)如下:
在本具体实施例中,mu=my=2。
mimo偏格式无模型控制器的控制输入线性化长度常数l的数值通常根据被控对象的复杂程度和实际的控制效果进行设定,一般在1到10之间,过小会影响控制效果,过大会导致计算量大,所以一般常取3或5,在本具体实施例中l取为3。
bp神经网络采用由输入层、单层隐含层、输出层组成的三层网络结构,输入层节点数设为6个,隐含层节点数设为8个,输出层节点数设为待整定参数个数。
针对上述具体实施例,共进行了两组试验验证。
第一组试验验证时,图2中bp神经网络的输出层节点数预设为4个,对惩罚因子λ和步长因子ρ1,ρ2,ρ3进行同时自整定,图3为第1个输出的控制效果图,图4为第2个输出的控制效果图,图5为控制输入图,图6为惩罚因子λ变化曲线,图7为步长因子ρ1,ρ2,ρ3变化曲线。结果表明,本发明的方法通过对惩罚因子λ和步长因子ρ1,ρ2,ρ3进行同时自整定,能够实现良好的控制效果,并且可以有效克服惩罚因子λ和步长因子ρ1,ρ2,ρ3需要费时费力进行整定的难题。
第二组试验验证时,图2中bp神经网络的输出层节点数为3个,首先将惩罚因子λ固定取值为第一组试验验证时惩罚因子λ的平均值,然后对步长因子ρ1,ρ2,ρ3进行自整定,图8为第1个输出的控制效果图,图9为第2个输出的控制效果图,图10为控制输入图,图11为步长因子ρ1,ρ2,ρ3变化曲线。结果同样表明,本发明的方法在惩罚因子λ固定时通过对步长因子ρ1,ρ2,ρ3进行自整定,能够实现良好的控制效果,并且可以有效克服步长因子ρ1,ρ2,ρ3需要费时费力进行整定的难题。
应该特别指出的是,在上述具体实施例中,将第jy个输出期望值
还应该特别指出的是,在上述具体实施例中,集合{误差组jy}包含了误差ejy(k)、误差的累积
更应该特别指出的是,在上述具体实施例中,在以系统误差函数的值最小化为目标来更新bp神经网络的隐含层权系数、输出层权系数时,所述系统误差函数采用了综合考虑全部my个误差贡献的系统误差函数
最后应该特别指出的是,所述mimo偏格式无模型控制器待整定参数,包含惩罚因子λ和步长因子ρ1,…,ρl的任意之一或任意种组合;在上述具体实施例中,第一组试验验证时惩罚因子λ和步长因子ρ1,ρ2,ρ3实现了同时自整定,第二组试验验证时惩罚因子λ固定而步长因子ρ1,ρ2,ρ3实现了自整定;在实际应用时,还可以根据具体情况,选择待整定参数的任意种组合,举例来说,步长因子ρ1,ρ2固定而惩罚因子λ、步长因子ρ3实现自整定;此外,mimo偏格式无模型控制器待整定参数,包括但不限于惩罚因子λ和步长因子ρ1,…,ρl,举例来说,根据具体情况,还可以包括mimo系统伪分块雅克比矩阵估计值
上述具体实施方式用来解释说明本发明,仅为本发明的优选实施例,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改、等同替换、改进等,都落入本发明的保护范围。