Something went wrong on our end
test_model_R2015A.mdl 331.33 KiB
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]
}
}