发明名称 一种变构型航天器柔性多体动力学建模方法
摘要 本发明公开了一种变构型航天器柔性多体动力学建模方法,根据变构型航天器的拓扑构型分析建立变构型航天器的拓扑结构模型,对变构型航天器的舱段进行模态分析,获得单个舱段的模态信息;运动学分析,采用坐标表示变构型航天器的刚体运动和柔性舱段的相对变形;建立邻接舱段运动学递推关系,采用混合坐标系法描述变构型航天器的运动,建立变构型航天器的系统动力学方程,对变构型航天器的系统动力学方程积分,以航天器所受外力作为已知约束条件,求得描述变构型航天器的动力学参量,建立变构型航天器的柔性多体动力学模型。本发明增加了模型的通用性和程式化,减小了因建模简化假设引起的模型误差。<pb pnum="1" />
申请公布号 CN105519268B 申请公布日期 2015.06.24
申请号 CN201218005731.7 申请日期 2012.11.16
申请人 西北工业大学 发明人 宁昕;王忠宇;岳晓奎;袁建平
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 一种变构型航天器柔性多体动力学建模方法,其特征在于包括下述步骤:步骤一、根据变构型航天器的拓扑构型分析,建立变构型航天器的拓扑结构模型,获得变构型航天器的邻接矩阵D、关联矩阵S及内接物体矩阵L;步骤二、建立坐标系,对变构型航天器的舱段进行模态分析,获得单个舱段的模态信息;步骤三、运动学分析,采用离散广义坐标<u>q</u>表示变构型航天器的刚体运动,模态坐标<u>a</u>表示柔性舱段的相对变形;步骤四、根据变构型航天器的单个舱段的运动学参量,建立邻接舱段运动学递推关系,采用混合坐标系法描述变构型航天器的运动,包括以下内容:根据内接舱段B<sub>j</sub>递推得到B<sub>i</sub>的运动学参量:<maths id="cmaths0001" num="0001"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msub><munder><mi>r</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>=</mo><msub><munder><mi>r</mi><mo>&OverBar;</mo></munder><mi>j</mi></msub><mo>+</mo><msubsup><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mi>i</mi><mi>P</mi></msubsup><mo>+</mo><msub><munder><mi>h</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>-</mo><msubsup><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup></mrow></mtd><mtd><mrow><msub><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>=</mo><msub><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mi>j</mi></msub><mo>+</mo><msubsup><munder><mi>&psi;</mi><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup><msub><mover><mi>a</mi><mo>&CenterDot;</mo></mover><mi>j</mi></msub><mo>+</mo><msubsup><munder><mi>H</mi><mo>&OverBar;</mo></munder><mi>i</mi><mrow><mi>&Omega;</mi><mi>T</mi></mrow></msubsup><msub><munder><mover><mi>q</mi><mo>&CenterDot;</mo></mover><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>-</mo><msubsup><munder><mi>&psi;</mi><mo>&OverBar;</mo></munder><mi>i</mi><mi>P</mi></msubsup><msub><munder><mover><mi>a</mi><mo>&CenterDot;</mo></mover><mo>&OverBar;</mo></munder><mi>i</mi></msub></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FBM2015112600190000011.GIF" wi="1111" he="88" /></maths><maths id="cmaths0002" num="0002"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msub><munder><mi>v</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>=</mo><msub><munder><mi>G</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mn>0</mn></mrow></msub><msub><munder><mi>v</mi><mo>&OverBar;</mo></munder><mn>0</mn></msub><mo>+</mo><munder><munder><mi>&Sigma;</mi><mrow><mi>k</mi><mo>:</mo><msub><mi>B</mi><mi>k</mi></msub><mo>&le;</mo><msub><mi>B</mi><mi>i</mi></msub></mrow></munder><mrow><mi>k</mi><mo>&NotEqual;</mo><mn>0</mn></mrow></munder><msub><munder><mi>G</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mi>k</mi></mrow></msub><msub><munder><mover><mi>y</mi><mo>&CenterDot;</mo></mover><mo>&OverBar;</mo></munder><mi>k</mi></msub></mrow></mtd><mtd><mrow><msub><mover><munder><mi>v</mi><mo>&OverBar;</mo></munder><mo>&CenterDot;</mo></mover><mi>i</mi></msub><mo>=</mo><msub><munder><mi>G</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mn>0</mn></mrow></msub><msub><mover><munder><mi>v</mi><mo>&OverBar;</mo></munder><mo>&CenterDot;</mo></mover><mn>0</mn></msub><mo>+</mo><munder><munder><mi>&Sigma;</mi><mrow><mi>k</mi><mo>:</mo><msub><mi>B</mi><mi>k</mi></msub><mo>&le;</mo><msub><mi>B</mi><mi>i</mi></msub></mrow></munder><mrow><mi>k</mi><mo>&NotEqual;</mo><mn>0</mn></mrow></munder><mrow><mo>(</mo><mrow><msub><munder><mi>G</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mi>k</mi></mrow></msub><msub><mover><munder><mi>y</mi><mo>&OverBar;</mo></munder><mo>&CenterDot;&CenterDot;</mo></mover><mi>k</mi></msub><mo>+</mo><msub><munder><mi>g</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mi>k</mi></mrow></msub></mrow><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FBM2015112600190000012.GIF" wi="1132" he="130" /></maths>式中,<maths id="cmaths0003" num="0003"><math><![CDATA[<mrow><msub><mi>v</mi><mi>&alpha;</mi></msub><mo>=</mo><msubsup><mfenced open = "(" close = ")"><mtable><mtr><mtd><msup><munder><mover><mi>r</mi><mo>&CenterDot;</mo></mover><mo>&OverBar;</mo></munder><mi>T</mi></msup></mtd><mtd><msup><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mi>T</mi></msup></mtd><mtd><msup><munder><mover><mi>a</mi><mo>&CenterDot;</mo></mover><mo>&OverBar;</mo></munder><mi>T</mi></msup></mtd></mtr></mtable></mfenced><mi>&alpha;</mi><mi>T</mi></msubsup><mo>,</mo><mrow><mo>(</mo><mi>&alpha;</mi><mo>=</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><msup><mfenced open = "(" close = ")"><mtable><mtr><mtd><mrow><msup><msub><munder><mi>q</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mi>T</mi></msup></mrow></mtd><mtd><mrow><msup><msub><munder><mi>a</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mi>T</mi></msup></mrow></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>,</mo></mrow>]]></math><img file="FBM2015112600190000013.GIF" wi="1052" he="79" /></maths><u>q</u>为变构型航天器的系统广义坐标列阵,记作<u>q</u><sub>1</sub>,<u>q</u><sub>2</sub>,…,<u>q</u><sub>N</sub>,维度等于系统所具有的独立广义坐标数目,即完整系统的自由度δ;因此,变构型航天器的动力学模型可以完全由一组广义坐标和模态坐标来描述:<img file="FBM2015112600190000014.GIF" wi="1323" he="252" /><u>G</u><sub>i0</sub>=<u>T</u><sub>ij</sub><u>G</u><sub>j0</sub><u>T</u><sub>ij</sub>、<u>U</u><sub>i</sub>、<u>β</u><sub>i</sub>可以由下式给出<maths id="cmaths0004" num="0004"><math><![CDATA[<mrow><msub><munder><mi>T</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfenced open = "(" close = ")"><mtable><mtr><mtd><msub><munder><mi>I</mi><mo>&OverBar;</mo></munder><mn>3</mn></msub></mtd><mtd><mrow><mo>-</mo><msubsup><mover><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>j</mi><mi>Q</mi></msubsup><mo>-</mo><msub><mover><munder><mi>h</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>i</mi></msub><mo>+</mo><msubsup><mover><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>i</mi><mi>P</mi></msubsup></mrow></mtd><mtd><mrow><msubsup><munder><mi>&Phi;</mi><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup><mo>-</mo><msub><mover><munder><mi>h</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>i</mi></msub><msubsup><munder><mi>&Psi;</mi><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup><mo>+</mo><msubsup><mover><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>i</mi><mi>P</mi></msubsup><msubsup><munder><mi>&Psi;</mi><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup></mrow></mtd></mtr><mtr><mtd><munder><mn>0</mn><mo>&OverBar;</mo></munder></mtd><mtd><msub><munder><mi>I</mi><mo>&OverBar;</mo></munder><mn>3</mn></msub></mtd><mtd><msubsup><munder><mi>&Psi;</mi><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup></mtd></mtr><mtr><mtd><munder><mn>0</mn><mo>&OverBar;</mo></munder></mtd><mtd><munder><mn>0</mn><mo>&OverBar;</mo></munder></mtd><mtd><munder><mn>0</mn><mo>&OverBar;</mo></munder></mtd></mtr></mtable></mfenced><msub><munder><mi>U</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>=</mo><mfenced open = "(" close = ")"><mtable><mtr><mtd><mrow><msubsup><munder><mi>H</mi><mo>&OverBar;</mo></munder><mi>i</mi><mrow><mi>h</mi><mi>T</mi></mrow></msubsup><mo>+</mo><msubsup><mover><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>i</mi><mi>P</mi></msubsup><msubsup><munder><mi>H</mi><mo>&OverBar;</mo></munder><mi>i</mi><mrow><mi>&Omega;</mi><mi>T</mi></mrow></msubsup></mrow></mtd><mtd><mrow><mo>-</mo><msubsup><munder><mi>&Phi;</mi><mo>&OverBar;</mo></munder><mi>i</mi><mi>P</mi></msubsup><mo>-</mo><msubsup><mover><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>i</mi><mi>P</mi></msubsup><msubsup><munder><mi>&Psi;</mi><mo>&OverBar;</mo></munder><mi>i</mi><mi>P</mi></msubsup></mrow></mtd></mtr><mtr><mtd><msubsup><munder><mi>H</mi><mo>&OverBar;</mo></munder><mi>i</mi><mrow><mi>&Omega;</mi><mi>T</mi></mrow></msubsup></mtd><mtd><msubsup><munder><mi>&Psi;</mi><mo>&OverBar;</mo></munder><mi>i</mi><mi>P</mi></msubsup></mtd></mtr><mtr><mtd><munder><mn>0</mn><mo>&OverBar;</mo></munder></mtd><mtd><msub><munder><mi>I</mi><mo>&OverBar;</mo></munder><mi>s</mi></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FBM2015112600190000015.GIF" wi="1717" he="297" /></maths><maths id="cmaths0005" num="0005"><math><![CDATA[<mrow><msub><munder><mi>&beta;</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>=</mo><msup><mfenced open = "(" close = ")"><mtable><mtr><mtd><mrow><msup><msub><munder><mi>&beta;</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mn>1</mn></mrow></msub><mi>T</mi></msup></mrow></mtd><mtd><mrow><msup><msub><munder><mi>&beta;</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mn>2</mn></mrow></msub><mi>T</mi></msup></mrow></mtd><mtd><msup><munder><mn>0</mn><mo>&OverBar;</mo></munder><mi>T</mi></msup></mtd></mtr></mtable></mfenced><mi>T</mi></msup></mrow>]]></math><img file="FBM2015112600190000016.GIF" wi="463" he="76" /></maths><maths id="cmaths0006" num="0006"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msub><munder><mi>&beta;</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>=</mo><msub><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>j</mi></msub><msub><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>j</mi></msub><msubsup><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup><mo>+</mo><msubsup><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup><msubsup><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup><msub><munder><mi>h</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>-</mo><msub><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>i</mi></msub><msub><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>i</mi></msub><msubsup><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mi>i</mi><mi>P</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mn>2</mn><mrow><mo>(</mo><mrow><msub><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>j</mi></msub><msubsup><munder><mi>v</mi><mo>&OverBar;</mo></munder><mrow><mi>r</mi><mi>j</mi></mrow><mi>Q</mi></msubsup><mo>+</mo><msubsup><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>j</mi><mi>Q</mi></msubsup><msub><munder><mi>v</mi><mo>&OverBar;</mo></munder><mrow><mi>r</mi><mi>i</mi></mrow></msub><mo>-</mo><msub><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>i</mi></msub><msubsup><munder><mi>v</mi><mo>&OverBar;</mo></munder><mrow><mi>r</mi><mi>i</mi></mrow><mi>P</mi></msubsup></mrow><mo>)</mo></mrow><mo>-</mo><msub><munder><mover><mi>h</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>i</mi></msub><msub><munder><mover><mi>&omega;</mi><mo>~</mo></mover><mo>&OverBar;</mo></munder><mi>j</mi></msub><msubsup><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mrow><mi>r</mi><mi>j</mi></mrow><mi>Q</mi></msubsup><mo>+</mo><msubsup><mover><munder><mi>&rho;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>i</mi><mi>P</mi></msubsup><msub><munder><mi>&beta;</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mn>2</mn></mrow></msub></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FBM2015112600190000017.GIF" wi="999" he="182" /></maths><maths id="cmaths0007" num="0007"><math><![CDATA[<mrow><msub><munder><mi>&beta;</mi><mo>&OverBar;</mo></munder><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>=</mo><msub><mover><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>j</mi></msub><msubsup><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mrow><mi>r</mi><mi>j</mi></mrow><mi>Q</mi></msubsup><mo>+</mo><msubsup><mover><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>j</mi><mi>Q</mi></msubsup><msub><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mrow><mi>r</mi><mi>i</mi></mrow></msub><mo>-</mo><msub><mover><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mo>~</mo></mover><mi>i</mi></msub><msubsup><munder><mi>&omega;</mi><mo>&OverBar;</mo></munder><mrow><mi>r</mi><mi>j</mi></mrow><mi>P</mi></msubsup><mo>+</mo><msub><munder><mi>&eta;</mi><mo>&OverBar;</mo></munder><mi>i</mi></msub><mo>,</mo></mrow>]]></math><img file="FBM2015112600190000018.GIF" wi="1033" he="94" /></maths><math><![CDATA[<mrow><munder><mi>Z</mi><mo>&OverBar;</mo></munder><munder><mover><mi>y</mi><mo>&CenterDot;&CenterDot;</mo></mover><mo>&OverBar;</mo></munder><mo>=</mo><munder><mi>z</mi><mo>&OverBar;</mo></munder><mo>+</mo><msup><munder><mi>f</mi><mo>&OverBar;</mo></munder><mrow><mi>e</mi><mi>y</mi></mrow></msup></mrow>]]></math><img file="FBM2015112600190000021.GIF" wi="248" he="66" /></maths>其中Z为广义质量矩阵,z为广义力阵,<img file="FBM2015112600190000022.GIF" wi="444" he="125" />式中<u>Z</u><sup>i</sup>、<u>z</u><sup>i</sup>中的各项由下式给出<img file="FBM2015112600190000023.GIF" wi="729" he="151" /><img file="FBM2015112600190000024.GIF" wi="1154" he="193" />步骤六、对变构型航天器的系统动力学方程积分,以航天器所受外力作为已知约束条件,求得描述变构型航天器的动力学参量,建立变构型航天器的柔性多体动力学模型。
地址 710072 陕西省西安市友谊西路127号