发明名称 一种基于输入平滑的特征模型参数辨识方法
摘要 一种基于输入平滑的特征模型参数辨识方法,首先获取被控系统对象的特征模型,并根据被控系统对象的输入、输出构建中间变量、未知系数变量,然后使用辨识算法辨识未知系数变量得到辨识值,再对辨识值使用投影算法进行修正,得到修正后的辨识值作为下一周期的未知系数变量,最后根据未知系数变量计算得到中间控制量,进而得到下一周期被控系统对象的输入,完成当前周期的特征参数辨识。本发明方法通过对控制输入进行平滑设计来限制控制量的变化,并进一步限制特征模型参数的变化率,实现了特征模型参数辨识,同时,涵盖了目前常用的2阶特征模型、1阶特征模型,具有较好的通用性与应用前景。
申请公布号 CN105589334A 申请公布日期 2016.05.18
申请号 CN201610103962.9 申请日期 2016.02.26
申请人 北京控制工程研究所 发明人 孟斌;解永春;姜甜甜;常亚菲;张世俊
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 陈鹏
主权项 一种基于输入平滑的特征模型参数辨识方法,其特征在于包括如下步骤:(1)获取被控系统对象的n阶特征模型为y(k+1)=f<sub>1</sub>(k)y(k)+f<sub>2</sub>(k)y(k‑1)+...+f<sub>n</sub>(k)y(k‑n+1)+g<sub>0</sub>(k)u(k)+g<sub>1</sub>(k)u(k‑1)+...+g<sub>m</sub>(k)u(k‑m)其中,u(k)为被控系统对象在第k周期的输入,y(k)为被控系统对象在第k周期的输出,k表示控制周期,为不小于0的整数,初值为0,y(k)=0,k≤0,u(k)=0,k≤0,n的取值为1或2,n&gt;m,m为整数,f<sub>i</sub>(k),g<sub>j</sub>(k)为未知系数,i=1,…,n,j=0,…,m;(2)根据被控系统对象的输入、输出构建n+m+1维的中间变量<img file="FDA0000929886970000019.GIF" wi="106" he="59" />为<img file="FDA0000929886970000011.GIF" wi="1265" he="72" />其中,<img file="FDA0000929886970000012.GIF" wi="110" he="62" />的初值为<img file="FDA0000929886970000013.GIF" wi="471" he="87" />构建n+m+1维的未知系数变量θ(k)为θ(k)=[f<sub>1</sub>(k) … f<sub>n</sub>(k) g<sub>0</sub>(k) … g<sub>m</sub>(k)]<sup>T</sup>其中,当被控系统对象的n阶特征模型为1阶时,y(k+1)=f<sub>1</sub>(k)y(k)+g<sub>0</sub>(k)u(k),f<sub>1</sub>(0)∈[0.2,0.99],g<sub>0</sub>(0)∈[0.003,1],Ω={f<sub>1</sub>(k),g<sub>0</sub>(k)|f<sub>1</sub>(k)∈[0.2,0.99],g<sub>0</sub>(k)∈[0.003,1]},n=1,m=0;当被控系统对象的n阶特征模型为2阶时,n=2,m=0,g<sub>0</sub>(0)∈[0.003,0.3],f<sub>1</sub>(0)+f<sub>2</sub>(0)∈[0.9196,0.9999],f<sub>1</sub>(0)∈[1.4331,1.9974],f<sub>2</sub>(0)∈[‑0.9999,‑0.5134],y(k+1)=f<sub>1</sub>(k)y(k)+f<sub>2</sub>(k)y(k‑1)+g<sub>0</sub>(k)u(k),<maths num="0001"><math><![CDATA[<mrow><mi>&Omega;</mi><mo>=</mo><mo>{</mo><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>g</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>}</mo><mfenced open = '|' close = ''><mtable><mtr><mtd><mrow><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&Element;</mo><mo>&lsqb;</mo><mn>1.4331</mn><mo>,</mo><mn>1.9974</mn><mo>&rsqb;</mo><mo>,</mo><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&Element;</mo><mo>&lsqb;</mo><mo>-</mo><mn>0.9999</mn><mo>,</mo><mo>-</mo><mn>0.5134</mn><mo>&rsqb;</mo><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&Element;</mo><mo>&lsqb;</mo><mn>0.9196</mn><mo>,</mo><mn>0.9999</mn><mo>&rsqb;</mo><mo>,</mo><msub><mi>g</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&Element;</mo><mo>&lsqb;</mo><mn>0.003</mn><mo>,</mo><mn>0.3</mn><mo>&rsqb;</mo></mrow></mtd></mtr></mtable></mfenced><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA0000929886970000014.GIF" wi="1613" he="157" /></maths>(3)使用辨识算法辨识θ(k)得到n+m+1维的辨识值<img file="FDA0000929886970000015.GIF" wi="167" he="78" />为<maths num="0002"><math><![CDATA[<mrow><mover><mi>&theta;</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msup><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><msub><mover><mi>f</mi><mo>^</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd><mtd><mn>...</mn></mtd><mtd><mrow><msub><mover><mi>f</mi><mo>^</mo></mover><mi>n</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mover><mi>g</mi><mo>^</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd><mtd><mn>...</mn></mtd><mtd><mrow><msub><mover><mi>g</mi><mo>^</mo></mover><mi>m</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mi>T</mi></msup></mrow>]]></math><img file="FDA0000929886970000016.GIF" wi="1278" he="118" /></maths>其中,<img file="FDA0000929886970000017.GIF" wi="811" he="87" />表示未知系数变量θ(k)中各个系数f<sub>i</sub>(k+1),g<sub>j</sub>(k+1),i=1,…,n,j=0,…,m的辨识值,然后对辨识值<img file="FDA0000929886970000018.GIF" wi="163" he="78" />使用投影算法进行修正,得到修正后的<img file="FDA0000929886970000021.GIF" wi="163" he="84" />作为第k+1周期的未知系数变量θ(k+1);(4)当n=2时,计算中间控制量u'(k+1)为p<sub>1</sub>*u<sub>L</sub>(k+1)+p<sub>2</sub>*u<sub>G</sub>(k+1)+p<sub>3</sub>*u<sub>L</sub>(k+1)+p<sub>4</sub>*u<sub>G</sub>(k+1)+p<sub>5</sub>*u<sub>0</sub>(k+1)+p<sub>6</sub>*u<sub>I</sub>(k+1)+p<sub>7</sub>*u<sub>D</sub>(k+1)其中,p<sub>1</sub>、p<sub>2</sub>、p<sub>3</sub>、p<sub>4</sub>中任1个为1,其余3个为0,p<sub>5</sub>、p<sub>6</sub>、p<sub>7</sub>中至少1个为1,y<sub>R</sub>(k),k≥1为被控系统对象的跟踪目标在第k周期的运动轨迹,当k≤0时,y<sub>R</sub>(k)=0,e(k+1)=y(k+1)‑y<sub>R</sub>(k+1),0&lt;L<sub>1</sub>,L<sub>2</sub>&lt;1,λ&gt;0,l<sub>1</sub>+l<sub>2</sub>=1,c<sub>D</sub>&gt;0,l<sub>D</sub>&gt;0,<maths num="0003"><math><![CDATA[<mrow><msub><mi>u</mi><mi>L</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mo>-</mo><mfrac><mrow><msub><mi>L</mi><mn>1</mn></msub><msub><mover><mi>f</mi><mo>^</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><mi>L</mi><mn>2</mn></msub><msub><mover><mi>f</mi><mo>^</mo></mover><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mi>&lambda;</mi><mo>+</mo><msub><mover><mi>g</mi><mo>^</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000929886970000022.GIF" wi="981" he="150" /></maths><maths num="0004"><math><![CDATA[<mrow><msub><mi>u</mi><mi>G</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mo>-</mo><mfrac><mrow><msub><mi>l</mi><mn>1</mn></msub><msub><mover><mi>f</mi><mo>^</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><mi>l</mi><mn>2</mn></msub><msub><mover><mi>f</mi><mo>^</mo></mover><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mi>&lambda;</mi><mo>+</mo><msub><mover><mi>g</mi><mo>^</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000929886970000023.GIF" wi="950" he="151" /></maths><maths num="0005"><math><![CDATA[<mrow><msub><mi>u</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mo>-</mo><mfrac><mrow><msub><mover><mi>f</mi><mo>^</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msub><mi>y</mi><mi>R</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>f</mi><mo>^</mo></mover><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msub><mi>y</mi><mi>R</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><msub><mover><mi>g</mi><mo>^</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000929886970000024.GIF" wi="940" he="150" /></maths>u<sub>I</sub>(k+1)=u<sub>I</sub>(k)‑k<sub>I</sub>e(k+1),u<sub>I</sub>(0)=0u<sub>D</sub>(k+1)=‑k<sub>D</sub>(e(k+1)‑e(k))<maths num="0006"><math><![CDATA[<mrow><msub><mi>k</mi><mi>I</mi></msub><mo>=</mo><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><msub><mi>k</mi><mrow><mi>I</mi><mn>1</mn></mrow></msub><mo>,</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mrow><mo>(</mo><mi>e</mi><mo>(</mo><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo><mo>-</mo><mi>e</mi><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>k</mi><mrow><mi>I</mi><mn>2</mn></mrow></msub><mo>,</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mrow><mo>(</mo><mi>e</mi><mo>(</mo><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo><mo>-</mo><mi>e</mi><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mo>&le;</mo><mn>0</mn></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><msub><mi>k</mi><mrow><mi>I</mi><mn>1</mn></mrow></msub><mo>&gt;</mo><mo>&gt;</mo><msub><mi>k</mi><mrow><mi>I</mi><mn>2</mn></mrow></msub><mo>&gt;</mo><mn>0</mn></mrow>]]></math><img file="FDA0000929886970000025.GIF" wi="1084" he="166" /></maths><maths num="0007"><math><![CDATA[<mrow><msub><mi>k</mi><mi>D</mi></msub><mo>=</mo><msub><mi>c</mi><mi>D</mi></msub><msqrt><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><msub><mi>l</mi><mi>D</mi></msub></munderover><mo>|</mo><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>-</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow></msqrt><mo>&gt;</mo><mn>0</mn></mrow>]]></math><img file="FDA0000929886970000026.GIF" wi="566" he="164" /></maths>或者<maths num="0008"><math><![CDATA[<mrow><msub><mi>k</mi><mi>D</mi></msub><mo>=</mo><msub><mi>c</mi><mi>D</mi></msub><msqrt><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><msub><mi>l</mi><mi>D</mi></msub></munderover><msup><mrow><mo>(</mo><mi>e</mi><mo>(</mo><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>-</mo><mi>j</mi></mrow><mo>)</mo><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>&gt;</mo><mn>0</mn><mo>;</mo></mrow>]]></math><img file="FDA0000929886970000027.GIF" wi="662" he="164" /></maths>当n=1时,计算中间控制量u'(k+1)为<maths num="0009"><math><![CDATA[<mrow><msub><mover><mi>u</mi><mo>&OverBar;</mo></mover><mi>L</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><msup><mi>p</mi><mo>&prime;</mo></msup><mn>2</mn></msub><mo>*</mo><msub><mover><mi>u</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><msup><mi>p</mi><mo>&prime;</mo></msup><mn>3</mn></msub><mo>*</mo><msub><mi>u</mi><mi>I</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><msup><mi>p</mi><mo>&prime;</mo></msup><mn>4</mn></msub><mo>*</mo><msub><mi>u</mi><mi>D</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000929886970000028.GIF" wi="1110" he="71" /></maths>其中,p'<sub>2</sub>、p'<sub>3</sub>、p'<sub>4</sub>的取值为1或0,<maths num="0010"><math><![CDATA[<mrow><msub><mover><mi>u</mi><mo>&OverBar;</mo></mover><mi>L</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mo>-</mo><mfrac><mrow><mi>L</mi><msub><mover><mi>f</mi><mo>^</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mi>&lambda;</mi><mo>+</mo><msub><mover><mi>g</mi><mo>^</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><mn>0</mn><mo>&lt;</mo><mi>L</mi><mo>&lt;</mo><mn>1</mn></mrow>]]></math><img file="FDA0000929886970000029.GIF" wi="807" he="151" /></maths><maths num="0011"><math><![CDATA[<mrow><msub><mover><mi>u</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mo>-</mo><mfrac><mrow><msub><mover><mi>f</mi><mo>^</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msub><mi>y</mi><mi>R</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><msub><mover><mi>g</mi><mo>^</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA00009298869700000210.GIF" wi="620" he="150" /></maths>(5)根据步骤(4)得到的中间控制量u'(k+1)与u(k)进行平滑处理,加权平均得到u(k+1)=λ<sub>1</sub>u'(k+1)+(1‑λ<sub>1</sub>)u(k),0&lt;λ<sub>1</sub>&lt;1其中,u(0)=0;(6)将步骤(5)得到的u(k+1)送至被控系统对象的输入端,完成第k+1周期的特征参数辨识,k=k+1,重复步骤(2)‑步骤(5)直至完成全部周期的特征参数辨识。
地址 100080 北京市海淀区北京2729信箱