- Joined
- May 23, 2008
- Messages
- 1,785
- Reaction score
- 0
- Points
- 36
Hi everyone,
I have a question regarding the solution technique for the two point boundary value problem that arises when computing the optimal launch to orbit of a rocket. The problem I'm posing is for a planar rocket launch with no atmospheric drag, constant thrust over mass (F/m), and uniform gravity (flat Earth). I currently have the following differential equations (having properly applied the Euler-Lagrange theorem and adjusted to remove the scale invariance problem):
x_dot = Vx
y_dot = Vy
Vx_dot = (F/m) * cos(alpha)
Vy_dot = (F/m) * sin(alpha)
alpha_dot = -beta*cos(alpha)
beta_dot = beta^2 * sin(alpha)
Here, x is the position of the rocket parallel to the surface of the flat Earth, y is the altitude of the rocket, Vx is the horizontal speed, Vy is the vertical speed, alpha is the steering angle of the rocket as measured from the horizontal (and is also a co-state that arises from removing the scale invariance problem) and beta is just another co-state.
In addition, I have the following boundary conditions:
x(0)=Xo
y(0)=Yo
Vx(0)=Vxo
Vy(0)=Vyo
y(t=tf) = r
Vx(t=tf) = Vc
Vy(t=tf) = 0
The initial conditions are known but are represented symbolically in order to maintain generality. The final conditions correspond to a circular orbit at altitude r (orbit radius would then be Rearth + r), where the final speed is purely tangential and equal to the circular speed, Vc, of the corresponding orbital radius. The final time computed is tf.
Now, here's my problem. I'd like to use a simple shooting method to solve this problem. To do so, I'll make some guesses for the initial state of alpha and beta and propagate forward in time. This will give me some final states of all my state variables. I can then create a residual vector, F, that is the difference between the propagated final states and the desired final states:
F1 = y(tf)-r
F2 = Vx(tf)-Vc
F3 = Vy(tf)-0
Here's where it gets weird. In the typical shooting method, you would compute the residual for a state variable and then use, say, secant method to compute a new initial guess for that same state variable. However, here, I have the interesting problem of having all of my final boundary conditions on variables which have defined initial conditions as well.
What I need, and what I'm hoping some folks here can provide insight into, is how I take the residual vector, F,and use that to compute new initial guesses for alpha and beta, the only two variables I have that don't have initial conditions.
Any help would be appreciated. Thanks!
I have a question regarding the solution technique for the two point boundary value problem that arises when computing the optimal launch to orbit of a rocket. The problem I'm posing is for a planar rocket launch with no atmospheric drag, constant thrust over mass (F/m), and uniform gravity (flat Earth). I currently have the following differential equations (having properly applied the Euler-Lagrange theorem and adjusted to remove the scale invariance problem):
x_dot = Vx
y_dot = Vy
Vx_dot = (F/m) * cos(alpha)
Vy_dot = (F/m) * sin(alpha)
alpha_dot = -beta*cos(alpha)
beta_dot = beta^2 * sin(alpha)
Here, x is the position of the rocket parallel to the surface of the flat Earth, y is the altitude of the rocket, Vx is the horizontal speed, Vy is the vertical speed, alpha is the steering angle of the rocket as measured from the horizontal (and is also a co-state that arises from removing the scale invariance problem) and beta is just another co-state.
In addition, I have the following boundary conditions:
x(0)=Xo
y(0)=Yo
Vx(0)=Vxo
Vy(0)=Vyo
y(t=tf) = r
Vx(t=tf) = Vc
Vy(t=tf) = 0
The initial conditions are known but are represented symbolically in order to maintain generality. The final conditions correspond to a circular orbit at altitude r (orbit radius would then be Rearth + r), where the final speed is purely tangential and equal to the circular speed, Vc, of the corresponding orbital radius. The final time computed is tf.
Now, here's my problem. I'd like to use a simple shooting method to solve this problem. To do so, I'll make some guesses for the initial state of alpha and beta and propagate forward in time. This will give me some final states of all my state variables. I can then create a residual vector, F, that is the difference between the propagated final states and the desired final states:
F1 = y(tf)-r
F2 = Vx(tf)-Vc
F3 = Vy(tf)-0
Here's where it gets weird. In the typical shooting method, you would compute the residual for a state variable and then use, say, secant method to compute a new initial guess for that same state variable. However, here, I have the interesting problem of having all of my final boundary conditions on variables which have defined initial conditions as well.
What I need, and what I'm hoping some folks here can provide insight into, is how I take the residual vector, F,and use that to compute new initial guesses for alpha and beta, the only two variables I have that don't have initial conditions.
Any help would be appreciated. Thanks!