Sie sind auf Seite 1von 13

ENEE463 Final Project

Simplified Rocket Landing

Matt Brown, Alex Newgent and James Russotto


1

Table of Contents

Inspiration ……………………………………………………………………………………………………………………………….. 2

Goals ……………………………………………………………………………………………………………………………………….. 2

Simplifications …………………………………………………………………………………………………………………………. 3

Basis of Control Algorithms ……………………………………………………………………………………………………… 4

Simulation Code Walk-Through ……………………………………………………………………………………………….. 5

Conclusion …………………………………………………………………………………………………………………………….. 13
2

Inspiration

The idea of this project stemmed from SpaceX’s ability to land rocket boosters. The reusability

of the rocket booster drastically lower costs of space flight and is one of the greater

technological advancements in this day and age. There are many challenges that surrounded

the problem of landing this rocket with one of the largest problems being attributed to the lack

of communication between the rocket and ground. Because of friction between the

atmosphere and the rocket creates an ionization field which is capable of blocking radio

controls. Being that there is no onboard pilot and communication with ground is not 100%,

engineers were forced to create a standalone guidance and control system that without any

manual assistance, could land within a couple meters of the landing site.

Goals

The goal of this project was to design a control system of a rocket that would be able to

successfully land the rocket as close to the landing site as possible and at an acceptable speed.

As one could expect, there are numerous variables that come into play when attempting to

develop software that would be able to land this rocket on its own (as mentioned in the

previous section, the rocket will not have constant communication with ground and therefore

the rocket’s software must be able to autonomously correct the landing trajectory due to many

unforeseeable disturbances on its descent). Algorithms that take into account all these

variables have taken years and millions on millions of dollars to develop. Additionally, the

problem itself had a whole team of seasoned experts at its disposal. Due to this fact, our goal
3

was to create a simplified version of the rocket landing that more focused on the basics of a

digital control problem rather than the complicated aspects of an aerospace problem.

Simplifications

What follows will be a description of all simplifications that our team has made that allowed us

to design this control system for this rocket’s descent.

• Fuel consumption and thrust are proportional to one another and we do not take into

account loss of fuel from x-direction and y-direction thruster. We believe the actual fuel

consumption would slightly differ from being directly proportional to the thrust, but this

would add an unnecessary degree of complication to our simulation.

• Our base fuel consumption that we later change based off of the thrust comes from the

mass of the fuel and the time of the burn. In reality this is not the case and the fuel

consumption are based off of chemical properties.

• We are able to choose the mass of the fuel and the mass of the rocket arbitrarily. In

reality, these masses are very precise, but we were unable to find concrete information

on these values. Keep in mind that our simulation is able to land any reasonable

combination of both the mass of the rocket and the fuel.

• We simplified wind gusts as half of sin wave with random speed and duration. After

much discussion, we thought this was the best way to simulate a wind gust.

• Although we assume the winds are parallel in x and y direction, the combination of the x

and y winds with different speeds simulates a non-parallel wind gust.


4

• Similarly, the up-draft and down-draft winds are also simplified as half sin waves with

random speed and duration.

• The random winds as well as the x, y and main thruster (z direction) all affect the motion

of the rocket as if the rocket was a point mass. This was one of our most vital

simplifications in that it removed many of the aerospace problems of a descending

rocket.

• We assumed the rocket to be a pure short cylinder and used that as drag coefficient. In

real situations, complicated calculations are performed in order to get a precise drag

coefficient.

All these simplifications allowed us to more closely focus on the control’s aspect of the

problem. One would be able to modify this code very easily to more simulate a specific rocket if

they indeed had access to all the required information. Still, our simulation takes into account:

1. The changing mass of the rocket as fuel is burned

2. Up-draft and down-draft random winds

3. Random x-direction and y-direction winds

Basis of Control Algorithms

Our control algorithm is based off the ability of our rocket to accurately recognize its current

acceleration in the x-direction, the y-direction and the z-direction. Being that we are unable to

anticipate the effects on the acceleration before they happen (i.e. we don’t know which way

the winds will push our rocket), our ability to control the rocket is based off of the feedback

from our onboard accelerometers. Our ideal, uninterrupted, path to the ground is previously
5

calculated before flight (this is what actually happens in reality with rockets owned by SpaceX).

Once in flight, our control algorithm will constantly feedback the changes in acceleration from

random wind gusts in all directions.

With the fed back change in acceleration data in the x-y plane, we are able to ‘steer’ the

rocket back to its original location by applying a corresponding thrust from our x-direction and

y-direction thrusters. This allow us to keep the rocket within 0.3 meters of our desired landing

zone. This is compared to with no control that will have the rocket drift off thousands of meters

(it is important to note that if we were able to anticipate the wind gusts, we would be able to

keep the rocket from moving at all).

With the fed back change in acceleration in the z-direction, we are able to keep the

rockets deacceleration to a constant desired value (1G, 2G, 3G, etc.). This allows our controlled

rocket to have enough fuel land at a suitable velocity (under 2 m/s). When we are unable to

keep the rockets acceleration constant (which one can see in the simulation), the rocket will

either hit the ground at a deadly velocity or the rocket will run out of fuel and then plummet

thus again hitting the ground at a deadly velocity.

The above will all be showed later in this report through our simulations. We included

an uncontrolled descent simulation as well as a controlled descent simulation in order to better

show the effectiveness of our control algorithms.

Simulation Code Walk-through

Below is a step by step walk through of our code which includes screenshots as well as outputs.
6

1. Setting parameters and initializing other variables. Below show the variables taken into

account for our simulation:

2. Determining the necessary height to initialize the rocket burn to land safely (does not

take into account the random up-draft and down-draft)

3. Simulate the descent of the rocket with random up draft and down draft while the

control system is NOT-ACTIVE. Below shows the outputs after the simulation runs:
7

4. Simulate the descent of the rocket with random up draft and down draft while the

control system is ACTIVE. Below shows the outputs after the simulation runs:
8

Below shows the thrust vs. time once the burn begins:

5. Generate random wind gusts in the x and y direction, calculate the effect it has on the

rocket’s descent and then using the control algorithm, counteract the random winds.

(simulation is done with controls and without)

6. The last part of the simulation is plotting the data in a readable and insightful format.

Below is a list of the different plots:

a. Controlled and uncontrolled drift on the same axis for comparison (top view/3D)

b. Zoomed in controlled drift (1 meter by 1 meter top view/3D)

c. Thrust vs time from the x-thruster and the y-thruster


9

NOTE: the blue circle is the (0,0) location where the rocket is intended to land, and the red X is

the actual landing after the simulation.


10
11

We also have an output that shows the distance from intended target with and without

control:

7. This side script we built enables a user to see a live and moving footage of the rockets

control ability as it descends. Being that it is a moving graphic, we have attached a link

to a YouTube video that shows the graphic in action. The scripts will also be attached to

our submission so one would be able to run it from their own computer.
12

The graphic shows the combined x-y thrust vector along with a top down display of the

rockets movement which shows a scaled thrust vector and scaled wind vectors as a

function of height/time. This allows the user to see the x-y winds being counteracted by

the x-y thrusters.

3D Simulation: https://youtu.be/lcH0DOj6kQU

Top Down Vector Simulation: https://youtu.be/ZUG9snf_ygw

Conclusion

Overall, our group thought this project was very engaging to do. Being able to pick our own

control problem was really exciting being that we were able to pick something we were actually

very interested in. We believe our simulation was a success and even though we made

implications to the problem at hand, we got a good taste of actually using control algorithms

and applying them to a real problem. Finally, we would like to thank Professor Blankenship for a

great semester.

Das könnte Ihnen auch gefallen