Sample 5 - Orbiting

(In progress)

So, how do you handle a “live” spacecraft or other object in real time? That’s what this tutorial is about.

Kepler Orbits

For Kepler orbits, there’s conics and oscelt.

conics
Determine the state (position, velocity) of an orbiting body from a set of elliptic, hyperbolic, or parabolic orbital elements.

oscelt Determine the set of osculating conic orbital elements that corresponds to the state (position, velocity) of a body at some epoch.

Telemetry

For Telemetry, there’s TLE and sgp4 orbit propagation.

getelm Parse the “lines” of a two-line element set, returning the elements in units suitable for use in SPICE software.

evsgp4
Evaluate NORAD two-line element data for earth orbiting spacecraft. This evaluator uses algorithms as described in Vallado 2006.

Under Unreal Engine Physics

In addition, see: https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcpo_c.html https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcvo_c.html https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcpt_c.html https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcvt_c.html

The “Constant Position” and “Constant Velocity” observer/target actions are important for things that may not be covered in SPK kernels

Examples: spaceship moving in real-time in unreal engine via UE physics your home etc

This sample downloads live data from a satellite catalog (“SatCat”) and displays up to date relative positions and orbits. It also allows the user to add velocity (prograde/retrograde/normal/anti-normal/radial/anti-radial) to see the effect on the object’s orbit.

Data downloads from Celestrak (works in both C++ and Blueprints).

Still Didn’t Find Your Answer?

We’d love to hear from you, whether you’re looking for an answer
or just had a really good day and want to tell someone about it.

Reach Out