Jun 21 2018

Ascension Mk1 Flight 1 Analysis

After many months of development the time finally came to launch our first orbital-capable rocket into the sky and see if we could place it into a decaying orbit around the planet. The mission was designed this way because the rocket engine could not be re-lit after shutdown to de-orbit and no steering capabilities existed for outside the atmosphere to point the rocket in the right direction anyways. While achieving orbit was the main goal, the mission also had to act as a proving ground for several important aspects of the design, such as guidance and ascent tolerances. While the mission saw success in these areas, overall it was a failure due to the rocket not being able to achieve an orbit during flight.

The Flight

Because this was the first launch, several issues preceded our ability to reach the point of lift-off including problems with the new ground service equipment that was constructed to support the launch operations and the rocket carry vehicle in positioning the rocket upright for mounting. Overcoming these problems, the day of the launch also saw an additional issue when the first attempt at lift-off threw an abort that caused the main engine to shut down shortly after ignition due to low engine chamber pressure. Broadening the tolerances of the flight computer and running through to T-0 a second time allowed the engine to achieve the thrust levels required for a TWR of 1.2, which then cleared the AFCS to release the rocket from its engine support collar and begin its ascent.

Just over 3 seconds after lift-off the rocket cleared the top of the service towers and the engines were commanded to throttle up to full power, which produced a thrust of 172kN (1.7Gs). Additionally at this point the active guidance routines kicked in. Although the rocket was already pointed 45° upon launch, it was also pointed straight up and wobbled a bit during its initial ascent and small corrections were needed to bring its nose down and heading back to 45°, which was accomplished by L+14s as the rocket climbed through 1km traveling over 100m/s. As the heading was corrected the rocket was also pitching over very gradually at less than a tenth of a degree per second to head downrange while keeping aerodynamic stresses on the control surfaces at minimum while dynamic pressure increased as Max Q was approached.

The rocket went supersonic at L+37s followed by Max Q of 35.125kPa at L+45s while climbing through 8km ASL traveling over 430m/s. Although the AFCS was monitoring for high dynamic pressure and would have throttled back if it was detected, no throttle-back was needed. Once through maximum dynamic pressure the rocket throttled back to maintain a TWR of 2.5 and began a more aggressive pitch-over while maintaining not more than a 10° angle off its prograde vector. Right after Max Q the rocket picked up a rather noticeable wobble along is roll axis, but the guidance was able to keep it from oscillating out of control and the rocket stabilized again as it passed through 20km ASL.

By 25km ASL at L+1m15s pitch controls were pinned at maximum deflection due to the thinning air giving them less and less control authority to continue to tip the rocket over towards the horizon. Approaching 40km the rocket began to drift off its heading as the control surfaces began to no longer maintain guidance. Also at this time, around L+1m33s an engine failure occurred that caused chamber pressures to drop rapidly towards equalizing with the outside air pressure while fuel drain spiked. This added to the already unstable rocket and slewed it further off prograde vector, however by now not nearly enough air resistance remained to threaten a break up.

The engine exhausted its fuel at L+1m51s, leaving the rocket to coast up to an apokee of only 101.8km, having pitched over to only 40°. Perikee, while starting to climb during the ascent, remained negative and left the rocket on a sub-orbital trajectory. Climbing through apokee controllers noticed they were not getting expected status messages for flight events although data telemetry was still being received. This meant the flight computer had partially gotten hung up somewhere in its operation but had not crashed. Despite the unstable flight out of the atmosphere the rocket maintained a heading near prograde so that when it returned to the atmosphere it still did so nose first as planned. At L+5m45s a “dump” of several status messages was received at the same time once back below 70km, which was a relief as it meant the rocket would be able to carry out its recovery procedures.

Going below 70km active guidance was resumed to attempt to roll the rocket upright and point prograde, although this did not happen until around 30km as the air density increased and thermal heating from re-entry blocked radio communications. Passing below 10km the rocket attempted to pitch level to broadside the atmosphere in an attempt to slow its descent and glide down to the altitude at which it would deploy its parachute. Shortly afterwards however the computer did crash, releasing control of the rocket, which then dove straight into the ocean at speeds in excess of 300m/s. The test weight, built to extreme tolerances, was able to survive and preserve its data but the fuel tank, still pressurized with nitrogen gas, exploded upon impact, throwing the engine several hundred meters away but at the same time allowing it to remain mostly intact for us to investigate after it was recovered off the sea floor along with the test weight.

Flight telemetry data

Flight Analysis

Unsurprisingly, numerous issues cropped up throughout this flight but for the most part they have all been addressed after analyzing the recovered parts and flight data and will be able to be fixed in future flights.

Launch Attempt Failure

The first attempt at launch threw an automated abort when the engine failed to ignite as expected. Once running, the pressure in the chamber was very slightly lower than what the AFCS was programmed to expect. A quick review during the ensuing hold led engineers to determine the constraints were too tight for an engine that isn’t brand new. The engine used on this flight was the test article fired multiple times back in April and the repeated firing of the engine had reduced the overall efficiency. This was known but still not taken into account when programming the flight computer. Loosening the constraints allowed for a successful ignition and lift off on a second attempt.

Overly Conservative Ascent

The failure to achieve orbit was largely due to the rocket not coming anywhere near horizontal enough fast enough to begin to really reduce the eccentricity of the trajectory. Although these control surfaces have proven themselves on aircraft, never before have they been subjected to these speeds and the high levels of air pressure that comes with it. The last thing we wanted was to rip off some or all of our control surfaces and ruin our ability to properly conduct the rest of the flight. Now that we have data to review, we can rework our guidance routines to push the rocket into a more aggressive pitch-over during its initial climb from the launch pad rather than waiting for air pressure to subside.

Flight Wobble

One of the lingering questions that will require more data is what caused the rocket to roll back and forth as it passed through Max Q and beyond for some time. Transonic speeds themselves are not new to us but controlled flight at such speeds is indeed a different concept. Engineers are considering different fin designs that we can use to test how the shape of the rockets affects its passage through this region.

Engine Failure

Inspection of the engine recovered from the sea floor has confirmed that the bell did fail during ascent, likely from fatigue due to the testing it had undergone prior to this flight. Although the VAB did try to examine the engine for obvious defects prior to integrating it with the rocket, they were unable to look for any microscopic stress fractures in the metal. While this was an unfortunate event, thankfully it did not end up having any significant impact on the mission. The engine wasn’t needed later in the flight, the rocket by this time was already not going to make orbit, nor was it thrown into a completely unstable tumble as a result.

AFCS Execution Hangup

Software engineers traced the issue with the code hangup down to a single line, which was waiting for an event that was expected to occur prior to the rocket leaving the atmosphere but never did. Not until the rocket began to return did the nose finally pass through 0° and allow the execution of the code to continue along its path towards recovery operations. The AFCS no longer assumes the rocket will hit level flight before exiting the atmosphere.

Late Pitch-Up Recovery

Once the rocket passed below 50km the AFCS was supposed to have by now detected the rocket would not be making another orbit of Kerbin and begin to pitch the nose level to broadside the atmosphere and slow down faster. This action however did not occur until the rocket had reached 9km. The reason for this was due to the AFCS determining whether it was still orbiting or not by looking at the apokee altitude and waiting until it was <70km. When the rocket re-entered the apokee was still 101km and it took that long for it to drop below 70km and trigger the recovery routine. This had a bright side to it however – the pitch-up moment was so late in the descent it occurred under extreme conditions and registered a peak force of 14.843Gs. That the control surfaces were not ripped off or the rocket torn apart provides us with invaluable tolerance data we can use to make our initial ascent more aggressive in future flights. Guidance software will need to be reworked to find a better way to tell when the rocket is on a return trajectory shortly after re-entering the atmosphere.

AFCS Execution Crash

Sadly, it turns out this mission was recoverable if not for a very late code edit that slipped past review and introduced a syntax error that caused the program to crash when it went looking for a variable named parachute instead of parachutes. Yes, this is extremely dumb and the software team is kicking themselves over it. Despite the error in the recovery routines that caused it to pitch up late the rocket still reached safe chute deploy speeds at just over 3km ASL. Not all the blame can be placed on the software team however – the parachutes have a pressure-sensor failsafe deployment mechanism that should have popped the chutes regardless of the AFCS crash once the rocket fell below 2km AGL. Obviously they didn’t. Since we could not recover the fuel tank they were attached to and they were too small to find on the sea floor by themselves, we can’t know for sure why. Since both failed to deploy and we doubt a simultaneous failure of both mechanisms occurred the likely explanation is that they were never armed (or the procedure to arm them was not done properly) while being integrated in the VAB. Lead Engineer Simon led an investigation but could not turn up conclusive evidence that a procedure was missed or botched during assembly. Ultimately both teams will just have to strive towards better quality assurance for future missions.

Future Plans

Parts for the second Mk1 flight have already begun to arrive for the VAB to begin assembly to launch sometime in July. The mission will seek the same goal of achieving a decaying orbit but can now build upon the failures of this one. The guidance routines will have a preset ascent trajectory to follow that will see the rocket reaching certain angles of pitch by certain altitudes. The engine will be brand-new and only fired off once in a hold-down check prior to the flight. The recovery code has been cleaned up for proper execution. We will be using the same fins on this flight, but later flights may used smaller/larger fins depending on what data review shows from a more aggressive ascent. Project leads will be meeting with KSA and KSC directors tomorrow to discuss what all this adds up to in terms of time needed to get ready for the next launch.