预测控制装置及方法

文档序号:6286635阅读:115来源:国知局
专利名称:预测控制装置及方法
技术领域
本发明涉及预测控制领域,更具体地涉及一种预测控制装置及方法。

背景技术
预测控制是一种先进的计算机控制算法,它基于参数模型,对过程的模型要求不高,具有柔化作用、多步预测、滚动优化和在线反馈校正等特征,并且对模型结构偏差具有较强的鲁棒性,对存在滞后和不确定性的对象呈现优良的控制性能,成为当前过程控制的发展方向之一。
但是由于预测控制算法计算量大,实现所述预测控制算法需要大量的数据计算和处理,在目前投入应用的各种预测控制装置(如工业控制机)中,大都是基于冯·诺依曼的计算机结构的。由于基于冯·诺依曼的计算机结构的预测控制装置对指令的执行都是按顺序串行处理的,又由于所述预测控制算法本身涉及的计算量较大,因此采用现有的预测控制装置实现一次预测控制运算花费的时间是很长的,且现有的预测控制装置只能面向输出响应较慢的被控对象。
因此,有必要提供一种改进的预测控制装置来克服上述缺陷。


发明内容
本发明的目的是提供一种预测控制装置及方法,并行处理整个预测控制过程以缩短预测控制运算所花费的时间。
为了实现上述目的,本发明提供了一种预测控制装置,用于实现对被控对象的预测控制,包括存储模块,用于存储整个预测控制过程中产生的数据以及所述被控对象的历史数据和当前测量数据;输入模块,用于设定所述被控对象的预测模型的阶次以及所述被控对象的期望输出值;控制模块,用于控制整个预测控制过程,并根据所述预测控制过程调用所述存储模块内的相应数据;处理模块,包括多个基本处理器,用于对所述控制模块调用的相应数据进行并行处理,以计算所述被控对象的控制量;及输出模块,用于将所述处理模块计算出的控制量输出至所述被控对象以实现对所述被控对象的控制。
具体地,所述多个基本处理器构成阵列结构单元,包括第一阵列结构单元,用于并行执行矩阵与向量相乘的运算;第二阵列结构单元,用于并行执行向量与向量相乘的运算;及第三阵列结构单元,用于并行执行向量乘向量的积与矩阵的加减运算。
具体地,所述控制模块包括数据选择及控制单元,用于根据所述预测控制过程将所述存储模块内的相应数据调用至所述处理模块进行并行处理;参数辨识单元,用于采用最小二乘法将所述存储模块内的所述被控对象的历史数据及当前测量数据调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元,以获取所述预测模型中的参数值,从而确定所述预测模型;输出预测单元,用于将所述参数辨识单元获取的参数值和预测模型调用至所述第二阵列结构单元以预测所述被控对象将来时刻的输出值;矩阵求逆单元,用于采用递推算法根据所述参数辨识单元获取的参数值构建矩阵,并将所述矩阵调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元以求解所述矩阵的逆矩阵;及控制量计算单元,用于将所述输出预测单元预测的所述被控对象将来时刻的输出值和所述矩阵求逆单元求解的逆矩阵调用至所述第一阵列结构单元以计算出对所述被控对象的控制量。
具体地,所述矩阵求逆单元求解所述逆矩阵具体包括 根据所述预测模型及其参数值构建矩阵Gn,所述矩阵Gn是下三角矩阵且所述矩阵的各对角线上的元素相同; 计算一阶逆矩阵P1-1,再根据公式递推计算二阶逆矩阵P2-1、三阶逆矩阵P3-1直到n阶逆矩阵Pn-1, 其中待求逆矩阵为Ln为列向量,λ为对控制量的加权系数,I为单位矩阵。
具体地,每个所述基本处理器包括乘法器和加法器,所述乘法器用于对所述存储模块内的数据进行乘法运算,所述加法器用于对所述乘法器计算出的结果和所述存储模块内的数据进行加法运算。
在本发明一优选实施例中,所述预测控制装置为系统芯片。与传统的预测控制装置相比,携带更加方便,同时也降低了成本。
相应地,本发明还提供了一种预测控制方法,包括设定被控对象的预测模型的阶次及所述被控对象的期望输出值;获取所述被控对象的历史数据及当前测量数据;对所述历史数据和当前测量数据进行并行处理以得到所述被控对象的控制量。
具体地,所述对所述历史数据和当前测量数据进行并行处理以得到所述被控对象的控制量,具体包括采用不同的阵列结构单元对相应数据进行并行处理,所述阵列结构单元包括第一阵列结构单元,用于并行执行矩阵与向量相乘的运算;第二阵列结构单元,用于并行执行向量与向量相乘的运算;及第三阵列结构单元,用于并行执行向量乘向量的积与矩阵的加减运算。
具体地,所述采用不同的阵列结构单元对相应数据进行并行处理具体包括参数辨识,将所述被控对象的历史数据及当前测量数据调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元,以获取所述预测模型中的参数值,从而确定所述预测模型;输出预测,将所述参数辨识获取的参数值和预测模型调用至所述第二阵列结构单元以预测所述被控对象将来时刻的输出值;矩阵求逆,根据所述参数辨识获取的参数值构建矩阵,并将所述矩阵调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元以求解所述矩阵的逆矩阵;及控制量计算,将所述输出预测预测的所述被控对象将来时刻的输出值和所述矩阵求逆求解的逆矩阵调用至所述第一阵列结构单元以计算出对所述被控对象的控制量。
具体地,所述矩阵求逆包括根据所述参数辨识获取的参数值构建矩阵Gn,所述矩阵Gn是下三角矩阵且所述矩阵的各对角线上的元素相同; 计算一阶逆矩阵P1-1,再根据公式递推计算二阶逆矩阵P2-1、三阶逆矩阵P3-1直到n阶逆矩阵Pn-1, 其中待求逆矩阵为Ln为列向量,λ为对控制量的加权系数,I为单位矩阵。
与现有技术相比,由于本发明的预测控制装置的处理模块中包括多个基本处理器,可以并行处理所述预测控制过程中的全部数据,因而在实现一次预测控制过程时缩短了运算时间,实现了对输出响应较快的被控对象的预测控制。
通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。



图1为本发明的预测控制装置的结构框图。
图2为图1所示的控制模块的结构框图。
图3为图1处理模块中的基本处理器的结构框图。
图4为图1所示的处理模块的功能结构框图。
图5为图4所示的第一阵列结构单元数据处理示意图。
图6为图4所示的第二阵列结构单元数据处理示意图。
图7为图4所示的第三阵列结构单元数据处理示意图。
图8为本发明的预测控制方法流程图。
图9为使用本发明的预测控制装置实现预测控制过程的流程图. 图10为图2所示的参数辨识单元实现参数辨识的流程示意图。
图11-15为实现图10所示的参数辨识操作的数据流向示意图。
图16为图2所示的输出预测单元实现输出预测操作的数据流向示意图。
图17-19为图2所示的矩阵求逆单元实现矩阵求逆操作的数据流向示意图。
图20为图2所示的控制量计算单元实现控制增量计算操作的数据流向示意图。

具体实施例方式 现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。如上所述,本发明提供了一种预测控制装置,由于所述预测控制装置的处理模块中包括多个基本处理器,可以并行处理所述预测控制过程中的全部数据,因而在实现一次预测控制过程时缩短了运算时间,实现了对输出响应较快的被控对象的预测控制。
参考图1所示的本发明的预测控制装置结构框图,如图所示,所述预测控制装置包括输入模块10、存储模块20、控制模块30、处理模块40以及输出模块50,所述输入模块10、存储模块20、处理模块40和输出模块50均与所述控制模块30相连。所述输入模块10用于设定被控对象的预测模型的阶次以及所述被控对象的期望输出值;所述存储模块20用于存储整个预测控制过程中产生的数据以及所述被控对象的历史数据当前测量数据;所述控制模块30用于控制整个预测控制过程,并根据所述预测控制过程调用所述存储模块20内的相应数据;所述处理模块40包括多个基本处理器,用于对所述控制模块30调用的相应数据进行并行处理,以计算所述被控对象的控制量;所述输出模块50用于将所述处理模块40计算出的控制量输出至所述被控对象以实现对所述被控对象的预测控制。
具体地,如图2所示,所述控制模块30包括数据选择及控制单元301、参数辨识单元302、输出预测单元303、矩阵求逆单元304和控制量计算单元305。所述数据选择及控制单元301用于根据所述预测控制过程将所述存储模块20内的相应数据调用至所述处理模块40进行并行处理;所述参数辨识单元302采用最小二乘法,将所述存储模块20内的所述被控对象的历史数据及当前测量数据调用至所述处理模块40进行并行处理以获取所述预测模型中的参数值,从而确定所述预测模型;所述输出预测单元303将所述参数辨识单元302获取的参数值和预测模型调用至所述处理模块40进行并行处理以预测所述被控对象将来时刻的输出值;所述矩阵求逆单元304采用递推算法,根据所述参数辨识单元302获取的参数值构建矩阵,并将所述矩阵调用至所述处理模块40进行并行处理以求解所述矩阵的逆矩阵;及所述控制量计算单元305将所述输出预测单元303预测的所述被控对象将来时刻的输出值和所述矩阵求逆单元304求解的逆矩阵,调用至所述处理模块40进行并行处理以计算出对所述被控对象的控制量。
具体地,所述矩阵求逆单元求解所述逆矩阵具体包括 根据所述预测模型及其参数值构建矩阵Gn,所述矩阵Gn是下三角矩阵且所述矩阵的各对角线上的元素相同; 计算一阶逆矩阵P1-1,再根据公式递推计算二阶逆矩阵P2-1、三阶逆矩阵P3-1直到n阶逆矩阵Pn-1, 其中待求逆矩阵为Ln为列向量,λ为对控制量的加权系数,I为单位矩阵。
具体地,如图3所示,所述处理模块40的每个所述基本处理器包括乘法器4011和加法器4012,所述乘法器4011包括两个输入端XM和YM,所述加法器4012包括两个输入端XA和YA,所述乘法器4011对所述存储模块20内的数据进行乘法运算,且所述乘法器4011的输出连接到所述加法器4012的输入端XA,所述加法器4012对所述乘法器4011计算出的结果和所述存储模块20内的数据进行加法运算。
所述多个基本处理器构成阵列结构单元,参考图4所示的处理模块40的功能结构框图。如图所示,所述处理模块40包括预处理单元401、第一阵列结构单元402、第二阵列结构单元403和第三阵列结构单元404。所述预处理单元401用于对所述控制模块30调用的数据进行预处理,所述第一阵列结构单元402用于并行执行矩阵与向量相乘的运算;所述第二阵列结构单元403用于并行执行向量与向量相乘的运算;所述第三阵列结构单元404,用于并行执行向量乘向量的积与矩阵的加减运算。
图5-7为所述阵列结构单元的数据处理示意图。如图5所示的第一阵列结构单元402,将参与运算的向量g和矩阵P中的各个元素分别依次输入所述乘法器4011的输入端XM和YM,将每个基本处理器的输出反馈到所述加法器4012的输入端YA。如图6所示的第二阵列结构单元403,将参与运算的两个向量g和l中的各个元素(gj,...,g3,g2,g1)、(lj,...,l2,l1)分别依次输入所述乘法器4011的输入端XM和YM,所述多个基本处理器的加法器4012依次级联。如图7所示的第三阵列结构404,将参与运算的向量l中的各个元素(lj,...l2,l1)依次输入到所述乘法器3011的输入端XM,将参与运算的向量g和矩阵P中的各个元素依次分别输入到所述乘法器4011的输入端YM和所述加法器4012的输入端YA。
具体地,所述参数辨识单元302将所述被控对象的历史数据和当前测量数据调用至所述第一阵列结构单元402、第二阵列结构单元403和第三阵列结构404进行并行处理;所述输出预测单元303将参数值和预测模型调用至所述第二阵列结构单元403进行并行处理;所述矩阵求逆单元304将矩阵调用至所述第一阵列结构单元402、第二阵列结构单元403和第三阵列结构单元404进行并行处理;所述控制量计算单元305将所述被控对象将来时刻的输出值和逆矩阵调用至所述第一阵列结构单元402进行并行处理。
在本发明的一优选实施例中,所述预测控制装置为系统芯片,所述系统芯片是指将传统的由分离器件(控制器、执行器、模数和数模转换器等)构成的控制系统集成到单个芯片上。与传统的预测控制装置相比,携带更加方便,同时也降低了成本。
相应地,参考图8所示的本发明的预测控制方法流程图 S801,设定被控对象的预测模型的阶次及所述被控对象的期望输出值; S802,获取所述被控对象的历史数据及当前测量数据; S803,对所述历史数据和当前测量数据进行并行处理以得到所述被控对象的控制量。
具体地,执行对所述历史数据和当前测量数据进行并行处理以得到所述被控对象的控制量包括采用不同的阵列结构单元对相应数据进行并行处理,所述阵列结构单元包括第一阵列结构单元402,用于并行执行矩阵与向量相乘的运算;第二阵列结构单元403,用于并行执行向量与向量相乘的运算;及第三阵列结构单元404,用于并行执行向量乘向量的积与矩阵的加减运算。
具体地,所述采用不同的阵列结构单元对相应数据进行并行处理包括参数辨识,将所述被控对象的历史数据及当前测量数据调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元,以获取所述预测模型中的参数值,从而确定所述预测模型;输出预测,将所述参数辨识获取的参数值和预测模型调用至所述第二阵列结构单元以预测所述被控对象将来时刻的输出值;矩阵求逆,根据所述参数辨识获取的参数值构建矩阵,并将所述矩阵调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元以求解所述矩阵的逆矩阵;及控制量计算,将所述输出预测预测的所述被控对象将来时刻的输出值和所述矩阵求逆求解的逆矩阵调用至所述第一阵列结构单元以计算出对所述被控对象的控制量。
具体地,所述矩阵求逆包括 根据所述参数辨识获取的参数值构建矩阵Gn,所述矩阵Gn是下三角矩阵且所述矩阵的各对角线上的元素相同; 计算一阶逆矩阵P1-1,再根据公式递推计算二阶逆矩阵P2-1、三阶逆矩阵P3-1直到n阶逆矩阵Pn-1, 其中待求逆矩阵为Ln为列向量,λ为对控制量的加权系数,I为单位矩阵。
下面将结合附图详细阐明本发明的预测控制装置实现预测控制的过程。参考图9所示的流程图 S901,输入模块10设定被控对象的预测模型的阶次以及所述被控对象的期望输出值; S902,控制模块30的参数辨识单元302获取存储模块20内的所述被控对象的历史数据及当前测量数据; S903,所述参数辨识单元302将所述历史数据和当前测量数据调用至处理模块40进行并行处理,以获取所述预测模型及其参数值,从而确定所述预测模型; S904,所述控制模块30的输出预测单元303将所述预测模型及其参数值调用至所述处理模块40进行并行处理,以预测所述被控对象将来时刻的输出值; S905,所述控制模块30的矩阵求逆单元304根据所述参数辨识单元302获取的参数值构建矩阵,并将所述矩阵调用至所述处理模块40进行并行处理,以求解所述矩阵的逆矩阵; S906,所述控制模块30的控制量计算单元305将所述被控对象将来时刻的输出值和所述逆矩阵调用至所述处理模块40进行并行处理,以得到所述被控对象的控制量。
(1)设定被控对象的预测模型的阶次,被控对象的期望输出值为ys由输入模块10完成,所述预测模型为 其中y(t),u(t),ξ(t)分别为系统的输出、控制量和测量白噪声,n,m,r分别为对应的多项式的阶次。
(2)参数辨识参数辨识单元302获取存储模块20内的数据并进行参数辨识; 将式1.1表示为最小二乘的形式 y(t+1)=HT(t)θ(t) 用k表示待辨识的参数的个数,利用最小二乘法辨识上述参数,其基本的计算公式如下 其中ρ为遗忘因子,0<ρ≤1,P(0)=γI,γ为充分大的正实数,I为单位矩阵,矩阵P始终是对称矩阵。
将(1.4)式带入(1.5)式,记 s=ρ+HT(t)P(t-1)H(t) (1.6) F=P(t-1)H(t)=[f1,...,fk]T (1.7) 考虑矩阵P的对称特性,则 式(1.4)带入(1.3),得 由上述推导可得出参数辨识的流程示意图,如图10所示,

可采用第二阵列结构单元403来实现,这里需要k个基本处理器,参考图11将两个向量H和

的元素分别输入到各个基本处理器的乘法器4011的输入端XM和YM,第一个加法器4012的输入端YA置0,其它加法器4012的输出依次作为下一个加法器4012的输入端YA的值,以此类推,第k个基本处理器的加法器4012的输出就是

的值。
F=P(t-1)H(t)=[f1,...,fk]T可采用第一阵列结构单元402来实现,这里需要k个基本处理器,参考图12,具体数据处理流程如下 ①对各个加法器4012的输入端YA初始清0; ②在第1个指令周期,将向量H的第一个元素h1输入到各个乘法器4011的输入端XM,矩阵P的第1列分别输入到各个乘法器4011的输入端YM,k个基本处理器同时完成一次乘法/加法运算,各加法器4012的输出反馈到所述加法器4012的输入端YA; ③在第2个指令周期,将向量H的第二个元素h2输入到各个乘法器4011的输入端XM,矩阵P的第2列分别输入到各个乘法器4011的输入端YM,k个基本处理器同时完成一次乘法/加法运算,乘法器4011的输出与加法器4012输入端YA的数据(在第一个指令周期所述加法器的输入端YA的值)相加后,反馈到所述加法器4012的输入端YA; ④类似地,到第k个指令周期,将H的第k个元素hk输入到各个乘法器4011的输入端XM,矩阵P的第k列分别输入到各个乘法器4011的输入端YM,k个基本处理器同时完成一次乘法运算,乘法器4011的输出与加法器4012输入端YA数据相加,加法器4012的输出就是k个乘积的和,依次就是向量F的k个元素的值。
s=ρ+HT(t)P(t-1)H(t)=ρ+HT(t)F(t)可采用第二阵列结构403来实现,这里需要k个基本处理器,参考图13将两个向量H和F的各个元素(h1,h2,...,hk)、(f1,f2,...,fk)分别输入到各个基本处理器的乘法器4011的输入端XM和YM,且将第一个加法器4012的输入端YA置ρ,其它所述加法器4012的输出依次作为下一个加法器4012的输入端YA的值,以此类推,第k个基本处理器的加法器4012的输出就是s的值。
可采用第三阵列结构单元404来实现,这里需要k个基本处理器,参考图14将向量F中的各个元素(fk,..,f2,f1)分别输入到各乘法器4011的输入端YM,将矩阵P中的各行元素(每个指令周期依次输入一行)经过所述预处理单元除以ρ后分别输入到各个加法器4012的输入端YA,将向量F中的各个元素(fk,..,f2f1)(每个指令周期依次输入一个元素)调用至所述预处理单元401进行除以-ρs后分别依次输入到乘法器4011的输入端XM,经过k个指令周期得到了矩阵P(t)中各元素的值。


可采用第二阵列结构403来实现,这里需要k个基本处理器,参考图15

分别输入到各个乘法器4011的输入端XM,将向量F和

的各个元素分别输入到所述乘法器4011的输入端YM和所述加法器4012的输入端YA,k个基本处理器同时完成一次乘法/加法运算,各个基本处理器的输出就是向量

的值,即所述预测模型的参数值,以此参数值可确定所述预测模型。
从上述具体实现过程可以看出,所述预测控制装置采用k个基本处理器同时并行完成一次加法/乘法运算,完成参数辨识需要2k+3个指令周期,比传统的预测控制装置采用的一个处理单元完成一次加法/乘法运算的速度要快(需要超过2k2个指令周期),从而提高了效率。
(3)输出预测输出预测单元303对(2)中获取的预测模型及其参数进行并行处理,以预测所述被控对象将来时刻的输出值; 在t时刻以及t时刻以后的控制增量为零的条件下,将来时刻的输出定义为ym(t+k),则由式1.1可得 k=1,2,...,p(1.10)即所述被控对象k时刻的输出。
这里采用阵列结构单元403来实现,需要(n+m+r+2)个基本处理器单元,参考图16将系数a1,1,...a1,n,b1,0,...,b1,m,c1,0,...c1,r(在每个控制周期内它是固定的)依次输入各个乘法器4011的输入端XM,ym(t+k-1),...,ym(t+k-n),Δu(t+k-d-1|t),...,Δu(t+k-d-1-m|t),ξ(t+k|t),...,ξ(t+k-r|t)依次输入各个乘法器4011的输入端YM,且将第一个加法器4012的输入端YA置0,其它加法器4012的输出依次作为下一个加法器3012的输入端YA的值,以此类推,最后一个基本处理器的加法器4012的输出就是所述被控对象将来时刻k的输出值,ym(t+k)。
从上述具体实现过程可以看出,所述预测控制装置采用(n+m+r+2)个基本处理器同时并行完成一次加法/乘法运算,完成p步输出预测只需要p个指令周期,比传统的预测控制装置采用的一个处理单元完成一次加法/乘法运算的速度要快(需2pk个指令周期),从而提高了效率。
(4)矩阵求逆根据所述参数辨识单元302获取的参数值构建矩阵G,并对矩阵G进行并行处理以求解逆矩阵,记
n为求逆阶次,gi是由预测模型计算出的参数,所述矩阵G是下三角矩阵且各对角线上的元素是相同的。
记带求逆矩阵为 其中n和n-1为对应矩阵的求逆阶次。
引入行向量Kn=[gn,gn-1,...,g1],则可推导出 采用递推算法,可得列向量 k=2,...,j(1.14) l1=g1/λ 标量 逆矩阵求解公式为 且有初值 k=2,...,j可采用第一阵列结构单元402来实现,参考图17将所述预测模型的参数gj,...,g3,g2和矩阵P的各列的值依次分别输入到各个乘法器4011的输入端XM和YM,将各基本处理器的输出反馈到所述加法器4012的输入端YA,与参数辨识单元302采用所述第一阵列结构单元402实现计算的过程类似,在此不在赘述,最后输出的依次就是向量Lj各元素的值l2,...,lj。
由式1.15可知标量可采用第二阵列结构单元403来实现,这里需要n个基本处理器,参考图18所述数据选择及控制单元301将两个向量K和L的各个元素(gj,...,g3,g2,g1)、(lj,...,l2,l1)分别输入到乘法器4011的输入端XM和YM,且将第一个加法器4012的输入端YA置1,其它所述加法器4012的输出依次作为下一个加法器4012的输入端YA的值,以此类推,第n个基本处理器的加法器4012的输出就是s的值。
在求得了列向量Lj和标量s的值之后,最后计算逆矩阵,可采用第三阵列结构单元404来实现,这里需要n个基本处理器,参考图19先由预处理单元401对列向量Lj进行预处理,即除-s;列向量Lj各元素的值依次输入到各个乘法器4011的输入端YM端。
①在第1个指令周期,将l1除-s的值输入到各个乘法器4011的输入端XM,式1.16右边矩阵的第j列的值按逆序1/λ,0,...,0输入到各加法器4012的输入端YA,各基本处理器同时完成一次乘法/加法运算,各基本处理器元的输出就是逆矩阵第j列的值;在第1个指令周期内,所述预处理单元401同时完成l2除-s的运算; ②在第2个指令周期,所述数据选择及控制单元301将l2除-s的值输入到各个乘法器4011的输入端XM,式1.16右边各矩阵的第j-1列的值按逆序0,pj-1,j-1,...,p1,j-1输入到各加法器4012的输入端YA,各基本处理器同时完成一次乘法/加法运算,各基本处理器的输出就是逆矩阵第j-1列的值;在第2个指令周期内,所述预处理单元401同时完成l3除-s的运算; ③类似地,第j个指令周期得到的就是逆矩阵第1列的值。
至此,求得了逆矩阵各列的值。
从上述具体实现过程可以看出,所述预测控制装置采用n个基本处理器同时并行完成一次加法/乘法运算(需要n2个指令周期),且采用了递推算法,比传统的预测控制装置采用的一个处理单元完成一次加法/乘法运算的速度要快(需要约3n3个指令周期),从而提高了效率。
(5)控制量计算控制量计算单元305对(3)中求得的所述被控对象将来时刻的输出值和(4)中求得的逆矩阵进行并行处理,以得到所述被控对象的控制量; 由式1.1及所述被控对象的期望输出值可得t时刻的控制增量为 Δu(t)=(1,0,...,0)(GTG+λI)-1GT(Yr-Ym)(1.18) 则控制量 u(t)=u(t-1)+Δu(t)(1.19) 其中λ为对控制增量的加权系数,I为单位矩阵。
根据式1.18,记行向量R=(1,0,...,0)(GTG+λI)-1=(r1,...,rn),列向量C=GT(Yr-Ym),其中行向量R为步骤(4)中计算得出的逆矩阵的第一行,列向量C是矩阵GT与列向量(Yr-Ym)的乘积
这里用列向量Y表示(Yr-Ym),其元素为(y1,...,yn)T,以方便后续介绍。
这里采用第一阵列结构单元402来实现控制增量的计算,需要(n+1)个基本处理器,参考图20 ①对各个加法器4012的输入端YA端初始清0; ②在第1个指令周期,所述数据选择及控制单元301将列向量Y的n个元素输入到前n个乘法器4011的输入端XM,将rn输入到第n+1个乘法器4011的输入端XM,将g1,...,gn-1,gn分别输入到前n个乘法器4011的输入端YM,各处理器同时完成一次乘法/加法运算,各加法器4012的输出反馈到加法器的输入端YA; 需要注意的是,此时第1个基本处理器的输出就是列向量C的最后一个元素cn,它直接输出到第n+1个乘法器4011的输入端YM,完成一次乘法和累加,得到rncn; ③在第2个指令周期,在所述控制单元30的控制下,使得向量g1,g2,...,gn经过一次逻辑右移(即最右边的元素gn移出,其它元素依次右移一个位置,最前面补0,得到0,g1,g2,...,gn-1),并将yn-1输入到前n个乘法器4011的输入端XM,rn-1输入到第n+1个乘法器4011的输入端XM,将向量0,g1,g2,...,gn-1分别输入到前n个乘法器的输入端YM,各处理器同时完成一次乘法运算,乘法器4011的输出与加法器4012输入端YA数据(上次加法器累加的值)相加后,反馈到加法器4012的输入端YA; 需要注意的是,此时第2个基本处理器的输出就是列向量C的元素cn-1,它直接输出到第n+1个乘法器的输入端YM,完成一次乘法得到rn-1cn-1,它与上次加法器累加的值相加后(结果为rn-1cn-1+rncn),反馈到加法器的输入端YA; ④类似地,到第n个指令周期时,在控制单元30的控制下,使得向量g1,g2,...,gn经过n次逻辑右移后,得到0,...,0,g1,并将y1输入到前n个乘法器4011的输入端XM,元素r1输入到第n+1个乘法器4011的输入端XM,将向量0,...,0,g1分别输入到前n个乘法器的输入端YM,各处理器同时完成一次乘法运算,乘法器4011的输出与加法器4012输入端YA数据(上次加法器累加的值)相加后,反馈到加法器的输入端YA; 需要注意的是,此时第n个处理器单元的输出就是列向量C的元素c1,它直接输出到第n+1个乘法器的输入端YM,完成一次乘法得到r1c1,它与上次加法器累加的值相加后的结果为

就是所求的控制增量Δu(t)。
根据求得的控制增量Δu(t),结合式1.19得到所述被控对象的控制量,将所述控制量通过所述输出模块50输出至所述被控对象,从而实现了对所述被控对象的预测控制。
从上述具体实现过程可以看出,所述预测控制装置采用(n+1)个基本处理器同时并行完成一次加法/乘法运算(共需要n个指令周期),比传统的预测控制装置采用的一个处理器完成一次加法/乘法运算的速度要快(需要超过n2个指令周期),从而提高了效率。
以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
权利要求
1.一种预测控制装置,用于实现对被控对象的预测控制,包括
存储模块,用于存储整个预测控制过程中产生的数据以及所述被控对象的历史数据和当前测量数据;
输入模块,用于设定所述被控对象的预测模型的阶次以及所述被控对象的期望输出值;
控制模块,用于控制整个预测控制过程,并根据所述预测控制过程调用所述存储模块内的相应数据;
处理模块,包括多个基本处理器,用于对所述控制模块调用的相应数据进行并行处理,以计算所述被控对象的控制量;及
输出模块,用于将所述处理模块计算出的控制量输出至所述被控对象以实现对所述被控对象的控制。
2.如权利要求1所述的预测控制装置,其特征在于,所述多个基本处理器构成阵列结构单元包括
第一阵列结构单元,用于并行执行矩阵与向量相乘的运算;
第二阵列结构单元,用于并行执行向量与向量相乘的运算;及
第三阵列结构单元,用于并行执行向量乘向量的积与矩阵的加减运算。
3.如权利要求2所述的预测控制装置,其特征在于,所述控制模块包括
数据选择及控制单元,用于根据所述预测控制过程将所述存储模块内的相应数据调用至所述处理模块进行并行处理;
参数辨识单元,用于采用最小二乘法将所述存储模块内的所述被控对象的历史数据及当前测量数据调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元,以获取所述预测模型中的参数值,从而确定所述预测模型;
输出预测单元,用于将所述参数辨识单元获取的参数值和预测模型调用至所述第二阵列结构单元以预测所述被控对象将来时刻的输出值;
矩阵求逆单元,用于采用递推算法根据所述参数辨识单元获取的参数值构建矩阵,并将所述矩阵调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元以求解所述矩阵的逆矩阵;及
控制量计算单元,用于将所述输出预测单元预测的所述被控对象将来时刻的输出值和所述矩阵求逆单元求解的逆矩阵调用至所述第一阵列结构单元以计算出对所述被控对象的控制量。
4.如权利要求3所述的预测控制装置,其特征在于,所述矩阵求逆单元求解所述逆矩阵具体包括
根据所述预测模型及其参数值构建矩阵Gn,所述矩阵Gn是下三角矩阵且所述矩阵的各对角线上的元素相同;
计算一阶逆矩阵P1-1,再根据公式递推计算二阶逆矩阵P2-1、三阶逆矩阵P3-1直到n阶逆矩阵Pn-1,
其中待求逆矩阵为Ln为列向量,λ为对控制量的加权系数,I为单位矩阵。
5.如权利要求1-4所述的预测控制装置,其特征在于,每个所述基本处理器包括乘法器和加法器,所述乘法器用于对所述存储模块内的数据进行乘法运算,所述加法器用于对所述乘法器计算出的结果和所述存储模块内的数据进行加法运算。
6.如权利要求1-4所述的预测控制装置,其特征在于,所述预测控制装置为系统芯片。
7.一种预测控制方法,包括
设定被控对象的预测模型的阶次及所述被控对象的期望输出值;
获取所述被控对象的历史数据及当前测量数据;
对所述历史数据和当前测量数据进行并行处理以得到所述被控对象的控制量。
8.如权利要求7所述的预测控制方法,其特征在于,所述对所述历史数据和当前测量数据进行并行处理以得到所述被控对象的控制量,具体包括
采用不同的阵列结构单元对相应数据进行并行处理,所述阵列结构单元包括第一阵列结构单元,用于并行执行矩阵与向量相乘的运算;第二阵列结构单元,用于并行执行向量与向量相乘的运算;及第三阵列结构单元,用于并行执行向量乘向量的积与矩阵的加减运算。
9.如权利要求8所述的预测控制方法,其特征在于,所述采用不同的阵列结构单元对相应数据进行并行处理具体包括
参数辨识,将所述被控对象的历史数据及当前测量数据调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元,以获取所述预测模型中的参数值,从而确定所述预测模型;
输出预测,将所述参数辨识获取的参数值和预测模型调用至所述第二阵列结构单元以预测所述被控对象将来时刻的输出值;
矩阵求逆,根据所述参数辨识获取的参数值构建矩阵,并将所述矩阵调用至所述第一阵列结构单元、第二阵列结构单元和第三阵列结构单元以求解所述矩阵的逆矩阵;及
控制量计算,将所述输出预测预测的所述被控对象将来时刻的输出值和所述矩阵求逆求解的逆矩阵调用至所述第一阵列结构单元以计算出对所述被控对象的控制量。
10.如权利要求9所述的预测控制方法,其特征在于,所述矩阵求逆具体包括
根据所述参数辨识获取的参数值构建矩阵Gn,所述矩阵Gn是下三角矩阵且所述矩阵的各对角线上的元素相同;
计算一阶逆矩阵P1-1,再根据公式递推计算二阶逆矩阵P2-1、三阶逆矩阵P3-1直到n阶逆矩阵Pn-1,
其中待求逆矩阵为Ln为列向量,λ为对控制量的加权系数,I为单位矩阵。
全文摘要
本发明公开了一种预测控制装置,用于实现对被控对象的预测控制,包括存储模块,存储预测控制过程产生的数据以及被控对象的历史数据和当前测量数据;输入模块,设定被控对象的预测模型的阶次及期望输出值;控制模块,控制预测控制过程,并根据所述预测控制过程调用所述存储模块内的相应数据;处理模块,包括多个基本处理器,对所述控制模块调用的数据进行并行处理,以计算被控对象的控制量;及输出模块,将所述处理模块计算出的控制量输出至被控对象以实现对被控对象的控制。由于所述预测控制装置包括多个基本处理器,可以并行处理预测控制过程中的全部数据,因而在实现一次预测控制过程时缩短了运算时间,进而提高了效率。本发明同时还公开了一种预测控制方法。
文档编号G05B13/04GK101639664SQ200910041859
公开日2010年2月3日 申请日期2009年8月14日 优先权日2009年8月14日
发明者胡耀华, 徐素武 申请人:东莞理工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1