陈占胜,杜 宁,王世耀,陈文晖,徐家国
(1.上海航天技术研究院,上海 201109;2.上海卫星工程研究所,上海 201109;3.上海航天控制技术研究所,上海 201109)
随着航天技术的快速发展,卫星姿态控制系统功能已由常规的稳定对地定向控制,逐步转为基于载荷对卫星平台需求的多种工作模式、多种目标指向控制。以对地观测小卫星为例,受整星重量约束,载荷往往不具备视轴摆动等机械驱动功能,因此,可借助卫星平台的姿态调整能力,并充分发挥载荷效能。为最大限度发挥载荷观测精度,在保证姿态指向和姿态稳定度的基础上,应具备光学载荷零偏流角和合成孔径雷达零多普勒高精度导引控制等功能;为最大限度发挥载荷观测效能,需进一步提升卫星姿态机动的敏捷性,并具备姿态规划能力,做到能够在有限的观测弧段内快速调整载荷视轴指向,以大幅增加载荷观测范围。
新技术试验卫星C 星、D 星由上海航天技术研究院研制,是为适应未来航天装备体系快速响应和网络互联的发展趋势而设计的。姿轨控分系统首次提出以最大功能包络统一设计双星软件及地面测试系统的研制方案,通过一个软件配置项实现双星功能,解决了双星研制周期短、工作模式复杂等问题。探索了基于操作系统的软件并行开发模式,首次开展基于动态链接库(Dynamic Link Library,DLL)的在轨编程设计,解决了使用国产操作系统带来的在轨编程、多线程(Multi-Thrading,MT)划分、优先级设计、共享内存交互、控制器局域网络(Controller Area Network,CAN)通信延迟等一系列问题。“条带拼接成像”和“动中成像”等模式兼顾偏流角跟踪控制,在保证载荷观测精度的同时,可大幅提升载荷对地观测的效能。
本文对姿轨控分系统设计进行了详细介绍,包括多目标凝视姿态基准通用化设计、成像模式姿态规划和基于操作系统的姿轨控应用软件架构设计等,并给出两星在轨验证情况。
新技术试验卫星C 星、D 星质量约390 kg,运行在500 km 高度的倾斜圆轨道。姿轨控分系统测量单机包括1 台光纤陀螺组合、2 台微型星敏感器、2台0-1 式太阳敏感器、1 台模拟式太阳敏感器和1 台三轴磁强计等;执行机构包括4 台反作用飞轮、3 台磁力矩器和5 台推力器。其中,4 台姿控推力器斜装,可同时控制卫星三轴姿态。
姿轨控分系统采用零动量飞轮控制方案,长期保持三轴对日定向姿态,根据程控指令进行姿态调整转入任务模式。C 星需具备对地定向及任意姿态偏置、Ku 天线对高轨星凝视等功能;D 星需具备相机偏流角跟踪、对地数传天线(或星间高速天线)对地面站凝视和星间高速天线(或对地数传天线)对簇内成员星凝视等功能。C 星、D 星要求三轴控制精度优于0.05°(3σ
),三轴测量精度优于0.01°(3σ
),三轴稳定度优于0.001(°)/s(3σ
);D 星绕任意空间轴姿态机动85°优于60 s。由于双星姿态控制模式较多,若应用常规设计方法需要建立多个姿态控制基准,当载荷和目标的数量较多时,姿态基准设计算法快速增加,导致程序流程分支较多并且代码复杂。因此,有必要研究姿态基准的通用设计方法,一个控制姿态基准适用于多目标指向任务,以提高系统开发和测试效率。此外,姿轨控应用软件与管理软件、星务软件共同运行在综合电子计算机内,基于“风云翼辉”国产操作系统并行开发与调试,相比于传统的系统软件开发模式,需重新进行应用软件架构设计和在轨编程方案设计。控制模式及转换如图1 所示。
图1 控制模式及转换Fig.1 Control modes and conversion
针对各载荷分别对高轨星、低轨星和地面站等目标凝视跟踪需求,新技术试验卫星C 星、D 星姿轨控分系统采用统一方法构建各目标凝视参考坐标系,控制卫星本体坐标系与参考坐标系平行,即可实现载荷视轴对目标凝视跟踪,如图2 所示。
图2 任意目标凝视跟踪Fig.2 Gaze tracking of an arbitrary target
设计各目标凝视参考坐标系时,除目标方向矢量外,还需选取另一空间矢量,该空间矢量须避免与目标矢量平行。对于地面目标矢量,空间物理关系决定卫星轨道面的法线不会与之接近平行;对于多个空间目标的位置进行分析,若空间目标没有位于卫星轨道面法线的±20°圆椎体内的,则可以确定卫星轨道面法线为空间基准矢量,这个空间矢量适用于为所有目标点建立姿态基准;若多个空间目标部分位于卫星轨道面法线的±20°圆椎体内,需再确定一个与轨道面法线垂直的矢量,如卫星轨道的飞行方向。由此确定出满足要求的空间基准矢量X
和Y
。将卫星指向目标的方向定义为卫星目标坐标系的偏航轴(Z
),如果卫星轨道坐标系的俯仰轴Y
与卫星指向目标的单位矢量Z
的夹角在90°±70°范围内,则有J2000 惯性坐标系至卫星目标坐标系的姿态转换矩阵为
将姿态转换矩阵A
变换为姿态四元数q
,即为卫星目标坐标系相对于J2000 惯性坐标系的姿态四元数。结合载荷的安装四元数为q
,得到卫星姿态基准四元数q
,式中:⊗表示四元数乘法运算。
已知前后两拍的载荷指向目标的姿态基准四元数q
和q
,根据四元数运动学方程,得到当前控制周期载荷指向目标的姿态基准角速度ω
,完成期望姿态四元数和期望角速度计算后,根据敏感器测量解算的卫星当前姿态和角速度信息,进行姿态偏差和角速度偏差计算,进而调用递阶饱和PID控制器,即可实现任意目标定向或凝视跟踪控制。
在通用姿态基准设计的基础上,设计统一的程控指令格式,通过模式字区分具体任务姿态模式。程控指令包含任务模式字、高轨星编号、地面站经纬度和成像滚动与俯仰期望姿态等信息,见表1。
表1 姿轨控接收程控指令统一格式Tab.1 Unified programmed instruction format received on the attitude and orbital control system
新技术试验D 星主载荷为宽幅时间延时积分电荷耦合器件(Time Delay and Integration Charge Coupled Devices,TDICCD)相机,需通过条带拼接实现单轨300 km×900 km 区域成像,此为典型条带拼接成像问题,在卫星姿态偏置成像过程中,需具备高精度相机偏流角跟踪控制功能。此外,主动推扫成像即卫星姿态机动过程成像功能,将通过在轨测试进行验证。卫星快速姿态机动、快速稳定控制方法和偏流角跟踪控制方法已进行了较为充分研究,此处重点描述条带拼接与主动推扫成像模式的软件接口设计。
2.2.1 多条带成像
当程控模式字为0x77时,姿轨控分系统根据任务规划模块给出的卫星相对轨道坐标系滚动、俯仰成像姿态指令,进行姿态快速机动与快速稳定控制,并在姿态偏置的同时进行偏流角跟踪控制。成像模式允许多次设置成像期望姿态,因此,可实现同轨多条带、条带拼接、立体成像等多种成像工作模式,如图3所示。
图3 双条带成像Fig.3 Double strip imaging
2.2.2 主动推扫成像
当程控模式字为0x5B 时,根据地面上注的主动推扫成像姿态初值和推扫角速度,进行姿态机动过程成像,如图4 所示,其中,推扫角速度根据相机行频约束进行设计。以新技术试验D 星滚动轴机动成像为例,相对轨道系回摆姿态初值分别为45、50、90,相对轨道系摆扫角速度为-0.6(°)/s 和-0.70(°)/s,摆扫时间120 s,相机正向积分,摆扫后20 s 开始成像至120 s。
图4 滚动摆扫成像Fig.4 Rolling swing-broom imaging
基于操作系统开发姿轨控应用软件,需将姿轨控进程划分为MT,并与管理软件约定各线程优先级。此外,由于操作系统负责内存动态管理,应用软件难以获取各变量内存地址,常规在轨编程方案不再适用,因此,需进行基于操作系统的姿轨控软件架构设计和在轨编程设计。
2.3.1 姿轨控软件架构设计
新技术试验卫星C 星、D 星姿轨控应用软件采取以下技术方案:以SMD 架构设计基于操作系统的姿轨控应用软件,以状态机(State Machine,SM)完成姿轨控各运行模式的灵活切换和运转,如图5 所示。
图5 状态机的运行Fig.5 Operation of the state machine
以MT 完成姿轨控应用软件多任务处理,通过DLL 实现模块可替换。
SM 方法以一种状态代表一种工作模式,状态的进入条件作为模式启动条件,状态的退出条件作为模式结束条件,并流转到下一个模式。通过状态的不断流转和循环,完成整个系统的功能,同时增加一个功能,不影响其他功能模块,提高了软件的扩展性和维护性。MT 方法将整个姿轨控应用划分为多个线程,即主任务线程、总线数据处理线程、测试数据处理线程等,线程划分如图6 所示。
图6 多个线程划分Fig.6 MT partition
从而让各线程专职做一项事务,并通过线程间交互完成信息的传递和处理,以简化多任务的协调。DLL 方法将软件功能划分为多个组合,并将这些组合封装成DLL 形式,供主体姿轨控软件调用。库的封装性能便于测试和影响域控制,通过库的替换易于实现软件在轨升级。
2.3.2 姿轨控软件的在轨编程设计
新技术试验卫星C 星、D 星软件基于实时操作系统和Flash+Sram 存储,依据文件系统替换姿轨控软件的各个功能,实现星上姿轨控软件的功能完善和扩展。
姿轨控软件在轨编程主要基于库文件替换,因此,各库文件需要保持大小均匀、层次合理和结构清晰的特征。软件库文件划分如图7 所示。
图7 姿轨控软件库文件划分Fig.7 File division of the attitude and orbit control software library
姿轨控软件一共分为4 层10 个库文件:最高层是主程序文件,主要负责初始化、进程管理以及主流程控制;高层库文件主要负责模式和对外交互功能;中层库文件是数据处理层库文件,包括轨道计算、任务基准计算、控制算法、敏感器、执行机构以及通用计算等部件;低层库文件是计算机硬件处理层,如CAN 通信、422 通信等功能。各逻辑库文件可以进一步划分为更小及满足要求的库文件。
在轨编程流程如图8 所示,当主线程启动后,每个控制周期都去查询在轨编程标志,以确定是否需要在轨编程。如果收到在轨编程标志,则退出主程序,程序复位,使用新的文件开始运行姿轨控软件。在上注时,应用程序根据校验位是否正常,确定每个注数包是否正确。根据包总数,确定所有包是否都上传成功。所有包都上传成功后,则用上传成功的库文件替换原有的库文件,原有的库文件作为前序版本。
图8 在轨编程流程Fig.8 On-orbit programming process
σ
),稳定度优于0.000 6(°)/s(3σ
)。图9 C 星对地定向姿态误差Fig.9 Control error of earth oriented attitude angle for Satellite C
图10 C 星对地定向角速度误差Fig.10 Control error of earth oriented attitude angular velocity for Satellite C
2020 年2 月26 日D 星成像模式卫星姿态角和姿态控制误差曲线如图11 和图12 所示,成像过程姿态控制精度优于0.002°(3σ
),相机偏流角优于0.05°(3σ
),偏流角遥测由相机载荷根据卫星姿态和角速度信息计算得出。图11 D 星成像模式姿态角Fig.11 Attitude angle during scan imaging for Satellite D
图12 D 星成像模式姿态与偏流角误差Fig.12 Control errors of attitude angle and drift angle during scan imaging for Satellite D
2020 年2 月25 日D 星数传天线凝视地面站模式卫星姿态角和姿态误差曲线如图13 和图14 所示,动态跟踪过程姿态控制误差小于0.005°(3σ
)。图13 D 星地面站跟踪姿态角Fig.13 Attitude angle during ground station tracking for Satellite D
图14 D 星地面站跟踪姿态误差Fig.14 Control error of attitude angle during ground station tracking for Satellite D
2020年8月10日C星Ku天线凝视高轨(Geosynchronous Earth Orbit,GEO)卫星模式下卫星姿态角和姿态误差曲线如图15 和图16 所示,动态跟踪过程姿态控制误差小于0.002°(3σ
)。图15 C 星高轨星跟踪姿态Fig.15 Attitude angle during GEO satellite tracking for Satellite C
图16 C 星高轨星跟踪姿态误差Fig.16 Control error of attitude angle during GEO satellite tracking for Satellite C
D 星各软件模块当前版本如图17 所示。陀螺和星敏模块相比卫星发射状态版本10 进行过在轨升级,软件升级过程三轴姿态误差小于0.5°并及时收敛,验证了在轨编程方案的有效性。2020 年3 月1 日C 星计算机切至备份后自主恢复对日定向模式,如图18 所示,三轴姿态控制正常,验证了姿轨控软件重要变量备份和读取功能的正确性。
图17 D 星姿轨控软件库版本Fig.17 Version of the attitude and orbit control software library for Satellite D
图18 C 星切机后姿态自主恢复Fig.18 Automatic attitude recovery after switching control by Satellite C
新技术试验卫星C 星、D 星姿轨控分系统经过在轨测试,姿轨控分系统各项功能正确,性能满足任务要求。本研究首先实现基于国产操作系统的姿轨控应用软件设计,基于DLL 的在轨编程功能得到在轨验证,为小卫星应用软件并行快速开发积累了宝贵经验。通过敏捷卫星多种工作模式姿态基准通用设计,实现了任意载荷对目标的凝视跟踪控制。通过条带拼接和主动推扫成像控制,扩展了相机的成像范围,提高了载荷观测效能。新技术试验卫星C 星、D 星姿轨控系统成功通过在轨验证,为我国小型敏捷卫星通用化姿轨控系统研制奠定了良好的技术基础。