Path: SCPro/Landers
% Bilinear tangent law for maximizing altitude on launch.
We assume the vehicle is constant and the final time is known.
Assumes constant acceleration. The model is in a cartesian frame
with gravity constant and in the negative y direction.
The boundary conditions are for the x velocity to equal the orbital
velocity and the y velocity to be zero.
If the ratio of rocket acceleration to gravity is too low you cannot
achieve a circular orbit. In that case the cost will be high. The
result will be a non-zero radial velocity. This will depend on the
initial x and y velocities.
Type BilinearTangentAltitude for a demo for an upper stage with
a rocket engine capable of 1.5 g.
This routine uses fminsearchbnd which is freely available on the web.
Since version 2014.1
--------------------------------------------------------------------------
Form:
[beta, yF, cost] = BilinearTangentAltitude( d, t )
--------------------------------------------------------------------------
------
Inputs
------
d (1,1) Data structure
.mu (1,1) Gravitational constant
.r (1,1) Initial radius
.u (1,1) Initial x velocity
.v (1,1) Initial y velocity
.thrust (1,1) Engine thrust
.mass (1,1) Mass
.tF (1,1) End time for the burn
.opt (1,1) fminsearch options
t (1,:) Time vector for beta
-------
Outputs
-------
beta (1,:) Thrust angle from horizontal
yF (1,1) Altitude
cost (1,1) Final cost
--------------------------------------------------------------------------
Reference: Arthur E. Bryson, Jr., Y. C. Ho, "Applied Optimal Control:
Optimization, Estimation, and Control," Orbit, pp. 83-86.
--------------------------------------------------------------------------
Propulsion: Rocket/MassEquivalentDV Common: CommonData/SwooshWatermark Common: General/CellToMat Common: General/MatToCell Common: General/Watermark Common: Graphics/NewFig Common: Graphics/Plot2D Common: Graphics/PltStyle Common: Graphics/TimeLabl Math: Integration/RK4
Back to the SCPro Module page