by Jenab6 » Mon 05 Jun 2006, 05:16:22
$this->bbcode_second_pass_quote('SoothSayer', '[')b] figured out how to find transfer orbits all by myself!
I have a couple of books about the space environment etc knocking about ... but have little time to read that sort of thing anymore.
More interested in sociobiology nowadays.
Anyway, although I am a physicist, my pure maths is crap, so I would have used an iterative method of some sort ... maybe even Monte Carlo.
Throw CPU cycles and double precision floats at a problem and it (often) goes away!
I therefore can use a lower order skill than your pure maths to get the same result ... works for me!
Open form integration actually sometimes works better than the closed form method I found. It can take account of the gravity of any number of "third bodies" without having to do weird stuff like patching conic sections together. Just use a fast computer so you can keep the time steps small enough. It just takes a long time to crunch all the way through the transfer, and you have to use some kind of homing procedure so that you can find the departure delta-vee, direction and speed, that takes you where you want to be in the amount of time you require for the trip.
You probably realize that in finding transfer orbits the delta-vee is actually the dependent variable. You can pick delta-vees as you will, of course, but what you want to do is locate the
correct one, the one that makes your rocket go where you want it to. The "boundary condition" you work under is that your rocket must go from planet A to planet B, and when you choose a time of departure you also choose a position of departure, a position of arrival, and a transit time in the transfer orbit (because the rocket and planet B must reach the same point in space at the same moment). So your independent variable (in practice) is Planet B's position at arrival, and the total time for integration is the transfer orbit's transit time.
Notice that you have to make trials with the dependent variables but the independent variables are fixed? This backwards solving of the problem is what makes things complicated. Most of the delta-vees that you might pick out of the air won't go to the right place. So you might try a lot of different delta-vees and see which ones get the closest to where you do want to be, in the exact amount of time that you require the trip to take.
A method-of-Gauss, least squares kind of approach might work, where you take partial derivatives of the delta-vee components with respect to the spacetime location for arrival. (You can also do partial derivatives on the departure location, assuming that you can be flexible about the time, and hence the position, of departure.)
To get the partial derivatives, you first do your integration with an initial guess at the correct delta-vee, then find the state vector in the transfer orbit just after the departure burn. Then you find out where that delta-vee takes you in the amount of time you want to allow, and record the resulting position.
Next, you twiddle one of the delta-vee components just a tiny bit and repeat the integration process. The difference in resulting position divided by the difference in that delta-vee component gives you a numerical estimate for the three the corresponding partial derivatives.
In like manner, you repeat the foregoing until you have numerical estimates for all the partial derivatives.
d(Xarrival)/d(deltaVx)
d(Yarrival)/d(deltaVx)
d(Zarrival)/d(deltaVx)
d(Xarrival)/d(deltaVy)
d(Yarrival)/d(deltaVy)
d(Zarrival)/d(deltaVy)
d(Xarrival)/d(deltaVz)
d(Yarrival)/d(deltaVz)
d(Zarrival)/d(deltaVz)
These derivatives become constants in a set of equations relating changes in delta-vee with changes in arrival location.
delta Xarrival =
d(Xarrival)/d(deltaVx) [delta deltaVx] +
d(Xarrival)/d(deltaVy) [delta deltaVy] +
d(Xarrival)/d(deltaVz) [delta deltaVz]
delta Yarrival =
d(Yarrival)/d(deltaVx) [delta deltaVx] +
d(Yarrival)/d(deltaVy) [delta deltaVy] +
d(Yarrival)/d(deltaVz) [delta deltaVz]
delta Zarrival =
d(Zarrival)/d(deltaVx) [delta deltaVx] +
d(Zarrival)/d(deltaVy) [delta deltaVy] +
d(Zarrival)/d(deltaVz) [delta deltaVz]
So you relate adjustments in arrival position to small adjustments in departure delta-vee.
If your initial guess at the delta-vee was close, you can iterate toward the corrected delta-vee. Otherwise, you can get clos
er to the corrected delta-vee, recalculate the partial derivatives, and do it all again.
The advantage of your method is that the gravitational perturbations of all third bodies is automatically allowed for. The disadvantage is that it takes a lot more computer time to get the answer, in order to keep your time steps as small as they need to be.
Jerry Abbott