pathfinder-for-autonomous-navigation / psim

Six DOF flight simulator and related GNC implementations.
MIT License
4 stars 6 forks source link

Multi cycle orbit propagator #179

Closed nhz2 closed 4 years ago

nhz2 commented 4 years ago

C++ Orbit class Multi Cycle Propagation

The main goal is to split up the task of propagating Orbits for a long time between multiple control cycles. If an Orbit gets send from ground and needs to be updated to the current time this will ensure the Orbit gets updated over many control cycles, so the flight computer won't stall.

Summary of changes

Ptest Effects

None

Testing

Unit testing in test_orbit.cpp.

Constants

/** The maximum size of a 7 grav call higher order step (ns). */
GNC_TRACKED_CONSTANT(static const int64_t,maxlongtimestep,100'000'000'000LL);
/** The maximum size of a 1 grav call step (ns). */
GNC_TRACKED_CONSTANT(static const int64_t,maxshorttimestep,200'000'000LL);

These constants are internal to the Orbit class propagator implementation, which is tested in test_orbit.cpp.

Documentation Evidence

Inline documentation is sufficient.