Project Trajectory "Pork-Chop Plot" Generator

Piper

Orbiting Space Addict
Addon Developer
Tutorial Publisher
Donator
Joined
Apr 7, 2008
Messages
356
Reaction score
0
Points
0
Location
Ottawa, Canada
I thought I'd give everybody a little preview of a program I'm working on that creates "pork-chop" plots for figuring out optimal trajectories. It's come along pretty good, and I feel I've finished all the hard stuff. When it's finished, it will also display "Prograde" "Outward vel." and "Plane change" values for use in transX, plus other options for graphical output and display option.


 
Piper, how do you find time for all these great projects you do?
 
What is a pork-chop plot?
Sounds tasty. :P
 
Piper, how do you find time for all these great projects you do?

I'm a security guard on the night shift, so needless to say, I get a lot of free time to do stuff like this.
 
Ha, there's one thing that graph reminds me of, and it's not a pork chop.

On a more serious note, well done Piper! Looks like I'm going to start using TransX again, my IMFD days are numbered!
 
I thought I'd give everybody a little preview of a program I'm working on that creates "pork-chop" plots for figuring out optimal trajectories. It's come along pretty good, and I feel I've finished all the hard stuff.

Have you seen this one: http://astrojava.com/btp/. You might want to look at what features it has. I've used it but it has also has some miss-features/bugs/annoyances; I'm hoping yours is better :-)

When it's finished, it will also display "Prograde" "Outward vel." and "Plane change" values for use in transX, plus other options for graphical output and display option.

Any chance it could support a mid-course plane change ala IMFD?
 
EDIT?: I was just about to post the same link that Peskie did. (how peskie of him XD) And I also feel like there are 'missing features' in that link's program. I hope yours will be better. :) It already sounds perfect and you mentioned features that I REALLY wanted from the porkchop plot.
 
Have you seen this one: http://astrojava.com/btp/. You might want to look at what features it has. I've used it but it has also has some miss-features/bugs/annoyances; I'm hoping yours is better :-)

Yes I have, but I had much of the same grievances as everybody else seems to have had. I also wanted to make something that could give you more information that is orbiter specific such as the outward, prograde, and plane-change values needed for transX, and also something that could display plots for both "lowest departure deltaV" and "lowest approach deltaV." Most pork-chop plot generators I've seen (namely the above) only do the first, which isn't very usefull when you are primarily concerned with concerving fuel on orbital insertion.

Another big qualm I had with btc, is that I could only use the ones already inputed into the program, I couldn't put my own elements into it. That really surprised me, because if you can do all the other calculations, converting from kepler elements into state vectors should be a piece of cake.

Any chance it could support a mid-course plane change ala IMFD?

Probably not, since the whole point of doing it this way is to find the best trajectory without doing any additional burns.

Currently I'm looking at implementing VSOP87 into the program so I can do accurate departure/arrival calculations with the planets. I already found some nice visual basic modules that output most of what I want. They output celestial longitude, latitude, and radius in AU, but converting those to x,y,z and calculating velocity should be fairly easy.

I also changed the axis to departure date by flight time (like btc), instead of departure date by arrival date (which is the way most NASA generated plots I've seen). But I'll probably make it so the user can choose how he/she wants to display it.

If anybody has any requests/ideas for it, feel free to give them (like I could stop anybody ;)).
 
Will the program be able to calculate sling-shots with other planets?:)


-----Post Added-----


Would be great if that could be implemented.
 
Will the program be able to calculate sling-shots with other planets?:)

Would be great if that could be implemented.

Possibly, it is definitely something I would like to implement, but as of yet, I haven't looked at the math required for it.
 
I also changed the axis to departure date by flight time (like btc), instead of departure date by arrival date (which is the way most NASA generated plots I've seen). But I'll probably make it so the user can choose how he/she wants to display it.

Please at least have an option for setting the axes to departure date and arrival date. One of my beefs with btp is that it only does departure date and flight time and I need to approximate the diagonal lines for constant arrival times. For either mode it would be nice to add an option that draws in diagonal lines as well (i.e. for arrival date by departure date have lines for constant flight times and for flight time by departure date have lines for constant arrival dates).
 
Looking forward to this, Piper. I've thought about installing btp, but I think I'll hold off and wait for your tool instead.
 
Probably not, since the whole point of doing it this way is to find the best trajectory without doing any additional burns.
If someone does come up with a slightly off-course trajectory, couldn't they just put their state vectors into your program and calculate the best way to correct the trajectory? (more likely, they'd need to put in the state vectors they WILL be in at the time of the burn, unless you're program can setup a 'future burn')
Looking forward to this, Piper. I've thought about installing btp, but I think I'll hold off and wait for your tool instead.
It's hardly an installation. As long as you have Java, you just click a link, wait a few seconds, and the applet opens. It doesn't really install very much to your computer.
 
(more likely, they'd need to put in the state vectors they WILL be in at the time of the burn, unless you're program can setup a 'future burn')

No, Piper's program takes input as elements, not state vectors. In a two body newtonian system, elements are constant with time. Of course, the solar system is a multi-body relativistic system, but elements are still laregly constant over human timescales. (Orbiter is not relativistic, but I assume that the ephemeris data for Mercury does include relativistic precession. Still, the correction is small on short timescales).
 
No, Piper's program takes input as elements, not state vectors. In a two body newtonian system, elements are constant with time. Of course, the solar system is a multi-body relativistic system, but elements are still laregly constant over human timescales. (Orbiter is not relativistic, but I assume that the ephemeris data for Mercury does include relativistic precession. Still, the correction is small on short timescales).

:hesaid:Ya, what he said. lol.

Since you can put in your own custom elements, you could theoretically figure an optimal correction burn (and time of mcc), but doing two separate burns completely defeats the purpose of the program, and that is to calculate the best trajectory that doesn't require any additional burns.

As for accuracy, I'll be incorporating VSOP87 (which I believe is what Orbiter uses) so it should be theoretically accurate within about 1 arc second over the period from:

2000 BC to 6000 AD for the planets Mercury to Mars.
1 BC to 4000 AD for Jupiter and Saturn.
4000 BC to 8000 AD for Uranus and Neptune.

It won't account for relativistic effects for the trajectory, but neither does Orbiter so that won't be a problem.
 
It's very simple to do course corrections with TransX anyway, that's never been difficult. It's building the overall plan that's a bit harder.
 
Back
Top