-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Real solar system mean anomaly #30
Comments
The meanAnomaly0 was provided by @TNQOYxNU in this pull request and it is referring to the mean anomaly on 1950/01/01 ( |
data is converted from RSS kopernicus config. Note it added an artificial 23.5 degree inclination to all planet orbit to simulate earth axial tilt. If you need real world solar system data you can use https://ssd.jpl.nasa.gov/horizons/app.html#/ |
Sorry, I missed the epochOffset parameter. Backpropagating 50 years (ESAs epoch 0 is at 01.01.2000) gives Mecury 5.553920558995985 / 5.559496921012562
Doesn't this transformation require the ascending node to be equal for all planets? And additionally the "tilt" being consistent with these ascending nodes? See https://en.wikipedia.org/wiki/Longitude_of_the_ascending_node Mercury: ascNodeLongitude: 10.86541167564728
At least I observe different results when I try to compare with your results. Is it possible to dump the exact data for the computed optimal mission? I mean position + velocity at each planet before and after the GA? https://esa.github.io/pykep/documentation/trajopt.html#pykep.trajopt.gym.cassini2 uses a very similar model (1DSMs, GAs and ESAs Lambert solver) so it could be used to verify your optimizer by comparing results. In https://github.com/dietmarwo/fast-cma-es/blob/master/tutorials/MapElites.adoc I used Cassini2 to test a new My idea is to complement your tool by a QD-"heat map"-generator (first implemented in Python, may be later to be ported to Typescript). But this only makes sense if the models/implementations produce at least similar results - which they should since both use 1DSMs + ESAs Lambert solver. By the way: Do you have a reference to a scientific paper for your CR variation method ?
Looks interesting. |
I'll let @TNQOYxNU answer to this as the data come from them.
I'm am actually in the process of adding a button that prints more details about the trajectory. See issue #29
That can be useful !
It can be an interesting idea, I'll have to look more into it. If you want to discuss it more in details maybe send me a private message on the KSP forum if you have an account there, or describe it in a new issue (but I indeed need to fix everything else first).
If I remember correctly I made up the calculation myself to simply add a power decay. It looked like it improved the results a bit, but I didn't test it quantitatively. It is possible that a similar idea was developed in a paper. I looked through several papers on differential evolution but the different methods they proposed didn't seem to improve the optimization. I can try to find the papers I looked through if you want. |
It's gravity assist.
You may already know it's a 3D rotation, but I didn't figure out how RSS mod developer do it either. |
The most detailed approach to really see what is going on is to write for each time anything changes:
where type is "start", "DSM" "flyby", "arrival" for the spaceship or "planet" for planet data. In fact for the application inside the game it is less important to have correct "real" data, but values which are By the way, optimizing 1DSM / Gravity assist trajectories is one of the hardest continuous optmization problems. About differential evolution: I did some experiments myself for my own implementation |
Alright I'll try to add a CSV download button.
Thank you for the link ! That's indeed pretty useful to compare results.
It's an interesting approach, I didn't think of an oscillating parameter. I will quickly experiment with it when I get time. Try not to mix several subjects in the same issue, open a new one for a specific feature/task. Don't hesitate to direct message me on the KSP forum if you want to discuss ideas that are not suited for a github issue. |
I added a "Data" button which downloads the data of the trajectory as asked.
where:
Tell me if there are missing information. |
In fact you may have parallelism on different levels:
Scaling increases largely from top to bottom because of the expensive thread/process creation/deletion operation. This is the reason the fcmaes meta algorithm breaks down the optimization process in smaller sub-optimizations.
Thks, will provide feedback as soon as I find time to continue here. |
By the way: https://optimize.esa.int/challenge/spoc-trappist-tour/p/trappist-tour |
Were did you get your mean anomaly data for the real solar system from?
Is meanAnomaly0 in
https://github.com/Krafpy/KSP-MGA-Planner/blob/master/data/rss/bodies.yml
referring to epoch0 at 1970/1/1 as defined in https://github.com/Krafpy/KSP-MGA-Planner/blob/master/data/rss/config.yml ?
Checked for Mercury and Venus comparing with
https://in-the-sky.org/data/object.php?id=P1 and https://in-the-sky.org/data/object.php?id=P2
and also using https://esa.github.io/pykep/documentation/planets.html backpropagating 30 years (both use 2000/1/1 as epoch 0) and the difference is much larger than what is to be expected due to accuracy errors.
The text was updated successfully, but these errors were encountered: