您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > STK轨道机动模块(Astrogator)介绍
STK轨道机动模块(Astrogator)介绍李云飞(blitheli@gmail.com)南京大学天文系/上海航天技术研究院STK模块中,轨道机动模块Astrogator昀为常用了,尤其对于轨道设计任务,本模块是必不可少的。本文依据STK帮助文档中的说明,简要的阐述Astrogator模块的使用,以便给读者一个大概的印象和简单的引导;详细,具体以及更深入的使用还是请读者参阅英文的帮助文档。笔者使用的是STK8.1版本。1前言当往场景中添加卫星对象后,在卫星的属性页(PropertiesBrowser)中,Basic/Orbit中的Propagator下拉菜单中选择Astrogator即可出现如下界面。图表1Astrogator属性页面见图表1,此界面用来定义卫星进行一系列轨道机动,称为任务控制序列MCS(MissionControlSequence)。通常我们设计一颗卫星进行一系列的轨道机动都是一段一段动作连接而成的。例如,首先给定卫星的初始状态(轨道根数,卫星的结构和推进剂质量等),然后在地球J2,J4项引力模型下无动力的运动一段时间(也可设定一定的结束条件,如运行到远地点时),接着发动机进行一定时间的点火(可定义发动机的推力,比冲以及推力的矢量方向等),昀后再在地球J2项引力模型下无动力运行一定的时间。诸如上述的问题,在STK/AstrogatorMCS中可以分成四段,分别为初始状态段(InitialState),轨道外推段(Propagate),发动机工作段(Maveuver)以及再次的轨道外推段。上述段数按照顺序排列,STK每计算完一段后,保存各种状态量,并作为下一段的初始值,接着计算下一段,直至结束。目前STK8.1有13种段数可供选择,都在MCS中定义,其各工具按钮的定义见图表2。在进行某颗卫星的轨道机动任务设计时,点击“插入新的段(InsertSegment)”按钮插入新的段,并按照自己设定的任务顺序不断的插入新段,点击相应的段,则会在右侧出现该段的具体属性设置选项。假设所有段的属性设置选项都已经设置好,则点击“运行整个任务段”按钮,STK就会按照顺序计算所有的段。至此,此卫星的轨道计算完成。在MCS界面的下方的按钮“Results…”,是用来设定某一具体段的“计算目标(calculationobjects)”的。比如,选中某一轨道外推段,然后点击“Results”,在出现页面中选中某一计算目标(假如为轨道偏心率),则意味着在此段结束时,会计算轨道偏心率。此选项的主要作用后面会提及到。下面介绍各段的功能及其属性设置选项的定义。图表2MCS各工具按钮的说明2段(Segment)的说明点击“插入新的段(InsertSegment)”按钮这会出现“SegmentSelection”页面,此页面有12种段,还有一种段,称为“自动序列(AutomaticSequence)”,是在MCS界面中的“自动序列浏览器”中设置的。2.1初始状态段(InitialState)此段用来设置卫星的初始状态量,通常在整个任务序列中首位。在其右侧的属性页面中,选择不同的坐标系(Coord.System)以及轨道参数类型(Coordinatetype)可设定某一历元时刻的初始状态。也可用下方的“InitialStateTool…”选项按钮来设定初始状态,它可以从文件中读取某一初始状态(当然也可把当前的初始轨道参数存储起来)。点击“SatelliteProperties…”按钮可设定卫星初始的质量状况,如推进剂质量,结构质量等。2.2轨道外推段(Propagate)此段用来将卫星的轨道按照选定的力模型进行轨道外推计算(与HPOP类似)。在其右侧的属性页面中,“Propagator”按钮用来选择卫星进行轨道外推计算的力模型,在力模型的选择页面中,也可选择自己定义的力模型,见“轨道机动组件浏览器(AstrogatorComponentBrowser)”部分的说明。另外一个比较重要的选项就是卫星轨道外推的停止条件“StoppingConditions”。点击“Insert…”按钮可添加多个停止条件。实际运行计算时,当其中任一停止条件满足时就执行相应的停止条件对应的序列(Sequence),见图表3。STK提供的默认停止条件通常为:轨道外推计算一定时间,轨道到达远地点,某一历元时刻停止等等,也可由“轨道机动组件浏览器”来设定自己的停止条件。选中特定的停止条件文件,则在下方的菜单里出现对应的选项。需要值得注意的是,对应不同的停止条件文件,有的按钮为灰色的,即对当前的停止条件文件不可用。下面简要解释一部分按钮的作用。1)“Sequence”:点击此按钮选择相应的自动序列(见“自动序列”说明),当停止条件满足时,会执行此自动序列,系统默认为“STOP”,即此轨道外推段停止,进行下一段的计算。若想某一停止条件满足时执行另一系列的机动任务,则可点击此按钮选择自己设定的某一“自动序列(见其说明)”。但执行完自己设定的“自动序列”后,STK并不退出此轨道外推段,会继续进行轨道外推计算,直到某一停止条件满足,然后再执行那个停止条件对应的“自动序列”。因此要此轨道外推段停止并转入下一段的计算,则必须保证某一停止条件文件对应的“Sequence”中的自动序列为“STOP”或者其自动序列内部含有“STOP”。图表3轨道外推段的停止条件2)“UserCalcObject”:用户自定义计算目标;此按钮通常用于用户自定义停止条件。例如,设定某一停止条件为卫星的地心纬度为60度:首先点击“Insert”按钮选择“UserSelect”,然后点击此“UserCalcObject”按钮,在打开的“UserCalculatedObjectselection”中选择“Geodetic”下的“Latitude”,然后在“Trip”栏目中设定为60度,见图表3。3)“Constraints”:约束条件。对应停止条件的约束条件,也即当某一停止条件满足时,必须先满足其对应的约束条件。约束条件的用户自定义可通过“轨道机动组件浏览器”来设定。4)“ConditionInheritedbyAutomaticSequences”:但此选项被选中时,这意味着此停止条件在此轨道外推段中的所有停止条件对应的“自动序列”中都有效。比如,当另一停止条件满足时,并且进入其对应的自动序列,在自动序列的计算过程中,如果本停止条件满足,则会立刻跳转到此停止条件对应的“自动序列”。2.3发动机工作段“Maneuver”此段用来设定发动机点火进行轨道机动的。通过下拉菜单有两种模型可选,一种为“瞬时冲量模型(Impulsive)”,另一种为“有限推力模型(Finite)”。选择不同的发动机模型,则其对应的菜单栏设定不同。1)“瞬时冲量模型(Impulsive)”:此模型根据设定速度增加的方向(“Attitude”选项中设定),给卫星某一速度增加矢量,此过程为瞬时的,即认为发动机点火时间为0;同时在发动机(“Engine”)选项中设定相应的发动机模型(可通过“轨道机动组件浏览器”自定义发动机,如推力,比冲等),若选中“UpdateMassBasedonFuelUsage”,则会根据发动机模型,由设定的速度增加大小计算燃料的消耗量。2)“有限推力模型(Finite)”:此模型会多了个“Propagator”选项,具体设置同“轨道外推段”设置。意味着在选定的轨道外推计算的力模型下,同时加上发动机的推力进行轨道外推计算。此段的停止条件同“轨道外推段”的停止条件。通常为轨道外推一定的时间,即发动机工作一定的时间就停止,随即转入下段的计算。3)“SeedFinitefromImpulsive”:通常我们在进行轨道机动时,首先由理论得知某一发动机的瞬时速度增加量,则我们可先通过瞬时冲量模型设定速度增加量,并设置好对应的发动机模型,然后点击此“SeedFinitefromImpulsive”按钮,则发动机模型会自动变成为有限推力模型,同时在停止条件的发动机点火时间处会自动出现理论上对应速度增量的发动机点火时间。这样我们就不用手动计算发动机点火的时间了。此功能会在后面的“目标序列”序列中非常有用,因为应用“微分改正法”进行的非线性方程的求解对自变量初值选取的要求比较高,而给定理论上的昀优值作为初值无疑是一个好的选择。2.4发射段“Launch”此段为模拟火箭发射段。给定地面上某一发射点,以及入轨点的参数,假设从地面垂直起飞,经过光滑的弹道飞行直到入轨点满足。由于发射点和入轨点参数都是在地固坐标系中给出的,因此此段通常用来模拟不同发射时刻和入轨参数对实际轨道任务的影响。2.5跟随段“Follow”此段设定卫星跟随另一个目标物体的。通过“Leader”按钮可选择场景中的另一个目标物体,通过选择跟随开始的时间和跟随结束的时间,在跟随过程中,卫星相对其“Leader”目标物体的体轴坐标系中保持相对的位置不变,在分离时刻,此卫星继承其跟随目标物体的轨道根数。此段经常用来设置从某一飞行器分离出去的子飞行器。在未分离前,子飞行器就可用“Follow”段,这样,在分离的时刻,我们就不用手动设置子飞行器的初始轨道根数了,而是直接继承分离时刻母飞行器的轨道根数。2.6保持段“Hold”此段设定卫星从某一时刻起相对选定的坐标系保持静止不动。与跟随段不同的是,此段是指卫星相对某一选定的坐标保持相对静止。也就是说,从保持段开始,首先计算此时卫星相对选定坐标系的位置(姿态也可保持不变),其后,此卫星就保持此相对位置不变。在跟随段中,无论之前段的轨道根数如何,一旦进入跟随段,则卫星的轨道根数立刻变得和被跟随目标物体的轨道根数一致,分离的瞬间卫星的轨道根数和被跟随目标物体的轨道根数一致;而在保持段中,一旦进入保持段,则卫星保持在初始时刻相对选定坐标系的位置不变,直至分离,分离时刻卫星的轨道根数通过选定的坐标系下的相对位置在分离时刻计算得到。2.7更新段“Update”此段用来更新卫星的燃料质量,结构质量等等。通常用于某一飞行器释放子飞行器,或者和另一飞行器对接后质量的变化情况。由于质量变化会引起发动机有限推力点火的时间,因此,此段通常是必不可少的。2.8序列段“Sequence”此段用来组织包含一系列的段,其包含的段可为任一段类型。在实际运行中,STK会按照序列段里的顺序计算里面的各段。我们可以设置整个序列段计算的次数,当次数设置大于1,实际上就形成了一个循环。循环结束后,可以选择将序列段的初始状态或者末状态传递到下一段。2.9反序列段“BackwardSequence”与序列段类似,此段用来包含一系列的段,实际运行时,按照其内部段的顺序挨个执行。唯一不同的是,在运行每一段的过程中,都是按照时间相反的方向进行。例如,对于发动机工作段,若设定的速度增加量,则实际运行为速度减少量;对于轨道外推段,会反向积分卫星的轨道。“发射段”不可用,“初始状态段”和“更新状态段”保持原来的含义。此段通常用来设计当已知某一状态,来反推之前的状态或者一系列的轨道机动。2.10目标序列段此段有些类似“序列段”,其包含一系列的段。不同的是它可以根据设定的目标和自变量,利用微分改正法(DifferentialCorrection),自动调整设定的自变量的值,直至设定的约束量满足。对于轨道机动任务来说,目标序列段是昀重要的了。简要来说完成某一目标序列段遵循的顺序:首先,在目标序列段中按照卫星机动顺序添加各段,然后设定每段的属性参数;其次,选中目标序列段,在其右方会出现目标序列段的参数设置选项,点击“Profiles”中的“New”按钮添加目标文件(两种类型),见图表4右侧,可添加多个目标文件。当运行目标序列时,STK会按照目标文件的顺序一个一个的执行目标文件。当执行“搜索文件”时,会根据搜索文件中的设置,调整控制变量(自变量),直至约束量满足。当执行“段配置文件”时,会根据段配置文件中的设置改变相应段的设置。运行完所有的目标文件后,也就计算完成了目标序列中所有的段。图表4目标序列段2.10
本文标题:STK轨道机动模块(Astrogator)介绍
链接地址:https://www.777doc.com/doc-7267871 .html