agathazeren / cuneiforbits

𒆩𒀩𒂷𒂷𒂷𒀖
1 stars 1 forks source link

Decide on orbit scheme #3

Open agathazeren opened 4 years ago

agathazeren commented 4 years ago

How should orbits be represented? What orbits are available? With what precision?

Considerations:

agathazeren commented 4 years ago

After a bit of unsuccessful research, I'm thinking something along these lines:

struct Orbit{
    eccentricity:Eccentricity,
    inclination:Inclination,
    altitude: Altitude,
}
enum Eccentricity{
    Circular, Medium, High
}
enum Inclination{
    Equatorial, Medium, Polar
}
enum Altitude{
    Leo,Meo,Geo,Graveyard,
}

What are your thoughts?

agathazeren commented 4 years ago

Some more thoughts. The highest delta v requirements are inclination changes, so those are likely infeasible. Therefore, the more interesting factors for mixing missions would be Altitude and eccentricity. Especially as high eccentricity orbits are used as transfer orbits between different altitude circular orbits. To allow for many possible combinations of satellites on missions, there must be a large amount of compatible missions. The does warrant the low granularity on Inclination, as then more missions would be compatible.

yvnat commented 4 years ago

I think this is a good system for orbits, and I agree with the statement on the missions. One thing that needs to be considered is how is a change in altitude handled with regards to eccentricity? Should the path to changing altitude from e.g. LEO to MEO be LEO circular->LEO medium->LEO high->MEO circular, LEO circular->LEO medium->MEO circular, or completely independent of eccentricity, as in LEO [eccentricity]->MEO [eccentricity]? I personally think that the first method is the best way to do it. What "LEO eccentric" exactly means should be left abstract, and the question of how to handle a highly eccentric orbit with a perigee in LEO and apogee in HEO should be ignored.

agathazeren commented 4 years ago

I was thinking along similar lines. In terms of whether high eccentricity orbits are in LEO or HEO, I would say we standardize on one part of the orbit, either perigee, apogee, or the mean altitude. Also, I just realized we would need to add another orbit type:

enum Orbit{
    Own(BasicOrbit),
    Rendezvous(SatId),
} 
struct BasicOrbit{ // maybe think of a better name?
    eccentricity:Eccentricity,
    inclination:Inclination,
    altitude: Altitude,
}
enum Eccentricity{
    Circular, Medium, High
}
enum Inclination{
    Equatorial, Medium, Polar
}
enum Altitude{
    Leo,Meo,Geo,Graveyard,
}