Jump to content

Shuttle-Style Descent Guidance Display (RPM?)


Comet Tail

Recommended Posts

So, something I've had a lot of trouble with recently is optimizing non-atmospheric descents. I've found, though, if I could have one display, this would be immensely easier.

De-orbiting is pretty straightforward. The part that's problematic is when it comes time for the vertical powered descent. Mechjeb, for some reason (perhaps due to me using RSS), likes to kill my crew ("Oh, you told me to touch down at 0.2 m/s? You mean 200 m/s, right?"), so I can't use it.

Usually I put myself in a position where after the de-orbit (nulling horizontal velocity), I'm at an altitude of about 10 km.

Now, the trick is getting the right vertical speed for the right altitude. This is fairly easy to calculate, though. If I'm going only, say, 30 m/s at 8 km, then I waste a lot of fuel and time. But of course, if I'm going too fast too low, then I'll end up smacking into the surface.

I've graphed this here: https://www.desmos.com/calculator/hgxtqzadik

Constants to enter are a, g, and m. X-axis is negative vertical velocity (or "hdot" for ye hardcore space explorers, in m/s), and Y-axis is radar altitude (m).

a = craft's current maximum acceleration, as given by Mechjeb's "Vessel Info" tab, in m/s^2.

g = surface gravity of selected body

m = an arbitrary number in-between 0-1, that I've set to 0.9 (perhaps you could set it in a config somewhere?)

The purpose of "m" is to provide some reference; if you come in too slow, you'll run out of fuel, so you want an upper limit. Also, if there's only one line there, you'll have a natural tendency to push as close as you can to that line.

[big note: I'm going to refer to that original line from henceforth as the "primary descent curve," or "primary" for short.]

Now, granted, of course your craft will lighten as it burns fuel, but typically for these descents it won't be by a whole lot; and it provides a nice little safety margin if we don't take that into consideration, anyways, so I'm ignoring that and saying these displays use the ship's current stats. Plus, that would make it all a bit more complicated and you'd need to take your ISP into account :P

Anyways, I've gotten a little carried away with Inkscape and that graph, and built a little dream-display that's very space-shuttle-GPC-esque:

(Yes. "Shuttle-style." Because the space shuttle has cool displays. Link1 Link2)

Javascript is disabled. View full album

Kerbal's guide (explanations just to use it).

The display is a graph. The further right you are, the more quickly you're descending. The further up you are, the greater your radar (actual) altitude. The Yellow circle with the plus in it is your craft's current position on the graph. The yellow dashed line is the computer's prediction of where you'll go, based on your current throttle and pitch. The little yellow triangles are a "tail" you'll leave behind, to mark where you've been on the graph for the past 25 seconds (each triangle is 5 seconds. Yes, I drew the wrong number of triangles in this illustration :P).

The lower green line is the curve you'd follow with your craft's engines at full throttle (neglecting the effect of your craft lightening as it burns fuel). The upper green line is simply there to define a corridor you should try to stay in. As long as you're in-between these lines, then you won't have an issue with fuel, or becoming a burnt lunar pancake! :)

Now, of course, as soon as you finish nulling your horizontal velocity, you're going to be way to the left of the graph because you're probably not falling very quickly. That's okay. Just cut off the engine (or minimize the throttle if you're using the Engine Ignitor mod), let yourself fall into the corridor (you'll drift right and down with your engine off), and start using it when you enter the corridor. You won't have fuel issues if your engines are off while you're outside the corridor.

ALT: Radar altitude

HDOT: Vertical speed (hdot means "change in h per time")

HDDOT: Vertical acceleration

HRZ VEL: Horizontal Velocity

-CRS: The opposite of the direction of your horizontal velocity. If you're drifting towards 224* South-West, your -CRS would be 44* NE. This is very useful and helpful because it tells you which way to point the nose to kill your horizontal velocity.

H: Heading

P: Pitch from vertical

T: Throttle

If you're below the red abort line, then you've done something terribly wrong, and you need to panic because you're about to turn your lander into a kinetic drill. ACTIVATE ALL BOOSTERS.

Same thing as before, pretty much. It just zooms in once you go below 2 km so you can see it better. And it adds another curve to encourage you to slow down a bit now that you're lower.

Don't panic at the big circle, you will love the big circle. The circle is a navball, except it's centered on straight up, and the white crosshair is the direction your nose is pointing. Pull back on the stick to make it go up, and right to make it go right. You can spin, but that won't do anything. You shouldn't be spinning 'cause that would just confuse things :P.

The yellow crosshair is the direction you're drifting. If you've got it smack-centered, then your horizontal velocity is zero. If you've got it in the innermost circle, your horizontal drift is less than 0.2 m/s. You can move it around, of course, either by "tugging it around" with the white crosshair, or by using RCS side-movement.

ALT, HDOT, and HDDOT mean the same things as before, except now, instead of just telling you a number, they're displayed graphically so you can see what they are at-a-glance. See how the indicator arrows for altitude and hdot are on the same bar? As long as they're close to eachother, then your descent rate is probably pretty good. You only need a general feel of where they are until you get down to the last 20 meters or so.

As for HDDOT; That's not two indicators, that's just a little bow.

Finally, the little numbers at the top:

T 61 is telling you your throttle is 61.

EST T is the computer's estimate of how long it'll take you to touch down (in seconds) based on your current altitude, speed, and throttle.

FUEL is how many seconds of fuel you have left burning at your current rate. Because you're constantly hovering against gravity, this won't change by a whole lot, so you can trust this number to be a pretty good estimate.

If your EST T is larger than FUEL, be concerned. Be very, very concerned. Be concerned with you hand over the abort lever, and listen for the silence of your engine flaming out.

Explanations for any interested developers (lots of detail and such on how it'd work)

Pages 1 and 2 are set up so that X-axis is negative vertical velocity, and Y-axis is radar altitude.

ALT: Self-explanatory. Radar altitude, though, note.

HDOT: Vertical velocity. Change in height over time.

HDDOT: Change in Hdot over time, or, vertical acceleration.

HRZ VEL: Horizontal Velocity

-CRS: Gives the opposite of the direction your horizontal velocity component is going. Say, your horizontal velocity is some speed going towards 224* South-West. Your -CRS would then be 44* NE. This is useful, because it directly tells you which direction to point to null your horizontal velocity while your engines are running.

H: Compass Heading.

P: Pitch from vertical

T: Throttle

The red dashed line takes your ship's current configuration, uses a simplified formula to predict how much delta-vee it'll take to land, finds what your acceleration is after you've expended that much fuel using the current engines' ISP, and averages that with your current acceleration to produce that curve. Basically, if you're below that line, then let's hope to goodness your ascent stage has more T/W or you've got some kind of emergency abort contingency, 'cause otherwise, you'll be taking subterranean surface samples before you leave the craft. Idea: maybe have a "set abort limit" button, where you click it so this computation only has to run once, at the beginning of the descent, rather than always running? That would save a lot of processing and make the line solid, which would be nicer.

The lower green curve is the primary curve I linked on desmos at the start of this post. The upper one, is the one with m included. This gives you a nice little corridor to try to stay in.

Yellow circle with crosshairs is your craft's current position.

Yellow dashed line is your craft's projected trajectory, based on your current altitude, hdot, and hddot.

Yellow triangles record your position in the last 5, 10, 15, 20, and 25 seconds (but I've only drawn three, heh). I got that idea from the Space Shuttle's re-entry display :D

Oh, and little green bars indicate altitude. (8k, 6k, 4k, 3k, 2k)

There's no info on fuel, because if you've designed the craft to be able to do this mission, and you stay in the envelope made by the two green lines, then fuel won't be an issue. If you go above the envelope too long with the engines on*, though, then you might have to start worrying about it.

Finally, the display can be dynamically scaled to work for any craft: simply have the upper altitude at 10km, and the maximum velocity will be determined by the primary curve.

Page 2:

After you cross the 2 km altitude line, the display automatically flips to page 2 (Again, idea from Space Shuttle :D ). You get the exact same data on this page, except the graph has been scaled for clarity. Also, a third line is added to widen the corridor, and because at this point you don't want to be so close to your limit, so it encourages the pilot to proceed at a safer pace.

Page 3:

At 200 m you go into this mode. ALT, HDOT, and HDDOT now have graphical displays so you can immediately ascertain your situation. Note how altitude and hdot indicator arrows are on the same bar: with how this is set up, as long as they're close to eachother, you should be safe. You should only start getting concerned if the hdot side is way above the altitude side; and because of how it's set up graphically; you can tell at a glance.

The Hddot scale is determined by the planet's gravity; it goes from 1g to -1g (engines off). Note that most of the displays here are exponential rather than linear. This way you can know where you are if the number is large, and know with high precision where you are when the number is small. Also, it's one indicator; that's not two arrows, that's a single little bow.

The compass on the right is centered towards the center of the moon/planet. The white cross is your nose' heading, and how far off from vertical it is in degrees (marked in white). The yellow indicator is your horizontal velocity. Either move the nose or tap the RCS to adjust so that it's in the middle. The yellow numbers are m/s surface horizontal speed.

T at top-left is Throttle on the main engines.

EST T is estimated time to touchdown, based on altitude, hdot, and hddot, in seconds.

FUEL is how many seconds of fuel you have left burning at your current rate.

Sooo, yeah. This whole thing was inspired by Raster Prop Monitor, actually (RPM). That's why that's also in the thread title, because I was wondering if this could work as a display for RPM so pilots can fairly easily do powered descents on airless worlds purely IVA.

Thoughts? Takers? I have no programming knowledge, but I can supply all the math, mechanics, and svg, png, etc. graphics.

Link to comment
Share on other sites

this might be nice to add to RPM. you should suggest it to Mihara. An external plugin is possible as well. similar to how horizontal situation display is a plugin for RPM.

Edit: corrected. I was thinking of two different sentences and they merged into one LOL

Edited by nli2work
Link to comment
Share on other sites

this might not be nice to add to RPM. you should suggest it to Mihara. An external plugin is possible as well. similar to how horizontal situation display is a plugin for RPM.

An external plugin like Horizontal Situation Display - that's kinda the direction I meant. I mean, every time you turn RPM on "standby" in the game it showcases itself and what it can do, so I kinda get the impression Mihara would like plugins for it :P I'll link it in that thread.

Link to comment
Share on other sites

Hah! I just realized that each of those curves have a certain amount of time and delta-vee associated with them for a given velocity. I don't know why I didn't realize that before, but check this out!

p0u2JNq.png

Relevant equations are here, added beneath the old ones on desmos.

The vertical bars I added give you the time, in seconds, until touchdown if you're following that trajectory (they're accurate). Since the trajectories assume a constant acceleration of 2.5 m/s^2 (that is, your engines are putting out enough thrust for 2.5 m/s^2, but because you lose 1.8 m/s^2 of that to gravity, your actual deceleration is different; but you're burning 2.5 m/s of delta-vee per second), to get the delta-vee, just multiply the time by that acceleration. The upper curve is for 90% throttle, so use 2.25 m/s^2 for that. And of course, it could give you an estimate for how long until touchdown on your current trajectory (I just noticed that means the number I put for Thrust on this display is way off XP In actuality it should be about 94. Everything else is accurate, though).

Might be a little too much info for piloting, just clutter things up, but it'd sure help with designing the craft to know how much delta-vee is needed for the vertical descent.

Edited by Comet Tail
Link to comment
Share on other sites

This is an incredibly cool idea. I've never written anything for KSP, but I've got a fair amount of experience in C# and might be able to work with you on this - the only thing that I'd want is to add a suicide burn indicator since that's my preferred style of landing. Let me read up on plugins for RSS and get back to you.

Link to comment
Share on other sites

That's a cool idea for RPM; love to see it implemented.

In the meantime, though: this is a bit counterintuitive, but the flatter the descent, the more easy it is to control vertical speed. Set yourself to come in sideways about 1km above the terrain (watch out for mountains and crater lips; check the map screen to ensure that your trajectory line doesn't intercept the ground on the way to periapsis) and tweak your nose just above and below retrograde to keep your vertical velocity as close to 0m/s as possible.

If you get your horizontal and vertical both zeroed when you're not too high up, you've got much less chance of misjudging things on the final drop.

Link to comment
Share on other sites

This is an incredibly cool idea. I've never written anything for KSP, but I've got a fair amount of experience in C# and might be able to work with you on this - the only thing that I'd want is to add a suicide burn indicator since that's my preferred style of landing. Let me read up on plugins for RSS and get back to you.

Awesome! :D

Hehe, I'm guessing from the sound of it, that a "suicide burn" is basically kissing the abort line? 'cause I think that's pretty much what the abort line is for - technically, you can make it following the big dashed safety/death rail, but that's really pushing your limit XD

You know that you'd only be saving, like, oh, I dunno - about 50 m/s or so, right? Not much fuel at all, really. But hey, I fly peaceful critters and like big safety margins - but I respect that some folks like to go Jebediah Kerman Thrillmaster with it :P hehe (That's seriously one of my favorite memes of all time - and not just for the fact that it's Kerbals or space).

Oh, and this wouldn't really interact with RSS much, if at all. The tool could easily be built to accommodate any world with the right inputs. The biggest plugin this'd interact with would be RPM; I'd love to see it there if possible.

That's a cool idea for RPM; love to see it implemented.

In the meantime, though: this is a bit counterintuitive, but the flatter the descent, the more easy it is to control vertical speed. Set yourself to come in sideways about 1km above the terrain (watch out for mountains and crater lips; check the map screen to ensure that your trajectory line doesn't intercept the ground on the way to periapsis) and tweak your nose just above and below retrograde to keep your vertical velocity as close to 0m/s as possible.

If you get your horizontal and vertical both zeroed when you're not too high up, you've got much less chance of misjudging things on the final drop.

Heh, your note there about terrain is actually why I follow that approach trajectory. I'm using Hyperedit to zip my ships around and test them out before flying my great tour (see sig) (Hey, if this were IRL I'd have much fancier math smarts, professional engineering teams, and simulations. So, yeah, I don't feel like it's cheating too much to test it first :P ), and I don't have the SCANSAT maps yet, so I'm blind on the terrain, and all I know is that some places are taller than others. So, for safety's sake, I just set my Periapsis to 10 km altitude since I figure that's probably safe enough for these airless worlds (also a quick check on Mechjeb's sea level and true altitudes, so I get a rough idea of what the sea level height is of a random patch of ground).

Good tip, though. Watching hdot on the de-orbit is definitely a good idea.

Link to comment
Share on other sites

Awesome! :D

Hehe, I'm guessing from the sound of it, that a "suicide burn" is basically kissing the abort line? 'cause I think that's pretty much what the abort line is for - technically, you can make it following the big dashed safety/death rail, but that's really pushing your limit XD

You know that you'd only be saving, like, oh, I dunno - about 50 m/s or so, right? Not much fuel at all, really. But hey, I fly peaceful critters and like big safety margins - but I respect that some folks like to go Jebediah Kerman Thrillmaster with it :P hehe (That's seriously one of my favorite memes of all time - and not just for the fact that it's Kerbals or space).

Oh, and this wouldn't really interact with RSS much, if at all. The tool could easily be built to accommodate any world with the right inputs. The biggest plugin this'd interact with would be RPM; I'd love to see it there if possible.

Ooops, meant to write RPM not RSS. And yeah, the suicide burn is the burn which will result in you having exactly 0 m/s velocity at the impact time IF you burn 100% at the suicide burn time. It might only save 50 m/s but 50 m/s is close to enough to get you home from Munar orbit, for instance.

Link to comment
Share on other sites

Hmm. Let's look at this...

I decided to investigate a little. I created a few different curves. The red line is 100% throttle (set by "a"), and each line behind it is 10% less maximum craft acceleration.

I decided to play around and a little and set it all up so I can edit what the craft's maximum acceleration is. If it's only 2.5 m/s^2 with this setup (surface gravity = 1.8 m/s^2, start from free-fall at 10 km then fire engines at full when on curve for suicide burn), then it looks like cutting back throttle to 90% for safety does lose you about 60 m/s, iirc.

However, if your craft's maximum acceleration is about 5 m/s^2 (about 2.5x surface gravity), then it only saves you 10 m/s to use 100% throttle instead of 90%.

Here's the graphs: https://www.desmos.com/calculator/jrovvibmmh

(the black line is the free-fall trajectory. This is assuming that you've nulled all velocity at 10km altitude, then you free-fall until you're on the curve for the descent burn. Tweak "a" for different craft maximum acceleration. g is, of course, surface gravity. dvsuicide, dvt90, dvn, dvo, and dvp, are, respectively, the delta-vee's for 100%, 90%, 80%, 70% and 60% "a.")

So you can see, the greater your acceleration/surface gravity ratio, the less delta-vee you lose for working at less than 100% throttle. At T/W = 2, the savings from going from the 90% throttle curve to the 100% throttle curve are only 10% (about 18 m/s). At T/W = 3, it's only about 7 m/s saved out of 250.

I don't mean to spoil your fun, though. If you want to do a suicide burn just for the thrill of the challenge of doing a suicide burn, then go for it, just know you really aren't saving that much delta-vee XP

But somebody's gotta do it.

4Rjz0R3.png

(PS, have a simple parabola: https://www.desmos.com/calculator/u9yv6b1nyb The X-axis is your velocity. The Y-axis is your stopping distance. E is your error, in seconds. If you're going to miss the altitude you need to fire your engines at by 1/2 a second, and your max speed at that point is 150 m/s (about what it was for the suicide curve I link above), then you're looking at an impact velocity of ~25 m/s. This is also assuming you instantly throttle up. So you may want to throttle up about a second early if it takes you two seconds to throttle up. And maybe, just maybe ​you can get an impact velocity less than 10 m/s... Lower accelerations, though, will mean more possible suicide burns. I'd recommend not going above 2x the surface gravity, and starting with a free-fall from 10km and no more for a hard challenge but something actually doable...)

Edited by Comet Tail
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...