damerell

Ascent profile challenge

54 posts in this topic

@hvacengi We don't have a kOS assisted entry yet, I'd be curious to see one even if it didn't get top spot.

Share this post


Link to post
Share on other sites
58 minutes ago, hvacengi said:

Do you have an intended "limit" to submissions?  I'm going to modify my kOS scripts to work with this design (it's a bit out of my own normal parameters) but figured it would be good to know a realistic "deadline" (also, my ADHD does better with deadlines...).

I fear this is not directly helpful to your ADHD, but as far as I'm concerned, I see no reason to close the challenge unless a subsequent KSP release means the game mechanics change the likely numbers. In particular, I think it will always be interesting to get new submissions which either use a new technique or improve on the best score from some existing technique - so a kOS entry would be very useful. (So would more FAR entries, since so far we have only me putting in some vaguely plausible numbers and pressing Go).

3 hours ago, killakrust said:

FYI, this does not qualify for the challenge (I assume), but if you remove the winglets you will save 10 LF due to less weight and drag:

Indeed, it doesn't - the craft is over-wingletted and over-reaction-wheeled to allow people who want to make heavy use of those to do so without having to add extra parts. Which is a bit harsh if you'd ditch the extra weight, but it's intentionally not a design challenge.

Share this post


Link to post
Share on other sites

https://youtu.be/dPvG5ztdVaM

Link to craft and code.

`.craft` goes into `ships/VAB` or `saves/[mysave]/ships/VAB`

All `.ks` files go into `ships/script`, kOS will create the folder on startup but you can create it if kOS hasn't yet.

Select `boot.smart.ks` as the boot script, launch, and hit H when prompted.

Atmosphere: stock -- Final orbit: 186.5km x 182km -- Liquid fuel remaining: 134.65

 

EDIT:

http://imgur.com/D73V5LK

Same script and ship; although make sure the control surfaces are set to 0% for all controls.

Atmosphere: FAR -- Final orbit: 182.3km x 181.1km -- Liquid fuel remaining: 145.7

Edited by space-is-hard
Update

Share this post


Link to post
Share on other sites

Hello! Love this kind of challenge! Here is my entry:

Mods:

- kOS

- FAR

 

Album of pictures 

Description of code:

- Begin ascent following a predefined square root profile and the throttle locked to a preset value (in this case 40%)

- The script has a persistent staging code. It will automatically stage when fuel has run out.

- After the Dynamic Pressure drops below 90% of the max the script switches from following the predefined pitch to orbital prograde.

- Wait until the ships pitch (ship pointed straight up is 0 degrees) exceeds 75 degrees. Then full throttle.

- Maintain full throttle until apoapsis is 90% of target altitude. Then reduce throttle to 50%.

- End burn when apoapsis is greater than target altitude, maintain surface prograde (to reduce drag) until outside the atmosphere. Then warp to apoapsis.

- Point ship orbital prograde with SAS, wait until estimated half way burn time eta to apoapsis. Begin burn at full throttle.

- Cut off when periapsis is greater than 180 km.

 

Final liquid fuel: 142.96

 

Script:

declare parameter OrbitAlt.
set ship:control:pilotmainthrottle to 0.
clearscreen.
set circstage to 3.

set flightmode to 0.
set compass to 90.
//set OrbitAlt to 100000.

lock pitch to sqrt((90^2)*altitude/70000).

lock steering to heading(compass,90-pitch).
set thrustset to .4.
lock throttle to thrustset.
stage.
set starttime to time:seconds.
wait 1.
set MAX to maxthrust.
set BurnTime to 0.
set DeltaV to 0.

lock e to ship:orbit:eccentricity.
lock a to ship:orbit:semimajoraxis.
lock u to ship:body:mu.

when maxthrust < MAX OR availablethrust = 0 then {
    lock throttle to 0.
    stage.
    lock throttle to thrustset.
    set MAX to maxthrust.
    preserve.
}

lock Q to 1000*ship:dynamicpressure.
set MaxQ to Q.
lock AeroSwitch to Q/MaxQ.

until periapsis >= 180000 {

    if MaxQ <= Q {
        set MaxQ to Q.
    }
    
    if flightmode = 0 and AeroSwitch < .1 {
        lock FPAorbit to VANG(UP:vector,velocity:orbit).
        lock pitch to FPAorbit.
        set flightmode to 1.
    }
    
    if flightmode = 1 AND pitch >= 75 {
        set thrustset to 1.
        set flightmode to 2.
        }
    
    if flightmode = 2 AND apoapsis >= .9*OrbitAlt {
        lock throttle to .5.
        wait .5.
        set flightmode to 3.
    }
    
    if flightmode <= 3 AND apoapsis >= OrbitAlt {
        lock throttle to 0.
        wait .5.
        set flightmode to 4.
    }
    
    if flightmode = 4 {
        lock Vapo to sqrt(((1-e)*u)/((1+e)*a)).
        lock Vcir to sqrt(u/(apoapsis + ship:body:radius)).
        lock DeltaV to Vcir - Vapo.
        lock BurnTime to .5*DeltaV*(mass/max(.0001,availablethrust)).
        lock steering to srfprograde.        
        set flightmode to 5.
    }
    
    if flightmode = 5 AND altitude >= 70000 {
        unlock steering.
        set SASMODE to "PROGRADE".
        SAS ON.
        wait 5.
        warpto(time:seconds + eta:apoapsis - BurnTime - 10).
        set flightmode to 6.
    }
    
    if flightmode = 6 AND BurnTime >= eta:apoapsis {
        lock throttle to DeltaV*(mass/max(.0001,availablethrust)).
        set flightmode to 7.
    }
        
    print "Flight Mode      " + flightmode at (0,1).
    print "MaxQ             " + round(MaxQ,2) at (0,2).
    print "Q                " + round(Q,2) at (0,3).
    print "Pitch            " + round(pitch,2) at (0,4).
    print "Ship Pitch       " + round(VANG(UP:vector,ship:facing:vector),2) at (0,5).
    print "Apoapsis         " + round(apoapsis,2) at (0,6).
    print "Target Apoapsis  " + round(OrbitAlt,2) at (0,7).
    print "Time to Apoapsis " + round(eta:apoapsis,2) at (0,8).
    print "BurnTime         " + round(BurnTime,2) at (0,9).
    print "Throttle         " + round(throttle,2) at (0,10).
}

lock throttle to 0.
unlock all.
set finishtime to time:seconds.
set totaltime to finishtime - starttime.
print "Time to Ascent       " + round(totaltime,2) at (0,20).

 

Share this post


Link to post
Share on other sites

I've attempted to update the OP, only to have the ropey table support choke on me before TheGreatFez's entry. I'll try and sort it out later. Also, I wonder if MechJeb can reclaim the FAR crown?
Let me know what silly mistakes I've made, etc. :-/

Share this post


Link to post
Share on other sites
On 12/13/2015, 6:27:04, damerell said:

Special mention for most gratuitously METAL entry

Sorry about that, I didn't think OBS would record my music playing as well.

Share this post


Link to post
Share on other sites
2 hours ago, space-is-hard said:

Sorry about that, I didn't think OBS would record my music playing as well.

Don't apologise; no harm done. I quite liked the soundtrack.

Share this post


Link to post
Share on other sites

Not sure if this will count, but I haven't seen anyone try this yet.  Since this challenge is most left over LF in orbit I maximized my payload as such.  There is a fair amount of oxidizer left over from a fully fuel laden vessel. However, if you take all the oxidizer out of the last stage, you can get to the orbit on the swivel alone, top tank full of LF, with some to spare.  Here's my possibly legit submission. Manual launch, 198 LF remaining.

 

 

 

 

Edited by MadChris48

Share this post


Link to post
Share on other sites
1 hour ago, MadChris48 said:

However, if you take all the oxidizer out of the last stage, you can get to the orbit on the swivel alone, top tank full of LF, with some to spare.  Here's my possibly legit submission. Manual launch.

Totally valid technique under normal circumstances, unused fuel weight is potential payload weight that could've made it to orbit. Good lesson to learn for anyone building rockets. But.

Although the rules allow tweaking of the craft in some ways, and this can be considered tweaking, I'm leaning towards this instance not qualifying, since OP states that it's a piloting challenge foremost, not design, and no craft parts may be removed. The fuel quantity in the craft is in essence a 'part' of the craft as designed.

 

Thinking on your example though: since the craft is multi-staged and staging is obviously implied and allowed, I wonder if 1) premature staging to shed weight would have a beneficial effect on the end result (eg. not burning the entirety of the boosters), and then if yes, 2) whether that particular variant of the above trick would fall within the rules.

Let's see what damerell says.

 

Edited by swjr-swis
afterthought

Share this post


Link to post
Share on other sites
7 minutes ago, swjr-swis said:

premature staging to shed weight would have a beneficial effect on the end result (eg. not burning the entirety of the boosters)

As long as the boosters are providing more thrust than weight, they are beneficial and dropping them will reduce delta-v (and therefore fuel required to orbit a specific payload)

Share this post


Link to post
Share on other sites
2 hours ago, space-is-hard said:

@MadChris48

Probably not gonna fly by the rules of the challenge, but I'll be damned if that ain't clever as hell.

yeah, wasn't sure it would, and was leaning toward probably not; but its worth a shot. thanks for the clever points :D

Edited by MadChris48

Share this post


Link to post
Share on other sites
1 hour ago, swjr-swis said:

Although the rules allow tweaking of the craft in some ways, and this can be considered tweaking, I'm leaning towards this instance not qualifying, since OP states that it's a piloting challenge foremost, not design, and no craft parts may be removed. The fuel quantity in the craft is in essence a 'part' of the craft as designed.

I get this is a piloting challenge first (didn't you notice my sleek flight profile?:cool:)

I totally understand it can be considered anywhere between a 'tweak' to straight up 'removing parts'.

However, my arugment would be that the challenge is for least LF used to get to orbit, and OP did give some tweaking leeway; which, IMO, removing the unused oxidizer to reach said orbit is 'tweaking' and not re-design of the vessel (technically, I'm not removing parts as part count does not change).

Up to OP in the end, just thought I'd bring a new angle to the challenge. :sticktongue:

Edited by MadChris48

Share this post


Link to post
Share on other sites

Manual control in stock aero.

Set all thrust limiters to 100% and separated the LV-T45 engine from the first stage.

launched and kicked over to about the 60° mark.

Approaching Mach 1 I activated follow prograde.

Held the nose up a little at about 15km then went back to prograde hold.

killed core engine when apoapsis was at 80kn and coasted to just before apoapsis, Used up remaining fuel in core and activated final stage bringing apo to just over 180km then circularized.

 

157 fuel left for a 180x183km orbit.

 

ascent%20profile%20challenge_zpsjgweszde

1 person likes this

Share this post


Link to post
Share on other sites
On 2015-12-13, 7:09:31, sdj64 said:

This is not constructive at all, besides, everyone says for challenge posters to read the challenge submission guide but anything about contestants?  Nope.  See "no one likes a wiseguy".

Wheatons Law is applicable, no?

Share this post


Link to post
Share on other sites
14 hours ago, space-is-hard said:

@MadChris48

Probably not gonna fly by the rules of the challenge, but I'll be damned if that ain't clever as hell.

That's exactly my take on it. Very ingenious, but the amount of LF remaining is just being used as a proxy for the amount of dV available.

10 hours ago, Reactordrone said:

Manual control in stock aero.

And a good score. I think that's because the craft is over-TWRed at takeoff. The engine's in stage 1, but I expected to throttle it off in the initial stages of the ascent. Moving it to stage 2 has the same effect.

Share this post


Link to post
Share on other sites
12 hours ago, DoctorDavinci said:

Wheatons Law is applicable, no?

Yes but some people forget to consider it so it's good to remind everyone once in a while.

 

I attempted this with manual control and the Better Time Warp mod as well as KER for info.  It was run on mostly 0.5x and 0.25x speed.  The boosters were tweaked to 70% thrust and the fins were locked.  At 50 m/s the turn was started and I pretty much kept it on the bottom edge of the navball prograde circle the whole way up.  Throttle was reduced to 2/3 at 150 m/s and then turned back up to full at around 600 because the angle was dropping too fast.  I did not go into a low orbit first and then raise it, rather just went up to 180 km.  There was 136 Liquid Fuel remaining.

 

 

 

 

Edited by sdj64

Share this post


Link to post
Share on other sites

I hand-flew the craft in FAR to a 180x182km orbit with 145 LF remaining.  The basic strategy was to do a shallow ascent to 65k apoapsis at nearly orbital speed (to get maximum Oberth Effect contribution).  I temporarily cut the main engine when the dynamic pressure got too high and then restarted it later.  After reaching 65km apoapsis, I pushed apoapsis to 181.5km (to allow a little extra for drag losses since 65km is still within the atmosphere), then circularized.

Imgur album below shows progress and describes the ascent profile in more detail.

 

Share this post


Link to post
Share on other sites
On 12/18/2015 at 8:53 PM, Reactordrone said:

Manual control in stock aero.

Set all thrust limiters to 100% and separated the LV-T45 engine from the first stage.

launched and kicked over to about the 60° mark.

Approaching Mach 1 I activated follow prograde.

Held the nose up a little at about 15km then went back to prograde hold.

killed core engine when apoapsis was at 80kn and coasted to just before apoapsis, Used up remaining fuel in core and activated final stage bringing apo to just over 180km then circularized.

 

157 fuel left for a 180x183km orbit.

 

 

Nice job, can I suggest a couple tweaks that might get you even better in stock?

(1)  Launch with all three engines and then cut the center one at around 350 m/s.  You want to get up to speed off the pad as quickly as possible.

(2)  Aim for an even lower initial apoapsis, maybe 65km like I did (in FAR).  Air drag is so negligible at 65km that you will more than make up for it with the added Oberth Effect benefit.

I'd be curious to see if those would allow you to do even better...

 

Share this post


Link to post
Share on other sites

And updated... I might have known we'd have a tie at some point. :-)

Share this post


Link to post
Share on other sites

Gave it another go see if I could improve. This was a hands free ascent SAS off.

Immediately upon clearing the pad pushed over 15° and allowed the ship to do a natural gravity turn until apoapsis was 70km.

At around 65km altitude I pushed the apoapsis up to 180km then coasted up and circularized,

181km x 180km with 168LF left

ascentchallenge2_zpshjf0ioko.jpg

 

Seems fairly reproduceable, I had 164 LF left the first time I tried but I overcooked that one and brought my apo up to 208km and had to reduce it.

A HHGTTG quote seems apt,

Trillian- Oh, that's better. have you managed to make sense of the controls?

Ford- No...we just stopped fiddling with them.

 

Also I should mention that I had the LV-T45 in the second stage as on my first run.

Edited by Reactordrone
Added Hitch hiker's guide quote.
1 person likes this

Share this post


Link to post
Share on other sites
On 2015/12/20 at 8:08 PM, Yakky said:

 

Nice job, can I suggest a couple tweaks that might get you even better in stock?

(1)  Launch with all three engines and then cut the center one at around 350 m/s.  You want to get up to speed off the pad as quickly as possible.

(2)  Aim for an even lower initial apoapsis, maybe 65km like I did (in FAR).  Air drag is so negligible at 65km that you will more than make up for it with the added Oberth Effect benefit.

I'd be curious to see if those would allow you to do even better...

 

I do something like this, but only for the first 100m/s or so.

That engine loses a lot of ISP in the thicker air, and crowding mach-1 while in the lower atmo is just counter-productive.

 

That said though, I do not see how they manage such high efficiency.

I can trivially get 146LF left, but even with 10 retries I never exceed 150.

 

Now if only I was allowed to sell off that unusable Monopropellant, the unneeded fins, and the surplus oxidizer.

Ah well!

 

 

No official entry until I figure something better.

Share this post


Link to post
Share on other sites
2 hours ago, MarvinKitFox said:

That said though, I do not see how they manage such high efficiency.

I can trivially get 146LF left, but even with 10 retries I never exceed 150.

It can be done, and even improved.

 

My profile is very similar to Reactordrone's, and just as easily reproduced (5 attempts all got between 160-169 LF remaining):

  • In the VAB, move the center engine up one stage, with the booster decouplers.
  • Set all engines to 100% thrust.
  • Tilt the rocket forward/eastwards 5 degrees. That's one notch (holding shift) of the rotate gizmo on the command pod.
  • Engage SAS, set full throttle, stage.
  • Just before hitting 30m/s, click follow prograde.
  • Stage as soon as the boosters flame out. Let it keep following prograde. If you timed the previous step right, some parts will get critically hot but nothing will explode.
  • Switch to map view and watch the apoapsis slowly rise. Cut engine just before it reaches 71km. You should have about 3 minutes and change to wait. Go back to watch the pretty light show for a bit.
  • At around 70km or 25 seconds before reaching apoapsis, go full throttle again. There should be about 10-15 seconds worth.
  • When the engine flames out, cut throttle (!), stage, then switch to map view.
  • Click the apoapsis (should already be up to about 125-135km), then hit full throttle again, and cut when apoapsis hits 180km.
  • Set a maneuver node at apoapsis to circularize if you wish, you have about 13 mins time. The node should need around 80-85m/s, or 4-6 secs burn time.
  • Even with less than perfect timing at any of the steps, you should be able to get to 180x180 or higher with at least 160 LF remaining.

 

Share this post


Link to post
Share on other sites
On 12/20/2015 at 7:08 PM, Yakky said:

(1)  Launch with all three engines and then cut the center one at around 350 m/s.  You want to get up to speed off the pad as quickly as possible.

(2)  Aim for an even lower initial apoapsis, maybe 65km like I did (in FAR).  Air drag is so negligible at 65km that you will more than make up for it with the added Oberth Effect benefit.

@Yakky I tried both of these suggestions a few times, together and apart. Both yielded worse results on a manual ascent in stock atmosphere. Even without the center engine, the rocket will hit supersonic well before flame out, so any additional thrust in that stage would be wasted and best saved for the rest of the ascent. Also, it seems the sweet spot for the first apoapsis is around 71km. Whatever is saved on the first run does not outweigh the additional fuel needed to lift the rocket to 180km on the second stretch.

Share this post


Link to post
Share on other sites

And a slight variation to the hands free profile I used above. Same deal, boosters first stage, LV-T45 into the second stage. SAS off and 15° turn on lift off with continuous burn of liquid fuel stage at 100% until 188km Apoapsis is indicated. Cut throttle and coast to apo (which has dropped to 183km due to drag) then circularize.

180km x 184km with 170LF remaining.

 

ascentscreenshot120_zpsjm1odl0n.jpg

Edited by Reactordrone

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now