发明名称 基于飞行器四元数模型的控制器区域设计方法
摘要 本发明公开了一种基于飞行器四元数模型的控制器区域设计方法,用于解决现有的控制器设计方法不能直接确定给定飞行区域整体稳定性的技术问题。该方法通过气动力、力矩方程得到给定控制目标高度和马赫数时的平衡点,采用相平面分析模型确定系统的区域稳定性,在此基础上确定反馈控制器的参数,直接对飞行器三维大迎角运动进行控制,避免了在力矩方程中忽略气动力作用等不正确近似,使得控制器在整个设计区域都能保证飞行器的稳定性,减少甚至避免了分析模型导致的不稳定、不安全飞行等问题发生。
申请公布号 CN102692928A 申请公布日期 2012.09.26
申请号 CN201210175989.0 申请日期 2012.05.31
申请人 西北工业大学 发明人 史忠科
分类号 G05D1/10(2006.01)I;G05B13/04(2006.01)I 主分类号 G05D1/10(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 1.一种基于飞行器四元数模型的控制器区域设计方法,其特征在于包括以下步骤:(a)根据四元数方程:<img file="FDA00001707517200011.GIF" wi="1224" he="290" />或<maths num="0001"><![CDATA[<math><mrow><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mfenced open='[' close=']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>p</mi></mtd><mtd><mo>-</mo><mi>q</mi></mtd><mtd><mo>-</mo><mi>r</mi></mtd></mtr><mtr><mtd><mi>p</mi></mtd><mtd><mn>0</mn></mtd><mtd><mi>r</mi></mtd><mtd><mo>-</mo><mi>q</mi></mtd></mtr><mtr><mtd><mi>q</mi></mtd><mtd><mo>-</mo><mi>r</mi></mtd><mtd><mn>0</mn></mtd><mtd><mi>p</mi></mtd></mtr><mtr><mtd><mi>r</mi></mtd><mtd><mi>q</mi></mtd><mtd><mo>-</mo><mi>p</mi></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mi>e</mi></mrow></math>]]></maths>得<maths num="0002"><![CDATA[<math><mrow><mn>2</mn><mfrac><mi>d</mi><mi>dt</mi></mfrac><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mn>4</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>2</mn></msub></mtd><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>3</mn></msub></mtd><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>4</mn></msub></mtd></mtr><mtr><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>4</mn></msub></mtd><mtd><msub><mi>e</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>e</mi><mn>4</mn></msub></mtd><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd><mtd><mo>-</mo><msub><mi>e</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>3</mn></msub></mtd><mtd><msub><mi>e</mi><mn>2</mn></msub></mtd><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mover><mi>p</mi><mo>&CenterDot;</mo></mover></mtd></mtr><mtr><mtd><mover><mi>q</mi><mo>&CenterDot;</mo></mover></mtd></mtr><mtr><mtd><mover><mi>r</mi><mo>&CenterDot;</mo></mover></mtd></mtr></mtable></mfenced><mo>+</mo><mo>{</mo><mfrac><mi>d</mi><mi>dt</mi></mfrac><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>2</mn></msub></mtd><mtd><mo>-</mo><msub><mi>e</mi><mn>3</mn></msub></mtd><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>4</mn></msub></mtd></mtr><mtr><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>4</mn></msub></mtd><mtd><msub><mi>e</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>e</mi><mn>4</mn></msub></mtd><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mrow><mo>-</mo><mi>e</mi></mrow><mn>3</mn></msub></mtd><mtd><msub><mi>e</mi><mn>2</mn></msub></mtd><mtd><msub><mi>e</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mo>}</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>p</mi></mtd></mtr><mtr><mtd><mi>q</mi></mtd></mtr><mtr><mtd><mi>r</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mover><mi>&alpha;</mi><mo>&CenterDot;</mo></mover></mtd></mtr><mtr><mtd><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mo>-</mo><mi>cos</mi><mi></mi><mi>&alpha;</mi><mi>tan</mi><mi>&beta;</mi></mtd><mtd><mo>-</mo><mi>sin</mi><mi>&alpha;</mi><mi>tan</mi><mi>&beta;</mi></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mi>sin</mi><mi>&alpha;</mi></mtd><mtd><mo>-</mo><mi>cos</mi><mi>&alpha;</mi></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>p</mi></mtd></mtr><mtr><mtd><mi>r</mi></mtd></mtr><mtr><mtd><mi>q</mi></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>f</mi><mi>&alpha;</mi></msub><mrow><mo>(</mo><mo>&CenterDot;</mo><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>f</mi><mi>&beta;</mi></msub><mrow><mo>(</mo><mo>&CenterDot;</mo><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>f</mi><mi>&alpha;</mi></msub><mrow><mo>(</mo><mo>&CenterDot;</mo><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>f</mi><mi>&beta;</mi></msub><mrow><mo>(</mo><mo>&CenterDot;</mo><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><mfrac><mn>1</mn><msub><mi>V</mi><mn>0</mn></msub></mfrac><mfenced open='[' close=']'><mtable><mtr><mtd><mo>{</mo><mo>[</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>e</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>e</mi><mn>4</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>e</mi><mn>2</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>e</mi><mn>3</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>n</mi><mi>z</mi></msub><mi>g</mi><mo>]</mo><mi>cos</mi><mi>&alpha;</mi><mo>-</mo><mo>[</mo><mn>2</mn><mi>g</mi><mrow><mo>(</mo><msub><mi>e</mi><mn>2</mn></msub><msub><mi>e</mi><mn>4</mn></msub><mo>-</mo><msub><mi>e</mi><mn>1</mn></msub><msub><mi>e</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>n</mi><mi>x</mi></msub><mi>g</mi><mo>]</mo><mi>sin</mi><mi>&alpha;</mi><mo>}</mo><mo>/</mo><mi>cos</mi><mi>&beta;</mi></mtd></mtr><mtr><mtd><mo>[</mo><mn>2</mn><mi>g</mi><mrow><mo>(</mo><msub><mi>e</mi><mn>1</mn></msub><msub><mi>e</mi><mn>2</mn></msub><mo>+</mo><msub><mi>e</mi><mn>3</mn></msub><msub><mi>e</mi><mn>4</mn></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>n</mi><mi>y</mi></msub><mi>g</mi><mo>]</mo><mi>cos</mi><mi>&beta;</mi><mo>-</mo><mo>[</mo><mn>2</mn><mi>g</mi><mrow><mo>(</mo><msub><mi>e</mi><mn>2</mn></msub><msub><mi>e</mi><mn>4</mn></msub><mo>-</mo><msub><mi>e</mi><mn>1</mn></msub><msub><mi>e</mi><mn>3</mn></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>n</mi><mi>x</mi></msub><mi>g</mi><mo>]</mo><mi>cos</mi><mi></mi><mi>&alpha;</mi><mi>sin</mi><mi>&beta;</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>和气动力、力矩模型<maths num="0005"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><mover><mi>p</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mfrac><mrow><msub><mi>I</mi><mi>z</mi></msub><mi>L</mi><mo>+</mo><msub><mi>I</mi><mi>zx</mi></msub><mi>N</mi><mo>+</mo><msub><mi>I</mi><mi>zx</mi></msub><mrow><mo>(</mo><msub><mi>I</mi><mi>z</mi></msub><mo>+</mo><msub><mi>I</mi><mi>x</mi></msub><mo>-</mo><msub><mi>I</mi><mi>y</mi></msub><mo>)</mo></mrow><mi>pq</mi><mo>+</mo><mrow><mo>(</mo><msub><mi>I</mi><mi>y</mi></msub><msub><mi>I</mi><mi>z</mi></msub><mo>-</mo><msubsup><mi>I</mi><mi>z</mi><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>I</mi><mi>zx</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mi>qr</mi></mrow><mrow><msub><mi>I</mi><mi>x</mi></msub><msub><mi>I</mi><mi>z</mi></msub><mo>-</mo><msubsup><mi>I</mi><mi>zx</mi><mn>2</mn></msubsup></mrow></mfrac></mtd></mtr><mtr><mtd><mover><mi>q</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mfrac><mrow><mi>M</mi><mo>+</mo><mrow><mo>(</mo><msub><mi>I</mi><mi>z</mi></msub><mo>-</mo><msub><mi>I</mi><mi>x</mi></msub><mo>)</mo></mrow><mi>pr</mi><mo>+</mo><msub><mi>I</mi><mi>zx</mi></msub><mrow><mo>(</mo><msup><mi>r</mi><mn>2</mn></msup><mo>-</mo><msup><mi>p</mi><mn>2</mn></msup><mo>)</mo></mrow></mrow><msub><mi>I</mi><mi>y</mi></msub></mfrac></mtd></mtr><mtr><mtd><mover><mi>r</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mfrac><mrow><msub><mi>I</mi><mi>zx</mi></msub><mi>L</mi><mo>+</mo><msub><mi>I</mi><mi>x</mi></msub><mi>N</mi><mo>+</mo><mrow><mo>(</mo><msubsup><mi>I</mi><mi>x</mi><mn>2</mn></msubsup><mo>-</mo><msub><mi>I</mi><mi>x</mi></msub><msub><mi>I</mi><mi>y</mi></msub><mo>+</mo><msubsup><mi>I</mi><mi>zx</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mi>pq</mi><mo>+</mo><msub><mi>I</mi><mi>zx</mi></msub><mrow><mo>(</mo><msub><mi>I</mi><mi>y</mi></msub><mo>-</mo><msub><mi>I</mi><mi>z</mi></msub><mo>-</mo><msub><mi>I</mi><mi>x</mi></msub><mo>)</mo></mrow><mi>qr</mi></mrow><mrow><msub><mi>I</mi><mi>x</mi></msub><msub><mi>I</mi><mi>z</mi></msub><mo>-</mo><msubsup><mi>I</mi><mi>zx</mi><mn>2</mn></msubsup></mrow></mfrac></mtd></mtr></mtable></mfenced></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>L</mi></mtd></mtr><mtr><mtd><mi>N</mi></mtd></mtr><mtr><mtd><mi>M</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>L</mi><mi>p&beta;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>,</mo><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mo>,</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>L</mi><mi>r&beta;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>,</mo><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mo>,</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>L</mi><mi>q&beta;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>N</mi><mi>p&beta;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>,</mo><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mo>,</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>N</mi><mi>r&beta;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>,</mo><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mo>,</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>N</mi><mi>q&beta;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>M</mi><mi>p&alpha;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>)</mo></mrow></mtd><mtd><msub><mi>M</mi><mi>r&alpha;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mover><mi>&alpha;</mi><mo>&CenterDot;</mo></mover><mo>)</mo></mrow></mtd><mtd><msub><mi>M</mi><mi>q&alpha;</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mover><mi>&alpha;</mi><mo>&CenterDot;</mo></mover><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>p</mi></mtd></mtr><mtr><mtd><mi>r</mi></mtd></mtr><mtr><mtd><mi>q</mi></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>L</mi><mi>e</mi></msub><mrow><mo>(</mo><mi>&beta;</mi><mo>,</mo><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mo>,</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>N</mi><mi>e</mi></msub><mrow><mo>(</mo><mi>&beta;</mi><mo>,</mo><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mo>,</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>M</mi><mi>e</mi></msub><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>&beta;</mi><mo>,</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><img file="FDA00001707517200018.GIF" wi="1698" he="225" />在p=0,r=0,q=0,<img file="FDA00001707517200019.GIF" wi="118" he="45" /><img file="FDA000017075172000110.GIF" wi="109" he="59" />条件下确定控制目标高度、马赫数时的配平舵面、气流迎角、给定转弯半径稳定盘旋的侧滑角的平衡点δ<sub>s</sub>,α<sub>s</sub>,β<sub>s</sub>;其中:q为俯仰角速度,α为气流迎角,β为侧滑角,<img file="FDA00001707517200021.GIF" wi="28" he="37" />为俯仰角,<img file="FDA00001707517200022.GIF" wi="31" he="38" />为滚转角,ψ为偏航角,p为滚转角速度,r为偏航角速度,g为重力加速度,δ为包含方向舵、副翼、升降舵、油门开度、鸭翼等在内的输入向量,I<sub>x</sub>为绕轴x的转动惯量,I<sub>y</sub>为绕轴y的转动惯量,I<sub>z</sub>为绕轴z的转动惯量,I<sub>zx</sub>=I<sub>xz</sub>为乘积转动惯量,V<sub>0</sub>为空速,M<sub>pα</sub>(α,β)、M<sub>rα</sub>(α,β)、<img file="FDA00001707517200023.GIF" wi="230" he="57" />M<sub>e</sub>(α,β,δ)为有关纵向力矩函数表达式,<img file="FDA00001707517200024.GIF" wi="505" he="67" />L<sub>qβ</sub>(α,β),<img file="FDA00001707517200025.GIF" wi="757" he="67" />N<sub>qβ</sub>(α,β),<img file="FDA00001707517200026.GIF" wi="221" he="60" />为有关力矩函数表达式,n<sub>x</sub>,n<sub>y</sub>,n<sub>z</sub>分别为沿飞行器机体轴系x,y,z轴的过载;δ<sub>s</sub>,α<sub>s</sub>,β<sub>s</sub>分别为对应控制目标高度、马赫数时的配平舵面、气流迎角、给定转弯半径稳定盘旋的侧滑角;(b)选取反馈控制器表达式为:δ=δ<sub>0</sub>+k(α,β,p,r,q)满足条件:p=0,r=0,q=0,<img file="FDA00001707517200027.GIF" wi="117" he="45" /><img file="FDA00001707517200028.GIF" wi="120" he="59" />α=α<sub>s</sub>,β=β<sub>s</sub>时,δ=δ<sub>s</sub>;其中:δ<sub>0</sub>为舵面输入的常数值,k(α,β,p,r,q)为反馈控制函数;(c)在给定飞行区域内,采用以下相平面分析模型:<img file="FDA00001707517200029.GIF" wi="1717" he="759" />分析系统收敛性,根据收敛性指标和平衡点条件:满足条件:p=0,r=0,q=0,<img file="FDA000017075172000210.GIF" wi="117" he="45" /><img file="FDA000017075172000211.GIF" wi="120" he="59" />α=α<sub>s</sub>,β=β<sub>s</sub>时,δ=δ<sub>s</sub>共同确定反馈控制器的参数。
地址 710072 陕西省西安市友谊西路127号