发明名称 一种拟周期J2不变相对轨道编队飞行控制方法
摘要 一种拟周期J2不变相对轨道编队飞行控制方法,以编队飞行卫星中飞行在标称轨道上的卫星为基准星,对编队飞行卫星中未飞行在标称轨道上的卫星施加控制力矩Tc进行调整。在给定相对位置初值后,对于每个时刻,计算具有Hamiltonian结构非受控J2型C-W方程的双曲特征值及稳定和不稳定流形,选择适当的控制增益,最终计算得到反馈控制力矩Tc。本发明方法基于更精确的模型得到的控制律,且只需要两颗卫星之间的相对位置反馈信息,对相对位置初值没有约束,计算量小,燃料消耗小,易于工程实现。
申请公布号 CN102819266A 申请公布日期 2012.12.12
申请号 CN201210252309.0 申请日期 2012.07.20
申请人 航天东方红卫星有限公司 发明人 刘胜利;杨志;徐明;朱佳敏
分类号 G05D1/10(2006.01)I 主分类号 G05D1/10(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 安丽
主权项 1.一种拟周期J2不变相对轨道编队飞行控制方法,其特征在于:以编队飞行卫星中飞行在标称轨道上的卫星为基准星,对编队飞行卫星中未飞行在标称轨道上的卫星施加控制力矩Tc进行调整,T<sub>c</sub>=B<sup>-</sup>Δr-σ<sup>2</sup>G[u<sub>+</sub>u<sub>+</sub><sup>H</sup>+u<sub>-</sub>u<sub>-</sub><sup>H</sup>]Δr,其中B<sup>-</sup>=(B-B<sup>T</sup>)/2,B<sup>+</sup>=(B+B<sup>T</sup>)/2,Δr为基准星轨道坐标系下待调整卫星与基准星的相对位置矢量,<img file="FSA00000752006300011.GIF" wi="436" he="117" />B<sub>λ</sub>=(b<sub>11</sub>+b<sub>22</sub>+a<sub>11</sub>a<sub>22</sub>+a<sub>12</sub><sup>2</sup>),C<sub>λ</sub>=(b<sub>11</sub>b<sub>22</sub>-b<sub>12</sub><sup>2</sup>),a<sub>ij</sub>表示矩阵A的第i行第j个元素,b<sub>ij</sub>表示矩阵B<sup>+</sup>的第i行第j个元素,u<sub>+</sub>、u<sub>-</sub>分别满足[σ<sup>2</sup>I-σA+B]u<sub>+</sub>=0,[σ<sup>2</sup>I+σA+B]u<sub>-</sub>=0,G为控制增益,<maths num="0001"><![CDATA[<math><mrow><mi>A</mi><mo>=</mo><mn>2</mn><mo>{</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>sin</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mtd><mtd><mi>sin</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mover><mi>i</mi><mo>&CenterDot;</mo></mover><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mover><mi>u</mi><mo>&CenterDot;</mo></mover><mo>}</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mi>B</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mover><mi>u</mi><mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></mover><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><msup><mover><mi>u</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msup><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mo>-</mo><mn>3</mn><mo>+</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd><mtd><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mo>-</mo><mn>3</mn><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>2</mn><mo>&CenterDot;</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mo>-</mo><mn>2</mn><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mo>-</mo><mn>1</mn></mtd></mtr></mtable></mfenced><mover><mi>u</mi><mo>&CenterDot;</mo></mover><mo>&CenterDot;</mo><mover><mi>i</mi><mo>&CenterDot;</mo></mover></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mo>-</mo><mn>3</mn><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow><mo>+</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo></mrow><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msup><mi>sin</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msup><mi>sin</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mo>-</mo><mn>3</mn><mo>+</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow><mo>+</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd><mtd><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>(</mo><mn>2</mn><mo>+</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mrow><mo>(</mo><mn>2</mn><mo>+</mo><mi>cos</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><msup><mrow><mo>-</mo><mi>sin</mi></mrow><mn>2</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mover><mi>u</mi><mo>&CenterDot;</mo></mover><mo>&CenterDot;</mo><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mo>+</mo><mfrac><mi>&mu;</mi><msup><mi>r</mi><mn>3</mn></msup></mfrac><mfenced open='[' close=']'><mtable><mtr><mtd><mo>-</mo><mn>2</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>+</mo><mfrac><mrow><mi>&mu;</mi><msub><mi>J</mi><mn>2</mn></msub><msup><mi>Re</mi><mn>2</mn></msup></mrow><msup><mi>r</mi><mn>5</mn></msup></mfrac><mfenced open='[' close=']'><mtable><mtr><mtd><mn>6</mn><mrow><mo>(</mo><mn>3</mn><mo>&CenterDot;</mo><msup><mi>sin</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msup><mi>sin</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><mo>-</mo><mn>6</mn><mo>&CenterDot;</mo><msup><mi>sin</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mo>-</mo><mn>6</mn><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>9</mn><mn>2</mn></mfrac><mo>&CenterDot;</mo><msup><mi>sin</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mn>3</mn><mo>&CenterDot;</mo><msup><mi>sin</mi><mn>2</mn></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mfrac><mn>3</mn><mn>2</mn></mfrac><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>9</mn><mn>2</mn></mfrac><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mn>3</mn><mo>&CenterDot;</mo><mi>sin</mi><mrow><mo>(</mo><mn>2</mn><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>cos</mi><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mtd><mtd><mn>3</mn><mo>&CenterDot;</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>i</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>u为主星纬度幅角,i为主星轨道倾角,Ω为主星升交点赤经,μ为地球的引力势能常数,Re为地球半径,J<sub>2</sub>=-108264×10<sup>-3</sup>为常数,r为主星的矢径的模,I为两阶单位阵,角标T为矩阵的转置,字母上方的一点和两点分别表示一阶微分和二阶微分。
地址 100094 北京市5616信箱