Model { Name "test_model_R2015A" Version 8.5 MdlSubVersion 0 SavedCharacterEncoding "windows-1252" GraphicalInterface { NumRootInports 0 NumRootOutports 0 ParameterArgumentNames "" ComputedModelVersion "1.2002" NumModelReferences 0 NumTestPointedSignals 0 } ScopeRefreshTime 0.035000 OverrideScopeRefreshTime off DisableAllScopes off DataTypeOverride "UseLocalSettings" DataTypeOverrideAppliesTo "AllNumericTypes" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" FPTRunName "Run 1" MaxMDLFileLineLength 120 Object { $PropName "BdWindowsInfo" $ObjectID 1 $ClassName "Simulink.BDWindowsInfo" Object { $PropName "WindowsInfo" $ObjectID 2 $ClassName "Simulink.WindowInfo" IsActive [1] Location [69.0, 48.0, 1743.0, 940.0] Object { $PropName "ModelBrowserInfo" $ObjectID 3 $ClassName "Simulink.ModelBrowserInfo" Visible [0] DockPosition "Left" Width [50] Height [50] Filter [9] } Object { $PropName "ExplorerBarInfo" $ObjectID 4 $ClassName "Simulink.ExplorerBarInfo" Visible [1] } Array { Type "Simulink.EditorInfo" Dimension 2 Object { $ObjectID 5 IsActive [1] ViewObjType "SimulinkTopLevel" LoadSaveID "0" Extents [1693.0, 762.0] ZoomFactor [1.25] Offset [113.60000000000002, 92.0] } Object { $ObjectID 6 IsActive [0] ViewObjType "SimulinkSubsys" LoadSaveID "658" Extents [1693.0, 762.0] ZoomFactor [1.0] Offset [0.0, 0.0] } PropName "EditorsInfo" } } } Created "Thu Nov 03 18:34:52 2016" Creator "Andy" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%<Auto>" LastModifiedBy "m87rich" ModifiedDateFormat "%<Auto>" LastModifiedDate "Sun Feb 19 17:01:58 2017" RTWModifiedTimeStamp 409366141 ModelVersionFormat "1.%<AutoIncrement:2002>" ConfigurationManager "none" SampleTimeColors on SampleTimeAnnotations off LibraryLinkDisplay "disabled" WideLines off ShowLineDimensions on ShowPortDataTypes off ShowDesignRanges off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ShowTestPointIcons on ShowSignalResolutionIcons on ShowViewerIcons on SortedOrder off ExecutionContextIcon off ShowLinearizationAnnotations on ShowMarkup on BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off SimulationMode "normal" PauseTimes "5" NumberOfSteps 1 SnapshotBufferSize 10 SnapshotInterval 10 NumberOfLastSnapshots 0 LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off Object { $PropName "DataLoggingOverride" $ObjectID 7 $ClassName "Simulink.SimulationData.ModelLoggingInfo" model_ "test_model_R2015A" overrideMode_ [0.0] Array { Type "Cell" Dimension 1 Cell "test_model_R2015A" PropName "logAsSpecifiedByModels_" } Array { Type "Cell" Dimension 1 Cell [] PropName "logAsSpecifiedByModelsSSIDs_" } } RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dwe" CovNameIncrementing off CovHtmlReporting off CovForceBlockReductionOff on CovEnableCumulative on covSaveCumulativeToWorkspaceVar off CovSaveSingleToWorkspaceVar off CovCumulativeVarName "covCumulativeData" CovCumulativeReport off CovReportOnPause on CovModelRefEnable "Off" CovExternalEMLEnable on CovSFcnEnable on CovBoundaryAbsTol 0.000010 CovBoundaryRelTol 0.010000 CovUseTimeInterval off CovStartTime 0 CovStopTime 0 ExtModeBatchMode off ExtModeEnableFloating on ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigDurationFloating "auto" ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on ShowModelReferenceBlockVersion off ShowModelReferenceBlockIO off Array { Type "Handle" Dimension 1 Simulink.ConfigSet { $ObjectID 8 Version "1.15.0" Array { Type "Handle" Dimension 8 Simulink.SolverCC { $ObjectID 9 Version "1.15.0" StartTime "0.0" StopTime "20" AbsTol "auto" FixedStep "auto" InitialStep "auto" MaxNumMinSteps "-1" MaxOrder 5 ZcThreshold "auto" ConsecutiveZCsStepRelTol "10*128*eps" MaxConsecutiveZCs "1000" ExtrapolationOrder 4 NumberNewtonIterations 1 MaxStep "auto" MinStep "auto" MaxConsecutiveMinStep "1" RelTol "1e-3" SolverMode "SingleTasking" EnableConcurrentExecution off ConcurrentTasks off Solver "ode45" SolverName "ode45" SolverJacobianMethodControl "auto" ShapePreserveControl "DisableAll" ZeroCrossControl "UseLocalSettings" ZeroCrossAlgorithm "Nonadaptive" AlgebraicLoopSolver "TrustRegion" SolverResetMethod "Fast" PositivePriorityOrder off AutoInsertRateTranBlk off SampleTimeConstraint "Unconstrained" InsertRTBMode "Whenever possible" } Simulink.DataIOCC { $ObjectID 10 Version "1.15.0" Decimation "1" ExternalInput "[t, u]" FinalStateName "xFinal" InitialState "xInitial" LimitDataPoints off MaxDataPoints "1000" LoadExternalInput off LoadInitialState off SaveFinalState off SaveCompleteFinalSimState off SaveFormat "Dataset" SignalLoggingSaveFormat "Dataset" SaveOutput on SaveState off SignalLogging on DSMLogging on InspectSignalLogs off VisualizeSimOutput on SaveTime on ReturnWorkspaceOutputs off StateSaveName "xout" TimeSaveName "tout" OutputSaveName "yout" SignalLoggingName "logsout" DSMLoggingName "dsmout" OutputOption "RefineOutputTimes" OutputTimes "[]" ReturnWorkspaceOutputsName "out" Refine "1" } Simulink.OptimizationCC { $ObjectID 11 Version "1.15.0" Array { Type "Cell" Dimension 8 Cell "BooleansAsBitfields" Cell "PassReuseOutputArgsAs" Cell "PassReuseOutputArgsThreshold" Cell "ZeroExternalMemoryAtStartup" Cell "ZeroInternalMemoryAtStartup" Cell "OptimizeModelRefInitCode" Cell "NoFixptDivByZeroProtection" Cell "UseSpecifiedMinMax" PropName "DisabledProps" } BlockReduction on BooleanDataType on ConditionallyExecuteInputs on InlineParams off UseDivisionForNetSlopeComputation "off" UseFloatMulNetSlope off DefaultUnderspecifiedDataType "double" UseSpecifiedMinMax off InlineInvariantSignals off OptimizeBlockIOStorage on BufferReuse on EnhancedBackFolding off CachingGlobalReferences off GlobalBufferReuse on StrengthReduction off ExpressionFolding on BooleansAsBitfields off BitfieldContainerType "uint_T" EnableMemcpy on MemcpyThreshold 64 PassReuseOutputArgsAs "Structure reference" PassReuseOutputArgsThreshold 12 ExpressionDepthLimit 128 LocalBlockOutputs on RollThreshold 5 StateBitsets off DataBitsets off ActiveStateOutputEnumStorageType "Native Integer" ZeroExternalMemoryAtStartup on ZeroInternalMemoryAtStartup on InitFltsAndDblsToZero off NoFixptDivByZeroProtection off EfficientFloat2IntCast off EfficientMapNaN2IntZero on OptimizeModelRefInitCode off LifeSpan "inf" MaxStackSize "Inherit from target" BufferReusableBoundary on SimCompilerOptimization "off" AccelVerboseBuild off } Simulink.DebuggingCC { $ObjectID 12 Version "1.15.0" RTPrefix "error" ConsistencyChecking "none" ArrayBoundsChecking "none" SignalInfNanChecking "none" SignalRangeChecking "none" ReadBeforeWriteMsg "UseLocalSettings" WriteAfterWriteMsg "UseLocalSettings" WriteAfterReadMsg "UseLocalSettings" AlgebraicLoopMsg "error" ArtificialAlgebraicLoopMsg "warning" SaveWithDisabledLinksMsg "warning" SaveWithParameterizedLinksMsg "warning" CheckSSInitialOutputMsg on UnderspecifiedInitializationDetection "Simplified" MergeDetectMultiDrivingBlocksExec "error" CheckExecutionContextPreStartOutputMsg off CheckExecutionContextRuntimeOutputMsg off SignalResolutionControl "UseLocalSettings" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" TimeAdjustmentMsg "none" MaxConsecutiveZCsMsg "error" MaskedZcDiagnostic "warning" IgnoredZcDiagnostic "warning" SolverPrmCheckMsg "none" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskDSMMsg "error" MultiTaskCondExecSysMsg "error" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" TasksWithSamePriorityMsg "warning" SigSpecEnsureSampleTimeMsg "warning" CheckMatrixSingularityMsg "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterUnderflowMsg "none" ParameterPrecisionLossMsg "warning" ParameterTunabilityLossMsg "warning" FixptConstUnderflowMsg "none" FixptConstOverflowMsg "none" FixptConstPrecisionLossMsg "none" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" FcnCallInpInsideContextMsg "EnableAllAsError" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SFcnCompatibilityMsg "none" FrameProcessingCompatibilityMsg "error" UniqueDataStoreMsg "none" BusObjectLabelMismatch "warning" RootOutportRequireBusObject "warning" AssertControl "UseLocalSettings" ModelReferenceIOMsg "none" ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" ModelReferenceVersionMismatchMessage "none" ModelReferenceIOMismatchMessage "none" UnknownTsInhSupMsg "warning" ModelReferenceDataLoggingMessage "warning" ModelReferenceSymbolNameMessage "warning" ModelReferenceExtraNoncontSigs "error" StateNameClashWarn "none" SimStateInterfaceChecksumMismatchMsg "warning" SimStateOlderReleaseMsg "error" InitInArrayFormatMsg "warning" StrictBusMsg "ErrorLevel1" BusNameAdapt "WarnAndRepair" NonBusSignalsTreatedAsBus "none" BlockIODiagnostic "none" SFUnusedDataAndEventsDiag "warning" SFUnexpectedBacktrackingDiag "error" SFInvalidInputDataAccessInChartInitDiag "warning" SFNoUnconditionalDefaultTransitionDiag "error" SFTransitionOutsideNaturalParentDiag "warning" SFUnconditionalTransitionShadowingDiag "warning" SFUndirectedBroadcastEventsDiag "warning" SFTransitionActionBeforeConditionDiag "warning" SFOutputUsedAsStateInMooreChartDiag "error" IntegerSaturationMsg "warning" } Simulink.HardwareCC { $ObjectID 13 Version "1.15.0" ProdBitPerChar 8 ProdBitPerShort 16 ProdBitPerInt 32 ProdBitPerLong 32 ProdBitPerLongLong 64 ProdBitPerFloat 32 ProdBitPerDouble 64 ProdBitPerPointer 64 ProdLargestAtomicInteger "Char" ProdLargestAtomicFloat "Float" ProdIntDivRoundTo "Zero" ProdEndianess "LittleEndian" ProdWordSize 32 ProdShiftRightIntArith on ProdLongLongMode off ProdHWDeviceType "Specified" TargetBitPerChar 8 TargetBitPerShort 16 TargetBitPerInt 32 TargetBitPerLong 32 TargetBitPerLongLong 64 TargetBitPerFloat 32 TargetBitPerDouble 64 TargetBitPerPointer 32 TargetLargestAtomicInteger "Char" TargetLargestAtomicFloat "None" TargetShiftRightIntArith on TargetLongLongMode off TargetIntDivRoundTo "Undefined" TargetEndianess "Unspecified" TargetWordSize 32 TargetPreprocMaxBitsSint 32 TargetPreprocMaxBitsUint 32 TargetHWDeviceType "Specified" TargetUnknown off ProdEqTarget on } Simulink.ModelReferenceCC { $ObjectID 14 Version "1.15.0" UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" CheckModelReferenceTargetMessage "error" EnableParallelModelReferenceBuilds off ParallelModelReferenceErrorOnInvalidPool on ParallelModelReferenceMATLABWorkerInit "None" ModelReferenceNumInstancesAllowed "Multi" PropagateVarSize "Infer from blocks in model" ModelReferencePassRootInputsByReference on ModelReferenceMinAlgLoopOccurrences off PropagateSignalLabelsOutOfModel on SupportModelReferenceSimTargetCustomCode off } Simulink.SFSimCC { $ObjectID 15 Version "1.15.0" SFSimOverflowDetection on SFSimEcho on SimCtrlC on SimIntegrity on SimUseLocalCustomCode off SimParseCustomCode on SimBuildMode "sf_incremental_build" SimGenImportedTypeDefs off } Simulink.RTWCC { $BackupClass "Simulink.RTWCC" $ObjectID 16 Version "1.15.0" Array { Type "Cell" Dimension 13 Cell "IncludeHyperlinkInReport" Cell "GenerateTraceInfo" Cell "GenerateTraceReport" Cell "GenerateTraceReportSl" Cell "GenerateTraceReportSf" Cell "GenerateTraceReportEml" Cell "PortableWordSizes" Cell "GenerateWebview" Cell "GenerateCodeMetricsReport" Cell "GenerateCodeReplacementReport" Cell "GenerateMissedCodeReplacementReport" Cell "GenerateErtSFunction" Cell "CreateSILPILBlock" PropName "DisabledProps" } SystemTargetFile "grt.tlc" TLCOptions "" GenCodeOnly off MakeCommand "make_rtw" GenerateMakefile on PackageGeneratedCodeAndArtifacts off PackageName "" TemplateMakefile "grt_default_tmf" PostCodeGenCommand "" Description "" GenerateReport off SaveLog off RTWVerbose on RetainRTWFile off ProfileTLC off TLCDebug off TLCCoverage off TLCAssert off RTWUseLocalCustomCode off RTWUseSimCustomCode off CustomSourceCode "" CustomHeaderCode "" CustomInclude "" CustomSource "" CustomLibrary "" CustomInitializer "" CustomTerminator "" Toolchain "Automatically locate an installed toolchain" BuildConfiguration "Faster Builds" IncludeHyperlinkInReport off LaunchReport off PortableWordSizes off CreateSILPILBlock "None" CodeExecutionProfiling off CodeExecutionProfileVariable "executionProfile" CodeProfilingSaveOptions "SummaryOnly" CodeProfilingInstrumentation off SILDebugging off TargetLang "C" IncludeBusHierarchyInRTWFileBlockHierarchyMap off GenerateTraceInfo off GenerateTraceReport off GenerateTraceReportSl off GenerateTraceReportSf off GenerateTraceReportEml off GenerateWebview off GenerateCodeMetricsReport off GenerateCodeReplacementReport off GenerateMissedCodeReplacementReport off RTWCompilerOptimization "off" RTWCustomCompilerOptimizations "" CheckMdlBeforeBuild "Off" SharedConstantsCachingThreshold 1024 Array { Type "Handle" Dimension 2 Simulink.CodeAppCC { $ObjectID 17 Version "1.15.0" Array { Type "Cell" Dimension 25 Cell "IgnoreCustomStorageClasses" Cell "IgnoreTestpoints" Cell "InsertBlockDesc" Cell "InsertPolySpaceComments" Cell "SFDataObjDesc" Cell "MATLABFcnDesc" Cell "SimulinkDataObjDesc" Cell "DefineNamingRule" Cell "SignalNamingRule" Cell "ParamNamingRule" Cell "InternalIdentifier" Cell "InlinedPrmAccess" Cell "CustomSymbolStr" Cell "CustomSymbolStrGlobalVar" Cell "CustomSymbolStrType" Cell "CustomSymbolStrField" Cell "CustomSymbolStrFcn" Cell "CustomSymbolStrModelFcn" Cell "CustomSymbolStrFcnArg" Cell "CustomSymbolStrBlkIO" Cell "CustomSymbolStrTmpVar" Cell "CustomSymbolStrMacro" Cell "CustomSymbolStrUtil" Cell "CustomUserTokenString" Cell "ReqsInCode" PropName "DisabledProps" } ForceParamTrailComments off GenerateComments on CommentStyle "Auto" IgnoreCustomStorageClasses on IgnoreTestpoints off IncHierarchyInIds off MaxIdLength 31 PreserveName off PreserveNameWithParent off ShowEliminatedStatement off OperatorAnnotations off IncAutoGenComments off SimulinkDataObjDesc off SFDataObjDesc off MATLABFcnDesc off IncDataTypeInIds off MangleLength 1 CustomSymbolStrGlobalVar "$R$N$M" CustomSymbolStrType "$N$R$M_T" CustomSymbolStrField "$N$M" CustomSymbolStrFcn "$R$N$M$F" CustomSymbolStrFcnArg "rt$I$N$M" CustomSymbolStrBlkIO "rtb_$N$M" CustomSymbolStrTmpVar "$N$M" CustomSymbolStrMacro "$R$N$M" CustomSymbolStrUtil "$N$C" DefineNamingRule "None" ParamNamingRule "None" SignalNamingRule "None" InsertBlockDesc off InsertPolySpaceComments off SimulinkBlockComments on MATLABSourceComments off EnableCustomComments off InternalIdentifier "Shortened" InlinedPrmAccess "Literals" ReqsInCode off UseSimReservedNames off } Simulink.GRTTargetCC { $BackupClass "Simulink.TargetCC" $ObjectID 18 Version "1.15.0" Array { Type "Cell" Dimension 15 Cell "IncludeMdlTerminateFcn" Cell "SuppressErrorStatus" Cell "ERTCustomFileBanners" Cell "GenerateSampleERTMain" Cell "ExistingSharedCode" Cell "GenerateTestInterfaces" Cell "ModelStepFunctionPrototypeControlCompliant" Cell "GenerateAllocFcn" Cell "PurelyIntegerCode" Cell "SupportComplex" Cell "SupportAbsoluteTime" Cell "SupportContinuousTime" Cell "SupportNonInlinedSFcns" Cell "RemoveDisableFunc" Cell "RemoveResetFunc" PropName "DisabledProps" } TargetFcnLib "ansi_tfl_table_tmw.mat" TargetLibSuffix "" TargetPreCompLibLocation "" GenFloatMathFcnCalls "NOT IN USE" TargetLangStandard "C99 (ISO)" CodeReplacementLibrary "None" UtilityFuncGeneration "Auto" ERTMultiwordTypeDef "System defined" ERTMultiwordLength 256 MultiwordLength 2048 GenerateFullHeader on InferredTypesCompatibility off GenerateSampleERTMain off GenerateTestInterfaces off ModelReferenceCompliant on ParMdlRefBuildCompliant on CompOptLevelCompliant on ConcurrentExecutionCompliant on IncludeMdlTerminateFcn on GeneratePreprocessorConditionals "Use local settings" CombineOutputUpdateFcns on CombineSignalStateStructs off SuppressErrorStatus off ERTFirstTimeCompliant off IncludeFileDelimiter "Auto" ERTCustomFileBanners off SupportAbsoluteTime on LogVarNameModifier "rt_" MatFileLogging on MultiInstanceERTCode off CodeInterfacePackaging "Nonreusable function" SupportNonFinite on SupportComplex on PurelyIntegerCode off SupportContinuousTime on SupportNonInlinedSFcns on SupportVariableSizeSignals off ParenthesesLevel "Nominal" CastingMode "Nominal" MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" ModelStepFunctionPrototypeControlCompliant off CPPClassGenCompliant on AutosarCompliant off GRTInterface off GenerateAllocFcn off GenerateSharedConstants on UseMalloc off ExtMode off ExtModeStaticAlloc off ExtModeTesting off ExtModeStaticAllocSize 1000000 ExtModeTransport 0 ExtModeMexFile "ext_comm" ExtModeIntrfLevel "Level1" RTWCAPISignals off RTWCAPIParams off RTWCAPIStates off RTWCAPIRootIO off GenerateASAP2 off MultiInstanceErrorCode "Error" } PropName "Components" } } PropName "Components" } Name "Configuration" CurrentDlgPage "Diagnostics" ConfigPrmDlgPosition [ 195, 142, 1085, 882 ] } PropName "ConfigurationSets" } Simulink.ConfigSet { $PropName "ActiveConfigurationSet" $ObjectID 8 } Object { $PropName "DataTransfer" $ObjectID 19 $ClassName "Simulink.GlobalDataTransfer" DefaultTransitionBetweenSyncTasks "Ensure deterministic transfer (maximum delay)" DefaultTransitionBetweenAsyncTasks "Ensure data integrity only" DefaultTransitionBetweenContTasks "Ensure deterministic transfer (minimum delay)" DefaultExtrapolationMethodBetweenContTasks "None" AutoInsertRateTranBlk [0] } ExplicitPartitioning off BlockDefaults { ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on BlockRotation 0 BlockMirror off } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" UseDisplayTextAsClickCallback off } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } MaskDefaults { SelfModifiable "off" IconFrame "on" IconOpaque "on" RunInitForIconRedraw "off" IconRotate "none" PortRotate "default" IconUnits "autoscale" } MaskParameterDefaults { Evaluate "on" Tunable "on" NeverSave "off" Internal "off" ReadOnly "off" Enabled "on" Visible "on" ToolTip "on" } BlockParameterDefaults { Block { BlockType BusCreator Inputs "4" DisplayOption "none" OutDataTypeStr "Inherit: auto" NonVirtualBus off InheritFromInputs on } Block { BlockType BusSelector OutputSignals "signal1,signal2,signal3" OutputAsBus off } Block { BlockType Constant Value "1" VectorParams1D on SamplingMode "Sample based" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Inherit from 'Constant value'" LockScale off SampleTime "inf" FramePeriod "inf" PreserveConstantTs off } Block { BlockType Delay DelayLengthSource "Dialog" DelayLength "2" DelayLengthUpperLimit "100" InitialConditionSource "Dialog" InitialCondition "0.0" ExternalReset "None" ShowEnablePort off PreventDirectFeedthrough off DiagnosticForOutOfRangeDelayLength "None" RemoveProtectionDelayLength off InputProcessing "Elements as channels (sample based)" UseCircularBuffer off SampleTime "-1" StateMustResolveToSignalObject off CodeGenStateStorageClass "Auto" } Block { BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off } Block { BlockType DiscreteIntegrator IntegratorMethod "Integration: Forward Euler" gainval "1.0" ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" InitialConditionSetting "Output" SampleTime "1" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Inherit via internal rule" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow off LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off IgnoreLimit off StateMustResolveToSignalObject off RTWStateStorageClass "Auto" ICPrevOutput "DiscIntNeverNeededParam" ICPrevScaledInput "DiscIntNeverNeededParam" } Block { BlockType DiscreteTransferFcn NumeratorSource "Dialog" Numerator "[1]" DenominatorSource "Dialog" Denominator "[1 0.5]" InitialStatesSource "Dialog" InitialStates "0" InputProcessing "Elements as channels (sample based)" ExternalReset "None" InitialDenominatorStates "0" FilterStructure "Direct form II" SampleTime "-1" a0EqualsOne off NumCoefMin "[]" NumCoefMax "[]" DenCoefMin "[]" DenCoefMax "[]" OutMin "[]" OutMax "[]" StateDataTypeStr "Inherit: Same as input" MultiplicandDataTypeStr "Inherit: Same as input" NumCoefDataTypeStr "Inherit: Inherit via internal rule" DenCoefDataTypeStr "Inherit: Inherit via internal rule" NumProductDataTypeStr "Inherit: Inherit via internal rule" DenProductDataTypeStr "Inherit: Inherit via internal rule" NumAccumDataTypeStr "Inherit: Inherit via internal rule" DenAccumDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow off StateMustResolveToSignalObject off RTWStateStorageClass "Auto" } Block { BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ParamMin "[]" ParamMax "[]" ParamDataTypeStr "Inherit: Same as input" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Same as input" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Ground } Block { BlockType Inport Port "1" OutputFunctionCall off OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: auto" LockScale off BusOutputAsStruct off PortDimensions "-1" VarSizeSig "Inherit" SampleTime "-1" SignalType "auto" SamplingMode "auto" LatchByDelayingOutsideSignal off LatchInputForFeedbackSignals off Interpolate on } Block { BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" WrapState off WrappedStateUpperValue "pi" WrappedStateLowerValue "-pi" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" IgnoreLimit off ZeroCross on ContinuousStateAttributes "''" } Block { BlockType Mux Inputs "4" DisplayOption "none" UseBusObject off BusObject "BusObject" NonVirtualBus off } Block { BlockType Outport Port "1" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: auto" LockScale off BusOutputAsStruct off PortDimensions "-1" VarSizeSig "Inherit" SampleTime "-1" SignalType "auto" SamplingMode "auto" SourceOfInitialOutputValue "Dialog" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Quantizer QuantizationInterval "0.5" LinearizeAsGain on SampleTime "-1" } Block { BlockType RandomNumber Mean "0" Variance "1" Seed "0" SampleTime "-1" VectorParams1D on } Block { BlockType RateTransition Integrity on Deterministic on X0 "0" OutPortSampleTimeOpt "Specify" OutPortSampleTimeMultiple "1" OutPortSampleTime "-1" } Block { BlockType S-Function FunctionName "system" SFunctionModules "''" PortCounts "[]" SFunctionDeploymentMode off EnableBusSupport off } Block { BlockType Saturate UpperLimitSource "Dialog" UpperLimit "0.5" LowerLimitSource "Dialog" LowerLimit "-0.5" LinearizeAsGain on ZeroCross on SampleTime "-1" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Same as input" LockScale off RndMeth "Floor" } Block { BlockType Scope ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" ShowLegends off TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" DataFormat "Array" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "-1" ScrollMode off } Block { BlockType Step Time "1" Before "0" After "1" SampleTime "-1" VectorParams1D on ZeroCross on } Block { BlockType SubSystem ShowPortLabels "FromPortIcon" Permissions "ReadWrite" PermitHierarchicalResolution "All" TreatAsAtomicUnit off MinAlgLoopOccurrences off PropExecContextOutsideSubsystem off CheckFcnCallInpInsideContextMsg off SystemSampleTime "-1" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" FunctionInterfaceSpec "void_void" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" SimViewingDevice off DataTypeOverride "UseLocalSettings" DataTypeOverrideAppliesTo "AllNumericTypes" MinMaxOverflowLogging "UseLocalSettings" Opaque off MaskHideContents off SFBlockType "NONE" Variant off GeneratePreprocessorConditionals off ContentPreviewEnabled off IsWebBlock off } Block { BlockType Sum IconShape "rectangular" Inputs "++" CollapseMode "All dimensions" CollapseDim "1" InputSameDT on AccumDataTypeStr "Inherit: Inherit via internal rule" OutMin "[]" OutMax "[]" OutDataTypeStr "Inherit: Same as first input" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Terminator } Block { BlockType ZeroOrderHold SampleTime "1" } } System { Name "test_model_R2015A" Location [69, 48, 1812, 988] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "125" ReportName "simulink-default.rpt" SIDHighWatermark "904" Block { BlockType SubSystem Name " Sensors " SID "650" Ports [6, 4] Position [1195, 272, 1415, 508] ZOrder 73 ForegroundColor "yellow" ShowName off RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 20 $ClassName "Simulink.Mask" Display "port_label('input', 1, '^{B}Omega', 'texmode', 'on');\nport_label('input', 2, '\\Theta', 'texmode', 'on');" "\nport_label('input', 3, '^{B}v_o', 'texmode', 'on');\nport_label('input', 4, '^{E}r_o', 'texmode', 'on');\nport_labe" "l('input', 5, '^{B}dv_o/dt', 'texmode', 'on');\nport_label('input', 6, '^{B}g', 'texmode', 'on');\nport_label('output" "', 1, '\\Theta_{filtered}', 'texmode', 'on');\nport_label('output', 2, 'd\\Theta_{gyro}/dt', 'texmode', 'on');\nport_" "label('output', 3, '^{E}r_o', 'texmode', 'on');\ndisp('Sensors', 'texmode', 'on'); " } System { Name " Sensors " Location [69, 48, 1812, 988] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "125" Block { BlockType Inport Name "B_Omega" SID "651" Position [1015, 678, 1045, 692] ZOrder 265 IconDisplay "Port number" } Block { BlockType Inport Name "euler_angles" SID "652" Position [1440, 1043, 1470, 1057] ZOrder 266 Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "B_vo" SID "653" Position [1015, 613, 1045, 627] ZOrder 267 Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "E_ro" SID "654" Position [1440, 963, 1470, 977] ZOrder 268 Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "B_vo_dot" SID "655" Position [1015, 548, 1045, 562] ZOrder 269 Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "B_g" SID "656" Position [1015, 743, 1045, 757] ZOrder 273 Port "6" IconDisplay "Port number" } Block { BlockType SubSystem Name "3D Graphical Simulation" SID "698" Ports [2] Position [1725, 1075, 1875, 1135] ZOrder 287 Commented "on" RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 21 $ClassName "Simulink.Mask" Display "port_label('input',1,'r_{o}','texmode','on')\nport_label('input',2,'\\Theta','texmode','on')" } System { Name "3D Graphical Simulation" Location [-8, -8, 1928, 1048] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Inport Name "Displacement" SID "699" Position [110, 218, 140, 232] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "Euler Angles" SID "700" Position [125, 108, 155, 122] ZOrder -2 Port "2" IconDisplay "Port number" } Block { BlockType BusCreator Name "Bus\nCreator" SID "701" Ports [3, 1] Position [600, 76, 610, 154] ZOrder -3 ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType BusCreator Name "Bus\nCreator1" SID "702" Ports [3, 1] Position [630, 191, 640, 269] ZOrder -4 ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType BusCreator Name "Bus\nCreator2" SID "703" Ports [3, 1] Position [385, 75, 390, 155] ZOrder -5 ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType BusSelector Name "Bus\nSelector" SID "704" Ports [1, 3] Position [500, 77, 505, 153] ZOrder -6 ShowName off OutputSignals "phi,theta,psi" Port { PortNumber 1 Name "<phi>" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "<theta>" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "<psi>" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux" SID "705" Ports [1, 3] Position [440, 183, 450, 267] ZOrder -7 BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" SID "706" Ports [1, 3] Position [290, 75, 295, 155] ZOrder -8 ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "phi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "theta" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "psi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Gain Name "Gain" SID "707" Position [550, 240, 580, 270] ZOrder -10 Gain "-1" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" SID "708" Position [670, 208, 710, 252] ZOrder -11 Gain "eye(3)*1" Multiplication "Matrix(K*u)" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" SID "709" Position [550, 190, 580, 220] ZOrder -12 Gain "-1" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "MATLAB Function" SID "710" Ports [1, 1] Position [655, 92, 725, 138] ZOrder 5 ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" System { Name "MATLAB Function" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "21" Block { BlockType Inport Name "u" SID "710::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "710::20" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 11 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "710::19" Tag "Stateflow S-Function test_model_R2015A 11" Ports [1, 2] Position [180, 100, 230, 160] ZOrder 10 FunctionName "sf_sfun" PortCounts "[1 2]" EnableBusSupport on Port { PortNumber 2 Name "y" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "710::21" Position [460, 241, 480, 259] ZOrder 12 } Block { BlockType Outport Name "y" SID "710::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "u" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { Name "y" ZOrder 2 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "y" DstPort 1 } Line { ZOrder 3 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 4 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType RateTransition Name "Rate Transition" SID "711" Position [755, 94, 795, 136] ZOrder -13 NamePlacement "alternate" OutPortSampleTime "0.06" } Block { BlockType RateTransition Name "Rate Transition1" SID "712" Position [735, 210, 770, 250] ZOrder -14 OutPortSampleTime "0.06" } Block { BlockType Reference Name "VR Sink" SID "713" Ports [2] Position [865, 76, 1055, 234] ZOrder -15 LibraryVersion "1.34" SourceBlock "vrlib/VR Sink" SourceType "Virtual Reality Sink" InstantiateOnLoad on SampleTime "-1" ViewEnable on RemoteChange off RemoteView off FieldsWritten "Helicopter.rotation.4.1.1.double#Helicopter.translation.3.1.1.double" WorldFileName "quadrotor_world_ucart.wrl" AutoView on VideoDimensions "[]" AllowVariableSize off } Line { ZOrder 1 SrcBlock "Displacement" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { ZOrder 2 SrcBlock "Bus\nCreator2" SrcPort 1 DstBlock "Bus\nSelector" DstPort 1 } Line { ZOrder 3 SrcBlock "Demux" SrcPort 1 Points [40, 0; 0, 40; 120, 0] DstBlock "Bus\nCreator1" DstPort 3 } Line { ZOrder 4 SrcBlock "Gain" SrcPort 1 Points [5, 0; 0, -25] DstBlock "Bus\nCreator1" DstPort 2 } Line { ZOrder 5 SrcBlock "Gain2" SrcPort 1 DstBlock "Bus\nCreator1" DstPort 1 } Line { ZOrder 6 SrcBlock "Rate Transition1" SrcPort 1 Points [35, 0; 0, -35] DstBlock "VR Sink" DstPort 2 } Line { ZOrder 7 SrcBlock "Rate Transition" SrcPort 1 DstBlock "VR Sink" DstPort 1 } Line { ZOrder 8 SrcBlock "Demux" SrcPort 3 DstBlock "Gain" DstPort 1 } Line { ZOrder 9 SrcBlock "Demux" SrcPort 2 Points [80, 0] DstBlock "Gain2" DstPort 1 } Line { ZOrder 10 SrcBlock "Bus\nCreator1" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { Name "<phi>" ZOrder 11 Labels [0, 0] SrcBlock "Bus\nSelector" SrcPort 1 Points [0, -10; 45, 0; 0, 60] DstBlock "Bus\nCreator" DstPort 3 } Line { Name "<psi>" ZOrder 12 Labels [0, 0] SrcBlock "Bus\nSelector" SrcPort 3 Points [0, -10; 75, 0] DstBlock "Bus\nCreator" DstPort 2 } Line { Name "<theta>" ZOrder 13 Labels [0, 0] SrcBlock "Bus\nSelector" SrcPort 2 Points [30, 0; 0, -25] DstBlock "Bus\nCreator" DstPort 1 } Line { ZOrder 14 SrcBlock "Gain1" SrcPort 1 DstBlock "Rate Transition1" DstPort 1 } Line { Name "psi" ZOrder 15 Labels [0, 0] SrcBlock "Demux1" SrcPort 3 DstBlock "Bus\nCreator2" DstPort 3 } Line { Name "theta" ZOrder 16 Labels [0, 0] SrcBlock "Demux1" SrcPort 2 DstBlock "Bus\nCreator2" DstPort 2 } Line { Name "phi" ZOrder 17 Labels [0, 0] SrcBlock "Demux1" SrcPort 1 DstBlock "Bus\nCreator2" DstPort 1 } Line { ZOrder 18 SrcBlock "Euler Angles" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { ZOrder 19 SrcBlock "Bus\nCreator" SrcPort 1 DstBlock "MATLAB Function" DstPort 1 } Line { ZOrder 20 SrcBlock "MATLAB Function" SrcPort 1 DstBlock "Rate Transition" DstPort 1 } } } Block { BlockType SubSystem Name "3D Graphical Simulation1" SID "714" Ports [2] Position [2635, 815, 2785, 875] ZOrder 290 Commented "on" RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 22 $ClassName "Simulink.Mask" Display "port_label('input',1, '\\Theta','texmode','on')\nport_label('input',2,'r_{o}','texmode','on')" } System { Name "3D Graphical Simulation1" Location [108, 36, 1850, 976] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Inport Name "Euler Angles\n" SID "715" Position [180, 108, 210, 122] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "Displacement" SID "716" Position [180, 218, 210, 232] ZOrder -2 Port "2" IconDisplay "Port number" } Block { BlockType BusCreator Name "Bus\nCreator" SID "717" Ports [3, 1] Position [600, 76, 610, 154] ZOrder -3 ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType BusCreator Name "Bus\nCreator1" SID "718" Ports [3, 1] Position [630, 191, 640, 269] ZOrder -4 ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType BusCreator Name "Bus\nCreator2" SID "719" Ports [3, 1] Position [385, 75, 390, 155] ZOrder -5 ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType BusSelector Name "Bus\nSelector" SID "720" Ports [1, 3] Position [500, 77, 505, 153] ZOrder -6 ShowName off OutputSignals "phi,theta,psi" Port { PortNumber 1 Name "<phi>" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "<theta>" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "<psi>" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux" SID "721" Ports [1, 3] Position [440, 183, 450, 267] ZOrder -7 BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" SID "722" Ports [1, 3] Position [290, 75, 295, 155] ZOrder -8 ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "phi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "theta" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "psi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Gain Name "Gain" SID "723" Position [550, 240, 580, 270] ZOrder -10 Gain "-1" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" SID "724" Position [670, 208, 710, 252] ZOrder -11 Gain "eye(3)*1" Multiplication "Matrix(K*u)" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" SID "725" Position [550, 190, 580, 220] ZOrder -12 Gain "-1" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "MATLAB Function" SID "726" Ports [1, 1] Position [655, 92, 725, 138] ZOrder 5 ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" System { Name "MATLAB Function" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "21" Block { BlockType Inport Name "u" SID "726::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "726::20" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 11 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "726::19" Tag "Stateflow S-Function test_model_R2015A 3" Ports [1, 2] Position [180, 100, 230, 160] ZOrder 10 FunctionName "sf_sfun" PortCounts "[1 2]" EnableBusSupport on Port { PortNumber 2 Name "y" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "726::21" Position [460, 241, 480, 259] ZOrder 12 } Block { BlockType Outport Name "y" SID "726::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "u" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { Name "y" ZOrder 2 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "y" DstPort 1 } Line { ZOrder 3 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 4 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType RateTransition Name "Rate Transition" SID "727" Position [755, 94, 795, 136] ZOrder -13 NamePlacement "alternate" OutPortSampleTime "0.06" } Block { BlockType RateTransition Name "Rate Transition1" SID "728" Position [735, 210, 770, 250] ZOrder -14 OutPortSampleTime "0.06" } Block { BlockType Reference Name "VR Sink" SID "729" Ports [2] Position [865, 76, 1055, 234] ZOrder -15 LibraryVersion "1.34" SourceBlock "vrlib/VR Sink" SourceType "Virtual Reality Sink" InstantiateOnLoad on SampleTime "-1" ViewEnable on RemoteChange off RemoteView off FieldsWritten "Helicopter.rotation.4.1.1.double#Helicopter.translation.3.1.1.double" WorldFileName "quadrotor_world_ucart.wrl" AutoView on VideoDimensions "[]" AllowVariableSize off } Line { ZOrder 1 SrcBlock "Bus\nCreator2" SrcPort 1 DstBlock "Bus\nSelector" DstPort 1 } Line { ZOrder 2 SrcBlock "Demux" SrcPort 1 Points [40, 0; 0, 40; 120, 0] DstBlock "Bus\nCreator1" DstPort 3 } Line { ZOrder 3 SrcBlock "Gain" SrcPort 1 Points [5, 0; 0, -25] DstBlock "Bus\nCreator1" DstPort 2 } Line { ZOrder 4 SrcBlock "Gain2" SrcPort 1 DstBlock "Bus\nCreator1" DstPort 1 } Line { ZOrder 5 SrcBlock "Rate Transition1" SrcPort 1 Points [35, 0; 0, -35] DstBlock "VR Sink" DstPort 2 } Line { ZOrder 6 SrcBlock "Rate Transition" SrcPort 1 DstBlock "VR Sink" DstPort 1 } Line { ZOrder 7 SrcBlock "Demux" SrcPort 3 DstBlock "Gain" DstPort 1 } Line { ZOrder 8 SrcBlock "Demux" SrcPort 2 Points [80, 0] DstBlock "Gain2" DstPort 1 } Line { ZOrder 9 SrcBlock "Bus\nCreator1" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { Name "<phi>" ZOrder 10 Labels [0, 0] SrcBlock "Bus\nSelector" SrcPort 1 Points [0, -10; 45, 0; 0, 60] DstBlock "Bus\nCreator" DstPort 3 } Line { Name "<psi>" ZOrder 11 Labels [0, 0] SrcBlock "Bus\nSelector" SrcPort 3 Points [0, -10; 75, 0] DstBlock "Bus\nCreator" DstPort 2 } Line { Name "<theta>" ZOrder 12 Labels [0, 0] SrcBlock "Bus\nSelector" SrcPort 2 Points [30, 0; 0, -25] DstBlock "Bus\nCreator" DstPort 1 } Line { ZOrder 13 SrcBlock "Gain1" SrcPort 1 DstBlock "Rate Transition1" DstPort 1 } Line { Name "psi" ZOrder 14 Labels [0, 0] SrcBlock "Demux1" SrcPort 3 DstBlock "Bus\nCreator2" DstPort 3 } Line { Name "theta" ZOrder 15 Labels [0, 0] SrcBlock "Demux1" SrcPort 2 DstBlock "Bus\nCreator2" DstPort 2 } Line { Name "phi" ZOrder 16 Labels [0, 0] SrcBlock "Demux1" SrcPort 1 DstBlock "Bus\nCreator2" DstPort 1 } Line { ZOrder 17 SrcBlock "Bus\nCreator" SrcPort 1 DstBlock "MATLAB Function" DstPort 1 } Line { ZOrder 18 SrcBlock "MATLAB Function" SrcPort 1 DstBlock "Rate Transition" DstPort 1 } Line { ZOrder 19 SrcBlock "Displacement" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { ZOrder 20 SrcBlock "Euler Angles\n" SrcPort 1 DstBlock "Demux1" DstPort 1 } } } Block { BlockType SubSystem Name "Aeb\n\n\n\n\n\n\n\n\n\n" SID "679" Ports [2, 1] Position [1470, 689, 1885, 811] ZOrder 275 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 23 $ClassName "Simulink.Mask" Display "port_label('input', 1, 'Gyroscope Reading', 'texmode', 'on');\nport_label('input', 2, '\\Theta_{IMU" "}', 'texmode', 'on');\nport_label('output', 1, 'd\\Theta_{Gyro}/dt', 'texmode', 'on');\ndisp('A_{EB}', 'texmode'," " 'on');" } System { Name "Aeb\n\n\n\n\n\n\n\n\n\n" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "25" Block { BlockType Inport Name "gyro_reading" SID "679::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "euler_angles_IMU" SID "679::22" Position [20, 136, 40, 154] ZOrder 13 Port "2" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "679::24" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 15 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "679::23" Tag "Stateflow S-Function test_model_R2015A 12" Ports [2, 2] Position [180, 100, 230, 160] ZOrder 14 FunctionName "sf_sfun" PortCounts "[2 2]" EnableBusSupport on Port { PortNumber 2 Name "euler_rates_IMU" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "679::25" Position [460, 241, 480, 259] ZOrder 16 } Block { BlockType Outport Name "euler_rates_IMU" SID "679::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "gyro_reading" SrcPort 1 Points [120, 0] DstBlock " SFunction " DstPort 1 } Line { ZOrder 2 SrcBlock "euler_angles_IMU" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "euler_rates_IMU" ZOrder 3 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "euler_rates_IMU" DstPort 1 } Line { ZOrder 4 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 5 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType SubSystem Name "Calculate Pitch and Roll\n\n\n\n\n\n\n\n\n\n\n\n1" SID "680" Ports [2, 2] Position [1480, 484, 1875, 631] ZOrder 284 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 24 $ClassName "Simulink.Mask" Display "port_label('input', 1, 'Accelerometer Reading', 'texmode', 'on');\nport_label('output', 1, '\\theta" "_{accel}', 'texmode', 'on');\nport_label('output', 2, '\\phi_{accel}', 'texmode', 'on');\ndisp('Calculate Pitch a" "nd Roll', 'texmode', 'on');" } System { Name "Calculate Pitch and Roll\n\n\n\n\n\n\n\n\n\n\n\n1" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "26" Block { BlockType Inport Name "accel_reading" SID "680::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "accel_roll_prev" SID "680::23" Position [20, 136, 40, 154] ZOrder 14 Port "2" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "680::20" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 11 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "680::19" Tag "Stateflow S-Function test_model_R2015A 13" Ports [2, 3] Position [180, 105, 230, 185] ZOrder 10 FunctionName "sf_sfun" PortCounts "[2 3]" EnableBusSupport on Port { PortNumber 2 Name "accel_pitch" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "accel_roll" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "680::21" Position [460, 241, 480, 259] ZOrder 12 } Block { BlockType Outport Name "accel_pitch" SID "680::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Block { BlockType Outport Name "accel_roll" SID "680::22" Position [460, 136, 480, 154] ZOrder 13 Port "2" IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "accel_reading" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { ZOrder 2 SrcBlock "accel_roll_prev" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "accel_pitch" ZOrder 3 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "accel_pitch" DstPort 1 } Line { Name "accel_roll" ZOrder 4 Labels [0, 0] SrcBlock " SFunction " SrcPort 3 DstBlock "accel_roll" DstPort 1 } Line { ZOrder 5 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 6 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType SubSystem Name "Complimentary Filter\n\n\n\n\n\n\n\n" SID "657" Ports [3, 1] Position [2025, 483, 2210, 787] ZOrder 274 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 25 $ClassName "Simulink.Mask" Display "port_label('input', 1, '\\theta_{accel}', 'texmode', 'on');\nport_label('input', 2, '\\phi_{accel}'" ", 'texmode', 'on');\nport_label('input', 3, '\\Theta_{Gyro}', 'texmode', 'on');\n%port_label('input', 4, '\\Theta" "_{IMU}', 'texmode', 'on');\nport_label('output', 1, '\\Theta_{IMU}', 'texmode', 'on');\ndisp('Complimentary Filte" "r', 'texmode', 'on');" } System { Name "Complimentary Filter\n\n\n\n\n\n\n\n" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "34" Block { BlockType Inport Name "accel_pitch" SID "657::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "accel_roll" SID "657::29" Position [20, 136, 40, 154] ZOrder 20 Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "euler_angles_gyro" SID "657::22" Position [20, 171, 40, 189] ZOrder 13 Port "3" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "657::20" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 11 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "657::19" Tag "Stateflow S-Function test_model_R2015A 9" Ports [3, 2] Position [180, 145, 230, 225] ZOrder 10 FunctionName "sf_sfun" PortCounts "[3 2]" EnableBusSupport on Port { PortNumber 2 Name "euler_angles_IMU" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "657::21" Position [460, 241, 480, 259] ZOrder 12 } Block { BlockType Outport Name "euler_angles_IMU" SID "657::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Line { ZOrder 58 SrcBlock "accel_pitch" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { ZOrder 59 SrcBlock "accel_roll" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { ZOrder 60 SrcBlock "euler_angles_gyro" SrcPort 1 DstBlock " SFunction " DstPort 3 } Line { Name "euler_angles_IMU" ZOrder 61 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "euler_angles_IMU" DstPort 1 } Line { ZOrder 62 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 63 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType Delay Name "Delay1" SID "731" Ports [1, 1] Position [1660, 638, 1695, 672] ZOrder 285 BlockMirror on ForegroundColor "red" InputPortMap "u0" DelayLength "1" InitialCondition "0" SampleTime "5e-3" } Block { BlockType Delay Name "Delay2" SID "772" Ports [1, 1] Position [1075, 538, 1110, 572] ZOrder 304 InputPortMap "u0" DelayLength "1" InitialCondition "0" SampleTime "5e-3" } Block { BlockType Delay Name "Delay3" SID "881" Ports [1, 1] Position [2055, 953, 2090, 987] ZOrder 313 InputPortMap "u0" DelayLength "6" SampleTime "0.01" } Block { BlockType Delay Name "Delay4" SID "882" Ports [1, 1] Position [2100, 998, 2135, 1032] ZOrder 314 InputPortMap "u0" DelayLength "6" SampleTime "0.01" } Block { BlockType Demux Name "Demux" SID "732" Ports [1, 3] Position [1530, 1023, 1535, 1077] ZOrder 294 ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" SID "733" Ports [1, 2] Position [2280, 605, 2285, 660] ZOrder 300 ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Demux Name "Demux2" SID "903" Ports [1, 3] Position [2275, 1038, 2280, 1092] ZOrder 316 ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType DiscreteIntegrator Name "Discrete-Time\nIntegrator" SID "877" Ports [1, 1] Position [1935, 732, 1970, 768] ZOrder 309 InitialConditionSetting "State (most efficient)" SampleTime "5e-3" } Block { BlockType Reference Name "First-Order\nHold" SID "734" Ports [1, 1] Position [2530, 780, 2565, 810] ZOrder 292 Commented "on" LibraryVersion "1.356" DisableCoverage on SourceBlock "simulink/Discrete/First-Order\nHold" SourceType "First-Order Hold" ContentPreviewEnabled off Ts "5e-3" } Block { BlockType Reference Name "First-Order\nHold1" SID "735" Ports [1, 1] Position [2530, 875, 2565, 905] ZOrder 296 Commented "on" LibraryVersion "1.356" DisableCoverage on SourceBlock "simulink/Discrete/First-Order\nHold" SourceType "First-Order Hold" ContentPreviewEnabled off Ts "5e-3" } Block { BlockType SubSystem Name "IMU\n\n\n\n\n\n" SID "658" Ports [4, 2] Position [1145, 520, 1340, 785] ZOrder 272 ShowName off RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 26 $ClassName "Simulink.Mask" Display "port_label('input', 1, '^{B}dv_o/dt', 'texmode', 'on')\nport_label('input', 2, '^{B}v_o', 'texmode'" ", 'on')\nport_label('input', 3, '^{B}\\Omega', 'texmode', 'on')\nport_label('input', 4, '^{B}g', 'texmode', 'on')" "\nport_label('output', 1, 'Accelerometer Reading', 'texmode', 'on')\nport_label('output', 2, 'Gyroscope Reading'," " 'texmode', 'on')\ndisp('IMU', 'texmode', 'on');" } System { Name "IMU\n\n\n\n\n\n" Location [239, 71, 1982, 1011] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Inport Name "B_vo_dot" SID "659" Position [110, 173, 140, 187] ZOrder 17 IconDisplay "Port number" } Block { BlockType Inport Name "B_vo" SID "660" Position [110, 208, 140, 222] ZOrder 25 Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "B_Omega" SID "661" Position [110, 243, 140, 257] ZOrder 26 Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "B_g" SID "662" Position [110, 278, 140, 292] ZOrder 27 Port "4" IconDisplay "Port number" } Block { BlockType SubSystem Name "\n\n\n\n\n\n\n" SID "663" Ports [5, 2] Position [250, 165, 445, 335] ZOrder 1 LibraryVersion "1.32" ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 27 $ClassName "Simulink.Mask" Display "port_label('input', 1, '^{B}dv_o/dt', 'texmode', 'on')\nport_label('input', 2, '^{B}v_o', 'texmode', 'on'" ")\nport_label('input', 3, '^{B}\\Omega', 'texmode', 'on')\nport_label('input', 4, '^{B}g', 'texmode', 'on')\nport_la" "bel('input', 5, 'r_{oc}', 'texmode', 'on')\nport_label('output', 1, 'Accelerometer Reading', 'texmode', 'on')\nport_" "label('output', 2, 'Gyroscope Reading', 'texmode', 'on')\ndisp('Ideal IMU', 'texmode', 'on');" } System { Name "\n\n\n\n\n\n\n" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "31" Block { BlockType Inport Name "B_vo_dot" SID "663::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "B_vo" SID "663::22" Position [20, 136, 40, 154] ZOrder 13 Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "B_Omega" SID "663::19" Position [20, 171, 40, 189] ZOrder 10 Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "B_g" SID "663::20" Position [20, 206, 40, 224] ZOrder 11 Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "r_oc" SID "663::23" Position [20, 246, 40, 264] ZOrder 14 Port "5" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "663::25" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 16 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "663::24" Tag "Stateflow S-Function test_model_R2015A 10" Ports [5, 3] Position [180, 110, 230, 230] ZOrder 15 FunctionName "sf_sfun" Parameters "g" PortCounts "[5 3]" EnableBusSupport on Port { PortNumber 2 Name "accelReading" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "gyroReading" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "663::26" Position [460, 241, 480, 259] ZOrder 17 } Block { BlockType Outport Name "accelReading" SID "663::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Block { BlockType Outport Name "gyroReading" SID "663::21" Position [460, 136, 480, 154] ZOrder 12 Port "2" IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "B_vo_dot" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { ZOrder 2 SrcBlock "B_vo" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { ZOrder 3 SrcBlock "B_Omega" SrcPort 1 DstBlock " SFunction " DstPort 3 } Line { ZOrder 4 SrcBlock "B_g" SrcPort 1 DstBlock " SFunction " DstPort 4 } Line { ZOrder 5 SrcBlock "r_oc" SrcPort 1 DstBlock " SFunction " DstPort 5 } Line { Name "accelReading" ZOrder 6 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "accelReading" DstPort 1 } Line { Name "gyroReading" ZOrder 7 Labels [0, 0] SrcBlock " SFunction " SrcPort 3 DstBlock "gyroReading" DstPort 1 } Line { ZOrder 8 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 9 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType Delay Name "Delay" SID "899" Ports [1, 1] Position [605, 193, 640, 227] ZOrder 45 InputPortMap "u0" DelayLength "4" } Block { BlockType Delay Name "Delay1" SID "900" Ports [1, 1] Position [605, 278, 640, 312] ZOrder 46 InputPortMap "u0" DelayLength "4" } Block { BlockType DiscreteTransferFcn Name "Discrete\nTransfer Fcn" SID "897" Ports [1, 1] Position [490, 187, 570, 233] ZOrder 43 InputPortMap "u0" Numerator "[0.02469]" Denominator "[1 -0.9752]" SampleTime "5e-3" } Block { BlockType DiscreteTransferFcn Name "Discrete\nTransfer Fcn1" SID "898" Ports [1, 1] Position [490, 272, 570, 318] ZOrder 44 InputPortMap "u0" Numerator "[0.02469]" Denominator "[1 -0.9752]" SampleTime "5e-3" } Block { BlockType DiscreteIntegrator Name "Discrete-Time\nIntegrator" SID "835" Ports [1, 1] Position [985, 372, 1020, 408] ZOrder 30 InitialConditionSetting "State (most efficient)" SampleTime "-1" } Block { BlockType DiscreteIntegrator Name "Discrete-Time\nIntegrator1" SID "837" Ports [1, 1] Position [1170, 342, 1205, 378] ZOrder 32 InitialConditionSetting "State (most efficient)" SampleTime "-1" } Block { BlockType DiscreteIntegrator Name "Discrete-Time\nIntegrator2" SID "839" Ports [1, 1] Position [1210, 247, 1245, 283] ZOrder 34 InitialConditionSetting "State (most efficient)" SampleTime "-1" } Block { BlockType DiscreteIntegrator Name "Discrete-Time\nIntegrator3" SID "841" Ports [1, 1] Position [835, 437, 870, 473] ZOrder 36 InitialConditionSetting "State (most efficient)" SampleTime "-1" } Block { BlockType Ground Name "Ground" SID "664" Position [810, 340, 830, 360] ZOrder 23 } Block { BlockType Ground Name "Ground1" SID "665" Position [810, 145, 830, 165] ZOrder 24 } Block { BlockType Integrator Name "Integrator" SID "844" Ports [1, 1] Position [240, 360, 270, 390] ZOrder 39 } Block { BlockType Scope Name "Scope" SID "836" Ports [1] Position [1065, 374, 1095, 406] ZOrder 31 Floating off Location [680, 330, 1240, 750] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.0001" YMax "0.00021" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope1" SID "838" Ports [1] Position [1250, 344, 1280, 376] ZOrder 33 Floating off Location [306, 114, 866, 534] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.0001" YMax "0.00021" SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope2" SID "840" Ports [1] Position [1290, 249, 1320, 281] ZOrder 35 Floating off Location [680, 330, 1240, 750] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-1.00000" YMax "1.00000" SaveName "ScopeData3" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope3" SID "842" Ports [1] Position [915, 439, 945, 471] ZOrder 37 Floating off Location [306, 114, 866, 534] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-1.00000" YMax "1.00000" SaveName "ScopeData4" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope4" SID "843" Ports [1] Position [840, 389, 870, 421] ZOrder 38 Floating off Location [306, 114, 866, 534] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.00912" YMax "0.01325" SaveName "ScopeData5" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope5" SID "845" Ports [1] Position [295, 359, 325, 391] ZOrder 40 Floating off Location [306, 114, 866, 534] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-1.00000" YMax "1.00000" SaveName "ScopeData6" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Sum Name "Sum" SID "666" Ports [2, 1] Position [950, 285, 970, 305] ZOrder 7 ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" SID "667" Ports [2, 1] Position [950, 200, 970, 220] ZOrder 8 ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" SID "668" Ports [2, 1] Position [830, 285, 850, 305] ZOrder 11 ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" SID "669" Ports [2, 1] Position [830, 200, 850, 220] ZOrder 12 ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType RandomNumber Name "accelerometer_noise" SID "670" Position [890, 140, 920, 170] ZOrder 2 Mean "zeros(3,1)" Variance "[ 3e-7 ; 3.3e-7 ; 7.2e-7 ] " Seed "[0,1,2]" SampleTime "5e-3" } Block { BlockType Quantizer Name "accelerometer_quantizer" SID "671" Position [1030, 195, 1060, 225] ZOrder 9 QuantizationInterval "2.4400e-04" } Block { BlockType ZeroOrderHold Name "accelerometer_sampling" SID "672" Position [755, 195, 790, 225] ZOrder 15 SampleTime "5e-3" } Block { BlockType RandomNumber Name "gyroscope_noise" SID "673" Position [890, 315, 920, 345] ZOrder 6 Mean "zeros(3,1)" Variance "[ 2.2e-8 ; 1.1e-7 ; 2.4e-8 ]" Seed "[0,1,2]" SampleTime "5e-3" } Block { BlockType Quantizer Name "gyroscope_qunatizer" SID "674" Position [1030, 280, 1060, 310] ZOrder 10 QuantizationInterval "1.1e-3" } Block { BlockType ZeroOrderHold Name "gyroscope_sampling" SID "675" Position [755, 280, 790, 310] ZOrder 16 SampleTime "5e-3" } Block { BlockType Constant Name "r_oc" SID "676" Position [30, 307, 95, 333] ZOrder 28 Value "zeros(3,1)" } Block { BlockType Outport Name "accelerometer" SID "677" Position [1100, 203, 1130, 217] ZOrder 29 IconDisplay "Port number" } Block { BlockType Outport Name "gyroscope" SID "678" Position [1100, 288, 1130, 302] ZOrder 21 Port "2" IconDisplay "Port number" } Line { ZOrder 3 SrcBlock "accelerometer_noise" SrcPort 1 Points [35, 0] DstBlock "Sum1" DstPort 1 } Line { ZOrder 4 SrcBlock "Sum" SrcPort 1 Points [22, 0] Branch { ZOrder 39 Points [0, 65] DstBlock "Discrete-Time\nIntegrator1" DstPort 1 } Branch { ZOrder 38 DstBlock "gyroscope_qunatizer" DstPort 1 } } Line { ZOrder 5 SrcBlock "Sum2" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { ZOrder 6 SrcBlock "Sum3" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { ZOrder 8 SrcBlock "gyroscope_noise" SrcPort 1 Points [28, 0] Branch { ZOrder 35 Points [0, 60] DstBlock "Discrete-Time\nIntegrator" DstPort 1 } Branch { ZOrder 34 Points [7, 0] DstBlock "Sum" DstPort 2 } } Line { ZOrder 10 SrcBlock "Sum1" SrcPort 1 DstBlock "accelerometer_quantizer" DstPort 1 } Line { ZOrder 11 SrcBlock "gyroscope_sampling" SrcPort 1 Points [8, 0] Branch { ZOrder 45 Points [0, -29; -1, 0] Branch { ZOrder 52 Points [0, -1] DstBlock "Discrete-Time\nIntegrator2" DstPort 1 } Branch { ZOrder 51 Points [-81, 0; 0, 189; 72, 0] Branch { ZOrder 47 Points [0, -50] DstBlock "Scope4" DstPort 1 } Branch { ZOrder 46 DstBlock "Discrete-Time\nIntegrator3" DstPort 1 } } } Branch { ZOrder 44 DstBlock "Sum2" DstPort 1 } } Line { ZOrder 12 SrcBlock "accelerometer_sampling" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { ZOrder 13 SrcBlock "Ground" SrcPort 1 Points [5, 0] DstBlock "Sum2" DstPort 2 } Line { ZOrder 14 SrcBlock "Ground1" SrcPort 1 Points [5, 0] DstBlock "Sum3" DstPort 1 } Line { ZOrder 15 SrcBlock "B_vo_dot" SrcPort 1 DstBlock "\n\n\n\n\n\n\n" DstPort 1 } Line { ZOrder 16 SrcBlock "B_vo" SrcPort 1 DstBlock "\n\n\n\n\n\n\n" DstPort 2 } Line { ZOrder 17 SrcBlock "B_Omega" SrcPort 1 Points [48, 0] Branch { ZOrder 50 Points [0, 125] DstBlock "Integrator" DstPort 1 } Branch { ZOrder 49 DstBlock "\n\n\n\n\n\n\n" DstPort 3 } } Line { ZOrder 18 SrcBlock "B_g" SrcPort 1 DstBlock "\n\n\n\n\n\n\n" DstPort 4 } Line { ZOrder 19 SrcBlock "r_oc" SrcPort 1 DstBlock "\n\n\n\n\n\n\n" DstPort 5 } Line { ZOrder 36 SrcBlock "Discrete-Time\nIntegrator" SrcPort 1 DstBlock "Scope" DstPort 1 } Line { ZOrder 37 SrcBlock "Discrete-Time\nIntegrator1" SrcPort 1 DstBlock "Scope1" DstPort 1 } Line { ZOrder 40 SrcBlock "Discrete-Time\nIntegrator2" SrcPort 1 DstBlock "Scope2" DstPort 1 } Line { ZOrder 43 SrcBlock "Discrete-Time\nIntegrator3" SrcPort 1 DstBlock "Scope3" DstPort 1 } Line { ZOrder 48 SrcBlock "Integrator" SrcPort 1 DstBlock "Scope5" DstPort 1 } Line { ZOrder 64 SrcBlock "gyroscope_qunatizer" SrcPort 1 DstBlock "gyroscope" DstPort 1 } Line { ZOrder 65 SrcBlock "accelerometer_quantizer" SrcPort 1 DstBlock "accelerometer" DstPort 1 } Line { ZOrder 79 SrcBlock "\n\n\n\n\n\n\n" SrcPort 1 DstBlock "Discrete\nTransfer Fcn" DstPort 1 } Line { ZOrder 80 SrcBlock "\n\n\n\n\n\n\n" SrcPort 2 DstBlock "Discrete\nTransfer Fcn1" DstPort 1 } Line { ZOrder 81 SrcBlock "Discrete\nTransfer Fcn" SrcPort 1 DstBlock "Delay" DstPort 1 } Line { ZOrder 82 SrcBlock "Discrete\nTransfer Fcn1" SrcPort 1 DstBlock "Delay1" DstPort 1 } Line { ZOrder 83 SrcBlock "Delay" SrcPort 1 DstBlock "accelerometer_sampling" DstPort 1 } Line { ZOrder 84 SrcBlock "Delay1" SrcPort 1 DstBlock "gyroscope_sampling" DstPort 1 } } } Block { BlockType Mux Name "Mux" SID "736" Ports [3, 1] Position [2455, 608, 2460, 682] ZOrder 301 ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "OptiTrack Camera System\n\n " SID "681" Ports [2, 2] Position [1720, 906, 1950, 1039] ZOrder 299 ShowName off RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 28 $ClassName "Simulink.Mask" Display "port_label('input', 1, '^{E}r_o', 'texmode', 'on');\nport_label('input', 2, '\\psi', 'texmode', 'on" "');\nport_label('output', 1, '^{E}r_o camera', 'texmode', 'on');\nport_label('output', 2, '\\psi camera', 'texmod" "e', 'on');\ndisp('OptiTrack Camera System', 'texmode', 'on');" } System { Name "OptiTrack Camera System\n\n " Location [69, 48, 1812, 988] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "150" Block { BlockType Inport Name "E_ro" SID "682" Position [295, 238, 325, 252] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "yaw" SID "683" Position [295, 338, 325, 352] ZOrder 4 Port "2" IconDisplay "Port number" } Block { BlockType RandomNumber Name "E_ro_noise" SID "684" Position [545, 175, 575, 205] ZOrder 30 Mean "zeros(3,1)" Variance "[ 7.9664e-10 ; 1.1928e-10 ; 5.0636e-10 ] " Seed "[0,1,2]" SampleTime "0.01" } Block { BlockType Quantizer Name "E_ro_quantizer" SID "685" Position [685, 230, 715, 260] ZOrder 34 QuantizationInterval "2.4400e-04" } Block { BlockType ZeroOrderHold Name "E_ro_sampling" SID "686" Position [410, 230, 445, 260] ZOrder 38 SampleTime "0.01" } Block { BlockType Ground Name "Ground1" SID "687" Position [465, 180, 485, 200] ZOrder 42 } Block { BlockType Ground Name "Ground2" SID "688" Position [465, 390, 485, 410] ZOrder 56 } Block { BlockType Sum Name "Sum1" SID "689" Ports [2, 1] Position [605, 235, 625, 255] ZOrder 33 ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" SID "690" Ports [2, 1] Position [485, 235, 505, 255] ZOrder 37 ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" SID "691" Ports [2, 1] Position [605, 335, 625, 355] ZOrder 47 ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum6" SID "692" Ports [2, 1] Position [485, 335, 505, 355] ZOrder 51 ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType RandomNumber Name "yaw_noise" SID "693" Position [545, 365, 575, 395] ZOrder 46 Mean "zeros(3,1)" Variance "1.0783e-9*ones(3,1)" SampleTime "0.01" } Block { BlockType Quantizer Name "yaw_quantizer" SID "694" Position [685, 330, 715, 360] ZOrder 50 QuantizationInterval "1.1e-3" } Block { BlockType ZeroOrderHold Name "yaw_sampling" SID "695" Position [410, 330, 445, 360] ZOrder 54 SampleTime "0.01" } Block { BlockType Outport Name "E_ro_camera" SID "696" Position [800, 238, 830, 252] ZOrder 43 IconDisplay "Port number" } Block { BlockType Outport Name "yaw_camera" SID "697" Position [800, 338, 830, 352] ZOrder 55 Port "2" IconDisplay "Port number" } Line { ZOrder 2 SrcBlock "E_ro_noise" SrcPort 1 Points [35, 0] DstBlock "Sum1" DstPort 1 } Line { ZOrder 3 SrcBlock "Sum3" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { ZOrder 4 SrcBlock "Sum1" SrcPort 1 DstBlock "E_ro_quantizer" DstPort 1 } Line { ZOrder 5 SrcBlock "E_ro_sampling" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { ZOrder 6 SrcBlock "Ground1" SrcPort 1 Points [5, 0] DstBlock "Sum3" DstPort 1 } Line { ZOrder 8 SrcBlock "Sum4" SrcPort 1 DstBlock "yaw_quantizer" DstPort 1 } Line { ZOrder 9 SrcBlock "Sum6" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { ZOrder 10 SrcBlock "yaw_noise" SrcPort 1 Points [35, 0] DstBlock "Sum4" DstPort 2 } Line { ZOrder 11 SrcBlock "yaw_sampling" SrcPort 1 DstBlock "Sum6" DstPort 1 } Line { ZOrder 12 SrcBlock "Ground2" SrcPort 1 Points [5, 0] DstBlock "Sum6" DstPort 2 } Line { ZOrder 17 SrcBlock "yaw" SrcPort 1 DstBlock "yaw_sampling" DstPort 1 } Line { ZOrder 18 SrcBlock "E_ro" SrcPort 1 DstBlock "E_ro_sampling" DstPort 1 } Line { ZOrder 19 SrcBlock "E_ro_quantizer" SrcPort 1 DstBlock "E_ro_camera" DstPort 1 } Line { ZOrder 20 SrcBlock "yaw_quantizer" SrcPort 1 DstBlock "yaw_camera" DstPort 1 } } } Block { BlockType Scope Name "Scope" SID "737" Ports [1] Position [1385, 669, 1415, 701] ZOrder 270 Floating off Location [680, 330, 1240, 750] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.00277" YMax "0.00209" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope1" SID "738" Ports [1] Position [1385, 599, 1415, 631] ZOrder 271 Floating off Location [10, 76, 1918, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-2.04337" YMax "0.22704" SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope2" SID "849" Ports [1] Position [2550, 534, 2580, 566] ZOrder 308 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-182.40701" YMax "117.99145" SaveName "ScopeData7" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope3" SID "739" Ports [1] Position [2255, 534, 2285, 566] ZOrder 278 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.05134" YMax "0.44242" SaveName "ScopeData4" LimitDataPoints off } Block { BlockType Scope Name "Scope6" SID "740" Ports [1] Position [1955, 469, 1985, 501] ZOrder 280 Floating off Location [1, 76, 1909, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-1.00000" YMax "1.00000" SaveName "ScopeData5" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope7" SID "741" Ports [1] Position [1955, 544, 1985, 576] ZOrder 281 Floating off Location [1, 76, 1909, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-1.00000" YMax "1.00000" SaveName "ScopeData6" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType S-Function Name "Soft Real Time" SID "742" Ports [] Position [2618, 735, 2705, 766] ZOrder 288 ShowName off Commented "on" FunctionName "sfun_time" Parameters "x" Object { $PropName "MaskObject" $ObjectID 29 $ClassName "Simulink.Mask" Display "color('red')\ndisp('Soft Real Time')\n" Object { $PropName "Parameters" $ObjectID 30 $ClassName "Simulink.MaskParameter" Type "edit" Name "x" Prompt "Time Scaling Factor" Value "1" } } } Block { BlockType Outport Name "euler_angles_filtered" SID "743" Position [2535, 638, 2565, 652] ZOrder 262 IconDisplay "Port number" } Block { BlockType Outport Name "euler_rates" SID "744" Position [1395, 798, 1430, 812] ZOrder 259 ForegroundColor "red" Port "2" IconDisplay "Port number" } Block { BlockType Outport Name "current_position" SID "745" Position [2335, 963, 2365, 977] ZOrder 289 Port "3" IconDisplay "Port number" } Block { BlockType Outport Name "camera_euler" SID "904" Position [2430, 1038, 2460, 1052] ZOrder 317 Port "4" IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "IMU\n\n\n\n\n\n" SrcPort 1 Points [23, 0] Branch { ZOrder 2 Points [0, -70] DstBlock "Calculate Pitch and Roll\n\n\n\n\n\n\n\n\n\n\n\n1" DstPort 1 } Branch { ZOrder 3 Points [0, 25] DstBlock "Scope1" DstPort 1 } } Line { ZOrder 4 SrcBlock "IMU\n\n\n\n\n\n" SrcPort 2 Points [15, 0] Branch { ZOrder 5 Points [0, -35] DstBlock "Scope" DstPort 1 } Branch { ZOrder 6 Points [19, 0] Branch { ZOrder 160 Points [0, 85] DstBlock "euler_rates" DstPort 1 } Branch { ZOrder 159 DstBlock "Aeb\n\n\n\n\n\n\n\n\n\n" DstPort 1 } } } Line { ZOrder 8 SrcBlock "B_vo" SrcPort 1 DstBlock "IMU\n\n\n\n\n\n" DstPort 2 } Line { ZOrder 9 SrcBlock "B_Omega" SrcPort 1 DstBlock "IMU\n\n\n\n\n\n" DstPort 3 } Line { ZOrder 10 SrcBlock "B_g" SrcPort 1 DstBlock "IMU\n\n\n\n\n\n" DstPort 4 } Line { ZOrder 11 SrcBlock "Calculate Pitch and Roll\n\n\n\n\n\n\n\n\n\n\n\n1" SrcPort 2 Points [17, 0] Branch { ZOrder 12 Points [0, 60] DstBlock "Delay1" DstPort 1 } Branch { ZOrder 13 Points [31, 0] Branch { ZOrder 14 Points [82, 0] DstBlock "Complimentary Filter\n\n\n\n\n\n\n\n" DstPort 2 } Branch { ZOrder 15 Points [0, -35] DstBlock "Scope7" DstPort 1 } } } Line { ZOrder 16 SrcBlock "Calculate Pitch and Roll\n\n\n\n\n\n\n\n\n\n\n\n1" SrcPort 1 Points [47, 0] Branch { ZOrder 17 Points [83, 0] DstBlock "Complimentary Filter\n\n\n\n\n\n\n\n" DstPort 1 } Branch { ZOrder 18 Points [0, -35] DstBlock "Scope6" DstPort 1 } } Line { ZOrder 25 SrcBlock "Delay1" SrcPort 1 Points [-199, 0; 0, -60] DstBlock "Calculate Pitch and Roll\n\n\n\n\n\n\n\n\n\n\n\n1" DstPort 2 } Line { ZOrder 26 SrcBlock "euler_angles" SrcPort 1 Points [23, 0] Branch { ZOrder 210 Points [0, -45] DstBlock "OptiTrack Camera System\n\n " DstPort 2 } Branch { ZOrder 27 Points [0, 70] DstBlock "3D Graphical Simulation" DstPort 2 } Branch { ZOrder 28 DstBlock "Demux" DstPort 1 } } Line { ZOrder 29 SrcBlock "Complimentary Filter\n\n\n\n\n\n\n\n" SrcPort 1 Points [16, 0] Branch { ZOrder 77 Points [0, 222; -789, 0; 0, -77] DstBlock "Aeb\n\n\n\n\n\n\n\n\n\n" DstPort 2 } Branch { ZOrder 30 DstBlock "Demux1" DstPort 1 } Branch { ZOrder 69 Points [0, -85] DstBlock "Scope3" DstPort 1 } } Line { ZOrder 33 SrcBlock "First-Order\nHold" SrcPort 1 Points [50, 0] DstBlock "3D Graphical Simulation1" DstPort 1 } Line { ZOrder 34 SrcBlock "E_ro" SrcPort 1 Points [196, 0] Branch { ZOrder 35 Points [0, 120] DstBlock "3D Graphical Simulation" DstPort 1 } Branch { ZOrder 36 Points [0, -30] DstBlock "OptiTrack Camera System\n\n " DstPort 1 } } Line { ZOrder 38 SrcBlock "First-Order\nHold1" SrcPort 1 Points [30, 0; 0, -30] DstBlock "3D Graphical Simulation1" DstPort 2 } Line { ZOrder 39 SrcBlock "Demux1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { ZOrder 40 SrcBlock "Demux1" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { ZOrder 41 SrcBlock "OptiTrack Camera System\n\n " SrcPort 2 Points [70, 0; 0, 10] DstBlock "Delay4" DstPort 1 } Line { ZOrder 42 SrcBlock "Mux" SrcPort 1 Points [31, 0] Branch { ZOrder 117 Points [0, -95] DstBlock "Scope2" DstPort 1 } Branch { ZOrder 98 Points [0, 150] DstBlock "First-Order\nHold" DstPort 1 } Branch { ZOrder 97 DstBlock "euler_angles_filtered" DstPort 1 } } Line { ZOrder 45 SrcBlock "OptiTrack Camera System\n\n " SrcPort 1 Points [48, 0; 0, 30] DstBlock "Delay3" DstPort 1 } Line { ZOrder 62 SrcBlock "B_vo_dot" SrcPort 1 DstBlock "Delay2" DstPort 1 } Line { ZOrder 63 SrcBlock "Delay2" SrcPort 1 DstBlock "IMU\n\n\n\n\n\n" DstPort 1 } Line { ZOrder 202 SrcBlock "Aeb\n\n\n\n\n\n\n\n\n\n" SrcPort 1 DstBlock "Discrete-Time\nIntegrator" DstPort 1 } Line { ZOrder 201 SrcBlock "Discrete-Time\nIntegrator" SrcPort 1 Points [20, 0; 0, -15] DstBlock "Complimentary Filter\n\n\n\n\n\n\n\n" DstPort 3 } Line { ZOrder 203 SrcBlock "Delay3" SrcPort 1 Points [183, 0] Branch { ZOrder 100 Points [0, -80] DstBlock "First-Order\nHold1" DstPort 1 } Branch { ZOrder 99 DstBlock "current_position" DstPort 1 } } Line { ZOrder 211 SrcBlock "Delay4" SrcPort 1 Points [81, 0; 0, 16] Branch { ZOrder 214 Points [144, 0; 0, 14] DstBlock "camera_euler" DstPort 1 } Branch { ZOrder 213 Points [0, 34] DstBlock "Demux2" DstPort 1 } } Line { ZOrder 212 SrcBlock "Demux2" SrcPort 3 Points [14, 0; 0, -415] DstBlock "Mux" DstPort 3 } } } Block { BlockType SubSystem Name "Actuation" SID "436" Ports [1, 6] Position [850, 276, 1100, 504] ZOrder 71 ShowName off RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 31 $ClassName "Simulink.Mask" Display "port_label('input', 1, 'Rotor Duty Cycles', 'texmode', 'on');\nport_label('output', 1, '^{B}Omega', 'texmo" "de', 'on');\nport_label('output', 2, '\\Theta', 'texmode', 'on');\nport_label('output', 3, '^{B}v_o', 'texmode', 'on'" ");\nport_label('output', 4, '^{E}r_o', 'texmode', 'on');\nport_label('output', 5, '^{B}dv_o/dt', 'texmode', 'on');\np" "ort_label('output', 6, '^{B}g', 'texmode', 'on');\ndisp('Actuation', 'texmode', 'on'); " } System { Name "Actuation" Location [108, 36, 1850, 976] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "80" Block { BlockType Inport Name "Rotor Duty Cycles" SID "437" Position [20, 393, 50, 407] ZOrder -1 IconDisplay "Port number" } Block { BlockType SubSystem Name "Aeb\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" SID "446" Ports [2, 1] Position [1435, 303, 1670, 452] ZOrder 81 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 32 $ClassName "Simulink.Mask" Display "port_label('input', 1, '^B\\Omega', 'texmode', 'on');\nport_label('input', 2, '\\Theta', 'texmode'," " 'on');\nport_label('output', 1, 'd\\Theta/dt', 'texmode', 'on');\ndisp('A_{EB}', 'texmode', 'on');" } System { Name "Aeb\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "25" Block { BlockType Inport Name "B_omega" SID "446::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "euler_angles" SID "446::22" Position [20, 136, 40, 154] ZOrder 13 Port "2" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "446::24" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 15 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "446::23" Tag "Stateflow S-Function test_model_R2015A 7" Ports [2, 2] Position [180, 100, 230, 160] ZOrder 14 FunctionName "sf_sfun" PortCounts "[2 2]" EnableBusSupport on Port { PortNumber 2 Name "euler_rates" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "446::25" Position [460, 241, 480, 259] ZOrder 16 } Block { BlockType Outport Name "euler_rates" SID "446::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "B_omega" SrcPort 1 Points [120, 0] DstBlock " SFunction " DstPort 1 } Line { ZOrder 2 SrcBlock "euler_angles" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "euler_rates" ZOrder 3 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "euler_rates" DstPort 1 } Line { ZOrder 4 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 5 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType Demux Name "Demux1" SID "449" Ports [1, 3] Position [1870, 526, 1875, 574] ZOrder 107 ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "x position" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "y position" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "z position" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux2" SID "450" Ports [1, 3] Position [1870, 301, 1875, 349] ZOrder 109 ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "Roll" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Pitch" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "Yaw" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux3" SID "451" Ports [1, 3] Position [1870, 406, 1875, 454] ZOrder 117 ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "Body x velocity" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Body y velocity" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "Body z velocity" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux4" SID "452" Ports [1, 3] Position [1870, 161, 1875, 209] ZOrder 115 ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "Body roll velocity" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Body pitch velocity" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "Body yaw velocity" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux5" SID "453" Ports [1, 3] Position [1870, 641, 1875, 689] ZOrder 119 ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "Body x acceleration" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Body y acceleration" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "Body z acceleration" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType SubSystem Name "ESC System" SID "442" Ports [1, 1] Position [95, 282, 330, 518] ZOrder 36 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 33 $ClassName "Simulink.Mask" Display "port_label('input', 1, 'Rotor Duty Cycle', 'texmode', 'on');\nport_label('output', 1, 'Vb_{eff}', '" "texmode', 'on');\ndisp('ESC System');" } System { Name "ESC System" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "37" Block { BlockType Inport Name "rotor_duty_cycles" SID "442::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "442::36" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 17 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "442::35" Tag "Stateflow S-Function test_model_R2015A 4" Ports [1, 2] Position [180, 105, 230, 165] ZOrder 16 FunctionName "sf_sfun" Parameters "Pmax,Pmin,Vb" PortCounts "[1 2]" EnableBusSupport on Port { PortNumber 2 Name "Vb_eff" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "442::37" Position [460, 241, 480, 259] ZOrder 18 } Block { BlockType Outport Name "Vb_eff" SID "442::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Line { ZOrder 34 SrcBlock "rotor_duty_cycles" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { Name "Vb_eff" ZOrder 35 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "Vb_eff" DstPort 1 } Line { ZOrder 36 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 37 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType SubSystem Name "Gravity\n\n" SID "443" Ports [0, 1] Position [375, 664, 525, 786] ZOrder 96 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 34 $ClassName "Simulink.Mask" Display "port_label('output', 1, '^EF_g', 'texmode', 'on');\nfprintf('Gravity');\n" } System { Name "Gravity\n\n" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "30" Block { BlockType Demux Name " Demux " SID "443::28" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 19 Outputs "1" } Block { BlockType Ground Name " Ground " SID "443::30" Position [20, 121, 40, 139] ZOrder 21 } Block { BlockType S-Function Name " SFunction " SID "443::27" Tag "Stateflow S-Function test_model_R2015A 1" Ports [1, 2] Position [180, 100, 230, 160] ZOrder 18 FunctionName "sf_sfun" Parameters "g,m" PortCounts "[1 2]" EnableBusSupport on Port { PortNumber 2 Name "E_Fg" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "443::29" Position [460, 241, 480, 259] ZOrder 20 } Block { BlockType Outport Name "E_Fg" SID "443::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Line { Name "E_Fg" ZOrder 1 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "E_Fg" DstPort 1 } Line { ZOrder 2 SrcBlock " Ground " SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { ZOrder 3 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 4 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType Integrator Name "Integrator" SID "454" Ports [1, 1] Position [770, 340, 800, 370] ZOrder 49 InitialCondition "[omega_o, omega_o, omega_o, omega_o]" } Block { BlockType Integrator Name "Integrator1" SID "455" Ports [1, 1] Position [1265, 445, 1295, 475] ZOrder 53 InitialCondition "[0; 0; 0]" } Block { BlockType Integrator Name "Integrator2" SID "456" Ports [1, 1] Position [1265, 325, 1295, 355] ZOrder 54 InitialCondition "[0; 0; 0]" } Block { BlockType Integrator Name "Integrator3" SID "457" Ports [1, 1] Position [1725, 590, 1755, 620] ZOrder 98 InitialCondition "[0; 0; 0]" } Block { BlockType Integrator Name "Integrator4" SID "458" Ports [1, 1] Position [1725, 365, 1755, 395] ZOrder 77 InitialCondition "[0; 0; 0]" ContinuousStateAttributes "['phi' 'theta' 'psi']" } Block { BlockType SubSystem Name "Lbe\n\n\n\n\n\n" SID "444" Ports [2, 1] Position [1435, 499, 1670, 706] ZOrder 75 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 35 $ClassName "Simulink.Mask" Display "port_label('input', 1, '^Bv_o', 'texmode', 'on');\nport_label('input', 2, '\\Theta', 'texmode', 'on" "');\nport_label('output', 1, '^Ev_o', 'texmode', 'on');\ndisp('L_{EB}', 'texmode', 'on');" } System { Name "Lbe\n\n\n\n\n\n" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "31" Block { BlockType Inport Name "B_vo" SID "444::24" Position [20, 101, 40, 119] ZOrder 15 IconDisplay "Port number" } Block { BlockType Inport Name "euler_angles" SID "444::28" Position [20, 136, 40, 154] ZOrder 19 Port "2" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "444::30" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 21 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "444::29" Tag "Stateflow S-Function test_model_R2015A 2" Ports [2, 2] Position [180, 100, 230, 160] ZOrder 20 FunctionName "sf_sfun" PortCounts "[2 2]" EnableBusSupport on Port { PortNumber 2 Name "E_ro" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "444::31" Position [460, 241, 480, 259] ZOrder 22 } Block { BlockType Outport Name "E_ro" SID "444::26" Position [460, 101, 480, 119] ZOrder 17 IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "B_vo" SrcPort 1 Points [120, 0] DstBlock " SFunction " DstPort 1 } Line { ZOrder 2 SrcBlock "euler_angles" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "E_ro" ZOrder 3 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "E_ro" DstPort 1 } Line { ZOrder 4 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 5 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType SubSystem Name "Lbe\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" SID "447" Ports [2, 2] Position [640, 694, 810, 816] ZOrder 97 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 36 $ClassName "Simulink.Mask" Display "port_label('input', 1, '^EF_g', 'texmode', 'on');\nport_label('input', 2, '\\Theta', 'texmode', 'on" "');\nport_label('output', 1, '^BF_g', 'texmode', 'on');\ndisp('L_{BE}', 'texmode', 'on');" } System { Name "Lbe\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "33" Block { BlockType Inport Name "E_Fg" SID "447::24" Position [20, 101, 40, 119] ZOrder 15 IconDisplay "Port number" } Block { BlockType Inport Name "euler_angles" SID "447::28" Position [20, 136, 40, 154] ZOrder 19 Port "2" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "447::30" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 21 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "447::29" Tag "Stateflow S-Function test_model_R2015A 8" Ports [2, 3] Position [180, 100, 230, 180] ZOrder 20 FunctionName "sf_sfun" Parameters "m" PortCounts "[2 3]" EnableBusSupport on Port { PortNumber 2 Name "B_Fg" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "B_g" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "447::31" Position [460, 241, 480, 259] ZOrder 22 } Block { BlockType Outport Name "B_Fg" SID "447::26" Position [460, 101, 480, 119] ZOrder 17 IconDisplay "Port number" } Block { BlockType Outport Name "B_g" SID "447::32" Position [460, 136, 480, 154] ZOrder 23 Port "2" IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "E_Fg" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { ZOrder 2 SrcBlock "euler_angles" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "B_Fg" ZOrder 3 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "B_Fg" DstPort 1 } Line { Name "B_g" ZOrder 4 Labels [0, 0] SrcBlock " SFunction " SrcPort 3 DstBlock "B_g" DstPort 1 } Line { ZOrder 5 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 6 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType SubSystem Name "Motor System" SID "441" Ports [2, 1] Position [460, 280, 680, 520] ZOrder 48 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 37 $ClassName "Simulink.Mask" Display "port_label('input', 1, 'Vb_{eff}', 'texmode', 'on');\nport_label('input', 2, '\\omega', 'texmode', " "'on');\nport_label('output', 1, '\\alpha', 'texmode', 'on');\ndisp('Motor System');\n" } System { Name "Motor System" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "35" Block { BlockType Inport Name "Vb_eff" SID "441::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "angular_velocity" SID "441::35" Position [20, 136, 40, 154] ZOrder 20 Port "2" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "441::32" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 17 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "441::31" Tag "Stateflow S-Function test_model_R2015A 5" Ports [2, 2] Position [180, 100, 230, 160] ZOrder 16 FunctionName "sf_sfun" Parameters "If,Jreq,Kd,Kq,Kv,Rm" PortCounts "[2 2]" EnableBusSupport on Port { PortNumber 2 Name "angular_acceleration" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "441::33" Position [460, 241, 480, 259] ZOrder 18 } Block { BlockType Outport Name "angular_acceleration" SID "441::23" Position [460, 101, 480, 119] ZOrder 14 IconDisplay "Port number" } Line { ZOrder 33 SrcBlock "Vb_eff" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { ZOrder 34 SrcBlock "angular_velocity" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { Name "angular_acceleration" ZOrder 35 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "angular_acceleration" DstPort 1 } Line { ZOrder 36 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 37 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType SubSystem Name "Rotor System\n\n\n\n\n\n\n\n" SID "758" Ports [5, 2] Position [985, 281, 1185, 519] ZOrder 122 ShowName off ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" Object { $PropName "MaskObject" $ObjectID 38 $ClassName "Simulink.Mask" Display "port_label('input', 1, '\\alpha', 'texmode', 'on');\nport_label('input', 2, '\\omega', 'texmode', '" "on');\nport_label('input', 3, '^BF_g', 'texmode', 'on');\nport_label('input', 4, '^B\\Omega', 'texmode', 'on');\n" "port_label('input', 5, '^Bv_o', 'texmode', 'on');\nport_label('output', 1, '^Bd\\Omega/dt', 'texmode', 'on');\npo" "rt_label('output', 2, '^Bdv_o/dt', 'texmode', 'on');\ndisp('Rotor System', 'texmode', 'on');" } System { Name "Rotor System\n\n\n\n\n\n\n\n" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "50" Block { BlockType Inport Name "angular_acceleration" SID "758::27" Position [20, 101, 40, 119] ZOrder 18 IconDisplay "Port number" } Block { BlockType Inport Name "angular_velocity" SID "758::28" Position [20, 136, 40, 154] ZOrder 19 Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "B_Fg" SID "758::47" Position [20, 171, 40, 189] ZOrder 20 Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "B_omega" SID "758::25" Position [20, 206, 40, 224] ZOrder 16 Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "B_vo" SID "758::24" Position [20, 246, 40, 264] ZOrder 15 Port "5" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "758::49" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 22 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "758::48" Tag "Stateflow S-Function test_model_R2015A 6" Ports [5, 3] Position [180, 100, 230, 220] ZOrder 21 FunctionName "sf_sfun" Parameters "Jreq,Jxx,Jyy,Jzz,Kd,Kt,m,rhx,rhy,rhz" PortCounts "[5 3]" EnableBusSupport on Port { PortNumber 2 Name "B_omega_dot" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "B_vo_dot" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "758::50" Position [460, 241, 480, 259] ZOrder 23 } Block { BlockType Outport Name "B_omega_dot" SID "758::22" Position [460, 101, 480, 119] ZOrder 13 IconDisplay "Port number" } Block { BlockType Outport Name "B_vo_dot" SID "758::5" Position [460, 136, 480, 154] ZOrder -5 Port "2" IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "angular_acceleration" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { ZOrder 2 SrcBlock "angular_velocity" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { ZOrder 3 SrcBlock "B_Fg" SrcPort 1 DstBlock " SFunction " DstPort 3 } Line { ZOrder 4 SrcBlock "B_omega" SrcPort 1 DstBlock " SFunction " DstPort 4 } Line { ZOrder 5 SrcBlock "B_vo" SrcPort 1 DstBlock " SFunction " DstPort 5 } Line { Name "B_omega_dot" ZOrder 6 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "B_omega_dot" DstPort 1 } Line { Name "B_vo_dot" ZOrder 7 Labels [0, 0] SrcBlock " SFunction " SrcPort 3 DstBlock "B_vo_dot" DstPort 1 } Line { ZOrder 8 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 9 SrcBlock " SFunction " SrcPort 1 Points [20, 0] DstBlock " Demux " DstPort 1 } } } Block { BlockType Scope Name "Scope" SID "459" Ports [1] Position [390, 279, 420, 311] ZOrder 46 Floating off Location [188, 365, 512, 604] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-1.3875" YMax "12.4875" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope1" SID "460" Ports [1] Position [780, 229, 810, 261] ZOrder 50 Floating off Location [1, 76, 1909, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } ShowLegends on YMin "-10513.81558" YMax "11401.07279" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope10" SID "461" Ports [3] Position [1975, 303, 2015, 347] ZOrder 108 Floating off Location [1, 76, 1909, 1039] Open off NumInputPorts "3" List { ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } ShowLegends on YMin "-60.66007~-1.00000~-1.00000" YMax "18.5091~1.00000~1.00000" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope11" SID "462" Ports [3] Position [1975, 163, 2015, 207] ZOrder 114 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "3" List { ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } ShowLegends on YMin "-3.00603~-1.00000~-1.00000" YMax "4.56766~1.00000~1.00000" SaveName "ScopeData3" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope2" SID "463" Ports [1] Position [930, 229, 960, 261] ZOrder 51 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-88.20659" YMax "679.8109" SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope3" SID "464" Ports [3] Position [1975, 408, 2015, 452] ZOrder 116 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "3" List { ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } ShowLegends on YMin "-1.00000~-71.40595~-81.80792" YMax "1.00000~93.1255~67.47699" SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope4" SID "465" Ports [3] Position [1975, 643, 2015, 687] ZOrder 118 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "3" List { ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } ShowLegends on YMin "-1019.9483~-1019.9483~-1019.9483" YMax "1049.2638~1049.2638~1049.2638" SaveName "ScopeData4" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope6" SID "466" Ports [3] Position [1975, 528, 2015, 572] ZOrder 79 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "3" List { ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } ShowLegends on YMin "-1.00000~-1.00000~-0.09265" YMax "1.00000~1.00000~0.0667" SaveName "ScopeData4" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope7" SID "467" Ports [1] Position [575, 644, 605, 676] ZOrder 99 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-1.45924" YMax "13.13314" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope8" SID "468" Ports [1] Position [860, 629, 890, 661] ZOrder 100 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-14.59237" YMax "14.59237" SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope9" SID "469" Ports [1] Position [1265, 229, 1295, 261] ZOrder 102 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-9.72639" YMax "9.72632" SaveName "ScopeData3" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Outport Name "B_omega" SID "471" Position [1855, 238, 1885, 252] ZOrder 61 IconDisplay "Port number" } Block { BlockType Outport Name "euler_angles" SID "472" Position [1910, 373, 1940, 387] ZOrder 91 Port "2" IconDisplay "Port number" } Block { BlockType Outport Name "B_vo" SID "473" Position [1855, 468, 1885, 482] ZOrder 58 Port "3" IconDisplay "Port number" } Block { BlockType Outport Name "E_ro" SID "474" Position [1870, 598, 1900, 612] ZOrder 88 Port "4" IconDisplay "Port number" } Block { BlockType Outport Name "B_vo_dot" SID "475" Position [1870, 718, 1900, 732] ZOrder 103 Port "5" IconDisplay "Port number" } Block { BlockType Outport Name "B_g" SID "476" Position [1870, 778, 1900, 792] ZOrder 104 Port "6" IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "ESC System" SrcPort 1 Points [23, 0; 0, -59] Branch { ZOrder 2 Points [2, 0; 0, -46] DstBlock "Scope" DstPort 1 } Branch { ZOrder 3 Points [0, -1] DstBlock "Motor System" DstPort 1 } } Line { ZOrder 4 SrcBlock "Motor System" SrcPort 1 Points [40, 0; 0, -45] Branch { ZOrder 5 DstBlock "Integrator" DstPort 1 } Branch { ZOrder 6 Points [0, -45] Branch { ZOrder 101 DstBlock "Rotor System\n\n\n\n\n\n\n\n" DstPort 1 } Branch { ZOrder 7 Points [0, -65] DstBlock "Scope1" DstPort 1 } } } Line { ZOrder 9 SrcBlock "Integrator" SrcPort 1 Points [68, 0] Branch { ZOrder 290 Points [0, 210; -473, 0; 0, -105] DstBlock "Motor System" DstPort 2 } Branch { ZOrder 292 DstBlock "Rotor System\n\n\n\n\n\n\n\n" DstPort 2 } Branch { ZOrder 291 Points [0, -110] DstBlock "Scope2" DstPort 1 } } Line { ZOrder 103 SrcBlock "Rotor System\n\n\n\n\n\n\n\n" SrcPort 1 Points [39, 0] Branch { ZOrder 15 Points [0, -95] DstBlock "Scope9" DstPort 1 } Branch { ZOrder 16 DstBlock "Integrator2" DstPort 1 } } Line { ZOrder 22 SrcBlock "Integrator2" SrcPort 1 Points [55, 0] Branch { ZOrder 105 Points [0, 252; -416, 0; 0, -147] DstBlock "Rotor System\n\n\n\n\n\n\n\n" DstPort 4 } Branch { ZOrder 23 Points [0, -95; 454, 0] Branch { ZOrder 24 DstBlock "B_omega" DstPort 1 } Branch { ZOrder 25 Points [0, -60] DstBlock "Demux4" DstPort 1 } } Branch { ZOrder 27 DstBlock "Aeb\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" DstPort 1 } } Line { ZOrder 28 SrcBlock "Aeb\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" SrcPort 1 DstBlock "Integrator4" DstPort 1 } Line { ZOrder 29 SrcBlock "Gravity\n\n" SrcPort 1 Points [7, 0] Branch { ZOrder 30 Points [0, -65] DstBlock "Scope7" DstPort 1 } Branch { ZOrder 31 DstBlock "Lbe\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" DstPort 1 } } Line { ZOrder 32 SrcBlock "Lbe\n\n\n\n\n\n" SrcPort 1 DstBlock "Integrator3" DstPort 1 } Line { ZOrder 33 SrcBlock "Integrator3" SrcPort 1 Points [64, 0] Branch { ZOrder 34 Points [0, -55] DstBlock "Demux1" DstPort 1 } Branch { ZOrder 35 DstBlock "E_ro" DstPort 1 } } Line { ZOrder 36 SrcBlock "Lbe\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" SrcPort 1 Points [24, 0; 0, -1] Branch { ZOrder 107 Points [82, 0; 0, -324] DstBlock "Rotor System\n\n\n\n\n\n\n\n" DstPort 3 } Branch { ZOrder 106 Points [0, -79] DstBlock "Scope8" DstPort 1 } } Line { ZOrder 39 SrcBlock "Lbe\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" SrcPort 2 DstBlock "B_g" DstPort 1 } Line { Name "y position" ZOrder 45 Labels [0, 0] SrcBlock "Demux1" SrcPort 2 DstBlock "Scope6" DstPort 2 } Line { Name "x position" ZOrder 46 Labels [0, 0] SrcBlock "Demux1" SrcPort 1 DstBlock "Scope6" DstPort 1 } Line { Name "z position" ZOrder 47 Labels [0, 0] SrcBlock "Demux1" SrcPort 3 DstBlock "Scope6" DstPort 3 } Line { Name "Pitch" ZOrder 57 Labels [0, 0] SrcBlock "Demux2" SrcPort 2 DstBlock "Scope10" DstPort 2 } Line { Name "Roll" ZOrder 58 Labels [0, 0] SrcBlock "Demux2" SrcPort 1 DstBlock "Scope10" DstPort 1 } Line { Name "Yaw" ZOrder 59 Labels [0, 0] SrcBlock "Demux2" SrcPort 3 DstBlock "Scope10" DstPort 3 } Line { Name "Body pitch velocity" ZOrder 60 Labels [0, 0] SrcBlock "Demux4" SrcPort 2 DstBlock "Scope11" DstPort 2 } Line { Name "Body roll velocity" ZOrder 61 Labels [0, 0] SrcBlock "Demux4" SrcPort 1 DstBlock "Scope11" DstPort 1 } Line { Name "Body yaw velocity" ZOrder 62 Labels [0, 0] SrcBlock "Demux4" SrcPort 3 DstBlock "Scope11" DstPort 3 } Line { Name "Body y velocity" ZOrder 63 Labels [0, 0] SrcBlock "Demux3" SrcPort 2 DstBlock "Scope3" DstPort 2 } Line { Name "Body x velocity" ZOrder 64 Labels [0, 0] SrcBlock "Demux3" SrcPort 1 DstBlock "Scope3" DstPort 1 } Line { Name "Body z velocity" ZOrder 65 Labels [0, 0] SrcBlock "Demux3" SrcPort 3 DstBlock "Scope3" DstPort 3 } Line { Name "Body y acceleration" ZOrder 66 Labels [0, 0] SrcBlock "Demux5" SrcPort 2 DstBlock "Scope4" DstPort 2 } Line { Name "Body x acceleration" ZOrder 67 Labels [0, 0] SrcBlock "Demux5" SrcPort 1 DstBlock "Scope4" DstPort 1 } Line { Name "Body z acceleration" ZOrder 68 Labels [0, 0] SrcBlock "Demux5" SrcPort 3 DstBlock "Scope4" DstPort 3 } Line { ZOrder 69 SrcBlock "Integrator1" SrcPort 1 Points [34, 0; 0, 90] Branch { ZOrder 104 Points [-370, 0; 0, -60] DstBlock "Rotor System\n\n\n\n\n\n\n\n" DstPort 5 } Branch { ZOrder 71 Points [76, 0] Branch { ZOrder 72 DstBlock "Lbe\n\n\n\n\n\n" DstPort 1 } Branch { ZOrder 73 Points [0, -75; 401, 0] Branch { ZOrder 74 Points [0, -45] DstBlock "Demux3" DstPort 1 } Branch { ZOrder 75 DstBlock "B_vo" DstPort 1 } } } } Line { ZOrder 102 SrcBlock "Rotor System\n\n\n\n\n\n\n\n" SrcPort 2 Points [27, 0] Branch { ZOrder 205 Points [0, 265; 607, 0] Branch { ZOrder 201 Points [0, -60] DstBlock "Demux5" DstPort 1 } Branch { ZOrder 200 DstBlock "B_vo_dot" DstPort 1 } } Branch { ZOrder 198 DstBlock "Integrator1" DstPort 1 } } Line { ZOrder 48 SrcBlock "Integrator4" SrcPort 1 Points [20, 0] Branch { ZOrder 277 Points [60, 0] Branch { ZOrder 50 Points [0, -55] DstBlock "Demux2" DstPort 1 } Branch { ZOrder 51 DstBlock "euler_angles" DstPort 1 } } Branch { ZOrder 52 Points [0, 502; -385, 0] Branch { ZOrder 352 Points [0, -227] Branch { ZOrder 54 DstBlock "Lbe\n\n\n\n\n\n" DstPort 2 } Branch { ZOrder 55 Points [0, -240] DstBlock "Aeb\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" DstPort 2 } } Branch { ZOrder 56 Points [-787, 0; 0, -97] DstBlock "Lbe\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" DstPort 2 } } } Line { ZOrder 286 SrcBlock "Rotor Duty Cycles" SrcPort 1 DstBlock "ESC System" DstPort 1 } } } Block { BlockType SubSystem Name "Communication System" SID "582" Ports [0, 1] Position [405, 282, 460, 328] ZOrder 70 RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 39 $ClassName "Simulink.Mask" Display "port_label('output', 1, 'Setpoints', 'texmode', 'on');" } System { Name "Communication System" Location [126, 17, 1868, 957] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "300" Block { BlockType Step Name "Step" SID "583" Position [925, 390, 955, 420] ZOrder 32 Before "[0; 0; 0; 0]" After "[1; 0; 0; 0]" SampleTime "0.1" } Block { BlockType Outport Name "setpoints" SID "584" Position [1050, 398, 1080, 412] ZOrder 6 IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "Step" SrcPort 1 DstBlock "setpoints" DstPort 1 } } } Block { BlockType SubSystem Name "Control System" SID "573" Ports [4, 1] Position [540, 275, 795, 500] ZOrder 69 ShowName off RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 40 $ClassName "Simulink.Mask" Display "port_label('input', 1, 'Setpoints', 'texmode', 'on');\nport_label('input', 2, '\\Theta_{filtered}', 'texmo" "de', 'on');\nport_label('input', 3, 'd\\Theta_{gyro}/dt', 'texmode', 'on');\nport_label('input', 4, '^{E}r_o', 'texmo" "de', 'on');\nport_label('output', 1, 'Motor Commands', 'texmode', 'on');\ndisp('Control System', 'texmode', 'on');" } System { Name "Control System" Location [69, 48, 1812, 988] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "125" Block { BlockType Inport Name "setpoints" SID "574" Position [230, 353, 260, 367] ZOrder 2 IconDisplay "Port number" } Block { BlockType Inport Name "euler_angles_filtered" SID "575" Position [230, 513, 260, 527] ZOrder 9 Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "euler_rates" SID "576" Position [215, 588, 245, 602] ZOrder 11 Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "current_position" SID "577" Position [215, 438, 245, 452] ZOrder -1 Port "4" IconDisplay "Port number" } Block { BlockType SubSystem Name "Controller" SID "604" Ports [13, 4] Position [395, 307, 530, 633] ZOrder 31 RequestExecContextInheritance off Object { $PropName "MaskObject" $ObjectID 41 $ClassName "Simulink.Mask" Display "port_label('input', 1, '^{E}r_{x,setpoint}', 'texmode', 'on');\nport_label('input', 2, '^{E}r_{y,se" "tpoint}', 'texmode', 'on');\nport_label('input', 3, '^{E}r_{z,setpoint}', 'texmode', 'on');\nport_label('input', " "4, '\\psi_{setpoint}', 'texmode', 'on');\nport_label('input', 5, '^{E}r_x', 'texmode', 'on');\nport_label('input'" ", 6, '^{E}r_y', 'texmode', 'on');\nport_label('input', 7, '^{E}r_z', 'texmode', 'on');\nport_label('input', 8, '\\" "phi', 'texmode', 'on');\nport_label('input', 9, '\\theta', 'texmode', 'on');\nport_label('input', 10, '\\psi', 't" "exmode', 'on');\nport_label('input', 11, 'd\\phi/dt', 'texmode', 'on');\nport_label('input', 12, 'd\\theta/dt', '" "texmode', 'on');\nport_label('input', 13, 'd\\psi/dt', 'texmode', 'on');\nport_label('output', 1, 'u_T', 'texmode" "', 'on');\nport_label('output', 2, 'u_A', 'texmode', 'on');\nport_label('output', 3, 'u_E', 'texmode', 'on');\npo" "rt_label('output', 4, 'u_R', 'texmode', 'on');\ndisp('Controller', 'texmode', 'on');" } System { Name "Controller" Location [69, 48, 1812, 988] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "125" Block { BlockType Inport Name "x_setpoint" SID "605" Position [135, 403, 165, 417] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "y_setpoint" SID "607" Position [135, 248, 165, 262] ZOrder 45 ForegroundColor "gray" Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "z_setpoint" SID "608" Position [130, 128, 160, 142] ZOrder 46 Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "yaw_setpoint" SID "632" Position [130, 553, 160, 567] ZOrder 103 ForegroundColor "gray" Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "x_position" SID "622" Position [165, 468, 195, 482] ZOrder 60 Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "y_position" SID "623" Position [165, 313, 195, 327] ZOrder 61 Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "z_position" SID "624" Position [160, 183, 190, 197] ZOrder 62 Port "7" IconDisplay "Port number" } Block { BlockType Inport Name "roll" SID "630" Position [300, 313, 330, 327] ZOrder 68 Port "8" IconDisplay "Port number" } Block { BlockType Inport Name "pitch" SID "631" Position [300, 468, 330, 482] ZOrder 69 Port "9" IconDisplay "Port number" } Block { BlockType Inport Name "yaw" SID "649" Position [160, 608, 190, 622] ZOrder 105 Port "10" IconDisplay "Port number" } Block { BlockType Inport Name "roll_rate" SID "633" Position [525, 313, 555, 327] ZOrder 71 Port "11" IconDisplay "Port number" } Block { BlockType Inport Name "pitch_rate" SID "634" Position [525, 468, 555, 482] ZOrder 72 Port "12" IconDisplay "Port number" } Block { BlockType Inport Name "yaw_rate" SID "635" Position [300, 608, 330, 622] ZOrder 73 Port "13" IconDisplay "Port number" } Block { BlockType Gain Name "Gain1" SID "891" Position [810, 117, 860, 153] ZOrder 151 Gain "5e4" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" SID "892" Position [810, 237, 860, 273] ZOrder 152 Gain "5e4" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain3" SID "893" Position [810, 392, 860, 428] ZOrder 153 Gain "5e4" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain4" SID "894" Position [810, 542, 860, 578] ZOrder 154 Gain "5e4" ParamDataTypeStr "Inherit: Inherit via internal rule" OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Reference Name "PID Controller1" SID "873" Ports [1, 1] Position [645, 392, 685, 428] ZOrder 142 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "P" TimeDomain "Discrete-time" SampleTime "5e-3" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter on ControllerParametersSource "internal" P "0.015166894231541" I "1575.82088970639" D "504.111397357926" N "244.660686071579" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross on LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Reference Name "PID Controller10" SID "833" Ports [1, 1] Position [260, 542, 300, 578] ZOrder 122 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "PD" TimeDomain "Discrete-time" SampleTime "0.01" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter off ControllerParametersSource "internal" P "1.69332227925298" I "0.373031053213692" D "0.0846661139626488" N "17.8214030142826" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross on LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Reference Name "PID Controller11" SID "834" Ports [1, 1] Position [260, 117, 300, 153] ZOrder 123 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "PID" TimeDomain "Discrete-time" SampleTime "0.01" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter off ControllerParametersSource "internal" P "-0.0153859651723572" I "-0.000331343308727455" D "-0.178612271980841" N "5.79502261645411" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross on LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Reference Name "PID Controller2" SID "832" Ports [1, 1] Position [645, 541, 685, 579] ZOrder 121 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "PI" TimeDomain "Discrete-time" SampleTime "5e-3" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter on ControllerParametersSource "internal" P "0.137082785475467" I "1.78239822850373" D "2.32" N "1/0.0818" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross off LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Reference Name "PID Controller3" SID "874" Ports [1, 1] Position [505, 392, 545, 428] ZOrder 143 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "P" TimeDomain "Discrete-time" SampleTime "5e-3" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter on ControllerParametersSource "internal" P "1.37514874127105" I "35.1207902652377" D "0.410623594074865" N "40.0107970227961" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross on LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Reference Name "PID Controller4" SID "876" Ports [1, 1] Position [260, 392, 300, 428] ZOrder 145 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "PD" TimeDomain "Discrete-time" SampleTime "0.01" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter off ControllerParametersSource "internal" P "-0.00209477698719004" I "-5.49963745752816e-05" D "-0.116816668948546" N "16.9491526069154" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross on LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Reference Name "PID Controller6" SID "867" Ports [1, 1] Position [260, 237, 300, 273] ZOrder 136 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "PD" TimeDomain "Discrete-time" SampleTime "0.01" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter off ControllerParametersSource "internal" P "0.00209477698719004" I "9.56340991394167e-06" D "0.116816668948546" N "16.9491526069154" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross on LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Reference Name "PID Controller8" SID "868" Ports [1, 1] Position [505, 237, 545, 273] ZOrder 137 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "P" TimeDomain "Discrete-time" SampleTime "5e-3" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter on ControllerParametersSource "internal" P "1.37514874127105" I "35.1207902652377" D "0.2" N "40.0107970227961" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross on LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Reference Name "PID Controller9" SID "869" Ports [1, 1] Position [645, 237, 685, 273] ZOrder 138 LibraryVersion "1.356" SourceBlock "simulink/Continuous/PID Controller" SourceType "PID 1dof" ContentPreviewEnabled off Controller "P" TimeDomain "Discrete-time" SampleTime "5e-3" IntegratorMethod "Forward Euler" FilterMethod "Forward Euler" Form "Parallel" UseFilter on ControllerParametersSource "internal" P "0.015166894231541" I "1575.82088970639" D "504.111397357926" N "244.660686071579" InitialConditionSource "internal" InitialConditionForIntegrator "0" InitialConditionForFilter "0" ExternalReset "none" IgnoreLimit off ZeroCross on LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" LinearizeAsGain on AntiWindupMode "none" Kb "1" TrackingMode off Kt "1" RndMeth "Floor" SaturateOnIntegerOverflow off LockScale off PParamMin "[]" PParamMax "[]" PParamDataTypeStr "Inherit: Inherit via internal rule" IParamMin "[]" IParamMax "[]" IParamDataTypeStr "Inherit: Inherit via internal rule" DParamMin "[]" DParamMax "[]" DParamDataTypeStr "Inherit: Inherit via internal rule" NParamMin "[]" NParamMax "[]" NParamDataTypeStr "Inherit: Inherit via internal rule" KbParamMin "[]" KbParamMax "[]" KbParamDataTypeStr "Inherit: Inherit via internal rule" KtParamMin "[]" KtParamMax "[]" KtParamDataTypeStr "Inherit: Inherit via internal rule" POutMin "[]" POutMax "[]" POutDataTypeStr "Inherit: Inherit via internal rule" PGainOutDataTypeStr "Inherit: Inherit via internal rule" PProdOutDataTypeStr "Inherit: Inherit via internal rule" IOutMin "[]" IOutMax "[]" IOutDataTypeStr "Inherit: Inherit via internal rule" IGainOutDataTypeStr "Inherit: Inherit via internal rule" IProdOutDataTypeStr "Inherit: Inherit via internal rule" DOutMin "[]" DOutMax "[]" DOutDataTypeStr "Inherit: Inherit via internal rule" DGainOutDataTypeStr "Inherit: Inherit via internal rule" DProdOutDataTypeStr "Inherit: Inherit via internal rule" NOutMin "[]" NOutMax "[]" NOutDataTypeStr "Inherit: Inherit via internal rule" NGainOutDataTypeStr "Inherit: Inherit via internal rule" NProdOutDataTypeStr "Inherit: Inherit via internal rule" KbOutMin "[]" KbOutMax "[]" KbOutDataTypeStr "Inherit: Inherit via internal rule" KtOutMin "[]" KtOutMax "[]" KtOutDataTypeStr "Inherit: Inherit via internal rule" IntegratorOutMin "[]" IntegratorOutMax "[]" IntegratorOutDataTypeStr "Inherit: Inherit via internal rule" FilterOutMin "[]" FilterOutMax "[]" FilterOutDataTypeStr "Inherit: Inherit via internal rule" SumOutMin "[]" SumOutMax "[]" SumOutDataTypeStr "Inherit: Inherit via internal rule" SumI1OutMin "[]" SumI1OutMax "[]" SumI1OutDataTypeStr "Inherit: Inherit via internal rule" SumI2OutMin "[]" SumI2OutMax "[]" SumI2OutDataTypeStr "Inherit: Inherit via internal rule" SumI3OutMin "[]" SumI3OutMax "[]" SumI3OutDataTypeStr "Inherit: Inherit via internal rule" SumDOutMin "[]" SumDOutMax "[]" SumDOutDataTypeStr "Inherit: Inherit via internal rule" SumAccumDataTypeStr "Inherit: Inherit via internal rule" SumI1AccumDataTypeStr "Inherit: Inherit via internal rule" SumI2AccumDataTypeStr "Inherit: Inherit via internal rule" SumI3AccumDataTypeStr "Inherit: Inherit via internal rule" SumDAccumDataTypeStr "Inherit: Inherit via internal rule" SaturationOutMin "[]" SaturationOutMax "[]" SaturationOutDataTypeStr "Inherit: Same as input" IntegratorContinuousStateAttributes "''" IntegratorStateMustResolveToSignalObject off IntegratorRTWStateStorageClass "Auto" FilterContinuousStateAttributes "''" FilterStateMustResolveToSignalObject off FilterRTWStateStorageClass "Auto" DifferentiatorICPrevScaledInput "0" DifferentiatorOutMin "[]" DifferentiatorOutMax "[]" DifferentiatorOutDataTypeStr "Inherit: Inherit via internal rule" } Block { BlockType Saturate Name "Saturation1" SID "887" Ports [1, 1] Position [410, 240, 440, 270] ZOrder 147 Commented "through" InputPortMap "u0" UpperLimit "20*pi/180" LowerLimit "-20*pi/180" } Block { BlockType Saturate Name "Saturation2" SID "888" Ports [1, 1] Position [410, 395, 440, 425] ZOrder 148 Commented "through" InputPortMap "u0" UpperLimit "20*pi/180" LowerLimit "-20*pi/180" } Block { BlockType Saturate Name "Saturation3" SID "889" Ports [1, 1] Position [410, 545, 440, 575] ZOrder 149 Commented "through" InputPortMap "u0" UpperLimit "20*pi/180" LowerLimit "-20*pi/180" } Block { BlockType Scope Name "Scope" SID "791" Ports [1] Position [510, 649, 540, 681] ZOrder 97 Floating off Location [1, 76, 1921, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-4.53199" YMax "5.80666" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope1" SID "792" Ports [1] Position [235, 649, 265, 681] ZOrder 106 Floating off Location [10, 76, 1926, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.00426" YMax "0.00536" SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope2" SID "795" Ports [1] Position [265, 174, 295, 206] ZOrder 107 Floating off Location [593, 266, 1926, 1046] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.5 0.5 0.5]" AxesColor "[0 0 0]" AxesTickColor "[1 1 1]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.14356" YMax "1.29207" SaveName "ScopeData5" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope3" SID "797" Ports [1] Position [650, 334, 680, 366] ZOrder 109 Floating off Location [10, 76, 1926, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.13447" YMax "1.21019" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope4" SID "798" Ports [1] Position [365, 334, 395, 366] ZOrder 110 Floating off Location [10, 76, 1926, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.2" YMax "0.5" SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope5" SID "799" Ports [1] Position [240, 334, 270, 366] ZOrder 111 Floating off Location [1, 49, 1921, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.5 0.5 0.5]" AxesColor "[0 0 0]" AxesTickColor "[1 1 1]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.035" YMax "0.03" SaveName "ScopeData3" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope6" SID "825" Ports [1] Position [650, 484, 680, 516] ZOrder 117 Floating off Location [10, 76, 1926, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.48276" YMax "2.87086" SaveName "ScopeData1" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope7" SID "826" Ports [1] Position [365, 484, 395, 516] ZOrder 118 Floating off Location [10, 76, 1926, 1039] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "-0.04704" YMax "0.39309" SaveName "ScopeData2" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Scope Name "Scope8" SID "827" Ports [1] Position [245, 484, 275, 516] ZOrder 119 Floating off Location [2, 57, 1918, 1038] Open on NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.5 0.5 0.5]" AxesColor "[0 0 0]" AxesTickColor "[1 1 1]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } TimeRange "20" YMin "2200" YMax "4300" SaveName "ScopeData3" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Sum Name "Sum" SID "598" Ports [2, 1] Position [350, 550, 370, 570] ZOrder 40 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" SID "599" Ports [2, 1] Position [340, 245, 360, 265] ZOrder 41 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" SID "600" Ports [2, 1] Position [590, 245, 610, 265] ZOrder 42 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" SID "602" Ports [2, 1] Position [335, 400, 355, 420] ZOrder 43 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" SID "603" Ports [2, 1] Position [590, 400, 610, 420] ZOrder 44 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" SID "618" Ports [2, 1] Position [215, 400, 235, 420] ZOrder 56 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum6" SID "619" Ports [2, 1] Position [210, 245, 230, 265] ZOrder 57 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum7" SID "620" Ports [2, 1] Position [210, 125, 230, 145] ZOrder 58 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum8" SID "648" Ports [2, 1] Position [210, 550, 230, 570] ZOrder 104 ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "height_controlled" SID "606" Position [925, 128, 955, 142] ZOrder -2 IconDisplay "Port number" } Block { BlockType Outport Name "y_controlled" SID "636" Position [925, 248, 955, 262] ZOrder 74 Port "2" IconDisplay "Port number" } Block { BlockType Outport Name "x_controlled" SID "637" Position [925, 403, 955, 417] ZOrder 75 Port "3" IconDisplay "Port number" } Block { BlockType Outport Name "yaw_controlled" SID "638" Position [925, 553, 955, 567] ZOrder 76 Port "4" IconDisplay "Port number" } Line { ZOrder 283 SrcBlock "Sum" SrcPort 1 DstBlock "Saturation3" DstPort 1 } Line { ZOrder 43 SrcBlock "pitch" SrcPort 1 Points [9, 0] Branch { ZOrder 233 Points [0, 25] DstBlock "Scope7" DstPort 1 } Branch { ZOrder 232 Points [1, 0] DstBlock "Sum3" DstPort 2 } } Line { ZOrder 42 SrcBlock "roll" SrcPort 1 Points [15, 0] Branch { ZOrder 218 DstBlock "Scope4" DstPort 1 } Branch { ZOrder 215 DstBlock "Sum1" DstPort 2 } } Line { ZOrder 48 SrcBlock "pitch_rate" SrcPort 1 Points [40, 0] Branch { ZOrder 229 DstBlock "Sum4" DstPort 2 } Branch { ZOrder 228 Points [0, 25] DstBlock "Scope6" DstPort 1 } } Line { ZOrder 47 SrcBlock "roll_rate" SrcPort 1 Points [40, 0] Branch { ZOrder 123 Points [0, 30] DstBlock "Scope3" DstPort 1 } Branch { ZOrder 122 DstBlock "Sum2" DstPort 2 } } Line { ZOrder 49 SrcBlock "yaw_rate" SrcPort 1 Points [25, 0] Branch { ZOrder 173 Points [0, 50] DstBlock "Scope" DstPort 1 } Branch { ZOrder 87 DstBlock "Sum" DstPort 2 } } Line { ZOrder 26 SrcBlock "z_setpoint" SrcPort 1 DstBlock "Sum7" DstPort 1 } Line { ZOrder 28 SrcBlock "y_setpoint" SrcPort 1 DstBlock "Sum6" DstPort 1 } Line { ZOrder 31 SrcBlock "x_position" SrcPort 1 Points [25, 0] Branch { ZOrder 237 DstBlock "Sum5" DstPort 2 } Branch { ZOrder 236 Points [0, 25] DstBlock "Scope8" DstPort 1 } } Line { ZOrder 32 SrcBlock "x_setpoint" SrcPort 1 DstBlock "Sum5" DstPort 1 } Line { ZOrder 33 SrcBlock "y_position" SrcPort 1 Points [20, 0] Branch { ZOrder 241 Points [0, 30] DstBlock "Scope5" DstPort 1 } Branch { ZOrder 128 DstBlock "Sum6" DstPort 2 } } Line { ZOrder 34 SrcBlock "z_position" SrcPort 1 Points [25, 0] Branch { ZOrder 108 DstBlock "Scope2" DstPort 1 } Branch { ZOrder 107 DstBlock "Sum7" DstPort 2 } } Line { ZOrder 100 SrcBlock "yaw" SrcPort 1 Points [25, 0] Branch { ZOrder 172 DstBlock "Scope1" DstPort 1 } Branch { ZOrder 102 DstBlock "Sum8" DstPort 2 } } Line { ZOrder 98 SrcBlock "yaw_setpoint" SrcPort 1 DstBlock "Sum8" DstPort 1 } Line { ZOrder 434 SrcBlock "Sum2" SrcPort 1 DstBlock "PID Controller9" DstPort 1 } Line { ZOrder 416 SrcBlock "Sum6" SrcPort 1 DstBlock "PID Controller6" DstPort 1 } Line { ZOrder 461 SrcBlock "Sum5" SrcPort 1 DstBlock "PID Controller4" DstPort 1 } Line { ZOrder 281 SrcBlock "Sum7" SrcPort 1 DstBlock "PID Controller11" DstPort 1 } Line { ZOrder 285 SrcBlock "Sum8" SrcPort 1 DstBlock "PID Controller10" DstPort 1 } Line { ZOrder 451 SrcBlock "Sum4" SrcPort 1 DstBlock "PID Controller1" DstPort 1 } Line { ZOrder 456 SrcBlock "PID Controller1" SrcPort 1 DstBlock "Gain3" DstPort 1 } Line { ZOrder 459 SrcBlock "Sum3" SrcPort 1 DstBlock "Saturation2" DstPort 1 } Line { ZOrder 462 SrcBlock "PID Controller4" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { ZOrder 464 SrcBlock "PID Controller9" SrcPort 1 DstBlock "Gain2" DstPort 1 } Line { ZOrder 473 SrcBlock "PID Controller11" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { ZOrder 478 SrcBlock "PID Controller2" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { ZOrder 482 SrcBlock "Sum1" SrcPort 1 DstBlock "Saturation1" DstPort 1 } Line { ZOrder 486 SrcBlock "Saturation2" SrcPort 1 DstBlock "PID Controller3" DstPort 1 } Line { ZOrder 488 SrcBlock "Gain1" SrcPort 1 DstBlock "height_controlled" DstPort 1 } Line { ZOrder 489 SrcBlock "Gain2" SrcPort 1 DstBlock "y_controlled" DstPort 1 } Line { ZOrder 490 SrcBlock "Gain3" SrcPort 1 DstBlock "x_controlled" DstPort 1 } Line { ZOrder 491 SrcBlock "Gain4" SrcPort 1 DstBlock "yaw_controlled" DstPort 1 } Line { ZOrder 492 SrcBlock "PID Controller3" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { ZOrder 493 SrcBlock "Saturation3" SrcPort 1 DstBlock "PID Controller2" DstPort 1 } Line { ZOrder 496 SrcBlock "Saturation1" SrcPort 1 DstBlock "PID Controller8" DstPort 1 } Line { ZOrder 498 SrcBlock "PID Controller10" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { ZOrder 500 SrcBlock "PID Controller8" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { ZOrder 501 SrcBlock "PID Controller6" SrcPort 1 DstBlock "Sum1" DstPort 1 } Annotation { SID "901" Name "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">" "\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap" "; }\n</style></head><body style=\" font-family:'Helvetica'; font-size:10px; font-weight:400; font-style:normal;" "\">\n<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" " -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>" Position [264, 366, 266, 381] InternalMargins [0, 0, 0, 0] FixedHeight off FixedWidth off HorizontalAlignment "left" VerticalAlignment "top" Interpreter "rich" } } } Block { BlockType Demux Name "Demux" SID "586" Ports [1, 4] Position [300, 309, 305, 406] ZOrder 13 ShowName off DisplayOption "bar" } Block { BlockType Demux Name "Demux1" SID "639" Ports [1, 3] Position [300, 484, 305, 556] ZOrder 32 ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Demux Name "Demux2" SID "588" Ports [1, 3] Position [285, 409, 290, 481] ZOrder 15 ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Demux Name "Demux4" SID "640" Ports [1, 3] Position [275, 559, 280, 631] ZOrder 33 ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "MATLAB Function" SID "647" Ports [4, 1] Position [725, 308, 925, 632] ZOrder 35 ErrorFcn "Stateflow.Translate.translate" PermitHierarchicalResolution "ExplicitOnly" TreatAsAtomicUnit on RequestExecContextInheritance off SFBlockType "MATLAB Function" System { Name "MATLAB Function" Location [223, 338, 826, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" SIDHighWatermark "27" Block { BlockType Inport Name "height_controlled" SID "647::1" Position [20, 101, 40, 119] ZOrder -1 IconDisplay "Port number" } Block { BlockType Inport Name "y_controlled" SID "647::23" Position [20, 136, 40, 154] ZOrder 14 Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "x_controlled" SID "647::22" Position [20, 171, 40, 189] ZOrder 13 Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "yaw_controlled" SID "647::24" Position [20, 206, 40, 224] ZOrder 15 Port "4" IconDisplay "Port number" } Block { BlockType Demux Name " Demux " SID "647::20" Ports [1, 1] Position [270, 230, 320, 270] ZOrder 11 Outputs "1" } Block { BlockType S-Function Name " SFunction " SID "647::19" Tag "Stateflow S-Function test_model_R2015A 14" Ports [4, 2] Position [180, 107, 230, 208] ZOrder 10 FunctionName "sf_sfun" PortCounts "[4 2]" EnableBusSupport on Port { PortNumber 2 Name "motorCommands" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name " Terminator " SID "647::21" Position [460, 241, 480, 259] ZOrder 12 } Block { BlockType Outport Name "motorCommands" SID "647::5" Position [460, 101, 480, 119] ZOrder -5 IconDisplay "Port number" } Line { ZOrder 105 SrcBlock "height_controlled" SrcPort 1 DstBlock " SFunction " DstPort 1 } Line { ZOrder 106 SrcBlock "y_controlled" SrcPort 1 DstBlock " SFunction " DstPort 2 } Line { ZOrder 107 SrcBlock "x_controlled" SrcPort 1 DstBlock " SFunction " DstPort 3 } Line { ZOrder 108 SrcBlock "yaw_controlled" SrcPort 1 DstBlock " SFunction " DstPort 4 } Line { Name "motorCommands" ZOrder 109 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 DstBlock "motorCommands" DstPort 1 } Line { ZOrder 110 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { ZOrder 111 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " DstPort 1 } } } Block { BlockType Saturate Name "Saturation" SID "756" Ports [1, 1] Position [960, 455, 990, 485] ZOrder 44 InputPortMap "u0" UpperLimit "Pmax*ones(4,1)" LowerLimit "Pmin*ones(4,1)" } Block { BlockType Scope Name "Scope1" SID "794" Ports [1] Position [1080, 564, 1110, 596] ZOrder 46 Floating off Location [188, 365, 512, 604] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%<SignalLabel>" } List { ListType ScopeGraphics FigureColor "[0.156862745098039 0.156862745098039 0.156862745098039]" AxesColor "[0 0 0]" AxesTickColor "[0.686274509803922 0.686274509803922 0.686274509803922]" LineColors "[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]" LineStyles "-|-|-|-|-|-" LineWidths "[0.5 0.5 0.5 0.5 0.5 0.5]" MarkerStyles "none|none|none|none|none|none" } YMin "87500.00000" YMax "212500.00000" SaveName "ScopeData4" DataFormat "StructureWithTime" LimitDataPoints off } Block { BlockType Sum Name "Sum" SID "748" Ports [2, 1] Position [655, 340, 675, 360] ZOrder 36 ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" SID "749" Ports [2, 1] Position [655, 420, 675, 440] ZOrder 37 ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" SID "750" Ports [2, 1] Position [655, 500, 675, 520] ZOrder 38 ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" SID "751" Ports [2, 1] Position [655, 580, 675, 600] ZOrder 39 ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeStr "Inherit: Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Constant Name "height_controlled_o" SID "752" Position [605, 375, 635, 405] ZOrder 40 Value "height_controlled_o" SampleTime "5e-3" } Block { BlockType Constant Name "x_controlled_o" SID "754" Position [605, 535, 635, 565] ZOrder 42 Value "x_controlled_o" SampleTime "5e-3" } Block { BlockType Constant Name "y_controlled_o" SID "753" Position [605, 455, 635, 485] ZOrder 41 Value "y_controlled_o" SampleTime "5e-3" } Block { BlockType Constant Name "yaw_controlled_o" SID "755" Position [605, 620, 635, 650] ZOrder 43 Value "yaw_controlled_o" SampleTime "5e-3" } Block { BlockType Outport Name "Motor Commands" SID "578" Position [1055, 463, 1085, 477] ZOrder -2 IconDisplay "Port number" } Line { ZOrder 1 SrcBlock "setpoints" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { ZOrder 30 SrcBlock "euler_angles_filtered" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { ZOrder 3 SrcBlock "current_position" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { ZOrder 34 SrcBlock "euler_rates" SrcPort 1 DstBlock "Demux4" DstPort 1 } Line { ZOrder 27 SrcBlock "Demux" SrcPort 1 DstBlock "Controller" DstPort 1 } Line { ZOrder 28 SrcBlock "Demux" SrcPort 2 DstBlock "Controller" DstPort 2 } Line { ZOrder 29 SrcBlock "Demux" SrcPort 3 DstBlock "Controller" DstPort 3 } Line { ZOrder 40 SrcBlock "Demux2" SrcPort 1 DstBlock "Controller" DstPort 5 } Line { ZOrder 41 SrcBlock "Demux2" SrcPort 2 DstBlock "Controller" DstPort 6 } Line { ZOrder 42 SrcBlock "Demux2" SrcPort 3 DstBlock "Controller" DstPort 7 } Line { ZOrder 68 SrcBlock "Controller" SrcPort 2 DstBlock "Sum1" DstPort 1 } Line { ZOrder 69 SrcBlock "Sum1" SrcPort 1 DstBlock "MATLAB Function" DstPort 2 } Line { ZOrder 71 SrcBlock "Sum2" SrcPort 1 DstBlock "MATLAB Function" DstPort 3 } Line { ZOrder 72 SrcBlock "Controller" SrcPort 4 DstBlock "Sum3" DstPort 1 } Line { ZOrder 73 SrcBlock "Sum3" SrcPort 1 DstBlock "MATLAB Function" DstPort 4 } Line { ZOrder 74 SrcBlock "Controller" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { ZOrder 75 SrcBlock "Sum" SrcPort 1 DstBlock "MATLAB Function" DstPort 1 } Line { ZOrder 77 SrcBlock "y_controlled_o" SrcPort 1 Points [25, 0] DstBlock "Sum1" DstPort 2 } Line { ZOrder 78 SrcBlock "x_controlled_o" SrcPort 1 Points [25, 0] DstBlock "Sum2" DstPort 2 } Line { ZOrder 79 SrcBlock "yaw_controlled_o" SrcPort 1 Points [25, 0] DstBlock "Sum3" DstPort 2 } Line { ZOrder 80 SrcBlock "MATLAB Function" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { ZOrder 81 SrcBlock "Saturation" SrcPort 1 Points [21, 0] Branch { ZOrder 122 Points [0, 110] DstBlock "Scope1" DstPort 1 } Branch { ZOrder 121 DstBlock "Motor Commands" DstPort 1 } } Line { ZOrder 84 SrcBlock "Demux1" SrcPort 1 DstBlock "Controller" DstPort 8 } Line { ZOrder 86 SrcBlock "Demux1" SrcPort 2 DstBlock "Controller" DstPort 9 } Line { ZOrder 90 SrcBlock "Demux4" SrcPort 1 DstBlock "Controller" DstPort 11 } Line { ZOrder 91 SrcBlock "Demux4" SrcPort 2 DstBlock "Controller" DstPort 12 } Line { ZOrder 93 SrcBlock "Demux4" SrcPort 3 DstBlock "Controller" DstPort 13 } Line { ZOrder 94 SrcBlock "Demux" SrcPort 4 DstBlock "Controller" DstPort 4 } Line { ZOrder 95 SrcBlock "Demux1" SrcPort 3 DstBlock "Controller" DstPort 10 } Line { ZOrder 131 SrcBlock "Controller" SrcPort 3 DstBlock "Sum2" DstPort 1 } Line { ZOrder 133 SrcBlock "height_controlled_o" SrcPort 1 Points [25, 0] DstBlock "Sum" DstPort 2 } } } Line { ZOrder 52 SrcBlock "Control System" SrcPort 1 DstBlock "Actuation" DstPort 1 } Line { ZOrder 55 SrcBlock "Communication System" SrcPort 1 DstBlock "Control System" DstPort 1 } Line { ZOrder 189 SrcBlock "Actuation" SrcPort 1 DstBlock " Sensors " DstPort 1 } Line { ZOrder 191 SrcBlock "Actuation" SrcPort 3 DstBlock " Sensors " DstPort 3 } Line { ZOrder 192 SrcBlock "Actuation" SrcPort 4 DstBlock " Sensors " DstPort 4 } Line { ZOrder 193 SrcBlock "Actuation" SrcPort 5 DstBlock " Sensors " DstPort 5 } Line { ZOrder 194 SrcBlock "Actuation" SrcPort 6 DstBlock " Sensors " DstPort 6 } Line { ZOrder 195 SrcBlock " Sensors " SrcPort 3 Points [9, 0; 0, 210; -903, 0; 0, -160] DstBlock "Control System" DstPort 4 } Line { ZOrder 196 SrcBlock " Sensors " SrcPort 2 Points [16, 0; 0, 302; -924, 0; 0, -247] DstBlock "Control System" DstPort 3 } Line { ZOrder 190 SrcBlock "Actuation" SrcPort 2 DstBlock " Sensors " DstPort 2 } Line { ZOrder 208 SrcBlock " Sensors " SrcPort 4 Points [2, 0; 0, 42; -903, 0; 0, -162] DstBlock "Control System" DstPort 2 } } } #Finite State Machines # # Stateflow 80000005 # # Stateflow { machine { id 1 name "test_model_R2015A" created "03-Nov-2016 18:34:53" isLibrary 0 firstTarget 145 sfVersion 80000005 } chart { id 2 name "Actuation/Gravity\n\n" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 3 0 0] firstTransition 8 firstJunction 7 viewObj 2 machine 1 ssIdHighWaterMark 7 decomposition CLUSTER_CHART type EML_CHART firstData 4 chartFileNumber 1 disableImplicitCasting 1 eml { name "gravity" } } state { id 3 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 2 treeNode [2 0 0 0] superState SUBCHART subviewer 2 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function E_Fg = gravity(m, g)\n\nE_Fg = [0; 0; m*g];\n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 4 ssIdNumber 5 name "E_Fg" linkNode [2 0 5] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 5 ssIdNumber 6 name "m" linkNode [2 4 6] scope PARAMETER_DATA paramIndexForInitFromWorkspace 1 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 6 ssIdNumber 7 name "g" linkNode [2 5 0] scope PARAMETER_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 7 position [23.5747 49.5747 7] chart 2 linkNode [2 0 0] subviewer 2 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 8 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 7 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 2 linkNode [2 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 2 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 9 name "Actuation/Gravity\n\n" machine 1 chart 2 } chart { id 10 name "Actuation/Lbe\n\n\n\n\n\n" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 11 0 0] firstTransition 16 firstJunction 15 viewObj 10 machine 1 ssIdHighWaterMark 11 decomposition CLUSTER_CHART type EML_CHART firstData 12 chartFileNumber 2 disableImplicitCasting 1 eml { name "linear_body_earth_conversion" } } state { id 11 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 10 treeNode [10 0 0 0] superState SUBCHART subviewer 10 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function E_ro = linear_body_earth_conversion(B_vo, euler_angles)\n\neuler_rates = zeros(3,1);\nE" "_ro = zeros(3,1);\n\nphi = euler_angles(1);\ntheta = euler_angles(2);\npsi = euler_angles(3);\n\nLeb = [cos(thet" "a)*cos(psi), sin(phi)*sin(theta)*cos(psi)-cos(phi)*sin(psi), cos(phi)*sin(theta)*cos(psi)+sin(phi)*sin(psi); ..." "\n cos(theta)*sin(psi), sin(phi)*sin(theta)*sin(psi)+cos(phi)*cos(psi), cos(phi)*sin(theta)*sin(psi)-sin(p" "hi)*cos(psi); ...\n -sin(theta) , sin(phi)*cos(theta) , c" "os(phi)*cos(theta) ];\n\nE_ro = Leb * B_vo;" editorLayout "100 M4x1[10 5 700 500]" } } data { id 12 ssIdNumber 7 name "B_vo" linkNode [10 0 13] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 13 ssIdNumber 11 name "euler_angles" linkNode [10 12 14] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 14 ssIdNumber 9 name "E_ro" linkNode [10 13 0] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } junction { id 15 position [23.5747 49.5747 7] chart 10 linkNode [10 0 0] subviewer 10 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 16 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 15 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 10 linkNode [10 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 10 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 17 name "Actuation/Lbe\n\n\n\n\n\n" machine 1 chart 10 } chart { id 18 name " Sensors /3D Graphical Simulation1/MATLAB Function" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 19 0 0] firstTransition 23 firstJunction 22 viewObj 18 machine 1 ssIdHighWaterMark 5 decomposition CLUSTER_CHART type EML_CHART firstData 20 chartFileNumber 3 disableImplicitCasting 1 eml { name "eigenaxis_ucart" } } state { id 19 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 18 treeNode [18 0 0 0] superState SUBCHART subviewer 18 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function y = eigenaxis_ucart(u)\n\n\nif abs(u(1))< 0.0001\n u(1) = 0.0001;\nend\n\nif abs(u(2)" ")< 0.0001\n u(2) = 0.0001;\nend\n\nif abs(u(3))< 0.0001\n u(3) = 0.0001;\nend\n\nu = [ -u(1); -u(2); u(3) " "];% [Pitch, Yaw, Roll] \n\nC11 = cos(u(2))*cos(u(3));\nC12 = cos(u(2))*sin(u(3));\nC13 = -sin(u(2));\nC21 = sin(" "u(1))*sin(u(2))*cos(u(3))-cos(u(1))*sin(u(3));\nC22 = sin(u(1))*sin(u(2))*sin(u(3))+cos(u(1))*cos(u(3));\nC23 = " "sin(u(1))*cos(u(2));\nC31 = cos(u(1))*sin(u(2))*cos(u(3))+sin(u(1))*sin(u(3));\nC32 = cos(u(1))*sin(u(2))*sin(u(" "3))-sin(u(1))*cos(u(3));\nC33 = cos(u(1))*cos(u(2));\n \ntheta = acos(0.5*(C11+C22+C33-1));\n\ne = [C23-C32; " "C31-C13; C12-C21]/(2*sin(theta));\n \ny = [e; theta];\n\n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 20 ssIdNumber 4 name "u" linkNode [18 0 21] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 21 ssIdNumber 5 name "y" linkNode [18 20 0] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } junction { id 22 position [23.5747 49.5747 7] chart 18 linkNode [18 0 0] subviewer 18 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 23 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 22 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 18 linkNode [18 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 18 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 24 name " Sensors /3D Graphical Simulation1/MATLAB Function" machine 1 chart 18 } chart { id 25 name "Actuation/ESC System" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 26 0 0] firstTransition 33 firstJunction 32 viewObj 25 machine 1 ssIdHighWaterMark 18 decomposition CLUSTER_CHART type EML_CHART firstData 27 chartFileNumber 4 disableImplicitCasting 1 eml { name "ESC" } } state { id 26 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 25 treeNode [25 0 0 0] superState SUBCHART subviewer 25 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function Vb_eff = ESC(rotor_duty_cycles, Pmin, Pmax, Vb)\n\nrotor_0_duty_cycle = rotor_duty_cyc" "les(1);\nrotor_1_duty_cycle = rotor_duty_cycles(2);\nrotor_2_duty_cycle = rotor_duty_cycles(3);\nrotor_3_duty_cy" "cle = rotor_duty_cycles(4);\n\n% Define u_Pi for each of the rotors, limiting it to be greater than 0\n% u_P0 = " "(rotor_0_duty_cycle/100 - Pmin) / (Pmax - Pmin);\n% u_P1 = (rotor_1_duty_cycle/100 - Pmin) / (Pmax - Pmin);\n% u" "_P2 = (rotor_2_duty_cycle/100 - Pmin) / (Pmax - Pmin);\n% u_P3 = (rotor_3_duty_cycle/100 - Pmin) / (Pmax - Pmin)" ";\nu_P0 = (rotor_0_duty_cycle - Pmin) / (Pmax - Pmin);\nu_P1 = (rotor_1_duty_cycle - Pmin) / (Pmax - Pmin);\nu_P" "2 = (rotor_2_duty_cycle - Pmin) / (Pmax - Pmin);\nu_P3 = (rotor_3_duty_cycle - Pmin) / (Pmax - Pmin);\n\n\n% Det" "ermine the effective battery voltage from each ESC\nVb_eff_0 = u_P0 * Vb;\nVb_eff_1 = u_P1 * Vb;\nVb_eff_2 = u_P" "2 * Vb;\nVb_eff_3 = u_P3 * Vb;\n \nVb_eff = [Vb_eff_0, Vb_eff_1, Vb_eff_2, Vb_eff_3];\n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 27 ssIdNumber 4 name "rotor_duty_cycles" linkNode [25 0 28] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 28 ssIdNumber 5 name "Vb_eff" linkNode [25 27 29] scope OUTPUT_DATA machine 1 props { array { size "1,4" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 29 ssIdNumber 16 name "Pmin" linkNode [25 28 30] scope PARAMETER_DATA paramIndexForInitFromWorkspace 1 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 30 ssIdNumber 17 name "Pmax" linkNode [25 29 31] scope PARAMETER_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 31 ssIdNumber 18 name "Vb" linkNode [25 30 0] scope PARAMETER_DATA paramIndexForInitFromWorkspace 2 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 32 position [23.5747 49.5747 7] chart 25 linkNode [25 0 0] subviewer 25 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 33 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 32 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 25 linkNode [25 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 25 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 34 name "Actuation/ESC System" machine 1 chart 25 } chart { id 35 name "Actuation/Motor System" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 36 0 0] firstTransition 47 firstJunction 46 viewObj 35 machine 1 ssIdHighWaterMark 16 decomposition CLUSTER_CHART type EML_CHART firstData 37 chartFileNumber 5 disableImplicitCasting 1 eml { name "motor" } } state { id 36 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 35 treeNode [35 0 0 0] superState SUBCHART subviewer 35 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function angular_acceleration = motor(Vb_eff, angular_velocity, Rm, Kv, Kq, Kd, If, Jreq)\n\n% De" "fine each motors effective battery voltage\nVb_eff_0 = Vb_eff(1);\nVb_eff_1 = Vb_eff(2);\nVb_eff_2 = Vb_eff(3);\n" "Vb_eff_3 = Vb_eff(4);\n\n% Determine the angular velocity of each rotor from feedback\nw_0 = angular_velocity(1)" ";\nw_1 = angular_velocity(2);\nw_2 = angular_velocity(3);\nw_3 = angular_velocity(4);\n\n% w_0 = (-1 + sqrt(1 - " "4*Rm*Kv*Kq*Kd*(Kv*Rm*If - Kv*Vb_eff_0)))/2*Rm*Kv*Kq*Kd;\n% w_1 = (-1 + sqrt(1 - 4*Rm*Kv*Kq*Kd*(Kv*Rm*If - Kv*Vb_" "eff_1)))/2*Rm*Kv*Kq*Kd;\n% w_2 = (-1 + sqrt(1 - 4*Rm*Kv*Kq*Kd*(Kv*Rm*If - Kv*Vb_eff_2)))/2*Rm*Kv*Kq*Kd;\n% w_3 =" " (-1 + sqrt(1 - 4*Rm*Kv*Kq*Kd*(Kv*Rm*If - Kv*Vb_eff_3)))/2*Rm*Kv*Kq*Kd;\n% angular_velocity = [w_0, w_1, w_2, w_" "3];\n\n% Determine angular acceleration of each rotor\nw_0_dot = 1/(Jreq*Rm*Kq) * Vb_eff_0 - 1/(Jreq*Rm*Kq*Kv) *" " w_0 - 1/(Jreq*Kq)*If - (Kd/Jreq) * w_0^2;\nw_1_dot = 1/(Jreq*Rm*Kq) * Vb_eff_1 - 1/(Jreq*Rm*Kq*Kv) * w_1 - 1/(J" "req*Kq)*If - (Kd/Jreq) * w_1^2;\nw_2_dot = 1/(Jreq*Rm*Kq) * Vb_eff_2 - 1/(Jreq*Rm*Kq*Kv) * w_2 - 1/(Jreq*Kq)*If " "- (Kd/Jreq) * w_2^2;\nw_3_dot = 1/(Jreq*Rm*Kq) * Vb_eff_3 - 1/(Jreq*Rm*Kq*Kv) * w_3 - 1/(Jreq*Kq)*If - (Kd/Jreq)" " * w_3^2;\n\n\n\nangular_acceleration = [w_0_dot, w_1_dot, w_2_dot, w_3_dot]; " editorLayout "100 M4x1[10 5 700 500]" } } data { id 37 ssIdNumber 4 name "Vb_eff" linkNode [35 0 38] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 38 ssIdNumber 16 name "angular_velocity" linkNode [35 37 39] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 39 ssIdNumber 7 name "angular_acceleration" linkNode [35 38 40] scope OUTPUT_DATA machine 1 props { array { size "1,4" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 40 ssIdNumber 9 name "Rm" linkNode [35 39 41] scope PARAMETER_DATA paramIndexForInitFromWorkspace 5 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 41 ssIdNumber 10 name "Kv" linkNode [35 40 42] scope PARAMETER_DATA paramIndexForInitFromWorkspace 4 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 42 ssIdNumber 11 name "Kq" linkNode [35 41 43] scope PARAMETER_DATA paramIndexForInitFromWorkspace 3 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 43 ssIdNumber 12 name "Kd" linkNode [35 42 44] scope PARAMETER_DATA paramIndexForInitFromWorkspace 2 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 44 ssIdNumber 13 name "If" linkNode [35 43 45] scope PARAMETER_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 45 ssIdNumber 14 name "Jreq" linkNode [35 44 0] scope PARAMETER_DATA paramIndexForInitFromWorkspace 1 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 46 position [23.5747 49.5747 7] chart 35 linkNode [35 0 0] subviewer 35 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 47 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 46 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 35 linkNode [35 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 35 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 48 name "Actuation/Motor System" machine 1 chart 35 } chart { id 49 name "Actuation/Rotor System\n\n\n\n\n\n\n\n" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 50 0 0] firstTransition 69 firstJunction 68 viewObj 49 machine 1 ssIdHighWaterMark 30 decomposition CLUSTER_CHART type EML_CHART firstData 51 chartFileNumber 6 disableImplicitCasting 1 eml { name "rotor" } } state { id 50 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 49 treeNode [49 0 0 0] superState SUBCHART subviewer 49 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function [B_omega_dot, B_vo_dot]= rotor(angular_acceleration, angular_velocity, B_Fg, B_omega, B_" "vo, m, Kt, Kd, rhx, rhy, rhz, Jreq, Jxx, Jyy, Jzz)\n\n%B_vo_dot = zeros(3,1);\n%B_omega_dot = zeros(3,1);\n\n% C" "reate J vector\nJ = [Jxx, 0 , 0 ; ...\n 0 , Jyy, 0 ; ...\n 0 , 0 , Jzz;];\n\n% Create r_hi vector\n" "% rh_0 = [-rhx; rhy; rhz];\n% rh_1 = [rhx; rhy; rhz];\n% rh_2 = [-rhx; -rhy; rhz];\n% rh_3 = [rhx; -rhy; rhz];\n" "rh_0 = [-rhx; rhy; -rhz];\nrh_1 = [rhx; rhy; -rhz];\nrh_2 = [-rhx; -rhy; -rhz];\nrh_3 = [rhx; -rhy; -rhz];\n\n% " "Define vector from body frame origin to center of mass\nbr_oc = [0; 0; 0];\n\n% Define 3x3 Identity Matrix\nI = " "eye(3);\n\n% Create gamma vectors\ngamma_Ti = [0; 0; -1];\n%gamma_omega_03 = [0; 0; -1]; %Rotors 0 and 3 use th" "is gamma_omega vector\n%gamma_omega_12 = [0; 0; 1]; %Rotors 1 and 2 use this gamma_omega vector\ngamma_omega_03 " "= [0; 0; 1]; %Rotors 0 and 3 use this gamma_omega vector\ngamma_omega_12 = [0; 0; -1]; %Rotors 1 and 2 use this" " gamma_omega vector\n\n% Define angular velocities for each rotor\nw_0 = angular_velocity(1);\nw_1 = angular_vel" "ocity(2);\nw_2 = angular_velocity(3);\nw_3 = angular_velocity(4);\n\n% Define angular acceleration for each roto" "r\nw_0_dot = angular_acceleration(1);\nw_1_dot = angular_acceleration(2);\nw_2_dot = angular_acceleration(3);\nw" "_3_dot = angular_acceleration(4);\n\n% Define the rotor force in the z-direction from each rotor\nB_Fr_0 = Kt * " "w_0 * w_0 * gamma_Ti;\nB_Fr_1 = Kt * w_1 * w_1 * gamma_Ti;\nB_Fr_2 = Kt * w_2 * w_2 * gamma_Ti;\nB_Fr_3 = Kt * w" "_3 * w_3 * gamma_Ti;\n\n% Sum up the rotor forces in the z-direction from each vector to get the\n% total body f" "orce in the z-direction\nB_Fr = B_Fr_0 + B_Fr_1 + B_Fr_2 + B_Fr_3;\n\n% Define the in-plane drag and induced tor" "que produced by each rotor\n B_Q_d0 = -1 * Kd * w_0 * w_0 * gamma_omega_03;\n B_Q_d1 = -1 * Kd * w_1 * w_1 * gam" "ma_omega_12;\n B_Q_d2 = -1 * Kd * w_2 * w_2 * gamma_omega_12;\n B_Q_d3 = -1 * Kd * w_3 * w_3 * gamma_omega_03;\n" "\n% Sum up the total in-plane drag and induced torque to get the total\n% in-plane drag and induced torque on th" "e body\nB_Q_d = B_Q_d0 + B_Q_d1 + B_Q_d2 + B_Q_d3;\n\n% Define the force lever arm torque created from the force" " produced by each\n% rotor in the z-direction\nB_Q_F0 = cross( rh_0, B_Fr_0 );\nB_Q_F1 = cross( rh_1, B_Fr_1 );\n" "B_Q_F2 = cross( rh_2, B_Fr_2 );\nB_Q_F3 = cross( rh_3, B_Fr_3 );\n\nB_Q_F = B_Q_F0 + B_Q_F1 + B_Q_F2 + B_Q_F3;\n" "\n%Define the change in angular momentum torque produced by each rotor \nB_Q_L0 = -1 * Jreq * ( cross(B_omega, w" "_0 * gamma_omega_03) + w_0_dot * gamma_omega_03 );\nB_Q_L1 = -1 * Jreq * ( cross(B_omega, w_1 * gamma_omega_12) " "+ w_1_dot * gamma_omega_12 ); \nB_Q_L2 = -1 * Jreq * ( cross(B_omega, w_2 * gamma_omega_12) + w_2_dot * gamma_om" "ega_12 ); \nB_Q_L3 = -1 * Jreq * ( cross(B_omega, w_3 * gamma_omega_03) + w_3_dot * gamma_omega_03 );\n\n% Sum u" "p the total change in angular momentum torque produced by each rotor\nB_Q_L = B_Q_L0 + B_Q_L1 + B_Q_L2 + B_Q_L3;" "\n\n% Define the total rotor system torque as the sum of the in-plane drag and\n% induced torque, force lever ar" "m torque, and change in angular momentum\n% torques\nB_Q = B_Q_d + B_Q_F + B_Q_L;\n\n% Define the body forces in" " the z-direction from each vector to get the\n% total body force in the z-direction\nB_F = B_Fr + B_Fg; \n\n% De" "fine the body frame linear velocities\nB_vo_dot = (m*I)^(-1) * ( B_F - cross( B_omega, m*(B_vo + cross(B_omega, " "br_oc)) ) );\n\n% Define the body frame angular velocities\nB_omega_dot = J ^(-1) * ( B_Q - cross(B_omega, J * B" "_omega) - cross(br_oc, B_F) );\n\n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 51 ssIdNumber 6 name "B_omega_dot" linkNode [49 0 52] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 52 ssIdNumber 10 name "angular_acceleration" linkNode [49 51 53] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 53 ssIdNumber 11 name "angular_velocity" linkNode [49 52 54] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 54 ssIdNumber 30 name "B_Fg" linkNode [49 53 55] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 55 ssIdNumber 8 name "B_omega" linkNode [49 54 56] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 56 ssIdNumber 5 name "B_vo_dot" linkNode [49 55 57] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 57 ssIdNumber 7 name "B_vo" linkNode [49 56 58] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 58 ssIdNumber 12 name "m" linkNode [49 57 59] scope PARAMETER_DATA paramIndexForInitFromWorkspace 6 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 59 ssIdNumber 14 name "Kt" linkNode [49 58 60] scope PARAMETER_DATA paramIndexForInitFromWorkspace 5 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 60 ssIdNumber 13 name "Kd" linkNode [49 59 61] scope PARAMETER_DATA paramIndexForInitFromWorkspace 4 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 61 ssIdNumber 15 name "rhx" linkNode [49 60 62] scope PARAMETER_DATA paramIndexForInitFromWorkspace 7 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 62 ssIdNumber 16 name "rhy" linkNode [49 61 63] scope PARAMETER_DATA paramIndexForInitFromWorkspace 8 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 63 ssIdNumber 17 name "rhz" linkNode [49 62 64] scope PARAMETER_DATA paramIndexForInitFromWorkspace 9 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 64 ssIdNumber 18 name "Jreq" linkNode [49 63 65] scope PARAMETER_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 65 ssIdNumber 19 name "Jxx" linkNode [49 64 66] scope PARAMETER_DATA paramIndexForInitFromWorkspace 1 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 66 ssIdNumber 20 name "Jyy" linkNode [49 65 67] scope PARAMETER_DATA paramIndexForInitFromWorkspace 2 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 67 ssIdNumber 21 name "Jzz" linkNode [49 66 0] scope PARAMETER_DATA paramIndexForInitFromWorkspace 3 machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 68 position [23.5747 49.5747 7] chart 49 linkNode [49 0 0] subviewer 49 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 69 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 68 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 49 linkNode [49 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 49 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 70 name "Actuation/Rotor System\n\n\n\n\n\n\n\n" machine 1 chart 49 } chart { id 71 name "Actuation/Aeb\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 72 0 0] firstTransition 77 firstJunction 76 viewObj 71 machine 1 ssIdHighWaterMark 6 decomposition CLUSTER_CHART type EML_CHART firstData 73 chartFileNumber 7 disableImplicitCasting 1 eml { name "angular_body_earth_conversion" } } state { id 72 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 71 treeNode [71 0 0 0] superState SUBCHART subviewer 71 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function euler_rates = angular_body_earth_conversion(B_omega, euler_angles)\n\neuler_rates = zero" "s(3,1);\n\nphi = euler_angles(1);\ntheta = euler_angles(2);\n\nAeb = [1, sin(phi)*tan(theta), cos(phi)*tan(theta" "); ...\n 0, cos(phi) , -sin(phi) ; ...\n 0, sin(phi)/cos(theta), cos(phi)/cos(th" "eta)];\n\n \neuler_rates = Aeb * B_omega;\n " editorLayout "100 M4x1[10 5 700 500]" } } data { id 73 ssIdNumber 4 name "B_omega" linkNode [71 0 74] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 74 ssIdNumber 5 name "euler_rates" linkNode [71 73 75] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 75 ssIdNumber 6 name "euler_angles" linkNode [71 74 0] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 76 position [23.5747 49.5747 7] chart 71 linkNode [71 0 0] subviewer 71 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 77 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 76 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 71 linkNode [71 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 71 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 78 name "Actuation/Aeb\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" machine 1 chart 71 } chart { id 79 name "Actuation/Lbe\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 80 0 0] firstTransition 87 firstJunction 86 viewObj 79 machine 1 ssIdHighWaterMark 13 decomposition CLUSTER_CHART type EML_CHART firstData 81 chartFileNumber 8 disableImplicitCasting 1 eml { name "linear_earth_body_conversion" } } state { id 80 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 79 treeNode [79 0 0 0] superState SUBCHART subviewer 79 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function [B_Fg, B_g] = linear_earth_body_conversion(E_Fg, euler_angles, m)\n\nphi = euler_angles" "(1);\ntheta = euler_angles(2);\npsi = euler_angles(3);\n\nLbe = [ cos(theta)*cos(psi) ," " cos(theta)*sin(psi) , -sin(theta) ; ...\n sin(phi)*sin(theta)*cos(psi)-c" "os(phi)*sin(psi), sin(phi)*sin(theta)*sin(psi)+cos(phi)*cos(psi), sin(phi)*cos(theta); ...\n cos(phi)*sin(" "theta)*cos(psi)+sin(phi)*sin(psi), cos(phi)*sin(theta)*sin(psi)-sin(phi)*cos(psi), cos(phi)*cos(theta)];\n\nB_Fg" " = Lbe * E_Fg;\n\nB_g = B_Fg/m;" editorLayout "100 M4x1[10 5 700 500]" } } data { id 81 ssIdNumber 7 name "E_Fg" linkNode [79 0 82] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 82 ssIdNumber 11 name "euler_angles" linkNode [79 81 83] scope INPUT_DATA machine 1 props { array { size "3" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 83 ssIdNumber 9 name "B_Fg" linkNode [79 82 84] scope OUTPUT_DATA machine 1 props { array { size "3" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 84 ssIdNumber 12 name "B_g" linkNode [79 83 85] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 85 ssIdNumber 13 name "m" linkNode [79 84 0] scope PARAMETER_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 86 position [23.5747 49.5747 7] chart 79 linkNode [79 0 0] subviewer 79 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 87 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 86 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 79 linkNode [79 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 79 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 88 name "Actuation/Lbe\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" machine 1 chart 79 } chart { id 89 name " Sensors /Complimentary Filter\n\n\n\n\n\n\n\n" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 90 0 0] firstTransition 96 firstJunction 95 viewObj 89 visible 1 machine 1 subviewS { } ssIdHighWaterMark 16 decomposition CLUSTER_CHART type EML_CHART firstData 91 chartFileNumber 9 disableImplicitCasting 1 eml { name "complimentaryFilter" } } state { id 90 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 89 treeNode [89 0 0 0] superState SUBCHART subviewer 89 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "%function euler_angles_IMU = complimentaryFilter(accel_pitch, accel_roll, euler_angles_gyro, pre" "v_euler_angles_IMU)\nfunction euler_angles_IMU = complimentaryFilter(accel_pitch, accel_roll, euler_angles_gyro" ")\n\n% LOOP_TIME = 5*10^-3;\n% \n% prev_phi = prev_euler_angles_IMU(1);\n% prev_theta = prev_euler_angles_IMU(2)" ";\n% \n% phi_dot_gyro = euler_angles_gyro(1);\n% theta_dot_gyro = euler_angles_gyro(2);\n\n% phi = 0.98 * ( prev" "_phi + phi_dot_gyro * LOOP_TIME ) + 0.02 * accel_roll;\n% theta = 0.98 * ( prev_theta + theta_dot_gyro * LOOP_TI" "ME) + 0.02 * accel_pitch;\nk_gyro = 0.98; \nk_accel = 1-k_gyro; \n\nphi = k_gyro * ( euler_angles_gyro(1) ) + k_" "accel * accel_roll;\ntheta = k_gyro * ( euler_angles_gyro(2) ) + k_accel * accel_pitch;\n\neuler_angles_IMU = [p" "hi; theta];\n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 91 ssIdNumber 4 name "accel_pitch" linkNode [89 0 92] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 92 ssIdNumber 13 name "accel_roll" linkNode [89 91 93] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 93 ssIdNumber 5 name "euler_angles_IMU" linkNode [89 92 94] scope OUTPUT_DATA machine 1 props { array { size "[2,1]" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 94 ssIdNumber 6 name "euler_angles_gyro" linkNode [89 93 0] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 95 position [23.5747 49.5747 7] chart 89 linkNode [89 0 0] subviewer 89 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 96 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 95 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 89 linkNode [89 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 89 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 97 name " Sensors /Complimentary Filter\n\n\n\n\n\n\n\n" machine 1 chart 89 } chart { id 98 name " Sensors /IMU\n\n\n\n\n\n/\n\n\n\n\n\n\n" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 99 0 0] firstTransition 109 firstJunction 108 viewObj 98 machine 1 ssIdHighWaterMark 15 decomposition CLUSTER_CHART type EML_CHART firstData 100 chartFileNumber 10 disableImplicitCasting 1 eml { name "idealIMU" } } state { id 99 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 98 treeNode [98 0 0 0] superState SUBCHART subviewer 98 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function [accelReading,gyroReading] = idealIMU(B_vo_dot, B_vo, B_Omega, B_g, r_oc, g)\n%#codegen\n" "\na = B_vo_dot + cross(B_Omega,B_vo) ; % body frame acceleration \n\naccelReading = (a - B_g)/g ; % acceleromete" "r reading (ideal)\n\ngyroReading = B_Omega ; % gyroscope reading (ideal) \n\nend\n\n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 100 ssIdNumber 4 name "B_vo_dot" linkNode [98 0 101] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 101 ssIdNumber 9 name "B_vo" linkNode [98 100 102] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 102 ssIdNumber 5 name "accelReading" linkNode [98 101 103] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 103 ssIdNumber 6 name "B_Omega" linkNode [98 102 104] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 104 ssIdNumber 7 name "B_g" linkNode [98 103 105] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 105 ssIdNumber 8 name "gyroReading" linkNode [98 104 106] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 106 ssIdNumber 10 name "r_oc" linkNode [98 105 107] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 107 ssIdNumber 12 name "g" linkNode [98 106 0] scope PARAMETER_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 108 position [23.5747 49.5747 7] chart 98 linkNode [98 0 0] subviewer 98 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 109 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 108 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 98 linkNode [98 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 98 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 110 name " Sensors /IMU\n\n\n\n\n\n/\n\n\n\n\n\n\n" machine 1 chart 98 } chart { id 111 name " Sensors /3D Graphical Simulation/MATLAB Function" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 112 0 0] firstTransition 116 firstJunction 115 viewObj 111 machine 1 ssIdHighWaterMark 5 decomposition CLUSTER_CHART type EML_CHART firstData 113 chartFileNumber 11 disableImplicitCasting 1 eml { name "eigenaxis_ucart" } } state { id 112 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 111 treeNode [111 0 0 0] superState SUBCHART subviewer 111 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function y = eigenaxis_ucart(u)\n\n\nif abs(u(1))< 0.0001\n u(1) = 0.0001;\nend\n\nif abs(u(2)" ")< 0.0001\n u(2) = 0.0001;\nend\n\nif abs(u(3))< 0.0001\n u(3) = 0.0001;\nend\n\nu = [ -u(1); -u(2); u(3) " "];% [Pitch, Yaw, Roll] \n\nC11 = cos(u(2))*cos(u(3));\nC12 = cos(u(2))*sin(u(3));\nC13 = -sin(u(2));\nC21 = sin(" "u(1))*sin(u(2))*cos(u(3))-cos(u(1))*sin(u(3));\nC22 = sin(u(1))*sin(u(2))*sin(u(3))+cos(u(1))*cos(u(3));\nC23 = " "sin(u(1))*cos(u(2));\nC31 = cos(u(1))*sin(u(2))*cos(u(3))+sin(u(1))*sin(u(3));\nC32 = cos(u(1))*sin(u(2))*sin(u(" "3))-sin(u(1))*cos(u(3));\nC33 = cos(u(1))*cos(u(2));\n \ntheta = acos(0.5*(C11+C22+C33-1));\n\ne = [C23-C32; " "C31-C13; C12-C21]/(2*sin(theta));\n \ny = [e; theta];\n\n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 113 ssIdNumber 4 name "u" linkNode [111 0 114] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 114 ssIdNumber 5 name "y" linkNode [111 113 0] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } junction { id 115 position [23.5747 49.5747 7] chart 111 linkNode [111 0 0] subviewer 111 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 116 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 115 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 111 linkNode [111 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 111 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 117 name " Sensors /3D Graphical Simulation/MATLAB Function" machine 1 chart 111 } chart { id 118 name " Sensors /Aeb\n\n\n\n\n\n\n\n\n\n" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 119 0 0] firstTransition 124 firstJunction 123 viewObj 118 machine 1 ssIdHighWaterMark 6 decomposition CLUSTER_CHART type EML_CHART firstData 120 chartFileNumber 12 disableImplicitCasting 1 eml { name "angular_body_earth_conversion" } } state { id 119 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 118 treeNode [118 0 0 0] superState SUBCHART subviewer 118 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function euler_rates_IMU = angular_body_earth_conversion(gyro_reading, euler_angles_IMU)\n\nphi =" " euler_angles_IMU(1);\ntheta = euler_angles_IMU(2);\n\nAeb = [1, sin(phi)*tan(theta), cos(phi)*tan(theta); ...\n" " 0, cos(phi) , -sin(phi) ; ...\n 0, sin(phi)/cos(theta), cos(phi)/cos(theta)];\n" "\n \neuler_rates_IMU = Aeb * gyro_reading;\n " editorLayout "100 M4x1[10 5 700 500]" } } data { id 120 ssIdNumber 4 name "gyro_reading" linkNode [118 0 121] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 121 ssIdNumber 5 name "euler_rates_IMU" linkNode [118 120 122] scope OUTPUT_DATA machine 1 props { array { size "[3,1]" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 122 ssIdNumber 6 name "euler_angles_IMU" linkNode [118 121 0] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 123 position [23.5747 49.5747 7] chart 118 linkNode [118 0 0] subviewer 118 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 124 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 123 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 118 linkNode [118 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 118 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 125 name " Sensors /Aeb\n\n\n\n\n\n\n\n\n\n" machine 1 chart 118 } chart { id 126 name " Sensors /Calculate Pitch and Roll\n\n\n\n\n\n\n\n\n\n\n\n1" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 127 0 0] firstTransition 133 firstJunction 132 viewObj 126 machine 1 ssIdHighWaterMark 10 decomposition CLUSTER_CHART type EML_CHART firstData 128 chartFileNumber 13 disableImplicitCasting 1 eml { name "getPitchAndRoll" } } state { id 127 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 126 treeNode [126 0 0 0] superState SUBCHART subviewer 126 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function [accel_pitch, accel_roll] = getPitchAndRoll(accel_reading, accel_roll_prev)\n\nmag = nor" "m(accel_reading);\n\nx_accel = accel_reading(1)/mag;\ny_accel = accel_reading(2)/mag;\nz_accel = accel_reading(3" ")/mag;\n\naccel_pitch = atan(x_accel/sqrt(y_accel^2 + z_accel^2));\n%unwrapped_pitch = unwrap([accel_pitch_prev " "accel_pitch]);\n%accel_pitch = unwrapped_pitch(2);\n\naccel_roll = atan2( -y_accel,(sign(-z_accel)*sqrt(z_accel^" "2 + (1/100)*x_accel^2)) );\nunwrapped_roll = unwrap([accel_roll_prev accel_roll]);\naccel_roll = unwrapped_roll(" "2); \n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 128 ssIdNumber 4 name "accel_reading" linkNode [126 0 129] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 129 ssIdNumber 5 name "accel_pitch" linkNode [126 128 130] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 130 ssIdNumber 6 name "accel_roll" linkNode [126 129 131] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 131 ssIdNumber 7 name "accel_roll_prev" linkNode [126 130 0] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 132 position [23.5747 49.5747 7] chart 126 linkNode [126 0 0] subviewer 126 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 133 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 132 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 126 linkNode [126 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 126 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 134 name " Sensors /Calculate Pitch and Roll\n\n\n\n\n\n\n\n\n\n\n\n1" machine 1 chart 126 } chart { id 135 name "Control System/MATLAB Function" windowPosition [422 539.941 189 413] viewLimits [0 156.75 0 153.75] screen [1 1 3600 1200 1.180555555555556] treeNode [0 136 0 0] firstTransition 143 firstJunction 142 viewObj 135 visible 1 machine 1 subviewS { } ssIdHighWaterMark 11 decomposition CLUSTER_CHART type EML_CHART firstData 137 chartFileNumber 14 disableImplicitCasting 1 eml { name "signal_mixer" } } state { id 136 labelString "eML_blk_kernel()" position [18 64.5 118 66] fontSize 12 chart 135 treeNode [135 0 0 0] superState SUBCHART subviewer 135 ssIdNumber 1 type FUNC_STATE decomposition CLUSTER_STATE eml { isEML 1 script "function motorCommands = signal_mixer(height_controlled, y_controlled, x_controlled, yaw_control" "led)\n\ncontroller_outputs = [ height_controlled; x_controlled; y_controlled; yaw_controlled ];\nsignal_mixer = " "[ 1, -1, -1, -1; ... \n 1, 1, -1, 1; ...\n 1, -1, 1, 1; ...\n " " 1, 1, 1, -1 ];\n\n% signal_mixer = [ 1, 1, -1, -1; ... \n% 1, -1, -1, 1; ...\n% " " 1, 1, 1, 1; ...\n% 1, -1, 1, -1 ];\n\nmotorCommands = signal_mixer * controller_out" "puts;\n" editorLayout "100 M4x1[10 5 700 500]" } } data { id 137 ssIdNumber 4 name "height_controlled" linkNode [135 0 138] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED } dataType "Inherit: Same as Simulink" } data { id 138 ssIdNumber 7 name "y_controlled" linkNode [135 137 139] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 139 ssIdNumber 5 name "motorCommands" linkNode [135 138 140] scope OUTPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE } complexity SF_COMPLEX_INHERITED frame SF_FRAME_NO } dataType "Inherit: Same as Simulink" } data { id 140 ssIdNumber 6 name "x_controlled" linkNode [135 139 141] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } data { id 141 ssIdNumber 8 name "yaw_controlled" linkNode [135 140 0] scope INPUT_DATA machine 1 props { array { size "-1" } type { method SF_INHERITED_TYPE primitive SF_DOUBLE_TYPE isSigned 1 wordLength "16" } complexity SF_COMPLEX_INHERITED frame SF_FRAME_INHERITED } dataType "Inherit: Same as Simulink" } junction { id 142 position [23.5747 49.5747 7] chart 135 linkNode [135 0 0] subviewer 135 ssIdNumber 3 type CONNECTIVE_JUNCTION } transition { id 143 labelString "{eML_blk_kernel();}" labelPosition [28.125 13.875 102.544 14.964] fontSize 12 src { intersection [0 0 1 0 23.5747 14.625 0 0] } dst { id 142 intersection [1 0 -1 0 23.5747 42.5747 0 0] } midPoint [23.5747 24.9468] chart 135 linkNode [135 0 0] dataLimits [21.175 25.975 14.625 42.575] subviewer 135 drawStyle SMART slide { sticky BOTH_STICK } executionOrder 1 ssIdNumber 2 } instance { id 144 name "Control System/MATLAB Function" machine 1 chart 135 } target { id 145 name "sfun" description "Default Simulink S-Function Target." machine 1 linkNode [1 0 0] } }