The Spacecraft Control Toolbox - 核心仿真平台
项目介绍
The Spacecraft Control Toolbox 是一个功能强大的航天器任务分析与设计库。该项目采用模块化设计,旨在为航天器设计、轨道动力学模拟、姿态控制系统开发以及传感器执行机构建模提供完整的工具集。通过整合航空控制相关的通用算法与高精度的航天器物理模型,本项目能够支持从微小卫星(如 CubeSat)到复杂深空探测任务的仿真需求。
当前的核心代码实现了一个完整的闭环仿真系统,集成了轨道外推、环境摄动模拟、姿态 PD 控制算法以及反作用轮动力学,为用户提供了一个验证航天器控制算法和任务规划的实验平台。
功能特性
- 高精度轨道动力学:支持基于地球引力常数(mu)和 J2 二项式摄动的轨道演化仿真,能够准确模拟近地轨道航天器的受力情况。
- 全状态姿态描述:采用四元数(Quaternion)进行姿态运动学建模,有效避免了欧拉角带来的奇异性问题,并结合欧拉方程描述姿态动力学。
- 姿态稳定控制:内置 PD 控制器(比例-微分控制),支持将航天器由任意初始姿态稳定至预设的惯性系目标姿态。
- 执行机构建模:包含反作用轮(Reaction Wheel)的动量演化模型,并考虑了控制力矩的物理饱和限制。
- 环境扰动模拟:初步实现了包含重力梯度和磁场干扰在内的极其微小的环境力矩建模,增强了仿真的真实性。
- 多维度数据可视化:提供专业的绘图功能,包括三维轨道轨迹、姿态四元数曲线、角速度变化以及控制力矩与干扰力矩的对比分析。
系统要求
- 软件环境:MATLAB R2020a 或更高版本(需通过 MATLAB 运行 .m 文件)。
- 核心工具箱:需要安装 MATLAB 基本版,包含绘图及数值计算相关核心组件。
- 硬件要求:由于采用四阶龙格-库塔(RK4)积分,建议具备 4GB 以上内存以确保长周期仿真的流畅运行。
仿真逻辑与实现细节
系统通过一个核心函数驱动全流程仿真,其内部实现逻辑如下:
1. 参数与初始状态初始化
仿真首先定义了地球物理常数(如引力常数 $3.986 times 10^{14}$ 和 J2 系数)以及航天器物理参数。以一个典型的 3U CubeSat 为模型,定义了 4kg 的质量和特定的转动惯量矩阵。
初始状态由轨道六根数(OE)转化为位置和速度矢量(ECI 坐标系),姿态则以初显偏离的四元数和角速度表示,同时初始化反作用轮的角动量。
2. 仿真执行核心(RK4 积分)
系统采用固定步长的四阶龙格-库塔算法进行状态外推。在每一个仿真时间步内,执行以下循环逻辑:
- 干扰计算:根据航天器当前的位置向量计算环境扰动。
- 控制律生成:计算当前四元数与目标四元数的误差,通过 PD 控制率生成补偿力矩,并应用执行机构的最大力矩饱和约束。
- 导数叠加:将轨道加速度(含 J2)、四元数微分方程和带反作用轮耦合的姿态欧拉方程进行综合计算。
- 状态更新与归一化:数值积分后,对四元数进行单位化处理,确保姿态表示的物理准确性。
3. 数据存储与可视化
仿真过程中,所有时刻的状态向量(位置、速度、四元数、角速度、轮动量)及中间过程量(控制力矩、干扰力矩)均被完整保存。仿真结束后,系统自动生成包含四个子图的综合报告窗口。
关键算法说明
- 轨道根数转换算法:实现从经典开普勒轨道六根数(半长轴、偏心率、倾角、升交点赤经、近地点幅角、真近点角)到直角坐标系位置速度矢量的非奇异变换。
- J2 摄动加速度模型:不仅计算中心引力加速度,还计入了由于地球非球形引起的 J2 项加速度偏移,这对于低轨卫星的长期仿真至关重要。
- 四元数误差控制:算法通过特定逻辑计算两个四元数之间的误差旋转,直接利用误差向量的矢量部进行 PD 反馈,实现了姿态的平滑调节。
- 姿态动力学耦合方程:实现了考虑反作用轮角动量交换的航天器总角动量守恒模型。在控制力矩作用于轮子的同时,反向力矩作用于航天器主体。
- 三维可视化渲染:利用球面网格技术绘制地球参考模型,并在此基础上叠加航天器在惯性系(ECI)下的运动轨迹,直观展示轨道运行效果。