GMAT R2017a 发布
R2017a 简要说明
经过一年多的开发,R2017a 终于 2017 年 7 月 18 日在 SF 上发布,虽然官方网站并未未对此次发布作任何说明,但通过版本注释可以获得 R2017a 的新特性。此外,还可通过访问 开发面板 了解 R2017a 开发记录及 Bug 列表。下面对 Release Notes 作简单翻译。
R2017a 新特性
1. 定轨能力强化
定轨方面,R2017a 增加了如下新功能:
- 新增了对三种数据类型的处理支持:1) GPS 导航状态矢量 (GPS_PosVec);2) 距离测量数据 (Range);3) 距离变化率数据 (RangeRate)。注意,这三种数据类型都经过反复测试,但只有 DSN 距离变化率数据通过了应用级测试,即 DSN 距离变化率数据对于 GMAT 来说是可靠的数据。
- 扩展卡尔曼滤波器算法经小范围测试和归档后形成的 alpha 版本现在可用于实验性质的使用。 此插件可用,但默认情况下处于关闭状态。要使用它,请在启动文件中启用 “libEKF” 插件。
- 增加了二级数据编辑功能,此功能允许您选择未在估计状态更新中使用的观测值。
2. STK .e 格式星历预报器
GMAT 现在支持使用 AGI 的 .e
星历文件格式的预报器。 有关更多信息,请参阅 Propagator 参考。
3. 文件管理工具
GMAT 现在可以使用 Python 文件管理器管理经验数据更新。该实用程序允许用户轻松更新闰秒、EOP、空间天气和其他文件,并可选择归档旧版本。有关详细信息,请参阅配置 GMAT 数据文件部分。运行该实用程序时,用户将看到如下所示的输出(以下数据仅是输出的部分摘要)。
1 | --------UPDATING GMAT LEAP SECOND FILE ------------------------------ |
4. CSALT 独立库与工具箱配置工具
GMAT 现在有一个独立的 C++ 库,用于通过搭配 CSALT解决最优控制问题。 该库经过了充分测试,可用于应用程序,目前正在与 GMAT 集成。 CSALT 库不通过 GMAT 接口公开,但熟悉 C++ 编程的用户现在可以使用 CSALT 解决最优控制问题。源代码将通过 SourceForge 提供。 CSALT 正在整合进入 GMAT,并计划在下一个 GMAT 版本发布时完成。有关 CSALT 库的更多信息,请参阅随 GMAT 分发的 docs
文件夹中名为 CSALT_CollocationBenchmarkingResults.pdf
的论文。
5. API 接口雏形
一个还处于雏形阶段的 API 正在紧密锣鼓的开发中, 不可在生产环境中视同,只在 SourceForge 中单独分发,并标注为 “Alpha”。API 使用 SWIG 将 GMAT 的功能提供给多种语言。目前,已经在 MATLAB 中调用的 JAVA 接口上进行了初步测试。下面的代码片段展示了如何通过 MATLAB 调用 JAVA 接口来计算作用在航天器上的轨道加速度。还执行了一些 Python 接口测试。
1 | % Load GMAT |
R2017a 性能改进
- 用户现在可以通过命令行界面定义 GMAT 启动和日志的文件名称和位置。 这在同时运行多个 GMAT 会话或具有复杂的自定义文件配置时非常有用。
- 用户现在可以用米为单位编写
STK ephem
文件(之前只支持 km)。 - 用户现在可以编写没有离散事件边界的
STK ephem
文件。
R2017a 兼容性变化
- GMAT 现在需要 Python 3.6.x。
Schatten
文件不再需要文件顶部的 “PREDICTED SOLAR DATA” 关键字。- GMAT 用的多个数据文件的名称和位置不再是硬编码,它们的名称和位置在
bin
目录中的文件gmat_startup_file.txt
中设置。如果用户使用自定义启动文件,则必须在启动 GMAT 之前将以下行添加到启动文件中。请注意,与 GMAT 一起分发的启动文件已经添加了这些设置。这种向后兼容的模式仅影响自定义其启动文件的用户。
1 | EARTH_LATEST_PCK_FILE = PLANETARY_COEFF_PATH/earth_latest_high_prec.bpc |
- 为了整个系统的一致性,导航功能的语法已经发生了重大变化。有关详细信息,请参阅 Tracking Data Types for OD 中的 Deprecated Measurement Type Names 部分内容。
© Copyright by Spacefan 2017~2019.