This is my first attempt at using astrodynamics formulas to play more efficiently (especially for rendez-vous).
I used to time warp for a countless number of revolutions waiting for the Soyuz to meet the ISS.
It all began with the very basics like Newton' second and third laws of motion and the universal law of gravitation.
The tangential velocity helped me to get familiar with the units and thanks to it, I calculated the G.Me constant also simplified as "µ".
To do so, I measured the orbital period of a satellite orbiting Earth with a circular orbit (eccentricity=0) since then, with the second formula where 'T' is now known and 'r' is the orbit radius, by doing the math we can find that µ is approximately 971410890600. Its value is based on a simple measure.
Next step was to do it over again with the elliptical orbit formulas and apply them to other spacecrafts. I concluded that I found the good value of µ.
Now my goal was to put all that together in a simple C program which would tell me when to launch the Soyuz to rendez-vous the ISS in the shortest time.
First version of the code shown below:
Let me now explain the principle:
1) You are asked to giver the target apoapsis and periapsis.
2) The program calculates the orbital period of the target (Tiss variable).
3) Now we suppose that both spacecrafts are at the same location which means the Soyuz reached its apoapsisnext to the ISS. From now, tanks to the "tsto" constant, the program can say where the ISS should have been at liftoff.
The "tsto" constant was determined after a lot of soyuz launches. It is basically the average time elapsed between liftoff and the end of the first Hohmann transfer burn for an identical path.
4) The program finally calculates an angle and shows it. You also have other informations such as the orbital period of the ISS, its max and min velocity.
I'll explain what is the calculated angle don't worry!
I know this is the most illegal way to do astrodynamics but hey it works!
Anyways, it's a really basic C file I run with the terminal using "./"
Here's an example of what you can get as result:
As you can see, it says you to launch when there is an angle of 44.8° or about π/4 if you prefer!
But now you have to know where to put it. On the following screenshot, you can see a red angle this is the one the program just gave you! It's really important to have it well placed. Adding the other angle to the red makes 90°. The next picture shows the kind of abaci that help me to launch the rocket quite precisely. To use them you just have to put the abacus on the screen and wait for the target to be on the line.
Unfortunately, this only works with my Soyuz or any rocket with the same performance/spec. I did another version for my Falcon 9 block 5 (and it works really nice as well !). But I'm currently working on a new version that can be applied to any rocket as long as it can lift a payload into orbit and has enough fuel left!
This might already be obvious for some of you but I wanted to share my work and maybe help those who'd like or planned to do a similar thing.
Finally, here's a quick video of a demo flight:
I hope I was clear, and sorry for the long post !
I used to time warp for a countless number of revolutions waiting for the Soyuz to meet the ISS.
It all began with the very basics like Newton' second and third laws of motion and the universal law of gravitation.
The tangential velocity helped me to get familiar with the units and thanks to it, I calculated the G.Me constant also simplified as "µ".
To do so, I measured the orbital period of a satellite orbiting Earth with a circular orbit (eccentricity=0) since then, with the second formula where 'T' is now known and 'r' is the orbit radius, by doing the math we can find that µ is approximately 971410890600. Its value is based on a simple measure.
Next step was to do it over again with the elliptical orbit formulas and apply them to other spacecrafts. I concluded that I found the good value of µ.
Now my goal was to put all that together in a simple C program which would tell me when to launch the Soyuz to rendez-vous the ISS in the shortest time.
First version of the code shown below:
Let me now explain the principle:
1) You are asked to giver the target apoapsis and periapsis.
2) The program calculates the orbital period of the target (Tiss variable).
3) Now we suppose that both spacecrafts are at the same location which means the Soyuz reached its apoapsisnext to the ISS. From now, tanks to the "tsto" constant, the program can say where the ISS should have been at liftoff.
The "tsto" constant was determined after a lot of soyuz launches. It is basically the average time elapsed between liftoff and the end of the first Hohmann transfer burn for an identical path.
4) The program finally calculates an angle and shows it. You also have other informations such as the orbital period of the ISS, its max and min velocity.
I'll explain what is the calculated angle don't worry!
I know this is the most illegal way to do astrodynamics but hey it works!
Anyways, it's a really basic C file I run with the terminal using "./"
Here's an example of what you can get as result:
As you can see, it says you to launch when there is an angle of 44.8° or about π/4 if you prefer!
But now you have to know where to put it. On the following screenshot, you can see a red angle this is the one the program just gave you! It's really important to have it well placed. Adding the other angle to the red makes 90°. The next picture shows the kind of abaci that help me to launch the rocket quite precisely. To use them you just have to put the abacus on the screen and wait for the target to be on the line.
Unfortunately, this only works with my Soyuz or any rocket with the same performance/spec. I did another version for my Falcon 9 block 5 (and it works really nice as well !). But I'm currently working on a new version that can be applied to any rocket as long as it can lift a payload into orbit and has enough fuel left!
This might already be obvious for some of you but I wanted to share my work and maybe help those who'd like or planned to do a similar thing.
Finally, here's a quick video of a demo flight:
I hope I was clear, and sorry for the long post !