110
Project Bellerophon 644 Author: Elizabeth Harkness A.6.0 Trajectory A.6.1 Introduction The trajectory of the launch vehicle is critical to mission success. Without a sub-optimal trajectory, the amount of V required is very large and increases the cost of the vehicle. The first thing that we do to understand the problem is to define the assumptions of our model. The trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and leaves the attitude of the launch vehicle to the D&C group. Therefore, in all of our analysis, we assume that the launch vehicle is a point mass. Our second main assumption is that all of the forces acting on the vehicle are in the same plane, effectively reducing the translational degrees of freedom of the vehicle to two. Once the assumptions are defined, we derive the force model and the equations of motion of the vehicle for each stage. With the equations of motion for the vehicle defined, the design moved to the creation of the steering laws. At this point, the design split into two distinct sections: one for ground and balloon launch and another for aircraft launch. This separation is due to the different initial conditions for each launch type. Once the steering laws are formed, the angles at the end of each stage are optimized to produce the best nominal trajectory for each launch type (ground, balloon and aircraft). Due to the nature of trajectory optimization and design, all members of the trajectory group worked on all aspects of the problem. Even though each member contributed to every section, the sections are written by the trajectory group member that worked the most on that aspect of the design. The following sections go into the details of the trajectory group’s work.

Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 644

Author: Elizabeth Harkness

A.6.0 Trajectory

A.6.1 Introduction The trajectory of the launch vehicle is critical to mission success. Without a sub-optimal

trajectory, the amount of ∆V required is very large and increases the cost of the vehicle. The first

thing that we do to understand the problem is to define the assumptions of our model. The

trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and

leaves the attitude of the launch vehicle to the D&C group. Therefore, in all of our analysis, we

assume that the launch vehicle is a point mass. Our second main assumption is that all of the

forces acting on the vehicle are in the same plane, effectively reducing the translational degrees

of freedom of the vehicle to two. Once the assumptions are defined, we derive the force model

and the equations of motion of the vehicle for each stage.

With the equations of motion for the vehicle defined, the design moved to the creation of the

steering laws. At this point, the design split into two distinct sections: one for ground and balloon

launch and another for aircraft launch. This separation is due to the different initial conditions for

each launch type. Once the steering laws are formed, the angles at the end of each stage are

optimized to produce the best nominal trajectory for each launch type (ground, balloon and

aircraft).

Due to the nature of trajectory optimization and design, all members of the trajectory group

worked on all aspects of the problem. Even though each member contributed to every section,

the sections are written by the trajectory group member that worked the most on that aspect of

the design. The following sections go into the details of the trajectory group’s work.

Page 2: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 645

Author: Brad Ferris

A.6.2 Design Methods

A.6.2.1 Equations of Motion The first step to developing the equations of motion for the launch vehicle is setting up the

appropriate coordinate systems. A complete set of coordinate systems is displayed in Fig.

A.6.2.1.1. We start with the ̂ frame. The ̂ frame is fixed in the Earth, and rotates with the

Earth. The unit vector ̂ lies along the Earth’s axis of rotation. Next we need an intermediate

coordinate frame, the frame. The frame is situated such that lies along ̂ ; is offset

from ̂ by angle θ. Angle θ is analogous to longitude. The final coordinate frame is the

frame. This frame is situated such that lies along ; is offset from by angle Φ.

Angle Φ is analogous to latitude.

Fig.A.6.2.1.1: Coordinate frames used for developing equations of motion.

(Amanda Briden)

We need to derive the transformation matrix to get from the frame to the ̂ frame. To do this,

we first define transformation matrices which represent the simple rotation from ̂ to (Eq.

(A.6.2.1.1)), and from to (Eq. (A.6.2.1.2)). After we define these two transformation

matrices, we can combine Eqs. (A.6.2.1.1) and (A.6.2.1.2) to get the desired transformation

matrix in Eq. (A.6.2.1.3).

Page 3: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 646

Author: Brad Ferris

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

z

y

x

z

y

x

eee

aaa

1000)cos()sin(0)sin()cos(

θθθθ

(A.6.2.1.1)

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡ −=

⎥⎥⎥

⎢⎢⎢

z

y

x

r aaa

bbb

)cos(0)sin(010

)sin(0)cos(

φφ

φφ

θ

φ

(A.6.2.1.2)

We combine Eqs. (A.6.2.1.1) and (A.6.2.1.2) to get:

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

rz

y

x

bbb

eee

θ

φ

φφθφθθφθφθθφ

)cos(0)sin()sin()sin()cos()sin()cos()cos()sin()sin()cos()cos(

(A.6.2.1.3)

Next, we analyze the forces acting on the launch vehicle. The free body diagram of the launch

vehicle is shown in Fig. (A.6.2.1.2). The angle γ is the flight path angle, or the angle between

the direction of velocity and the local horizon.

For the purpose of developing a trajectory, the launch vehicle is treated as a point mass. The

stability of the launch vehicle is left to the D&C group. Therefore, this model of the launch

vehicle does not take into account the launch vehicle’s moments of inertia, the location of the

center of pressure, or any other perturbing forces that affect stability. The forces weight, drag,

and thrust are assumed to act in the - plane. To summarize, the launch vehicle is modeled

as a dot flying through space.

Weight (W) is the force the Earth exerts on the launch vehicle. Weight is a function of the mass

of the launch vehicle. Therefore, weight varies over the flight as the launch vehicle burns fuel

and discards inert mass (stages and payload fairings). The weight of the launch vehicle is always

directed to the center of the Earth (opposite ).

Thrust (T) is the force developed by the engine. A detailed description about modeling thrust is

given in Section A.6.2.1.5. In modeling thrust, the angle ’ is the angle at which thrust is offset

Page 4: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 647

Author: Brad Ferris

from the direction of the velocity. For the trajectory model, the thrust is always aligned with the

velocity, therefore ’ is always equal to zero.

Drag (D) is the force the atmosphere exerts on the launch vehicle. A detailed description about

modeling drag is given in Section A.6.2.1.6. Drag always acts opposite of the direction of the

velocity.

Fig.A.6.2.1.2: Free-body diagram of launch vehicle used to develop equations of motion.

(Brad Ferris)

In order to develop the equations of motion, we use Newton’s Second Law. Newton’s Second

Law states that force (F) is equal to mass (m) multiplied by acceleration (a).

(A.6.2.1.4)

The equations of motion satisfy Newton’s Second Law. The treatment of the forces is called

kinetics, and the treatment of the motion (acceleration) is called kinematics.

In order to analyze the kinetics, it is necessary to break up the forces into their components in the

frame.

0 (A.6.2.1.5)

Page 5: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 648

Author: Brad Ferris

cos sin (A.6.2.1.6)

cos ′ sin ′ (A.6.2.1.7)

Next, we sum all of the forces in each direction. We introduce a term for the force of the wind in

each direction (Fwi). A detailed description about modeling wind force is given in Section

A.6.2.1.4.

∑ ′ (A.6.2.1.8)

∑ ′ (A.6.2.1.9)

∑ (A.6.2.1.10)

In order to obtain the kinematic part of the equations of motion, we first establish a position

vector ( ). We need to differentiate the position vector two times in order to get

acceleration. It is necessary to use the Basic Kinematic Equation (BKE) to differentiate, because

the bi frame is not inertially fixed. With the BKE, we introduce angular velocity (ω).

(A.6.2.1.11)

With the angular velocity and the position vector, we can differentiate to get acceleration.

(A.6.2.1.12)

cos sin (A.6.2.1.12)

(A.6.2.1.13)

sin (A.6.2.1.14)

sin 2 cos sin 2 sin

sin 2 cos (A.6.2.1.15)

Now that we have the kinetics and kinematics describing the motion of the launch vehicle, we

can use Newton’s Second Law, Eq. (A.6.2.1.4), to get the equations of motion. Recall that

kinetics pertains to the treatment of the forces, Eqs. (A.6.2.1.8) – (A.6.2.1.10), and the

Page 6: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 649

Author: Brad Ferris

kinematics pertains to the treatment of the motion. The mass required for Newton’s Second Law

is the mass of the launch vehicle (m). Since the launch vehicle is burning fuel and discarding

inert mass, the mass of the launch vehicle is a function of time, m=m(t). Applying Newton’s

Second Law, the final EOMs for the launch vehicle are defined in Eqs, (A.6.2.1.16) –

(A.6.2.1.18):

: ′ sin (A.6.2.1.16)

: 2 cos sin (A.6.2.1.17)

: ′ 2 sin sin 2 cos

(A.6.2.1.18)

If we desire the orientation of the launch vehicle with respect to the Earth fixed frame ( ̂ ), we

apply the transformation matrix in Eq. (A.6.2.1.3) to Eqs. (A.6.2.1.16) – (A.6.2.1.18).

Page 7: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 650

Author: Brad Ferris

A.6.2.1.1 Aircraft launch For an aircraft launch, the equations of motion of the launch vehicle are the same as the

equations of motion given in Eqs. (A.6.2.1.16) – (A.6.2.1.18) in Section A.6.2.1. For the

numerical integration used in the trajectory codes, it is necessary to put the equations of motion

into state space. Therefore, in state space form we have the following:

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

φφθθ

&

&

&rr

xxxxxx

6

5

4

3

2

1

(A.6.2.1.1.1)

(A.6.2.1.1.2) ′

sin

2 sin 2 cos1

2 cos sin1

The equations in Eqs. (A.6.2.1.1.1) – (A.6.2.1.1.2) are subject to the following initial condition:

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

−=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

]/[0.])[deg2890(

]/[0.])[deg80(

]/[0][000,391,6

)0()0()0()0()0()0(

srad

srad

smmeters

rr

φφθθ

&

&

&

Page 8: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 651

Author: Brad Ferris

A.6.2.1.2 Balloon Launch For a balloon launch, the equations of motion of the launch vehicle are the same as the equations

of motion given in Eqs. (A.6.2.1.16) – (A.6.2.1.18) in Section A.6.2.1. For the numerical

integration used in the trajectory codes, it is necessary to put the equations of motion into state

space. Therefore, in state space form we have the following:

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

φφθθ

&

&

&rr

xxxxxx

6

5

4

3

2

1

(A.6.2.1.2.1)

(A.6.2.1.2.2) ′

sin

2 sin 2 cos1

2 cos sin1

The equations in Eqs. (A.6.2.1.2.1) – (A.6.2.1.2.2) are subject to the following initial conditions:

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

−=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

]/[0.])[deg2890(

]/[0.])[deg80(

]/[0][000,406,6

)0()0()0()0()0()0(

srad

srad

smmeters

rr

φφθθ

&

&

&

Page 9: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 652

Author: Brad Ferris

A.6.2.1.3 Ground Launch For a ground launch, the equations of motion of the launch vehicle are the same as the equations

of motion given in Eqs. (A.6.2.1.16) – (A.6.2.1.18) in Section A.6.2.1. For the numerical

integration used in the trajectory codes, it is necessary to put the equations of motion into state

space. Therefore, in state space form we have the following:

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

φφθθ

&

&

&rr

xxxxxx

6

5

4

3

2

1

(A.6.2.1.3.1)

(A.6.2.1.3.2) ′

sin

2 sin 2 cos1

2 cos sin1

The equations in Eqs. (A.6.2.1.3.1) – (A.6.2.1.3.2) are subject to the following initial conditions:

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

−=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

]/[0.])[deg2890(

]/[0.])[deg80(

]/[0][000,376,6

)0()0()0()0()0()0(

srad

srad

smmeters

rr

φφθθ

&

&

&

Page 10: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 653

Author: Kyle Donahue and Allen Guzik

A.6.2.1.4 Wind and Atmosphere In order to accurately predict the trajectory of a launch the simulations need an atmospheric and

wind profile model. This model predicts the conditions a launch vehicle is exposed to when

traveling through Earth’s atmosphere. These conditions determine the various aerodynamic

forces imparted on a moving vehicle. In the initial design we planned to use a ground launch at

sea level, an aircraft launch at an altitude of 15 km, and a balloon launch at 30 km. The final

design is a balloon launch and only uses the wind model for ascension.

In the equations of motion mentioned in section A.6.2.1 there is a force in all three directions,

Fw, which is the force on the launch vehicle due to the constant wind model coupled with the

gusting of the wind. Since we are launching from a balloon at a starting altitude of 30 km we are

above the effects of wind, which has a maximum altitude of 30 km, on the launch vehicle.1 The

terms in the free body diagram and equations of motion are there for completeness and are 0. The

wind only reaches an altitude of 30 km because its effects on a vehicle after the altitude are

minimal. This is due to the fact that the atmospheric density is small enough that the wind will

not affect the launch vehicle enough.1 The air density at 30 km is 0.018 kg/m3 and the air density

at sea level is 1.225 kg/m3 which is 68 times larger than at 30 km.2

Page 11: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 654

Author: Kyle Donahue and Allen Guzik

A.6.2.1.4.1 Standard Atmosphere Profiles The atmosphere model used to run the simulations is based on the standard atmosphere data

based of the 1976 NASA Standard Atmosphere. Our simulations use a MATLAB function

called atmosphere4.m.2 Input into the function is geopotential height. The function outputs the

temperature, density, and pressure at the selected height. The model makes these calculations up

to an altitude of 89.9 km. Figures A.6.2.1.4.1.1 through A.6.2.1.4.1.3 show plots of the pressure,

temperature and density outputs from this function.

Fig A.6.2.1.4.1.1: Standard atmosphere temperature profile. (Allen Guzik and Kyle Donahue)

Fig A.6.2.1.4.1.2: Standard atmosphere pressure profile. (Allen Guzik and Kyle Donahue)

Page 12: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 655

Author: Kyle Donahue and Allen Guzik

Fig A.6.2.1.4.1.3: Standard atmosphere density profile. (Allen Guzik and Kyle Donahue)

Page 13: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 656

Author: Kyle Donahue and Allen Guzik

A.6.2.1.4.2 Constant Wind Profile Several assumptions are made in creating the wind profile. The first assumption we make is that

the constant wind is linear at different heights. Another assumption we make is that the constant

wind will always be traveling in an easterly direction. This means that the wind can never go east

to west. For example the constant wind profile is limited to angles greater than 0o and less than

180o on a compass. We also assumed there would be random wind gusts throughout the wind

profile. The restriction on the wind gusts is that their direction can only be ±90o from the

constant wind profile. Also the wind gusts are impulsive. The final assumption we made in

creating the wind model is that the wind itself is only two dimensional. We assume the wind will

only be traveling in the north-east-south-west directions and never in the “up” or “down”

directions.

We model the constant wind profile after a model used for the launch of Lunar Orbiter 2.2 Figure

A.6.2.1.4.2.1 shows the wind profile which we used as a model.

Fig A.6.2.1.4.2.1: Wind profile from NASA CR-942. (B.A. Appleby and T.E. Reed)

Page 14: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 657

Author: Kyle Donahue and Allen Guzik

The dark solid line in the figure is the constant wind profile which we used for our model. We

did not model the direction from NASA CR-942, we only used Fig. A.6.2.1.4.2.1 for the speed of

the constant wind. Figure A.6.2.1.4.2.2 is the constant wind profile which we used in the

trajectory and D&C models.

Fig A.6.2.1.4.2.2: Constant Wind Profile for Project Bellerphone.

(Kyle Donahue and Allen Guzik)

Our wind model is a simplified version of one of the current models. We assume that the wind

speed is related to altitude in a linear fashion. This is not the case but for our model the linear

representation works very well.

We found the constant wind using MATLAB code AAE450_Wind_Model.m. For the initial

analysis for Project Bellerophon the wind model was not used. The wind model was

implemented in the second round of design analysis. The wind model is broken up into several

parts. The first part is computing the constant wind profile. The second part is determining the

wind gusts. And the third part is converting the speed of the wind into the wind force (Fw).

Page 15: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 658

Author: Kyle Donahue and Allen Guzik

The first part of the wind model is determining the constant wind profile. The constant wind

profile itself is made up of two parts: the direction and the speed. The first part of the code

determines the speed of the wind. The code uses logic and information which is based on Fig.

A.6.2.1.4.2.1 The next step is determining the direction in which the constant wind profile is

directed. Since the constant wind profile is launch dependent it changes every time the code is

used. This works best as it represents the real wind profile more accurately.

Page 16: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 659

Author: Kyle Donahue and Allen Guzik

A.6.2.1.4.3 Wind Gusting Algorithm Another aspect of the wind and atmospheric model is the unpredictable nature of wind gusts.

Within the wind model architecture there is a wing gusting generator. The concept behind the

wind gusting generator is to be able to generate random wind gusts then add them to the constant

wind profile.

There are many parameters designed into the gusting algorithm to allow for random gusting.

First we choose the number of gusts a vehicle can experience, unique to each launch. This

number is random and can vary from zero to twenty gusts per launch. Another unique property

to each launch is the altitude in the atmosphere where each gust occurs. Each gust is assigned a

random altitude where the gust happens. The possible altitude range is from 0 km to 30 km.

The direction of each gust is also random. This allows for the unpredictable nature of the wind

changing direction. The direction is selected to always be parallel to the ground. This means the

model does not generate any up or down drafts. Each gust direction is in any direction that is

plus or minus 90˚ from the direction of the constant wind profile.

The last component of the wind gust algorithm is the magnitude of each gust. Each gust has a

random magnitude that can be anywhere between 0 m/s to 12 m/s. This magnitude is added to

the constant wind profile. For example, if a gust of 9 m/s is assigned to the altitude of 10 km and

is going in exactly the same direction of the constant wind the resulting wind, at that altitude, is

the constant wind, which is 40 m/s, plus the gust resulting in the total wind velocity of 49 m/s.

Lastly, the duration of each gust is variable. However, the gust is modeled such that the gust is

an impulse. This decision is based on the assumption that the length of altitude each gust is

small enough that when considering the velocity of the rocket traveling through that altitude

range, the gust acts as an impulse.

Page 17: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 660

Author: Kyle Donahue and Allen Guzik

Fig A.6.2.1.4.3.1: Example of a wind profile with gusting in the north/south direction. (Kyle Donahue and Allen Guzik)

An example of a possible wind profile generated from AAE450_wind_model.m with gusts for a

ground rocket launch is provided in Figs. A.6.2.1.4.3.1 and A.6.2.1.4.3.2.

Fig A.6.2.1.4.3.2: Example of a wind profile with gusting in the East/West direction. (Kyle Donahue and Allen Guzik)

Page 18: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 661

Author: Kyle Donahue and Allen Guzik

A.6.2.1.4.4 Wind Force The third, and final, part of the wind model is converting the wind velocity (constant wind

profile plus wind gusts) into the wind force which is used in the equations of motion. The

equation we used for converting the wind velocity into wind force is using Eq. (A.6.2.1.4.4.1)

SWF ww

2

21 ρ= Eq. (A.6.2.1.4.4.1)

where Fw is the force of the wind, ρ is the density of the air at the particular altitude, W is the

total wind velocity which is the constant plus the gust, and Sw is the area exposed to the wind at

the given time.

The force of the wind was modeled this way because we determined the wind would add to the

drag force. For the most part, this is a good assumption. However, the wind will actually be

helping but that is taken care of in the unit vector basis which was described earlier.

We analyze the wind on the launch vehicle for all three body-fixed directions, br, bθ, and bφ.

Since one of our assumptions is that the wind would never moving “up” or “down” the speed and

force in the br is therefore 0 m/s. It was also analyzed for all altitudes from 0 and up till 30 km.

Figure A.6.2.1.4.4.1 is the wind force in the north/south direction, and Fig. A.6.2.1.4.4.2 is the

wind force in the east/west direction.

Page 19: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 662

Author: Kyle Donahue and Allen Guzik

Fig A.6.2.1.4.4.1: Force of the wind in the North/South compass direction.

(Kyle Donahue and Allen Guzik)

Fig A.6.2.1.4.4.1: Force of the wind in the East/West compass direction.

(Kyle Donahue and Allen Guzik)

The two figures above have the constant wind profile and the wind gusts combined into one to

create the wind vector which is used to create the wind force.

Page 20: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 663

Author: Kyle Donahue and Allen Guzik

Reference 1Appleby, B.A. and Reed, T.E., “Dynamic Stability of Space Vehicles,” NASA CR-942, November 1967. 2Heister, Dr. Stephen, “atmosphere4.m,” AAE 539 Advanced Rocket Propulsion lectures, January 2008.

Page 21: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 664

Author: Brad Ferris

A.6.2.1.5 Thrust The thrust of the launch vehicle’s engine will vary with altitude. We divide the thrust of the

launch vehicle’s engine into two parts: momentum and pressure. The momentum thrust is a

result of expelling mass out of the engine, and is a function of the engine’s exhaust mass flow

rate ( ) and the velocity of the exhaust (ve). The pressure thrust is a result of the pressure

difference between the exhaust and the ambient pressures, and is a function of the exhaust

pressure (pe), the ambient pressure (pa), and the exit area of the engine nozzle (Ae). Putting

together momentum and pressure thrust parts, we get Eq. (A.6.2.1.5.1) for thrust:

(A.6.2.1.5.1)

Now we notice that there can be a condition where ambient pressure may equal exhaust pressure.

This condition would cause the pressure thrust to go to zero; the thrust at this condition is the

thrust at optimal expansion (Topt).

(A.6.2.1.5.2)

We can combine Eqs. (A.6.2.1.5.1) and (A.6.2.1.5.2) to get the following:

(A.6.2.1.5.3)

The thrust at optimal expansion, exit pressure, and exit area of the nozzle is provided by the

Propulsion group. The ambient pressure at a given altitude is found in the trajectory code

(Section A.6.2.1.4).

Another aspect of the thrust that needs to be modeled is the time the engine takes to ramp up to

full thrust from ignition and back down to zero thrust at burn out. We call a function to deliver

the appropriate thrust value at a given time. The function takes burn time and total thrust as

inputs. In the function, we assume the ramping up and down of the thrust is linear, and that the

ramping takes place over an interval of one second. For example, the thrust at half a second after

Page 22: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 665

Author: Brad Ferris

ignition would be half of the full thrust. The function returns the appropriate thrust value.

Therefore, we are now able to model the thrust of the launch vehicle over the entire flight.

Page 23: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 666

Author: Brad Ferris

A.6.2.1.6 Lift and Drag The launch vehicle travels through the Earth’s atmosphere for part of its flight. Therefore, the

launch vehicle experiences atmospheric forces. We describe these forces as lift and drag.

In the trajectory model, the angle of attack of the launch vehicle is assumed to be zero.

Consequently, the launch vehicle is always showing the same wetted area. This assumption was

made early on in the trajectory modeling process. The trajectory model was not revised to

include a variable angle of attack. This assumption affects the lift and drag forces, which are

described later in this section. The D&C group uses a more comprehensive model of

aerodynamic forces (Section A.3) than the one used by the Trajectory group.

Lift (L) is defined as the aerodynamic force acting normal to the direction of velocity. The

launch vehicle is an axis symmetric body; zero-lift angle of attack occurs when angle of attack is

zero. Consequently, the launch vehicle only experiences a lift force when the angle of attack is

not zero. Since the angle of attack is assumed to be zero in the trajectory model, there is no lift

force in the trajectory model.

Drag (D) is defined as the aerodynamic force acting opposite of the direction of velocity. Drag

force is a function of several parameters, including the coefficient of drag (CD), the dynamic

pressure (q), and the wetted area (S). The coefficient of drag is a function of the geometry of the

vehicle. The dynamic pressure is a function of atmospheric density (ρ) and vehicle velocity (V),

and is given by:

1

2 (A.6.2.1.6.1)

The wetted area is the area projected onto a plane normal to the direction of velocity. Since we

made the simplifying assumption that angle of attack is zero, the direction of velocity will lie

along the launch vehicle’s axis of symmetry.

Page 24: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 667

Author: Brad Ferris

Now that all of the necessary parameters have been defined, we can now state the equation for

drag:

(A.6.2.1.6.2)

The next step in modeling drag is to effectively model the change in drag force over the flight

time. As the launch vehicle climbs and accelerates, the density of the atmosphere decreases and

the velocity of the launch vehicle increases. These changes are captured in the dynamic

pressure. The drag on the launch vehicle will change as it passes through the subsonic,

transonic, and supersonic regions. To put it another way, drag is a function of Mach number.

Drag is also a function of angle of attack, but the trajectory model assumes angle of attack of

zero. The coefficient of drag captures the change in drag due to the change in Mach number

(Sections A.1.2.3 – A.1.2.4).

As described above, it is necessary to model the Mach number to get drag behavior. Mach

number is a function of the vehicle’s velocity (V) and the local speed of sound (a). The Mach

number is defined as:

(A.6.2.1.6.3)

The speed of sound is a function of a number of parameter, including the ratio of specific heats

of the medium (γ), the specific gas constant of the medium (R), and the local temperature (T).

The speed of sound is given by:

(A.6.2.1.6.4)

In order to get an accurate value for CD, the Mach number is input into a function from the

Aerothermal group and a corresponding value for CD is output into the trajectory code.

Page 25: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 668

Author: Brad Ferris

With these methods for getting values of CD and q that vary with altitude and velocity, and

getting a value for S for angle of attack equal to zero, we can effectively model drag as the

launch vehicle changes altitude and velocity.

Page 26: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 669

Author: Junichi Kanehara

A.6.2.2 Steering Law Development

A.6.2.2.1 Balloon and Ground Launch The steering law, which controls the direction of the velocity vector of the launch vehicle, is one

of the most crucial challenges in our project. A slight change in the steering law affects the

∆Vdrag, ∆Vgravity and the eccentricity of the orbit; therefore, the rocket will not obtain an

acceptable orbit without good sub-optimal steering.

We eventually incorporate the spherical Earth model, the aerodynamic drag due to the

atmosphere, and the gravity field as a function of altitude; however, the starting point of the

construction of the steering law was to consider the flat Earth problem without drag. This

simplified problem is a well-defined two point boundary value problem, which is analytically

solvable by forming Hamiltonian and applying Euler-Lagrange equations, Transversality

condition and Weierstrass condition. The optimal solution obtained is the Linear Tangent

Steering Law1:

tan at bψ = + (A.6.2.2.1.1)

where ψ is the steering angle, t is time, and a and b are the coefficients.

The Linear Tangent Steering Law is the optimal steering law for the flat Earth when there is no

atmosphere. As the steering laws that private companies and the governmental space agencies

actually use are not available to the public, we decide to apply the Linear Tangent Steering Law

for our ground and balloon launches. We recognize that it is not the optimal steering law when

we apply it to the spherical Earth model with atmosphere; however, we also assume that the

difference is small enough to treat the Linear Tangent Steering Law as a good sub-optimal

steering law.

We implement the steering law in our ordinary differential equations solvers and numerically

integrate our equations of motion for each stage. Also, our rocket flies vertically without any

steering for the first ten seconds of the first stage, so we do not need to implement the steering

law for the very first part of the flight.

Page 27: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bel

Figure A

angles of

steering l

20° and

since the

llerophon

A.6.2.2.1.1 s

f each stage

law versus t

-50° respe

tangent fun

Fig

shows how

e, which num

ime when th

ctively. We

nction is unde

g. A.6.2.2.1.1:

Fig. A.6.2.2.

Author:

we measure

merically de

he final steer

should note

efined at 90°

Schematic of t(Am

.1.2: Sample of(Am

: Junichi Kaneh

e the steerin

efine our ste

ring angles a

e that the ini

°.

the steering angmanda Briden)

f the plot of stemanda Briden)

hara

ng angles an

eering law. F

at first, secon

itial steering

gle at the end o

eering law vers

nd depicts t

Figure A.6.2

nd and third

g angle is 88

of each stage.

sus time.

the final ste

2.2.1.2 show

d stages are 4

8° rather than

670

eering

ws the

40°, -

n 90°

Page 28: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 671

Author: Junichi Kanehara

By changing the final steering angles at each stage degree by degree, we are able to find the sub-

optimal steering law that makes it possible to attain a nominal orbit with the eccentricity of as

small as 0.0055. In Section A.6.2.3, we will discuss how we actually deal with the

computationally expensive process of obtaining the sub-optimal steering law, which requires

running the entire trajectory code once for each set of the final steering angles, by using a normal

PC in the year 2008 rather than an expensive super computer.

In the process of choosing the launch type, ground launch or balloon launch, we needed to

compare the corresponding ∆Vdrag and ∆Vtotal. We did not have the final structural configurations

when we did the analysis on the week five of the project, and we did not have a sub-optimized

trajectory for each case either. However, the following results are still valid since the trend never

changes for our launch vehicles regardless of the modifications since the week five.

Table A.6.2.2.1.1 Delta V Comparison

Payload [kg] Launch type ∆Vdrag ∆Vtotal Units 0.2 Balloon 21 10,027 m/s 1.0 Balloon 21 10,011 m/s 5.0 Balloon 20 9,932 m/s 0.2 Ground 2,904 14,033 m/s 1.0 Ground 2,899 13,978 m/s 5.0 Ground 2,875 13,711 m/s

Table A.6.2.2.1.1 shows ∆Vdrag of the ground launch is bigger than that of the balloon launch by

the factor of 150, and ∆Vtotal of the ground launch is significantly bigger since ∆Vdrag is the major

source of ∆Vtotal. Consequently, it is obvious that the balloon launch has a very big advantage in

reducing ∆Vdrag, although the accuracy in the numerical values is not perfect since we use the

preliminary analysis on the week five.

Our final configurations of small, medium and big launch vehicle, whose payloads are 0.2 kg, 1

kg and 5 kg, for the balloon launch have ∆Vdrag of 6 m/s, 6 m/s and 4 m/s and require ∆Vtotal of

9,313 m/s, 9,379 m/s and 9,354 m/s respectively. These results validate that our preliminary

analysis on the week five are numerically close to our final results; therefore, we confidently

conclude that the balloon launch is better than the ground launch in terms of ∆Vtotal, which

exponentially affects the total cost of our launch vehicles.

Page 29: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 672

Author: Junichi Kanehara

References 1 Longuski, J.M. “AAE 508 Optimization in Aerospace Engineering Lectures,” Purdue University, West Lafayette, IN, January 2008.

Page 30: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bel

A.6.2.2. From an

the θb̂ dir

ground a

the atmo

atmosphe

radial vel

launch st

decision.

In order

first stag

vertical p

of the fir

where a i

llerophon

2 Aircraft

aircraft laun

rection). Wi

and balloon l

osphere, eff

ere (defined

locity and en

teering laws

to achieve t

e, defined in

position in a

st stage.

is a coefficie

Launch

nch, the lau

ith the resul

launch, the i

ffectively m

d as an altitu

nter a circula

s and any tr

F

the trajectory

n Eq. (A.6.2

matter of se

ent determin

a =

Author

unch vehicle

ts from the t

ideal trajecto

minimizing l

ude of 90 km

ar orbit (see

rade studies

Fig. A.6.2.2.1.1(Am

y described

.2.2.1). Thi

econds. This

(tan 1−=ψ

ned by Eq. (A

ce t1 /)tan(ψ

r: Amanda Brid

’s initial ori

trade study c

ory for the a

losses due

m), the vehi

Fig. A.6.2.2

s that were

1: Ideal aircraftmanda Briden)

above, we i

s law pitche

s vertical po

)(at

A.6.2.2.2.2).

lbtoverticalim

den

ientation is p

comparing t

aircraft launc

to ΔVdrag.

cle must pit

2.1.1). Here

completed,

t trajectory.

implement a

es the launch

osition is then

parallel to th

the ΔVdrag lo

ch is to pitch

Then, afte

tch over in o

e, we discuss

which led t

a tangent ste

h vehicle from

n maintained

he ground (a

osses betwee

h up to get o

er departing

order to bur

s the final air

to a final d

ering law fo

m a horizon

d for the dur

(A.6.2.2.2.1

(A.6.2.2.2.2

673

along

en the

out of

g the

rn off

rcraft

design

or the

ntal to

ration

1)

2)

Page 31: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 674

Author: Amanda Briden

where e1ψ is defined as the steering angle at the end of the first stage and has a maximum value of

88ο. lbtoverticact lim is the amount of time it takes to reach e1ψ and is defined as 10 seconds. These

values are user defined and can be changed.

The second stage steering law is important, as it determines the amount of radial velocity

remaining as the payload enters orbit. For a circular orbit, no radial velocity should remain.

Significant time was spent finding the best sub-optimal steering law to burn off unwanted radial

velocity. We completed a trade study to select the final second stage steering law; the study is

detailed in the following paragraph.

We defined a successful steering law using the following criterion. First, the law had to be easy

to implement into the main trajectory code. Second, the law had to allow for an optimization

process that minimized the radial velocity at orbit insertion. We began by fitting third order (Fig.

A.6.2.2.2.2) and second order polynomials (Fig. A.6.2.2.2.3) to a steering law shape we thought

would minimize radial velocity. Notice that the shapes of steering laws depend on the burn time

of the second stage. As the burn time is longer, the change in orientation of the launch vehicle

with time is more gradual.

Fig. A.6.2.2.2.2: 2nd stage aircraft steering law – 3 degree polynomial.

(Amanda Briden)

Psi (rad) vs. t (s)Aircraft Launch - 2nd Stage Steering Law Variation with t_burn2

y = -0.0015x3 + 0.0488x2 - 0.4936x + 1.5184R2 = 1

-1

-0.5

0

0.5

1

1.5

2

0 20 40 60 80 100 120 140 160

tb2 (s)

psi (

rad)

tb2 = 20 s

tb2 = 30 s

tb2 = 40 s

tb2 = 50 s

tb2 = 60 s

tb2 = 70 s

tb2 = 80 s

tb2 = 90 s

tb2 = 100 s

tb2 = 110 s

tb2 = 120 s

tb2 = 130 s

tb2 = 140 s

Poly. (tb2 = 20 s)

Page 32: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bel

Impleme

example,

be includ

design ite

It was als

law beca

To avoid

steering l

llerophon

ntation of e

, a look up ta

ded in the tra

eration.

so not clear h

ause it was se

d complexity

law sections

Fig. A.6.2

either type o

able of the c

ajectory cod

Table A

tb2 20 30 40 50

how we opti

et after the s

y and provide

s for the aircr

Author

.2.2.3: 2nd stag(Am

of polynomia

coefficients f

de, as the bu

A.6.2.2.2.1 Stee

ax2 0.0065 0.0029 0.0016 0.0010

imize this ste

econd stage

e a way to op

raft launch s

i ta +=ψ

r: Amanda Brid

ge aircraft steermanda Briden)

al into the t

for the polyn

urn time of th

ering Angle Co

bx -0.2313-0.1542-0.1156-0.0925

eering law.

burn time w

ptimize the s

second stage

ib+

den

ring law – quad

trajectory co

nomial (Tabl

he second st

oefficient Look

c 1.5184 1.5184 1.5184 1.5184

There was n

was known.

steering law

, defined by

dratic.

ode would b

le A.6.2.2.2.

tage varies w

k-up

no way to ch

w, we use thre

Eq. (A.6.2.2

be complex.

.1) would ne

with each ve

hange the ste

ee separate l

2.2.3).

(A.6.2.2.2.3

675

For

eed to

ehicle

eering

linear

3)

Page 33: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 676

Author: Amanda Briden

where i = 1,2, or 3 designates the linear section and a and b are coefficients that define the linear

lines connecting the segments ABCD.

In Fig. A.6.2.2.2.4, the red curve (segments ABCD) corresponds to the second stage aircraft

steering law. The simple steering law equation is easy to implement. The time span of each

section and the final orientation of the launch vehicle (ψe) can be varied by parameter input

changes as an optimization scheme.

Fig. A.6.2.2.2.4: 2nd stage aircraft steering law – three separate linear sections.

(Amanda Briden)

The first linear section begins at the same angle the first stage ended at (point A) and ends at

ψmid1 = 5 ο(point B). The range of this section is a user defined parameter and is a percentage of

the second stage burn time. For this example, 25% of the second stage burn time was the input

parameter.

The second linear section begins at point B and ends at ψ mid2 = 0ο (point C). The time in which

this must occur is not a variable parameter, but is defined as another 25% of the second stage

burn time.

Page 34: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 677

Author: Amanda Briden

The third and final linear section begins at point C and ends at ψ2e (point D). This occurs in the

remaining time of the second stage burn. ψ2e is a variable parameter and the selection of ψ2e can

change the slope of the final section. For this steering law, a look up table is not required and

two input parameters can always be used for optimization no matter what the length of the burn

time is for the second stage. All of the variable steering law parameters above are varied in the

aircraft steering law optimization routine.

We use a linear steering law for the third stage of the aircraft launch. It continues from the end

of the second stage, an example is shown as the green line in Fig. A.6.2.2.2.5. The variable

parameter for this section of the steering law is the orientation of the launch vehicle at the end of

the third stage. However, for the final design, this angle is not varied because the third stage of

the launch vehicle is spin stabilized.

Fig. A.6.2.2.2.5: 2nd stage aircraft steering law – 3rd stage steering law.

(Amanda Briden)

The aircraft launch was not selected because the aircraft steering law is not first derivative

continuous (C1), making it extremely difficult for the D&C group to follow without a significant

effort put toward fitting a complex spline to the law. This is an important lesson learned.

Communication between the Trajectory and D&C groups needs to be seamless from the start of

Page 35: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 678

Author: Amanda Briden

the project. D&C must be aware of every update to any stage’s steering law and be provided

sufficient time to accept or reject the law based on whether or not it can be followed easily.

Page 36: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 679

Author: Allen Guzik

A.6.2.2.3 Third Stage Steering Law Angle Trade Studies We perform many trade studies to obtain the correct steering law. Once selected, the steering

law needs the ending orientation of the vehicle at certain intervals to be defined. These angles

are defined for our launch configuration as the required orientation of the vehicle at the end each

stage during the launching trajectory.

The resulting orbit is very sensitive to the angles we choose. Also, for each launch, the initial

conditions vary significantly from vehicle to vehicle. Examples of some conditions that change

from vehicle to vehicle are GLOM, thrust for each stage, and burn times. The sensitivity of the

trajectory to the initial conditions proved to be very difficult to choose the correct steering angles

for each launch configuration.

Particularly, the final angle, denoted as Ψ3 is of great importance. Ψ3 is the angle that represents

the orientation of the vehicle at then end of the third stage. We also have found the Ψ3 angle is

used to burn off excess radial velocity making the final orbit more circular. A few trade studies

were done to better understand how changing the angle of Ψ3 affects the resulting orbit the

payload is inserted into.

The goal of the first of two trade studies done was to understand how to choose the angle for Ψ3

was to simply observe the trends, if any, this angle has on the resulting orbit. Finding the trends

were done by changing Ψ3 from +90º to – 90º and observing the resulting orbit parameter trends.

For this study the same launching configuration was used, and Ψ1 and Ψ2 were held constant. At

each variation of Ψ3 the following were recorded; radial velocity, periapsis, apoapsis,

eccentricity, ΔV drag, ΔV total, ΔV to circularize, energy of the resulting orbit, and the

maximum acceleration. Some very useful data and trends were observed from this study.

Figures A.6.2.2.3.1 through A.6.2.2.3.4 show plots of the most prevalent resulting data.

Page 37: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 680

Author: Allen Guzik

Figure A.6.2.2.3.1: Affect of changing Ψ3 on periapsis for a ground launch. (Allen Guzik)

Figure A.6.2.2.3.2: Affect of changing Ψ3 on apoapsis for a ground launch.

(Allen Guzik)

Page 38: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 681

Author: Allen Guzik

Figure A.6.2.2.3.3: Affect of changing Ψ3 on eccentricity for a ground launch. (Allen Guzik)

Figure A.6.2.2.3.4: Affect of changing Ψ3 on radial velocity for a ground launch. (Allen Guzik)

These figures show some expected and unexpected trends. For example, Fig. A.6.2.2.3.1 shows

decreasing Ψ3 caused the periapsis to decrease and the radial velocity to decrease. Unexpectedly,

the behavior was complex and showed unpredictable responses from one angle to the next.

The most important result of this study is the effect Ψ2 has on Ψ3. The study showed the

resulting orbit is only as good as the chosen Ψ2 angle. Also, on the whole, the most desirable

orbit. A circular orbit with a periapsis close to 300 km from the surface of the Earth), occurs

when Ψ3 equals Ψ2. The revelation of the best orbit is when Ψ3 equals Ψ2 is particularly

Page 39: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 682

Author: Allen Guzik

important because it supports using a spin stabilized third stage. Spin stabilizing the final stage

is desired because it reduces the weight and cost of the vehicle by not requiring a control system

to control the rocket motor.

The second trade study was done to observe the effect of error in the actual flight’s trajectory to

the nominal case. The D&C group needed to know the allowable range of angles that the error

in Ψ3 can be and still have the payload be inserted into an acceptable orbit. For this study the

same balloon launch configuration was used with only changing the Ψ3 angle. Ψ3 was changed

1º at a time off of the nominal angle both positively and negatively until the propagation of the

orbit hit the surface of the Earth. The periapsis, apoapsis, and eccentricity were recorded for

each Ψ3 angle change. The resulting trends are plotted and shown in Fig. A.6.2.2.3.5 through

A.6.2.2.3.10.

Figure A.6.2.2.3.5: Eccentricity percent error from changing Ψ3. (Allen Guzik)

0%

5%

10%

15%

20%

-24 -20 -16 -12 -8 -4 0 4

Psi3 Angle Change from the Nominal [degree]

Perc

ent E

rror

Page 40: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 683

Author: Allen Guzik

Figure A.6.2.2.3.6: Eccentricity sensitivity from changing Ψ3. (Allen Guzik)

Figure A.6.2.2.3.7: Apoapsis percent error from changing Ψ3. (Allen Guzik)

0.30

0.310.32

0.33

0.34

0.35

0.36

0.37

0.38

0.39

0.40

0.41

0.42

0.43

-24 -20 -16 -12 -8 -4 0 4

Psi3 Angle Change from the Nominal [degree]

Ecce

ntric

ity

Eccentricity

Nominal Value

0%

5%

10%

15%

20%

-24 -20 -16 -12 -8 -4 0 4

Psi3 Angle Change from the Nominal [degree]

Perc

ent E

rror

Page 41: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 684

Author: Allen Guzik

Figure A.6.2.2.3.8: Apoapsis sensitivity from changing Ψ3. (Allen Guzik)

Figure A.6.2.2.3.9: Periapsis percent error from changing Ψ3. (Allen Guzik)

6,000

6,500

7,000

7,500

8,000

8,500

9,000

-24 -20 -16 -12 -8 -4 0 4

Psi3 Angle Change from the Nominal [degree]

Apo

gee

[km

]

ApogeeNominal Value

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

110%

-24 -20 -16 -12 -8 -4 0 4

Psi3 Angle Change from the Nominal [degree]

Perc

ent E

rror

Page 42: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 685

Author: Allen Guzik

Figure A.6.2.2.3.10: Periapsis sensitivity from changing Ψ3. (Allen Guzik)

These figures show that changing the Ψ3 angle off the nominal value greatly influences the

periapsis. Figure A.6.2.2.3.9 shows that for every 1º change the percent error of the resulting

change in periapsis is about 10%. Also shown is the orbit is much more sensitive to angles that

have negative error. Figure A.6.2.2.3.10 shows after an error of less than -6º, the vehicle will

have a resulting orbit that hits the surface of the Earth. While, for positive error angles, the error

can be as much as +21º off of the nominal before the vehicle hits the Earth. In general, for an

acceptable orbit the error can be no less than -1º and no more than +17º off of the nominal angle.

A large allowable positive error shows if error is a problem, to guarantee an acceptable orbit the

nominal case may need to be chosen to be well above the required 300km periapsis requirement.

0

50

100

150

200

250

300

350

400

450

500

550

-24 -20 -16 -12 -8 -4 0 4Psi3 Angle Change from the Nominal [degree]

Perig

ee [k

m]

PerigeeNominal ValueRequested Orbit

Page 43: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 686

Author: Daniel Chua

A.6.2.3 Optimization Like much of the code developed during the course of this project, our optimization algorithm

underwent multiple revisions and several complete rewrites. We begin with the assumption that

the launch vehicle is a typical three-stage, ground-launched vehicle. A linear-tangent steering

law prescribes the steering angle of the launch vehicle at any given moment:

Ψ = tan−1(at + b) (A.6.2.3.1)

where Ψ is the steering angle, t is the time elapsed since the last engine burnout in seconds, and

a and b are constants for each stage.

The optimization problem is then: find a and b for each stage such that the ΔV required to meet

the mission specifications is minimized. To simplify the process, we define three burnout

steering angles - 1Ψ , 2Ψ and 3Ψ - which we manipulate to obtain the best trajectory. The

values of a and b can then be found by solving the equations:

)1(tan −Ψ= nnb (A.6.2.3.2)

( )nbo

nnn t

ba

,

tan −Ψ= (A.6.2.3.3)

where n denotes the stage number and tbo is the burnout time in seconds. Note that for stage

one, )1( −Ψ n would actually be the initial launch angle.

In our first attempt at creating an optimization routine, we specified a series of values of 1Ψ and

constant best-guess values of 2Ψ and 3Ψ . We then simulated the trajectory that would result

from each combination of steering angles. For each simulated trajectory, we calculated the speed

of the vehicle at the third-stage burnout (Vbo) as follows:

( )23

23

23

23 φθ &&& ++= rrVbo (A.6.2.3.1)

Page 44: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 687

Author: Daniel Chua

where 3r& , 3r , 3θ& and 3θ& are the radial speed of the vehicle, the radial displacement from the

centre of the earth at third-stage burnout, the rate of change of longitude and the rate of change

of latitude at third-stage burnout respectively.

From the third-stage burnout speed, we found the energy of the trajectory:

321

rVenergy bo

μ−= (A.6.2.3.2)

where μ is the standard gravitational parameter of Earth, equal to 3.986×1014 m3/s2.

We then compared this value of energy to the known amount of required energy (energyreq ) for a

circular orbit around a spherical Earth:

energyreq = −μ

2 hreq + REarth( ) (A.6.2.3.3)

where hreq is the required orbit altitude as defined in the mission specifications, equal to 300 km

and REarth is the radius of the Earth, approximately 6376 km.

For each simulated trajectory, if the energy calculated with Eq. (A.6.2.3.2) was less than zero

and 3r was greater than or equal to hreq + REarth( ), we classified the trajectory as orbital. If the

energy calculated was greater than zero, we classified the trajectory as hyperbolic. Lastly, if

neither of the above conditions were met, we classified the trajectory as sub-orbital.

Out of the set of orbital trajectories, we chose the best case as the one that gave the lowest ΔV.

Unfortunately, this first attempt at optimization was mostly unsuccessful. At times, the

simulation would plot out a perfectly viable trajectory but the optimization routine (implemented

Page 45: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 688

Author: Daniel Chua

in MATLAB) would consider it hyperbolic. On other occasions, where the simulation clearly

showed that the trajectory was hyperbolic, the optimization routine would pronounce the

trajectory sub-orbital. We were unable to determine if this was a result of a logical or syntactical

error in our code. Furthermore, this version required the user to specify the range of values for

1Ψ , and to make single educated guesses at 2Ψ and 3Ψ .

Since the major problems with our first optimization routine were the classification of

trajectories and the recognition of feasible trajectories, we returned to the mission specifications

and decided on a ranked list of three conditions that a simulated trajectory must pass to be

considered feasible. These three conditions now make up the core of our current optimization

routine:

1. At no time can the magnitude of the vehicle’s position vector (with the center of the Earth

as the origin) fall below the radius of the Earth. We considered this the most important

condition of a trajectory. Many of the early iterations using the first version of the

optimization routine showed that our simulated rocket disappeared beneath the surface of

the Earth shortly after liftoff.

2. The perigee of the trajectory must be at least 300 km above the surface of the Earth. This

condition is expressed in the mission specifications.

3. The eccentricity of the orbit must not be greater than 0.5. This condition allows us to

easily exclude hyperbolic or highly eccentric trajectories.

The next stage in developing the optimization routine was to allow 2Ψ and 3Ψ to be varied. In

this version, the user specified upper and lower bounds for all three angles. Again, we simulated

the trajectory for every possible combination of angles. We tested each resulting trajectory

against the aforementioned conditions. We then chose the feasible orbit with the lowest ΔV as

the best case.

Page 46: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 689

Author: Daniel Chua

Using this approach, we immediately ran into another problem. We were effectively searching

for the optimal solution by brute force. To run through every possible combination of angles at a

precision of one degree would have taken us an excessive amount of time. Using the computers

available to us, each simulation took approximately 1 minute to run. Trying all possible

combinations would have taken more than 11 years.

We impose two conditions on the angles that greatly reduce the amount of time that the entire

optimization routine takes to run:

1. The third stage is spin-stabilized. This means that 2Ψ and 3Ψ are always equal, which

effectively limits the number of angles we have to manipulate to two. In fact, since we

were still using a precision of one degree throughout the whole range of angles, this

reduced the run time by up to a factor of 181. Our computation time thus fell from 11

years to about 3 weeks.

2. 2Ψ is always less than or equal to 1Ψ . By limiting the chance that the launch vehicle

pitches back up during the second stage burn, the computation time was further reduced

to about 1.5 weeks.

At this point, we started making use of MATLAB’s parallel processing functionality. The

computers available to us in the lab have dual-core processors, and some of the AAE department

compute servers have quad-core processors. However, most of the functionality in MATLAB

runs on a single core. Since we are trying to solve the problem by brute force using the results of

many independent simulations, distributing the load to both cores can significantly reduce our

computational time. By doing so, we nearly quartered the time to about 3 days.

To quickly obtain preliminary results for the other groups, we were using guessed ranges of

angles and low tolerances followed by a process of iteratively homing-in on a rough result. The

next logical step was therefore to implement a way to do this automatically and systematically,

bringing us to our final optimization routine.

Page 47: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 690

Author: Daniel Chua

We start with the largest possible range of 1Ψ and 2Ψ - from negative 90 degrees to positive 90

degrees – at intervals of 30 degrees. We then simulate the trajectories that result from each

combination of angles and choose the combination that gives the lowest eccentricity. We use

eccentricity instead of ΔV due to reports from the D&C group that the steering in our preliminary

results was too aggressive to control. Next, we examine the range centered on the angles making

up the best combination of the previous iteration. This time, we use intervals of 15 degrees. We

repeat this process with intervals of 8˚, 4˚, 2˚ and 1˚. After the final iteration (using intervals of

1˚), we either report the best-case angles (correct to 1˚), or that all simulations failed the above

criteria for feasible orbits.

If there are any feasible trajectories, we re-simulate the best cases and pass the details of the

trajectory to D&C for control. The final optimization routine takes approximately 15 minutes to

run. It should also be mentioned at this point that the exact same optimization routine is used for

the balloon launch since the steering law remains unchanged.

Page 48: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 691

Author: Daniel Chua

The best-case angles we obtain using the above routine are tabulated below:

Table A.6.2.3.1 Optimized Angles (0.2kg payload)

Variable Value Units 1Ψ 42 deg

2Ψ -25 deg

3Ψ -25 deg

Angles are the nose pointing based on the horizon

Table A.6.2.3.2 Optimized Angles (1kg payload)

Variable Value Units 1Ψ 30 deg

2Ψ -10 deg

3Ψ -10 deg

Angles are the nose pointing based on the horizon

Table A.6.2.3.3 Optimized Angles (5kg payload)

Variable Value Units 1Ψ 24 deg

2Ψ -32 deg

3Ψ -32 deg

Angles are the nose pointing based on the horizon

Page 49: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 692

Author: Scott Breitengross

A.6.2.4 ΔV Analysis The ΔV calculations are essential to the determination of the trajectory, indexing of flight path

characteristics, and fuel mass determination. Due to the vital nature of these calculations, the

equations for each applicable ΔV loss was determined very early in the design process and

implemented within the trajectory codes. The equations used to determine each ΔV calculation

are included below:1

The velocity required to maintain lower Earth orbit is calculated using Eq. (A.6.2.4.1)

pleo R

V μ=Δ (A.6.2.4.1)

μ is 3.986 x 1014 m3/s2 for Earth and Rp is the radius of the Earth plus the height of the periapsis

(from Earth’s surface). Rp is held constant for our simulation.

The velocity required to overcome the effect of drag occurring within the Earth’s atmosphere are

calculated using Eq. (A.6.2.4.2).

dttmtDV

bt

drag ∫=Δ0 )(

)( (A.6.2.4.2)

where D(t) is the drag experienced over every time step, m(t) is the mass of the rocket for every

time step, and tb is the total burn time. It is noted that once the rocket leaves the atmosphere the

D(t) term goes to zero and thus no more drag is accumulated.

The velocity required to overcome gravity losses experienced during flight is calculated using Eq

(A.6.2.4.3) below.

∫=Δ dtttgVgrav ))(sin(*)( γ (A.6.2.4.3)

Page 50: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 693

Author: Scott Breitengross

where g(t) is the gravity force experienced by the rocket over the course of the flight for every

time step, and γ(t) is the flight path angle of the rocket from horizontal over the course of the

flight for every time step.

The ΔV earned from launching the spacecraft a certain location on the Earth was calculated

using Eq. (A.6.2.4.4).

d

e

assistearth t

RV

)180

cos(2 φππ=Δ (A.6.2.4.4)

where Re is the radius of the Earth [m] , φ is the latitude of the launch location and td is the total

time in a day in seconds. For Earth, td is 86400 seconds and Re is 6,376,000 meters.

The trajectory group is also interested in determining whether the ΔV from the trajectory code is

matching the ΔV distribution from the MAT codes. In order to determine this, a comparison is

made between the two codes using Eq. (A.6.2.4.5).

dttmtTVthrust ∫=Δ)()( (A.6.2.4.5)

where T(t) is the thrust experienced by the rocket over the entire length of the flight for every

time step. This equation allows the trajectory group to compare the ΔV distribution amongst the

stages from the trajectory codes and the MAT codes.

The previous equations were combined from each stage and then the final ΔV determination is

calculated using Eq. (A.6.2.4.6).

assistearthgravdragleototal VVVVV Δ−Δ+Δ+Δ=Δ (A.6.2.4.6)

This equation allows the team to make a determination about which trajectory is the most ideal

and to give the propulsion group an estimation on the required ΔV consumption and thus the

required fuel needed to reach the trajectory and lower Earth orbit.

Page 51: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 694

Author: Scott Breitengross

It is important to note that the values for ΔVthrust, ΔVdrag, and ΔVgrav are calculated using ode45 in

Matlab. Since the ode codes are used separate from the launch vehicle determination, it is

required that the ΔV requirements for each stage be separated until the entire code is run. Once

this is complete the outputs from the separate stages are combined for a total ΔV determination

for the entire flight path.

There is also consideration paid to the fact that while a trajectory may exist, the characteristics of

that trajectory are not ideal and needs to be corrected while in orbit. This consideration prompts

a calculation of the ΔV required to circularize the orbit. This ΔV is calculated using Eq.

(A.6.2.4.7).

))cos(2()( 222 γleocircleocirccirc VVVVV −+=Δ (A.6.2.4.7)

where Vcirc is the velocity required for a circular orbit based on the perioapsis of the obtained

orbit, Vleo is the velocity of the obtained orbit, and γ is the flight path angle.

The ΔV calculations are then used as a comparison tool for the optimization of the trajectory.

There is a correlation between required ΔV and cost of the rocket. This is based on the fuel cost

and the additional size required to carry excess amounts of fuel. In the initial version of the

optimization code, ΔV was the determining factor in choosing the applicable launch parameters,

steering coefficients and angles, and the initial launch angle based on this determination.Later

reviews of the trajectory revealed that there was significant change in the ΔV due to drag when

the rocket was launched from an altitude instead of from the ground.

Page 52: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 695

Author: Scott Breitengross

References 1 Humble, Ronald W., Henry, Gary N., Larson, Wiley J., Space Propulsion Analysis and Design. The McGraw-Hill

Companies Inc. St. Louis, Missouri, 1995.

Page 53: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 696

Author: Junichi Kanehara

A.6.2.5 Trajectory Code

A.6.2.5.1 Main Script The main script calls all the necessary scripts and functions for getting inputs, calculations,

outputting the numerical results, and producing plots for one particular set of inputs. We

intentionally write the main script so that it represents the entire trajectory code as the “table of

contents”. The users should be able to follow the outline of what the entire trajectory code does

by taking a look at the main script while the details of the actual computations are located in each

script or function that the main script calls.

Another important purpose of the main script is to keep track of the log. The entire trajectory

code consists of approximately 50 files, counting all the input files, scripts and functions that are

necessary to run the entire trajectory code; therefore, it is essential to keep track of who is

responsible for what in which file as we develop the trajectory code. We place the log section as

comment lines at the beginning of the main script, and the log section consists of 63 % of the

script in the final version.

Page 54: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 697

Author: Junichi Kanehara

A.6.2.5.2 Three-dimensional Plots Plotting the three-dimensional plots that represent the Earth, the launch site and the trajectory of

the rocket is the very final job of the trajectory code. In the developing phase of the project, we

simply need the three-dimensional plots to judge if the test case gets into an acceptable orbit or

not; however, the three-dimensional plots are the final “products” from the trajectory group, so

they should be realistic and somewhat artistic as well at the end of the project since we have the

final presentation in public.

The mapping toolbox of MATLAB makes it possible to produce a globe. We also implement the

orientation of the Sun in the plots. In order to produce three-dimensional plots with those

features, the following MATLAB commands are convenient: sphere, surf, plot3, rotate, view,

colormap and light.

By using light command, we are able to specify the position of the light source. The distance

between the Sun and the Earth is 1 AU, which is approximately 150 million km, and the axial tilt

of the Earth is 23.44°, or 0.409 radians.

Z rθ≈ (A.6.2.5.2.1)

where Z is the vertical position from X-Y plane, r is the distance between the Sun, and the

Earth and θ is the axial tilt of the Earth.

In our Earth-centered inertial Cartesian coordinating system, the Sun is 61 million [km] above

the plane of the equator of the Earth in summer of the northern hemisphere of the Earth,

calculating by the equation (A.6.2.5.2.1), which approximates the vertical length by the arc

length; we assume it is a good approximation for a technically non-serious calculation.

Once we are able to specify the position of the Sun by light command, it is not difficult to make

it possible to specify the date and time, as the Earth rotates once every day and revolves around

the Sun once every year; we simply use trigonometric functions. The only part that we need to

Page 55: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 698

Author: Junichi Kanehara

pay attention to is to make sure to specify the time in UTC, which corresponds to the longitude

of 0°; that is why the time in Fig. A.6.2.5.2.1 is specified in UTC.

Fig. A.6.2.5.2.1: Orbit Trajectory at June Solstice, viewing from the latitude of 20° N.

(Junichi Kanehara)

Fig. A.6.2.5.2.2: Orbit Trajectory at December Solstice, viewing from the latitude of 20° S.

(Junichi Kanehara)

Page 56: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 699

Author: Junichi Kanehara

In version 3.2 of AAE450_Trajectory_Plots, we are able to specify the time in our local time

since it automatically computes UTC based on our local time and time zone. We need an

attentive observation of the date and time for this additional feature; for example, 10p.m. on

December 31st, or the day 365, in New York (Eastern Standard Time) is 3a.m. on January 1st, or

the day one, of UTC.

This way, we are able to produce realistic three-dimensional plots that feature the globe, the

orientation of the Sun that is capable of representing the specified date and time, the location of

the launch site, and the trajectory of the rocket as shown in Fig. A.6.2.5.2.1 and Fig. A.6.2.5.2.2.

Page 57: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 700

Author: Junichi Kanehara

A.6.2.5.3 Validation of Equations of Motion It is essential to validate our trajectory code since not only the trajectory group but also other

groups use the outputs of our trajectory code. One method of validating our equations of motion

and the numerical integrations is to compare ∆Vthrust of historical data to the ∆Vthrust of our code.

∆Vthrust is defined in Eq. (A.6.2.5.3.1):

0

( )( )

burnt

thrustt

T tV dtm t

Δ = ∫ (A.6.2.5.3.1)

where 0t is the initial time, burnt is the burn time, ( )T t is the thrust as a function of time, and

( )m t is the mass of the launch vehicle as a function of time.

If we set the drag to be 0 N throughout our flight, in other words, if we neglect the atmosphere of

the Earth, ∆Vthrust equals to ∆Vpropulsion, which is the ∆V that the propulsion system produces. We

compute ∆Vpropulsion by using our trajectory and compare to the historical data of Ariane 4, Saturn

V and Pegasus, which are 10,120 m/s, 13,470 m/s and 8,360 m/s respectively1. Running our

trajectory codes with the corresponding inputs, our numerical values matched with the historical

data in the accuracy of 3 to 5 significant figures; therefore, we conclude that our equations of

motion are correct and that we correctly numerically integrate the equations.

References 1 Tsohas, John. Historical data of Ariane 4, Saturn V and Pegasus interview. February 2008.

Page 58: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 701

Author: Amanda Briden

A.6.2.5.4 Ballistic Coefficient A vehicle’s ballistic coefficient1 is a “measure of its ability to overcome air resistance in flight”2.

The coefficient is given as Eq. (A.6.2.5.4.1).

SCmCD

ballistic = (A.6.2.5.4.1)

where m is the current mass, DC is the coefficient of drag (calculated by the Aerothermal group’s

solve_cd.m), and S is the reference area (current stage diameter). A larger Cballistic means that a

vehicle is massive enough to overcome air resistance during ascent. Unlike smaller launch

vehicles, the Saturn V, Ariane 4, and Pegasus vehicles are not as susceptible to the effects of

wind and are expected to have much larger Cballistic than our vehicle.

As another way of validating the trajectory model, we perform an analysis comparing the

ballistic coefficient of our launch vehicle to the much larger vehicles listed above. Our trajectory

code is run with our ground, balloon, or aircraft steering law. Table A.6.2.5.4.1 provides the

steering angles at the end of each stage for each launch vehicle run.

Table A.6.2.5.4.1 Key Performance and Steering Law Characteristics

Vehicle 1m& (kg/s) tb1 (s) e1ψ (ο) e2ψ (ο) e3ψ (ο) Saturn V 13,360.24 161.0 87.0 40.0 0.0 Ariane4 01,112.19 205.0 87.0 40.0 0.0

Pegasus 00206.14 073.0 87.0 -25.0 -30.0 SB-HA-DA-DAa 00006.85 196.5 -14.0 -20.0 -20.0 SG-SA-DT-DTb 00014.21 182.4 0.0 -10.0 -10.0 LG-SA-DT-DTc 0018.391 171.2 34.0 -26.0 -26.0

a. 200 g balloon: 1st stage hybrid aluminum, 2nd stage solid aluminum, 3rd stage solid aluminum b. 200 g ground: 1st stage storable aluminum, 2nd stage solid titanium, 3rd stage solid titanium c. 5 kg ground: 1st stage storable aluminum, 2nd stage solid titanium, 3rd stage solid titanium

Page 59: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 702

Author: Amanda Briden

For each case, the launch vehicles inputs (i.e. tb, m, T etc.) are changed and come from published

data provided by John Tsohas3. The goal of the analysis is to see trends in the change in ballistic

coefficient and is not meant to capture the exact value for every vehicle.

The ballistic coefficient variation with time for the larger launch vehicles is plotted in Fig.

A.6.2.5.4.1. The coefficient is set to zero after the launch vehicle is out of the atmosphere.

Trends match expectations as the Saturn V has the largest ballistic coefficient initially, followed

by the Ariane 4 and Pegasus. The Ariane 4 is larger than the Saturn V after 60 s. This is

explained by Saturn V’s first stage mass flow rate. It is much larger than the Ariane 4 and has a

burn time that is smaller (refer to

Table A.6.2.5.4.1). The large dips in the plots occur when the vehicle enters the transonic

regime (M = 1) and DC spikes causing a sudden decrease in Cballistic.

Fig. A.6.2.5.4.1: Ballistic coefficient variation with time for larger launch vehicles (i.e. Saturn V, Ariane 4,

Pegasus). (Amanda Briden)

Page 60: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 703

Author: Amanda Briden

In comparison to the Saturn V, our large ground launch vehicle’s ballistic coefficient is

approximately 16 times smaller. All of our launch vehicles fit in the lower left hand corner of

Fig. A.6.2.5.4.1. A blown up view of that region is displayed in Fig. A.6.2.5.4.2. Within our

region, the trends remain consistent as the bigger launch vehicle still has the largest ballistic

coefficient.

Fig. A.6.2.5.4.2: Ballistic coefficient variation with time for our launch vehicles (i.e. SB-HA-DA-DA, SG-SA-DT-

DT, LG-SA-DT-DT). (Amanda Briden)

The trends match our expectations and provide a boost of confidence in the modeling of drag in

the trajectory code.

References 1Longuski, Professor James. “AAE 450 Spacecraft Design Lecture #6 Spring 2008.” Purdue University, West Lafayette, IN. 2 “Ballistic coefficient.” Wikipedia [online], January 18, 2008, URL: http://en.wikipedia.org/wiki/Ballistic_coefficient [cited 27 February 2008]. 3 Tsohas, John. Trajectory Input Values for Historical Launch Vehicles interview. February 2008.

Page 61: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 704

Author: Elizabeth Harkness

A.6.3 Closing Comments The success of the trajectory design process hinges on the collaborative efforts of the entire

trajectory group, as well as the entire design team. There are many things that we think went well

in the trajectory design process, as well as many things that we would do differently. In

conclusion to the trajectory design section of the appendix, we discuss what we did well, our

lessons learned and recommendations we have on future development of the trajectory design.

With the development of the multi-processor distributing capabilities, we were able to analyze

more steering angles than we would have been able to manually. This was a good improvement

and we recommend that it be used for any large optimization schemes. Another good choice was

the use of a spin stabilized third stage. This greatly reduced the time needed to optimize the

steering angles, since it reduced the number of angles varied from three to two.

Another aspect of our design on which we are proud of and are glad we implemented, was

commenting and cataloging our code. All versions of our code where logged by version number

and each new revision was accompanied by a description of the changes that were made from the

previous version. Additionally, all of the different versions were compiled and organized online

by one person (Junichi Kanehara). This system made it very easy for the entire trajectory group,

as well as anyone else on the design team, to access and understand the progression and use of

our codes.

With all of the things that went well in the trajectory design, there are also many things that we

would do differently. When it came to interfacing with the D&C group to control the launch

vehicle trajectory, we found that the optimized nominal trajectory found by the trajectory group

was too optimistic for effective control by D&C. If faced with this problem again, we would

make sure to work closer with D&C from the beginning of the steering law development phase,

instead of waiting until the design was complete.

We would also spend more time on refining the steering law for all launch types. A lot of time

was spent on the aircraft steering law, while not as much time was spent on the steering law for

the ground and balloon launch. This led to some difficulty in comparing the ΔV and cost of the

Page 62: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 705

Author: Elizabeth Harkness

balloon and aircraft launches. Although the aircraft steering law was more optimized, it was

harder for D&C to control.

The benchmarking and validation of our code were difficult, since steering laws and trajectory

optimization processes are proprietary information. However, we feel that we should have started

with a simplified two dimensional model of the trajectory before attempting to add in the

steering laws and degrees of freedom. This would have made it easier in the end for us to

benchmark our code and prove that our programs were modeled with the appropriate physics. On

that same line, we should have worked more with the structures and propulsion groups to get

more accurate input data earlier, so we can benchmark our code sooner. This would allow us to

work more closely with the D&C group, so that we can make sure that the trajectory and the

D&C models of the system work together satisfactorily, before the final design phase of the

project.

Due to the limited time we had to work on the project, there are a few things that we left out of

our analysis, which should be considered in future studies. We did not include any delay time

between the separation of stages. This is not accurate, since the next stage cannot be fired at the

same instant that the previous stage is jettisoned. Throttling the engine was also not considered

as a solution to avoid maximum dynamic pressure. To solve these issues, more collaboration

with the propulsion group would be needed to model the thrust profile more accurately.

More work also needs to be done on integrating the wind model into the dynamic and force

model of the launch vehicle. Because we ultimately decided to use the balloon launch and there

is not wind at the launch altitude, the trajectory group did not finish integrating the wind model.

If future studies were to use the ground or aircraft launch type, the wind model would need to be

implemented, because of greater weather variations at lower altitudes and its effects on the angle

of attack of the launch vehicle.

In all, this project taught us many things about working in teams, both small and large, and the

development of complex computer simulations. We understand the trajectory design process

better and the many different aspects of designing an optimal (or sub-optimal) trajectory. We

Page 63: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 706

Author: Elizabeth Harkness

learned that the ability to split the calculations between as many computer processors as possible

made optimization easier and that keeping good version logs and commenting on changes in

code made finding mistakes and transitioning to precious versions easier. We also learned that

more communication earlier in the project with the D&C, propulsion and structures groups is

essential to a smooth compilation at the end of the project. If we had more time to work on this

project, we would write a simpler model of the trajectory and validated it before moving on to

more complicated models. We would work with D&C to optimize the steering law further. We

would integrate the wind model into the code, so that the effects of angle of attack can be

accounted for when launching below 30,000 m and we would further develop the thrust profile

with the propulsion group to take into account stage separation and engine throttling.

Page 64: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 707

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

A.6.4 User’s Guide to Running the Trajectory Code Compiled and Edited by Elizabeth Harkness The trajectory code is a conglomeration of 27 MATLAB scripts and functions. The following

document is meant to be a guide to anyone wishing to use the trajectory code. Each script or

function in the trajectory code folder is briefly described here, with a listing of inputs needed and

outputs generated. The first section, AAE450_Trajectory_run(_distribute).m, describes how to

run the overall code, while the rest of the sections are more detailed descriptions of the separate

components.

Index AAE450_Trajectory_run(_distribute).m E. Harkness page 708 AAE450_Trajectory_Main.m J. Kanehara page 716 AAE450_Trajectory_Get_Inputs.m J. Kanehara page 717 AAE450_run_traj_Optimization_GB.m (AAE450_run_traj_Optimization_AC.m)

D. Chua page 718

AAE450_Trajectory_D2MP.m D. Chua page 719 AAE450_Trajectory_Calculations.m J. Kanehara page 720 AAE450_Trajectory_ODE.m J. Kanehara page 721 AAE450_Trajectory_ODE_AC_1st.m J. Kanehara page 723 AAE450_Trajectory_ODE_AC_2nd.m J. Kanehara page 725 AAE450_Trajectory_ODE_AC_linear.m J. Kanehara page 727 AAE450_Trajectory_ODE_steer.m J. Kanehara page 729 AAE450_Trajectory_ODE_coast.m J. Kanehara page 731 AAE450_Wind_Model.m K. Donahue page 733 atmosphere4.m A. Guzik page 734 solve_cd.m B. Ferris page 735 speedofsound.m B. Ferris page 736 thrustprofile.m B. Ferris page 737 AAE450_Trajectory_GSAC.m A. Briden page 738 AAE450_Trajectory_GSAC_2STO.m A. Briden page 739 AAE450_Trajectory_GSAC_Aircraft_2_3linear_sections.m A. Briden page 740 AAE450_Trajectory_GSAC_Aircraft_3.m A. Briden page 742 Delta_V.m S. Breitengross page 744 AAE450_orbit_param.m A. Guzik page 745 AAE450_Trajectory_outputs.m J. Kanehara page 746 AAE450_Trajectory_Plots.m J. Kanehara page 747 AAE450_Trajectory_Body2Inertial.m J. Kanehara page 768 Code Flowchart: Run Once K. Donahue page 749 Code Flowchart: Optimize S. Breitengross page 752

Page 65: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 708

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

AAE450_Trajectory_run(_distribute).m Written by Elizabeth Harkness Revision 1.4 – 18 February 2008 Description:

The function AAE450_Trajectory_run.m interfaces between the output of the structures and

propulsion codes and the input of the trajectory code while the function

AAE450_Trajectory_run_distribute.m interfaces between the output of the structures and

propulsion codes and the input of the trajectory code which uses AAE450_Trajectory_D2MP.m

or AAE450_Trajectory_D2MP_ac.m to optimize steering angles (for ground/balloon or aircraft

respectively). This document describes how AAE450_Trajectory_run.m and

AAE450_Trajectory_run_distribute.m function, the required inputs and the expected outputs.

Input Section: To get the inputs from the propulsion/structures code, the main_loop.m (MAT) code needs to be

run with the following call line: [ID,Trajectory_Input]= main_loop Propulsion/Structures Inputs: To make the input file for the AAE450_Trajectory_Main.m code, AAE450_Trajectory_run.m and AAE450_Trajectory_run_distribute.m need to be called with the call line: AAE450_Trajectory_run(ID,Trajectory_Input)

or AAE450_Trajectory_run_distribute(ID,Trajectory_Input)

Page 66: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 709

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

All of the variables that are passed into the function from the propulsion/structures codes are

described below:

Variable Name Description

ID Run Identifier. This is the code for each case being run. E.g. ‘XX-XX-XX’

type If the case is running an air launch or ground launch. E.g. Ground: 1, Balloon: 2, Aircraft: 3.

N Number of stages. E.g 1, 2, 3payload_mass Mass of Payload [kg] E.g. 0.2, 1, 5m1 Mass of the 1st Stage [kg] m2 Mass of the 2nd Stage [kg]m3 Mass of the 3rd Stage [kg] T1 Average Thrust of first stage. [N] T2 Average Thrust of second stage. [N]T3 Average Thrust of third stage. [N] t_vertical Time of vertical flight [s]t_burn_1 First stage burn time. [s] t_burn_2 Second stage burn time. [s] t_burn_3 Third stage burn time. [s] m_dot_1 Mass flow rate of 1st Stage. [kg/s] m_dot_2 Mass flow rate of 2nd Stage. [kg/s] m_dot_3 Mass flow rate of 3rd Stage. [kg/s] diam_1 Diameter of first stage. [m] diam_2 Diameter of second stage. [m] diam_3 Diameter of third stage. [m] diam_4 Diameter of fourth (payload) stage. [m] Pe_1 Exit pressure of 1st stage engine. [Pa] Pe_2 Exit pressure of 2nd stage engine. [Pa] Pe_3 Exit pressure of 3rd stage engine. [Pa] Ae_1 Exit area of 1st stage engine. [m^2] Ae_2 Exit area of 2nd stage engine. [m^2] Ae_3 Exit area of 3rd stage engine. [m^2]

Page 67: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 710

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

User Inputs: AAE450_Trajectory_run.m

For Ground and Balloon Launch

After the propulsion/structures data has been loaded, the function will then prompt the user to

input the steering angles:

Variable Name Description psi1_0 Angle at the end of 1st stage vertical [deg] psi1_1 Starting angle for end of first stage variation [deg] psi1_2 Final angle for end of first stage variation [deg] psi_increment Number of increments between psi1_1 and psi1_2 psi2 Angle at the end of 2nd stage [deg] psi3 Angle at the end of 3rd stage [deg]

Note: To run only one steering angle, make psi1_1 equal to psi1_2 and set psi_increment to one.

E.g. psi1_1 = 10, psi1_2 = 10, psi_increment = 1.

For Aircraft Launch After the propulsion/structures data has been loaded, the function will then prompt the user to

input the steering angles:

Variable Name Description angle_tclimb Steering angle at the end of climb [deg] tb2sec1_percent_tb2 Percent of first steering law for stage two [s] psi2 Angle at the end of 2nd stage [deg] psi3 Angle at the end of 3rd stage [deg]

AAE450_Trajectory_run_distribute.m

For All Launch Types

There are no user generated inputs for AAE450_Trajectory_run_distribute.m, the steering angles

are all varied by the program AAE450_Trajectory_D2MP.m (or

AAE450_Trajectory_D2MP_ac.m for an aircraft launch).

Internal Inputs:

The following inputs are defined internally in AAE450_Trajectory_run.m and

AAE450_Trajectory_run_distribute.m. These values should not need altering by the casual user

(if ever). They include all initial conditions (these are set to vary with the type of launch), as well

as some placeholder variables (labeled 4) for the orbit propagation stage.

Page 68: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 711

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

Variable Name Description h_i Initial altitude [m]psi1_0 ***Initial launch angle [deg] r_dot_i_1 Initial radial velocity [m/s]theta_dot_i_1 Initial tangential velocity [rad/s] launch_lat Launch latitude [deg] launch_long Launch longitude [deg] phi_dot_i_1 Initial phi velocity [rad/sec] b_1 Coefficient of angle at the end of 1st vertical stage. R_Earth Radius of the Earth [m] t_vertical Time of vertical flight to clear launch tower. [sec]

*** Note: For AAE450_Trajectory_run_distribute.m only.

The values for these variables are shown below: %% User non-variable inputs. R_Earth = 6376*1000; launch_lat = 28; %[deg] launch_long = -80; t_vertical = 10; %[sec] (psi1_0 = 88;) ... ... % Set initial conditions for different launches if type == 1 % Ground h_i = 0; r_i_1=R_Earth+h_i; % [m] r_dot_i_1 = 0; % [m/sec] theta_i_1=launch_long*pi/180; % [rad] theta_dot_i_1 = 0; % [rad] phi_i_1=(90-launch_lat)*pi/180; % [rad] phi_dot_i_1=0; % [rad/s] b_1=tan(psi1_0*pi/180); end if type == 2 % Balloon h_i = 30000; r_i_1=R_Earth+h_i; % [m] r_dot_i_1 = 0; % [m/sec] theta_i_1=launch_long*pi/180; % [rad] theta_dot_i_1 = 0; % [rad] phi_i_1=(90-launch_lat)*pi/180; % [rad] phi_dot_i_1=0; % [rad/s] b_1=tan(psi1_0*pi/180); end if type == 3 % Airplane h_i = 15000; % Launch Altitude (from MSL) [m] {Pegasus deployment Altitude} r_i_1=R_Earth+h_i; r_dot_i_1 = 0; % [m/sec] theta_i_1=launch_long*pi/180; theta_dot_i_1=59.72/r_i_1; % [rad/s] phi_i_1=(90-launch_lat)*pi/180;

Page 69: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 712

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

phi_dot_i_1=0; b_1=tan(angle_tclimb*pi/180); end % Coasting Orbit Propagation Parameters m4=0; T4 = 0; % Zero thrust for coasting. t_burn_4=3*60^2; % [s] for orbit trajectory m_dot_4=0; % Mass flow rate of coasting Stage [kg/s] Pe_4=0; % Exit pressure, 4th stage engine [Pa] Ae_4=0; % Exit area, 4th stage engine [m^2] diam_4=0; ... ... if N==2 t_burn_3=0; m_dot_3=0; T3 = 0; End Output Section:

The function creates an input file called AAE450_Trajectory_Inputs.m this is the input file used

by AAE450_Trajectory_Main.m. After writing the input file, the main trajectory code needs to be

run to generate the solution. The call line is simply: AAE450_Trajectory_Main

for AAE450_Trajectory_run.m and

AAE450_Trajectory_D2MP

for AAE450_Trajectory_run_distribute.m.

Or, for an aircraft launch, AAE450_Trajectory_D2MP_ac

Note: Before running AAE450_Trajectory_Main.m, make sure that the script

AAE450_Get_Inputs.m has the script AAE450_Trajectory_Inputs.m as the only uncommented

line. Otherwise, AAE450_Trajectory_Main.m will not load the correct inputs.

Once AAE450_Trajectory_Main.m has been run, an output file will be written. This output file is

a copy of what has been printed to the MATLAB Command Window and is named with the

Case ID number that was assigned to it. (E.g. MG-CA-DS-DC)

Page 70: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 713

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

AAE450_Trajectory_run.m Sample Output:

The output of AAE450_Trajectory_run(_distribute).m is the input file for the

AAE450_Trajectory_Main.m.

File: AAE450_Trajectory_Inputs.m: ID = 'SB-HA-DA-DA.txt'; type = 2.0000000000; airplane = 0.0000000000; N = 3.0000000000; h_i = 30000.0000000000; r_i_1 = 6406000.0000000000; r_dot_i_1 = 0.0000000000; theta_dot_i_1 = 0.0000000000; payload_mass = 0.2000000000; t_vertical = 10.0000000000; t_burn_1 = 147.7675026979; t_burn_2 = 160.8812170075; t_burn_3 = 206.2408603065; psi1_1 = psi1orig; psi2 = psi2orig; psi3 = psi3orig; psi1_0 = 88.0000000000; m1 = 437.8415091229; m2 = 91.5734691245; m3 = 31.2258015670; T1 = 6606.1670069556; T2 = 1392.5576461998; T3 = 355.7926808351; m_dot_1 = 2.0741303114; m_dot_2 = 0.4325914350; m_dot_3 = 0.1105253106; diam_1 = 0.7731278821; diam_2 = 0.3350953988; diam_3 = 0.2309862864; diam_4 = 0.0000000000; Pe_1 = 2821.1669372331; Pe_2 = 11453.6603989692; Pe_3 = 11453.6603989692; Ae_1 = 0.1054496676; Ae_2 = 0.0064027858; Ae_3 = 0.0016358851; launch_lat = 28.0000000000; launch_long = -80.0000000000; theta_i_1 = -1.3962634016; phi_i_1 = 1.0821041362; phi_dot_i_1 = 0.0000000000; b_1 = 28.6362532829; phi_i_1 = 1.0821041362; m4 = 8.4309664231; T4 = 0.0000000000; t_burn_4 = 32400.0000000000; m_dot_4 = 0.0000000000; Pe_4 = 0.0000000000; Ae_4 = 0.0000000000; m0_1 = 560.8407798144; m0_2 = 122.9992706915; m0_3 = 31.4258015670; m0_4 = 8.6309664231;

Page 71: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 714

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

Sample Output for Entire Trajectory Code:

The following is a sample output of the entire trajectory code (this is the output of the code

AAE450_Trajectory_outputs.m). This is output to both the MATLAB command window as well

as to a text file that has the same name as the case ID:

Currently running 24 deg case. *************************************** Output from AAE450_Trajectory_outputs.m *************************************** Case ID: LB_HA_DA_DA Orbital Parameters Period: 6038.7878 [s] Semi-major axis: 7167.36 [km] eccentricity: 0.0025 periapsis: 773.14 [km](from the surface of the Earth) apoapsis: 809.57 [km](from the surface of the Earth) Linear Tangent Steering Parameters: a1 = -0.16117 b1 = 28.6363 a2 = -0.00502483 b2 = 1.32415 a3 = 2.86231e-019 b3 = -0.624869 Flight Path Angle = 0.1 [deg]. at t=0[s]: Altitude: h=30000 [m] (Initial Condition) Radial(Vertical) Speed: Vr=0 [m/s] (Initial Condition) Payload Mass= 5.000 [kg] GLOW= 6294.7686 [kg] Thrust 1st stage: 75.073 [kN] 2nd stage: 15.257 [kN] 3rd stage: 0.692 [kN] Max Acceleration Max a @1st Stage= 28.5 [m/s^2] Max a @1st Stage= 2.90 G Max a @2nd Stage= 51.2 [m/s^2] Max a @2nd Stage= 5.22 G Max a @3rd Stage= 39.0 [m/s^2] Max a @3rd Stage= 3.97 G Max a @Coasting Stage= 3.8 [m/s^2] Max a @Coasting Stage= 0.38 G Burn Times 1st Stage: 175[s] (first 10.00 [s] is vertical flight) 2nd Stage: 212.96[s] 3rd Stage: 178.40[s] Times at the end of each stage End of first stage: 174.00[s] End of second stage: 386.00[s] End of third stage: 564.00[s] Constant Mass Flow Rates 1st Stage: 23.571[kg/s] 2nd Stage: 4.739[kg/s] 3rd Stage: 0.215[kg/s]

Page 72: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 715

Author: Elizabeth Harkness Compiled by: Elizabeth Harkness

Constant Exit Pressures 1st Stage: 2.82[kPa] 2nd Stage: 11.45[kPa] 3rd Stage: 11.45[kPa] Altitudes at the end of the vertical part of flight: 30112.44[m] at t= 0 [s] : 30.00[km] at the end of the first stage: 131.57[km] at the end of the second stage: 560.08[km] at the end of the third stage: 801.62[km] from AAE450_Delta_V.m Delta_V_Thrust_1st= 3486 [m/s] (29.4 percent) Delta_V_Thrust_2nd= 4775 [m/s] (40.3 percent) Delta_V_Thrust_3rd= 3592 [m/s] (30.3 percent) Delta_V_Thrust_Total (what we get)= 11853 [m/s] Delta_V_Leo= 7727 [m/s] Delta_V_Grav= 2034 [m/s] DeltaV_drag= 4 [m/s] Delta_V_Earth_assist= 411 [m/s] Delta_V_Total (what we need)= 9354 [m/s] Delta V required to circularize: 568 [m/s] ************************************************************ Note: it takes approximately 20[s] to produce all the plots. Please wait until you get the three figures of 3-D plots. There are six plots that are output: Figure 1: Distance from the ground versus time Figure 3: Radial speed versus time Figure 5: Tangential speed versus time Figure 6: Three views of the 3D orbit and trajectory Figure 7: One view of the orbit (with wireframe Earth) Figure 8: One view of the orbit (with solid sphere Earth)

Page 73: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 716

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_Main.m Written by Junichi Kanehara Revision 1.0 – 16 March 2008 Description:

AAE450_Trajectory_Main.m is the main script of the trajectory code. This code calls all the

necessary scripts and functions in order to compute and output the numerical results and produce

plots for one particular set of input.

Assumptions:

All necessary inputs are assumed to be given by the input file, AAE450_Trajectory_Inputs.m,

which has either been created by AAE450_Trajectory_run.m or

AAE450_Trajectory_run_distribute.m as described above.

Important Notes:

The log section of this main script addresses the modifications in every component of the entire

trajectory code.

Input Section:

The call line of the script is: AAE450_Trajectory_Main

Output Section:

There is no “output” in the way a function does since this is a script.

Page 74: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 717

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Get_Inputs.m Written by Junichi Kanehara Revision 1.0 – 16 March 2008 Description:

This is a simple script that chooses which input file to call.

Important Notes:

In the early version of the codes, AAE450_Trajectory_default_inputs was usually called.

In the later version of the codes, AAE450_Trajectory_Inputs was usually called.

In the final version of the codes, the winners of each case such as LB_HA_DA_DA_v125_Inputs

should be called.

Input Section:

The call line of the function is: AAE450_Get_Inputs

Output Section:

All the necessary input variables should be obtained by this script, as it calls an input file.

Page 75: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 718

Author: Daniel Chua Compiled by: Elizabeth Harkness

AAE450_run_traj_Optimization_GB.m (AAE450_run_traj_Optimization_AC.m) Written by Daniel Chua Revision 1.0 – 10 March 2008 Description:

AAE450_run_traj_Optimization_GB.m runs AAE450_Trajectory_Main.m multiple times for

each given steering angle. AAE450_run_traj_Optimization_AC.m runs

AAE450_Trajectory_Main.m multiple times for each given aircraft input.

Input Section:

The input to AAE450_run_traj_Optimization_GB(AC).m is the input file generated by

AAE450_Trajectory_run_distribute.m.

Output Section:

For each iteration of steering angle through AAE450_Trajectory_Main.m,

AAE450_run_traj_Optimization_GB(AC).m outputs the results to the following files:

• outfile.txt : an output file holding the results of feasible iterations of

AAE450_Trajectory_Main.m

• failfile.txt : an output file holding the results of infeasible iterations of

AAE450_Trajectory_Main.m

• optcount.txt : an output file used to track the number of completed iterations

Page 76: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 719

Author: Daniel Chua Compiled by: Elizabeth Harkness

AAE450_Trajectory_D2MP.m Written by Daniel Chua Revision 1.0 – 10 March 2008 Description:

AAE450_Trajectory_D2MP.m runs AAE450_run_traj_Optimization_GB(AC).m multiple times,

narrowing the range of steering angles input into AAE450_run_traj_Optimization_GB(AC).m

with each iteration. The least eccentric output from AAE450_run_traj_Optimization_GB(AC).m

is displayed and used to run AAE450_Trajectory_Main.m to show the results of using the

steering angles that give the least eccentric trajectory. If the Distributed Computing Toolbox

(DCT) is installed, the optimization process is distributed to as many processors as are available

to MATLAB.

Page 77: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 720

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_Calculations.m Written by Junichi Kanehara Revision 1.0 – 16 March 2008

Description:

This is a script called by AAE450_Trajectory_Main.m that computes the time history of the

position and the velocity in the spherical coordinating system and ΔV’s in each stage by calling

ODE files (described below).

Input Section:

The call line of the function is: AAE450_Trajectory_Calculations

Output Section:

The main output of this script is the time history of the position and the velocity in the spherical

coordinating system. Please see the description of AAE450_Delta_V.m for ΔV’s.

Variable Name Description r The radial position from the center of the Earth [m] r_dot The radial velocity [m/s] theta One component of angular position [rad] theta_dot One component of angular velocity [rad/s] phi The other component of angular position [rad] phi_dot The other component of angular velocity [rad/s] V Speed of the rocket [m/s]

Page 78: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 721

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_ODE.m Written by Junichi Kanehara Revision 1.0 – 17 March 2008

Description:

This is an ordinary differential equation solver; the state variables 1 through 6 are for the time

history of the position and the velocity in the spherical coordinating system, and the state

variables 7 and 8 are the ΔV’s due to the drag and the propulsion respectively.

The first line of this function is: function xdot=AAE450_Trajectory_ODE(t,x,T_full,m0,m_dot,Pe,Ae,t_burn,diam)

Assumptions:

It is assumed that the rocket is launched vertically and is not steering.

Important Notes:

Since this is an ODE, we need the initial conditions, which are defined when the input file is

written: x_i_1v=[r_i_1 r_dot_i_1 theta_i_1 theta_dot_i_1 phi_i_1 phi_dot_i_1 0 0]; t_i_1v=[0:time_step:t_vertical];

Input Section:

The call line of the function is: [t1_v,x1_v]= ode45(@(t,x)AAE450_Trajectory_ODE(t,x,T1_temp,m0_1,m_dot_1,Pe_1,Ae_1, t_burn_1,diam_1),t_i_1v,x_i_1v,options); All of the variables that are passed into the function are described below:

Variable Name Description t Time vector [s] x State Variables

T_full Constant Thrust [N] Note: thrustprofile.m should be used inside the ODE.

m0 Initial Mass of the rocket [kg] m_dot Constant mass flow rate [kg/s] Pe Exit Pressure [Pa] Ae Exit Area [ 2m ] t_burn Burn time [s] diam Cross sectional diameter of the rocket [m]

Page 79: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 722

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

Output Section:

The following commands are used to convert from the state variables to the variables with

physical meanings, which will be used in the calculations section of the main program:

r_1_v=x1_v(:,1); r_dot_1_v=x1_v(:,2); theta_1_v=x1_v(:,3); theta_dot_1_v=x1_v(:,4); phi_1_v=x1_v(:,5); phi_dot_1_v=x1_v(:,6); deltaV_1v_drag=(x1_v(:,7)); deltaV_1v_drag=deltaV_1v_drag(length(deltaV_1v_drag)); deltaV_1v_thrust=(x1_v(:,8)); deltaV_1v_thrust=deltaV_1v_thrust(length(deltaV_1v_thrust));

Page 80: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 723

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_ODE_AC_1st.m Written by Junichi Kanehara Revision 1.0 – 17 March 2008 Description:

This is an ordinary differential equation solver for the first stage of the aircraft launch; the state

variables 1 through 6 are for the time history of the position and the velocity in the spherical

coordinating system, and the state variables 7 through 9 are the ΔV’s due to the drag, the gravity

loss and the propulsion respectively.

The first line of this function is: function xdot=AAE450_Trajectory_ODE_AC_1st(t,x,T_full,m0,m_dot,a,Pe,Ae,t_burn,diam)

Assumptions:

We assume that the rocket is launched from an aircraft and is steering.

Important Notes:

Since this is an ODE, we need the initial conditions: x_i_1s=[r_i_1 r_dot_1_s theta_i_1 theta_dot_i_1 phi_i_1 phi_dot_i_1 0 0 0]; t_i_1s=[0:time_step:t_burn1];

Page 81: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 724

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

Input Section:

The call line of the function is: [t1_s,x1]=ode45(@(t,x)AAE450_Trajectory_ODE_AC_1st(t,x,T1,m0_1_v,m_dot_1,a_1

Pe_1,Ae_1,t_burn_1,diam_1),t_i_1s,x_i_1s,options); All of the variables that are passed into the function are described below:

Variable Name Description t Time vector [s] x State Variables

T_full Constant Thrust [N] Note: thrustprofile.m should be used inside the ODE.

m0 Initial Mass of the rocket [kg] m_dot Constant mass flow rate [kg/s] Pe Exit Pressure [Pa] Ae Exit Area [ 2m ] t_burn Burn time [s] diam Cross sectional diameter of the rocket [m] a The Coefficient of the Steering Law

Output Section:

The following commands are useful to convert from the state variables to the variables with

physical meanings:

r_1=x1(:,1); r_dot_1=x1(:,2); theta_1=x1(:,3); theta_dot_1=x1(:,4); phi_1=x1(:,5); phi_dot_1=x1(:,6); deltaV_1s_drag=(x1(:,7)); deltaV_1s_drag=deltaV_1s_drag(length(deltaV_1s_drag)); deltaV_1s_gravity=(x1(:,8)); deltaV_1s_gravity=deltaV_1s_gravity(length(deltaV_1s_gravity)); deltaV_1s_thrust=(x1(:,9)); deltaV_1s_thrust=deltaV_1s_thrust(length(deltaV_1s_thrust));

Page 82: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 725

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_ODE_AC_2nd.m Written by Junichi Kanehara Revision 1.0 – 17 March 2008

Description:

This is an ordinary differential equation solver for the second stage of the aircraft launch; the

state variables 1 through 6 are for the time history of the position and the velocity in the spherical

coordinating system, and the state variables 7 through 9 are the ΔV’s due to the drag, the gravity

loss and the propulsion respectively.

The first line of this function is: function xdot=AAE450_Trajectory_ODE_AC_2nd(t,x,T_full,m0,m_dot,a2sec1,b2sec1,a2sec2,

b2sec2,a2sec3,b2sec3,Pe,Ae,t_burn,diam,tsec1,tsec2);

Assumptions:

We assume that the rocket is launched from an aircraft and is steering.

Important Notes:

Since this is an ODE, we need the initial conditions: x_i_2=[r_i_2 r_dot_i_2 theta_i_2 theta_dot_i_2 phi_i_2 phi_dot_i_2 0 0 0]; t_i_2=[0:time_step:t_burn2];

Page 83: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 726

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

Input Section:

The call line of the function is: [t2,x2]=ode45(@(t,x)AAE450_Trajectory_ODE_AC_2nd(t,x,T2,m0_2,m_dot_2,a2_sec1,

b2_sec1,a2_sec2,b2_sec2,a2_sec3,b2_sec3,Pe_2,Ae_2, t_burn_2,diam_2,tb2_sec1,tb2_sec2),t_i_2,x_i_2,options);

Some of the variables that are passed into the function are described below:

Variable Name Description T Time vector [s] x State Variables

T_full Constant Thrust [N] Note: thrustprofile.m should be used inside the ODE.

m0 Initial Mass of the rocket [kg] m_dot Constant mass flow rate [kg/s] Pe Exit Pressure [Pa] Ae Exit Area [ 2m ] t_burn Burn time [s] diam Cross sectional diameter of the rocket [m] a2_sec1 a Coefficient of the Steering Law tb2_sec1 Time for the first segment [s]

Output Section:

The following commands are useful to convert from the state variables to the variables with

physical meanings:

r_2=x2(:,1); r_dot_2=x2(:,2); theta_2=x2(:,3); theta_dot_2=x2(:,4); phi_2=x2(:,5); phi_dot_2=x2(:,6); deltaV_2_drag=(x2(:,7)); deltaV_2_drag=deltaV_2_drag(length(deltaV_2_drag)); deltaV_2_gravity=(x2(:,8)); deltaV_2_gravity=deltaV_2_gravity(length(deltaV_2_gravity)); deltaV_2_thrust=(x2(:,9)); deltaV_2_thrust=deltaV_2_thrust(end);

Page 84: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 727

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_ODE_AC_linear.m Written by Junichi Kanehara Revision 1.0 – 17 March 2008

Description:

This is an ordinary differential equation solver for the third stage of the aircraft launch; the state

variables 1 through 6 are for the time history of the position and the velocity in the spherical

coordinating system, and the state variables 7 through 9 are the ΔV’s due to the drag, the gravity

loss and the propulsion respectively.

The first line of this function is: function xdot=AAE450_Trajectory_ODE_AC_linear(t,x,T_full,m0,m_dot,a,b,Pe,Ae,t_burn,diam)

Assumptions:

We assume the rocket is launched from an aircraft and is steering.

Important Notes:

Since this is an ODE, we need the initial conditions: x_i_3=[r_i_3 r_dot_i_3 theta_i_3 theta_dot_i_3 phi_i_3 phi_dot_i_3 0 0 0]; t_i_3=[0:time_step:t_burn3];

Page 85: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 728

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

Input Section:

The call line of the function is: [t3,x3]=ode45(@(t,x) AAE450_Trajectory_ODE_AC_linear

(t,x,T3,m0_3,m_dot_3,a_3,b_3,Pe_3,Ae_3,t_burn_3, diam_3),t_i_3,x_i_3,options);

All of the variables that are passed into the function are described below:

Variable Name Description t Time vector [s] x State Variables

T_full Constant Thrust [N] Note: thrustprofile.m should be used inside the ODE.

m0 Initial Mass of the rocket [kg] m_dot Constant mass flow rate [kg/s] Pe Exit Pressure [Pa] Ae Exit Area [ 2m ] t_burn Burn time [s] diam Cross sectional diameter of the rocket [m] a a Coefficient of the Steering Law b a Coefficient of the Steering Law

Output Section:

The following commands are useful to convert from the state variables to the variables with

physical meanings:

r_3=x3(:,1); r_dot_3=x3(:,2); theta_3=x3(:,3); theta_dot_3=x3(:,4); phi_3=x3(:,5); phi_dot_3=x3(:,6); deltaV_3_drag=(x3(:,7)); deltaV_3_drag=deltaV_3_drag(length(deltaV_3_drag)); deltaV_3_gravity=(x3(:,8)); deltaV_3_gravity=deltaV_3_gravity(length(deltaV_3_gravity)); deltaV_3_thrust=(x3(:,9)); deltaV_3_thrust=deltaV_3_thrust(end);

Page 86: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 729

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_ODE_steer.m Written by Junichi Kanehara Revision 1.0 – 17 March 2008 Description:

This is an ordinary differential equation solver for the ground launch and the balloon launch; the

state variables 1 through 6 are for the time history of the position and the velocity in the spherical

coordinating system, and the state variables 7 through 9 are the delta V’s due to the drag, the

gravity loss and the propulsion respectively.

The first line of this function is: function xdot=AAE450_Trajectory_ODE_steer

(t,x,T_full,m0,m_dot,a,b,Pe,Ae,t_burn,diam)

Assumptions:

We assume the rocket is steering, following the linear tangent law.

Important Notes:

Since this is an ODE, we need the initial conditions: x_i_2=[r_i_2 r_dot_i_2 theta_i_2 theta_dot_i_2 phi_i_2 phi_dot_i_2 0 0 0]; t_i_2=[0:time_step:t_burn_2];

Page 87: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 730

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

Input Section:

The call line of the function is: [t2,x2]=ode45(@(t,x) AAE450_Trajectory_ODE_steer(t,x,T2,m0_2,m_dot_2,a_2,b_2,

Pe_2,Ae_2,t_burn_2,diam_2),t_i_2,x_i_2,options); All of the variables that are passed into the function are described below:

Variable Name Description t Time vector [s] x State Variables

T_full Constant Thrust [N] Note: thrustprofile.m should be used inside the ODE.

m0 Initial Mass of the rocket [kg] m_dot Constant mass flow rate [kg/s] Pe Exit Pressure [Pa] Ae Exit Area [ 2m ] t_burn Burn time [s] diam Cross sectional diameter of the rocket [m] a a Coefficient of the Steering Law b a Coefficient of the Steering Law

Output Section:

The following commands are useful to convert from the state variables to the variables with

physical meanings:

r_2=x2(:,1); r_dot_2=x2(:,2); theta_2=x2(:,3); theta_dot_2=x2(:,4); phi_2=x2(:,5); phi_dot_2=x2(:,6); deltaV_2_drag=(x2(:,7)); deltaV_2_drag=deltaV_2_drag(length(deltaV_2_drag)); deltaV_2_gravity=(x2(:,8)); deltaV_2_gravity=deltaV_2_gravity(length(deltaV_2_gravity)); deltaV_2_thrust=(x2(:,9)); deltaV_2_thrust=deltaV_2_thrust(end);

Page 88: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 731

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_ODE_coast.m Written by Junichi Kanehara Revision 1.0 – 17 March 2008

Description:

This is an ordinary differential equation solver for the coasting stage in orbit; the state variables 1

through 6 are for the time history of the position and the velocity in the spherical coordinating

system.

The first line of this function is: function xdot=AAE450_Trajectory_ODE_coast(t,x,T,m0,m_dot,C_D,Pe,Ae,t_burn,diam)

Assumptions:

We assume that no thrust or drug is acting.

Important Notes:

Since this is an ODE, we need the initial conditions: x_i_4=[r_i_4 r_dot_i_4 theta_i_4 theta_dot_i_4 phi_i_4 phi_dot_i_4 0]; t_i_4=[0:time_step:t_burn_4];

Input Section:

The call line of the function is: [t4,x4]=ode45(@(t,x) AAE450_Trajectory_ODE_coast(t,x,T4,m0_4,m_dot_4,

C_D_orbit,Pe_4,Ae_4,t_burn_4,diam_4),t_i_4,x_i_4,options);

Some of the variables that are passed into the function are described below:

Variable Name Description t Time vector [s] x State Variables T Thrust = 0 [N]

t_burn Length of Time to run this ODE [s] This should be longer than one period of the orbit.

Page 89: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 732

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

Output Section:

The following commands are useful to convert from the state variables to the variables with

physical meanings:

r_4=x4(:,1); r_dot_4=x4(:,2); theta_4=x4(:,3); theta_dot_4=x4(:,4); phi_4=x4(:,5); phi_dot_4=x4(:,6);

Page 90: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 733

Author: Kyle Donahue Compiled by: Elizabeth Harkness

AAE450_Wind_Model.m Written by Kyle Donahue Revision 1.0 – 24 March 2008 Description:

AAE450_Wind_Model.m uses atmosphere4.m to help create a wind profile. The wind profile is

made up of a constant wind profile and randomized wind gusting. It also creates the wind force

which the wind velocity causes on the launch vehicle.

Assumptions:

One assumption is the constant wind can only go from 0o to 180o on the compass. The wind

gusting angle can only be ±90o from the constant wind at the given altitude. Also the wind is

only 2-D which means it will never go “up” or “down”.

Important Notes:

The log section of this script addresses the modifications in every component of the entire

trajectory code.

Input Section:

The call line of the script is: AAE450_Wind_Model

Output Section:

The output is only plots of the wind profile in the north/south direction, the wind profile in the

east/west direction, the force of the wind in the north/south direction, and the force of the wind in

the east/west direction. It also puts the wind force Fw variable in the workspace so it can be used

in the equations of motion.

Page 91: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 734

Author: Allen Guzik Compiled by: Elizabeth Harkness

atmosphere4.m Written by Allen Guzik Revision 1.0 – 24 March 2008

Description:

This function calculates static conditions of Earth’s atmosphere based on a given altitude. This

program was no written by the design team. However, it is commonly used and accepted as a

source to obtain standard atmospheric conditions.

Assumptions:

Data is based off of the 1976 NASA standard atmosphere.

Input Section:

The call line of the function is: [temp,press,rho,Hgeopvector]=atmosphere4(Hvector,GeometricFlag) All of the variables that are passed into the function are described below:

Variable Name Description Hvector Vector of geopotential or geometric altitudes [ft]

GeometricFlag Denote if the altitude is geopotential or geometric.

Output Section:

Atmospheric conditions calculated are:

Variable Name Description temp Temperature [°R] press Pressure [lbf/ft2] rho Density [slug/ft3] Hgeopvector Vector of corresponding geopotential altitudes [ft].

Page 92: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 735

Author: Brad Ferris Compiled by: Elizabeth Harkness

solve_cd.m Written by Brad Ferris Revision 1.0 – 07 March 2008

Description:

This function was originally written by Jayme Zott from the Aerothermal group. The function

was implemented into AAE450_Trajectory_Main.m by Brad Ferris. This function calculates a

coefficient of drag value based on the current flight Mach number. This allows

AAE450_Trajectory_Main.m to more accurately model drag throughout the launch vehicle’s

flight.

Input Section:

The flight Mach number is input from the ODE functions. Output Section:

The coefficient of drag corresponding to the input Mach number is output to the ODE functions.

Page 93: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 736

Author: Brad Ferris Compiled by: Elizabeth Harkness

speedofsound.m Written by Brad Ferris Revision 1.0 – 07 March 2008

Description:

This function calculates the current speed of sound.

Input Section:

The current flight temperature is input from atmosphere4.m and

AAE450_Trajectory_Calculations.m.

Output Section:

The speed of sound corresponding to current flight conditions is output to the body of the code.

Page 94: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 737

Author: Brad Ferris Compiled by: Elizabeth Harkness

thrustprofile.m Written by Brad Ferris Revision 1.0 – 07 March 2008 Description:

The purpose of this function is to model the ramp up and ramp down times of a rocket engine. In

its most current revision, the ramp up and ramp down times are one second.

Input Section:

The maximum nominal input, the total burn time, and current time are input into the function.

Output Section:

The thrust corresponding to the current flight time is output to the ODE functions. If the point of

time is during the ramping period, the thrust returned will be less than maximum thrust.

Page 95: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 738

Author: Amanda Briden Compiled by: Elizabeth Harkness

AAE450_Trajectory_GSAC.m Written by Amanda Briden Revision 1.0 – 16 March 2008

Description:

This script determines the steering angle coefficients for a linear tangent steering law for each

stage of a balloon or ground launch. It then saves the coefficients to a text file called ab.txt.

Assumptions:

The desired steering angles at the end of each stage and the burn times for each stage are already

defined.

Important Notes:

This script is only called in AAE450_Trajectory _Main.m if there are three stages and if the

launch configuration is balloon or ground.

Input Section:

The call line of the script is: AAE450_Trajectory_GSAC

Output Section:

The linear tangent steering law coefficients are defined based on the desired orientation of the

rocket at the end of each stage and the burn time for each stage.

Variable Name Description Steer_coeffs [a_1temp b_1temp; a_2temp b_2temp; a_3temp b_3temp]

Sample Output:

A sample ab.txt file is shown below. Note that the right column is a and the left column is b.

The rows designate the stage.

-2.2410717e-001 2.8636253e+001 -1.6214735e-003 3.4671470e-001 0.0000000e+000 -1.7632698e-001

Page 96: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 739

Author: Amanda Briden Compiled by: Elizabeth Harkness

AAE450_Trajectory_GSAC_2STO.m Written by Amanda Briden Revision 1.0 – 16 March 2008

Description:

This script determines the steering angle coefficients for a linear tangent steering law for each

stage of a balloon or ground launch. It then saves the coefficients to a text file called ab.txt.

Assumptions:

The desired steering angles at the end of each stage and the burn times for each stage are already

defined.

Important Notes:

This script is only called in AAE450_Trajectory_Main.m if there are two stages and if the launch

configuration is balloon or ground.

Input Section:

The call line of the script is: AAE450_Trajectory_GSAC_2STO

Output Section:

The linear tangent steering law coefficients are defined based on the desired orientation of the

rocket at the end of each stage and the burn time for each stage.

Variable Name Description Steer_coeffs [a_1temp b_1temp; a_2temp b_2temp]

Sample Output:

A sample ab.txt file is shown below. Note that the right column is a and the left column is b.

The rows designate the stage.

-2.2410717e-001 2.8636253e+001 -1.6214735e-003 3.4671470e-001

Page 97: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 740

Author: Amanda Briden Compiled by: Elizabeth Harkness

AAE450_Trajectory_GSAC_Aircraft_2_3linear_sections.m Written by Amanda Briden Revision 1.0 – 16 March 2008

Description:

This script determines the steering angle coefficients for the first and second stages of an aircraft

launch (with the rocket initially positioned horizontally). A tangent steering law is applied to the

first stage until the rocket is pointed to 88°. The second stage steering law is broken up into

three linear parts. The coefficient a for the first stage steering law, the slope and intercept for the

three linear sections of the second stage steering law, and the amount of time of the second stage

burn time devoted to the first and second sections of the second stage linear steering laws are

determined. These are saved in a text file called ab_AC2.txt in AAE450_Trajectoy_Main.m.

Assumptions:

The desired steering angles at the end of each stage, the burn times for each stage, and the

percent of the 2nd stage burn time that the first linear portion of the steering law should be

applied to are already defined.

Important Notes:

This script is only called in AAE450_Trajectoy_Main.m if there are two stages and if the launch

configuration is aircraft.

Input Section:

The call line of the script is: AAE450_Trajectory_GSAC_Aircraft_2_3linear_sections

Page 98: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 741

Author: Amanda Briden Compiled by: Elizabeth Harkness

Output Section:

The following variables create a continuous steering law. Variable Name Description a_1 Coefficient defining the 1st stage tangent steering law b_1 This value is always zero.

a2_sec1 Slope coefficient describing the 1st linear section of the 2nd stage linear steering law

a2_sec2 Slope coefficient describing the 2nd linear section of the 2nd stage linear steering law

a2_sec3 Slope coefficient describing the 3rd linear section of the 2nd stage linear steering law

b2_sec1 Intercept coefficient describing the 1st linear section of the 2nd stage linear steering law

b2_sec2 Intercept coefficient describing the 2nd linear section of the 2nd stage linear steering law

b2_sec3 Intercept coefficient describing the 3rd linear section of the 2nd stage linear steering law

tb2sec1 The amount of time of the second stage burn time devoted to the implementation of the second stage’s first linear steering law portion.

tb2sec2 The amount of time of the second stage burn time devoted to the implementation of the second stage’s second linear steering law portion.

Sample Output:

A sample ab_AC2.txt file is shown below. The order is as such: tb2sec1 tb2sec2 a_1 b_1 a2_sec1 b2_sec1 a2_sec2 b2_sec2 a2_sec3 b2_sec3 8.0000000e+000 2.8000000e+001 1.9081137e+000 0.0000000e+000 -1.0864092e+001 8.7000000e+001 -4.3633231e-003 1.2217305e-001 -8.3910060e-003 2.3494817e-001

Page 99: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 742

Author: Amanda Briden Compiled by: Elizabeth Harkness

AAE450_Trajectory_GSAC_Aircraft_3.m Written by Amanda Briden Revision 1.0 – 16 March 2008

Description:

This script determines the steering angle coefficients for the third stage of an aircraft launch

(with the rocket initially positioned horizontally). The third stage is a linear steering law that

continues from the end of the second stage. The user can specify that the steering angle at the

end of the second stage matches the end of the third, thus allowing for spin stabilization of the

rocket’s third stage. The coefficient for the slope and intercept for the third stage are determined.

These are appended to the end of the array specified in

AAE450_Trajectory_GSAC_Aircraft_2_3linear_sections.m and the entire array is then saved in a

text file called ab_AC3.txt in AAE450_Trajectory_Main.m.

Assumptions:

The desired steering angles at the end of the second and third stages, the burn times for the third

stage should already be defined.

Important Notes:

This script is only called in AAE450_Trajectoy_Main.m if there are three stages and if the launch

configuration is aircraft.

Input Section:

The call line of the script is: AAE450_Trajectory_GSAC_Aircraft_3

Output Section:

The following variables create a continuous steering law.

Variable Name Description a_3 Coefficient defining the 3rd stage linear steering law b_3 Intercept coefficient describing the 3rd stage linear steering law

Page 100: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 743

Author: Amanda Briden Compiled by: Elizabeth Harkness

Sample Output:

A sample ab_AC3.txt file is shown below. The order is as such (the other variables have been

defined in the user guide for AAE450_Trajectory_GSAC_Aircraft_2_3linear_sections.m): tb2sec1 tb2sec2 a_1 b_1 a2_sec1 b2_sec1 a2_sec2 b2_sec2 a2_sec3 b2_sec3 a_3 b_3 8.0000000e+000 2.8000000e+001 1.9081137e+000 0.0000000e+000 -1.0864092e+001 8.7000000e+001 -4.3633231e-003 1.2217305e-001 -8.3910060e-003 2.3494817e-001 2.1816616e-003 -4.3633231e-001

Page 101: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 744

Author: Scott Breitengross Compiled by: Elizabeth Harkness

Delta_V.m Written by Scott Breitengross Revision 1.0 – 15 March 2008

Description:

This is the main function for calculating the values of ΔV. It uses the values obtained from the

ODE functions, AAE450_Trajectory_Calculations.m or from the input values to calculate these.

Assumptions:

We assume the AAE450_Trajectory_Calculations.m has been completed.

Important Notes:

Most of the variables needed are output directly to the workspace so very few variables need to

be created in order for the function to work.

Input Section:

The call line of the function is: AAE450_Delta_V

Output Section:

These are the final determined values from this function which are displayed using

AAE450_Trajectory_output.m

All of the variables that are passed into the function are described below:

Variable Name Description

Delta_V_Earth_assist This is the ΔV due to the rotation of the Earth at the launch site. [m/s]

Delta_V_Leo This is the velocity needed to get into the required orbit [m/s] Delta_V_Grav This is the ΔV due to gravity losses. [m/s] deltaV_drag This is the ΔV due to the drag. [m/s] deltaV_thrust This is the ΔV that the propulsion produces. [m/s]

Delta_V_Total This is the ΔV that we need, not including the delta V to circularize. [m/s]

Page 102: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 745

Author: Allen Guzik Compiled by: Elizabeth Harkness

AAE450_orbit_param.m Written by Allen Guzik Revision 1.0 – 24 March 2008

Description:

This program calculates various parameters that defines the orbit the trajectory code propagates.

Assumptions:

Keplerian two-body orbits, the Earth is a point, and Earth’s gravity is uniform throughout the

duration of the orbit.

Input Section:

All of the variables that are passed into the function are described below:

Variable Name Description

r_dot_final Final radial velocity of the vehicle at the end of the third stage [rad/s]

r_final Final altitude of the vehicle at the end of the third stage. [m]

theta_dot_final Final angular velocity of the vehicle at the end of the third stage. [rad/s]

phi_dot_final Final angular velocity of the vehicle at the end of the third stage. [rad/s]

r_4 Vector of the radius from the center of the Earth of the orbit propagation. [m]

mu Gravitational parameter of the Earth.

Output Section:

The orbit parameters calculated are:

Variable Name Description rp Orbit Periapsis [m] ra Orbit Apoapsis [m] a Orbit Semi-major Axis [m] e Orbit Eccentricity energy Orbit Energy [J/kg] period Orbit period [s]

Page 103: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 746

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_outputs.m Written by Junichi Kanehara Revision 1.0 – 16 March 2008

Description:

This is a script to output the numerical values to the screen and to the file XX-XX-XX-XX.txt.

Assumptions:

We assume AAE450_Trajectory_Calculations.m has been run.

Input Section:

The call line of the function is: AAE450_Trajectory_outputs

Output Section:

The output of AAE450_Trajectory_outputs.m is what creates the outputs for the entire trajectory

code. A sample output for the code was given at the first section of this guide.

Page 104: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 747

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_Plots.m Written by Junichi Kanehara Revision 1.0 – 16 March 2008 Description:

This is a script that produces two-dimensional and three-dimensional plots.

Assumptions:

We assume all the numerical outputs from the entire code have been generated.

Important Notes:

It takes for a while (15-20 seconds) to get all the plots.

Input Section:

The call line of the function is: AAE450_Trajectory_Plots

Some of the variables that are passed into the script are described below:

Variable Name Description X Position in the Cartesian coordinating system [m] r Radial position in the spherical coordinating system [m] R_Earth The radius of the Earth [m] t Time vector [s]

Output Section:

Version 2.0 of this script generates three two-dimensional plots and two three-dimensional plots.

Page 105: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 748

Author: Junichi Kanehara Compiled by: Elizabeth Harkness

AAE450_Trajectory_Body2Inertial.m Written by Junichi Kanehara Revision 1.0 – 16 March 2008

Description:

This function converts from the body frame in the spherical coordinating system to the inertial

frame in the Cartesian coordinating system.

Assumptions:

The origin is the center of the Earth.

Input Section:

The call line of the function is: [X Y Z] = AAE450_Trajectory_Body2Inertial(r,phi,theta);

All of the variables that are passed into the function are described below:

Variable Name Description r Radial position from the center of the Earth [m] phi One component of angular position [rad] theta The other component of angular position [rad]

Note: The example above is for the position, but we can also use this function for the velocity

and the acceleration in the same unit vectors.

Output Section:

X, Y and Z describe the position in the Cartesian coordinating system from the center of the

Earth. The unit will be the same as r, assuming phi and theta are in radians.

Variable Name Description X Position in the Cartesian coordinating system [m] Y Position in the Cartesian coordinating system [m] Z Position in the Cartesian coordinating system [m]

Page 106: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 749

Author: Kyle Donahue and Compiled by: Elizabeth Harkness

Trajectory Code Flowchart: Run Once Written by Kyle Donahue Revision 1.0 – 24 March 2008

Propulsion and Structures Inputs

AAE 450 Trajectory run. m

Launch Type

User Inputs(steering law angles) Beginning of flight End of 1st stage End of 2nd stage End of 3rd stage

User Inputs Angle at end of climb Fraction for first steering law Angle at end of 2nd stage Angle at end of 3rd stage

Main.m

Get_Inputs.m

Launch Type

# 0f Stages

AAE450_Trajectory_GSAC_ Aircraft_2_3linear_sections.m

# 0f Stages

AAE450_Trajectory_GSAC_ Aircraft_2_3linear_sections.m

AAE450_Trajectory_GSAC_ Aircraft_3.m

AAE450_Trajetory_Main.m

Ground/Balloon Aircraft

2 3 2 3

Ground/Balloon Aircraft

Page 107: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 750

Author: Kyle Donahue and Compiled by: Elizabeth Harkness

AAE450_Trajetory_Main.m

AAE450_Tracjetory_Calculations.m

_ODE

Type of Launch

_ODE_Steer _ODE_Steer _ODE_AC_1st

Ground Balloon

Aircraft

_ODE_Steer _ODE_Steer _ODE_AC_2nd

_ODE_AC_linear _ODE_Steer _ODE_Steer

_ODE_coast

AAE450_Tracjetory_Calculations.m

AAE450_Delta_V.m

Page 108: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 751

Author: Kyle Donahue and Compiled by: Elizabeth Harkness

AAE450_Delta_V.m

AAE450_Tracjetory_Calculations.m

AAE450_Trajectory_Main.m

_orbit_param _Delta_V _Ballistic_coeff

_Body2Inertial _output _plots

Page 109: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 752

Author: Scott Breitengross Compiled by: Elizabeth Harkness

Trajectory Code Flowchart: Optimize Written by Scott Breitengross Revision 1.0 – 24 March 2008

Propulsion and Structures Inputs

AAE 450 Trajectory run distribute.

Launch Type

AAE450_Trajectory_D2MP.m AAE450_Trajectory_D2MP_AC.m

AAE450_run_traj_Optimization_AC.m

Main.m

Get_Inputs.m

Launch Type

# 0f Stages

AAE450_Trajectory_GSAC_ Aircraft_2_3linear_sections.m

# 0f Stages

AAE450_Trajectory_GSAC_ Aircraft_2_3linear_sections.m

AAE450_Trajectory_GSAC_ Aircraft_3.m

AAE450_Trajectory_ GSAC_2STO.m

AAE450_Trajectory _GSAC.m

AAE450_Trajetory_Main.m

Ground/Balloon Aircraft

2 3 2 3

Ground/Balloon Aircraft

AAE450_run_traj_Optimization_GB.

Page 110: Report Section 9 - Purdue University€¦ · trajectory group is mostly concerned with the translational degrees of freedom of the vehicle and ... Project Bellerophon 650 Author:

Project Bellerophon 753

Author: Scott Breitengross Compiled by: Elizabeth Harkness

AAE450_Trajetory_Main.m

AAE450_Trajectory_Calculations.m

Launch Type

AAE450_Trajectory_ODE.m

Launch Type

AAE450_Trajectory_ODE_Steer.m AAE450_Trajectory_ODE_AC_1st.m

AAE450_Trajectory_ODE_AC_2nd.m

AAE450_Trajectory_ODE_AC_linear.m

AAE450_Trajectory_ODE_coast.m

AAE450_Delta_V.m

AAE450_orbit_param.m

AAE450_Trajectory_Body2Ineritial.m

AAE450_Trajectory_Plots.m

Ground/Balloon

Aircraft

Ground/Balloon Aircraft