Path: LunarMissions/LunarMission
% Implements a lunar mission control system. The command list cell array is {time command data} where data is a data structure for that command. The command list rows should be in order of Julian date. You can also use +sec instead of jD in which case the time is +sec after the previous command. If the first command is +sec then it is +sec from the time passed on initialization. Supported commands: Command data 'align with a quaternion', struct('q_target',[0;1;0;0]);... 'lunar orbit insertion prepare', struct('thrust',20,'massInitial',6,... 'uE', 290*9.806,... 'body_vector',[1;0;0],... 'hLunarOrbit',200);... 'align for lunar insertion', [];... 'start main engine', struct('iD',1,'thrust',20)}; uE is exhaust velocity in m/s. massInitial is the mass at the start of the burn. hLunarOrbit is the altitude of the burn. meas can be the state vector. dC = LunarMissionControl gives the default data structure. This also opens a GUI that shows the command list and current command that is being executed. Commands are implemented via the dSim data structure. This is compatible with RHSLunarMission. -------------------------------------------------------------------------- Form: dC = LunarMissionControl % default data structure [dC, dSim] = LunarMissionControl( action, jD, dC, dSim, meas, cList ) -------------------------------------------------------------------------- ------ Inputs ------ action (1,:) 'initialize', 'update', 'terminate' jD (1,1) Julian date dC (.) Controller data structure dSim (.) Simulation data structure meas (.) Measurement data structure or state vector .qECIToBody (4,1) Quaternion .rECI (3,1) ECI position .vECI (3,1) ECI velocity .omega (3,1) Body rate .omegaRWA (:,1) RWA rates cList {:,3} Command list cell array ------- Outputs ------- dC (.) Controller data structure dSim (.) Simulation data structure --------------------------------------------------------------------------
LunarMissions: LunarMission/CommandListProcessing LunarMissions: LunarMission/LunarOrbitInsertion SCPro: ProControl/PID3Axis Common: Control/PIDMIMO Common: GUIs/TimeCntrl Common: Quaternion/QTForm Common: Time/SecToString
Back to the LunarMissions Module page