主权项 |
1.基于ARM的嵌入式模型预测控制方法,采用动态矩阵控制算法,其特征在于,所述动态矩阵控制算法包括以下步骤:(1)首先采集被控对象的单位阶跃响应数据a<sub>i</sub>=a(iT),i=1,2,L,如果这个被控对象是渐近稳定的,那么这个响应的数据在N个采样周期(t<sub>N</sub>=NT)之后趋近于一个常数,因此,a=[a<sub>1</sub> L a<sub>N</sub>]<sup>T</sup>描述了被控对象的动态信息,N为建模时域;(2)在连续的控制增量作用下,未来时刻的输出可表示为<img file="FDA0000054313770000011.GIF" wi="922" he="117" />i=1,2,L,N,其中,<img file="FDA0000054313770000012.GIF" wi="186" he="63" />是自由响应,y的下标表示控制作用变化的次数,k+i|k表述k时刻对k+i时刻的预测,M是控制时域;(3)求解优化控制目标<img file="FDA0000054313770000013.GIF" wi="895" he="88" />可得<img file="FDA0000054313770000014.GIF" wi="578" he="62" />其中,ω<sub>p</sub>(k)=[ω(k+1)L ω(k+P)]<sup>T</sup>,P是预测时域,误差加权矩阵Q=diag(q<sub>1</sub>,L,q<sub>P</sub>),控制作用加权矩阵R=diag(r<sub>1</sub>,L,r<sub>M</sub>),d<sup>T</sup>=C<sup>T</sup>(A<sup>T</sup>QA+R)<sup>-1</sup>A<sup>T</sup>Q=[d<sub>1</sub> L d<sub>p</sub>],C<sup>T</sup>=[1 0 L 0];带校正加权阵的求解结果为<img file="FDA0000054313770000015.GIF" wi="736" he="62" />其中,h=[h<sub>i</sub> L h<sub>N</sub>]<sup>T</sup>称为校正向量;(4)在步骤(3)的基础上,设定控制增量Δu,L Δu(k+M-1)在M步内向0收敛,M步以后的控制增量为0,这样控制增量将重新表示为ΔU(k)=A<sub>x</sub>Δu(k),预测输出表示为<maths num="0001"><![CDATA[<math><mrow><msub><mover><mi>y</mi><mo>^</mo></mover><mi>pM</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mrow><mi>p</mi><mn>0</mn></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mi>AΔ</mi><msub><mi>U</mi><mi>M</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mi>he</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mrow><mi>p</mi><mn>0</mn></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>A</mi><mi>u</mi></msub><mi>Δ</mi><msub><mi>u</mi><mi>M</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mi>he</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></math>]]></maths>其中,A<sub>u</sub>=A·A<sub>x</sub>,A<sub>x</sub>是转换矩阵;利用以下三种收敛方式分别进行收敛:第一种收敛方式是指数收敛,指数函数为Δu(k+i)=γ<sup>i</sup>Δu(k),其中i=0,1,L M-1,γ∈(0,1)为收敛因子,则转换矩阵A<sub>x</sub>=A<sub>γ</sub>=[1 γ γ<sup>2</sup> L γ<sup>M-1</sup>]<sup>T</sup>,控制增量可表示为<maths num="0002"><![CDATA[<math><mrow><mi>Δu</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>A</mi><mi>u</mi><mi>T</mi></msubsup><mi>Q</mi><msub><mi>A</mi><mi>u</mi></msub><mo>+</mo><msubsup><mi>A</mi><mi>γ</mi><mi>T</mi></msubsup><mi>R</mi><msub><mi>A</mi><mi>γ</mi></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>A</mi><mi>γ</mi><mi>T</mi></msubsup><mi>Q</mi><mo>[</mo><msub><mi>ω</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mrow><mi>p</mi><mn>0</mn></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>he</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>]</mo><mo>;</mo></mrow></math>]]></maths>第二种收敛方式是幂收敛,包括两种方法:(a)幂函数为<img file="FDA0000054313770000022.GIF" wi="432" he="78" />i=0,1,L M-1,收敛因子α>1,则转换矩阵<img file="FDA0000054313770000023.GIF" wi="983" he="117" />控制增量可表示为<maths num="0003"><![CDATA[<math><mrow><mi>Δu</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>A</mi><mi>u</mi><mi>T</mi></msubsup><mi>Q</mi><msub><mi>A</mi><mi>u</mi></msub><mo>+</mo><msubsup><mi>A</mi><mi>α</mi><mi>T</mi></msubsup><mi>R</mi><msub><mi>A</mi><mi>α</mi></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>A</mi><mi>α</mi><mi>T</mi></msubsup><mi>Q</mi><mo>[</mo><msub><mi>ω</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mrow><mi>p</mi><mn>0</mn></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>he</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>]</mo><mo>;</mo></mrow></math>]]></maths>(b)幂函数为<img file="FDA0000054313770000025.GIF" wi="407" he="80" />其中i=0,1,L M-1,收敛因子β>1,则转换矩阵<img file="FDA0000054313770000026.GIF" wi="808" he="117" />控制增量可表示为<maths num="0004"><![CDATA[<math><mrow><mi>Δu</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>A</mi><mi>u</mi><mi>T</mi></msubsup><mi>Q</mi><msub><mi>A</mi><mi>u</mi></msub><mo>+</mo><msubsup><mi>A</mi><mi>β</mi><mi>T</mi></msubsup><mi>R</mi><msub><mi>A</mi><mi>β</mi></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>A</mi><mi>β</mi><mi>T</mi></msubsup><mi>Q</mi><mo>[</mo><msub><mi>ω</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mrow><mi>p</mi><mn>0</mn></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>he</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>]</mo><mo>;</mo></mrow></math>]]></maths>第三种收敛方式是反正切收敛,反正切函数<img file="FDA0000054313770000028.GIF" wi="515" he="80" />其中i=0,1,L M-1,收敛因子θ∈(0,1],则转换矩阵<img file="FDA0000054313770000029.GIF" wi="1297" he="119" />控制增量可表示为<maths num="0005"><![CDATA[<math><mrow><mi>Δu</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>A</mi><mi>u</mi><mi>T</mi></msubsup><mi>Q</mi><msub><mi>A</mi><mi>u</mi></msub><mo>+</mo><msubsup><mi>A</mi><mi>θ</mi><mi>T</mi></msubsup><mi>R</mi><msub><mi>A</mi><mi>θ</mi></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>A</mi><mi>θ</mi><mi>T</mi></msubsup><mi>Q</mi><mo>[</mo><msub><mi>ω</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>y</mi><mo>^</mo></mover><mrow><mi>p</mi><mn>0</mn></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>he</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>]</mo><mo>.</mo></mrow></math>]]></maths> |