pathfinder-for-autonomous-navigation / psim

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

Orbit Class #169

Closed nhz2 closed 4 years ago

nhz2 commented 4 years ago

Orbit Class

Related to #78

Summary of changes

Just a layout of the methods of the class so far. The goal is to create a class to handle most of the logic related to storing, serializing, propagating, and checking validity of an orbit. This class will be used by the next version of the orbit estimator, and if it works out well probably become a C++ class in flight-software. Another goal is to specify, control, and minimize the number of calls to the gravity function, because one call could take about 1ms on a teensy.

Ptest Effects

I am adding a +Orbit namespace/package. To call functions in this package use for example eng.Orbit.valid(myorbit) where myorbit is a dict of an Orbit.

Testing

I'll be adding unit testing for the class soon.

Constants

If your PR creates any constants, list them here and indicate whether or not you've added them to the recurring constants review. If you change or add any fields in const, main_state, sensor readings or actuator commands make sure to document that change in MATLAB/README.md.

Constant Location Added to review?
:white_check_mark:
:x: : Why not?

Documentation Evidence

TODO make a ReadTheDocs post about this before merging.

nhz2 commented 4 years ago

Propagating an orbit that the sat gets from ground could take many control cycles, so that is what startpropagator, abortpropagator, finishpropagator, numgravcallsleft, and onegravcall handle. abortpropagator is a way to stop the propagator, for what ever reason.

kylekrol commented 4 years ago

Propagating an orbit that the sat gets from ground could take many control cycles, so that is what startpropagator, abortpropagator, finishpropagator, numgravcallsleft, and onegravcall handle. abortpropagator is a way to stop the propagator, for what ever reason.

Ah okay yep I'm sorry. I did forget about the fact that we'd need to propegate uplinked orbits. Carry on then!