Model { Name "dap3dof" Version 3.00 SimParamPage "Solver" SampleTimeColors off InvariantConstants off WideVectorLines on ShowLineWidths off ShowPortDataTypes off StartTime "0" StopTime "25" SolverMode "SingleTasking" Solver "ode45" RelTol "1e-3" AbsTol "1e-6" Refine "1" MaxStep "auto" InitialStep "auto" FixedStep "clockt/4" MaxOrder 5 OutputOption "RefineOutputTimes" OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime on TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" SaveFormat "Matrix" LimitMaxRows off MaxRows "1000" Decimation "1" AlgebraicLoopMsg "warning" MinStepSizeMsg "warning" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" InheritedTsInSrcMsg "warning" IntegerOverflowMsg "warning" UnnecessaryDatatypeConvMsg "none" Int32ToFloatConvMsg "warning" SignalLabelMismatchMsg "none" ConsistencyChecking "off" ZeroCross on SimulationMode "normal" BlockDataTips on BlockParametersDataTip on BlockAttributesDataTip off BlockPortWidthsDataTip off BlockDescriptionStringDataTip off BlockMaskParametersDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off OptimizeBlockIOStorage on BufferReuse on BooleanDataType off RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_vc.tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "oneshot" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect off PreLoadFcn "dap3dofdata" Created "Mon Mar 15 01:15:24 1999" Creator "barnard" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "barnard" ModifiedDateFormat "%" LastModifiedDate "Thu Jun 03 14:46:31 1999" ModelVersionFormat "1.%" ConfigurationManager "none" BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } System { Name "dap3dof" Location [291, 74, 1231, 613] Open on ModelBrowserVisibility on ModelBrowserWidth 209 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom off ReportName "simulink-default.rpt" Block { BlockType Constant Name "Ascent Single\nJets" Position [490, 455, 510, 475] BackgroundColor "orange" Value "1" } Block { BlockType SubSystem Name "Astronaut Attitude\nCommand\nto Autopilot" Ports [0, 1, 0, 0, 0] Position [45, 145, 85, 185] FontName "Arial" FontSize 12 FontWeight "bold" FontAngle "italic" ShowPortLabels on System { Name "Astronaut Attitude\nCommand\nto Autopilot" Location [297, 74, 1237, 613] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "automatic" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Reference Name "Attitude\nCmd at t=0" Ports [0, 1, 0, 0, 0] Position [25, 107, 55, 133] BackgroundColor "cyan" SourceBlock "dspmtrx/Matrix\nConstant" SourceType "Matrix Constant" M "[0 0 0]" } Block { BlockType Reference Name "Attitude Cmd\nat t=step" Ports [0, 1, 0, 0, 0] Position [25, 27, 55, 53] BackgroundColor "cyan" NamePlacement "alternate" SourceBlock "dspmtrx/Matrix\nConstant" SourceType "Matrix Constant" M "[.03 0.05 0.1]" } Block { BlockType Step Name "Step" Position [25, 60, 55, 90] Time "0.25" Before "0" After "1" SampleTime "0" } Block { BlockType Switch Name "Switch" Position [95, 60, 125, 90] Threshold "0.5" } Block { BlockType Outport Name "Cmd." Position [200, 110, 230, 120] Orientation "down" NamePlacement "alternate" Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "Step" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Attitude Cmd\nat t=step" SrcPort 1 Points [20, 0] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Attitude\nCmd at t=0" SrcPort 1 Points [20, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 Points [85, 0] DstBlock "Cmd." DstPort 1 } } } Block { BlockType Scope Name "Attitudes" Ports [1, 0, 0, 0, 0] Position [885, 194, 915, 226] Floating off Location [528, 30, 1147, 338] Open off NumInputPorts "1" TickLabels "OneTimeTick" ZoomMode "on" List { ListType AxesTitles axes1 "%" } Grid "on" TimeRange "auto" YMin "0" YMax "0.12" SaveToWorkspace off SaveName "ScopeData" DataFormat "StructureWithTime" LimitMaxRows off MaxRows "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType DataStoreMemory Name "Data Store\nMemory" Position [795, 455, 849, 481] ShowName off DataStoreName "e_edot" InitialValue "[0 0]" } Block { BlockType DataStoreMemory Name "Data Store\nMemory1" Position [755, 490, 809, 516] ShowName off DataStoreName "NofJets" InitialValue "2" } Block { BlockType DataStoreMemory Name "Data Store\nMemory2" Position [823, 490, 899, 515] ShowName off DataStoreName "PitchRollJets" InitialValue "2" } Block { BlockType Constant Name "Four Jet" Position [250, 455, 270, 475] BackgroundColor "orange" Value "4" } Block { BlockType SubSystem Name "H x Omega" Ports [2, 1, 0, 0, 0] Position [465, 337, 515, 368] Orientation "left" BackgroundColor "lightBlue" NamePlacement "alternate" ShowPortLabels on MaskType "Vector Cross Product" MaskDescription "This block computes the vector cross product of" " the first input with the second input. The output is then z= v1 x v2." MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "H x Omega" Location [126, 209, 734, 596] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "v1" Position [25, 60, 45, 80] Port "1" PortWidth "-1" SampleTime "-1" DataType "auto" SignalType "auto" Interpolate on } Block { BlockType Inport Name "v2" Position [25, 255, 45, 275] Port "2" PortWidth "-1" SampleTime "-1" DataType "auto" SignalType "auto" Interpolate on } Block { BlockType Demux Name "Demux" Ports [1, 3, 0, 0, 0] Position [95, 44, 140, 96] Outputs "3" } Block { BlockType Demux Name "Demux1" Ports [1, 3, 0, 0, 0] Position [95, 239, 140, 291] Outputs "3" } Block { BlockType Mux Name "Mux" Ports [3, 1, 0, 0, 0] Position [465, 137, 500, 173] Inputs "3" DisplayOption "none" } Block { BlockType Sum Name "Sum" Ports [2, 1, 0, 0, 0] Position [380, 52, 410, 83] IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum1" Ports [2, 1, 0, 0, 0] Position [380, 137, 410, 168] IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum2" Ports [2, 1, 0, 0, 0] Position [380, 232, 410, 263] IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType Product Name "v1(1)*v2(2)" Ports [2, 1, 0, 0, 0] Position [260, 12, 290, 43] Inputs "2" SaturateOnIntegerOverflow on } Block { BlockType Product Name "v1(1)*v2(3)" Ports [2, 1, 0, 0, 0] Position [260, 77, 290, 108] Inputs "2" SaturateOnIntegerOverflow on } Block { BlockType Product Name "v1(2)*v2(1)" Ports [2, 1, 0, 0, 0] Position [260, 152, 290, 183] Inputs "2" SaturateOnIntegerOverflow on } Block { BlockType Product Name "v1(2)*v2(3)" Ports [2, 1, 0, 0, 0] Position [260, 207, 290, 238] Inputs "2" SaturateOnIntegerOverflow on } Block { BlockType Product Name "v1(3)*v2(1)" Ports [2, 1, 0, 0, 0] Position [260, 267, 290, 298] Inputs "2" SaturateOnIntegerOverflow on } Block { BlockType Product Name "v1(3)*v2(2)" Ports [2, 1, 0, 0, 0] Position [260, 327, 290, 358] Inputs "2" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "v1 x v2" Position [540, 145, 560, 165] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "v1" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 3 Points [45, 0; 0, 190] Branch { DstBlock "v1(3)*v2(1)" DstPort 1 } Branch { Points [0, 60] DstBlock "v1(3)*v2(2)" DstPort 1 } } Line { SrcBlock "v2" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 Points [10, 0] Branch { Points [0, -75] DstBlock "v1(2)*v2(1)" DstPort 2 } Branch { Points [0, 40] DstBlock "v1(3)*v2(1)" DstPort 2 } } Line { SrcBlock "Demux1" SrcPort 2 Points [20, 0] Branch { Points [0, 85] DstBlock "v1(3)*v2(2)" DstPort 2 } Branch { Points [0, -230] DstBlock "v1(1)*v2(2)" DstPort 2 } } Line { SrcBlock "Demux1" SrcPort 3 Points [30, 0; 0, -50] Branch { DstBlock "v1(2)*v2(3)" DstPort 2 } Branch { Points [0, -130] DstBlock "v1(1)*v2(3)" DstPort 2 } } Line { SrcBlock "Demux" SrcPort 1 Points [65, 0] Branch { Points [0, -35] DstBlock "v1(1)*v2(2)" DstPort 1 } Branch { Points [0, 30] DstBlock "v1(1)*v2(3)" DstPort 1 } } Line { SrcBlock "Demux" SrcPort 2 Points [55, 0; 0, 90] Branch { DstBlock "v1(2)*v2(1)" DstPort 1 } Branch { Points [0, 55] DstBlock "v1(2)*v2(3)" DstPort 1 } } Line { SrcBlock "Mux" SrcPort 1 DstBlock "v1 x v2" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 Points [35, 0] DstBlock "Mux" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Sum2" SrcPort 1 Points [35, 0] DstBlock "Mux" DstPort 3 } Line { SrcBlock "v1(2)*v2(3)" SrcPort 1 Points [40, 0; 0, -165] DstBlock "Sum" DstPort 1 } Line { SrcBlock "v1(3)*v2(2)" SrcPort 1 Points [50, 0; 0, -270] DstBlock "Sum" DstPort 2 } Line { SrcBlock "v1(3)*v2(1)" SrcPort 1 Points [60, 0; 0, -140] DstBlock "Sum1" DstPort 1 } Line { SrcBlock "v1(1)*v2(3)" SrcPort 1 Points [70, 0] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "v1(1)*v2(2)" SrcPort 1 Points [30, 0; 0, 210] DstBlock "Sum2" DstPort 1 } Line { SrcBlock "v1(2)*v2(1)" SrcPort 1 Points [20, 0; 0, 85] DstBlock "Sum2" DstPort 2 } } } Block { BlockType Reference Name "I Omega" Ports [2, 1, 0, 0, 0] Position [565, 297, 615, 333] Orientation "left" BackgroundColor "lightBlue" SourceBlock "dspmtrx/Matrix\nMultiplication" SourceType "Matrix Multiplication" Asize "[3 3]" Bcols "1" Port { PortNumber 1 Name "Momentum (H)" TestPoint off RTWStorageClass "Auto" } } Block { BlockType Reference Name "I inverse times \nTorque" Ports [2, 1, 0, 0, 0] Position [535, 170, 595, 210] BackgroundColor "lightBlue" SourceBlock "dspmtrx/Matrix\nMultiplication" SourceType "Matrix Multiplication" Asize "[3 3]" Bcols "1" Port { PortNumber 1 Name "Omega dot" TestPoint off RTWStorageClass "Auto" } } Block { BlockType Reference Name "Inertia Marix" Ports [0, 1, 0, 0, 0] Position [570, 270, 610, 290] BackgroundColor "cyan" NamePlacement "alternate" SourceBlock "dspmtrx/Matrix\nConstant" SourceType "Matrix Constant" M "[I1 0 0;0 I2 0;0 0 I3]" Port { PortNumber 1 Name "Inertia" TestPoint off RTWStorageClass "Auto" } } Block { BlockType Reference Name "Initial Position" Ports [0, 1, 0, 0, 0] Position [805, 254, 845, 276] Orientation "left" BackgroundColor "cyan" SourceBlock "dspmtrx/Matrix\nConstant" SourceType "Matrix Constant" M "[0 0 0]'" } Block { BlockType Reference Name "Initial Rate" Ports [0, 1, 0, 0, 0] Position [675, 235, 715, 255] Orientation "left" BackgroundColor "cyan" SourceBlock "dspmtrx/Matrix\nConstant" SourceType "Matrix Constant" M "[.1 0.01 0.01]'" } Block { BlockType Integrator Name "Integrator" Ports [2, 1, 0, 0, 0] Position [680, 182, 710, 213] BackgroundColor "yellow" ExternalReset "none" InitialConditionSource "external" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" Port { PortNumber 1 Name "Omega" TestPoint off RTWStorageClass "Auto" } } Block { BlockType Reference Name "Inverse of the \nInertia Marix" Ports [0, 1, 0, 0, 0] Position [545, 140, 585, 160] Orientation "left" BackgroundColor "cyan" NamePlacement "alternate" SourceBlock "dspmtrx/Matrix\nConstant" SourceType "Matrix Constant" M "[1/I1 0 0;0 1/I2 0;0 0 1/I3]" } Block { BlockType Scope Name "Jet Commands" Ports [2, 0, 0, 0, 0] Position [330, 280, 365, 315] Orientation "down" BackgroundColor "yellow" NamePlacement "alternate" Floating off Location [904, 376, 1260, 881] Open off NumInputPorts "2" TickLabels "on" ZoomMode "on" List { ListType AxesTitles axes1 "%" axes2 "%" } Grid "on" TimeRange "9.999999999999998" YMin "-3~-3" YMax "3~3" SaveToWorkspace off SaveName "ScopeData" DataFormat "Matrix" LimitMaxRows off MaxRows "10000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Mux Name "Mux" Ports [2, 1, 0, 0, 0] Position [375, 139, 380, 241] BackgroundColor "black" Inputs "2" DisplayOption "none" } Block { BlockType Constant Name "Nominal Two Jet Couples" Position [490, 435, 510, 455] BackgroundColor "green" NamePlacement "alternate" Value "2" } Block { BlockType SubSystem Name "Phase Plane \nPlot" Ports [1, 0, 0, 0, 0] Position [110, 456, 165, 484] BackgroundColor "yellow" NamePlacement "alternate" ShowPortLabels on System { Name "Phase Plane \nPlot" Location [671, 359, 963, 565] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "automatic" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "Pos. Error" Position [40, 33, 70, 47] NamePlacement "alternate" Port "1" PortWidth "-1" SampleTime "-1" DataType "auto" SignalType "auto" Interpolate on } Block { BlockType Constant Name "Constant" Position [35, 99, 70, 121] ShowName off Value "alph1" } Block { BlockType Constant Name "Constant1" Position [35, 119, 70, 141] ShowName off Value "alphs1" } Block { BlockType Constant Name "Constants for Plot" Position [35, 142, 70, 158] Value "DB" } Block { BlockType DigitalClock Name "Digital Clock" Position [20, 53, 85, 77] SampleTime "delt" } Block { BlockType MATLABFcn Name "MATLAB Fcn" Position [180, 70, 240, 100] MATLABFcn "phaseplane" OutputWidth "0" OutputSignalType "auto" } Block { BlockType Mux Name "Mux1" Ports [5, 1, 0, 0, 0] Position [130, 28, 135, 142] ShowName off Inputs "5" DisplayOption "bar" } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "MATLAB Fcn" DstPort 1 } Line { SrcBlock "Pos. Error" SrcPort 1 Points [40, 0] DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Digital Clock" SrcPort 1 DstBlock "Mux1" DstPort 2 } Line { SrcBlock "Constants for Plot" SrcPort 1 Points [40, 0] DstBlock "Mux1" DstPort 5 } Line { SrcBlock "Constant" SrcPort 1 Points [30, 0; 0, -25] DstBlock "Mux1" DstPort 3 } Line { SrcBlock "Constant1" SrcPort 1 Points [35, 0; 0, -25] DstBlock "Mux1" DstPort 4 } } } Block { BlockType Gain Name "Pitch Accleration" Position [395, 173, 450, 207] BackgroundColor "yellow" NamePlacement "alternate" Gain "Force*L_arm" SaturateOnIntegerOverflow on } Block { BlockType Scope Name "Rates" Ports [1, 0, 0, 0, 0] Position [885, 134, 915, 166] Floating off Location [28, 30, 585, 328] Open off NumInputPorts "1" TickLabels "OneTimeTick" ZoomMode "on" List { ListType AxesTitles axes1 "%" } Grid "on" TimeRange "auto" YMin "-0.075" YMax "0.125" SaveToWorkspace off SaveName "ScopeData" DataFormat "StructureWithTime" LimitMaxRows off MaxRows "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Reference Name "Reaction Jet Control" Ports [2, 2, 0, 0, 0] Position [175, 139, 330, 241] BackgroundColor "cyan" DropShadow on FontName "Arial" FontSize 12 SourceBlock "librcs/Reaction Jet Control" SourceType "SubSystem" } Block { BlockType DataStoreRead Name "Read data" Position [35, 455, 80, 485] DataStoreName "e_edot" SampleTime "delt" } Block { BlockType Reference Name "Single Jet (Ascent)\nor Two Jet Yaw\nCouples" Ports [2, 1, 0, 0, 0] Position [570, 436, 600, 474] SourceBlock "simulink3/Nonlinear/Manual Switch" SourceType "Manual Switch" sw "1" action "0" } Block { BlockType Integrator Name "Small Angle\nPosition" Ports [2, 1, 0, 0, 0] Position [815, 192, 845, 223] BackgroundColor "yellow" ExternalReset "none" InitialConditionSource "external" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" Port { PortNumber 1 Name "Position" TestPoint off RTWStorageClass "Auto" } } Block { BlockType Sum Name "Sum" Ports [2, 1, 0, 0, 0] Position [475, 182, 505, 213] BackgroundColor "lightBlue" IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType Constant Name "Two Jet" Position [250, 435, 270, 455] BackgroundColor "green" NamePlacement "alternate" Value "2" } Block { BlockType Reference Name "Two Jet or\nFour Jet Yaw\nCouples" Ports [2, 1, 0, 0, 0] Position [330, 436, 360, 474] SourceBlock "simulink3/Nonlinear/Manual Switch" SourceType "Manual Switch" sw "1" action "0" } Block { BlockType DataStoreWrite Name "Write\nPitchRoll Var" Position [630, 438, 700, 472] DataStoreName "PitchRollJets" SampleTime "-1" } Block { BlockType DataStoreWrite Name "Write Var" Position [390, 439, 440, 471] DataStoreName "NofJets" SampleTime "-1" } Block { BlockType ZeroOrderHold Name "Zero-Order\nHold at delt" Position [130, 200, 155, 230] BackgroundColor "cyan" SampleTime "delt" } Block { BlockType ZeroOrderHold Name "zoh" Position [130, 150, 155, 180] BackgroundColor "cyan" NamePlacement "alternate" ShowName off SampleTime "delt" } Line { SrcBlock "Inverse of the \nInertia Marix" SrcPort 1 Points [-20, 0] DstBlock "I inverse times \nTorque" DstPort 1 } Line { Name "Omega dot" Labels [0, 1] SrcBlock "I inverse times \nTorque" SrcPort 1 DstBlock "Integrator" DstPort 1 } Line { Name "Inertia" Labels [2, 0] SrcBlock "Inertia Marix" SrcPort 1 Points [15, 0] DstBlock "I Omega" DstPort 1 } Line { SrcBlock "Initial Rate" SrcPort 1 Points [-15, 0; 0, -40] DstBlock "Integrator" DstPort 2 } Line { SrcBlock "Initial Position" SrcPort 1 Points [-15, 0; 0, -50] DstBlock "Small Angle\nPosition" DstPort 2 } Line { Name "Omega" Labels [0, 0] SrcBlock "Integrator" SrcPort 1 Points [40, 0] Branch { Labels [-1, 1] DstBlock "Small Angle\nPosition" DstPort 1 } Branch { Points [0, 125] Branch { Labels [-1, 0] DstBlock "I Omega" DstPort 2 } Branch { Labels [-1, 1] Points [0, 35] DstBlock "H x Omega" DstPort 2 } } Branch { Points [0, -50] DstBlock "Rates" DstPort 1 } } Line { Name "Position" SrcBlock "Small Angle\nPosition" SrcPort 1 Points [15, 0] Branch { DstBlock "Attitudes" DstPort 1 } Branch { Labels [1, 1] Points [0, 185; -760, 0; 0, -180] DstBlock "Zero-Order\nHold at delt" DstPort 1 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "I inverse times \nTorque" DstPort 2 } Line { Name "Momentum (H)" Labels [0, 0] SrcBlock "I Omega" SrcPort 1 Points [-30, 0] DstBlock "H x Omega" DstPort 1 } Line { SrcBlock "H x Omega" SrcPort 1 Points [-15, 0; 0, -150] DstBlock "Sum" DstPort 2 } Line { Labels [1, 0] SrcBlock "Astronaut Attitude\nCommand\nto Autopilot" SrcPort 1 DstBlock "zoh" DstPort 1 } Line { SrcBlock "Pitch Accleration" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Pitch Accleration" DstPort 1 } Line { SrcBlock "Reaction Jet Control" SrcPort 1 Points [5, 0] Branch { DstBlock "Mux" DstPort 1 } Branch { DstBlock "Jet Commands" DstPort 1 } } Line { SrcBlock "Reaction Jet Control" SrcPort 2 Points [20, 0] Branch { DstBlock "Mux" DstPort 2 } Branch { DstBlock "Jet Commands" DstPort 2 } } Line { SrcBlock "zoh" SrcPort 1 DstBlock "Reaction Jet Control" DstPort 1 } Line { SrcBlock "Zero-Order\nHold at delt" SrcPort 1 DstBlock "Reaction Jet Control" DstPort 2 } Line { SrcBlock "Ascent Single\nJets" SrcPort 1 DstBlock "Single Jet (Ascent)\nor Two Jet Yaw\nCouples" DstPort 2 } Line { SrcBlock "Nominal Two Jet Couples" SrcPort 1 DstBlock "Single Jet (Ascent)\nor Two Jet Yaw\nCouples" DstPort 1 } Line { SrcBlock "Single Jet (Ascent)\nor Two Jet Yaw\nCouples" SrcPort 1 DstBlock "Write\nPitchRoll Var" DstPort 1 } Line { SrcBlock "Four Jet" SrcPort 1 DstBlock "Two Jet or\nFour Jet Yaw\nCouples" DstPort 2 } Line { SrcBlock "Two Jet" SrcPort 1 DstBlock "Two Jet or\nFour Jet Yaw\nCouples" DstPort 1 } Line { SrcBlock "Two Jet or\nFour Jet Yaw\nCouples" SrcPort 1 DstBlock "Write Var" DstPort 1 } Line { SrcBlock "Read data" SrcPort 1 DstBlock "Phase Plane \nPlot" DstPort 1 } Annotation { Position [449, 37] BackgroundColor "cyan" Text "The Lunar Module Digital Autopilot Design" FontName "Arial" FontSize 28 FontWeight "bold" FontAngle "italic" } Annotation { Position [443, 80] Text "How it Would be Done Today!\n" FontName "Arial" FontSize 18 FontWeight "bold" FontAngle "italic" } Annotation { Position [823, 438] Text "Initialize Data Stores" } } } # Finite State Machines # -- File save dated 03-Jun-1999 14:46:32 # # Stateflow Version 2.0 (R11) dated May 21 1999, 22:46:02 # # Stateflow { machine { id 1 name "dap3dof" created "17-Sep-1997 12:07:59" firstTarget 2 debug { breakOn [1 1 0] } sfVersion 20011061 } target { id 2 name "sfun" description "Default Simulink S-Function Target." codeFlags "-sfun-debug-consistency-range-conflict" machine 1 linkNode [1 0 3] checksumOld [3519414036 451097640 917818198 2368130067] } target { id 3 name "rtw" description "Default RTW target." codeCommand "sfc -rtw" codeFlags "" makeCommand "" machine 1 linkNode [1 2 4] } target { id 4 codeFlags "-consistency-range-conflict" machine 1 linkNode [1 3 0] } }