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. --------------------------------------------------------------------------
Common: Graphics/Plot2D Math: Integration/RK4 Propulsion: Rocket/MassEquivalentDV
Back to the SCPro Module page