Sunday, June 16, 2013

KSP: Interplanetary Transport Ships I & II

Kerbal Space Program is my new favorite game, at least until Gran Turismo 6 comes out in the Fall. If you haven't tried it out yet, you should do so. (But only if you have many hours to spare while you discover just how hard it is to even get into orbit.)

Having gotten the hang of landing on Kerbin's moon (Mun) and return, I decided to move on to bigger and better things and build an interplanetary ship back in version 0.18 of the game. (It's still in development, so v1.0 is yet to be released.) The actual propulsive requirement for an interplanetary ship is not unreasonable, given the available parts, and Kerbals don't really care about other resources like water, food, and time. (Radiation shielding? Not important. They're already green.)

I speculated that the first Interplanetary Transport Ship could, with a Kerbin Orbit Rendezvous flight plan, make a trip to Duna, the Kerbol equivalent of Mars, and back. The trick is to dock two ships in low Kerbin orbit, transfer fuel to one, and then use whatever fuel is remaining in the second ship to boost two-ship combo towards deep space, into a highly-elliptical orbit of Kerbin.


The second ship then turns around and returns to Kerbin (using almost no fuel) while the fully-fueled ship continues to burn past Kerbin escape velocity and onto an interplanetary transfer orbit. It's very efficient, assuming you've timed your transfer correctly, leaving you with a nearly-full ship on the way to another planet, in this case Duna:

My method for timing the transfer was to print and cut out a paper triangle and wait for the planets to line up on the edges...
Another necessary technique for interplanetary travel is aerobraking: using the atmosphere of a planet (or moon) to slow you down, instead of rockets and fuel. It's a pretty complicated aerodynamics problem to figure out how deep into the atmosphere to go to reduce your speed by a desired amount. One option is to take multiple shallow passes, reducing your speed little by little, orbit by orbit. But what if you are attempting aerocapture: braking enough to be captured from a hyperbolic escape trajectory into a planet's orbit. There, you get only one chance. Too much and you are crashing to the surface. Too little and you are skipping back off into space.

Arriving at Duna on a hyperbolic flyby trajectory...set up for an aerocapture.
It turns out that there's some relatively simple calculating that one can do using only parameters readily available in KSP. I found this in a paper and presentation on aerobraking from an academic conference. There's still a lot of maths involved, but I arranged the important equations into a simple spreadsheet. Enter the current orbital data (speed and altitude) and the aerobraking altitude at periapsis (closest approach) for a particular body, and it will calculate the exit orbit. But does it work?

AAAAAAAAAAAHHHHHHHHHHHHH!
Aaaand capture.
After trying it out a few times on Duna and Kerbin, I can say for sure that that formula works. If you use the pre-aerobraking periapsis, the output orbit will be somewhat less energetic than predicted (lower apoapsis), but I think this is mostly due to the slight reduction in periapsis that occurs at the front end of the aerobraking pass. If you use the true periapsis from the middle of the pass, the result should be even more accurate. Of course, that's not useful for mission planning, so a more practical tip is just to leave some margin for error by targeting a higher exit orbit than you really want. 

The simple formula works for hyperbolic escape trajectories as well (possibly even better than for elliptical orbits, since the predicted periapsis is not going to change much when you enter the atmosphere on such an energetic, straight-line path). So, for aerocapture it's a very useful tool. Something from real-world rocket science is actually applicable to KSP! That was probably the most exciting KSP discovery for me yet. And it allowed me to get to low Duna orbit with essentially a full tank remaining.

Getting down to the surface of Duna is, without a doubt, the hard part.

As the Mars analog in KSP, Duna presents the same challenges to its potential landers as the real thing. The atmosphere is thick enough to permit the use of aerobraking and parachutes, but too thin to land on chutes alone, especially with the mass of a fully-fueled interplanetary ship coming down. I forgot that I had put four large parachutes on the ship for exactly the purpose of slowing it down, so I opted instead for a terrifying completely-powered descent on rockets. (Same as landing on Mun, but with much more gravity.) It was so terrifying, in fact, that I really didn't have time for screenshots on the way down. But here's the massive craft, landed safely on a slight incline:


The deorbit and powered descent took, in total, 2,059m/s of delta-v (the most convenient metric of propulsive effort, since it is independent of the mass of a craft). Though it didn't exist at the time, the official delta-v map of the Kerbol System suggest an ideal Duna landing from low orbit can be done on about 1,380m/s of delta-v, which I believe, since my landing was far from ideal. The ascent was much better, clocking in at 1,532m/s, plus an additional 110m/s for inclination adjustment to get in plane with Kebin's orbit for the trip home.

All tallied up, the round-trip mission from Kerbin orbit to Duna surface and back racked up 5,576m/s of delta-v from the primary ship and an additional 928m/s boost from the Kerbin Orbit Rendezvous ship. Had I used the ship as originally planned (staging all four side tanks and LV-N engines at the same time), the available delta-v would have been 5,685m/s, still enough to make the trip, but just barely. Mid-trip, I decided on the more efficient method of dropping two tanks at a time, reducing the weight of the remaining ship and extending the range a bit. But that gave me an idea for an even more capable ship, which I have now built...

Interplanetary Transport Ship 2

You'll also note the change in aspect ratio, indicating I can finally run KSP on full 1920x1080 on my new laptop!
This ship is built in v0.20 of the game, which has several new additions such as solar panels, new engines, and reentry effects (visual only, for now).

It's almost the same ship, and the launch booster is in fact identical, but there are subtle differences to the transport ship (what you see above) that make it much more capable than the last. The main difference is that two of the LV-N nuclear engines have been swapped out for LV-T30 liquid fuel engines. (Both engines use liquid fuel...the LV-N is much more efficient but also has much lower thrust.) This opens up the possibility of high-thrust ascent. The ship can even, just barely, lift off from Kerbin. (It would not be able to reach orbit, I don't think.) More interestingly, it has a comfortable thrust margin for lifting off from Laythe, the only other inhabitable body in the Kerbol system. Yes, this ship is designed for a round-trip mission to Laythe, just as the last was designed for a mission to Duna.

A Laythe mission would require very careful planning, and mostly likely both Kerbin and Laythe Orbit Rendezvous for refueling. (A total of three ships? Maybe even more.) And a completely powered descent to Laythe is pretty much out of the question - it will have to be parachute-aided. This is difficult since there isn't much land to target on the watery Kerbin-sized moon. However there's no fuel to waste tweaking the entry; almost an entire full tank of fuel is required for Laythe ascent, I think. It will be much, much harder than the Duna mission, but I think a relay team of these ships is capable of pulling it off, now that the problem of Laythe ascent stage has been solved by swapping two engines for ones with more thrust.

The beauty of the swap is that it doesn't hurt the efficiency of interplanetary burns at all. Two LV-Ns are just as fuel-efficient as four. The burns are just twice as long. Furthermore, the shorter LV-T30 engines leave enough room for some small fuel tanks. So although the ship is 3.9% heavier at launch than its predecessor, it carries 6.3% more fuel. A larger ratio of fuel to non-fuel means more delta-v. If used entirely for interplanetary burns (no atmospheric burns), and if the two empty tanks are dropped when they run dry, the available delta-v from the LV-Ns is 7,346m/s! Looking at the master map again, that's enough to go almost anywhere...


The mission outline might be something like this:
  1. Two ITS2 ships dock in low Kerbin orbit. One is maxed out on fuel. The other is used to boost the first into a Jool transfer orbit, or as close as possible to one. (The primary ship can finish off the transfer burn.) The boost ship returns to Kerbin.
  2. The first ship to Jool aerobrakes into an orbit that intersects that of Laythe. (Basically recreating this scene from 2010.) It then aerocaptures into Laythe orbit. All using minimal fuel.
  3. Repeat steps 1 and 2. A second ship is now in Laythe orbit. The two execute a first Laythe orbit rendezvous. The lander ship (either of the two) is refueled.
  4. Lander ship decouples and deorbits, landing on Laythe with the aid of parachutes. This is the trickiest operation, since there is very little land mass to aim for and almost no fuel can be wasted for tweaking the descent. Only a small burn at the end to slow the craft to landing speeds should be necessary.
  5. Lander ascends, using most of its fuel to get into Laythe orbit and re-rendezvous with the orbiting ship.
  6. The two ships return to Kerbin together, possibly first diving towards Jool to build up speed for a transfer burn? If this isn't possible, all crew and fuel would have to be transferred to one ship for the return. (Each ship is partially-crewed at the start for this option?)
It's a bit sketchy, but none of it seems impossible with the new ship. As long as it can get off of Laythe, the rest comes down to refueling waypoints. Before I take on the challenge, though, a few shakedown tests of the new ship:
A quick trip to Mun...
And my first landing on Minimus.
Did you know that it's possible to orbit a Kerbal on Minimus using jetpack propulsion? Deorbit did not go as well...
A test mission to the Joolian system, into Laythe orbit, and back is also in order to get a feel for transfer burn delta-v, aerobraking heights, and the best return path. (Dive towards Jool or direct from Lathe? My hunch is diving is much better.) I may also attempt to make some accessories to take. (Rover? Habitation module? Unmanned probes for testing Laythe descent trajectories?) For now, though, the primary ship looks solid and ready. Here are some specs:

Interplanetary Transport Ship II (ITS2)
Crew: 3
Empty Mass: 25.93t
Fuel Capacity: 34.00t
Full Mass: 59.93t

Engines: 2x LV-N, 2x LV-T30, 1x Rockomax "Poodle"

Maximum Thrust: 770kN (78.52t) 
Maximum Full Acceleration: 1.310g
Maximum Empty Acceleration: 3.028g

Range (Lander Configuration): ~5,340m/s
Range (Interplanetary Configuration): ~7,350m/s

3 comments:

  1. your post last year about this game is what got me turned on to it. It has seriously turned into an obsession for me and its been great :) thanks for this mission plan and i look forward to your results.

    On the off chance you are looking for a little bit of extra fun. I would look at the ISA mapsat plugin. it is helpful for mapping and finding sites for exploration.

    Also, if you are planning on taking a rover, make sure it can swim :)

    ReplyDelete
  2. Great ideas about intermediate interplanetary refuelling stops. maybe if they were space stations, you could reuse the, for other missions going out of the Kerbin gravity well? you'd have to send refuelling ships to the stations every once in a while, but if a staion could hold more fuel then a single one of your refuelling ships, it would be more efficient in the long run.

    ReplyDelete
    Replies
    1. Definitely true. A refueling outpost in Laythe orbit is a good idea. I also eventually want to make a space plane for landing on Laythe since it will give me a lot more range for exploring. Right now I am just hoping to hit land...

      Delete