Path: Missions/LunarLanding
% Implements a 2nd order guidance law in 3 dimensions Uses a 2nd order controller to provide guidance for landing. Demonstrated in a cartesian system. 'initialize' computes the time to land from the tolerance. 'update' updates the control accelerations. You generally want zeta to be 1. Lower omegas will reduce the control accelerations. An omega of 0.01 gives roughly the Apollo LM landing guidance. If it is much lower you can overshoot and then have to return to the landing site. Type SecondOrderGuidance3D for a demo of lunar landing. This replicates the demo in SecondOrderGuidance. -------------------------------------------------------------------------- Form: d = SecondOrderGuidance3D a = SecondOrderGuidance3D( action, x, d ) -------------------------------------------------------------------------- ------ Inputs ------ action (1,:) 'initialize' or 'update' x (6,1) State [r;v] d (.) Data structure .x (6,1) Target [r;v] .tol (1,1) Tolerance for damping .zeta (1,1) Damping ratio .omega (1,1) Undamped natural frequency (rad/s) .t (1,1) Time to damp .rP (1,1) Equatorial radius .mu (1,1) Gravitational constant ------- Outputs ------- a (3,:) Control accelerations --------------------------------------------------------------------------
AC: ACData/ACTConstants AerospaceUtils: Coord/DownrangeAndAltFromTarget AerospaceUtils: Coord/TargetFromRPVD SC: SCData/sCTConstants Common: CommonData/Constants Common: CommonData/SwooshWatermark Common: CommonData/xSplashSmall Common: Database/Constant Common: General/CellToMat Common: General/DeBlankLT Common: General/DeleteCell Common: General/MatToCell Common: General/Watermark Common: Graphics/NewFig Common: Graphics/Plot2D Common: Graphics/PltStyle Common: Graphics/TimeLabl Common: Graphics/XLabelS Common: Graphics/YLabelS Common: Quaternion/AU2Q Common: Quaternion/Mat2Q Common: Quaternion/QForm Math: Integration/RK4 Math: Linear/Cross Math: Linear/Mag Math: Linear/Unit
Back to the Missions Module page