发明名称 一种卫星姿态模糊控制器参数优化方法
摘要 本发明涉及一种卫星姿态模糊控制器参数优化方法,属于航天控制技术领域,在卫星姿态参考坐标系下建立含有磁悬浮飞轮群的卫星动力学和运动学模型,基于磁悬浮飞轮群的航天器动力学模型设计姿态模糊控制器,引入改进的粒子群优化算法对所设计的姿态模糊控制器进行控制参数优化设计。本发明可以适用于卫星姿态模糊控制系统中,不仅提高模糊控制器设计效率,而且提高卫星姿态控制精度和稳定度。
申请公布号 CN103019099B 申请公布日期 2015.04.29
申请号 CN201210545164.3 申请日期 2012.12.14
申请人 北京航空航天大学 发明人 房建成;彭聪;崔培玲
分类号 G05B13/04(2006.01)I;G05D1/08(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 成金玉
主权项 一种卫星姿态模糊控制器参数优化方法,其特征在于:在卫星姿态参考坐标系下建立基于磁悬浮飞轮群的卫星姿态动力学和运动学模型,基于此模型设计卫星姿态模糊控制器,采用改进的粒子群优化算法对姿态模糊控制器进行优化设计;具体包括以下步骤:①建立卫星载体固连坐标系和单个磁悬浮飞轮固连坐标系;建立卫星载体固连坐标系(x<sub>b</sub>,y<sub>b</sub>,z<sub>b</sub>),坐标系原点位于载体质量中心,卫星固定有三个磁悬浮飞轮,以正交形式安装;建立第j个磁悬浮飞轮固连坐标系(x<sub>wαj</sub>,y<sub>wβj</sub>,z<sub>wsj</sub>),j=1.2.3,其中z<sub>wsj</sub>表示第j个磁悬浮飞轮自转轴方向单位向量,x<sub>wαj</sub>和y<sub>wβj</sub>表示第j个磁悬浮飞轮径向轴方向单位向量②基于步骤①建立磁悬浮飞轮群角动量模型;<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>h</mi><mrow><mi>w</mi><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>I</mi><mrow><mi>ws</mi><mn>1</mn></mrow></msub><msub><mi>&Omega;</mi><mn>1</mn></msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>&beta;</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mo>-</mo><msub><mi>&alpha;</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000011.GIF" wi="1280" he="258" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>h</mi><mrow><mi>w</mi><mn>2</mn></mrow></msub><mo>=</mo><msub><mi>I</mi><mrow><mi>ws</mi><mn>2</mn></mrow></msub><msub><mi>&Omega;</mi><mn>2</mn></msub><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msub><mi>&beta;</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>-</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000012.GIF" wi="1242" he="272" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>h</mi><mrow><mi>w</mi><mn>3</mn></mrow></msub><mo>=</mo><msub><mi>I</mi><mrow><mi>ws</mi><mn>3</mn></mrow></msub><msub><mi>&Omega;</mi><mn>3</mn></msub><mfenced open='[' close=']'><mtable><mtr><mtd><mo>-</mo><msub><mi>&alpha;</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr><mtr><mtd><msub><mi>&beta;</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000013.GIF" wi="1300" he="258" /></maths>其中,h<sub>w1</sub>为自转轴平行于z<sub>b</sub>轴的磁悬浮飞轮w<sub>1</sub>的角动量,h<sub>w2</sub>为自转轴平行于x<sub>b</sub>轴的磁悬浮飞轮w<sub>2</sub>的角动量,h<sub>w3</sub>为自转轴平行于y<sub>b</sub>轴的磁悬浮飞轮w<sub>3</sub>的角动量;I<sub>ws1</sub>为磁悬浮飞轮w<sub>1</sub>自转轴方向转动惯量,I<sub>ws2</sub>为磁悬浮飞轮w<sub>2</sub>自转轴方向转动惯量,I<sub>ws3</sub>为磁悬浮飞轮w<sub>3</sub>自转轴方向转动惯量;Ω<sub>1</sub>为磁悬浮飞轮w<sub>1</sub>自转角速度,Ω<sub>2</sub>为磁悬浮飞轮w<sub>2</sub>自转角速度,Ω<sub>3</sub>为磁悬浮飞轮w<sub>3</sub>自转角速度;α<sub>1</sub>和β<sub>1</sub>为磁悬浮飞轮w<sub>1</sub>转子径向偏移量,α<sub>2</sub>和β<sub>2</sub>为磁悬浮飞轮w<sub>2</sub>转子径向偏移量,α<sub>3</sub>和β<sub>3</sub>为磁悬浮飞轮w<sub>3</sub>转子径向偏移量;采用相同的磁悬浮飞轮,有I<sub>ws1</sub>=I<sub>ws2</sub>=I<sub>ws3</sub>=I<sub>ws</sub>;③基于步骤①和步骤②建立卫星总的角动量模型;<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>h</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>J</mi><mn>1</mn></msub><msub><mi>&omega;</mi><mn>1</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>1</mn></msub><msub><mi>&beta;</mi><mn>1</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>2</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>3</mn></msub><msub><mi>&alpha;</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>J</mi><mn>2</mn></msub><msub><mi>&omega;</mi><mn>2</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>1</mn></msub><msub><mi>&alpha;</mi><mn>1</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>2</mn></msub><msub><mi>&beta;</mi><mn>2</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>J</mi><mn>3</mn></msub><msub><mi>&omega;</mi><mn>3</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>1</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>2</mn></msub><msub><mi>&alpha;</mi><mn>2</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>3</mn></msub><msub><mi>&beta;</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000021.GIF" wi="1344" he="215" /></maths>其中,J<sub>1</sub>,J<sub>2</sub>和J<sub>3</sub>为卫星三轴转动惯量;ω<sub>1</sub>,ω<sub>2</sub>和ω<sub>3</sub>为卫星三轴姿态角速度;④基于步骤①‑步骤③建立基于磁悬浮飞轮群的卫星动力学模型;<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mover><mi>h</mi><mo>&CenterDot;</mo></mover><mo>+</mo><mo>[</mo><msup><mi>&omega;</mi><mo>&times;</mo></msup><mo>]</mo><mi>h</mi><mo>=</mo><msub><mi>&tau;</mi><mi>e</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000022.GIF" wi="1091" he="94" /></maths>其中,τ<sub>e</sub>为外部干扰力矩,ω=(ω<sub>1</sub>,ω<sub>2</sub>,ω<sub>3</sub>)<sup>T</sup>为卫星姿态角速度向量,[ω<sup>×</sup>]为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mo>[</mo><msup><mi>&omega;</mi><mo>&times;</mo></msup><mo>]</mo><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><msub><mi>&omega;</mi><mn>3</mn></msub></mtd><mtd><msub><mi>&omega;</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>&omega;</mi><mn>3</mn></msub></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><msub><mi>&omega;</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mo>-</mo><msub><mi>&omega;</mi><mn>2</mn></msub></mtd><mtd><msub><mi>&omega;</mi><mn>1</mn></msub></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000023.GIF" wi="1169" he="215" /></maths><img file="FDA0000589188390000029.GIF" wi="44" he="60" />为卫星总的角动量的微分,<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mover><mi>h</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>J</mi><mn>1</mn></msub><msub><mover><mi>&omega;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><msub><mi>&beta;</mi><mn>1</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>1</mn></msub><msub><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>3</mn></msub><msub><mi>&alpha;</mi><mn>3</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>3</mn></msub><msub><mover><mi>&alpha;</mi><mo>&CenterDot;</mo></mover><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>J</mi><mn>2</mn></msub><msub><mover><mi>&omega;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><msub><mi>&alpha;</mi><mn>1</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>1</mn></msub><msub><mover><mi>&alpha;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><msub><mi>&beta;</mi><mn>2</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>2</mn></msub><msub><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>3</mn></msub></mtd></mtr><mtr><mtd><msub><mi>J</mi><mn>3</mn></msub><msub><mover><mi>&omega;</mi><mo>&CenterDot;</mo></mover><mn>3</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><msub><mi>&alpha;</mi><mn>2</mn></msub><mo>-</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>2</mn></msub><msub><mover><mi>&alpha;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mover><mi>&Omega;</mi><mo>&CenterDot;</mo></mover><mn>3</mn></msub><msub><mi>&beta;</mi><mn>3</mn></msub><mo>+</mo><msub><mi>I</mi><mi>ws</mi></msub><msub><mi>&Omega;</mi><mn>3</mn></msub><msub><mover><mi>&beta;</mi><mo>&CenterDot;</mo></mover><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000024.GIF" wi="1529" he="243" /></maths>其中,<img file="FDA0000589188390000025.GIF" wi="177" he="62" />和<img file="FDA0000589188390000026.GIF" wi="63" he="62" />为卫星三轴姿态角速度的微分;<img file="FDA0000589188390000027.GIF" wi="196" he="72" />和<img file="FDA0000589188390000028.GIF" wi="80" he="72" />分别为磁悬浮飞轮w<sub>1</sub>,w<sub>2</sub>和w<sub>3</sub>自转角速度的微分;<img file="FDA0000589188390000031.GIF" wi="54" he="62" />和<img file="FDA0000589188390000032.GIF" wi="54" he="72" />为磁悬浮飞轮w<sub>1</sub>转子径向偏移量的微分;<img file="FDA0000589188390000033.GIF" wi="58" he="62" />和<img file="FDA0000589188390000034.GIF" wi="60" he="73" />为磁悬浮飞轮w<sub>2</sub>转子径向偏移量的微分;<img file="FDA0000589188390000035.GIF" wi="57" he="62" />和<img file="FDA0000589188390000036.GIF" wi="61" he="73" />为磁悬浮飞轮w<sub>3</sub>转子径向偏移量的微分;⑤基于步骤①建立卫星姿态运动学模型;<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>&omega;</mi><mo>=</mo><mi>R</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>)</mo></mrow><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mo>-</mo><msub><mi>&omega;</mi><mi>c</mi></msub><mrow><mo>(</mo><mi>&theta;</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000037.GIF" wi="1082" he="68" /></maths>其中,θ=(θ<sub>1</sub>,θ<sub>2</sub>,θ<sub>3</sub>)<sup>T</sup>为卫星三轴欧拉姿态角向量,<img file="FDA00005891883900000312.GIF" wi="45" he="61" />为欧拉姿态角的微分,R(θ)和ω<sub>c</sub>(θ)分别表示为:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mi>R</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>sin</mi><msub><mi>&theta;</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>cos</mi><msub><mi>&theta;</mi><mn>1</mn></msub></mtd><mtd><mi>sin</mi><msub><mi>&theta;</mi><mn>1</mn></msub><mi>cos</mi><msub><mi>&theta;</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>-</mo><mi>sin</mi><msub><mi>&theta;</mi><mn>1</mn></msub></mtd><mtd><mi>cos</mi><msub><mi>&theta;</mi><mn>1</mn></msub><mi>cos</mi><msub><mi>&theta;</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000038.GIF" wi="1256" he="215" /></maths><maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><mi>&omega;</mi><mi>c</mi></msub><mrow><mo>(</mo><mi>&theta;</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>&omega;</mi><mi>o</mi></msub><mfenced open='[' close=']' separators=''><mtable><mtr><mtd><mi>cos</mi><msub><mi>&theta;</mi><mn>2</mn></msub><mi>sin</mi><msub><mi>&theta;</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mi>cos</mi><msub><mi>&theta;</mi><mn>1</mn></msub><mi>cos</mi><msub><mi>&theta;</mi><mn>3</mn></msub><mo>+</mo><mi>sin</mi><msub><mi>&theta;</mi><mn>1</mn></msub><mi>sin</mi><msub><mi>&theta;</mi><mn>2</mn></msub><mi>sin</mi><msub><mi>&theta;</mi><mn>3</mn></msub></mtd></mtr><mtr><mtd><mo>-</mo><mi>sin</mi><msub><mi>&theta;</mi><mn>1</mn></msub><mi>cos</mi><msub><mi>&theta;</mi><mn>3</mn></msub><mo>+</mo><mi>cos</mi><msub><mi>&theta;</mi><mn>1</mn></msub><mi>sin</mi><msub><mi>&theta;</mi><mn>2</mn></msub><mi>sin</mi><msub><mi>&theta;</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000589188390000039.GIF" wi="1374" he="216" /></maths>其中,ω<sub>o</sub>为轨道角速度;⑥基于步骤④和步骤⑤所建立的基于三轴正交安装磁悬浮飞轮群的卫星动力学和运动学模型,设计姿态模糊控制器;模糊规则为:如果x是A<sub>m</sub>,并且y是B<sub>p</sub>,那么z是C<sub>q</sub>;其中,x和y是模糊控制器输入变量,x为卫星姿态误差e<sub>θ</sub>通过比例因子k<sub>e</sub>转换限制在[‑1,1]范围内,y为姿态误差的微分<img file="FDA00005891883900000310.GIF" wi="51" he="62" />通过比例因子<img file="FDA00005891883900000311.GIF" wi="52" he="63" />转换限制在[‑1,1]范围内;z是模糊控制器输出变量,通过比例因子k<sub>u</sub>转换为真实输出值;A<sub>m</sub>是输入变量x的模糊集语言变量,采用七种语言变量组成,包括NL(负大),NM(负中),NS(负小),O(零),PS(正小),PM(正中),PL(正大);B<sub>p</sub>是输入变量y的模糊集语言变量,采用五种语言变量组成,包括NL(负大),NS(负小),O(零),PS(正小),PL(正大);C<sub>q</sub>为输出变量z的模糊集语言变量,采用七种语言变量组成,包括NL(负大),NM(负中),NS(负小),O(零),PS(正小),PM(正中),PL(正大);模糊连接词“并且”根据模糊理论中代数积定义;设计控制系统性能目标函数为:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mi>J</mi><mo>=</mo><msubsup><mo>&Integral;</mo><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>t</mi><mo>=</mo><msub><mi>t</mi><mi>final</mi></msub></mrow></msubsup><mrow><mo>(</mo><mo>|</mo><msub><mi>e</mi><mi>&theta;</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msub><mi>e</mi><mi>&omega;</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>)</mo></mrow><mi>dt</mi></mrow>]]></math><img file="FDA0000589188390000041.GIF" wi="582" he="99" /></maths>其中,e<sub>ω</sub>为卫星姿态角速度的误差,t<sub>final</sub>为总时间;⑦基于步骤⑥所设计的姿态模糊控制器采用改进的粒子群优化算法进行控制器参数优化设计,最终得到所有参数最优选取和最佳组合的姿态模糊控制器,进行基于磁悬浮飞轮群的卫星姿态控制,以实现卫星姿态高精度高稳定度控制性能;所述步骤⑦中采用改进的粒子群优化算法,具体步骤为:(71)初始化;(71.1)将姿态模糊控制器中所有参数设为解向量s<sub>0</sub>,初始化参数解向量s<sub>0</sub>;所述所有参数包括隶属度函数,模糊规则,和比例因子;(71.2)初始化N个粒子,通过随机扰动初始向量s<sub>0</sub>为:s<sub>i</sub>=s<sub>0</sub>+λ·rand,i=1,2,...,n其中s<sub>i</sub>表示第i个粒子,rand为随机向量,其元素为平均分布在[0,1]间的随机数,λ是限制随机数取值范围的常系数;(71.3)为优化算法确定其他参数,包括Boltzmann参数β,总循环次数iter,以及粒子数N;(72)评价粒子;(72.1)基于目标函数评价每个粒子的适应度函数值,其中第t次重复中第i个粒子的适应度函数值记为f<sub>t</sub>(s<sub>i</sub>);(72.2)基于适应度函数值求出每个粒子权重为:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msub><mi>w</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msup><mi>e</mi><mrow><mo>-</mo><mfrac><mrow><msub><mi>f</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mi>&beta;t</mi></mfrac></mrow></msup></mrow>]]></math><img file="FDA0000589188390000051.GIF" wi="306" he="121" /></maths>其中,w<sub>t</sub>(s<sub>i</sub>)表示第t次重复中第i个粒子权重,<img file="FDA0000589188390000052.GIF" wi="142" he="115" />表示关于<img file="FDA0000589188390000053.GIF" wi="131" he="100" />的指数函数;(72.3)基于(72.2)评价每个粒子对整体群的贡献率为:<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msub><mi>&epsiv;</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>w</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>max</mi><mo>[</mo><msub><mi>w</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>w</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>w</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>N</mi></msub><mo>)</mo></mrow><mo>]</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000589188390000054.GIF" wi="851" he="156" /></maths>其中,ε<sub>t</sub>(s<sub>i</sub>)表示第t次重复中第i个粒子对整体群的贡献,max[w<sub>t</sub>(s<sub>1</sub>),w<sub>t</sub>(s<sub>2</sub>),...,w<sub>t</sub>(s<sub>N</sub>)]表示w<sub>t</sub>(s<sub>1</sub>),w<sub>t</sub>(s<sub>2</sub>),...,w<sub>t</sub>(s<sub>N</sub>)中的最大值;(73)选择精英粒子;(73.1)随机生成一组随机数,每个随机数元素在[0,1]之间,每个元素表示为r<sub>t</sub>(s<sub>i</sub>),表示第t次重复中第i个粒子位置上所对应的随机数;如果ε<sub>t</sub>(s<sub>i</sub>)≥r<sub>t</sub>(s<sub>i</sub>),保留这个粒子,否则放弃这个粒子;首先选择M个粒子,M≤N;(73.2)继续选择粒子;更新粒子的贡献率为:δ<sub>t</sub>(s<sub>i</sub>)=ε<sub>t</sub>(s<sub>1</sub>)+ε<sub>t</sub>(s<sub>2</sub>)+…+ε<sub>t</sub>(s<sub>i</sub>)其中,δ<sub>t</sub>(s<sub>i</sub>)为第t次重复中第i个粒子更新后的贡献率;对每个粒子对应的随机数也进行相应更新为:rr<sub>t</sub>(s<sub>i</sub>)=r<sub>t</sub>(s1)+r<sub>t</sub>(s2)+…+r<sub>t</sub>(s<sub>i</sub>)如果δ<sub>t</sub>(s<sub>i</sub>)≥rr<sub>t</sub>(s<sub>i</sub>),保留这个位置上对应的原粒子,否则放弃这个位置上的粒子;(73.3)重复(73.2)直到选到N个精英粒子,保证整体群中粒子总数不变;(74)更新粒子群;(74.1)基于步骤(73.2)中所选择的精英粒子组成的粒子群,更新粒子群为:s<sup>(t+1)</sup>=s<sup>(t)</sup>+ζ.rand其中,s<sup>(t)</sup>为第t次重复中所保留的粒子群,s<sup>(t+1)</sup>是t+1次重复中的新粒子群,rand为随机向量,其元素为平均分布在[0,1]间的随机数,ζ是限制随机数取值范围的常系数;(74.2)当t达到最大重复数,进入步骤(75),否则,令t=t+1返回步骤(72)重复整个过程;(75)输出最终解;(75.1)整个优化过程结束后,基于最终获得的粒子群,采用加权平均法得到最优解向量为:<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><msub><mi>s</mi><mi>final</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>s</mi><mi>i</mi></msub><msub><mi>f</mi><mi>iter</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>f</mi><mi>iter</mi></msub><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000589188390000061.GIF" wi="410" he="276" /></maths>其中,s<sub>i</sub>表示最终的粒子群s<sup>(iter)</sup>中的每个粒子,f<sub>iter</sub>(s<sub>i</sub>)为第iter次重复中每个粒子的适应度函数值;最优解向量s<sub>final</sub>,其元素包含了姿态模糊控制器所有参数,最优解向量也即姿态模糊控制器所有参数的最优选取和最佳组合,使得控制系统性能目标函数值最小,也即此姿态模糊控制器在进行卫星姿态控制时控制性能最优。
地址 100191 北京市海淀区学院路37号