NathanKell

Go For Launch - Cooperative RO/RSS/RP-0 - About to start!

Recommended Posts

Due to the crunch towards exps I've been somewhat busy. Apologies. I will try to formalize things shortly. :)

Share this post


Link to post
Share on other sites

Well, I downloaded RP-0, and got a bunch of serious problems. I've posted on the RP-0 thread, but @pjf isn't responding. Perhaps I'll contact him later.

Share this post


Link to post
Share on other sites

This sounds well and truly awesome :D 

Share this post


Link to post
Share on other sites
On 6/3/2016 at 0:31 PM, Matuchkin said:

Well, I downloaded RP-0, and got a bunch of serious problems. I've posted on the RP-0 thread, but @pjf isn't responding. Perhaps I'll contact him later.

Oh no, I've been travelling like a person who's travelling for five months per year. Have we responded to your RP-0 problems yet? (RP-0 thankfully isn't just me; I just hang around the edges these days.)

Share this post


Link to post
Share on other sites

i am sure there is no shortage of programmers here but i'd like to offer my help as a kOS programmer for automation of several launches and flights, would be used for manned and unmanned to take pressure off the pilot and prevent human error and time delays that are caused by a lack of connection or the speed of light.

There was a bug at the final staging event and it was fixed (a little check of maxthrust that wasnt zeroing out due to the active orbital maneuvering engine) other than that i could automate the flight even more so and make it suitable for unmanned flights, another optimisation i would like to do is the flight trajectory and i'll work with the Trajectory officer to find the most efficient ascent profile.

The code as it stands right now: 

Spoiler

Starting parameters for launch:

Spoiler


CLEARSCREEN.
SAS OFF.
SET DAP TO 180000.
SET StartHeight TO 5000.
SET Frac TO 0.
SET OperationMode TO 0.
SET Angle TO 90.
SET TimeToAP TO 10000.
SET TimePassed TO 0.
SET FirstStageEngine TO SHIP:PARTSTAGGED("FirstStageEngine")[0].
SET SecondStageEngine TO SHIP:PARTSTAGGED("SecondStageEngine")[0].
SET Tminus TO 1200.
SET TPlus TO 0.
SET SHIP:CONTROL:PILOTMAINTHROTTLE TO 0.
SET GoCount To 0.
SET umbilicalCount To 0.
AG13 OFF.
AG14 OFF.
LOCK THROTTLE TO 1.

 

Pre-Launch Go/NoGo checks and countdown:

Spoiler


Until Tminus<0
{

	Wait 1.
	If(Tminus>=0)
	{
		SET Tminus TO Tminus-1.
	}
	On AG13
	{	
		if(GoCount<=21)
		{
			SET GoCount To GoCount+1.	
		}
		preserve.
	}
	print "Flight Computer: "+"NO GO" at(3,3).

	print "Fuel Condition:  "+"NO GO" at(3,5).

	print "Payload:         "+"NO GO" at(3,7).

	print "CAPCOM:          "+"NO GO" at(3,9).

	print "Revocery:        "+"NO GO" at(3,11).

	print "Tracking:        "+"NO GO" at(3,13).

	print "Launch Pad:      "+"NO GO" at(3,15).

	print "Range:           "+"NO GO" at(3,17).

	print "Guidence:        "+"NO GO" at(3,19).

	print "Booster Status:  "+"NO GO" at(3,21).

	print "Mission Control: "+"NO GO" at(3,23).
	
	If(GoCount>0)
	{
		print "   GO" at(20,3).
	}
	If(GoCount>2)
	{
		print "   GO" at(20,5).
	}
	If(GoCount>4)
	{
		print "   GO" at(20,7).
	}
	If(GoCount>6)
	{
		print "   GO" at(20,9).
	}
	If(GoCount>8)
	{
		print "   GO" at(20,11).
	}
	If(GoCount>10)
	{
		print "   GO" at(20,13).
	}
	If(GoCount>12)
	{
		print "   GO" at(20,15).
	}
	If(GoCount>14)
	{
		print "   GO" at(20,17).
	}
	If(GoCount>16)
	{
		print "   GO" at(20,19).
	}
	If(GoCount>18)
	{
		print "   GO" at(20,21).
	}
	If(GoCount>20)
	{
		print "   GO" at(20,23).
	}
	print "                                          " at(3,26).
	print "                                          " at(3,25).
	If(Tminus<1200 AND GoCount=0)
	{
		print "                                          " at(3,26).
		SET Tminus TO 1200.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Flight Computer NO GO" at(3,26).	
	}

	If(Tminus<900 AND (GoCount=1 OR GoCount=2))
	{
		print "                                          " at(3,26).
		SET Tminus TO 900.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Fuel Conditions NO GO" at(3,26).	
	}

	If(Tminus<720 AND (GoCount=3 OR GoCount=4))
	{
		print "                                          " at(3,26).
		SET Tminus TO 720.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Payload NO GO" at(3,26).	
	}

	If(Tminus<660 AND (GoCount=5 OR GoCount=6))
	{
		print "                                          " at(3,26).
		SET Tminus TO 660.
		print "HOLD HOLD HOLD!" at(3,25).
		print "CAPCOM NO GO" at(3,26).	
	}
	If(Tminus<660 AND GoCount>10 AND umbilicalCount=0)
	{
		if(umbilicalCount=0)
		{
			Stage.
		}
		SET umbilicalCount TO (umbilicalCount+1).	
	}
	
	If(Tminus<600 AND (GoCount=7 OR GoCount=8))
	{
		print "                                          " at(3,26).
		SET Tminus TO 600.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Recovery NO GO" at(3,26).	
	}

	If(Tminus<300 AND (GoCount=9 OR GoCount=10))
	{
		print "                                          " at(3,26).
		SET Tminus TO 300.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Tracking NO GO" at(3,26).	
	}

	If(Tminus<270 AND (GoCount=11 OR GoCount=12))
	{
		print "                                          " at(3,26).
		SET Tminus TO 270.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Launch Pad NO GO" at(3,26).	
	}

	If(Tminus<180 AND (GoCount=13 OR GoCount=14))
	{
		print "                                          " at(3,26).
		SET Tminus TO 180.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Range NO GO" at(3,26).	
	}

	If(Tminus<120 AND (GoCount=15 OR GoCount=16))
	{
		print "                                          " at(3,26).
		SET Tminus TO 120.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Guidence NO GO" at(3,26).	
	}
	If(Tminus<120 AND GoCount>18 AND umbilicalCount<3)
	{
		if(umbilicalCount=1)
		{
			Stage.
		}
		if(umbilicalCount=2)
		{
			Stage.
		}
		SET umbilicalCount TO umbilicalCount+1.
	}
	If(Tminus<60 AND (GoCount=17 OR GoCount=18))
	{
		print "                                          " at(3,26).
		SET Tminus TO 60.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Booster Status NO GO" at(3,26).	
	}
	If(Tminus<30 AND (GoCount=19 OR GoCount=20))
	{
		print "                                          " at(3,26).
		SET Tminus TO 30.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Mission Control NO GO" at(3,26).	
	}
	If(Tminus=5 AND (GoCount=21 OR GoCount=22))
	{
		print "                                          " at(3,26).
		print "All Stations GO For Launch " at(3,25).
		if(umbilicalCount=3)
		{
			Stage.
		}
		SET umbilicalCount TO umbilicalCount+1.
		LOCK THROTTLE TO 1.	
	}
	If(Tminus=1 AND  FirstStageEngine:AvailableThrust>1000)
	{
		if(umbilicalCount=4)
		{
			Stage.
		}
		LOCK THROTTLE TO 1.
		SET umbilicalCount TO umbilicalCount+1.
	}
	Else If(Tminus=1 AND  FirstStageEngine:AvailableThrust<1000)
	{
		LOCK Throttle to 0.
		print "ABORTED By Flight Computer! First Stage Engine Shutdown!" at(3,25).
	}
	if(TMinus>=0)
	{
		print "                                                                               " at(3,1).
		print "T- 0"+Floor(Tminus/3600)+":"+Floor(Tminus/60)+":"+(Tminus-(Floor(Tminus/60)*60)) at(3,1).
	}
	On AG14
	{
		print "                                          " at(3,25).
		print "ABORT!" at(3,28).
		SET GoCount TO 25.	
	}
	If(GoCount>=25)
	{
		print "                                          " at(3,26).
		SET Tminus TO 1201.	
	}
	print "Status: "+GoCount at(3,27).
}

 

Ascent Guidance:

Spoiler


Until SHIP:APOAPSIS>(DAP)
{	
	
	If(SHIP:APOAPSIS>DAP-100)
	{
		LOCK THROTTLE TO 0. 
	}
	If(SHIP:APOAPSIS>=StartHeight AND OperationMode=0)
	{
		RCS OFF.
		LOCK Frac TO (SHIP:APOAPSIS-StartHeight)/(DAP-StartHeight-2500) .
		LOCK Angle TO 90-((Frac^1.1075)*93.025).
		LOCK Steering TO Heading(90,Angle).
		SET TimeToAP TO ETA:APOAPSIS.
		print "In OP 0" at(3,9).
	}

	else if(SHIP:APOAPSIS<=StartHeight)
	{
		LOCK THROTTLE TO 1.
		RCS ON.
		LOCK Steering TO Heading(90,Angle).
	}
	IF SHIP:PERIAPSIS>=177500
	{
	 	LOCK THROTTLE TO 0.
		print "In OP 4" at(3,9).
		
	}
	IF(FirstStageEngine:AvailableThrust<100 AND FirstStageEngine:STAGE=STAGE:NUMBER)
	{
		if(SHIP:APOAPSIS<DAP-15000 AND OperationMode<1)
		{
			print "ABORT!!" at(3,15).
			AG10 ON.
			Wait 3 .
			AG11 ON.
			AG12 ON.
			SET OperationMode TO 5.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			LOCK STEERING TO SHIP:SRFRETROGRADE.
			RCS ON.			
		}
		if(OperationMode=0)		
		{
			Stage.
			LOCK THROTTLE TO 0.
			SET OperationMode TO 1.
			SET TimeToAP TO ETA:APOAPSIS.
			print "In OP 1" at(3,9).
		}
			

	}
	IF(OperationMode=1 OR OperationMode=2)
	{

		if (Stage:NUMBER=8 OR Stage:NUMBER=6)
		{
			Stage.
		}
		if(ETA:APOAPSIS<=110 AND OperationMode=1)
		{
			SET OperationMode TO 2.
			LOCK THROTTLE TO 1.
			Stage.		
		}
		RCS ON.
		if((ETA:APOAPSIS)<=300)
		{
			LOCK Angle TO (90-((Frac^1.1075)*93.325))* (ETA:APOAPSIS/105).
		}
		else
		{
			LOCK Angle TO (90-((Frac^1.1075)*93.325))*(TimePassed/15).
			if(TimePassed>(-40))
			{
				SET TimePassed TO (TimePassed-0.01).
			}	
		}
		LOCK Steering TO Heading(90,Angle).
		print "In OP 2" at(3,9).

	}	
	IF(SecondStageEngine:AvailableThrust<10 AND SecondStageEngine:STAGE=STAGE:NUMBER AND OperationMode<5)
	{
		WAIT 0.5.
		if(OperationMode=2)		
		{
			LOCK THROTTLE TO 0.
			STAGE.
			LOCK STEERING TO HEADING(90,0).
			Wait 0.2.
			UNLOCK STEERING.
			SAS ON.
			SET OperationMode TO 3.
		}
		if(SHIP:PERIAPSIS<10000)
		{
			SET OperationMode TO 5.
			print "ABORT!!" at(3,15).
			STAGE.
		}
		print "In OP 3" at(3,9).
	}
	if(OperationMode=5 AND SHIP:ALTITUDE<50000)
	{
		AG11 ON.
		AG12 ON.	
	}
	PrintStats.
	wait 0.01.
}
LOCK THROTTLE TO 0.
Wait 0.2.
STAGE.
LOCK STEERING TO HEADING(90,0).
Wait 0.2.
UNLOCK STEERING.

 

Descent Module (mostly by @ILikeIke):

Spoiler



Until OperationMode>10
{
	IF(Stage:NUMBER=4)
	{
		Stage.
	}
	IF (AG9=true AND Stage:NUMBER=3)
	{
		lock steering to retrograde.
		print "Retrofire sequence in 10 seconds."at(3,19).
		Wait 10.
		print "De-orbit burn initiaed."at(3,20).
		LOCK THROTTLE TO 0.
		Stage. //activates retro pack
		print "Burn Coordinates: " +Round(SHIP:Geoposition:LAT,5)+" , "+Round(SHIP:Geoposition:LNG,5) at(3,21).
		wait 35.
		print "De-orbit burn complete. Jettisoning retro-pack."at(3,22).
		Stage. //jettisons retropack
		set groundInitial to GROUNDSPEED.
		wait until GROUNDSPEED < groundInitial.
		wait 3.
		wait Until ALT:RADAR<80000.
		SET controlStick to SHIP:CONTROL.
		SET controlStick:ROLL to 0.15.
		print "Beginning high-g roll."at(3,23).
		Set OperationMode to 11.
	}
	else if(AG9=False)
	{
		Unlock Steering.
	}
	PrintStats.
	wait 0.01.
}
Until OperationMode>11
{
	IF(ALT:RADAR<12000 AND AG11=False)
	{
		AG11 ON.
	}
	IF(ALT:RADAR<10000 AND AG12=False)
	{
		LOCK STEERING TO Up.
		Wait 10.
		RCS OFF.
		SET controlStick:ROLL to 0.
		Unlock Steering.
		AG12 ON.
	}
	PrintStats.
	wait 0.01.	
}
SET SHIP:CONTROL:PILOTMAINTHROTTLE TO 0.
LOCK THROTTLE TO 0.
Wait Until ALT:Radar<7 .
print "Landing Successful! Coordinates: " +Round(SHIP:Geoposition:LAT,5)+" , "+Round(SHIP:Geoposition:LNG,5) at(3,18).

 

Print Stats Function: 

Spoiler


DECLARE FUNCTION PrintStats
{	
	print "Apoapsis:            " +Round(SHIP:APOAPSIS,3) at(3,3).
	print "Periapsis:           " +Round(SHIP:PERIAPSIS,3) at(3,5).
	print "Current Altitude:    " +Round(ALT:RADAR,3) at(3,7).
	print "Current Coordinates: " +Round(SHIP:Geoposition:LAT,5)+" , "+Round(SHIP:Geoposition:LNG,5) at(3,11).
	print "Current Heading:     " +Round(SHIP:FACING:PITCH,3)+" , "+Round(SHIP:FACING:YAW,3)+" , "+Round(SHIP:FACING:ROLL,3) at(3,13).	
}

 

The entire code:

Spoiler


CLEARSCREEN.
SAS OFF.
SET DAP TO 180000.
SET StartHeight TO 5000.
SET Frac TO 0.
SET OperationMode TO 0.
SET Angle TO 90.
SET TimeToAP TO 10000.
SET TimePassed TO 0.
SET FirstStageEngine TO SHIP:PARTSTAGGED("FirstStageEngine")[0].
SET SecondStageEngine TO SHIP:PARTSTAGGED("SecondStageEngine")[0].
SET Tminus TO 1200.
SET TPlus TO 0.
SET SHIP:CONTROL:PILOTMAINTHROTTLE TO 0.
SET GoCount To 0.
SET umbilicalCount To 0.
AG13 OFF.
AG14 OFF.
LOCK THROTTLE TO 1.
Until Tminus<0
{

	Wait 1.
	If(Tminus>=0)
	{
		SET Tminus TO Tminus-1.
	}
	On AG13
	{	
		if(GoCount<=21)
		{
			SET GoCount To GoCount+1.	
		}
		preserve.
	}
	print "Flight Computer: "+"NO GO" at(3,3).

	print "Fuel Condition:  "+"NO GO" at(3,5).

	print "Payload:         "+"NO GO" at(3,7).

	print "CAPCOM:          "+"NO GO" at(3,9).

	print "Revocery:        "+"NO GO" at(3,11).

	print "Tracking:        "+"NO GO" at(3,13).

	print "Launch Pad:      "+"NO GO" at(3,15).

	print "Range:           "+"NO GO" at(3,17).

	print "Guidence:        "+"NO GO" at(3,19).

	print "Booster Status:  "+"NO GO" at(3,21).

	print "Mission Control: "+"NO GO" at(3,23).
	
	If(GoCount>0)
	{
		print "   GO" at(20,3).
	}
	If(GoCount>2)
	{
		print "   GO" at(20,5).
	}
	If(GoCount>4)
	{
		print "   GO" at(20,7).
	}
	If(GoCount>6)
	{
		print "   GO" at(20,9).
	}
	If(GoCount>8)
	{
		print "   GO" at(20,11).
	}
	If(GoCount>10)
	{
		print "   GO" at(20,13).
	}
	If(GoCount>12)
	{
		print "   GO" at(20,15).
	}
	If(GoCount>14)
	{
		print "   GO" at(20,17).
	}
	If(GoCount>16)
	{
		print "   GO" at(20,19).
	}
	If(GoCount>18)
	{
		print "   GO" at(20,21).
	}
	If(GoCount>20)
	{
		print "   GO" at(20,23).
	}
	print "                                          " at(3,26).
	print "                                          " at(3,25).
	If(Tminus<1200 AND GoCount=0)
	{
		print "                                          " at(3,26).
		SET Tminus TO 1200.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Flight Computer NO GO" at(3,26).	
	}

	If(Tminus<900 AND (GoCount=1 OR GoCount=2))
	{
		print "                                          " at(3,26).
		SET Tminus TO 900.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Fuel Conditions NO GO" at(3,26).	
	}

	If(Tminus<720 AND (GoCount=3 OR GoCount=4))
	{
		print "                                          " at(3,26).
		SET Tminus TO 720.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Payload NO GO" at(3,26).	
	}

	If(Tminus<660 AND (GoCount=5 OR GoCount=6))
	{
		print "                                          " at(3,26).
		SET Tminus TO 660.
		print "HOLD HOLD HOLD!" at(3,25).
		print "CAPCOM NO GO" at(3,26).	
	}
	If(Tminus<660 AND GoCount>10 AND umbilicalCount=0)
	{
		if(umbilicalCount=0)
		{
			Stage.
		}
		SET umbilicalCount TO (umbilicalCount+1).	
	}
	
	If(Tminus<600 AND (GoCount=7 OR GoCount=8))
	{
		print "                                          " at(3,26).
		SET Tminus TO 600.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Recovery NO GO" at(3,26).	
	}

	If(Tminus<300 AND (GoCount=9 OR GoCount=10))
	{
		print "                                          " at(3,26).
		SET Tminus TO 300.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Tracking NO GO" at(3,26).	
	}

	If(Tminus<270 AND (GoCount=11 OR GoCount=12))
	{
		print "                                          " at(3,26).
		SET Tminus TO 270.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Launch Pad NO GO" at(3,26).	
	}

	If(Tminus<180 AND (GoCount=13 OR GoCount=14))
	{
		print "                                          " at(3,26).
		SET Tminus TO 180.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Range NO GO" at(3,26).	
	}

	If(Tminus<120 AND (GoCount=15 OR GoCount=16))
	{
		print "                                          " at(3,26).
		SET Tminus TO 120.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Guidence NO GO" at(3,26).	
	}
	If(Tminus<120 AND GoCount>18 AND umbilicalCount<3)
	{
		if(umbilicalCount=1)
		{
			Stage.
		}
		if(umbilicalCount=2)
		{
			Stage.
		}
		SET umbilicalCount TO umbilicalCount+1.
	}
	If(Tminus<60 AND (GoCount=17 OR GoCount=18))
	{
		print "                                          " at(3,26).
		SET Tminus TO 60.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Booster Status NO GO" at(3,26).	
	}
	If(Tminus<30 AND (GoCount=19 OR GoCount=20))
	{
		print "                                          " at(3,26).
		SET Tminus TO 30.
		print "HOLD HOLD HOLD!" at(3,25).
		print "Mission Control NO GO" at(3,26).	
	}
	If(Tminus=5 AND (GoCount=21 OR GoCount=22))
	{
		print "                                          " at(3,26).
		print "All Stations GO For Launch " at(3,25).
		if(umbilicalCount=3)
		{
			Stage.
		}
		SET umbilicalCount TO umbilicalCount+1.
		LOCK THROTTLE TO 1.	
	}
	If(Tminus=1 AND  FirstStageEngine:AvailableThrust>1000)
	{
		if(umbilicalCount=4)
		{
			Stage.
		}
		LOCK THROTTLE TO 1.
		SET umbilicalCount TO umbilicalCount+1.
	}
	Else If(Tminus=1 AND  FirstStageEngine:AvailableThrust<1000)
	{
		LOCK Throttle to 0.
		print "ABORTED By Flight Computer! First Stage Engine Shutdown!" at(3,25).
	}
	if(TMinus>=0)
	{
		print "                                                                               " at(3,1).
		print "T- 0"+Floor(Tminus/3600)+":"+Floor(Tminus/60)+":"+(Tminus-(Floor(Tminus/60)*60)) at(3,1).
	}
	On AG14
	{
		print "                                          " at(3,25).
		print "ABORT!" at(3,28).
		SET GoCount TO 25.	
	}
	If(GoCount>=25)
	{
		print "                                          " at(3,26).
		SET Tminus TO 1201.	
	}
	print "Status: "+GoCount at(3,27).
}
CLEARSCREEN.
Until SHIP:APOAPSIS>(DAP)
{	
	
	If(SHIP:APOAPSIS>DAP-100)
	{
		LOCK THROTTLE TO 0. 
	}
	If(SHIP:APOAPSIS>=StartHeight AND OperationMode=0)
	{
		RCS OFF.
		LOCK Frac TO (SHIP:APOAPSIS-StartHeight)/(DAP-StartHeight-2500) .
		LOCK Angle TO 90-((Frac^1.1075)*93.025).
		LOCK Steering TO Heading(90,Angle).
		SET TimeToAP TO ETA:APOAPSIS.
		print "In OP 0" at(3,9).
	}

	else if(SHIP:APOAPSIS<=StartHeight)
	{
		LOCK THROTTLE TO 1.
		RCS ON.
		LOCK Steering TO Heading(90,Angle).
	}
	IF SHIP:PERIAPSIS>=177500
	{
	 	LOCK THROTTLE TO 0.
		print "In OP 4" at(3,9).
		
	}
	IF(FirstStageEngine:AvailableThrust<100 AND FirstStageEngine:STAGE=STAGE:NUMBER)
	{
		if(SHIP:APOAPSIS<DAP-15000 AND OperationMode<1)
		{
			print "ABORT!!" at(3,15).
			AG10 ON.
			Wait 3 .
			AG11 ON.
			AG12 ON.
			SET OperationMode TO 5.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			STAGE.
			LOCK STEERING TO SHIP:SRFRETROGRADE.
			RCS ON.			
		}
		if(OperationMode=0)		
		{
			Stage.
			LOCK THROTTLE TO 0.
			SET OperationMode TO 1.
			SET TimeToAP TO ETA:APOAPSIS.
			print "In OP 1" at(3,9).
		}
			

	}
	IF(OperationMode=1 OR OperationMode=2)
	{

		if (Stage:NUMBER=8 OR Stage:NUMBER=6)
		{
			Stage.
		}
		if(ETA:APOAPSIS<=110 AND OperationMode=1)
		{
			SET OperationMode TO 2.
			LOCK THROTTLE TO 1.
			Stage.		
		}
		RCS ON.
		if((ETA:APOAPSIS)<=300)
		{
			LOCK Angle TO (90-((Frac^1.1075)*93.325))* (ETA:APOAPSIS/105).
		}
		else
		{
			LOCK Angle TO (90-((Frac^1.1075)*93.325))*(TimePassed/15).
			if(TimePassed>(-40))
			{
				SET TimePassed TO (TimePassed-0.01).
			}	
		}
		LOCK Steering TO Heading(90,Angle).
		print "In OP 2" at(3,9).

	}	
	IF(SecondStageEngine:AvailableThrust<10 AND SecondStageEngine:STAGE=STAGE:NUMBER AND OperationMode<5)
	{
		WAIT 0.5.
		if(OperationMode=2)		
		{
			LOCK THROTTLE TO 0.
			STAGE.
			LOCK STEERING TO HEADING(90,0).
			Wait 0.2.
			UNLOCK STEERING.
			SAS ON.
			SET OperationMode TO 3.
		}
		if(SHIP:PERIAPSIS<10000)
		{
			SET OperationMode TO 5.
			print "ABORT!!" at(3,15).
			STAGE.
		}
		print "In OP 3" at(3,9).
	}
	if(OperationMode=5 AND SHIP:ALTITUDE<50000)
	{
		AG11 ON.
		AG12 ON.	
	}
	PrintStats.
	wait 0.01.
}
LOCK THROTTLE TO 0.
Wait 0.2.
STAGE.
LOCK STEERING TO HEADING(90,0).
Wait 0.2.
UNLOCK STEERING.
Until OperationMode>10
{
	IF(Stage:NUMBER=4)
	{
		Stage.
	}
	IF (AG9=true AND Stage:NUMBER=3)
	{
		lock steering to retrograde.
		print "Retrofire sequence in 10 seconds."at(3,19).
		Wait 10.
		print "De-orbit burn initiaed."at(3,20).
		LOCK THROTTLE TO 0.
		Stage. //activates retro pack
		print "Burn Coordinates: " +Round(SHIP:Geoposition:LAT,5)+" , "+Round(SHIP:Geoposition:LNG,5) at(3,21).
		wait 35.
		print "De-orbit burn complete. Jettisoning retro-pack."at(3,22).
		Stage. //jettisons retropack
		set groundInitial to GROUNDSPEED.
		wait until GROUNDSPEED < groundInitial.
		wait 3.
		wait Until ALT:RADAR<80000.
		SET controlStick to SHIP:CONTROL.
		SET controlStick:ROLL to 0.15.
		print "Beginning high-g roll."at(3,23).
		Set OperationMode to 11.
	}
	else if(AG9=False)
	{
		Unlock Steering.
	}
	PrintStats.
	wait 0.01.
}
Until OperationMode>11
{
	IF(ALT:RADAR<12000 AND AG11=False)
	{
		AG11 ON.
	}
	IF(ALT:RADAR<10000 AND AG12=False)
	{
		LOCK STEERING TO Up.
		Wait 10.
		RCS OFF.
		SET controlStick:ROLL to 0.
		Unlock Steering.
		AG12 ON.
	}
	PrintStats.
	wait 0.01.	
}
SET SHIP:CONTROL:PILOTMAINTHROTTLE TO 0.
LOCK THROTTLE TO 0.
Wait Until ALT:Radar<7 .
print "Landing Successful! Coordinates: " +Round(SHIP:Geoposition:LAT,5)+" , "+Round(SHIP:Geoposition:LNG,5) at(3,18).

DECLARE FUNCTION PrintStats
{	
	print "Apoapsis:            " +Round(SHIP:APOAPSIS,3) at(3,3).
	print "Periapsis:           " +Round(SHIP:PERIAPSIS,3) at(3,5).
	print "Current Altitude:    " +Round(ALT:RADAR,3) at(3,7).
	print "Current Coordinates: " +Round(SHIP:Geoposition:LAT,5)+" , "+Round(SHIP:Geoposition:LNG,5) at(3,11).
	print "Current Heading:     " +Round(SHIP:FACING:PITCH,3)+" , "+Round(SHIP:FACING:YAW,3)+" , "+Round(SHIP:FACING:ROLL,3) at(3,13).	
}

 

 

 

Edited by EladDv

Share this post


Link to post
Share on other sites

I'm interested in working with elad Dv on the kOS aspect of this project if that's feasible. I'm eager to learn how to use kOS more effectively.

Edited by ILikeIke

Share this post


Link to post
Share on other sites

This is definitely not dead, just on the back burner until 1.1 release/1.1.1. We already have a Github setup and are waiting on a few things until we get set to start going.

Share this post


Link to post
Share on other sites

Very true. A lot of this is just...many of us are either devs or exp testers or modders-with-mods-to-update, and the process has been exceptionally busy this time.

Share this post


Link to post
Share on other sites

With 1.1 (and RSS and RO and RP-0) all released, we're looking to actually get rolling on this! I'm going to go back through this and ping everyone who expressed interest, let's get things rolling. :)

Share this post


Link to post
Share on other sites

Ok, so let's get started. Once we figure out a starting condition I'll make a new thread.

 

My suggestion is to select the Hard preset, except leaving funding at 80% instead of 60%, and the usual RP-0 suggestion of fund losses at 100%.

For location I suggest the Cape, although we might consider investing in setting up another launch site for polar launches.

 

Thoughts?

Share this post


Link to post
Share on other sites
On 13. 5. 2016 at 6:52 AM, NathanKell said:

@Ravenchant you know RP-0 any better now?

Sure :) I can make some time during weekends, at least.

Share this post


Link to post
Share on other sites
On 5/13/2016 at 7:51 PM, NathanKell said:

Ok, so let's get started. Once we figure out a starting condition I'll make a new thread.

 

My suggestion is to select the Hard preset, except leaving funding at 80% instead of 60%, and the usual RP-0 suggestion of fund losses at 100%.

For location I suggest the Cape, although we might consider investing in setting up another launch site for polar launches.

 

Thoughts?

Definitely best to start at the Cape right now, what ships are we planning to test first? And we should also direct people to the Github more.

Share this post


Link to post
Share on other sites

We should indeed! https://github.com/KSP-RO/GoForLaunch

I am fine with starting at the Cape (I do prefer it a bit).

 

Unless anyone objects, I will post up a new thread with our shiny new save at the Cape, difficulty as suggested above. Since I am able to play fairly reasonably on hard mode entirely (excepting fund loss at 100%), I feel 80% or 90% funds, but keeping 60% science etc, will be reasonable for us.

 

We will then be faced with our first challenge: How to spend our upgrade points! We will presumably want to balance SPH and VAB upgrades...

Share this post


Link to post
Share on other sites
15 hours ago, NathanKell said:

We should indeed! https://github.com/KSP-RO/GoForLaunch

I am fine with starting at the Cape (I do prefer it a bit).

 

Unless anyone objects, I will post up a new thread with our shiny new save at the Cape, difficulty as suggested above. Since I am able to play fairly reasonably on hard mode entirely (excepting fund loss at 100%), I feel 80% or 90% funds, but keeping 60% science etc, will be reasonable for us.

 

We will then be faced with our first challenge: How to spend our upgrade points! We will presumably want to balance SPH and VAB upgrades...

Quite so, however as I see from the craft files in Github we are doing an X-15 style craft, would it be possible to hack in a second launch facility in the Baja perhaps...

Share this post


Link to post
Share on other sites

wow great news, so happy this is alive!!!! I want in as well, heading to the github now to see what everyone's up to!

Share this post


Link to post
Share on other sites

Really nice idea!

I won't have the time to participate very actively, but would like to keep up and maybe give suggestions in discussions on the general strategy and mission design. Are these discussions somewhere else besides this forum topic? I had a look at the github, but it looks like it stores stuff already decided upon.

Share this post


Link to post
Share on other sites

Would one of the current contributors care to add their installed.ckan and/or a mod list to the repository?

Share this post


Link to post
Share on other sites
5 minutes ago, stibbons said:

Would one of the current contributors care to add their installed.ckan and/or a mod list to the repository?

There is a current mod configuration right there. it's ~ 346mb. It's in the readme under the folders. 

Edited by Theysen

Share this post


Link to post
Share on other sites

Erk, redistributing a GameData sounds nasty. :/

EDIT: Also, if it's just a standard RO install, it's worth keeping in mind that the RemoteTech models are not licensed for redistribution (see the current release thread)

Edited by stibbons

Share this post


Link to post
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.