Skip to content

Commit

Permalink
Merge pull request #356 from nyx-space/312-lro-estimation
Browse files Browse the repository at this point in the history
Lunar reconnaisance orbiter example
  • Loading branch information
ChristopherRabotin authored Aug 19, 2024
2 parents 3564d49 + 0f1a09c commit 050cd00
Show file tree
Hide file tree
Showing 48 changed files with 1,005 additions and 126 deletions.
6 changes: 6 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ exclude = [
"rustfmt.toml",
"tests/GMAT_scripts/*",
"*.png",
"*.pca",
]

[badges]
Expand Down Expand Up @@ -126,3 +127,8 @@ doc-scrape-examples = true
name = "03_geo_sk"
path = "examples/03_geo_analysis/stationkeeping.rs"
doc-scrape-examples = true

[[example]]
name = "04_lro_od"
path = "examples/04_lro_od/main.rs"
doc-scrape-examples = true
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# Nyx: Comprehensive Spaceflight Dynamics

[**Empowering flight dynamics engineers with open-source software**](https://nyxspace.com/)
[**Empowering flight dynamics engineers with open-source software**][website]

Nyx is revolutionizing the field of flight dynamics engineering as a powerful, open-source tool for mission design and orbit determination. From trajectory optimization to orbit estimation, Nyx is built for speed, automation, and scalability. It dramatically reduces simulation time compared to commercial products, and integrates seamlessly into automated workflows across various platforms.

**Nyx has proven mission-critical reliability, already contributing to the success of three lunar missions.**

![Static Badge](https://img.shields.io/badge/Nyx_Space-Website-orange?link=https%3A%2F%2Fnyxspace.com%2F)
![Contact Form](https://img.shields.io/badge/Nyx_Space-Contact-orange?link=https%3A%2F%2F7ug5imdtt8v.typeform.com%2Fto%2FneFvVW3p)
[![Nyx Space Badget][nyxspace-image]][website]
[![Contact Form][contact-form-image]][contact]

[![nyx-space on crates.io][cratesio-image]][cratesio]
[![nyx-space on docs.rs][docsrs-image]][docsrs]
[![codecov](https://codecov.io/gh/nyx-space/nyx/graph/badge.svg?token=gEiAvwzwh5)](https://codecov.io/gh/nyx-space/nyx)

# Documentation

The documentation is currently being updated. If you have specific use cases you would like to see documented, please [open a Github issue](https://github.com/nyx-space/nyx/issues/new?assignees=&labels=Documentation&projects=&template=documentation.md&title=) or [use the contact form](https://7ug5imdtt8v.typeform.com/to/neFvVW3p).
The documentation is currently being updated. If you have specific use cases you would like to see documented, please [open a Github issue](https://github.com/nyx-space/nyx/issues/new?assignees=&labels=Documentation&projects=&template=documentation.md&title=) or [use the contact form][contact]

## Quick start

Expand All @@ -34,13 +34,17 @@ For Python projects, get started by installing the library via `pip`: `pip insta

# License

Nyx is provided under the [AGPLv3 License](./LICENSE). By using this software, you assume responsibility for adhering to the license. Refer to [the pricing page](https://nyxspace.com/pricing/) for an FAQ on the AGPLv3 license. Notably, any software that incorporates, links to, or depends on Nyx must also be released under the AGPLv3 license, even if you distribute an unmodified version of Nyx.
Nyx is provided under the [AGPLv3 License](./LICENSE). By using this software, you assume responsibility for adhering to the license. Refer to [the pricing page](https://nyxspace.com/pricing/?utm_source=readme-price) for an FAQ on the AGPLv3 license. Notably, any software that incorporates, links to, or depends on Nyx must also be released under the AGPLv3 license, even if you distribute an unmodified version of Nyx.


[cratesio-image]: https://img.shields.io/crates/v/nyx-space.svg
[cratesio]: https://crates.io/crates/nyx-space
[docsrs-image]: https://docs.rs/nyx-space/badge.svg
[docsrs]: https://rustdoc.nyxspace.com/
[docsrs]: https://rustdoc.nyxspace.com/?utm_source=readme
[contact-form-image]: https://img.shields.io/badge/Nyx_Space-Contact-orange
[contact]: https://7ug5imdtt8v.typeform.com/to/neFvVW3p
[nyxspace-image]: https://img.shields.io/badge/Nyx_Space-Website-orange
[website]: https://nyxspace.com/?utm_source=readme

# Author information
> Chris Rabotin is a GNC and flight dynamics engineer with a heavy background in software.
Expand Down
2 changes: 0 additions & 2 deletions examples/03_geo_analysis/plot_3d_traj.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import argparse
from datetime import datetime
import polars as pl
import plotly.graph_objs as go
from plotly.subplots import make_subplots
import numpy as np


Expand Down
224 changes: 224 additions & 0 deletions examples/04_lro_od/README.md

Large diffs are not rendered by default.

59 changes: 59 additions & 0 deletions examples/04_lro_od/dsn-network.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
- name: DSS-65 Madrid
frame:
ephemeris_id: 399
orientation_id: 399
mu_km3_s2: 398600.435436096
shape: null
elevation_mask_deg: 5.0
range_noise_km:
white_noise:
mean: 0.0
sigma: 5.0e-3 # 5 m
doppler_noise_km_s:
white_noise:
mean: 0.0
sigma: 50.0e-6 # 5 cm/s
light_time_correction: false
latitude_deg: 40.427222
longitude_deg: 4.250556
height_km: 0.834939

- name: DSS-34 Canberra
frame:
ephemeris_id: 399
orientation_id: 399
mu_km3_s2: 398600.435436096
shape: null
latitude_deg: -35.398333
longitude_deg: 148.981944
height_km: 0.691750
elevation_mask_deg: 5.0
range_noise_km:
white_noise:
mean: 0.0
sigma: 5.0e-3 # 5 m
doppler_noise_km_s:
white_noise:
mean: 0.0
sigma: 50.0e-6 # 5 cm/s
light_time_correction: false

- name: DSS-13 Goldstone
frame:
ephemeris_id: 399
orientation_id: 399
mu_km3_s2: 398600.435436096
shape: null
latitude_deg: 35.247164
longitude_deg: 243.205
height_km: 1.071149
elevation_mask_deg: 5.0
range_noise_km:
white_noise:
mean: 0.0
sigma: 5.0e-3 # 5 m
doppler_noise_km_s:
white_noise:
mean: 0.0
sigma: 50.0e-6 # 5 cm/s
light_time_correction: false
Binary file added examples/04_lro_od/gfx/LRO-ANISE-GUI.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions examples/04_lro_od/lro-dynamics.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
-- Default Almanac
{ files =
[ { crc32 = Some 1551416339 -- 0x6f2456aa
, uri = "http://public-data.nyxspace.com/anise/de421.bsp"
}
, { crc32 = Some 2182330089
, uri = "http://public-data.nyxspace.com/anise/v0.4/pck11.pca"
}
, { crc32 = Some 3454388861
, uri = "http://public-data.nyxspace.com/anise/moon_pa_de440_200625.bpc"
}
-- Download the latest (of time of writing) LRO definitive ephemeris from the public Nyx Space cloud.
-- Note that the original file is in _big endian_ format, and my machine is little endian, so I've used the
-- `bingo` tool from https://naif.jpl.nasa.gov/naif/utilities_PC_Linux_64bit.html to convert the original file
-- to little endian and upload it to the cloud.
-- Refer to https://naif.jpl.nasa.gov/pub/naif/pds/data/lro-l-spice-6-v1.0/lrosp_1000/data/spk/?C=M;O=D for original file.
, { crc32 = Some 3882673077
, uri =
"http://public-data.nyxspace.com/nyx/examples/lrorg_2023349_2024075_v01_LE.bsp"
}
]
}
3 changes: 3 additions & 0 deletions examples/04_lro_od/lro-specific.pca
Git LFS file not shown
Loading

0 comments on commit 050cd00

Please sign in to comment.