python的定轨程序
orbdetp的Python项目详细描述
简介
这是orbdetpy,一个用于orbit的python和java例程库 决心。对于我们的估算工具来说,它是一个很薄的python包装器 和orekit,都是用java编写的。
功能
轨道传播的力模型目前包括:
- EGM96重力场,最大度数360。
- 地球固体潮由于太阳和月亮的影响。
- fes 2004海洋潮汐模型达度和阶数100。
- nrl-msise-00和大气阻力的简单指数模型。
- 太阳辐射压力。
- 来自太阳和月亮的第三体扰动。
测量模型支持范围、范围速率、角度和惯性 笛卡尔坐标。使用orekit的扩展kalman进行滤波 过滤器或我们定制的无味卡尔曼滤波器。动态模型补偿 (DMC)可与任一滤波器一起用于估计附加扰动 未建模动态、机动等造成的加速度。
您可以使用自己的测量值,也可以使用 函数的作用。
安装
- 从http://openjdk.java.net/install/index.html安装Java开发工具包8+(1.8+)。 将java home环境变量设置为指向jdk安装。
- 安装Python3.6+并运行“pip install orbdetpy”以安装orbdetpy 以及其他包依赖项。
- 源代码、示例程序和数据文件可以从 https://github.com/ut-astria/orbdetpy。
orbdetpy/lib文件夹包含以下库的jar文件, 由orbdetpy自动导入。
orbdetpy/data中的天体动力学数据必须定期更新 使用examples/update_data.py。
示例
下面的示例程序可以在“examples”文件夹中找到。 这些示例使用python包装器接口,但调用 直接实现底层Java很简单。
testsim.py:演示测量模拟器。请注意 在仿真过程中,可以将机动纳入力模型。
plotsim.py:打印使用testsim.py创建的模拟结果。
py:演示orbdetpy中的轨道确定。
plotodet.py:使用testodet.py绘制拟合轨道的结果。
run_tests.py:运行examples/data下的所有用例。模拟 测量、轨道拟合、模拟真值与 估计,估计协方差的3-sigma将写入 输出/子文件夹。
orbdetpy使用json文件存储设置、测量和估计 结果。示例/数据中的文件显示了如何配置度量 利用雷达或望远镜数据进行仿真和定轨。这个 file docs/file_formats.md记录json文件的结构。
以下是一些典型的用例。假设电流 工作目录是examples/data。
模拟状态向量和雷达测量:
python../testsim.py radar_sim_cfg.json sim_data.json
这将运行在radar_sim_cfg.json和 将模拟输出写入sim_data.json。
绘制模拟结果:
python../plotsim.py radar_sim_cfg.json sim_data.json
这将绘制(1)中生成的模拟数据。
对模拟雷达数据运行od:
python../testodet.py radar_od_cfg.json sim_data.json od_output.json
这将在(1)中生成的模拟雷达数据上运行OD 使用radar_od_cfg.json中的od配置并编写od 输出到od_output.json。
绘制OD结果:
python../plotodet.py radar_od_cfg.json sim_data.json od_output.json
这将绘制(3)中的OD结果。
已知问题
Java“堆空间不足”错误:
具有默认设置的Java虚拟机可能会耗尽堆 长期模拟或轨道拟合期间的空间。解决办法 在python代码的顶部添加以下内容 Orbdetpy已导入。“Xmx”之后的值是最大值。 要分配给Java的堆大小;“G”表示千兆字节。
导入JNIUS配置 jnius配置添加选项(“-xmx2g”)
错误报告
评论、批评和错误报告非常受欢迎,可以发送到 包维护者通过电子邮件或项目的网站。
Shiva Iyer<;在Utexas Dot Edu工作的Shiva.Iyer>;