空间太阳能阵列光照的建模仿真及优化

2020-03-13 08:32刘宇哲张新宇杨自鹏
宇航学报 2020年2期
关键词:遗传算法光照飞行器

刘宇哲,张 群,杨 勇,张新宇,杨自鹏

(北京宇航系统工程研究所,北京 100076)

0 引 言

随着航天事业的快速发展,在轨空间飞行器的数量与日俱增[1]。与此同时在轨受损的飞行器也越来越多,空间救援飞行器应运而生,其主要用途是在轨拯救或者维护受损的飞行器,在完成一个救援任务后需在轨等待下一个救援任务。此时为了维持在轨运行的最低能量,空间救援飞行器会采取无控飞行模式,并采用通过太阳能阵列电池片吸收太阳光能源的方式来获取在轨能量。

为了获得有效光照面积和能量,一般有两种安装太阳能阵列的方式[2]。第一种是在驱动机构上安装太阳能阵列,通过驱动机构的相应关节,使得机构终端带动太阳能阵列始终保持面向太阳[3-4]。第二种是将太阳能阵列固定在空间飞行器上,这样在空间飞行器在轨飞行期间,太阳能阵列上只有部分面积会接收到光线[2,5]。为降低成本和考虑等待救援任务期间的能源需求较少,不需要采用第一种复杂的使用驱动机构的方式,而是采用第二种安装固定翼太阳能阵列的方式,这样降低了成本也简化了飞行器的结构。但使用固定翼的太阳能阵列的问题在于无控飞行期间,可能受到来自任意方向的太阳光线照射,任意时刻下获取的有效辐照面积是否够用需要进一步深入探讨。

通过文献调研了解到,众多学者都曾对空间太阳能辐照面积进行过深入研究。靳旭红等[6]利用蒙特卡罗法对航天器投影面积进行了数值仿真研究;曹建明等[7]面向太阳模拟器设计需要,考察了空间太阳电池阵列的有效辐照面积;黄海兵等[8]、李文等[9]和黄岸毅等[10]研究了特定遮挡阴影对太阳能阵列有效辐照面积的影响;刘暾等[11]针对太阳光压力矩计算的问题,研究了卫星本体阴影对太阳阵列的辐照面积影响;陈忠贵等[12]建立了基于单自由度太阳光入射角的光照模型并进行了仿真研究。文献调研可以发现,目前进行的太阳能阵列辐照面积研究中,各个学者都只是分别单一地涉及了有效面积的数值计算、遮挡阴影的影响和单自由度太阳光入射角的研究,而欠缺全面、综合性的研究。本文则在建立考虑遮挡阴影影响的有效面积计算模型的同时,还建立了更全面的两自由度太阳光入射角的光照模型。更进一步地,本文为了获得更大有效辐照面积,基于已建立的模型,利用智能优化算法进行了太阳能阵列结构布局优化研究。

在航天工程领域,遗传算法已被证明是一种有效的智能优化算法,如在航天机加工车间调度优化[13]、有限推力轨道拦截优化[14]等问题中都已被成功应用。此外,在结构布局的工程优化问题中[15-16],遗传算法也被证明是一种快速收敛和全局优化较强的智能优化算法。因此,本文选择使用遗传算法优化太阳能阵列布局。

本文以空间救援飞行器无控在轨飞行为研究背景,基于空间几何建模基础理论,分别建立了参数化驱动的空间飞行器外形几何模型、任意角度下的光线投射模型和考虑自身结构遮挡状态下的光照模型。通过可视化仿真,校验了模型的有效性。进一步地,基于光照模型,利用遗传算法,对影响太阳能阵列布局的三个关键参数进行优化,确保了空间飞行器在任意光照角度下都能获得足够的有效光照面积。

1 数值建模

1.1 结构外形模型

空间救援飞行器外形如图1所示,由太阳能阵列1、太阳能阵列2、…、太阳能阵列8、舱段9、舱段10和舱段11组成。本节首先建立太阳能阵列的几何模型,再建立各舱段的几何模型。

图1 飞行器的外形图

为了获得太阳能阵列的空间几何信息,首先在坐标系平面原点对阵列进行几何建模。对于一块长为l、宽为d的太阳能阵列,可以给出单个阵列的四个顶点在X-Y平面上的矢量:p1i,p2i,p3i和p4i。为了后续判定光照方向与阵列贴有电池片一侧的相对方向,在此定义贴有电池片一侧的平面法向单位矢量为:

(1)

式中:p1i-2i代表由p1i指向p2i的矢量,p3i-4i代表由p3i指向p4i的矢量,nvec,i代表该太阳能电池片所在平面的法向矢量,函数fnorm代表求取矢量的模。

图2 太阳能阵列的安装姿态角度

图3 太阳能阵列布局角度

由图1可知,阵列上、下两两为一组,以一定角度均布在空间飞行器的四周,此时认为影响阵列布局的参数仅有θ1、θ2和α,其定义方式如图2和图3所示。θ1和θ2分别代表分布于Z向上、下(即奇数编号和偶数编号)的太阳能阵列以一定的姿态角安装在空间飞行器上,且定义为绕Y向旋转的角度。α代表两两为一组的太阳能阵列对称分布于空间飞行器外表面四周,且定义为绕Z向旋转的角度。太阳能阵列相对于空间飞行器本体除了有姿态变化外,还有位置变化。位置变化参数可定义为Hup和Hdown。

基于太阳能阵列的姿态和位置参数,8块太阳能阵列在空间中的几何模型由各阵列的四个顶点表达为:

(2)

式中:RZ矩阵代表绕Z向旋转α角度的选择矩阵。

如图4所示,对于遮挡物包络,根据遮挡物的外形特点,以及外形约束的原则,可以判断圆柱面形状的舱段10和半椭球面的舱段11会对光线投射到阵列上产生影响,而舱段9与阵列的非受光面同处一侧不会影响阵列接收光线,因此将遮挡物的包络视为一个圆柱面和一个半椭球面,利用Matlab的cylinder函数和ellipsoid函数绘制圆柱面和椭圆面。

图4 结构几何外形建模

1.2 光线投射模型

光照模型中光线的入射角是循序变化的,而飞行器本体的位置是不变的。因此,本体模型直接使用第1.1节中建立的模型,仅需对光线的模型进行建模。对于空间光线而言,其从遥远的太空射入,可以认为是平行光且没有起始点,只需要考虑入射姿态角,因此只需要对光线的空间入射姿态角进行描述即可。本文采用倾斜扭转角(Tilt-and-Torsion,TT)角进行描述,其物理旋转过程是:先绕原坐标系的Z轴转动φ角,接着绕新坐标系的Y轴转动θ角,再绕新坐标系的Z轴转动-φ角,最后绕新坐标系的Z轴转动ψ角。对于光线而言,其没有绕光线本身的自旋转姿态,因此描述光线方位的TT角仅需φ角和θ角。

根据某一方位下的入射光线建立该光线下的投影坐标系:

(3)

式中:s代表太阳光线的单位方向矢量,φ角和θ角共同定义一个太阳光线入射方位;RTT表示TT角的旋转矩阵。

根据直角坐标系的建立原理可得:

sx×sy=s

(4)

fnorm(sy)=1

(5)

fnorm(sx)=1

(6)

sx·sy=0

(7)

式中:sx和sy分别代表构建垂直于s坐标系的基坐标。

基于该坐标系下的光线矩阵G1的数学模型可以表达为:

(8)

式中:i,j,k分别代表太阳光线坐标系下的坐标值,而i1,i2,j1,j2,k1,k2分别代表各坐标系的取值范围。

光照模型中另一重要任务是离散光线。为了获得均衡的离散光线,在sx和sy形成的平面离散光线形成单根光源,该平面称为光源平面。在数值模型中,以t为步长离散光源平面,当t足够小,离散的光线数量足够多的时候,可以认为单根光线投射到太阳能阵列上代表的面积为:

(9)

式中:t代表数值离散中的步距。

1.3 光照模型

当太阳光线向太阳能阵列投射时,只需要检测单块四边形阵列上四个顶点所形成的区域就可以判定哪些光线被阵列接收,为有效光,哪些没有被阵列接收,为无效光。在进行检测程序之前,需要先将阵列顶点的坐标转换到太阳光线的坐标系下进行描述:

(10)

如图5所示,部分光线会投射到阵列上形成有效光线,而大部分的光线是没有投射到阵列上的,会成为无效光线。有效光线矩阵G2判定的方法可以直接调用Matlab中的函数finpo,即:

G2=finpo(G1,Pin-sun,i)

(11)

函数finpo表达的意义是将G1中离散出来的每根光线与每一块太阳能阵列上四个顶点的数值进行判定,若为真,则该G1中的光线会被写入G2中,同时标记被照射到的太阳能阵列。

图5 光线的投射模型

如图6所示,由于并不是任意方向投射到太阳能阵列上的光线都能被接收,考虑太阳能阵列的入射角要求,模型中通过求取太阳能阵列法向矢量nvec,i与太阳光线的方向矢量s之间的夹角关系,来判定光线在无遮挡情况下是否被接收,其判定表达式为:

(12)

图6 有效光判定的方法

遮挡情况下的完整光照模型中最重要的一项工作是判断投射光线是否被遮挡。若被遮挡,则该光线将在光线矩阵G2中予以删除。如图7所示,判断光线是否被遮挡的方法是,分别求出光线与太阳能阵列的交点、光线与圆柱面遮挡物的交点、光线与椭圆面遮挡物的交点,然后将三个交点坐标投影到太阳光线的轴向方向矢量上,通过比较轴向坐标h1,h2和h3大小来判定该光线是否被遮挡,数值越大,则表明交点较高,是光线首先投影的位置。

图7 光线被遮挡的判定方法

已知光线上一点及其方向矢量(即太阳光线的方向矢量),可以得到任意光线的空间直线方程,写为:

(13)

式中:a,b,c,n1,n2,n3,k表示空间直线方程的相应参数。

已知太阳能阵列上四个顶点的坐标,可以得到对应太阳能阵列的空间平面方程,写为:

Ax+By+Cz+D=0

(14)

式中:A,B,C,D表示空间平面方程的相应参数。

进一步根据太阳能阵列的平面方程和太阳光线的直线方程,可以求解出太阳光线与太阳能阵列的交点坐标,令其为pin,再转换到太阳光线的方向矢量上,则有:

h1=pin·s

(15)

类似地,可以得到圆柱面遮挡物的空间曲面方程为:

(16)

根据圆柱面遮挡物的曲面方程与太阳光线的空间直线方程,则可以求解出交点坐标,令其为pcyl,再转换到太阳光线的方向矢量上,则有:

h2=pcyl·s

(17)

类似地,可以得到半椭圆面遮挡物的空间曲面方程为:

(18)

根据半椭圆面遮挡物的曲面方程与太阳光线的空间直线方程,则可以求解出交点坐标,令其为pell,再转换到太阳光线的方向矢量上,则有:

h3=pell·s

(19)

基于上述方法求得轴向坐标,就可以判定光线是否被遮挡。进一步遍历光线矩阵G2后,就可以得到不同光照下,阵列接收的光线矩阵G3,即投影在太阳光线方向上数值较大的物体首先接收到太阳光,则其他物体接收不到太阳光:

G3=max{h1(G2),h2(G2),h3(G2)}

(20)

最后,计算G3中的数量,就可以得到被太阳能阵列接收到的光线数量,再乘以上述分析的单根光线投射到太阳能阵列上代表的面积,则得到任意光照角度下,太阳能阵列接收到的光照面积。

2 优化方法

本节基于上述建立的太阳能阵列光照模型,利用遗传算法,优化影响太阳能阵列布局的三个关键参数θ1,θ2和α。

2.1 算法参数

本文中涉及的遗传算法参数包括种群规模M、个体基因长度L、进化次数(即迭代次数)G,交叉率Pc和变异率Pm。

种群规模M:表示在每一次进化(迭代)中,会有M个优化参数组合参与到进化中。

个体基因长度L:表示每个个体被编辑的基因的长度。由于本文中涉及三个优化参数,则每一个优化参数由L/3长度的基因信息表示。

进化次数G:表示进化次数。多次迭代后,最优结果稳定,即可认为进化次数是足够的。

交叉率Pc:表示基因以Pc的概率被选择出来进行交叉操作。一般来说这个参数可以选择大一点,使得较好的基因能够快速显现出来。

变异率Pm:表示基因以Pm的概率被选择出来进行变异操作。一般来说这个参数会小一些,因为变异不知道会使得个体变好还是变坏,但是一定的基因变异率可以加快找到最优解。

2.2 优化步骤

如图8所示,太阳围绕空间飞行器光照姿态可以分解为方位角和俯仰角。飞行器在太空中飞行时可能受到来自任何方向的太阳光照,即太阳能阵列在任何时候都有可能受到来自各个方向的太阳光照。

图8 太阳光照的轨迹

本节选取三种典型太阳光照轨迹T1,T2和T3作为全向光照示例进行分析,分别为:

方位角为0°,俯仰角为0~360°:

T1=s,φ∈[0°,360°]且θ=0°

(21)

方位角为45°,俯仰角为0~360°:

T2=s,φ∈[0°,360°]且θ=45°

(22)

方位角为90°,俯仰角为0~360°:

T3=s,φ∈[0°,360°]且θ=90°

(23)

如图9所示,优化步骤为:

图9 遗传算法优化步骤

基因编码。将n组需要优化的参数进行二进制编码,并组合为一个种群E=[e1,e2,e3,…,en]T,其中每一个个体ei代表一组[θ1,θ2,α]的二进制编码。根据空间飞行器外形的约束,设定θ1的变化范围为[50°,80°],θ2的变化范围为[110°,150°],α的变化范围为[30°,60°]。

种群1。在初始设定中,设定种群数量为n=15,随机设定初始种群的基因编码E。

评价种群的适应性。将种群E=[e1,e2,e3,…,en]T中每一个个体ei解码出来,基于第1节中建立的模型,获得每一个ei对应的三种典型太阳光照轨迹下的投影最小面积si,得到适应性评价指标S=[s1,s2,s3,…,sn]T。

遗传操作。基于得到适应性评价指标S=[s1,s2,s3,…,sn]T,以从小到大的顺序重新判定种群E中个体的位置,将适应性值较高的个体放置在种群E的前面,将适应性值较低的个体放置在种群E的尾部,并对其中一部分进行复制、交叉和变异。

种群2。基于进化操作后,得到新的种群E。同时将评价指标S=[s1,s2,s3,…,sn]T中最大的数值作为种群2的进化标记。

当在进化次数达到指定数值后,通过判定进化标记稳定,来判断优化结果的好坏。即当在进化后期,进化标记不变,则可以认为继续进化下去也不会得到更好的结果,可以停止进化,选定该结果为优化结果。反之,当在进化后期,进化标记还不稳定,则认为需要适当增加进化次数,或者改进算法其他参数使得在进化后期的优化结果稳定。

3 仿真校验及优化结果

3.1 可视化仿真校验

基于以上建立的数学模型,在Matlab软件中编制相应的可视化仿真程序,以校验模型和程序的有效性。本算例中,结构布局参数θ1=50°、θ2=120°和α=40°,每块阵列的长l=0.8 m、宽d=0.5 m,同时设定太阳光线的方位角φ=45°和俯仰角θ=45°,如图10所示,给出含有结构几何外形的光照模型可视化仿真结果。从图10可以看出,可视化仿真结果与预设的光线照射角度一致,校验了可视化模型的有效性。进一步基于可视化仿真模型,校验遮挡条件下光照模型的有效性。设定太阳光线的方位角φ=90°和俯仰角θ=173°,求解分析所有光线的光照效果。如图11所示,是该光照角度下,阵列接收光线的仿真情况。可视化仿真结果显示,光源平面完全覆盖了太阳光投射的整个空间飞行器轮廓区域,部分光线能够照射到太阳能阵列上,成为有效光线,而有的光线由于空间飞行器底部遮挡物的存在,没有能够照射到太阳能阵列上,成为无效光线,如图11中虚线部分表示。因此可知,太阳能阵列接收光线的可视化仿真结果与真实情况一致,校验了模型的有效性。

图10 光照模型的可视化仿真

图11 接收光线的情况(视角为沿着光线的方向)

3.2 优化结果

如表1所示,设置遗传算法的参数值。在三种典型太阳光照轨迹下,太阳能阵列接收到的照射面积是变化的,本文以三条轨迹下阵列接收到的最小照射面积作为优化目标进行阵列布局优化,即反映了光照最恶劣的状态。遗传算法的优化过程见图12,可以看到大概在进化20次后,种群中的个体无论怎么进化,最优结果已经不再变化了,根据遗传算法原理特性,此时可以认为找到了最优解。最优解对应的太阳能阵列布局角度的参数θ1=55.6250°、θ2=125.3125°和α=45.6406°,对应的最小辐照面积为0.6295 m2,满足任务要求。

表1 遗传算法参数

图12 基于遗传算法的优化结果

4 结 论

为研究空间太阳能阵列吸收有效光照面积的大小,本文分别建立了空间救援飞行器的结构外形几何模型、太阳光光线的投射模型和含有遮挡物的光照模型。利用将任意姿态下的照射光线与飞行器各部件的接触点转换到太阳光线坐标系的方法,对辐照的光线进行筛选,从而获得了投射到阵列上的有效光线数量,进而计算得到阵列的光照面积。进一步地,利用全局优化性能较好的遗传算法,以三种典型太阳光照轨迹下阵列接收到的最小光照面积作为优化目标,对影响太阳能阵列布局的关键参数θ1,θ2和α进行优化。优化结果显示,当参数θ1=55.6250°、θ2=125.3125°和α=45.6406°时,对应的最小照射面积为0.6295 m2,即空间飞行器以任意姿态在空间中飞行的时候,其最少能获得的面积为0.6295 m2的辐照能量,满足任务要求。

本文所建立的仿真模型和优化方法,具备可视化仿真功能,便于校验模型的有效性以及观测任意角度下的光照状态;同时,优化方法可拓展性强,可根据需求进一步对更多参数进行优化,如单块阵列的长和宽、涉及太阳能阵列布局的其他角度等。

猜你喜欢
遗传算法光照飞行器
肉种鸡的光照不应性对养殖生产的不良影响分析
基于改进遗传算法的航空集装箱装载优化
高超声速飞行器
基于改进遗传算法的航空集装箱装载问题研究
基于遗传算法的高精度事故重建与损伤分析
基于支持向量机的飞行器多余物信号识别
隐蔽的力量
物流配送车辆路径的免疫遗传算法探讨
水禽舍的光照及其控制
神秘的飞行器