发明名称 基于非线性数学模型的通用型无人机仿真方法及系统
摘要 本发明公开了一种基于非线性数学模型的通用型无人机非线性模型构建方法,同时涉及一种用于实现该构建方法的系统。所述的方法主要包括模型解算、双坐标系支持和CMEX封装三个方法模块,所述的系统包括仿真系统输入模块、进行无人机运动状态初始化的初始化模块、状态量导数解算模块、状态量更新模块、辅助物理量计算模块和仿真系统输出模块。本发明的方法及系统把更多的工作交给计算机,只需用户输入外力和外力矩,即可得到完备的无人机的物理量,使用简单、方便。
申请公布号 CN102945002A 申请公布日期 2013.02.27
申请号 CN201210398129.3 申请日期 2012.10.18
申请人 南京航空航天大学 发明人 孙春贞;彭夏鹏;黄一敏
分类号 G05B17/02(2006.01)I 主分类号 G05B17/02(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 叶连生
主权项 1.一种基于非线性数学模型的通用型无人机仿真方法,其特征在于,包括下列步骤:步骤一:调用仿真系统通用模型软件提供的用户接口函数,初始化无人机的运动状态;步骤二:设置无人机的质量和转动惯量,并向仿真系统输入无人机所受不含重力的外力和外力矩;步骤三:根据面对称刚体六自由度运动模型计算无人机状态量导数,以平面大地为惯性系,在苏联坐标系下进行解算:线动力学方程:<maths num="0001"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>V</mi><mo>.</mo></mover><mi>x</mi></msub><mo>=</mo><msub><mi>V</mi><mi>z</mi></msub><msub><mi>&omega;</mi><mi>y</mi></msub><mo>-</mo><msub><mi>V</mi><mi>y</mi></msub><msub><mi>&omega;</mi><mi>z</mi></msub><mo>+</mo><msub><mi>F</mi><mi>x</mi></msub><mo>/</mo><mi>m</mi><mo>+</mo><msub><mi>G</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mover><mi>V</mi><mo>.</mo></mover><mi>y</mi></msub><mo>=</mo><msub><mi>V</mi><mi>x</mi></msub><msub><mi>&omega;</mi><mi>z</mi></msub><msub><mrow><mo>-</mo><mi>V</mi></mrow><mi>z</mi></msub><msub><mi>&omega;</mi><mi>x</mi></msub><mo>+</mo><msub><mi>F</mi><mi>y</mi></msub><mo>/</mo><mi>m</mi><msub><mi>G</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><msub><mover><mi>V</mi><mo>.</mo></mover><mi>x</mi></msub><mo>=</mo><msub><mi>V</mi><mi>y</mi></msub><msub><mi>&omega;</mi><mi>x</mi></msub><mo>-</mo><msub><mi>V</mi><mi>x</mi></msub><msub><mi>&omega;</mi><mi>y</mi></msub><mo>+</mo><msub><mi>F</mi><mi>z</mi></msub><mo>/</mo><mi>m</mi><mo>+</mo><msub><mi>G</mi><mi>z</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>角动力学方程:<maths num="0002"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>&omega;</mi><mo>.</mo></mover><mi>x</mi></msub><mi></mi><mo>=</mo><mfrac><mrow><msub><mi>I</mi><mi>yy</mi></msub><msub><mi>M</mi><mi>x</mi></msub><mo>+</mo><msub><mi>I</mi><mi>xy</mi></msub><msub><mi>M</mi><mi>y</mi></msub><mo>-</mo><msub><mi>I</mi><mi>xy</mi></msub><mrow><mo>(</mo><msub><mi>I</mi><mi>xx</mi></msub><mo>-</mo><msub><mi>I</mi><mi>yy</mi></msub><mo>+</mo><msub><mi>I</mi><mi>zz</mi></msub><mo>)</mo></mrow><msub><mi>&omega;</mi><mi>x</mi></msub><msub><mi>&omega;</mi><mi>z</mi></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>I</mi><mi>yy</mi></msub><msub><mi>I</mi><mi>yy</mi></msub><mo>+</mo><msub><mi>I</mi><mi>xy</mi></msub><msub><mi>I</mi><mi>xy</mi></msub><mo>-</mo><msub><mi>I</mi><mi>yy</mi></msub><msub><mi>I</mi><mi>zz</mi></msub><mo>)</mo></mrow><msub><mi>&omega;</mi><mi>y</mi></msub><msub><mi>&omega;</mi><mi>z</mi></msub></mrow><mrow><msub><mi>I</mi><mi>xx</mi></msub><msub><mi>I</mi><mi>yy</mi></msub><mo>-</mo><msub><mi>I</mi><mi>xy</mi></msub><msub><mi>I</mi><mi>xy</mi></msub></mrow></mfrac></mtd></mtr><mtr><mtd><msub><mover><mi>&omega;</mi><mo>.</mo></mover><mi>y</mi></msub><mi></mi><mo>=</mo><mfrac><mrow><msub><mi>I</mi><mi>xx</mi></msub><msub><mi>M</mi><mi>y</mi></msub><mo>+</mo><msub><mi>I</mi><mi>xy</mi></msub><msub><mi>M</mi><mi>x</mi></msub><mo>+</mo><msub><mi>I</mi><mi>xy</mi></msub><mrow><mo>(</mo><msub><mi>I</mi><mi>xx</mi></msub><mo>-</mo><msub><mi>I</mi><mi>yy</mi></msub><mo>+</mo><msub><mi>I</mi><mi>zz</mi></msub><mo>)</mo></mrow><msub><mi>&omega;</mi><mi>y</mi></msub><msub><mi>&omega;</mi><mi>z</mi></msub><mo>-</mo><mrow><mo>(</mo><msub><mi>I</mi><mi>xx</mi></msub><msub><mi>I</mi><mi>xx</mi></msub><mo>+</mo><msub><mi>I</mi><mi>xy</mi></msub><msub><mi>I</mi><mi>xy</mi></msub><mo>-</mo><msub><mi>I</mi><mi>xx</mi></msub><msub><mi>I</mi><mi>zz</mi></msub><mo>)</mo></mrow><msub><mi>&omega;</mi><mi>x</mi></msub><msub><mi>&omega;</mi><mi>z</mi></msub></mrow><mrow><msub><mi>I</mi><mi>xx</mi></msub><msub><mi>I</mi><mi>yy</mi></msub><mo>-</mo><msub><mi>I</mi><mi>xy</mi></msub><msub><mi>I</mi><mi>xy</mi></msub></mrow></mfrac></mtd></mtr><mtr><mtd><msub><mover><mi>&omega;</mi><mo>.</mo></mover><mi>z</mi></msub><mi></mi><mo>=</mo><mfrac><mrow><msub><mi>M</mi><mi>z</mi></msub><mo>-</mo><mrow><mo>(</mo><msub><mi>I</mi><mi>yy</mi></msub><mo>-</mo><msub><mi>I</mi><mi>xx</mi></msub><mo>)</mo></mrow><msub><mi>&omega;</mi><mi>x</mi></msub><msub><mi>&omega;</mi><mi>y</mi></msub><mo>+</mo><msub><mi>I</mi><mi>xy</mi></msub><mrow><mo>(</mo><msub><mi>&omega;</mi><mi>x</mi></msub><msub><mi>&omega;</mi><mi>x</mi></msub><mo>-</mo><msub><mi>&omega;</mi><mi>y</mi></msub><msub><mi>&omega;</mi><mi>y</mi></msub><mo>)</mo></mrow></mrow><msub><mi>I</mi><mi>zz</mi></msub></mfrac></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>线运动学方程:<maths num="0003"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>.</mo></mover><mi>g</mi></msub><mo>=</mo><msub><mi>V</mi><mi>x</mi></msub><mi>cos</mi><mi></mi><mi>&psi;</mi><mi>cos</mi><mi>&upsi;</mi><mo>+</mo><msub><mi>V</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>sin</mi><mi></mi><mi>&psi;</mi><mi>sin</mi><mi>&gamma;</mi><mo>-</mo><mi>cos</mi><mi>&psi;</mi><mi>sin</mi><mi></mi><mi>&upsi;</mi><mi>cos</mi><mi>&gamma;</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>V</mi><mi>z</mi></msub><mrow><mo>(</mo><mi>sin</mi><mi></mi><mi>&psi;</mi><mi>cos</mi><mi>&gamma;</mi><mo>+</mo><mi>cos</mi><mi></mi><mi>&psi;</mi><mi>sin</mi><mi></mi><mi>&upsi;</mi><mi>sin</mi><mi>&gamma;</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mover><mi>h</mi><mo>.</mo></mover><mi>g</mi></msub><mo>=</mo><msub><mi>V</mi><mi>x</mi></msub><mi>sin</mi><mi>&upsi;</mi><mo>+</mo><msub><mi>V</mi><mi>y</mi></msub><mi>cos</mi><mi></mi><mi>&upsi;</mi><mi>cos</mi><mi>&gamma;</mi><mo>-</mo><msub><mi>V</mi><mi>z</mi></msub><mi>cos</mi><mi></mi><mi>&upsi;</mi><mi>sin</mi><mi>&gamma;</mi></mtd></mtr><mtr><mtd><msub><mover><mi>z</mi><mo>.</mo></mover><mi>g</mi></msub><mo>=</mo><mo>-</mo><msub><mi>V</mi><mi>x</mi></msub><mi>sin</mi><mi></mi><mi>&psi;</mi><mi>cos</mi><mi>&upsi;</mi><mo>+</mo><msub><mi>V</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>cos</mi><mi></mi><mi>&psi;</mi><mi>sin</mi><mi>&gamma;</mi><mo>+</mo><mi>sin</mi><mi></mi><mi>&psi;</mi><mi>sin</mi><mi></mi><mi>&upsi;</mi><mi>sin</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>V</mi><mi>z</mi></msub><mrow><mo>(</mo><mi>cos</mi><mi></mi><mi>&psi;</mi><mi>cos</mi><mi>&gamma;</mi><mo>-</mo><mi>sin</mi><mi></mi><mi>&psi;</mi><mi>sin</mi><mi></mi><mi>&upsi;</mi><mi>sin</mi><mi>&gamma;</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>角运动学方程:<maths num="0004"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mover><mi>&upsi;</mi><mo>.</mo></mover><mo>=</mo><msub><mi>&omega;</mi><mi>y</mi></msub><mi>sin</mi><mi>&gamma;</mi><mo>+</mo><msub><mi>&omega;</mi><mi>z</mi></msub><mi>cos</mi><mi>&gamma;</mi></mtd></mtr><mtr><mtd><mover><mi>&gamma;</mi><mo>.</mo></mover><mo>=</mo><msub><mi>&omega;</mi><mi>x</mi></msub><mo>-</mo><mi>tan</mi><mi>&upsi;</mi><mrow><mo>(</mo><msub><mi>&omega;</mi><mi>y</mi></msub><mi>cos</mi><mi>&gamma;</mi><mo>-</mo><msub><mi>&omega;</mi><mi>z</mi></msub><mi>sin</mi><mi>&gamma;</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mover><mi>&psi;</mi><mo>.</mo></mover><mo>=</mo><mrow><mo>(</mo><msub><mi>&omega;</mi><mi>y</mi></msub><mi>cos</mi><mi>&gamma;</mi><mo>-</mo><msub><mi>&omega;</mi><mi>z</mi></msub><mi>sin</mi><mi>&gamma;</mi><mo>)</mo></mrow><mo>/</mo><mi>cos</mi><mi>&upsi;</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,F<sub>x</sub>、F<sub>y</sub>、F<sub>z</sub>为外力沿机体轴的分量,其中的外力不含无人机重力;M<sub>x</sub>、M<sub>y</sub>、M<sub>z</sub>为外力矩沿机体轴的分量;G<sub>x</sub>、G<sub>y</sub>、G<sub>z</sub>为重力加速度沿机体轴的分量;m为无人机质量;I<sub>xx</sub>、I<sub>yy</sub>、I<sub>zz</sub>、I<sub>xy</sub>、分别是无人机沿机体轴向的转动惯量和惯性积;V<sub>x</sub>、V<sub>y</sub>、V<sub>z</sub>为地速沿机体轴的分量;x<sub>g</sub>、h<sub>g</sub>、z<sub>g</sub>为分别是无人机北向、天向和东向的位移;ω<sub>x</sub>、ω<sub>y</sub>、ω<sub>z</sub>为绕机体轴转动的角速率沿机体轴的分量;υ、γ、ψ为俯仰角、滚转角、偏航角;步骤四:使用Adams数值积分算法更新无人机状态量,<maths num="0005"><![CDATA[<math><mrow><msub><mi>y</mi><mrow><mi>n</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>=</mo><msub><mi>y</mi><mrow><mi>n</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>+</mo><mfrac><mi>h</mi><mn>24</mn></mfrac><mrow><mo>(</mo><mn>55</mn><msub><mover><mi>y</mi><mo>.</mo></mover><mrow><mi>n</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>-</mo><mn>59</mn><msub><mover><mi>y</mi><mo>.</mo></mover><mrow><mi>n</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>+</mo><mn>37</mn><msub><mover><mi>y</mi><mo>.</mo></mover><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><mn>9</mn><msub><mover><mi>y</mi><mo>.</mo></mover><mi>n</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>截断误差为<img file="FDA00002274316100023.GIF" wi="222" he="106" />其中:h表示仿真步长;<img file="FDA00002274316100024.GIF" wi="463" he="48" />分别表示第n+3、n+2、n+1、n时刻的导数;y<sub>n+4</sub>、y<sub>n+3</sub>分别表示n+4、n+3时刻的值;步骤五:在仿真系统中内置风模型,根据用户设置的风速,合成空速:<maths num="0006"><![CDATA[<math><mfenced open='{' close='' separators=''><mtable><mtr><mtd><msub><mi>V</mi><mrow><mi>e</mi><mn>2</mn><mi>wind</mi></mrow></msub><mo>=</mo><msub><mi>V</mi><mi>e</mi></msub><mo>-</mo><msub><mi>V</mi><mrow><mi>wind</mi><mo>_</mo><mi>e</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>V</mi><mrow><mi>n</mi><mn>2</mn><mi>wind</mi></mrow></msub><mo>=</mo><msub><mi>V</mi><mi>n</mi></msub><mo>-</mo><msub><mi>V</mi><mrow><mi>wind</mi><mo>_</mo><mi>n</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>V</mi><mrow><mi>u</mi><mn>2</mn><mi>wind</mi></mrow></msub><mo>=</mo><msub><mi>V</mi><mi>u</mi></msub><mo>-</mo><msub><mi>V</mi><mrow><mi>wind</mi><mo>_</mo><mi>u</mi></mrow></msub></mtd></mtr></mtable><mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></mfenced></math>]]></maths>其中:V<sub>e</sub>、V<sub>n</sub>、V<sub>u</sub>分别是无人机地速在东向、北向、天向的分量;V<sub>wind_e</sub>、V<sub>wind_n</sub>、V<sub>wind_u</sub>分别是气流的东向速度、北向速度、天向速度;V<sub>e2wind</sub>、V<sub>n2wind</sub>、V<sub>u2wind</sub>分别是空速在东向、北向、天向的分量;步骤六:根据步骤四得到的无人机状态量和步骤五得到的空速,在标准大气模型、重力场模型的基础上,计算空速、气流角、动压等辅助量;1962年美国标准大气:ρ查1962年标准大气表                (7)V<sub>sonic</sub>查1962年标准大气表            (8)<maths num="0007"><![CDATA[<math><mrow><mi>&sigma;</mi><mo>=</mo><mfrac><mi>&rho;</mi><msub><mi>&rho;</mi><mrow><mi>sea</mi><mo>_</mo><mi>level</mi></mrow></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>H<sub>e</sub>=3.2808×H                       (10)<maths num="0008"><![CDATA[<math><mrow><msub><mi>T</mi><mi>s</mi></msub><mo>=</mo><mn>0.55556</mn><mo>&times;</mo><mfenced open='{' close='' separators=''><mtable><mtr><mtd><mn>518.7</mn><mo>&times;</mo><mrow><mo>(</mo><mn>1</mn><mo>.</mo><mn>0</mn><mo>-</mo><mn>6.875</mn><mi>e</mi><mo>-</mo><mn>6</mn><mo>&times;</mo><mi>H</mi><mo>)</mo></mrow><mo>;</mo></mtd><mtd><mn>0</mn><mo>&lt;</mo><msub><mi>H</mi><mi>e</mi></msub><mi></mi><mo>&lt;</mo><mn>36089</mn></mtd></mtr><mtr><mtd><mn>518.7</mn><mo>&times;</mo><mn>0.751985</mn><mo>;</mo></mtd><mtd><mn>36089</mn><mo>&lt;</mo><msub><mi>H</mi><mi>e</mi></msub><mo>&lt;</mo><mn>240000</mn></mtd></mtr></mtable><mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></mfenced></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msub><mi>P</mi><mi>s</mi></msub><mo>=</mo><mn>47.88018</mn><mo>&times;</mo><mfenced open='[' close=']' separators=''><mtable><mtr><mtd><mn>2113.8</mn><mo>&times;</mo><msup><mrow><mo>(</mo><mn>1.0</mn><mo>-</mo><mn>6.875</mn><mi>e</mi><mo>&times;</mo><mi>H</mi><mo>)</mo></mrow><mn>5.256</mn></msup><mo>;</mo></mtd><mtd><mn>0</mn><mo>&lt;</mo><mi>H</mi><mo>&lt;</mo><mn>36089</mn></mtd></mtr><mtr><mtd><mn>2113.8</mn><mo>&times;</mo><mn>0.2234</mn><mo>&times;</mo><msup><mi>e</mi><mrow><mo>-</mo><mn>4.806</mn><mi>e</mi><mo>-</mo><mn>5</mn><mo>&times;</mo><mrow><mo>(</mo><mi>H</mi><mo>-</mo><mn>36089</mn><mo>)</mo></mrow></mrow></msup><mo>;</mo></mtd><mtd><mn>36089</mn><mo>&lt;</mo><mi>H</mi><mo>&lt;</mo><mn>240000</mn></mtd></mtr></mtable><mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></mfenced></mrow></math>]]></maths>其中:H、H<sub>e</sub>分别是海拔高度的公制和英制表示;ρ表示当前高度处的大气密度;V<sub>sonic</sub>表示当前高度处的音速;σ表示当前高度和海平面的大气密度之比;T<sub>s</sub>表示当前高度处大气的静温;P<sub>s</sub>表示当前高度处的大气的静压;重力场模型:<maths num="0010"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>K</mi><mi>R</mi></msub><mo>=</mo><mn>0.00108263</mn><mo>*</mo><msup><mrow><mo>(</mo><mfrac><mrow><mi>H</mi><mo>+</mo><msub><mi>R</mi><mi>e</mi></msub></mrow><msub><mi>R</mi><mi>e</mi></msub></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mtd></mtr><mtr><mtd><msub><mi>K</mi><mi>g</mi></msub><mo>=</mo><msqrt><mn>2.25</mn><mrow><mo>(</mo><msup><mrow><mn>5</mn><mi>sin</mi></mrow><mn>4</mn></msup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>-</mo><msup><mrow><mn>2</mn><mi>sin</mi></mrow><mn>2</mn></msup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msubsup><mi>K</mi><mi>R</mi><mn>2</mn></msubsup><mo>+</mo><mn>3</mn><mrow><mo>(</mo><msup><mrow><mo>-</mo><mn>3</mn><mi>sin</mi></mrow><mn>2</mn></msup><mrow><mo>(</mo><mi>D</mi><mo>)</mo></mrow><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msub><mi>K</mi><mi>R</mi></msub><mo>+</mo><mn>1</mn></msqrt></mtd></mtr><mtr><mtd><mi>g</mi><mo>=</mo><msub><mi>K</mi><mi>g</mi></msub><mfrac><mi>GM</mi><msup><mrow><mo>(</mo><mi>H</mi><mo>+</mo><msub><mi>R</mi><mi>e</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mfrac></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中:H表示海拔高度;R<sub>e</sub>表示地球半径;D表示纬度;G表示引力常数;M表示地球质量;步骤七:调用通用模型软件用户接口函数获得完备的描述无人机运动的物理量;步骤八:重复步骤二至步骤七,实现无人机运动的非线性仿真。
地址 210016 江苏省南京市御道街29号