Model { Name "motion_turtle" Version 7.0 MdlSubVersion 0 GraphicalInterface { NumRootInports 0 NumRootOutports 0 ParameterArgumentNames "" ComputedModelVersion "1.3535" NumModelReferences 0 NumTestPointedSignals 0 } SavedCharacterEncoding "US-ASCII" SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions on ShowPortDataTypes on ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ShowTestPointIcons on ShowViewerIcons on SortedOrder off ExecutionContextIcon off ShowLinearizationAnnotations on ScopeRefreshTime 0.035000 OverrideScopeRefreshTime on DisableAllScopes off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Wed Jan 31 12:33:46 2001" Creator "root" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "root" ModifiedDateFormat "%" LastModifiedDate "Tue Mar 16 21:28:18 2010" RTWModifiedTimeStamp 0 ModelVersionFormat "1.%" ConfigurationManager "none" SimulationMode "normal" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off CovReportOnPause on ExtModeBatchMode off ExtModeEnableFloating on ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "1" ExtModeTrigDuration 3910 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 off BufferReuse on ShowModelReferenceBlockVersion off ShowModelReferenceBlockIO off Array { Type "Handle" Dimension 1 Simulink.ConfigSet { $ObjectID 1 Version "1.3.0" Array { Type "Handle" Dimension 7 Simulink.SolverCC { $ObjectID 2 Version "1.3.0" StartTime "0.0" StopTime "3600" AbsTol "auto" FixedStep "Ts" InitialStep "auto" MaxNumMinSteps "-1" MaxOrder 5 ConsecutiveZCsStepRelTol "10*128*eps" MaxConsecutiveZCs "1000" ExtrapolationOrder 4 NumberNewtonIterations 1 MaxStep "auto" MinStep "auto" MaxConsecutiveMinStep "1" RelTol "1e-3" SolverMode "Auto" Solver "ode1" SolverName "ode1" ZeroCrossControl "UseLocalSettings" AlgebraicLoopSolver "TrustRegion" SolverResetMethod "Fast" PositivePriorityOrder off AutoInsertRateTranBlk off SampleTimeConstraint "Unconstrained" RateTranMode "Deterministic" } Simulink.DataIOCC { $ObjectID 3 Version "1.3.0" Decimation "1" ExternalInput "[t, u]" FinalStateName "xFinal" InitialState "xInitial" LimitDataPoints off MaxDataPoints "4000*3600" LoadExternalInput off LoadInitialState off SaveFinalState off SaveFormat "Array" SaveOutput off SaveState off SignalLogging off InspectSignalLogs off SaveTime off StateSaveName "xout" TimeSaveName "tout" OutputSaveName "yout" SignalLoggingName "logsout" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" } Simulink.OptimizationCC { $ObjectID 4 Array { Type "Cell" Dimension 5 Cell "ZeroExternalMemoryAtStartup" Cell "ZeroInternalMemoryAtStartup" Cell "InitFltsAndDblsToZero" Cell "OptimizeModelRefInitCode" Cell "NoFixptDivByZeroProtection" PropName "DisabledProps" } Version "1.3.0" BlockReduction off BooleanDataType off ConditionallyExecuteInputs on InlineParams off InlineInvariantSignals off OptimizeBlockIOStorage on BufferReuse on EnforceIntegerDowncast on ExpressionFolding on ExpressionDepthLimit 2147483647 FoldNonRolledExpr on LocalBlockOutputs on RollThreshold 5 SystemCodeInlineAuto off StateBitsets off DataBitsets off UseTempVars off ZeroExternalMemoryAtStartup on ZeroInternalMemoryAtStartup on InitFltsAndDblsToZero on NoFixptDivByZeroProtection off EfficientFloat2IntCast off OptimizeModelRefInitCode off LifeSpan "inf" BufferReusableBoundary on SimCompilerOptimization "Off" AccelVerboseBuild off } Simulink.DebuggingCC { $ObjectID 5 Version "1.3.0" RTPrefix "error" ConsistencyChecking "none" ArrayBoundsChecking "none" SignalInfNanChecking "none" SignalRangeChecking "none" ReadBeforeWriteMsg "UseLocalSettings" WriteAfterWriteMsg "UseLocalSettings" WriteAfterReadMsg "UseLocalSettings" AlgebraicLoopMsg "warning" ArtificialAlgebraicLoopMsg "warning" SaveWithDisabledLinksMsg "warning" SaveWithParameterizedLinksMsg "none" CheckSSInitialOutputMsg on CheckExecutionContextPreStartOutputMsg off CheckExecutionContextRuntimeOutputMsg off SignalResolutionControl "TryResolveAllWithWarning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" TimeAdjustmentMsg "none" MaxConsecutiveZCsMsg "error" SolverPrmCheckMsg "none" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskDSMMsg "warning" MultiTaskCondExecSysMsg "none" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" TasksWithSamePriorityMsg "warning" SigSpecEnsureSampleTimeMsg "warning" CheckMatrixSingularityMsg "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterUnderflowMsg "none" ParameterPrecisionLossMsg "warning" ParameterTunabilityLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" FcnCallInpInsideContextMsg "Use local settings" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SFcnCompatibilityMsg "none" UniqueDataStoreMsg "none" BusObjectLabelMismatch "warning" RootOutportRequireBusObject "warning" AssertControl "UseLocalSettings" EnableOverflowDetection off ModelReferenceIOMsg "none" ModelReferenceVersionMismatchMessage "none" ModelReferenceIOMismatchMessage "none" ModelReferenceCSMismatchMessage "none" ModelReferenceSimTargetVerbose off UnknownTsInhSupMsg "warning" ModelReferenceDataLoggingMessage "warning" ModelReferenceSymbolNameMessage "warning" ModelReferenceExtraNoncontSigs "error" StateNameClashWarn "warning" StrictBusMsg "None" LoggingUnavailableSignals "error" } Simulink.HardwareCC { $ObjectID 6 Version "1.3.0" ProdBitPerChar 8 ProdBitPerShort 16 ProdBitPerInt 32 ProdBitPerLong 32 ProdIntDivRoundTo "Undefined" ProdEndianess "Unspecified" ProdWordSize 32 ProdShiftRightIntArith on ProdHWDeviceType "32-bit Generic" TargetBitPerChar 8 TargetBitPerShort 16 TargetBitPerInt 32 TargetBitPerLong 32 TargetShiftRightIntArith on TargetIntDivRoundTo "Undefined" TargetEndianess "LittleEndian" TargetWordSize 32 TargetTypeEmulationWarnSuppressLevel 0 TargetPreprocMaxBitsSint 32 TargetPreprocMaxBitsUint 32 TargetHWDeviceType "MATLAB Host" TargetUnknown off ProdEqTarget on } Simulink.ModelReferenceCC { $ObjectID 7 Version "1.3.0" UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" CheckModelReferenceTargetMessage "error" ModelReferenceNumInstancesAllowed "Multi" ModelReferencePassRootInputsByReference on ModelReferenceMinAlgLoopOccurrences off } Simulink.RTWCC { $BackupClass "Simulink.RTWCC" $ObjectID 8 Array { Type "Cell" Dimension 2 Cell "IncludeHyperlinkInReport" Cell "GenerateTraceInfo" PropName "DisabledProps" } Version "1.3.0" SystemTargetFile "mttarget.tlc" GenCodeOnly off MakeCommand "make_rtw OPT_OPTS=\"-g -O2\" CC=\"ccache gcc\" OPTS=\"-DNETIF_ID=1 -D_GNU_SOURCE\"" GenerateMakefile on TemplateMakefile "mt_unix.tmf" Description "Robocup Real-Time Motion Target" GenerateReport off SaveLog off RTWVerbose on RetainRTWFile off ProfileTLC off TLCDebug off TLCCoverage off TLCAssert off ProcessScriptMode "Default" ConfigurationMode "Optimized" ProcessScript "mttarget_make_rtw_hook" ConfigAtBuild off CustomInclude "../Libs/voronoi ./src ../Libs/ipcomm2 ../Libs/multicast ../Global_par ../Vision/src ../Vision/src/refbox_handler/ ../Vision/src/role_handler/ ../Vision/src/pass_handler/ ../Vision/src/strategy_handler/" CustomLibrary "/usr/lib/libvoronoi.so /usr/lib/libpthread.so /usr/lib/libipcomm2_server.so /usr/lib/librtdb.so /usr/lib/libgd.so /usr/lib/libvoronoi.so" IncludeHyperlinkInReport off LaunchReport off TargetLang "C" IncludeBusHierarchyInRTWFileBlockHierarchyMap off IncludeERTFirstTime on GenerateTraceInfo off RTWCompilerOptimization "Off" Array { Type "Handle" Dimension 2 Simulink.CodeAppCC { $ObjectID 9 Array { Type "Cell" Dimension 16 Cell "IgnoreCustomStorageClasses" Cell "InsertBlockDesc" Cell "SFDataObjDesc" Cell "SimulinkDataObjDesc" Cell "DefineNamingRule" Cell "SignalNamingRule" Cell "ParamNamingRule" Cell "InlinedPrmAccess" Cell "CustomSymbolStr" Cell "CustomSymbolStrGlobalVar" Cell "CustomSymbolStrType" Cell "CustomSymbolStrField" Cell "CustomSymbolStrFcn" Cell "CustomSymbolStrBlkIO" Cell "CustomSymbolStrTmpVar" Cell "CustomSymbolStrMacro" PropName "DisabledProps" } Version "1.3.0" ForceParamTrailComments off GenerateComments on IgnoreCustomStorageClasses on IncHierarchyInIds off MaxIdLength 31 PreserveName off PreserveNameWithParent off ShowEliminatedStatement on IncAutoGenComments off SimulinkDataObjDesc off SFDataObjDesc off IncDataTypeInIds off MangleLength 1 CustomSymbolStrGlobalVar "$R$N$M" CustomSymbolStrType "$N$R$M" CustomSymbolStrField "$N$M" CustomSymbolStrFcn "$R$N$M$F" CustomSymbolStrBlkIO "rtb_$N$M" CustomSymbolStrTmpVar "$N$M" CustomSymbolStrMacro "$R$N$M" DefineNamingRule "None" ParamNamingRule "None" SignalNamingRule "None" InsertBlockDesc off SimulinkBlockComments on EnableCustomComments off InlinedPrmAccess "Literals" ReqsInCode off } Simulink.GRTTargetCC { $BackupClass "Simulink.TargetCC" $ObjectID 10 Array { Type "Cell" Dimension 15 Cell "IncludeMdlTerminateFcn" Cell "CombineOutputUpdateFcns" Cell "SuppressErrorStatus" Cell "ERTCustomFileBanners" Cell "GenerateSampleERTMain" Cell "GenerateTestInterfaces" Cell "ModelStepFunctionPrototypeControlCompliant" Cell "MultiInstanceERTCode" Cell "PurelyIntegerCode" Cell "SupportNonFinite" Cell "SupportComplex" Cell "SupportAbsoluteTime" Cell "SupportContinuousTime" Cell "SupportNonInlinedSFcns" Cell "PortableWordSizes" PropName "DisabledProps" } Version "1.3.0" TargetFcnLib "ansi_tfl_table_tmw.mat" TargetLibSuffix "" TargetPreCompLibLocation "" GenFloatMathFcnCalls "ANSI_C" UtilityFuncGeneration "Auto" GenerateFullHeader on GenerateSampleERTMain off GenerateTestInterfaces off IsPILTarget off ModelReferenceCompliant on CompOptLevelCompliant on IncludeMdlTerminateFcn on CombineOutputUpdateFcns off SuppressErrorStatus off IncludeFileDelimiter "Auto" ERTCustomFileBanners off SupportAbsoluteTime on LogVarNameModifier "rt_" MatFileLogging on MultiInstanceERTCode off SupportNonFinite on SupportComplex on PurelyIntegerCode off SupportContinuousTime on SupportNonInlinedSFcns on EnableShiftOperators on ParenthesesLevel "Nominal" PortableWordSizes off ModelStepFunctionPrototypeControlCompliant off ExtMode off ExtModeStaticAlloc off ExtModeTesting off ExtModeStaticAllocSize 1000000 ExtModeTransport 0 ExtModeMexFile "ext_comm" ExtModeIntrfLevel "Level1" RTWCAPISignals off RTWCAPIParams off RTWCAPIStates off GenerateASAP2 off } PropName "Components" } } PropName "Components" } Name "Configuration" CurrentDlgPage "Solver" } PropName "ConfigurationSets" } Simulink.ConfigSet { $PropName "ActiveConfigurationSet" $ObjectID 1 } BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } BlockParameterDefaults { Block { BlockType Clock DisplayTime off } Block { BlockType DataTypeConversion OutMin "[]" OutMax "[]" OutDataTypeMode "Inherit via back propagation" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off ConvertRealWorld "Real World Value (RWV)" RndMeth "Zero" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off } Block { BlockType Derivative LinearizePole "inf" } Block { BlockType DiscreteTransferFcn Numerator "[1]" Denominator "[1 0.5]" SampleTime "1" StateMustResolveToSignalObject off RTWStateStorageClass "Auto" Realization "auto" } Block { BlockType Display Format "short" Decimation "10" Floating off SampleTime "-1" } Block { BlockType EnablePort StatesWhenEnabling "held" ShowOutputPort off ZeroCross on } Block { BlockType From IconDisplay "Tag" } Block { BlockType Fcn Expr "sin(u[1])" SampleTime "-1" } Block { BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ParamMin "[]" ParamMax "[]" ParameterDataTypeMode "Same as input" ParameterDataType "fixdt(1,16,0)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "[]" OutMin "[]" OutMax "[]" OutDataTypeMode "Same as input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Goto IconDisplay "Tag" } Block { BlockType Ground } Block { BlockType Inport Port "1" UseBusObject off BusObject "BusObject" BusOutputAsStruct off PortDimensions "-1" SampleTime "-1" OutMin "[]" OutMax "[]" DataType "auto" OutDataType "fixdt(1,16,0)" OutScaling "[]" SignalType "auto" SamplingMode "auto" LatchByDelayingOutsideSignal off LatchByCopyingInsideSignal off Interpolate on } Block { BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" IgnoreLimit off ZeroCross on ContinuousStateAttributes "''" } Block { BlockType Logic Operator "AND" Inputs "2" IconShape "rectangular" AllPortsSameDT on OutDataTypeMode "Logical (see Configuration Parameters: Optimization)" LogicDataType "uint(8)" SampleTime "-1" } Block { BlockType Math Operator "exp" OutputSignalType "auto" SampleTime "-1" OutMin "[]" OutMax "[]" OutDataTypeMode "Same as first input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on } Block { BlockType Memory X0 "0" InheritSampleTime off LinearizeMemory off LinearizeAsDelay off StateMustResolveToSignalObject off RTWStateStorageClass "Auto" } Block { BlockType MultiPortSwitch Inputs "4" zeroidx off InputSameDT on OutMin "[]" OutMax "[]" OutDataTypeMode "Inherit via internal rule" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Mux Inputs "4" DisplayOption "none" UseBusObject off BusObject "BusObject" NonVirtualBus off } Block { BlockType Outport Port "1" UseBusObject off BusObject "BusObject" BusOutputAsStruct off PortDimensions "-1" SampleTime "-1" OutMin "[]" OutMax "[]" DataType "auto" OutDataType "fixdt(1,16,0)" OutScaling "[]" SignalType "auto" SamplingMode "auto" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Product Inputs "2" Multiplication "Element-wise(.*)" CollapseMode "All dimensions" CollapseDim "1" InputSameDT on OutMin "[]" OutMax "[]" OutDataTypeMode "Same as first input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Zero" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Reference } Block { BlockType Selector NumberOfDimensions "1" IndexMode "One-based" InputPortWidth "-1" SampleTime "-1" } Block { BlockType SignalSpecification Dimensions "-1" SampleTime "-1" OutMin "[]" OutMax "[]" DataType "auto" OutDataType "fixdt(1,16,0)" OutScaling "[]" SignalType "auto" SamplingMode "auto" } Block { BlockType "S-Function" FunctionName "system" SFunctionModules "''" PortCounts "[]" } 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 SystemSampleTime "-1" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" } Block { BlockType Sum IconShape "rectangular" Inputs "++" CollapseMode "All dimensions" CollapseDim "1" InputSameDT on OutMin "[]" OutMax "[]" OutDataTypeMode "Same as first input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Switch Criteria "u2 >= Threshold" Threshold "0" InputSameDT on OutMin "[]" OutMax "[]" OutDataTypeMode "Inherit via internal rule" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross on SampleTime "-1" } Block { BlockType ToWorkspace VariableName "simulink_output" MaxDataPoints "1000" Decimation "1" SampleTime "0" FixptAsFi off } Block { BlockType Terminator } Block { BlockType TransferFcn Numerator "[1]" Denominator "[1 2 1]" AbsoluteTolerance "auto" ContinuousStateAttributes "''" Realization "auto" } Block { BlockType UnitDelay X0 "0" SampleTime "1" StateMustResolveToSignalObject off RTWStateStorageClass "Auto" } Block { BlockType VariableTransportDelay VariableDelayType "Variable time delay" MaximumDelay "1" InitialOutput "0" MaximumPoints "1024" FixedBuffer off ZeroDelay off TransDelayFeedthrough off PadeOrder "0" AbsoluteTolerance "auto" ContinuousStateAttributes "''" } Block { BlockType Constant Value "1" VectorParams1D on SamplingMode "Sample based" OutMin "[]" OutMax "[]" OutDataTypeMode "Inherit from 'Constant value'" OutDataType "fixdt(1,16,0)" ConRadixGroup "Use specified scaling" OutScaling "[]" SampleTime "inf" FramePeriod "inf" } Block { BlockType DiscretePulseGenerator PulseType "Sample based" TimeSource "Use simulation time" Amplitude "1" Period "2" PulseWidth "1" PhaseDelay "0" SampleTime "1" VectorParams1D on } Block { BlockType RelationalOperator Operator ">=" InputSameDT on LogicOutDataTypeMode "Logical (see Configuration Parameters: Optimization)" LogicDataType "uint(8)" ZeroCross on SampleTime "-1" } Block { BlockType Saturate UpperLimit "0.5" LowerLimit "-0.5" LinearizeAsGain on ZeroCross on SampleTime "-1" OutMin "[]" OutMax "[]" OutDataTypeMode "Same as input" OutDataType "fixdt(1,16,0)" OutScaling "[]" LockScale off RndMeth "Floor" } Block { BlockType Trigonometry Operator "sin" OutputSignalType "auto" SampleTime "-1" } } 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" } System { Name "motion_turtle" Location [174, 139, 1479, 917] 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" ReportName "simulink-default.rpt" Block { BlockType Display Name "Actual time in s" Ports [1] Position [125, 70, 215, 100] Decimation "1" Lockdown off } Block { BlockType Clock Name "Clock" Position [85, 75, 105, 95] Decimation "10" } Block { BlockType SubSystem Name "Decoupled ControlledRobot" Ports [13, 14] Position [555, 123, 855, 537] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskDisplay "image(imread('Turtle28112008.JPG'));" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Decoupled ControlledRobot" Location [46, 119, 1658, 1015] 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 "pose_g_robot_ref" Position [25, 298, 55, 312] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball left" Position [860, 448, 890, 462] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball right" Position [860, 498, 890, 512] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Skill ID" Position [440, 488, 470, 502] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "IO Keeper Block" Position [630, 1048, 660, 1062] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "emergency\n0/1/2/3" Position [440, 548, 470, 562] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [310, 1098, 340, 1112] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "demo-team-role" Position [630, 998, 660, 1012] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "KtunableParams" Position [575, 718, 605, 732] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "target_xyo\ncur_xyo" Position [685, 643, 715, 657] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_ID" Position [630, 1148, 660, 1162] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "penaltyDemoMode" Position [440, 843, 470, 857] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable param move" Position [440, 608, 470, 622] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [495, 773, 570, 807] Orientation "left" NamePlacement "alternate" ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [500, 833, 575, 867] NamePlacement "alternate" ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "Decoupled Robot" Ports [22, 23] Position [980, 284, 1130, 1376] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Decoupled Robot" Location [5, 77, 1275, 770] 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 "x_l_ref" Position [95, 213, 125, 227] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_l_ref" Position [95, 278, 125, 292] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi_l_ref" Position [95, 343, 125, 357] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball left" Position [535, 408, 565, 422] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball right" Position [535, 473, 565, 487] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "kick motor" Position [535, 538, 565, 552] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTcontrol" Position [535, 1318, 565, 1332] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTdutycycle" Position [535, 1383, 565, 1397] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTpulselength" Position [535, 1448, 565, 1462] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTencodermax" Position [535, 1513, 565, 1527] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (spare switch)" Position [535, 798, 565, 812] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "power on/off" Position [535, 603, 565, 617] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "amplifiers on/off" Position [535, 668, 565, 682] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (reset motion)" Position [535, 733, 565, 747] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (blue)" Position [535, 863, 565, 877] Port "15" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (amber)" Position [535, 928, 565, 942] Port "16" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper right" Position [535, 993, 565, 1007] Port "17" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper left" Position [535, 1058, 565, 1072] Port "18" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper up" Position [535, 1123, 565, 1137] Port "19" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "CAMcontrol" Position [535, 1188, 565, 1202] Port "20" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "CAMdata" Position [535, 1253, 565, 1267] Port "21" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Cover light" Position [535, 1578, 565, 1592] Port "22" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Controllers" Ports [3, 3] Position [300, 185, 375, 385] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Controllers" Location [233, 167, 819, 512] 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 "e_x_t" Position [185, 53, 215, 67] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "e_y_t" Position [185, 138, 215, 152] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "e_phi_t" Position [185, 228, 215, 242] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Subsystem1" Ports [1, 1] Position [255, 29, 350, 91] BackgroundColor "cyan" ShowName off FontSize 12 MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskPromptString "gain:|zero lead lag [Hz]:|pole lead lag [Hz]:" MaskStyleString "edit,edit,edit" MaskTunableValueString "on,on,on" MaskCallbackString "||" MaskEnableString "on,on,on" MaskVisibilityString "on,on,on" MaskToolTipString "on,on,on" MaskVarAliasString ",," MaskVariables "gain=@1;zero_LL=@2;pole_LL=@3;" MaskDisplay "text(0.2,0.5, 'Controller 11')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" MaskValueString "gain11|fzero11|fpole11" MaskTabNameString ",," System { Name "Subsystem1" Location [4, 57, 1020, 721] 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 "e" Position [180, 233, 210, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Dctleadlag2" Ports [1, 1] Position [395, 220, 510, 260] ForegroundColor "gray" BackgroundColor "lightBlue" FontName "TUE Meta Wide" FontSize 16 FunctionName "dleadlag" Parameters "[f_num f_den 0.001]" MaskType "dctools" MaskDescription "This block implements a discrete time leadlag filter." MaskPromptString "Zero [Hz]|Pole [Hz]" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskToolTipString "on,on" MaskVarAliasString "," MaskVariables "f_num=@1;f_den=@2;" MaskDisplay "disp('DCT leadlag')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "zero_LL|pole_LL" MaskTabNameString "," } Block { BlockType Gain Name "Gain1" Position [320, 220, 340, 260] Gain "gain" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "u" Position [740, 233, 770, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "e" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Dctleadlag2" DstPort 1 } Line { SrcBlock "Dctleadlag2" SrcPort 1 DstBlock "u" DstPort 1 } } } Block { BlockType SubSystem Name "Subsystem3" Ports [1, 1] Position [255, 114, 350, 176] BackgroundColor "cyan" ShowName off FontSize 12 MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskPromptString "gain:|zero lead lag [Hz]:|pole lead lag [Hz]:" MaskStyleString "edit,edit,edit" MaskTunableValueString "on,on,on" MaskCallbackString "||" MaskEnableString "on,on,on" MaskVisibilityString "on,on,on" MaskToolTipString "on,on,on" MaskVarAliasString ",," MaskVariables "gain=@1;zero_LL=@2;pole_LL=@3;" MaskDisplay "text(0.2,0.5, 'Controller 22')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" MaskValueString "gain22|fzero22|fpole22" MaskTabNameString ",," System { Name "Subsystem3" Location [4, 57, 1020, 721] 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 "e" Position [180, 233, 210, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Dctleadlag2" Ports [1, 1] Position [395, 220, 510, 260] ForegroundColor "gray" BackgroundColor "lightBlue" FontName "TUE Meta Wide" FontSize 16 FunctionName "dleadlag" Parameters "[f_num f_den 0.001]" MaskType "dctools" MaskDescription "This block implements a discrete time leadlag filter." MaskPromptString "Zero [Hz]|Pole [Hz]" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskToolTipString "on,on" MaskVarAliasString "," MaskVariables "f_num=@1;f_den=@2;" MaskDisplay "disp('DCT leadlag')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "zero_LL|pole_LL" MaskTabNameString "," } Block { BlockType Gain Name "Gain1" Position [320, 220, 340, 260] Gain "gain" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "u" Position [740, 233, 770, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Dctleadlag2" SrcPort 1 DstBlock "u" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Dctleadlag2" DstPort 1 } Line { SrcBlock "e" SrcPort 1 DstBlock "Gain1" DstPort 1 } } } Block { BlockType SubSystem Name "Subsystem5" Ports [1, 1] Position [255, 204, 350, 266] BackgroundColor "cyan" ShowName off FontSize 12 MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskPromptString "gain:|zero lead lag [Hz]:|pole lead lag [Hz]:" MaskStyleString "edit,edit,edit" MaskTunableValueString "on,on,on" MaskCallbackString "||" MaskEnableString "on,on,on" MaskVisibilityString "on,on,on" MaskToolTipString "on,on,on" MaskVarAliasString ",," MaskVariables "gain=@1;zero_LL=@2;pole_LL=@3;" MaskDisplay "text(0.2,0.5, 'Controller 33')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" MaskValueString "gain33|fzero33|fpole33" MaskTabNameString ",," System { Name "Subsystem5" Location [4, 57, 1020, 721] 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 "e" Position [180, 233, 210, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "Dctleadlag2" Ports [1, 1] Position [395, 220, 510, 260] ForegroundColor "gray" BackgroundColor "lightBlue" FontName "TUE Meta Wide" FontSize 16 FunctionName "dleadlag" Parameters "[f_num f_den 0.001]" MaskType "dctools" MaskDescription "This block implements a discrete time leadlag filter." MaskPromptString "Zero [Hz]|Pole [Hz]" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskToolTipString "on,on" MaskVarAliasString "," MaskVariables "f_num=@1;f_den=@2;" MaskDisplay "disp('DCT leadlag')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "zero_LL|pole_LL" MaskTabNameString "," } Block { BlockType Gain Name "Gain1" Position [320, 220, 340, 260] Gain "gain" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "u" Position [740, 233, 770, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "e" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Dctleadlag2" DstPort 1 } Line { SrcBlock "Dctleadlag2" SrcPort 1 DstBlock "u" DstPort 1 } } } Block { BlockType Outport Name "F_x" Position [390, 53, 420, 67] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "F_y" Position [390, 138, 420, 152] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "T_phi" Position [390, 228, 420, 242] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "e_x_t" SrcPort 1 DstBlock "Subsystem1" DstPort 1 } Line { SrcBlock "Subsystem1" SrcPort 1 DstBlock "F_x" DstPort 1 } Line { SrcBlock "e_y_t" SrcPort 1 DstBlock "Subsystem3" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 1 DstBlock "F_y" DstPort 1 } Line { SrcBlock "e_phi_t" SrcPort 1 DstBlock "Subsystem5" DstPort 1 } Line { SrcBlock "Subsystem5" SrcPort 1 DstBlock "T_phi" DstPort 1 } } } Block { BlockType Gain Name "Gain1" Position [995, 285, 1025, 315] ShowName off Gain "pi*rw2/1000/gearratio" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" Position [995, 345, 1025, 375] ShowName off Gain "pi*rw3/1000/gearratio" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain3" Position [995, 225, 1025, 255] ShowName off Gain "pi*rw1/1000/gearratio" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain4" Position [920, 90, 950, 120] Orientation "left" ShowName off Gain "gearratio" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain5" Position [995, 380, 1025, 410] ShowName off Gain "pi/1000" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain6" Position [995, 415, 1025, 445] ShowName off Gain "pi/1000" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain7" Position [995, 450, 1025, 480] ShowName off Gain "pi/1000" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux1" Ports [3, 1] Position [970, 69, 975, 141] Orientation "left" NamePlacement "alternate" ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" Ports [3, 1] Position [1050, 378, 1055, 482] NamePlacement "alternate" ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux3" Ports [2, 1] Position [905, 869, 910, 991] NamePlacement "alternate" ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Safety" Ports [4, 4] Position [505, 123, 555, 382] BackgroundColor "red" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Safety" Location [5, 77, 1275, 770] 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 "q" Position [45, 748, 75, 762] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "u1" Position [570, 278, 600, 292] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "u2" Position [570, 333, 600, 347] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "u3" Position [570, 388, 600, 402] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Reference Name "Compare\nTo Constant" Ports [1, 1] Position [995, 735, 1025, 765] SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">" const "0" LogicOutDataTypeMode "uint8" ZeroCross "off" } Block { BlockType Constant Name "Constant" Position [940, 595, 970, 625] Value "[0 0 0]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [740, 590, 770, 620] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant2" Position [740, 735, 770, 765] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [630, 658, 705, 692] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [1045, 733, 1120, 767] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [1125, 656, 1130, 694] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" Ports [1, 3] Position [170, 671, 175, 839] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Derivative Name "Derivative" Position [195, 685, 225, 715] ShowName off } Block { BlockType Derivative Name "Derivative1" Position [195, 740, 225, 770] ShowName off } Block { BlockType Derivative Name "Derivative2" Position [195, 795, 225, 825] ShowName off } Block { BlockType Gain Name "Gain1" Position [245, 484, 285, 516] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" Position [245, 684, 285, 716] ShowName off Gain "Ts" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain3" Position [245, 739, 285, 771] ShowName off Gain "Ts" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain4" Position [245, 794, 285, 826] ShowName off Gain "Ts" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Integrator Name "Integrator acts\nas a memory" Ports [1, 1] Position [870, 647, 920, 703] } Block { BlockType Integrator Name "Integrator with reset\nto ensure 0.5 seconds" Ports [2, 1] Position [730, 647, 780, 703] ExternalReset "falling" } Block { BlockType Logic Name "Logical\nOperator1" Ports [3, 1] Position [460, 681, 490, 849] ShowName off Inputs "3" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator2" Ports [3, 1] Position [460, 491, 490, 659] ShowName off Inputs "3" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator3" Ports [2, 1] Position [575, 588, 605, 757] ShowName off Operator "OR" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Constant Name "Max simultaneous vel q_dot" Position [25, 880, 110, 910] BackgroundColor "yellow" Value "0.45" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [625, 321, 630, 359] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType RelationalOperator Name "Relational\nOperator3" Position [405, 692, 435, 723] ShowName off InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType RelationalOperator Name "Relational\nOperator4" Position [405, 747, 435, 778] ShowName off InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType RelationalOperator Name "Relational\nOperator5" Position [405, 802, 435, 833] ShowName off InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType RelationalOperator Name "Relational\nOperator6" Position [405, 502, 435, 533] ShowName off Operator "<=" InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType RelationalOperator Name "Relational\nOperator7" Position [405, 557, 435, 588] ShowName off Operator "<=" InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType RelationalOperator Name "Relational\nOperator8" Position [405, 612, 435, 643] ShowName off Operator "<=" InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType Switch Name "Switch" Position [825, 660, 855, 690] ShowName off Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [995, 660, 1025, 690] Criteria "u2 > Threshold" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "safety on" Position [1150, 743, 1180, 757] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "u1 " Position [1150, 633, 1180, 647] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "u2 " Position [1150, 668, 1180, 682] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "u3 " Position [1150, 703, 1180, 717] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [0, 0; 5, 0] Branch { DstBlock "Integrator with reset\nto ensure 0.5 seconds" DstPort 1 } Branch { DstBlock "Integrator with reset\nto ensure 0.5 seconds" DstPort 2 } } Line { SrcBlock "Integrator with reset\nto ensure 0.5 seconds" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "Integrator acts\nas a memory" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "u1 " DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "u2 " DstPort 1 } Line { SrcBlock "Demux" SrcPort 3 DstBlock "u3 " DstPort 1 } Line { SrcBlock "Max simultaneous vel q_dot" SrcPort 1 Points [5, 0] Branch { Points [265, 0; 0, -70] Branch { DstBlock "Relational\nOperator5" DstPort 2 } Branch { Points [0, -55] Branch { DstBlock "Relational\nOperator4" DstPort 2 } Branch { Points [0, -55] DstBlock "Relational\nOperator3" DstPort 2 } } } Branch { Points [0, -395] DstBlock "Gain1" DstPort 1 } } Line { SrcBlock "Relational\nOperator5" SrcPort 1 DstBlock "Logical\nOperator1" DstPort 3 } Line { SrcBlock "Relational\nOperator4" SrcPort 1 DstBlock "Logical\nOperator1" DstPort 2 } Line { SrcBlock "Relational\nOperator3" SrcPort 1 DstBlock "Logical\nOperator1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Derivative" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Derivative1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "Derivative2" DstPort 1 } Line { SrcBlock "Relational\nOperator6" SrcPort 1 DstBlock "Logical\nOperator2" DstPort 1 } Line { SrcBlock "Relational\nOperator7" SrcPort 1 DstBlock "Logical\nOperator2" DstPort 2 } Line { SrcBlock "Relational\nOperator8" SrcPort 1 DstBlock "Logical\nOperator2" DstPort 3 } Line { SrcBlock "Logical\nOperator2" SrcPort 1 Points [30, 0; 0, 55] DstBlock "Logical\nOperator3" DstPort 1 } Line { SrcBlock "Logical\nOperator1" SrcPort 1 Points [30, 0; 0, -50] DstBlock "Logical\nOperator3" DstPort 2 } Line { SrcBlock "q" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Logical\nOperator3" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Derivative" SrcPort 1 DstBlock "Gain2" DstPort 1 } Line { SrcBlock "Derivative1" SrcPort 1 DstBlock "Gain3" DstPort 1 } Line { SrcBlock "Derivative2" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [85, 0; 0, 25] Branch { DstBlock "Relational\nOperator6" DstPort 2 } Branch { Points [0, 55] Branch { DstBlock "Relational\nOperator7" DstPort 2 } Branch { Points [0, 55] DstBlock "Relational\nOperator8" DstPort 2 } } } Line { SrcBlock "u1" SrcPort 1 Points [5, 0] DstBlock "Mux" DstPort 1 } Line { SrcBlock "u3" SrcPort 1 Points [5, 0] DstBlock "Mux" DstPort 3 } Line { SrcBlock "u2" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Compare\nTo Constant" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "safety on" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 Points [20, 0] Branch { Points [0, -190] DstBlock "Relational\nOperator6" DstPort 1 } Branch { DstBlock "Relational\nOperator3" DstPort 1 } } Line { SrcBlock "Gain3" SrcPort 1 Points [30, 0] Branch { Points [0, -190] DstBlock "Relational\nOperator7" DstPort 1 } Branch { DstBlock "Relational\nOperator4" DstPort 1 } } Line { SrcBlock "Gain4" SrcPort 1 Points [40, 0] Branch { Points [0, -190] DstBlock "Relational\nOperator8" DstPort 1 } Branch { DstBlock "Relational\nOperator5" DstPort 1 } } Line { SrcBlock "Constant1" SrcPort 1 Points [35, 0] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Constant2" SrcPort 1 Points [35, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Constant" SrcPort 1 Points [5, 0] DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 Points [295, 0; 0, 345] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Integrator acts\nas a memory" SrcPort 1 Points [25, 0] Branch { DstBlock "Switch1" DstPort 2 } Branch { Points [0, 75] DstBlock "Compare\nTo Constant" DstPort 1 } } } } Block { BlockType SubSystem Name "Subsystem" Ports [22, 23] Position [695, 190, 870, 1610] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem" Location [5, 77, 1634, 769] 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 "drive left" Position [45, 198, 75, 212] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "drive back" Position [45, 243, 75, 257] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "drive right" Position [45, 288, 75, 302] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball left" Position [45, 333, 75, 347] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball right" Position [45, 378, 75, 392] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "kick motor" Position [45, 423, 75, 437] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "power on/off" Position [45, 468, 75, 482] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "amplifiers on/off" Position [45, 513, 75, 527] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (reset motion)" Position [45, 558, 75, 572] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (spare switch)" Position [45, 603, 75, 617] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (blue)" Position [45, 648, 75, 662] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "LED (amber)" Position [45, 693, 75, 707] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper right" Position [45, 738, 75, 752] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper left" Position [45, 783, 75, 797] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Keeper up" Position [45, 828, 75, 842] Port "15" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "CAMcontrol" Position [45, 873, 75, 887] Port "16" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "CAMdata" Position [45, 918, 75, 932] Port "17" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTcontrol" Position [45, 963, 75, 977] Port "18" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTdutycycle" Position [45, 1008, 75, 1022] Port "19" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTpulselength" Position [45, 1053, 75, 1067] Port "20" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SHTencodermax" Position [45, 1098, 75, 1112] Port "21" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Cover light" Position [45, 1143, 75, 1157] Port "22" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant" Position [880, 557, 895, 573] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [880, 577, 895, 593] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Data aquisition" Ports [22, 24] Position [420, 183, 755, 1167] BackgroundColor "gray" AttributesFormatString "%" BlockChoice "Beckhoff" TemplateBlock "data_aquisition_lib/Data aquisition" MemberBlocks "Beckhoff,Simulator" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Data aquisition" Location [148, 182, 646, 482] 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 "DAC Drive Motor 1 (front left)" Position [20, 40, 40, 60] IconDisplay "Port number" } Block { BlockType Inport Name "DAC Drive Motor 2 (rear)" Position [20, 80, 40, 100] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Drive Motor 3 (front right)" Position [20, 120, 40, 140] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Ball Motor 1 (left)" Position [20, 160, 40, 180] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Ball Motor 2 (right)" Position [20, 200, 40, 220] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "DAC Kick Motor" Position [20, 240, 40, 260] Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "Power on/off" Position [20, 280, 40, 300] Port "7" IconDisplay "Port number" } Block { BlockType Inport Name "Amplifiers on/off" Position [20, 320, 40, 340] Port "8" IconDisplay "Port number" } Block { BlockType Inport Name "LED Reset motion" Position [20, 360, 40, 380] Port "9" IconDisplay "Port number" } Block { BlockType Inport Name "LED Spare switch" Position [20, 400, 40, 420] Port "10" IconDisplay "Port number" } Block { BlockType Inport Name "LED blue" Position [20, 440, 40, 460] Port "11" IconDisplay "Port number" } Block { BlockType Inport Name "LED amber" Position [20, 480, 40, 500] Port "12" IconDisplay "Port number" } Block { BlockType Inport Name "Keeper right" Position [20, 520, 40, 540] Port "13" IconDisplay "Port number" } Block { BlockType Inport Name "Keeper left" Position [20, 560, 40, 580] Port "14" IconDisplay "Port number" } Block { BlockType Inport Name "Keeper up" Position [20, 600, 40, 620] Port "15" IconDisplay "Port number" } Block { BlockType Inport Name "CAMcontrol" Position [20, 640, 40, 660] Port "16" IconDisplay "Port number" } Block { BlockType Inport Name "CAMdata" Position [20, 680, 40, 700] Port "17" IconDisplay "Port number" } Block { BlockType Inport Name "SHTcontrol" Position [20, 720, 40, 740] Port "18" IconDisplay "Port number" } Block { BlockType Inport Name "SHTdutycycle" Position [20, 760, 40, 780] Port "19" IconDisplay "Port number" } Block { BlockType Inport Name "SHTpulselength" Position [20, 800, 40, 820] Port "20" IconDisplay "Port number" } Block { BlockType Inport Name "SHTencodermax" Position [20, 840, 40, 860] Port "21" IconDisplay "Port number" } Block { BlockType Inport Name "Cover light" Position [20, 880, 40, 900] Port "22" IconDisplay "Port number" } Block { BlockType Reference Name "Beckhoff" Ports [22, 24] Position [100, 15, 140, 130] BackgroundColor "gray" FontSize 14 SourceBlock "data_aquisition_lib/Beckhoff" SourceType "SubSystem" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData off RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Outport Name "ENC Drive Motor 1 (front left)" Position [200, 40, 220, 60] IconDisplay "Port number" } Block { BlockType Outport Name "ENC Drive Motor 2 (rear)" Position [200, 80, 220, 100] Port "2" IconDisplay "Port number" } Block { BlockType Outport Name "ENC Drive Motor 3 (front right)" Position [200, 120, 220, 140] Port "3" IconDisplay "Port number" } Block { BlockType Outport Name "ENC Kick Motor" Position [200, 160, 220, 180] Port "4" IconDisplay "Port number" } Block { BlockType Outport Name "Arm 1 (left)" Position [200, 200, 220, 220] Port "5" IconDisplay "Port number" } Block { BlockType Outport Name "Arm 2 (right)" Position [200, 240, 220, 260] Port "6" IconDisplay "Port number" } Block { BlockType Outport Name "Spare switch" Position [200, 280, 220, 300] Port "7" IconDisplay "Port number" } Block { BlockType Outport Name "Wireless panic switch" Position [200, 320, 220, 340] Port "8" IconDisplay "Port number" } Block { BlockType Outport Name "Reset motion" Position [200, 360, 220, 380] Port "9" IconDisplay "Port number" } Block { BlockType Outport Name "In/Out field" Position [200, 400, 220, 420] Port "10" IconDisplay "Port number" } Block { BlockType Outport Name "tacho0" Position [200, 440, 220, 460] Port "11" IconDisplay "Port number" } Block { BlockType Outport Name "tacho1" Position [200, 480, 220, 500] Port "12" IconDisplay "Port number" } Block { BlockType Outport Name "battery" Position [200, 520, 220, 540] Port "13" IconDisplay "Port number" } Block { BlockType Outport Name "5V" Position [200, 560, 220, 580] Port "14" IconDisplay "Port number" } Block { BlockType Outport Name "CAMstatus" Position [200, 600, 220, 620] Port "15" IconDisplay "Port number" } Block { BlockType Outport Name "CAMposX" Position [200, 640, 220, 660] Port "16" IconDisplay "Port number" } Block { BlockType Outport Name "CAMposY" Position [200, 680, 220, 700] Port "17" IconDisplay "Port number" } Block { BlockType Outport Name "CAMposZ" Position [200, 720, 220, 740] Port "18" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelX" Position [200, 760, 220, 780] Port "19" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelY" Position [200, 800, 220, 820] Port "20" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelZ" Position [200, 840, 220, 860] Port "21" IconDisplay "Port number" } Block { BlockType Outport Name "CAMtimestamp" Position [200, 880, 220, 900] Port "22" IconDisplay "Port number" } Block { BlockType Outport Name "SHTstatus" Position [200, 920, 220, 940] Port "23" IconDisplay "Port number" } Block { BlockType Outport Name "SHTvalue" Position [200, 960, 220, 980] Port "24" IconDisplay "Port number" } Line { SrcBlock "DAC Drive Motor 1 (front left)" SrcPort 1 DstBlock "Beckhoff" DstPort 1 } Line { SrcBlock "DAC Drive Motor 2 (rear)" SrcPort 1 DstBlock "Beckhoff" DstPort 2 } Line { SrcBlock "DAC Drive Motor 3 (front right)" SrcPort 1 DstBlock "Beckhoff" DstPort 3 } Line { SrcBlock "DAC Ball Motor 1 (left)" SrcPort 1 DstBlock "Beckhoff" DstPort 4 } Line { SrcBlock "DAC Ball Motor 2 (right)" SrcPort 1 DstBlock "Beckhoff" DstPort 5 } Line { SrcBlock "DAC Kick Motor" SrcPort 1 DstBlock "Beckhoff" DstPort 6 } Line { SrcBlock "Power on/off" SrcPort 1 DstBlock "Beckhoff" DstPort 7 } Line { SrcBlock "Amplifiers on/off" SrcPort 1 DstBlock "Beckhoff" DstPort 8 } Line { SrcBlock "LED Reset motion" SrcPort 1 DstBlock "Beckhoff" DstPort 9 } Line { SrcBlock "LED Spare switch" SrcPort 1 DstBlock "Beckhoff" DstPort 10 } Line { SrcBlock "LED blue" SrcPort 1 DstBlock "Beckhoff" DstPort 11 } Line { SrcBlock "LED amber" SrcPort 1 DstBlock "Beckhoff" DstPort 12 } Line { SrcBlock "Keeper right" SrcPort 1 DstBlock "Beckhoff" DstPort 13 } Line { SrcBlock "Keeper left" SrcPort 1 DstBlock "Beckhoff" DstPort 14 } Line { SrcBlock "Keeper up" SrcPort 1 DstBlock "Beckhoff" DstPort 15 } Line { SrcBlock "CAMcontrol" SrcPort 1 DstBlock "Beckhoff" DstPort 16 } Line { SrcBlock "CAMdata" SrcPort 1 DstBlock "Beckhoff" DstPort 17 } Line { SrcBlock "SHTcontrol" SrcPort 1 DstBlock "Beckhoff" DstPort 18 } Line { SrcBlock "SHTdutycycle" SrcPort 1 DstBlock "Beckhoff" DstPort 19 } Line { SrcBlock "SHTpulselength" SrcPort 1 DstBlock "Beckhoff" DstPort 20 } Line { SrcBlock "SHTencodermax" SrcPort 1 DstBlock "Beckhoff" DstPort 21 } Line { SrcBlock "Cover light" SrcPort 1 DstBlock "Beckhoff" DstPort 22 } Line { SrcBlock "Beckhoff" SrcPort 1 DstBlock "ENC Drive Motor 1 (front left)" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 2 DstBlock "ENC Drive Motor 2 (rear)" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 3 DstBlock "ENC Drive Motor 3 (front right)" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 4 DstBlock "ENC Kick Motor" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 5 DstBlock "Arm 1 (left)" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 6 DstBlock "Arm 2 (right)" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 7 DstBlock "Spare switch" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 8 DstBlock "Wireless panic switch" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 9 DstBlock "Reset motion" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 10 DstBlock "In/Out field" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 11 DstBlock "tacho0" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 12 DstBlock "tacho1" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 13 DstBlock "battery" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 14 DstBlock "5V" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 15 DstBlock "CAMstatus" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 16 DstBlock "CAMposX" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 17 DstBlock "CAMposY" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 18 DstBlock "CAMposZ" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 19 DstBlock "CAMvelX" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 20 DstBlock "CAMvelY" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 21 DstBlock "CAMvelZ" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 22 DstBlock "CAMtimestamp" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 23 DstBlock "SHTstatus" DstPort 1 } Line { SrcBlock "Beckhoff" SrcPort 24 DstBlock "SHTvalue" DstPort 1 } } } Block { BlockType Gain Name "Gain" Position [200, 190, 230, 220] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" Position [200, 235, 230, 265] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain2" Position [200, 280, 230, 310] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [820, 605, 840, 625] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [865, 645, 885, 665] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [930, 560, 960, 590] Criteria "u2 > Threshold" Threshold ".5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "static gain sensor" Position [925, 680, 955, 710] Gain "3.2" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "enc left" Position [1005, 208, 1035, 222] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "enc back" Position [1005, 248, 1035, 262] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "enc right" Position [1005, 288, 1035, 302] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "enc kick" Position [1005, 328, 1035, 342] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho left" Position [1005, 608, 1035, 622] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho right" Position [1005, 648, 1035, 662] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "arm left" Position [1005, 368, 1035, 382] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "arm right" Position [1005, 408, 1035, 422] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "robot_active" Position [1005, 568, 1035, 582] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "battery" Position [1005, 688, 1035, 702] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "switch (spare)" Position [1005, 448, 1035, 462] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "switch (panic)" Position [1005, 488, 1035, 502] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "switch (reset motion)" Position [1005, 528, 1035, 542] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "CAMstatus" Position [1005, 768, 1035, 782] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "CAMposX" Position [1005, 808, 1035, 822] Port "15" IconDisplay "Port number" } Block { BlockType Outport Name "CAMposY" Position [1005, 848, 1035, 862] Port "16" IconDisplay "Port number" } Block { BlockType Outport Name "CAMposZ" Position [1005, 888, 1035, 902] Port "17" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelX" Position [1005, 928, 1035, 942] Port "18" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelY" Position [1005, 968, 1035, 982] Port "19" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelZ" Position [1005, 1008, 1035, 1022] Port "20" IconDisplay "Port number" } Block { BlockType Outport Name "CAMtimestamp" Position [1005, 1048, 1035, 1062] Port "21" IconDisplay "Port number" } Block { BlockType Outport Name "SHTstatus" Position [1005, 1088, 1035, 1102] Port "22" IconDisplay "Port number" } Block { BlockType Outport Name "SHTvalue" Position [1005, 1128, 1035, 1142] Port "23" IconDisplay "Port number" } Line { SrcBlock "Data aquisition" SrcPort 13 DstBlock "static gain sensor" DstPort 1 } Line { SrcBlock "power on/off" SrcPort 1 DstBlock "Data aquisition" DstPort 7 } Line { SrcBlock "drive right" SrcPort 1 DstBlock "Gain2" DstPort 1 } Line { SrcBlock "drive back" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "drive left" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Data aquisition" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Data aquisition" DstPort 2 } Line { SrcBlock "Gain2" SrcPort 1 DstBlock "Data aquisition" DstPort 3 } Line { SrcBlock "Data aquisition" SrcPort 3 DstBlock "enc right" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 2 DstBlock "enc back" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 1 DstBlock "enc left" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 6 DstBlock "arm right" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 12 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 5 DstBlock "arm left" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 11 DstBlock "Sum" DstPort 1 } Line { SrcBlock "ball left" SrcPort 1 DstBlock "Data aquisition" DstPort 4 } Line { SrcBlock "ball right" SrcPort 1 DstBlock "Data aquisition" DstPort 5 } Line { SrcBlock "static gain sensor" SrcPort 1 DstBlock "battery" DstPort 1 } Line { SrcBlock "amplifiers on/off" SrcPort 1 DstBlock "Data aquisition" DstPort 8 } Line { SrcBlock "LED (reset motion)" SrcPort 1 DstBlock "Data aquisition" DstPort 9 } Line { SrcBlock "kick motor" SrcPort 1 DstBlock "Data aquisition" DstPort 6 } Line { SrcBlock "Keeper right" SrcPort 1 DstBlock "Data aquisition" DstPort 13 } Line { SrcBlock "Keeper left" SrcPort 1 DstBlock "Data aquisition" DstPort 14 } Line { SrcBlock "Keeper up" SrcPort 1 DstBlock "Data aquisition" DstPort 15 } Line { SrcBlock "Data aquisition" SrcPort 4 DstBlock "enc kick" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 7 DstBlock "switch (spare)" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 8 DstBlock "switch (panic)" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 9 DstBlock "switch (reset motion)" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 14 Points [70, 0] Branch { Points [45, 0] DstBlock "Sum1" DstPort 2 } Branch { DstBlock "Sum" DstPort 2 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "tacho left" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "tacho right" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 15 DstBlock "CAMstatus" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 16 DstBlock "CAMposX" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 17 DstBlock "CAMposY" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 18 DstBlock "CAMposZ" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 19 DstBlock "CAMvelX" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 20 DstBlock "CAMvelY" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 21 DstBlock "CAMvelZ" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 22 DstBlock "CAMtimestamp" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 23 DstBlock "SHTstatus" DstPort 1 } Line { SrcBlock "Data aquisition" SrcPort 24 DstBlock "SHTvalue" DstPort 1 } Line { SrcBlock "LED (spare switch)" SrcPort 1 DstBlock "Data aquisition" DstPort 10 } Line { SrcBlock "LED (blue)" SrcPort 1 DstBlock "Data aquisition" DstPort 11 } Line { SrcBlock "LED (amber)" SrcPort 1 DstBlock "Data aquisition" DstPort 12 } Line { SrcBlock "CAMcontrol" SrcPort 1 DstBlock "Data aquisition" DstPort 16 } Line { SrcBlock "CAMdata" SrcPort 1 DstBlock "Data aquisition" DstPort 17 } Line { SrcBlock "SHTcontrol" SrcPort 1 DstBlock "Data aquisition" DstPort 18 } Line { SrcBlock "SHTdutycycle" SrcPort 1 DstBlock "Data aquisition" DstPort 19 } Line { SrcBlock "SHTpulselength" SrcPort 1 DstBlock "Data aquisition" DstPort 20 } Line { SrcBlock "SHTencodermax" SrcPort 1 DstBlock "Data aquisition" DstPort 21 } Line { SrcBlock "Data aquisition" SrcPort 10 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Switch" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "robot_active" DstPort 1 } Line { SrcBlock "Cover light" SrcPort 1 DstBlock "Data aquisition" DstPort 22 } Annotation { Position [1261, 402] } } } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [215, 210, 235, 230] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [190, 275, 210, 295] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [160, 340, 180, 360] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "T_in" Ports [3, 3] Position [405, 184, 475, 386] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "T_in" Location [383, 187, 613, 333] 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 "F_x" Position [25, 38, 55, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "F_y" Position [25, 68, 55, 82] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "T_phi" Position [25, 98, 55, 112] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 3] Position [145, 28, 150, 122] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Gain Name "Gain2" Position [100, 60, 130, 90] Gain "1/(R1+R2+R3)*[-R2 -1/3*sqrt(3)*(2*R3+R2) 1;R3+R1 1/3*sqrt(3)*(-R3+R1) 1;-R2 1/3*sqrt(3)*(R2+2*R1) 1]" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux2" Ports [3, 1] Position [80, 30, 85, 120] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Outport Name "dac 1" Position [175, 38, 205, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "dac 2" Position [175, 68, 205, 82] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "dac 3" Position [175, 98, 205, 112] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "Gain2" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 Points [0, 0] DstBlock "dac 1" DstPort 1 } Line { SrcBlock "F_x" SrcPort 1 Points [0, 0] DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 Points [0, 0] DstBlock "dac 2" DstPort 1 } Line { SrcBlock "F_y" SrcPort 1 Points [0, 0] DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 3 Points [0, 0] DstBlock "dac 3" DstPort 1 } Line { SrcBlock "T_phi" SrcPort 1 Points [0, 0] DstBlock "Mux2" DstPort 3 } } } Block { BlockType SubSystem Name "T_out1" Ports [3, 3] Position [1110, 206, 1175, 394] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "T_out1" Location [789, 403, 1019, 549] 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 "enc 1" Position [25, 38, 55, 52] ShowName off IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "enc 2" Position [25, 68, 55, 82] ShowName off Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "enc 3" Position [25, 98, 55, 112] ShowName off Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [145, 28, 150, 122] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Gain Name "Gain" Position [95, 60, 125, 90] Gain "1/(R1+R2+R3)*[-R2 R3+R1 -R2; -1/3*sqrt(3)*(2*R3+R2) 1/3*sqrt(3)*(-R3+R1) 1/3*sqrt(3)*(R2+2*R1);1 1 1]" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux1" Ports [3, 1] Position [80, 30, 85, 120] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Outport Name "x_l" Position [175, 38, 205, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_l" Position [175, 68, 205, 82] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "phi_l" Position [175, 98, 205, 112] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { Labels [0, 0] SrcBlock "Mux1" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 Points [0, 0] DstBlock "x_l" DstPort 1 } Line { SrcBlock "enc 1" SrcPort 1 Points [0, 0] DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [0, 0] DstBlock "y_l" DstPort 1 } Line { SrcBlock "enc 2" SrcPort 1 Points [0, 0] DstBlock "Mux1" DstPort 2 } Line { SrcBlock "Demux" SrcPort 3 Points [0, 0] DstBlock "phi_l" DstPort 1 } Line { SrcBlock "enc 3" SrcPort 1 Points [0, 0] DstBlock "Mux1" DstPort 3 } } } Block { BlockType Terminator Name "Terminator" Position [605, 145, 625, 165] ShowName off } Block { BlockType Outport Name "x_l" Position [1285, 233, 1315, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_l" Position [1285, 293, 1315, 307] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "phi_l" Position [1285, 353, 1315, 367] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "q" Position [1095, 423, 1125, 437] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "enc kick" Position [910, 413, 940, 427] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho left" Position [910, 473, 940, 487] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho right" Position [910, 533, 940, 547] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "arm left" Position [910, 593, 940, 607] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "arm right" Position [910, 653, 940, 667] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "robot_active" Position [910, 713, 940, 727] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "battery" Position [910, 773, 940, 787] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "switch (spare)" Position [910, 833, 940, 847] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "switch (panic, reset motion)" Position [980, 923, 1010, 937] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "CAMstatus" Position [910, 1013, 940, 1027] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "CAMposX" Position [910, 1073, 940, 1087] Port "15" IconDisplay "Port number" } Block { BlockType Outport Name "CAMposY" Position [910, 1133, 940, 1147] Port "16" IconDisplay "Port number" } Block { BlockType Outport Name "CAMposZ" Position [910, 1193, 940, 1207] Port "17" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelX" Position [910, 1253, 940, 1267] Port "18" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelY" Position [910, 1313, 940, 1327] Port "19" IconDisplay "Port number" } Block { BlockType Outport Name "CAMvelZ" Position [910, 1373, 940, 1387] Port "20" IconDisplay "Port number" } Block { BlockType Outport Name "CAMtimestamp" Position [910, 1433, 940, 1447] Port "21" IconDisplay "Port number" } Block { BlockType Outport Name "SHTstatus" Position [910, 1493, 940, 1507] Port "22" IconDisplay "Port number" } Block { BlockType Outport Name "SHTvalue" Position [910, 1553, 940, 1567] Port "23" IconDisplay "Port number" } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Controllers" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Controllers" DstPort 2 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Controllers" DstPort 3 } Line { SrcBlock "Subsystem" SrcPort 2 Points [85, 0] Branch { DstBlock "Gain1" DstPort 1 } Branch { Points [0, 130] DstBlock "Gain6" DstPort 1 } } Line { SrcBlock "Subsystem" SrcPort 3 Points [75, 0] Branch { DstBlock "Gain2" DstPort 1 } Branch { Points [0, 105] DstBlock "Gain7" DstPort 1 } } Line { SrcBlock "Controllers" SrcPort 1 DstBlock "T_in" DstPort 1 } Line { SrcBlock "Controllers" SrcPort 2 DstBlock "T_in" DstPort 2 } Line { SrcBlock "Controllers" SrcPort 3 DstBlock "T_in" DstPort 3 } Line { SrcBlock "Gain3" SrcPort 1 Points [30, 0] Branch { DstBlock "T_out1" DstPort 1 } Branch { Points [0, -160] DstBlock "Mux1" DstPort 1 } } Line { SrcBlock "Gain1" SrcPort 1 Points [20, 0] Branch { DstBlock "T_out1" DstPort 2 } Branch { Points [0, -195] DstBlock "Mux1" DstPort 2 } } Line { SrcBlock "Gain2" SrcPort 1 Points [10, 0] Branch { DstBlock "T_out1" DstPort 3 } Branch { Points [0, -230] DstBlock "Mux1" DstPort 3 } } Line { SrcBlock "x_l_ref" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "y_l_ref" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "phi_l_ref" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "T_out1" SrcPort 1 Points [30, 0] Branch { DstBlock "x_l" DstPort 1 } Branch { Points [0, -185; -985, 0] DstBlock "Sum" DstPort 1 } } Line { SrcBlock "T_out1" SrcPort 2 Points [50, 0] Branch { DstBlock "y_l" DstPort 1 } Branch { Points [0, -260; -1030, 0] DstBlock "Sum1" DstPort 1 } } Line { SrcBlock "T_out1" SrcPort 3 Points [75, 0] Branch { DstBlock "phi_l" DstPort 1 } Branch { Points [0, -345; -1085, 0] DstBlock "Sum2" DstPort 1 } } Line { SrcBlock "Subsystem" SrcPort 1 Points [95, 0] Branch { DstBlock "Gain3" DstPort 1 } Branch { Points [0, 155] DstBlock "Gain5" DstPort 1 } } Line { SrcBlock "T_in" SrcPort 1 DstBlock "Safety" DstPort 2 } Line { SrcBlock "T_in" SrcPort 2 DstBlock "Safety" DstPort 3 } Line { SrcBlock "T_in" SrcPort 3 DstBlock "Safety" DstPort 4 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Safety" SrcPort 2 DstBlock "Subsystem" DstPort 1 } Line { SrcBlock "Safety" SrcPort 3 DstBlock "Subsystem" DstPort 2 } Line { SrcBlock "Safety" SrcPort 4 DstBlock "Subsystem" DstPort 3 } Line { SrcBlock "Gain4" SrcPort 1 Points [-490, 0; 0, 50] DstBlock "Safety" DstPort 1 } Line { SrcBlock "ball left" SrcPort 1 DstBlock "Subsystem" DstPort 4 } Line { SrcBlock "ball right" SrcPort 1 DstBlock "Subsystem" DstPort 5 } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "q" DstPort 1 } Line { SrcBlock "Gain5" SrcPort 1 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Gain6" SrcPort 1 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "Mux2" DstPort 3 } Line { SrcBlock "kick motor" SrcPort 1 DstBlock "Subsystem" DstPort 6 } Line { SrcBlock "power on/off" SrcPort 1 DstBlock "Subsystem" DstPort 7 } Line { SrcBlock "amplifiers on/off" SrcPort 1 DstBlock "Subsystem" DstPort 8 } Line { SrcBlock "LED (reset motion)" SrcPort 1 DstBlock "Subsystem" DstPort 9 } Line { SrcBlock "LED (spare switch)" SrcPort 1 DstBlock "Subsystem" DstPort 10 } Line { SrcBlock "LED (blue)" SrcPort 1 DstBlock "Subsystem" DstPort 11 } Line { SrcBlock "LED (amber)" SrcPort 1 DstBlock "Subsystem" DstPort 12 } Line { SrcBlock "Keeper right" SrcPort 1 DstBlock "Subsystem" DstPort 13 } Line { SrcBlock "Keeper left" SrcPort 1 DstBlock "Subsystem" DstPort 14 } Line { SrcBlock "Keeper up" SrcPort 1 DstBlock "Subsystem" DstPort 15 } Line { SrcBlock "CAMcontrol" SrcPort 1 DstBlock "Subsystem" DstPort 16 } Line { SrcBlock "CAMdata" SrcPort 1 DstBlock "Subsystem" DstPort 17 } Line { SrcBlock "SHTcontrol" SrcPort 1 DstBlock "Subsystem" DstPort 18 } Line { SrcBlock "SHTdutycycle" SrcPort 1 DstBlock "Subsystem" DstPort 19 } Line { SrcBlock "SHTpulselength" SrcPort 1 DstBlock "Subsystem" DstPort 20 } Line { SrcBlock "SHTencodermax" SrcPort 1 DstBlock "Subsystem" DstPort 21 } Line { SrcBlock "Subsystem" SrcPort 4 DstBlock "enc kick" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 5 DstBlock "tacho left" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 6 DstBlock "tacho right" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 7 DstBlock "arm left" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 8 DstBlock "arm right" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 9 DstBlock "robot_active" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 10 DstBlock "battery" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 11 DstBlock "switch (spare)" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 14 DstBlock "CAMstatus" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 15 DstBlock "CAMposX" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 16 DstBlock "CAMposY" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 17 DstBlock "CAMposZ" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 18 DstBlock "CAMvelX" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 19 DstBlock "CAMvelY" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 20 DstBlock "CAMvelZ" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 21 DstBlock "CAMtimestamp" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 22 DstBlock "SHTstatus" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 23 DstBlock "SHTvalue" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 12 DstBlock "Mux3" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 13 DstBlock "Mux3" DstPort 2 } Line { SrcBlock "Mux3" SrcPort 1 DstBlock "switch (panic, reset motion)" DstPort 1 } Line { SrcBlock "Cover light" SrcPort 1 DstBlock "Subsystem" DstPort 22 } Line { SrcBlock "Safety" SrcPort 1 DstBlock "Terminator" DstPort 1 } Annotation { Position [640, 200] } } } Block { BlockType Demux Name "Demux1" Ports [1, 3] Position [90, 265, 95, 345] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Constant Name "Feed\nTUe" Position [920, 795, 940, 815] OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Ground Name "Ground1" Position [860, 1245, 880, 1265] ShowName off } Block { BlockType Ground Name "Ground2" Position [860, 1295, 880, 1315] ShowName off } Block { BlockType Ground Name "Ground3" Position [860, 1345, 880, 1365] ShowName off } Block { BlockType SubSystem Name "Kicker" Ports [10, 6] Position [745, 539, 905, 786] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Kicker" Location [5, 77, 1557, 894] 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 "AngleEncoder" Position [25, 93, 55, 107] IconDisplay "Port number" } Block { BlockType Inport Name "SkillID" Position [240, 63, 270, 77] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "y_dot" Position [45, 123, 75, 137] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "KickEffort" Position [240, 33, 270, 47] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "target_xyo\ncur_xyo" Position [240, 183, 270, 197] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "manual switch" Position [155, 213, 185, 227] Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "Amplifier and Power on/off" Position [45, 153, 75, 167] Port "7" IconDisplay "Port number" } Block { BlockType Inport Name "Tunable_kick" Position [240, 243, 270, 257] Port "8" IconDisplay "Port number" } Block { BlockType Inport Name "ShootEncoder" Position [155, 273, 185, 287] Port "9" IconDisplay "Port number" } Block { BlockType Inport Name "penaltyDemoMode" Position [240, 303, 270, 317] Port "10" IconDisplay "Port number" } Block { BlockType Constant Name "Constant" Position [1005, 204, 1020, 226] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 8] Position [450, 60, 460, 290] ShowName off Outputs "8" DisplayOption "bar" Port { PortNumber 6 Name "Initialization or homing current" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 7 Name "SetAngle" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Gain Name "Gain" Position [85, 85, 115, 115] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [4, 1] Position [1050, 175, 1090, 280] Inputs "3" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux" Ports [10, 1] Position [295, 18, 305, 332] ShowName off Inputs "10" DisplayOption "bar" } Block { BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [345, 160, 405, 190] FunctionName "kick" } Block { BlockType TransferFcn Name "Transfer Fcn" Position [120, 112, 180, 148] ShowName off Denominator "[1/2/pi/5 1]" } Block { BlockType SubSystem Name "controller1" Ports [3, 1] Position [705, 320, 790, 380] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "controller1" Location [89, 409, 1275, 682] 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 "setpoint" Position [255, 103, 285, 117] IconDisplay "Port number" } Block { BlockType Inport Name "enable" Position [250, 33, 280, 47] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "encoderin" Position [70, 68, 100, 82] Port "3" IconDisplay "Port number" } Block { BlockType Constant Name "Constant1" Position [240, 136, 300, 154] Value "24000000" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant4" Position [240, 170, 300, 190] Value "420000" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DiscreteTransferFcn Name "Discrete\nTransfer Fcn" Position [710, 77, 770, 113] Numerator "[0.028407261150718 -0.027844741127931]" Denominator "[1.000000000000000 0.406300056966228]" SampleTime "1/1000" } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [640, 85, 660, 105] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Terminator Name "Terminator" Position [480, 25, 500, 45] ShowName off } Block { BlockType Terminator Name "Terminator1" Position [480, 55, 500, 75] ShowName off } Block { BlockType Terminator Name "Terminator2" Position [480, 115, 500, 135] ShowName off } Block { BlockType Terminator Name "Terminator3" Position [480, 145, 500, 165] ShowName off } Block { BlockType Terminator Name "Terminator4" Position [480, 175, 500, 195] ShowName off } Block { BlockType "S-Function" Name "trajectory planner" Ports [5, 6] Position [340, 26, 435, 194] FunctionName "setpointgenerator_kick" MaskDisplay "port_label('input',1,'Reset')\nport_label('input',2,'Curren pos')\nport_label('input',3,'Final pos')\nport_label('input',4,'amax')\nport_label('input',5,'vmax')\nport_label('output',1,'aref')\nport_label('output',2,'vref')\nport_label('output',3,'xref')\nport_label('output',4,'amax')\nport_label('output',5,'vmax')\nport_label('output',6,'tf')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Outport Name "u" Position [940, 88, 970, 102] IconDisplay "Port number" } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Discrete\nTransfer Fcn" DstPort 1 } Line { SrcBlock "trajectory planner" SrcPort 3 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Constant4" SrcPort 1 DstBlock "trajectory planner" DstPort 5 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "trajectory planner" DstPort 4 } Line { SrcBlock "enable" SrcPort 1 DstBlock "trajectory planner" DstPort 1 } Line { SrcBlock "setpoint" SrcPort 1 DstBlock "trajectory planner" DstPort 3 } Line { SrcBlock "encoderin" SrcPort 1 Points [130, 0] Branch { DstBlock "trajectory planner" DstPort 2 } Branch { Points [0, 155; 415, 0] DstBlock "Sum1" DstPort 2 } } Line { SrcBlock "Discrete\nTransfer Fcn" SrcPort 1 DstBlock "u" DstPort 1 } Line { SrcBlock "trajectory planner" SrcPort 2 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "trajectory planner" SrcPort 1 DstBlock "Terminator" DstPort 1 } Line { SrcBlock "trajectory planner" SrcPort 4 DstBlock "Terminator2" DstPort 1 } Line { SrcBlock "trajectory planner" SrcPort 5 DstBlock "Terminator3" DstPort 1 } Line { SrcBlock "trajectory planner" SrcPort 6 DstBlock "Terminator4" DstPort 1 } } } Block { BlockType Outport Name "AngleMotor1" Position [1145, 213, 1175, 227] IconDisplay "Port number" } Block { BlockType Outport Name "SHTcontrol" Position [510, 63, 540, 77] Port "2" IconDisplay "Port number" } Block { BlockType Outport Name "SHTDutyCycle" Position [510, 93, 540, 107] Port "3" IconDisplay "Port number" } Block { BlockType Outport Name "SHTPulseLength" Position [510, 123, 540, 137] Port "4" IconDisplay "Port number" } Block { BlockType Outport Name "SHTEncoderMax" Position [515, 153, 545, 167] Port "5" IconDisplay "Port number" } Block { BlockType Outport Name "Retract_ball1" Position [495, 273, 525, 287] Port "6" IconDisplay "Port number" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "S-Function" DstPort 1 } Line { SrcBlock "S-Function" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "SHTcontrol" DstPort 1 } Line { SrcBlock "KickEffort" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "SHTDutyCycle" DstPort 1 } Line { SrcBlock "SkillID" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Demux" SrcPort 3 DstBlock "SHTPulseLength" DstPort 1 } Line { SrcBlock "AngleEncoder" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Demux" SrcPort 4 DstBlock "SHTEncoderMax" DstPort 1 } Line { SrcBlock "Demux" SrcPort 5 DstBlock "Multiport\nSwitch" DstPort 1 } Line { SrcBlock "Transfer Fcn" SrcPort 1 DstBlock "Mux" DstPort 4 } Line { SrcBlock "Amplifier and Power on/off" SrcPort 1 Points [140, 0] Branch { DstBlock "Mux" DstPort 5 } Branch { Points [0, 190] DstBlock "controller1" DstPort 2 } } Line { SrcBlock "target_xyo\ncur_xyo" SrcPort 1 DstBlock "Mux" DstPort 6 } Line { SrcBlock "manual switch" SrcPort 1 DstBlock "Mux" DstPort 7 } Line { SrcBlock "y_dot" SrcPort 1 DstBlock "Transfer Fcn" DstPort 1 } Line { SrcBlock "Demux" SrcPort 8 DstBlock "Retract_ball1" DstPort 1 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 Points [0, -10] DstBlock "AngleMotor1" DstPort 1 } Line { Name "Initialization or homing current" Labels [0, 0] SrcBlock "Demux" SrcPort 6 Points [405, 0; 0, 20] DstBlock "Multiport\nSwitch" DstPort 3 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 2 } Line { SrcBlock "Tunable_kick" SrcPort 1 DstBlock "Mux" DstPort 8 } Line { SrcBlock "ShootEncoder" SrcPort 1 DstBlock "Mux" DstPort 9 } Line { SrcBlock "penaltyDemoMode" SrcPort 1 DstBlock "Mux" DstPort 10 } Line { SrcBlock "controller1" SrcPort 1 Points [70, 0; 0, -85] DstBlock "Multiport\nSwitch" DstPort 4 } Line { Name "SetAngle" Labels [0, 0] SrcBlock "Demux" SrcPort 7 Points [140, 0; 0, 80] DstBlock "controller1" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 Points [115, 0] Branch { DstBlock "Mux" DstPort 3 } Branch { Points [0, 270] DstBlock "controller1" DstPort 3 } } } } Block { BlockType SubSystem Name "LED definition" Ports [5, 5] Position [700, 979, 880, 1231] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "LED definition" Location [5, 77, 1545, 770] 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 "demo-team-role" Position [20, 513, 50, 527] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "IO keeper block" Position [500, 108, 530, 122] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control_enable" Position [1020, 618, 1050, 632] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_ID" Position [285, 423, 315, 437] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robotactive" Position [1120, 558, 1150, 572] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Reference Name "Compare\nTo Constant2" Ports [1, 1] Position [490, 416, 540, 444] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "1" LogicOutDataTypeMode "uint8" ZeroCross "off" } Block { BlockType Reference Name "Compare\nTo Constant3" Ports [1, 1] Position [490, 466, 540, 494] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "get_global_par('ROLE_GOALKEEPER')" LogicOutDataTypeMode "uint8" ZeroCross "off" } Block { BlockType Constant Name "Constant1" Position [1055, 655, 1085, 685] ShowName off Value "[0 0]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [1400, 527, 1435, 563] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [425, 414, 475, 446] ShowName off OutDataTypeMode "int16" OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Nearest" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion3" Position [425, 464, 475, 496] ShowName off OutDataTypeMode "int16" OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Nearest" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [1310, 517, 1315, 588] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" Ports [1, 3] Position [585, 52, 590, 178] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "up" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "left" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "right" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux2" Ports [1, 3] Position [95, 484, 100, 556] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "Keeper action active" Ports [0, 1] Position [685, 373, 855, 417] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Keeper action active" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [155, 30, 185, 60] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Outport Name "blue" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "blue" DstPort 1 } } } Block { BlockType Logic Name "Logical\nOperator" Ports [2, 1] Position [1350, 527, 1380, 558] ShowName off Operator "OR" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator1" Ports [2, 1] Position [560, 406, 595, 504] ShowName off Operator "OR" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator2" Ports [3, 1] Position [820, 271, 855, 369] ShowName off Operator "OR" Inputs "3" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator3" Ports [2, 1] Position [1200, 535, 1225, 575] ShowName off AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [9, 1] Position [685, 511, 770, 979] Inputs "8" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch1" Ports [3, 1] Position [895, 205, 965, 435] Inputs "2" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "No keeper action active" Ports [0, 1] Position [685, 223, 855, 267] NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "No keeper action active" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 30, 185, 60] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Outport Name "black" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "black" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem1" Ports [0, 1] Position [425, 873, 595, 917] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem1" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 30, 185, 60] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Outport Name "black" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "black" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem10" Ports [0, 1] Position [425, 573, 595, 617] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem10" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [155, 30, 185, 60] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Outport Name "continuous blue" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "continuous blue" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem11" Ports [0, 1] Position [425, 623, 595, 667] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem11" Location [103, 457, 601, 757] 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 Constant Name "Constant" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType DiscretePulseGenerator Name "Pulse\nGenerator1" Ports [0, 1] Position [155, 28, 200, 62] ShowName off PulseType "Time based" Period "1" PulseWidth "50" } Block { BlockType Outport Name "fast blinking blue" Position [380, 63, 410, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "fast blinking blue" DstPort 1 } Line { SrcBlock "Pulse\nGenerator1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem2" Ports [0, 1] Position [425, 923, 595, 967] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem2" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 30, 185, 60] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Outport Name "black" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "black" DstPort 1 } } } Block { BlockType SubSystem Name "Subsystem3" Ports [0, 1] Position [160, 332, 235, 358] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem3" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 75, 185, 105] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [155, 30, 185, 60] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Outport Name "continuous amber" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "continuous amber" DstPort 1 } } } Block { BlockType SubSystem Name "Subsystem4" Ports [0, 1] Position [425, 823, 595, 867] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem4" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 30, 185, 60] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Outport Name "black" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "black" DstPort 1 } } } Block { BlockType SubSystem Name "Subsystem5" Ports [0, 1] Position [165, 287, 240, 313] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem5" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [155, 30, 185, 60] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Outport Name "continuous blue" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "continuous blue" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem8" Ports [0, 1] Position [425, 673, 595, 717] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem8" Location [433, 403, 931, 703] 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 Constant Name "Constant" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType DiscretePulseGenerator Name "Pulse\nGenerator" Ports [0, 1] Position [155, 28, 200, 62] ShowName off PulseType "Time based" Period "3" PulseWidth "50" } Block { BlockType Outport Name "slow blinking blue" Position [360, 63, 390, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Pulse\nGenerator" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "slow blinking blue" DstPort 1 } } } Block { BlockType SubSystem Name "Subsystem9" Ports [0, 1] Position [425, 723, 595, 767] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem9" Location [103, 457, 601, 757] 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 Constant Name "Constant" Position [155, 75, 185, 105] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 22, 305, 113] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType DiscretePulseGenerator Name "Pulse\nGenerator1" Ports [0, 1] Position [155, 28, 200, 62] ShowName off PulseType "Time based" Period "3" PulseWidth "20" } Block { BlockType Outport Name "once slow blinking blue" Position [380, 63, 410, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Pulse\nGenerator1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "once slow blinking blue" DstPort 1 } } } Block { BlockType Switch Name "Switch1" Position [1015, 320, 1060, 590] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [1110, 595, 1150, 655] Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch4" Position [285, 290, 325, 350] Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "switch" Position [1250, 448, 1275, 662] Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "LED (blue)" Position [1460, 538, 1490, 552] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "LED (amber)" Position [1460, 578, 1490, 592] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Keeper right" Position [1040, 148, 1070, 162] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Keeper left" Position [1040, 108, 1070, 122] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Keeper up" Position [1040, 68, 1070, 82] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Subsystem10" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 2 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 Points [75, 0; 0, -200] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Subsystem11" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 3 } Line { SrcBlock "Subsystem8" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 4 } Line { SrcBlock "Subsystem9" SrcPort 1 Points [60, 0] Branch { DstBlock "Multiport\nSwitch" DstPort 5 } Branch { Points [0, 50] DstBlock "Multiport\nSwitch" DstPort 6 } } Line { SrcBlock "Subsystem4" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 7 } Line { SrcBlock "Subsystem1" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 8 } Line { SrcBlock "Subsystem2" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 9 } Line { SrcBlock "turtle_ID" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 DstBlock "Compare\nTo Constant2" DstPort 1 } Line { SrcBlock "IO keeper block" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Compare\nTo Constant2" SrcPort 1 DstBlock "Logical\nOperator1" DstPort 1 } Line { SrcBlock "Logical\nOperator1" SrcPort 1 DstBlock "Switch1" DstPort 2 } Line { SrcBlock "Data Type Conversion3" SrcPort 1 DstBlock "Compare\nTo Constant3" DstPort 1 } Line { SrcBlock "Compare\nTo Constant3" SrcPort 1 DstBlock "Logical\nOperator1" DstPort 2 } Line { Name "up" Labels [0, 0] SrcBlock "Demux1" SrcPort 1 Points [70, 0] Branch { DstBlock "Keeper up" DstPort 1 } Branch { Points [0, 215] DstBlock "Logical\nOperator2" DstPort 1 } } Line { Name "left" Labels [0, 0] SrcBlock "Demux1" SrcPort 2 Points [60, 0] Branch { DstBlock "Keeper left" DstPort 1 } Branch { Points [0, 205] DstBlock "Logical\nOperator2" DstPort 2 } } Line { Name "right" Labels [0, 0] SrcBlock "Demux1" SrcPort 3 Points [50, 0] Branch { DstBlock "Keeper right" DstPort 1 } Branch { Points [0, 195] DstBlock "Logical\nOperator2" DstPort 3 } } Line { SrcBlock "Keeper action active" SrcPort 1 DstBlock "Multiport\nSwitch1" DstPort 3 } Line { SrcBlock "Logical\nOperator2" SrcPort 1 DstBlock "Multiport\nSwitch1" DstPort 2 } Line { SrcBlock "No keeper action active" SrcPort 1 DstBlock "Multiport\nSwitch1" DstPort 1 } Line { SrcBlock "Multiport\nSwitch1" SrcPort 1 Points [15, 0; 0, 45] DstBlock "Switch1" DstPort 1 } Line { SrcBlock "control_enable" SrcPort 1 DstBlock "Switch2" DstPort 2 } Line { SrcBlock "Switch1" SrcPort 1 Points [15, 0; 0, 150] DstBlock "Switch2" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 Points [5, 0] DstBlock "Switch2" DstPort 3 } Line { SrcBlock "demo-team-role" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 3 Points [135, 0] Branch { DstBlock "Multiport\nSwitch" DstPort 1 } Branch { Points [0, -65] DstBlock "Data Type Conversion3" DstPort 1 } } Line { SrcBlock "Logical\nOperator3" SrcPort 1 DstBlock "switch" DstPort 2 } Line { SrcBlock "Switch2" SrcPort 1 DstBlock "switch" DstPort 3 } Line { SrcBlock "switch" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Subsystem5" SrcPort 1 DstBlock "Switch4" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 1 Points [0, -5] DstBlock "Switch4" DstPort 3 } Line { SrcBlock "Demux2" SrcPort 2 Points [35, 0; 0, -200] DstBlock "Switch4" DstPort 2 } Line { SrcBlock "robotactive" SrcPort 1 DstBlock "Logical\nOperator3" DstPort 2 } Line { SrcBlock "Demux2" SrcPort 1 Points [10, 0; 0, -450; 1065, 0; 0, 500] DstBlock "Logical\nOperator3" DstPort 1 } Line { SrcBlock "Switch4" SrcPort 1 Points [20, 0; 0, -290; 875, 0; 0, 455] DstBlock "switch" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [15, 0] Branch { Points [0, 15] DstBlock "LED (amber)" DstPort 1 } Branch { DstBlock "Logical\nOperator" DstPort 2 } } Line { SrcBlock "Logical\nOperator" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Logical\nOperator" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "LED (blue)" DstPort 1 } Annotation { Name "Roles:\n\nattacker main = 1\nattacker assist = 2\ndefender main = 3\ndefender assist 1 = 4\ndefender assist 2 = 5\ngoalkeeper = 6\ngohome = 7\nsearchball = 8\n\nSee globar_par.h" Position [238, 655] HorizontalAlignment "left" } Annotation { Name "In case of demo mode,\nthe LEDs will represent\nthe team color.\nthe cyan team is continuously\nblue, the magenta team\ncontinuously amber.\n\nThe LEDs are turned on when \nthe robot is active (in field)" Position [1248, 360] HorizontalAlignment "left" } } } Block { BlockType SubSystem Name "Manual Mode" Ports [6, 7] Position [505, 283, 640, 647] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Manual Mode" Location [5, 77, 1310, 885] 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 "x_l_refdot" Position [755, 388, 785, 402] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_l_refdot" Position [755, 453, 785, 467] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi_refdot" Position [750, 518, 780, 532] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Skill ID" Position [540, 668, 570, 682] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "emergency" Position [490, 873, 520, 887] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable param move" Position [145, 228, 175, 242] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant" Position [515, 785, 545, 815] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 5] Position [345, 343, 350, 677] BackgroundColor "black" ShowName off Outputs "5" DisplayOption "bar" Port { PortNumber 1 Name "x_l_retdot" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "y_l_refdot" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "phi_refdot" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 4 Name "Skill ID" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 5 Name "kick effort" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Demux Name "Demux2" Ports [1, 2] Position [670, 614, 675, 681] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Demux Name "Demux3" Ports [1, 4] Position [330, 158, 335, 312] BackgroundColor "black" ShowName off DisplayOption "bar" Port { PortNumber 1 Name "vmax_xy" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "amax_xy" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "vmax_phi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 4 Name "amax_phi" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Gain Name "Gain1" Position [550, 508, 580, 532] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain3" Position [580, 378, 610, 402] ShowName off Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Ground Name "Ground" Position [520, 710, 540, 730] ShowName off } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [585, 661, 590, 719] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux5" Ports [2, 1] Position [460, 542, 465, 673] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [525, 357, 555, 388] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [525, 422, 555, 453] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [425, 487, 455, 518] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Reference Name "Rate Limiter" Ports [3, 1] Position [645, 354, 710, 396] SourceBlock "simulink/Discontinuities/Rate Limiter\nDynamic" SourceType "Rate Limiter Dynamic" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Reference Name "Rate Limiter1" Ports [3, 1] Position [645, 419, 710, 461] SourceBlock "simulink/Discontinuities/Rate Limiter\nDynamic" SourceType "Rate Limiter Dynamic" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Reference Name "Rate Limiter2" Ports [3, 1] Position [645, 484, 710, 526] SourceBlock "simulink/Discontinuities/Rate Limiter\nDynamic" SourceType "Rate Limiter Dynamic" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [235, 226, 275, 244] BackgroundColor "blue" ShowName off IndexOptions "Index vector (dialog)" Indices "[1,4,7,10]" OutputSizes "1" } Block { BlockType Switch Name "Switch" Position [805, 370, 835, 400] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [805, 435, 835, 465] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [805, 500, 835, 530] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch3" Position [610, 593, 645, 707] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch4" Position [600, 783, 635, 897] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType "S-Function" Name "mccomm joystick" Ports [0, 2] Position [85, 459, 200, 661] BackgroundColor "green" FunctionName "mccomm_joystick" Port { PortNumber 2 Name "manual mode switch" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Outport Name "x_l_refdot " Position [860, 378, 890, 392] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_l_refdot " Position [860, 443, 890, 457] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "phi_refdot " Position [860, 508, 890, 522] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Skill ID " Position [700, 623, 730, 637] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "kick effort " Position [700, 658, 730, 672] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "emergency out" Position [705, 833, 735, 847] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "manual switch" Position [835, 733, 865, 747] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Demux2" SrcPort 2 Points [0, 0] DstBlock "kick effort " DstPort 1 } Line { SrcBlock "Demux2" SrcPort 1 Points [0, 0] DstBlock "Skill ID " DstPort 1 } Line { SrcBlock "Mux5" SrcPort 1 DstBlock "Switch3" DstPort 1 } Line { Name "kick effort" Labels [0, 0] SrcBlock "Demux1" SrcPort 5 DstBlock "Mux5" DstPort 2 } Line { Name "Skill ID" Labels [0, 0] SrcBlock "Demux1" SrcPort 4 DstBlock "Mux5" DstPort 1 } Line { SrcBlock "Switch3" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { SrcBlock "phi_refdot" SrcPort 1 DstBlock "Switch2" DstPort 3 } Line { SrcBlock "x_l_refdot" SrcPort 1 DstBlock "Switch" DstPort 3 } Line { Name "phi_refdot" Labels [0, 0] SrcBlock "Demux1" SrcPort 3 DstBlock "Product2" DstPort 2 } Line { Name "y_l_refdot" Labels [0, 0] SrcBlock "Demux1" SrcPort 2 DstBlock "Product1" DstPort 2 } Line { Name "x_l_retdot" Labels [0, 0] SrcBlock "Demux1" SrcPort 1 DstBlock "Product" DstPort 2 } Line { SrcBlock "y_l_refdot" SrcPort 1 DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Switch2" SrcPort 1 DstBlock "phi_refdot " DstPort 1 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "y_l_refdot " DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "x_l_refdot " DstPort 1 } Line { SrcBlock "Skill ID" SrcPort 1 Points [0, 0] DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "Switch3" DstPort 3 } Line { SrcBlock "emergency" SrcPort 1 DstBlock "Switch4" DstPort 3 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Switch4" DstPort 1 } Line { SrcBlock "Switch4" SrcPort 1 DstBlock "emergency out" DstPort 1 } Line { SrcBlock "Ground" SrcPort 1 Points [10, 0; 0, -15] DstBlock "Mux1" DstPort 2 } Line { SrcBlock "mccomm joystick" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { Name "manual mode switch" Labels [0, 0] SrcBlock "mccomm joystick" SrcPort 2 Points [115, 0; 0, 130; 155, 0] Branch { Points [0, 100] DstBlock "Switch4" DstPort 2 } Branch { Points [0, -90] DstBlock "Switch3" DstPort 2 } Branch { Points [260, 0] Branch { Points [0, -225] Branch { DstBlock "Switch2" DstPort 2 } Branch { Points [0, -65] Branch { DstBlock "Switch1" DstPort 2 } Branch { Points [0, -65] DstBlock "Switch" DstPort 2 } } } Branch { DstBlock "manual switch" DstPort 1 } } } Line { SrcBlock "Selector" SrcPort 1 DstBlock "Demux3" DstPort 1 } Line { SrcBlock "tunable param move" SrcPort 1 DstBlock "Selector" DstPort 1 } Line { Name "vmax_xy" Labels [0, 0] SrcBlock "Demux3" SrcPort 1 Points [150, 0; 0, 190] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 65] DstBlock "Product1" DstPort 1 } } Line { Name "vmax_phi" Labels [0, 0] SrcBlock "Demux3" SrcPort 3 Points [70, 0] DstBlock "Product2" DstPort 1 } Line { Name "amax_phi" Labels [0, 0] SrcBlock "Demux3" SrcPort 4 Points [135, 0; 0, 195] Branch { DstBlock "Rate Limiter2" DstPort 1 } Branch { Points [0, 30] DstBlock "Gain1" DstPort 1 } } Line { SrcBlock "Gain3" SrcPort 1 Points [0, 0] Branch { DstBlock "Rate Limiter" DstPort 3 } Branch { Points [0, 65] DstBlock "Rate Limiter1" DstPort 3 } } Line { SrcBlock "Product" SrcPort 1 DstBlock "Rate Limiter" DstPort 2 } Line { Name "amax_xy" Labels [0, 0] SrcBlock "Demux3" SrcPort 2 Points [225, 0; 0, 145] Branch { DstBlock "Gain3" DstPort 1 } Branch { Points [60, 0] Branch { DstBlock "Rate Limiter" DstPort 1 } Branch { Points [0, 65] DstBlock "Rate Limiter1" DstPort 1 } } } Line { SrcBlock "Rate Limiter" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Rate Limiter1" DstPort 2 } Line { SrcBlock "Rate Limiter1" SrcPort 1 DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Rate Limiter2" SrcPort 1 DstBlock "Switch2" DstPort 1 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Rate Limiter2" DstPort 2 } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Rate Limiter2" DstPort 3 } Annotation { Position [678, 516] } } } Block { BlockType Mux Name "Mux1" Ports [3, 1] Position [1600, 313, 1605, 447] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" Ports [3, 1] Position [1150, 943, 1155, 1077] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux3" Ports [3, 1] Position [1235, 943, 1240, 1077] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem1" Ports [3, 1] Position [775, 338, 885, 372] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem1" Location [0, 49, 1680, 1003] 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 "y_l_previous" Position [385, 288, 415, 302] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [390, 253, 420, 267] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_l_refdot" Position [195, 233, 225, 247] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [280, 225, 310, 255] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [325, 230, 345, 250] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [455, 226, 480, 294] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [370, 358, 405, 392] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "y_l_ref" Position [580, 253, 610, 267] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "y_l_previous" SrcPort 1 Points [20, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 Points [40, 0] Branch { Points [0, 115] DstBlock "Unit Delay1" DstPort 1 } Branch { DstBlock "y_l_ref" DstPort 1 } } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-30, 0] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_l_refdot" SrcPort 1 DstBlock "Gain4" DstPort 1 } } } Block { BlockType SubSystem Name "Subsystem4" Ports [1, 1] Position [1490, 318, 1565, 352] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem4" Location [983, 557, 1263, 662] 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 "x_g_dot" Position [25, 38, 55, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [80, 30, 110, 60] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [125, 35, 145, 55] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [150, 63, 185, 97] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "x_g" Position [225, 38, 255, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "x_g_dot" SrcPort 1 Points [0, 0] DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [55, 0] Branch { DstBlock "x_g" DstPort 1 } Branch { Points [0, 35] DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-10, 0] DstBlock "Sum4" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem6" Ports [1, 1] Position [1490, 363, 1565, 397] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem6" Location [983, 557, 1263, 662] 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 "y_g_dot" Position [25, 38, 55, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [80, 30, 110, 60] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [125, 35, 145, 55] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [155, 63, 190, 97] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "y_g" Position [225, 38, 255, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum4" SrcPort 1 Points [55, 0] Branch { DstBlock "y_g" DstPort 1 } Branch { DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "y_g_dot" SrcPort 1 Points [0, 0] DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-15, 0] DstBlock "Sum4" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem7" Ports [3, 1] Position [775, 287, 885, 323] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem7" Location [5, 77, 1019, 738] 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 "x_l_previous" Position [385, 288, 415, 302] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [385, 253, 415, 267] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "x_l_refdot" Position [195, 233, 225, 247] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [280, 225, 310, 255] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [325, 230, 345, 250] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [455, 226, 480, 294] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [370, 358, 405, 392] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "x_l_ref" Position [580, 253, 610, 267] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "x_l_refdot" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-30, 0] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 Points [40, 0] Branch { DstBlock "x_l_ref" DstPort 1 } Branch { Points [0, 115] DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "x_l_previous" SrcPort 1 Points [20, 0] DstBlock "Switch" DstPort 3 } } } Block { BlockType SubSystem Name "Subsystem8" Ports [3, 1] Position [775, 386, 885, 424] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem8" Location [0, 49, 1680, 1003] 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 "phi_l_previous" Position [385, 288, 415, 302] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [390, 253, 420, 267] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi_l_refdot" Position [195, 233, 225, 247] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain4" Position [280, 225, 310, 255] ShowName off Gain "Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [325, 230, 345, 250] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [455, 226, 480, 294] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [370, 358, 405, 392] Orientation "left" SampleTime "-1" } Block { BlockType Outport Name "phi_l_ref" Position [580, 253, 610, 267] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "phi_l_refdot" SrcPort 1 DstBlock "Gain4" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [-30, 0] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Gain4" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 Points [40, 0] Branch { DstBlock "phi_l_ref" DstPort 1 } Branch { Points [0, 115] DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "phi_l_previous" SrcPort 1 Points [20, 0] DstBlock "Switch" DstPort 3 } } } Block { BlockType Terminator Name "Terminator1" Position [1145, 820, 1165, 840] ShowName off } Block { BlockType Terminator Name "Terminator5" Position [1145, 1090, 1165, 1110] ShowName off } Block { BlockType Terminator Name "Terminator6" Position [1145, 1135, 1165, 1155] ShowName off } Block { BlockType Terminator Name "Terminator7" Position [1145, 1180, 1165, 1200] ShowName off } Block { BlockType Terminator Name "Terminator9" Position [1145, 1270, 1165, 1290] ShowName off } Block { BlockType UnitDelay Name "Unit Delay" Position [450, 773, 480, 807] Orientation "left" NamePlacement "alternate" ShowName off SampleTime "-1" } Block { BlockType SubSystem Name "differentiator" Ports [1, 1] Position [1250, 318, 1320, 352] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator" Location [5, 77, 1398, 1020] 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 "x_l" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "x_l_dot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } Line { SrcBlock "x_l" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Sum5" DstPort 1 } Branch { DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "x_l_dot" DstPort 1 } } } Block { BlockType SubSystem Name "differentiator1" Ports [1, 1] Position [1250, 363, 1320, 397] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator1" Location [5, 77, 1275, 770] 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 "y_l" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "y_l_dot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "y_l_dot" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "y_l" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Unit Delay1" DstPort 1 } Branch { DstBlock "Sum5" DstPort 1 } } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } } } Block { BlockType SubSystem Name "differentiator2" Ports [1, 1] Position [275, 244, 360, 276] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator2" Location [4, 54, 1397, 999] 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 "x_g_ref" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "x_g_refdot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "x_g_refdot" DstPort 1 } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "x_g_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Unit Delay1" DstPort 1 } Branch { DstBlock "Sum5" DstPort 1 } } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } } } Block { BlockType SubSystem Name "differentiator3" Ports [1, 1] Position [275, 329, 360, 361] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator3" Location [4, 54, 1397, 999] 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 "y_g_ref" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "y_g_refdot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } Line { SrcBlock "y_g_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Sum5" DstPort 1 } Branch { DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "y_g_refdot" DstPort 1 } } } Block { BlockType SubSystem Name "differentiator4" Ports [1, 1] Position [275, 420, 360, 450] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "differentiator4" Location [4, 54, 1397, 999] 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 "phi_ref" Position [355, 293, 385, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Gain7" Position [505, 285, 535, 315] ShowName off Gain "1/Ts" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [460, 290, 480, 310] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay1" Position [420, 323, 455, 357] SampleTime "-1" } Block { BlockType Outport Name "phi_refdot" Position [820, 293, 850, 307] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain7" DstPort 1 } Line { SrcBlock "phi_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Sum5" DstPort 1 } Branch { DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Unit Delay1" SrcPort 1 Points [10, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Gain7" SrcPort 1 DstBlock "phi_refdot" DstPort 1 } } } Block { BlockType SubSystem Name "drift control X" Ports [3, 1] Position [170, 230, 260, 290] BackgroundColor "green" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "drift control X" Location [817, 188, 1362, 521] 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 "x_g_robot" Position [85, 40, 115, 55] Orientation "down" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "reset" Position [105, 93, 135, 107] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "x_g_robot_ref" Position [25, 103, 55, 117] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add" Ports [2, 1] Position [240, 87, 270, 118] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" Position [125, 70, 155, 100] ShowName off Gain "2*pi*0.1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Integrator Name "Integrator1" Ports [2, 1] Position [170, 78, 225, 107] ShowName off ExternalReset "either" } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [90, 75, 110, 95] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "x_g_ref" Position [295, 98, 325, 112] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Add" SrcPort 1 Points [0, 0] DstBlock "x_g_ref" DstPort 1 } Line { SrcBlock "reset" SrcPort 1 Points [0, 0] DstBlock "Integrator1" DstPort 2 } Line { SrcBlock "x_g_robot" SrcPort 1 DstBlock "Sum5" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [0, 0] DstBlock "Integrator1" DstPort 1 } Line { SrcBlock "Integrator1" SrcPort 1 DstBlock "Add" DstPort 1 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "x_g_robot_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Add" DstPort 2 } Branch { DstBlock "Sum5" DstPort 2 } } } } Block { BlockType SubSystem Name "drift control Y" Ports [3, 1] Position [170, 315, 260, 375] BackgroundColor "green" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "drift control Y" Location [368, 536, 762, 682] 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 "y_g_robot" Position [85, 40, 115, 55] Orientation "down" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "reset" Position [105, 93, 135, 107] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_g_robot_ref" Position [25, 103, 55, 117] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add" Ports [2, 1] Position [240, 87, 270, 118] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" Position [125, 70, 155, 100] ShowName off Gain "2*pi*0.1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Integrator Name "Integrator1" Ports [2, 1] Position [170, 78, 225, 107] ShowName off ExternalReset "either" } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [90, 75, 110, 95] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "y_g_ref" Position [295, 98, 325, 112] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "y_g_robot_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Sum5" DstPort 2 } Branch { DstBlock "Add" DstPort 2 } } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Integrator1" SrcPort 1 DstBlock "Add" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [0, 0] DstBlock "Integrator1" DstPort 1 } Line { SrcBlock "y_g_robot" SrcPort 1 DstBlock "Sum5" DstPort 1 } Line { SrcBlock "reset" SrcPort 1 Points [0, 0] DstBlock "Integrator1" DstPort 2 } Line { SrcBlock "Add" SrcPort 1 Points [0, 0] DstBlock "y_g_ref" DstPort 1 } } } Block { BlockType SubSystem Name "drift control phi" Ports [3, 1] Position [170, 405, 260, 465] BackgroundColor "green" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "drift control phi" Location [368, 536, 762, 682] 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 "phi_g_robot" Position [85, 40, 115, 55] Orientation "down" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "reset" Position [105, 93, 135, 107] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi_g_robot_ref" Position [25, 103, 55, 117] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add" Ports [2, 1] Position [240, 87, 270, 118] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" Position [125, 70, 155, 100] ShowName off Gain "2*pi*0.1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Integrator Name "Integrator1" Ports [2, 1] Position [170, 78, 225, 107] ShowName off ExternalReset "either" } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [90, 75, 110, 95] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "phi_g_ref" Position [295, 98, 325, 112] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Add" SrcPort 1 Points [0, 0] DstBlock "phi_g_ref" DstPort 1 } Line { SrcBlock "reset" SrcPort 1 Points [0, 0] DstBlock "Integrator1" DstPort 2 } Line { SrcBlock "phi_g_robot" SrcPort 1 DstBlock "Sum5" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [0, 0] DstBlock "Integrator1" DstPort 1 } Line { SrcBlock "Integrator1" SrcPort 1 DstBlock "Add" DstPort 1 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "phi_g_robot_ref" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Add" DstPort 2 } Branch { DstBlock "Sum5" DstPort 2 } } } } Block { BlockType SubSystem Name "global to local" Ports [3, 2] Position [390, 284, 485, 406] BackgroundColor "magenta" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "global to local" Location [4, 54, 1397, 999] 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 "x_g_refdot" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_g_refdot" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi_l" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [175, 27, 205, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [175, 77, 205, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [175, 127, 205, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [175, 177, 205, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [220, 60, 240, 80] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [220, 160, 240, 180] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [95, 270, 125, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [95, 210, 125, 240] Operator "cos" } Block { BlockType Outport Name "x_l_refdot" Position [265, 63, 295, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_l_refdot" Position [265, 163, 295, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_l_refdot" DstPort 1 } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_l_refdot" DstPort 1 } Line { SrcBlock "y_g_refdot" SrcPort 1 Points [0, 0; 45, 0] Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } Branch { DstBlock "Product1" DstPort 1 } } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { DstBlock "Product2" DstPort 2 } Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { DstBlock "Product3" DstPort 2 } Branch { Points [0, -150] DstBlock "Product" DstPort 2 } } Line { SrcBlock "x_g_refdot" SrcPort 1 Points [0, 0; 60, 0] Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } Branch { DstBlock "Product" DstPort 1 } } Line { SrcBlock "phi_l" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } Branch { Points [0, 60] DstBlock "Trigonometric\nFunction" DstPort 1 } } } } Block { BlockType SubSystem Name "l_to_g" Ports [3, 3] Position [1385, 315, 1470, 445] BackgroundColor "magenta" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "l_to_g" Location [5, 77, 1147, 770] 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 "x_l_dot" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_l_dot" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi_l" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [175, 27, 205, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [175, 77, 205, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [175, 127, 205, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [175, 177, 205, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [220, 60, 240, 80] ShowName off IconShape "round" Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [220, 160, 240, 180] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [95, 270, 125, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [95, 210, 125, 240] Operator "cos" } Block { BlockType Outport Name "x_g_dot" Position [265, 63, 295, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_g_dot" Position [265, 163, 295, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "phi_g" Position [260, 328, 290, 342] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "phi_l" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } Branch { Points [0, 60] Branch { DstBlock "Trigonometric\nFunction" DstPort 1 } Branch { Points [0, 50] DstBlock "phi_g" DstPort 1 } } } Line { SrcBlock "x_l_dot" SrcPort 1 Points [0, 0; 60, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { Points [0, -150] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product3" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } Branch { DstBlock "Product2" DstPort 2 } } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_l_dot" SrcPort 1 Points [0, 0; 45, 0] Branch { DstBlock "Product1" DstPort 1 } Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_g_dot" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_g_dot" DstPort 1 } } } Block { BlockType SubSystem Name "motion emergency handler" Ports [5, 6] Position [700, 813, 855, 962] BackgroundColor "gray" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "motion emergency handler" Location [5, 77, 1241, 769] 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 "emergeny" Position [290, 63, 320, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "manual mode" Position [290, 333, 320, 347] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robot active" Position [290, 293, 320, 307] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "switch (panic,\nreset motion)" Position [290, 513, 320, 527] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [290, 368, 320, 382] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add" Ports [2, 1] Position [520, 47, 550, 78] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Constant Name "Constant" Position [440, 46, 465, 64] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [440, 97, 485, 123] ShowName off Value "[1 1]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant2" Position [440, 142, 485, 168] ShowName off Value "[0 1]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant3" Position [440, 187, 485, 213] ShowName off Value "[0 1]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant4" Position [440, 232, 485, 258] ShowName off Value "[1 0]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant5" Position [695, 465, 725, 495] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant6" Position [440, 455, 470, 485] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant7" Position [705, 585, 735, 615] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant8" Position [705, 625, 735, 655] ShowName off OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [700, 65, 705, 240] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [370, 484, 375, 551] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Logic Name "Logical\nOperator" Ports [2, 1] Position [780, 102, 810, 133] ShowName off AllPortsSameDT off } Block { BlockType Logic Name "Logical\nOperator1" Ports [2, 1] Position [780, 187, 810, 218] ShowName off AllPortsSameDT off } Block { BlockType Logic Name "Logical\nOperator2" Ports [2, 1] Position [440, 332, 470, 363] ShowName off Operator "OR" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator3" Ports [3, 1] Position [860, 324, 890, 356] ShowName off Inputs "3" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator4" Ports [2, 1] Position [985, 142, 1015, 173] ShowName off AllPortsSameDT off } Block { BlockType Memory Name "Memory" Position [440, 585, 470, 615] Orientation "left" NamePlacement "alternate" X0 "1" } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [5, 1] Position [590, 40, 660, 270] InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [530, 485, 560, 515] Criteria "u2 > Threshold" Threshold ".5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [440, 520, 470, 550] Criteria "u2 > Threshold" Threshold ".5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "blink reset\nmotion LED\nif power off" Position [780, 467, 810, 533] Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType DiscretePulseGenerator Name "blinking reset\nmotion LED" Ports [0, 1] Position [680, 503, 725, 537] PulseType "Time based" PulseWidth "50" } Block { BlockType Switch Name "panic_switch" Position [780, 587, 810, 653] Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "control enable\nand amps on" Position [940, 333, 970, 347] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Amplifier and Power on/off1" Position [1085, 153, 1115, 167] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "power on/off" Position [940, 113, 970, 127] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "amplifiers on/off" Position [940, 198, 970, 212] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "reset motion LED" Position [940, 493, 970, 507] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "panic_switch_trc" Position [870, 613, 900, 627] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Add" DstPort 1 } Line { SrcBlock "emergeny" SrcPort 1 DstBlock "Add" DstPort 2 } Line { SrcBlock "Add" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 1 } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 2 } Line { SrcBlock "Constant2" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 3 } Line { SrcBlock "Constant3" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 4 } Line { SrcBlock "Constant4" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 5 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Constant5" SrcPort 1 DstBlock "blink reset\nmotion LED\nif power off" DstPort 1 } Line { SrcBlock "blinking reset\nmotion LED" SrcPort 1 DstBlock "blink reset\nmotion LED\nif power off" DstPort 3 } Line { SrcBlock "blink reset\nmotion LED\nif power off" SrcPort 1 DstBlock "reset motion LED" DstPort 1 } Line { SrcBlock "Constant6" SrcPort 1 Points [30, 0; 0, 20] DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Memory" SrcPort 1 Points [-20, 0; 0, -55] DstBlock "Switch2" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 2 Points [30, 0] Branch { DstBlock "Switch2" DstPort 2 } Branch { Points [0, -10] DstBlock "Switch2" DstPort 1 } } Line { SrcBlock "Switch2" SrcPort 1 Points [30, 0; 0, -25] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Switch1" SrcPort 1 Points [10, 0] Branch { Points [0, 100] DstBlock "Memory" DstPort 1 } Branch { Points [70, 0] Branch { Points [100, 0] Branch { DstBlock "blink reset\nmotion LED\nif power off" DstPort 2 } Branch { Points [0, -375] DstBlock "Logical\nOperator" DstPort 2 } } Branch { Points [0, 120] DstBlock "panic_switch" DstPort 2 } } } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Logical\nOperator" DstPort 1 } Line { SrcBlock "Logical\nOperator" SrcPort 1 Points [20, 0] Branch { Points [0, 210] DstBlock "Logical\nOperator3" DstPort 1 } Branch { Points [45, 0] Branch { DstBlock "power on/off" DstPort 1 } Branch { Points [0, 30] DstBlock "Logical\nOperator4" DstPort 1 } } } Line { SrcBlock "switch (panic,\nreset motion)" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Switch1" DstPort 2 } Line { SrcBlock "Logical\nOperator1" SrcPort 1 Points [10, 0] Branch { Points [0, 135] DstBlock "Logical\nOperator3" DstPort 2 } Branch { Points [70, 0] Branch { DstBlock "amplifiers on/off" DstPort 1 } Branch { Points [0, -40] DstBlock "Logical\nOperator4" DstPort 2 } } } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Logical\nOperator1" DstPort 1 } Line { SrcBlock "robot active" SrcPort 1 Points [435, 0; 0, -90] DstBlock "Logical\nOperator1" DstPort 2 } Line { SrcBlock "manual mode" SrcPort 1 DstBlock "Logical\nOperator2" DstPort 1 } Line { SrcBlock "control enable" SrcPort 1 Points [95, 0; 0, -20] DstBlock "Logical\nOperator2" DstPort 2 } Line { SrcBlock "Logical\nOperator2" SrcPort 1 DstBlock "Logical\nOperator3" DstPort 3 } Line { SrcBlock "Logical\nOperator3" SrcPort 1 DstBlock "control enable\nand amps on" DstPort 1 } Line { SrcBlock "Logical\nOperator4" SrcPort 1 DstBlock "Amplifier and Power on/off1" DstPort 1 } Line { SrcBlock "Constant7" SrcPort 1 DstBlock "panic_switch" DstPort 1 } Line { SrcBlock "Constant8" SrcPort 1 DstBlock "panic_switch" DstPort 3 } Line { SrcBlock "panic_switch" SrcPort 1 DstBlock "panic_switch_trc" DstPort 1 } Annotation { Name "no emergency" Position [461, 131] } Annotation { Name "power dip" Position [462, 174] } Annotation { Name "battery empty" Position [453, 218] } Annotation { Name "0=no emergency\n1=power dip\n2=battery empty\n3=stop refbox" Position [303, 134] } } } Block { BlockType Outport Name "pose_g_robot" Position [1630, 373, 1660, 387] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho left" Position [1160, 553, 1190, 567] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho right" Position [1160, 598, 1190, 612] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "arm left" Position [1160, 643, 1190, 657] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "arm right" Position [1160, 688, 1190, 702] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "robot_active" Position [1230, 733, 1260, 747] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "q" Position [1290, 463, 1320, 477] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "RetractBall" Position [925, 753, 955, 767] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "battery" Position [1160, 778, 1190, 792] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "control enable\nand amplifiers on" Position [400, 783, 430, 797] Orientation "left" Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "SkillID" Position [745, 458, 775, 472] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "panic_switch_trc" Position [920, 943, 950, 957] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "manual\nmode switch" Position [400, 693, 430, 707] Orientation "left" Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "fc_data" Position [1270, 1003, 1300, 1017] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Subsystem4" SrcPort 1 Points [5, 0] Branch { Points [0, -210; -1425, 0; 0, 115] DstBlock "drift control X" DstPort 1 } Branch { DstBlock "Mux1" DstPort 1 } } Line { SrcBlock "Subsystem6" SrcPort 1 Points [10, 0] Branch { Points [0, -260; -1450, 0; 0, 205] DstBlock "drift control Y" DstPort 1 } Branch { DstBlock "Mux1" DstPort 2 } } Line { SrcBlock "l_to_g" SrcPort 1 DstBlock "Subsystem4" DstPort 1 } Line { SrcBlock "l_to_g" SrcPort 2 DstBlock "Subsystem6" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 1 Points [35, 0] Branch { DstBlock "differentiator" DstPort 1 } Branch { Points [0, -55; -410, 0] DstBlock "Subsystem7" DstPort 1 } } Line { SrcBlock "differentiator" SrcPort 1 DstBlock "l_to_g" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 2 Points [40, 0] Branch { Points [0, -105; -420, 0; 0, 70] DstBlock "Subsystem1" DstPort 1 } Branch { DstBlock "differentiator1" DstPort 1 } } Line { SrcBlock "differentiator1" SrcPort 1 Points [30, 0] Branch { DstBlock "l_to_g" DstPort 2 } Branch { Points [0, -155; -655, 0; 0, 375] DstBlock "Kicker" DstPort 3 } } Line { SrcBlock "differentiator2" SrcPort 1 Points [10, 0] DstBlock "global to local" DstPort 1 } Line { SrcBlock "differentiator3" SrcPort 1 DstBlock "global to local" DstPort 2 } Line { SrcBlock "Subsystem7" SrcPort 1 DstBlock "Decoupled Robot" DstPort 1 } Line { SrcBlock "Subsystem1" SrcPort 1 DstBlock "Decoupled Robot" DstPort 2 } Line { SrcBlock "ball left" SrcPort 1 DstBlock "Decoupled Robot" DstPort 4 } Line { SrcBlock "ball right" SrcPort 1 DstBlock "Decoupled Robot" DstPort 5 } Line { SrcBlock "l_to_g" SrcPort 3 Points [110, 0] Branch { Points [0, -310; -1470, 0; 0, 300] DstBlock "drift control phi" DstPort 1 } Branch { DstBlock "Mux1" DstPort 3 } } Line { SrcBlock "Decoupled Robot" SrcPort 4 DstBlock "q" DstPort 1 } Line { SrcBlock "Subsystem8" SrcPort 1 DstBlock "Decoupled Robot" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 3 Points [0, 125] DstBlock "drift control phi" DstPort 3 } Line { SrcBlock "global to local" SrcPort 1 DstBlock "Manual Mode" DstPort 1 } Line { SrcBlock "global to local" SrcPort 2 DstBlock "Manual Mode" DstPort 2 } Line { SrcBlock "Manual Mode" SrcPort 1 DstBlock "Subsystem7" DstPort 3 } Line { SrcBlock "Manual Mode" SrcPort 2 DstBlock "Subsystem1" DstPort 3 } Line { SrcBlock "Manual Mode" SrcPort 4 Points [40, 0] Branch { DstBlock "SkillID" DstPort 1 } Branch { Points [0, 110] DstBlock "Kicker" DstPort 2 } } Line { SrcBlock "Manual Mode" SrcPort 3 DstBlock "Subsystem8" DstPort 3 } Line { SrcBlock "drift control X" SrcPort 1 DstBlock "differentiator2" DstPort 1 } Line { SrcBlock "Manual Mode" SrcPort 5 Points [25, 0; 0, 110] DstBlock "Kicker" DstPort 4 } Line { SrcBlock "drift control Y" SrcPort 1 DstBlock "differentiator3" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 Points [20, 0; 0, 60] DstBlock "drift control Y" DstPort 3 } Line { SrcBlock "drift control phi" SrcPort 1 DstBlock "differentiator4" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 3 Points [45, 0] Branch { Points [0, -155; -445, 0; 0, 125] DstBlock "Subsystem8" DstPort 1 } Branch { DstBlock "l_to_g" DstPort 3 } Branch { Points [15, 0; 0, 1150; -825, 0; 0, -1190] DstBlock "global to local" DstPort 3 } } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "pose_g_robot" DstPort 1 } Line { SrcBlock "pose_g_robot_ref" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "drift control X" DstPort 3 } Line { SrcBlock "motion emergency handler" SrcPort 3 Points [105, 0] DstBlock "Decoupled Robot" DstPort 12 } Line { SrcBlock "demo-team-role" SrcPort 1 DstBlock "LED definition" DstPort 1 } Line { SrcBlock "IO Keeper Block" SrcPort 1 DstBlock "LED definition" DstPort 2 } Line { SrcBlock "LED definition" SrcPort 1 DstBlock "Decoupled Robot" DstPort 15 } Line { SrcBlock "LED definition" SrcPort 3 DstBlock "Decoupled Robot" DstPort 17 } Line { SrcBlock "LED definition" SrcPort 4 DstBlock "Decoupled Robot" DstPort 18 } Line { SrcBlock "LED definition" SrcPort 5 DstBlock "Decoupled Robot" DstPort 19 } Line { SrcBlock "Decoupled Robot" SrcPort 6 DstBlock "tacho left" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 7 DstBlock "tacho right" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 8 DstBlock "arm left" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 9 DstBlock "arm right" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 11 DstBlock "battery" DstPort 1 } Line { SrcBlock "motion emergency handler" SrcPort 5 Points [0, 10; 105, 0] DstBlock "Decoupled Robot" DstPort 14 } Line { SrcBlock "Decoupled Robot" SrcPort 13 Points [35, 0; 0, 570; -595, 0; 0, -525] DstBlock "motion emergency handler" DstPort 4 } Line { SrcBlock "Decoupled Robot" SrcPort 5 Points [20, 0; 0, -270; -440, 0; 0, 305] DstBlock "Kicker" DstPort 1 } Line { SrcBlock "Feed\nTUe" SrcPort 1 DstBlock "Decoupled Robot" DstPort 11 } Line { SrcBlock "Decoupled Robot" SrcPort 14 Points [85, 0] DstBlock "Mux3" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 15 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 16 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Decoupled Robot" SrcPort 17 DstBlock "Mux2" DstPort 3 } Line { SrcBlock "Decoupled Robot" SrcPort 18 DstBlock "Terminator5" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 19 DstBlock "Terminator6" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 20 DstBlock "Terminator7" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 21 Points [85, 0] DstBlock "Mux3" DstPort 3 } Line { SrcBlock "Decoupled Robot" SrcPort 22 DstBlock "Terminator9" DstPort 1 } Line { SrcBlock "Decoupled Robot" SrcPort 23 Points [15, 0; 0, 50; -855, 0; 0, -625] DstBlock "Kicker" DstPort 9 } Line { SrcBlock "Ground1" SrcPort 1 DstBlock "Decoupled Robot" DstPort 20 } Line { SrcBlock "Ground2" SrcPort 1 DstBlock "Decoupled Robot" DstPort 21 } Line { SrcBlock "Decoupled Robot" SrcPort 10 Points [60, 0] Branch { DstBlock "robot_active" DstPort 1 } Branch { Points [0, 725; -630, 0; 0, -260] Branch { Points [0, -315] DstBlock "motion emergency handler" DstPort 3 } Branch { DstBlock "LED definition" DstPort 5 } } } Line { SrcBlock "control enable" SrcPort 1 Points [240, 0] Branch { DstBlock "LED definition" DstPort 3 } Branch { Points [0, -155] DstBlock "motion emergency handler" DstPort 5 } } Line { SrcBlock "motion emergency handler" SrcPort 4 Points [0, 5] DstBlock "Decoupled Robot" DstPort 13 } Line { SrcBlock "Manual Mode" SrcPort 7 Points [0, 85] Branch { Points [0, 0] Branch { Points [0, 160] DstBlock "motion emergency handler" DstPort 2 } Branch { DstBlock "manual\nmode switch" DstPort 1 } } Branch { Points [65, 0; 0, -25] DstBlock "Kicker" DstPort 6 } } Line { SrcBlock "motion emergency handler" SrcPort 1 Points [0, -20; -180, 0; 0, -15] Branch { Labels [1, 0] DstBlock "Data Type Conversion" DstPort 1 } Branch { Points [0, -105] Branch { Points [0, -280] Branch { DstBlock "Subsystem8" DstPort 2 } Branch { Points [0, 0; 0, -50] Branch { DstBlock "Subsystem1" DstPort 2 } Branch { Points [0, -50] DstBlock "Subsystem7" DstPort 2 } } } Branch { Points [-545, 0; 0, -250] Branch { DstBlock "drift control phi" DstPort 2 } Branch { Points [0, -90] Branch { DstBlock "drift control Y" DstPort 2 } Branch { Points [0, -85] DstBlock "drift control X" DstPort 2 } } } } } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "Unit Delay" DstPort 1 } Line { SrcBlock "Unit Delay" SrcPort 1 DstBlock "control enable\nand amplifiers on" DstPort 1 } Line { SrcBlock "motion emergency handler" SrcPort 2 Points [5, 0; 0, -60; -165, 0; 0, -90] DstBlock "Kicker" DstPort 7 } Line { SrcBlock "Ground3" SrcPort 1 DstBlock "Decoupled Robot" DstPort 22 } Line { SrcBlock "Manual Mode" SrcPort 6 Points [15, 0; 0, 265] DstBlock "motion emergency handler" DstPort 1 } Line { SrcBlock "target_xyo\ncur_xyo" SrcPort 1 DstBlock "Kicker" DstPort 5 } Line { SrcBlock "KtunableParams" SrcPort 1 DstBlock "Kicker" DstPort 8 } Line { SrcBlock "Decoupled Robot" SrcPort 12 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "turtle_ID" SrcPort 1 DstBlock "LED definition" DstPort 4 } Line { SrcBlock "motion emergency handler" SrcPort 6 DstBlock "panic_switch_trc" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "Mux3" DstPort 2 } Line { SrcBlock "Mux3" SrcPort 1 DstBlock "fc_data" DstPort 1 } Line { SrcBlock "Kicker" SrcPort 1 Points [25, 0; 0, -10] DstBlock "Decoupled Robot" DstPort 6 } Line { SrcBlock "Kicker" SrcPort 2 DstBlock "Decoupled Robot" DstPort 7 } Line { SrcBlock "Kicker" SrcPort 6 DstBlock "RetractBall" DstPort 1 } Line { SrcBlock "Kicker" SrcPort 5 Points [55, 0] DstBlock "Decoupled Robot" DstPort 10 } Line { SrcBlock "Kicker" SrcPort 4 Points [25, 0; 0, 20] DstBlock "Decoupled Robot" DstPort 9 } Line { SrcBlock "Kicker" SrcPort 3 Points [25, 0; 0, 10] DstBlock "Decoupled Robot" DstPort 8 } Line { SrcBlock "penaltyDemoMode" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 Points [40, 0; 0, -75] DstBlock "Kicker" DstPort 10 } Line { SrcBlock "LED definition" SrcPort 2 DstBlock "Decoupled Robot" DstPort 16 } Line { SrcBlock "differentiator4" SrcPort 1 DstBlock "Manual Mode" DstPort 3 } Line { SrcBlock "Skill ID" SrcPort 1 DstBlock "Manual Mode" DstPort 4 } Line { SrcBlock "emergency\n0/1/2/3" SrcPort 1 DstBlock "Manual Mode" DstPort 5 } Line { SrcBlock "tunable param move" SrcPort 1 DstBlock "Manual Mode" DstPort 6 } Annotation { Position [1468, 745] } } } Block { BlockType Demux Name "Demux2" Ports [1, 2] Position [285, 142, 290, 193] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Demux Name "Demux3" Ports [1, 2] Position [285, 192, 290, 243] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType "S-Function" Name "Motion tuning" Ports [0, 1] Position [55, 254, 155, 306] BackgroundColor "blue" FunctionName "sf_tuning_server_motion" Parameters "char(Names_motion), Defaults_motion" } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [885, 150, 890, 210] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux3" Ports [2, 1] Position [885, 210, 890, 270] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Reference & Control" Ports [17, 13, 1] Position [335, 117, 530, 543] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Reference & Control" Location [5, 77, 1547, 1020] 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 "111" Block { BlockType Inport Name "pose_g\nenc_robot" Position [25, 113, 55, 127] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tacho left" Position [1045, 238, 1075, 252] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tacho right" Position [1045, 273, 1075, 287] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "arm left" Position [1045, 168, 1075, 182] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "arm right" Position [1045, 203, 1075, 217] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable params\nsmoothifier" Position [585, 438, 615, 452] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable params_ball" Position [1045, 343, 1075, 357] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable params_kick" Position [1045, 83, 1075, 97] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robot active" Position [25, 248, 55, 262] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "q" Position [1045, 308, 1075, 322] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Retract_ball" Position [1045, 378, 1075, 392] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "battery voltage" Position [25, 203, 55, 217] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable \nand amplifiers on" Position [765, 323, 795, 337] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "SkillIDin" Position [765, 438, 795, 452] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "panic_switch_trc" Position [25, 293, 55, 307] Port "15" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "manual_switch" Position [25, 338, 55, 352] Port "16" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "fc_data" Position [245, 323, 275, 337] Port "17" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType EnablePort Name "Enable" Ports [] Position [75, 50, 95, 70] } Block { BlockType SubSystem Name "Ball handling" Ports [8, 3] Position [1095, 125, 1240, 400] BackgroundColor "blue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Ball handling" Location [5, 77, 1261, 738] 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 "additional effort" Position [275, 283, 305, 297] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "arm left" Position [450, 178, 480, 192] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "arm right" Position [450, 213, 480, 227] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tacho left" Position [780, 368, 810, 382] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tacho right" Position [780, 413, 810, 427] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "q" Position [780, 323, 810, 337] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable params ball" Position [55, 248, 85, 262] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "retract_ball" Position [1005, 348, 1035, 362] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Ball handling position control" Ports [4, 3] Position [525, 169, 725, 306] BackgroundColor "blue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Ball handling position control" Location [186, 269, 1031, 609] 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 "arm left" Position [170, 113, 200, 127] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "arm right" Position [170, 143, 200, 157] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable params ball" Position [70, 168, 100, 182] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Additional Effort Ballhandling" Position [185, 18, 215, 32] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Controller 1" Ports [2, 1] Position [685, 57, 780, 128] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Controller 1" Location [134, 248, 754, 469] 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 "e" Position [20, 113, 50, 127] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "P action" Position [20, 138, 50, 152] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [115, 105, 125, 160] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType TransferFcn Name "Transfer Fcn4" Position [260, 117, 320, 153] ShowName off Denominator "[1/2/pi/50 1]" } Block { BlockType Outport Name "tacho ref left" Position [365, 128, 395, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Transfer Fcn4" SrcPort 1 DstBlock "tacho ref left" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Transfer Fcn4" DstPort 1 } Line { SrcBlock "e" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "P action" SrcPort 1 Points [0, 0] DstBlock "Product" DstPort 2 } } } Block { BlockType SubSystem Name "Controller 2" Ports [2, 1] Position [685, 152, 780, 223] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Controller 2" Location [658, 245, 1147, 459] 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 "e" Position [20, 103, 50, 117] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "P action" Position [20, 138, 50, 152] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [115, 105, 125, 160] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType TransferFcn Name "Transfer Fcn4" Position [135, 117, 195, 153] ShowName off Denominator "[1/2/pi/50 1]" } Block { BlockType Outport Name "tacho ref right" Position [230, 128, 260, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Transfer Fcn4" SrcPort 1 Points [0, 0] DstBlock "tacho ref right" DstPort 1 } Line { SrcBlock "P action" SrcPort 1 Points [0, 0] DstBlock "Product" DstPort 2 } Line { SrcBlock "e" SrcPort 1 Points [20, 0; 0, 10] DstBlock "Product" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Transfer Fcn4" DstPort 1 } } } Block { BlockType Demux Name "Demux1" Ports [1, 3] Position [135, 62, 145, 288] BackgroundColor "black" ShowName off Outputs "[2 1 1]" DisplayOption "bar" } Block { BlockType Demux Name "Demux2" Ports [1, 2] Position [655, 52, 660, 143] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [390, 107, 395, 163] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [400, 90, 420, 110] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [610, 190, 640, 220] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType TransferFcn Name "Transfer Fcn1" Position [290, 132, 350, 168] ShowName off Denominator "[1/2/pi/100 1]" } Block { BlockType TransferFcn Name "Transfer Fcn3" Position [220, 102, 280, 138] ShowName off Denominator "[1/2/pi/100 1]" } Block { BlockType "S-Function" Name "brainware" Ports [2, 2] Position [445, 82, 545, 153] BackgroundColor "[0.819000, 0.651000, 0.277000]" FunctionName "ballhandlingautoref" Port { PortNumber 1 Name "error" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "CPB" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Outport Name "CPB" Position [600, 128, 630, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho ref left" Position [805, 88, 835, 102] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tacho ref right" Position [805, 183, 835, 197] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "tunable params ball" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Switch1" SrcPort 1 Points [20, 0] Branch { DstBlock "Controller 2" DstPort 2 } Branch { Points [0, -95] DstBlock "Controller 1" DstPort 2 } } Line { SrcBlock "Demux1" SrcPort 3 Points [130, 0; 0, -55] DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Controller 1" SrcPort 1 DstBlock "tacho ref left" DstPort 1 } Line { SrcBlock "Controller 2" SrcPort 1 DstBlock "tacho ref right" DstPort 1 } Line { Name "CPB" Labels [0, 0] SrcBlock "brainware" SrcPort 2 Points [30, 0] Branch { Points [0, 70] DstBlock "Switch1" DstPort 2 } Branch { DstBlock "CPB" DstPort 1 } } Line { SrcBlock "Demux2" SrcPort 1 DstBlock "Controller 1" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 2 Points [5, 0] DstBlock "Controller 2" DstPort 1 } Line { Name "error" Labels [0, 0] SrcBlock "brainware" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 Points [200, 0; 0, 40] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "brainware" DstPort 1 } Line { SrcBlock "Additional Effort Ballhandling" SrcPort 1 Points [190, 0] DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "arm left" SrcPort 1 DstBlock "Transfer Fcn3" DstPort 1 } Line { SrcBlock "arm right" SrcPort 1 DstBlock "Transfer Fcn1" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "brainware" DstPort 2 } Line { SrcBlock "Transfer Fcn3" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Transfer Fcn1" SrcPort 1 DstBlock "Mux" DstPort 2 } } } Block { BlockType SubSystem Name "Ball handling velocity control" Ports [6, 2] Position [835, 214, 980, 491] BackgroundColor "blue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Ball handling velocity control" Location [5, 77, 1147, 770] 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 "tacho ref left" Position [20, 368, 50, 382] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tacho ref right" Position [20, 413, 50, 427] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "encoder q1, q2, q3" Position [60, 73, 90, 87] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tacho left" Position [20, 463, 50, 477] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tacho right" Position [20, 508, 50, 522] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunale params ball FF" Position [330, 153, 360, 167] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 3] Position [155, 19, 165, 141] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" Port { PortNumber 1 Name "q_{1}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "q_{2}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "q_{3}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Derivative Name "Derivative" Position [270, 25, 300, 55] ShowName off } Block { BlockType Derivative Name "Derivative1" Position [270, 65, 300, 95] ShowName off } Block { BlockType Derivative Name "Derivative2" Position [270, 105, 300, 135] ShowName off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [125, 365, 145, 385] ShowName off IconShape "round" Inputs "++|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [160, 410, 180, 430] ShowName off IconShape "round" Inputs "++|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [200, 365, 220, 385] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum5" Ports [2, 1] Position [225, 410, 245, 430] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType TransferFcn Name "Transfer Fcn" Position [315, 22, 375, 58] ShowName off Denominator "[1/2/pi/100 1]" } Block { BlockType TransferFcn Name "Transfer Fcn1" Position [315, 62, 375, 98] ShowName off Denominator "[1/2/pi/100 1]" } Block { BlockType TransferFcn Name "Transfer Fcn2" Position [315, 102, 375, 138] ShowName off Denominator "[1/2/pi/100 1]" } Block { BlockType TransferFcn Name "Transfer Fcn3" Position [90, 452, 150, 488] ShowName off Denominator "[1/2/pi/100 1]" } Block { BlockType TransferFcn Name "Transfer Fcn4" Position [90, 497, 150, 533] ShowName off Denominator "[1/2/pi/100 1]" } Block { BlockType SubSystem Name "Velocity feedback controllers" Ports [4, 2] Position [400, 262, 605, 443] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Velocity feedback controllers" Location [68, 215, 387, 486] 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 "p-action" Position [25, 23, 55, 37] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "d-action" Position [25, 58, 55, 72] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "eballvel1 [V]" Position [25, 93, 55, 107] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "eballvel2 [V]" Position [25, 218, 55, 232] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Velocity controller 1" Ports [3, 1] Position [115, 15, 220, 115] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Velocity controller 1" Location [473, 242, 963, 451] 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 "p-action" Position [30, 118, 60, 132] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "d-action" Position [30, 88, 60, 102] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "eballvel1 [V]" Position [30, 53, 60, 67] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Derivative Name "Derivative1" Position [155, 55, 185, 85] } Block { BlockType Gain Name "Gain" Position [240, 80, 270, 110] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product" Ports [2, 1] Position [105, 52, 135, 83] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [105, 102, 135, 133] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [200, 85, 220, 105] ShowName off IconShape "round" Inputs "+|+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [290, 85, 310, 105] ShowName off IconShape "round" Inputs "++|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Constant Name "offset" Position [240, 30, 270, 60] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "uballvel1 [V]" Position [375, 88, 405, 102] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Product" SrcPort 1 DstBlock "Derivative1" DstPort 1 } Line { SrcBlock "Derivative1" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "eballvel1 [V]" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 50] DstBlock "Product1" DstPort 1 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "d-action" SrcPort 1 Points [25, 0] DstBlock "Product" DstPort 2 } Line { SrcBlock "p-action" SrcPort 1 Points [0, 0] DstBlock "Product1" DstPort 2 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 Points [0, 0] DstBlock "uballvel1 [V]" DstPort 1 } Line { SrcBlock "offset" SrcPort 1 Points [25, 0] DstBlock "Sum1" DstPort 1 } Annotation { Position [358, 52] } } } Block { BlockType SubSystem Name "Velocity controller 2" Ports [3, 1] Position [115, 140, 220, 240] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Velocity controller 2" Location [473, 242, 963, 451] 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 "p-action" Position [30, 118, 60, 132] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "d-action" Position [30, 88, 60, 102] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "eballvel2 [V]" Position [30, 53, 60, 67] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Derivative Name "Derivative1" Position [155, 55, 185, 85] } Block { BlockType Gain Name "Gain" Position [240, 80, 270, 110] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product" Ports [2, 1] Position [105, 52, 135, 83] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [105, 102, 135, 133] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [200, 85, 220, 105] ShowName off IconShape "round" Inputs "+|+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [290, 85, 310, 105] ShowName off IconShape "round" Inputs "++|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Constant Name "offset" Position [240, 30, 270, 60] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "uballvel2 [V]" Position [375, 88, 405, 102] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "offset" SrcPort 1 Points [25, 0] DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 Points [0, 0] DstBlock "uballvel2 [V]" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "p-action" SrcPort 1 Points [0, 0] DstBlock "Product1" DstPort 2 } Line { SrcBlock "d-action" SrcPort 1 Points [25, 0] DstBlock "Product" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "eballvel2 [V]" SrcPort 1 Points [0, 0; 15, 0] Branch { Points [0, 50] DstBlock "Product1" DstPort 1 } Branch { DstBlock "Product" DstPort 1 } } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Derivative1" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Derivative1" DstPort 1 } Annotation { Position [358, 52] } } } Block { BlockType Outport Name "uballvel1 [V]" Position [245, 58, 275, 72] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "uballvel2 [V]" Position [240, 183, 270, 197] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "eballvel2 [V]" SrcPort 1 Points [0, 0] DstBlock "Velocity controller 2" DstPort 3 } Line { SrcBlock "Velocity controller 1" SrcPort 1 Points [0, 0] DstBlock "uballvel1 [V]" DstPort 1 } Line { SrcBlock "Velocity controller 2" SrcPort 1 DstBlock "uballvel2 [V]" DstPort 1 } Line { SrcBlock "p-action" SrcPort 1 Points [0, 0; 35, 0] Branch { DstBlock "Velocity controller 1" DstPort 1 } Branch { Points [0, 125] DstBlock "Velocity controller 2" DstPort 1 } } Line { SrcBlock "d-action" SrcPort 1 Points [0, 0; 15, 0] Branch { DstBlock "Velocity controller 1" DstPort 2 } Branch { Points [0, 125] DstBlock "Velocity controller 2" DstPort 2 } } Line { SrcBlock "eballvel1 [V]" SrcPort 1 Points [0, 0] DstBlock "Velocity controller 1" DstPort 3 } } } Block { BlockType SubSystem Name "Velocity feedforward controllers" Ports [4, 2] Position [395, 19, 600, 181] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Velocity feedforward controllers" Location [5, 77, 1147, 770] 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 "\\dot{q}_{1}" Position [25, 43, 55, 57] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "\\dot{q}_{2}" Position [25, 88, 55, 102] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "\\dot{q}_{3}" Position [25, 133, 55, 147] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Tunable parameters ballhandling" Position [1255, 213, 1285, 227] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Calculate v_{b} and \\theta_{b}" Ports [2, 2] Position [1620, 25, 1835, 185] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off Port { PortNumber 1 Name "v_{b}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "\\theta_{b}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Calculate v_{b} and \\theta_{b}" Location [5, 77, 1147, 749] 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 "\\dot{x}_{b}" Position [155, 158, 185, 172] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "\\dot{y}_{b}" Position [155, 223, 185, 237] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Math Name "Math\nFunction1" Ports [1, 1] Position [240, 60, 270, 90] ShowName off Operator "magnitude^2" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Math Name "Math\nFunction2" Ports [1, 1] Position [240, 95, 270, 125] ShowName off Operator "magnitude^2" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Math Name "Math\nFunction3" Ports [1, 1] Position [330, 80, 360, 110] ShowName off Operator "sqrt" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [300, 59, 315, 126] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [2, 1] Position [240, 133, 315, 262] ShowName off Operator "atan2" } Block { BlockType Outport Name "v_{b}" Position [380, 88, 410, 102] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "\\theta_[b}" Position [380, 193, 410, 207] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Math\nFunction3" SrcPort 1 DstBlock "v_{b}" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Math\nFunction3" DstPort 1 } Line { SrcBlock "Math\nFunction2" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Math\nFunction1" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "\\dot{y}_{b}" SrcPort 1 Points [35, 0] Branch { DstBlock "Math\nFunction2" DstPort 1 } Branch { DstBlock "Trigonometric\nFunction" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [0, 0] DstBlock "\\theta_[b}" DstPort 1 } Line { SrcBlock "\\dot{x}_{b}" SrcPort 1 Points [20, 0] Branch { Points [0, -90] DstBlock "Math\nFunction1" DstPort 1 } Branch { DstBlock "Trigonometric\nFunction" DstPort 1 } } } } Block { BlockType Gain Name "Fix for rotation?" Position [1450, 50, 1480, 80] Gain "2" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "Transformation from ballhandling wheel velocities to reference voltages" Ports [2, 2] Position [2200, 18, 2570, 367] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Transformation from ballhandling wheel velocities to reference voltages" Location [5, 82, 1147, 754] 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 "\\omega_{A_1}" Position [25, 33, 55, 47] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "\\omega_{A_2}" Position [25, 108, 55, 122] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Gain Name "Transformation from ballhandling motor 1 velocity in radians per second\nto reference voltage 1 in volts" Position [625, 25, 655, 55] Gain "1/2/pi*60/1000*k_m1v1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Transformation from ballhandling motor 2 velocity in radians per second\nto reference voltage 2 in volts" Position [625, 100, 655, 130] Gain "1/2/pi*60/1000*k_m2v2" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Transformation from ballhandling wheel 1 velocity in radians per second\nto ballhandling motor 1 velocity in radians per second" Position [250, 25, 280, 55] Gain "k_w1m1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Transformation from ballhandling wheel 2 velocity in radians per second\nto ballhandling motor 2 velocity in radians per second" Position [250, 100, 280, 130] Gain "k_w2m2" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "V_{ref,A_{1}}" Position [850, 33, 880, 47] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "V_{ref,A_{2}}" Position [850, 108, 880, 122] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "\\omega_{A_2}" SrcPort 1 DstBlock "Transformation from ballhandling wheel 2 velocity in radians per second\nto ballhandling motor 2 velocity in radians per second" DstPort 1 } Line { SrcBlock "Transformation from ballhandling motor 2 velocity in radians per second\nto reference voltage 2 in volts" SrcPort 1 DstBlock "V_{ref,A_{2}}" DstPort 1 } Line { SrcBlock "Transformation from ballhandling wheel 2 velocity in radians per second\nto ballhandling motor 2 velocity in radians per second" SrcPort 1 DstBlock "Transformation from ballhandling motor 2 velocity in radians per second\nto reference voltage 2 in volts" DstPort 1 } Line { SrcBlock "\\omega_{A_1}" SrcPort 1 DstBlock "Transformation from ballhandling wheel 1 velocity in radians per second\nto ballhandling motor 1 velocity in radians per second" DstPort 1 } Line { SrcBlock "Transformation from ballhandling motor 1 velocity in radians per second\nto reference voltage 1 in volts" SrcPort 1 Points [0, 0] DstBlock "V_{ref,A_{1}}" DstPort 1 } Line { SrcBlock "Transformation from ballhandling wheel 1 velocity in radians per second\nto ballhandling motor 1 velocity in radians per second" SrcPort 1 DstBlock "Transformation from ballhandling motor 1 velocity in radians per second\nto reference voltage 1 in volts" DstPort 1 } } } Block { BlockType SubSystem Name "Transformation from motor velocities to omniwheel velocities" Ports [3, 3] Position [80, 28, 380, 162] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off Port { PortNumber 1 Name "\\omega_{ow_1}" PropagatedSignals "\\omega_{ow_1} in [rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "\\omega_{ow_2}" PropagatedSignals "\\omega_{ow_2} in[rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "\\omega_{ow_3}" PropagatedSignals "\\omega_{ow_3} in [rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Transformation from motor velocities to omniwheel velocities" Location [5, 82, 1147, 754] 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 "\\dot{q}_{1}" Position [180, 158, 210, 172] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" Port { PortNumber 1 Name "\\dot{q}_{1} in [rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Inport Name "\\dot{q}_{2}" Position [180, 223, 210, 237] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" Port { PortNumber 1 Name "\\dot{q}_{2} in [rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Inport Name "\\dot{q}_3}" Position [180, 288, 210, 302] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" Port { PortNumber 1 Name "\\dot{q}_{3} in [rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Gain Name "Transformation from velocity of the motor 1 in radians per second\nto the velocity of the omni-wheel 1 in radians per second" Position [700, 150, 730, 180] Gain "1/gearratio" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off Port { PortNumber 1 Name "\\omega_{ow_1} in [rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Gain Name "Transformation from velocity of the motor 2 in radians per second\nto the velocity of the omni-wheel 2 in radians per second" Position [700, 215, 730, 245] Gain "1/gearratio" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off Port { PortNumber 1 Name "\\omega_{ow_2} in[rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Gain Name "Transformation from velocity of the motor 3 in radians per second\nto the velocity of the omni-wheel 3 in radians per second" Position [700, 280, 730, 310] Gain "1/gearratio" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off Port { PortNumber 1 Name "\\omega_{ow_3} in [rad/s]" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Outport Name "\\omega_{ow_1}" Position [915, 158, 945, 172] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "\\omega_{ow_2}" Position [915, 223, 945, 237] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "\\omega_{ow_3}" Position [915, 288, 945, 302] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { Name "\\omega_{ow_3} in [rad/s]" Labels [0, 0] SrcBlock "Transformation from velocity of the motor 3 in radians per second\nto the velocity of the omni-wheel 3 in radians per second" SrcPort 1 DstBlock "\\omega_{ow_3}" DstPort 1 } Line { Name "\\dot{q}_{3} in [rad/s]" Labels [0, 0] SrcBlock "\\dot{q}_3}" SrcPort 1 DstBlock "Transformation from velocity of the motor 3 in radians per second\nto the velocity of the omni-wheel 3 in radians per second" DstPort 1 } Line { Name "\\omega_{ow_2} in[rad/s]" Labels [0, 0] SrcBlock "Transformation from velocity of the motor 2 in radians per second\nto the velocity of the omni-wheel 2 in radians per second" SrcPort 1 DstBlock "\\omega_{ow_2}" DstPort 1 } Line { Name "\\dot{q}_{2} in [rad/s]" Labels [0, 0] SrcBlock "\\dot{q}_{2}" SrcPort 1 DstBlock "Transformation from velocity of the motor 2 in radians per second\nto the velocity of the omni-wheel 2 in radians per second" DstPort 1 } Line { Name "\\omega_{ow_1} in [rad/s]" Labels [0, 0] SrcBlock "Transformation from velocity of the motor 1 in radians per second\nto the velocity of the omni-wheel 1 in radians per second" SrcPort 1 DstBlock "\\omega_{ow_1}" DstPort 1 } Line { Name "\\dot{q}_{1} in [rad/s]" Labels [0, 0] SrcBlock "\\dot{q}_{1}" SrcPort 1 DstBlock "Transformation from velocity of the motor 1 in radians per second\nto the velocity of the omni-wheel 1 in radians per second" DstPort 1 } } } Block { BlockType SubSystem Name "Transformation from omni-wheel velocities to the Turtles center velocities" Ports [3, 3] Position [465, 29, 840, 161] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off Port { PortNumber 1 Name "\\dot{x}_{t}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "\\dot{y}_{t}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 3 Name "\\dot{\\phi}_{t}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Transformation from omni-wheel velocities to the Turtles center velocities" Location [646, 157, 1147, 501] 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 "\\omega_{ow_1}" Position [140, 68, 170, 82] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "\\omega_{ow_2}" Position [140, 103, 170, 117] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "\\omega_{ow_3}" Position [140, 138, 170, 152] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [285, 54, 290, 166] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [195, 54, 200, 166] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Gain Name "Transformation1" Position [230, 95, 260, 125] Gain "1/(R1+R2+R3)*[-R2 R3+R1 -R2; -1/3*sqrt(3)*(2*R3+R2) 1/3*sqrt(3)*(-R3+R1) 1/3*sqrt(3)*(R2+2*R1);1 1 1]*[rw1 0 0; 0 rw2 0; 0 0 rw3]" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "\\dot{x}_{t}" Position [315, 68, 345, 82] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "\\dot{y}_{t}" Position [315, 103, 345, 117] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "\\dot{\\phi}_{t}" Position [315, 138, 345, 152] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "\\omega_{ow_3}" SrcPort 1 Points [0, 0] DstBlock "Mux" DstPort 3 } Line { SrcBlock "Demux" SrcPort 3 Points [0, 0] DstBlock "\\dot{\\phi}_{t}" DstPort 1 } Line { SrcBlock "\\omega_{ow_2}" SrcPort 1 Points [0, 0] DstBlock "Mux" DstPort 2 } Line { SrcBlock "Demux" SrcPort 2 Points [0, 0] DstBlock "\\dot{y}_{t}" DstPort 1 } Line { SrcBlock "\\omega_{ow_1}" SrcPort 1 Points [0, 0] DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 Points [0, 0] DstBlock "\\dot{x}_{t}" DstPort 1 } Line { SrcBlock "Transformation1" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Transformation1" DstPort 1 } Annotation { Name "R = Distance from omniwheel to the center of the Turtle in [m] (see param_new.m)\nrw = Radius of the omniwheels in [m] (see param_new.m)" Position [3, 19] HorizontalAlignment "left" FontName "Times New Roman" FontSize 14 } } } Block { BlockType SubSystem Name "Transformation from the Turtles center velocities to the Ball center velocity" Ports [3, 2] Position [910, 30, 1320, 160] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off Port { PortNumber 1 Name "\\dot{x}_{b}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "\\dot{y}_{b}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Transformation from the Turtles center velocities to the Ball center velocity" Location [404, 406, 959, 571] 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 "\\dot{x}_{t}" Position [160, 43, 190, 57] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "\\dot{y}_{t}" Position [160, 78, 190, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "\\dot{\\phi}_{t}" Position [160, 113, 190, 127] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [305, 26, 310, 139] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [215, 29, 220, 141] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Gain Name "Transformation" Position [250, 70, 280, 100] Gain "[-1 0 D_tb;0 1 0]" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "\\dot{x}_{b}" Position [335, 48, 365, 62] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "\\dot{y}_{b}" Position [335, 103, 365, 117] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Transformation" DstPort 1 } Line { SrcBlock "Transformation" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 Points [0, 0] DstBlock "\\dot{x}_{b}" DstPort 1 } Line { SrcBlock "\\dot{x}_{t}" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [0, 0] DstBlock "\\dot{y}_{b}" DstPort 1 } Line { SrcBlock "\\dot{y}_{t}" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "\\dot{\\phi}_{t}" SrcPort 1 DstBlock "Mux" DstPort 3 } Annotation { Name "D_tb = Distance from the center of the Turtle to the center of the ball in [m] (see also param_new.m)" Position [249, 12] FontName "Times New Roman" FontSize 14 } } } Block { BlockType SubSystem Name "Tuning attraction" Ports [2, 1] Position [1370, 87, 1590, 263] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Tuning attraction" Location [5, 77, 1147, 770] 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 " \\dot{y}_{b} " Position [270, 523, 300, 537] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" Port { PortNumber 1 Name "\\dot{y}_{b}" PropagatedSignals "\\dot{y}_{b}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Inport Name "Tunable parameters ballhandling" Position [75, 523, 105, 537] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Reference Name "Compare\nTo Constant1" Ports [1, 1] Position [345, 515, 375, 545] SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">=" const "-0.1" LogicOutDataTypeMode "uint8" ZeroCross "off" } Block { BlockType Constant Name "Constant" Position [505, 615, 535, 645] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [395, 513, 455, 547] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [175, 511, 180, 549] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Product Name "Product2" Ports [2, 1] Position [505, 462, 535, 493] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [505, 577, 535, 608] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [620, 520, 640, 540] ShowName off IconShape "round" Inputs "|+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [560, 515, 590, 545] ShowName off Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [560, 665, 590, 695] ShowName off Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "\\dot{y}_{b}" Position [785, 523, 815, 537] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Demux" SrcPort 2 Points [75, 0; 0, 70] DstBlock "Product3" DstPort 2 } Line { SrcBlock "Demux" SrcPort 1 Points [75, 0; 0, -50] DstBlock "Product2" DstPort 1 } Line { Name "\\dot{y}_{b}" Labels [0, 0] SrcBlock " \\dot{y}_{b} " SrcPort 1 Points [15, 0] Branch { Points [0, -45] DstBlock "Product2" DstPort 2 } Branch { DstBlock "Compare\nTo Constant1" DstPort 1 } Branch { Points [0, 55] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "\\dot{y}_{b}" DstPort 1 } Line { SrcBlock "Demux" SrcPort 3 Points [60, 0; 0, 150] DstBlock "Switch2" DstPort 3 } Line { SrcBlock "Tunable parameters ballhandling" SrcPort 1 Points [0, 0] DstBlock "Demux" DstPort 1 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Compare\nTo Constant1" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 Points [5, 0] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Product2" SrcPort 1 Points [5, 0] DstBlock "Switch1" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [20, 0] Branch { DstBlock "Switch1" DstPort 2 } Branch { Points [0, 150] DstBlock "Switch2" DstPort 2 } } Line { SrcBlock "Constant" SrcPort 1 Points [5, 0] DstBlock "Switch2" DstPort 1 } Line { SrcBlock "Switch2" SrcPort 1 Points [35, 0] DstBlock "Sum" DstPort 2 } Annotation { Name "Tunable parameters ballhandling:\n1. Gain for positive y-direction\n2. Gain for negative y-direction\n3. Offset" Position [98, 468] } } } Block { BlockType "S-Function" Name "omega_{A_1}" Ports [2, 1] Position [1920, 26, 2110, 184] FunctionName "handling_A_1" Parameters "R_b,R_A_1,sqrt(x_A_1^2+y_A_1^2),atan(x_A_1/y_A_1),xi_A_1" Port { PortNumber 1 Name "\\omega_{A_1}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType "S-Function" Name "omega_{A_2}" Ports [2, 1] Position [1920, 201, 2110, 359] FunctionName "handling_A_2" Parameters "R_b,R_A_2,sqrt(x_A_2^2+y_A_2^2),atan(x_A_2/y_A_2),xi_A_2" Port { PortNumber 1 Name "\\omega_{A_2}" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Outport Name "V_{ref,A_{1}}" Position [2605, 98, 2635, 112] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "V_{ref,A_{2}}" Position [2605, 273, 2635, 287] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Tunable parameters ballhandling" SrcPort 1 DstBlock "Tuning attraction" DstPort 2 } Line { Name "\\dot{y}_{b}" SrcBlock "Transformation from the Turtles center velocities to the Ball center velocity" SrcPort 2 DstBlock "Tuning attraction" DstPort 1 } Line { SrcBlock "Tuning attraction" SrcPort 1 Points [10, 0] DstBlock "Calculate v_{b} and \\theta_{b}" DstPort 2 } Line { SrcBlock "Transformation from ballhandling wheel velocities to reference voltages" SrcPort 2 DstBlock "V_{ref,A_{2}}" DstPort 1 } Line { SrcBlock "\\dot{q}_{3}" SrcPort 1 Points [0, 0] DstBlock "Transformation from motor velocities to omniwheel velocities" DstPort 3 } Line { SrcBlock "Transformation from ballhandling wheel velocities to reference voltages" SrcPort 1 DstBlock "V_{ref,A_{1}}" DstPort 1 } Line { SrcBlock "\\dot{q}_{2}" SrcPort 1 Points [0, 0] DstBlock "Transformation from motor velocities to omniwheel velocities" DstPort 2 } Line { SrcBlock "\\dot{q}_{1}" SrcPort 1 Points [0, 0] DstBlock "Transformation from motor velocities to omniwheel velocities" DstPort 1 } Line { Name "\\omega_{A_2}" Labels [0, 0] SrcBlock "omega_{A_2}" SrcPort 1 DstBlock "Transformation from ballhandling wheel velocities to reference voltages" DstPort 2 } Line { Name "\\omega_{A_1}" Labels [0, 0] SrcBlock "omega_{A_1}" SrcPort 1 DstBlock "Transformation from ballhandling wheel velocities to reference voltages" DstPort 1 } Line { Name "\\theta_{b}" Labels [0, 0] SrcBlock "Calculate v_{b} and \\theta_{b}" SrcPort 2 Points [45, 0] Branch { Points [0, 175] DstBlock "omega_{A_2}" DstPort 2 } Branch { DstBlock "omega_{A_1}" DstPort 2 } } Line { Name "v_{b}" Labels [0, 0] SrcBlock "Calculate v_{b} and \\theta_{b}" SrcPort 1 Points [65, 0] Branch { DstBlock "omega_{A_2}" DstPort 1 } Branch { DstBlock "omega_{A_1}" DstPort 1 } } Line { Name "\\dot{x}_{b}" Labels [0, 0] SrcBlock "Transformation from the Turtles center velocities to the Ball center velocity" SrcPort 1 DstBlock "Fix for rotation?" DstPort 1 } Line { Name "\\omega_{ow_3}" Labels [0, 0] SrcBlock "Transformation from motor velocities to omniwheel velocities" SrcPort 3 DstBlock "Transformation from omni-wheel velocities to the Turtles center velocities" DstPort 3 } Line { Name "\\omega_{ow_2}" Labels [0, 0] SrcBlock "Transformation from motor velocities to omniwheel velocities" SrcPort 2 DstBlock "Transformation from omni-wheel velocities to the Turtles center velocities" DstPort 2 } Line { Name "\\omega_{ow_1}" Labels [0, 0] SrcBlock "Transformation from motor velocities to omniwheel velocities" SrcPort 1 DstBlock "Transformation from omni-wheel velocities to the Turtles center velocities" DstPort 1 } Line { Name "\\dot{\\phi}_{t}" Labels [0, 0] SrcBlock "Transformation from omni-wheel velocities to the Turtles center velocities" SrcPort 3 DstBlock "Transformation from the Turtles center velocities to the Ball center velocity" DstPort 3 } Line { Name "\\dot{y}_{t}" Labels [0, 0] SrcBlock "Transformation from omni-wheel velocities to the Turtles center velocities" SrcPort 2 DstBlock "Transformation from the Turtles center velocities to the Ball center velocity" DstPort 2 } Line { Name "\\dot{x}_{t}" Labels [0, 0] SrcBlock "Transformation from omni-wheel velocities to the Turtles center velocities" SrcPort 1 DstBlock "Transformation from the Turtles center velocities to the Ball center velocity" DstPort 1 } Line { SrcBlock "Fix for rotation?" SrcPort 1 DstBlock "Calculate v_{b} and \\theta_{b}" DstPort 1 } Annotation { Position [1249, 0] } } } Block { BlockType Constant Name "d-action velocity controllers" Position [310, 315, 365, 345] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "p-action velocity controllers" Position [310, 270, 365, 300] OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball left" Position [780, 303, 810, 317] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball right" Position [780, 393, 810, 407] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Velocity feedforward controllers" SrcPort 1 Points [145, 0; 0, 185; -580, 0] DstBlock "Sum2" DstPort 1 } Line { SrcBlock "encoder q1, q2, q3" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { Name "q_{3}" Labels [0, 0] SrcBlock "Demux1" SrcPort 3 DstBlock "Derivative2" DstPort 1 } Line { Name "q_{2}" Labels [0, 0] SrcBlock "Demux1" SrcPort 2 DstBlock "Derivative1" DstPort 1 } Line { Name "q_{1}" Labels [0, 0] SrcBlock "Demux1" SrcPort 1 DstBlock "Derivative" DstPort 1 } Line { SrcBlock "Transfer Fcn2" SrcPort 1 DstBlock "Velocity feedforward controllers" DstPort 3 } Line { SrcBlock "Transfer Fcn1" SrcPort 1 DstBlock "Velocity feedforward controllers" DstPort 2 } Line { SrcBlock "Transfer Fcn" SrcPort 1 DstBlock "Velocity feedforward controllers" DstPort 1 } Line { SrcBlock "Derivative2" SrcPort 1 DstBlock "Transfer Fcn2" DstPort 1 } Line { SrcBlock "Derivative1" SrcPort 1 DstBlock "Transfer Fcn1" DstPort 1 } Line { SrcBlock "Derivative" SrcPort 1 DstBlock "Transfer Fcn" DstPort 1 } Line { SrcBlock "tunale params ball FF" SrcPort 1 DstBlock "Velocity feedforward controllers" DstPort 4 } Line { SrcBlock "tacho left" SrcPort 1 DstBlock "Transfer Fcn3" DstPort 1 } Line { SrcBlock "tacho right" SrcPort 1 DstBlock "Transfer Fcn4" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 DstBlock "Velocity feedback controllers" DstPort 3 } Line { SrcBlock "tacho ref left" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "tacho ref right" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Velocity feedback controllers" SrcPort 1 DstBlock "ball left" DstPort 1 } Line { SrcBlock "Velocity feedback controllers" SrcPort 2 DstBlock "ball right" DstPort 1 } Line { SrcBlock "Sum5" SrcPort 1 DstBlock "Velocity feedback controllers" DstPort 4 } Line { SrcBlock "p-action velocity controllers" SrcPort 1 DstBlock "Velocity feedback controllers" DstPort 1 } Line { SrcBlock "d-action velocity controllers" SrcPort 1 DstBlock "Velocity feedback controllers" DstPort 2 } Line { SrcBlock "Velocity feedforward controllers" SrcPort 2 Points [90, 0; 0, 80; -560, 0] DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Transfer Fcn3" SrcPort 1 Points [55, 0] DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Transfer Fcn4" SrcPort 1 Points [80, 0] DstBlock "Sum5" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 DstBlock "Sum5" DstPort 1 } Annotation { Position [253, 273] } Annotation { Position [716, 493] } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [120, 246, 160, 264] BackgroundColor "blue" ShowName off InputPortWidth "7" IndexOptions "Index vector (dialog)" Indices "1:4" OutputSizes "1" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [120, 286, 160, 304] BackgroundColor "blue" ShowName off InputPortWidth "7" IndexOptions "Index vector (dialog)" Indices "5:7" OutputSizes "1" } Block { BlockType SubSystem Name "retract_ball_for_kick" Ports [3, 2] Position [1105, 250, 1190, 460] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "retract_ball_for_kick" Location [5, 196, 918, 628] 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 "ball left" Position [210, 118, 240, 132] IconDisplay "Port number" } Block { BlockType Inport Name "retract_ball" Position [25, 148, 55, 162] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "ball right" Position [210, 193, 240, 207] Port "3" IconDisplay "Port number" } Block { BlockType Constant Name "Constant1" Position [95, 25, 125, 55] Value "-0.7" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Switch Name "Switch" Position [290, 100, 320, 130] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [290, 175, 320, 205] Threshold "0.5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay" Position [80, 138, 115, 172] SampleTime "-1" } Block { BlockType Outport Name "ball left1" Position [345, 108, 375, 122] IconDisplay "Port number" } Block { BlockType Outport Name "ball right1" Position [345, 183, 375, 197] Port "2" IconDisplay "Port number" } Line { SrcBlock "Unit Delay" SrcPort 1 Points [10, 0; 0, 35] Branch { Points [0, -75] DstBlock "Switch" DstPort 2 } Branch { DstBlock "Switch1" DstPort 2 } } Line { SrcBlock "Constant1" SrcPort 1 Points [15, 0; 0, 65] Branch { DstBlock "Switch" DstPort 1 } Branch { Points [0, 75] DstBlock "Switch1" DstPort 1 } } Line { SrcBlock "Switch" SrcPort 1 DstBlock "ball left1" DstPort 1 } Line { SrcBlock "ball left" SrcPort 1 DstBlock "Switch" DstPort 3 } Line { SrcBlock "retract_ball" SrcPort 1 DstBlock "Unit Delay" DstPort 1 } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "ball right1" DstPort 1 } Line { SrcBlock "ball right" SrcPort 1 DstBlock "Switch1" DstPort 3 } } } Block { BlockType Outport Name "CPB" Position [860, 188, 890, 202] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball left" Position [1220, 298, 1250, 312] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball right" Position [1220, 403, 1250, 417] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Ball handling position control" SrcPort 1 DstBlock "CPB" DstPort 1 } Line { SrcBlock "additional effort" SrcPort 1 DstBlock "Ball handling position control" DstPort 4 } Line { SrcBlock "tunable params ball" SrcPort 1 Points [10, 0] Branch { DstBlock "Selector" DstPort 1 } Branch { Points [0, 40] DstBlock "Selector1" DstPort 1 } } Line { SrcBlock "Ball handling position control" SrcPort 2 DstBlock "Ball handling velocity control" DstPort 1 } Line { SrcBlock "Ball handling position control" SrcPort 3 DstBlock "Ball handling velocity control" DstPort 2 } Line { SrcBlock "q" SrcPort 1 DstBlock "Ball handling velocity control" DstPort 3 } Line { SrcBlock "tacho left" SrcPort 1 DstBlock "Ball handling velocity control" DstPort 4 } Line { SrcBlock "tacho right" SrcPort 1 DstBlock "Ball handling velocity control" DstPort 5 } Line { SrcBlock "arm right" SrcPort 1 DstBlock "Ball handling position control" DstPort 2 } Line { SrcBlock "arm left" SrcPort 1 DstBlock "Ball handling position control" DstPort 1 } Line { SrcBlock "Selector1" SrcPort 1 Points [10, 0; 0, 170] DstBlock "Ball handling velocity control" DstPort 6 } Line { SrcBlock "Selector" SrcPort 1 DstBlock "Ball handling position control" DstPort 3 } Line { SrcBlock "retract_ball_for_kick" SrcPort 1 DstBlock "ball left" DstPort 1 } Line { SrcBlock "retract_ball_for_kick" SrcPort 2 DstBlock "ball right" DstPort 1 } Line { SrcBlock "retract_ball" SrcPort 1 DstBlock "retract_ball_for_kick" DstPort 2 } Line { SrcBlock "Ball handling velocity control" SrcPort 1 DstBlock "retract_ball_for_kick" DstPort 1 } Line { SrcBlock "Ball handling velocity control" SrcPort 2 DstBlock "retract_ball_for_kick" DstPort 3 } Annotation { Name "Tunable parameters ball handling:\n\n- FB reference left: 0 means near robot, 10 means far away from robot\n- FB refence right: 0 means near robot, 10 means far away from robot\n- FB p-action of position controller during catching\n- FB p-action of position controller during driving\n- FF velocity gain for positive y-direction\n- FF velocity gain for negative y-direction\n- FF velocity offset" Position [57, 147] HorizontalAlignment "left" } } } Block { BlockType From Name "From1" Position [520, 526, 635, 544] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "demo_roles" TagVisibility "global" } Block { BlockType From Name "From2" Position [520, 556, 635, 574] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "team_color" TagVisibility "global" } Block { BlockType From Name "From5" Position [520, 586, 635, 604] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "current_role" TagVisibility "global" } Block { BlockType Goto Name "Goto1" Position [100, 491, 215, 509] BackgroundColor "green" ShowName off GotoTag "robotActive" TagVisibility "global" } Block { BlockType Goto Name "Goto2" Position [100, 471, 215, 489] BackgroundColor "green" ShowName off GotoTag "batteryVoltage" TagVisibility "global" } Block { BlockType Goto Name "Goto4" Position [1265, 166, 1380, 184] BackgroundColor "green" ShowName off GotoTag "CPBrobot" TagVisibility "global" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [695, 41, 700, 79] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux1" Ports [3, 1] Position [695, 519, 700, 611] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [255, 352, 280, 378] ShowName off InputPortWidth "6" IndexOptions "Index vector (dialog)" Indices "[1 2 3 4]" OutputSizes "1" } Block { BlockType SubSystem Name "Smoetsiefeier with tracing+waypointplanner" Ports [12, 3] Position [835, 97, 1000, 408] BackgroundColor "[0.649000, 0.485906, 0.183018]" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Smoetsiefeier with tracing+waypointplanner" Location [5, 77, 1675, 1020] 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 "pose_xyo_global" Position [60, 38, 90, 52] IconDisplay "Port number" } Block { BlockType Inport Name "target_xyo_global" Position [60, 108, 90, 122] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "obstacles_xyr_global" Position [60, 118, 90, 132] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "motion offset" Position [70, 623, 100, 637] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "not used" Position [65, 313, 95, 327] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "desired velocity" Position [60, 158, 90, 172] Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "not used2" Position [60, 343, 90, 357] Port "7" IconDisplay "Port number" } Block { BlockType Inport Name "skillID" Position [60, 198, 90, 212] Port "8" IconDisplay "Port number" } Block { BlockType Inport Name "control enable" Position [60, 238, 90, 252] Port "9" IconDisplay "Port number" } Block { BlockType Inport Name "tunable parameters" Position [60, 278, 90, 292] Port "10" IconDisplay "Port number" } Block { BlockType Inport Name "not used3" Position [65, 388, 95, 402] Port "11" IconDisplay "Port number" } Block { BlockType Inport Name "pose_xyo_enc" Position [60, 78, 90, 92] Port "12" IconDisplay "Port number" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [120, 231, 170, 259] ShowName off OutDataTypeMode "int32" OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [120, 191, 170, 219] ShowName off OutDataTypeMode "int32" OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Ground Name "Ground" Position [435, 90, 455, 110] } Block { BlockType Ground Name "Ground1" Position [440, 200, 460, 220] } Block { BlockType Terminator Name "Terminator" Position [130, 310, 150, 330] } Block { BlockType Terminator Name "Terminator1" Position [130, 340, 150, 360] } Block { BlockType Terminator Name "Terminator2" Position [130, 385, 150, 405] } Block { BlockType SubSystem Name "smoetsiefeier" Ports [9, 1] Position [200, 29, 405, 311] BackgroundColor "[0.596000, 0.460072, 0.225288]" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "smoetsiefeier" Location [347, 117, 1479, 960] 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 "pose_xyo_global" Position [370, 173, 400, 187] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "pose_xyo_enc" Position [650, 308, 680, 322] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "target_xyo_global" Position [305, 658, 335, 672] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "obstacles_xyr_global" Position [365, 253, 395, 267] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "motion offset" Position [300, 708, 330, 722] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "desired velocity" Position [655, 608, 685, 622] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "skillID" Position [655, 533, 685, 547] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "control enable" Position [650, 383, 680, 397] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable parameters" Position [655, 458, 685, 472] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Memory Name "Memory" Position [420, 125, 450, 155] ShowName off } Block { BlockType ToWorkspace Name "To Workspace1" Position [1045, 435, 1105, 465] VariableName "refxyo" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Structure" } Block { BlockType ToWorkspace Name "To Workspace2" Position [665, 790, 725, 820] VariableName "targetxyo" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Structure" } Block { BlockType SubSystem Name "global to encoders" Ports [2, 1] Position [430, 640, 590, 740] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "global to encoders" Location [82, 737, 642, 959] 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 "105" Block { BlockType Inport Name "global xyo" Position [305, 33, 335, 47] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "offset encoders to pose" Position [230, 83, 260, 97] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add3" Ports [2, 1] Position [370, 25, 395, 85] ShowName off Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [545, 51, 550, 144] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "R_(F,R)1" Ports [2, 1] Position [470, 35, 525, 110] NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "R_(F,R)1" Location [652, 778, 1037, 981] 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 "[x_w y_w]" Position [25, 58, 55, 72] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 108, 55, 122] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 25, 85, 100] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 31, 305, 129] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem3" Ports [3, 2] Position [165, 30, 230, 130] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem3" Location [1047, 643, 1619, 1087] 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 "x_W" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_W" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [245, 27, 275, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [245, 77, 275, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [245, 127, 275, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [245, 177, 275, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [290, 60, 310, 80] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [290, 160, 310, 180] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [165, 270, 195, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [165, 210, 195, 240] Operator "cos" } Block { BlockType Outport Name "x_R" Position [335, 63, 365, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_R" Position [335, 163, 365, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "theta" SrcPort 1 Points [70, 0] Branch { Points [0, 60] DstBlock "Trigonometric\nFunction" DstPort 1 } Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } } Line { SrcBlock "x_W" SrcPort 1 Points [0, 0; 60, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { Points [0, -150] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product3" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } Branch { DstBlock "Product2" DstPort 2 } } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_W" SrcPort 1 Points [115, 0] Branch { DstBlock "Product1" DstPort 1 } Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_R" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_R" DstPort 1 } } } Block { BlockType Outport Name "[x_R y_R]_out" Position [330, 73, 360, 87] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "[x_R y_R]_out" DstPort 1 } Line { SrcBlock "[x_w y_w]" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Subsystem3" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Subsystem3" DstPort 2 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Subsystem3" DstPort 1 } Line { SrcBlock "theta" SrcPort 1 DstBlock "Subsystem3" DstPort 3 } } } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [325, 77, 350, 103] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "3" OutputSizes "1" } Block { BlockType Selector Name "Selector5" Ports [1, 1] Position [420, 42, 445, 68] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1:2]" OutputSizes "1" } Block { BlockType Selector Name "Selector6" Ports [1, 1] Position [420, 107, 445, 133] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "3" OutputSizes "1" } Block { BlockType Outport Name "encoders" Position [595, 93, 625, 107] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Selector5" SrcPort 1 DstBlock "R_(F,R)1" DstPort 1 } Line { SrcBlock "R_(F,R)1" SrcPort 1 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Selector6" SrcPort 1 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Add3" SrcPort 1 Points [0, 0; 5, 0] Branch { DstBlock "Selector6" DstPort 1 } Branch { DstBlock "Selector5" DstPort 1 } } Line { SrcBlock "Selector1" SrcPort 1 DstBlock "R_(F,R)1" DstPort 2 } Line { SrcBlock "global xyo" SrcPort 1 Points [0, 0] DstBlock "Add3" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "encoders" DstPort 1 } Line { SrcBlock "offset encoders to pose" SrcPort 1 Points [15, 0] Branch { DstBlock "Selector1" DstPort 1 } Branch { Points [0, -20] DstBlock "Add3" DstPort 2 } } } } Block { BlockType SubSystem Name "trajectoryplanner xyo" Ports [9, 2] Position [730, 126, 970, 804] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "trajectoryplanner xyo" Location [443, 211, 1675, 868] 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 "waypoints" Position [365, 143, 395, 157] IconDisplay "Port number" } Block { BlockType Inport Name "nwaypoints" Position [375, 218, 405, 232] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "pose_xyo" Position [450, 368, 480, 382] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "control \nenable" Position [520, 418, 550, 432] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "tunable parameters" Position [300, 293, 330, 307] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "skillID" Position [220, 258, 250, 272] Port "6" IconDisplay "Port number" } Block { BlockType Inport Name "desired velocity" Position [300, 328, 330, 342] Port "7" IconDisplay "Port number" } Block { BlockType Inport Name "target_xyo" Position [745, 483, 775, 497] Port "8" IconDisplay "Port number" } Block { BlockType Inport Name "motionoffset" Position [290, 168, 320, 182] Port "9" IconDisplay "Port number" } Block { BlockType Goto Name "Goto4" Position [950, 601, 1065, 619] BackgroundColor "green" ShowName off GotoTag "setpoint" TagVisibility "global" } Block { BlockType Terminator Name "Terminator1" Position [725, 295, 745, 315] ShowName off } Block { BlockType "S-Function" Name "encoders2global" Ports [2, 1] Position [745, 572, 875, 648] FunctionName "encoders2global" } Block { BlockType "S-Function" Name "global2encoders" Ports [3, 1] Position [425, 137, 555, 213] FunctionName "global2encoders" } Block { BlockType "S-Function" Name "phi trajectoryplanner" Ports [6, 1] Position [815, 70, 960, 535] FunctionName "trajectorygenerator_phi" } Block { BlockType SubSystem Name "trajectory constraints" Ports [3, 2] Position [385, 248, 560, 352] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "trajectory constraints" Location [557, 600, 1055, 900] 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 "skillID" Position [115, 188, 145, 202] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable parameters" Position [110, 103, 140, 117] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "desired velocity" Position [115, 148, 145, 162] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant" Position [270, 95, 300, 125] Value "1.5" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant1" Position [270, 145, 300, 175] Value "3" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Terminator Name "Terminator1" Position [185, 100, 205, 120] ShowName off } Block { BlockType Terminator Name "Terminator2" Position [185, 145, 205, 165] ShowName off } Block { BlockType Terminator Name "Terminator3" Position [185, 185, 205, 205] ShowName off } Block { BlockType Outport Name "vmax" Position [360, 103, 390, 117] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "amax" Position [360, 153, 390, 167] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Constant1" SrcPort 1 DstBlock "amax" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "vmax" DstPort 1 } Line { SrcBlock "skillID" SrcPort 1 DstBlock "Terminator3" DstPort 1 } Line { SrcBlock "desired velocity" SrcPort 1 DstBlock "Terminator2" DstPort 1 } Line { SrcBlock "tunable parameters" SrcPort 1 DstBlock "Terminator1" DstPort 1 } } } Block { BlockType "S-Function" Name "xy trajectoryplanner" Ports [6, 5] Position [580, 147, 705, 453] FunctionName "trajectorygenerator" } Block { BlockType Outport Name "waypoint \nreached" Position [725, 353, 755, 367] IconDisplay "Port number" } Block { BlockType Outport Name "ref_xyo" Position [980, 298, 1010, 312] Port "2" IconDisplay "Port number" } Line { SrcBlock "target_xyo" SrcPort 1 DstBlock "phi trajectoryplanner" DstPort 6 } Line { SrcBlock "trajectory constraints" SrcPort 2 DstBlock "xy trajectoryplanner" DstPort 4 } Line { SrcBlock "desired velocity" SrcPort 1 DstBlock "trajectory constraints" DstPort 3 } Line { SrcBlock "xy trajectoryplanner" SrcPort 1 Points [0, 10] DstBlock "phi trajectoryplanner" DstPort 2 } Line { SrcBlock "skillID" SrcPort 1 Points [15, 0] Branch { DstBlock "trajectory constraints" DstPort 1 } Branch { Points [0, -150] DstBlock "phi trajectoryplanner" DstPort 1 } } Line { SrcBlock "tunable parameters" SrcPort 1 DstBlock "trajectory constraints" DstPort 2 } Line { SrcBlock "xy trajectoryplanner" SrcPort 4 DstBlock "waypoint \nreached" DstPort 1 } Line { SrcBlock "pose_xyo" SrcPort 1 Points [15, 0] Branch { Points [0, 100; 300, 0] DstBlock "phi trajectoryplanner" DstPort 5 } Branch { DstBlock "xy trajectoryplanner" DstPort 5 } } Line { SrcBlock "trajectory constraints" SrcPort 1 DstBlock "xy trajectoryplanner" DstPort 3 } Line { SrcBlock "nwaypoints" SrcPort 1 Points [10, 0] Branch { DstBlock "xy trajectoryplanner" DstPort 2 } Branch { Points [0, -25] DstBlock "global2encoders" DstPort 3 } } Line { SrcBlock "control \nenable" SrcPort 1 Points [5, 0] Branch { DstBlock "xy trajectoryplanner" DstPort 6 } Branch { Labels [2, 0] Points [0, 45; 225, 0; 0, -130] DstBlock "phi trajectoryplanner" DstPort 4 } } Line { SrcBlock "phi trajectoryplanner" SrcPort 1 DstBlock "ref_xyo" DstPort 1 } Line { SrcBlock "xy trajectoryplanner" SrcPort 3 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "xy trajectoryplanner" SrcPort 2 Points [0, 25] DstBlock "phi trajectoryplanner" DstPort 3 } Line { SrcBlock "global2encoders" SrcPort 1 DstBlock "xy trajectoryplanner" DstPort 1 } Line { SrcBlock "waypoints" SrcPort 1 DstBlock "global2encoders" DstPort 1 } Line { SrcBlock "motionoffset" SrcPort 1 Points [15, 0] Branch { DstBlock "global2encoders" DstPort 2 } Branch { Points [0, 455] DstBlock "encoders2global" DstPort 2 } } Line { SrcBlock "xy trajectoryplanner" SrcPort 5 Points [20, 0] DstBlock "encoders2global" DstPort 1 } Line { SrcBlock "encoders2global" SrcPort 1 DstBlock "Goto4" DstPort 1 } } } Block { BlockType SubSystem Name "waypointplanner" Ports [4, 2] Position [490, 123, 695, 277] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "waypointplanner" Location [176, 113, 1264, 641] 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 "waypoint reached" Position [400, 313, 430, 327] IconDisplay "Port number" } Block { BlockType Inport Name "ref_xyo" Position [25, 98, 55, 112] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "target_xyo" Position [190, 123, 220, 137] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "obstacles_xyr" Position [65, 178, 95, 192] Port "4" IconDisplay "Port number" } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [480, 303, 550, 337] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [320, 138, 390, 172] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Goto Name "Goto3" Position [840, 116, 955, 134] BackgroundColor "green" ShowName off GotoTag "waypoints_xy" TagVisibility "global" } Block { BlockType Goto Name "Goto5" Position [835, 196, 950, 214] BackgroundColor "green" ShowName off GotoTag "wppathlength" TagVisibility "global" } Block { BlockType Mux Name "Mux3" Ports [2, 1] Position [415, 117, 420, 168] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType "S-Function" Name "S-Function" Ports [7, 4] Position [595, 82, 740, 398] FunctionName "waypointplanner" } Block { BlockType Terminator Name "Terminator" Position [780, 355, 800, 375] ShowName off } Block { BlockType Constant Name "hysteresis\npercentage check" Position [340, 210, 370, 240] Value ".1" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "obstacle\nradius" Position [425, 250, 455, 280] OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Display Name "path found" Ports [1] Position [855, 270, 945, 300] Decimation "1" Lockdown off } Block { BlockType Selector Name "path_xy" Ports [1, 1] Position [780, 106, 820, 144] InputPortWidth "150" IndexOptions "Index vector (dialog)" Indices "[1,2,4,5,7,8,10,11,13,14,16,17,19,20,22,23]" OutputSizes "1" } Block { BlockType Selector Name "pos" Ports [1, 1] Position [90, 86, 130, 124] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1:2]" OutputSizes "1" } Block { BlockType Selector Name "pos1" Ports [1, 1] Position [130, 166, 170, 204] InputPortWidth "3*50" IndexOptions "Index vector (dialog)" Indices "[1:30]" OutputSizes "1" } Block { BlockType Constant Name "target\nvelocity" Position [265, 140, 295, 170] Value "0" OutDataTypeMode "int32" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "targetisball" Position [315, 335, 345, 365] OutDataTypeMode "int32" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "waypoints" Position [795, 38, 825, 52] IconDisplay "Port number" } Block { BlockType Outport Name "nwaypoints" Position [790, 168, 820, 182] Port "2" IconDisplay "Port number" } Line { SrcBlock "hysteresis\npercentage check" SrcPort 1 Points [205, 0] DstBlock "S-Function" DstPort 4 } Line { SrcBlock "S-Function" SrcPort 3 Points [0, 5] DstBlock "path found" DstPort 1 } Line { SrcBlock "pos" SrcPort 1 DstBlock "S-Function" DstPort 1 } Line { SrcBlock "S-Function" SrcPort 2 Points [0, 5; 10, 0] Branch { DstBlock "Goto5" DstPort 1 } Branch { Points [0, -30] DstBlock "nwaypoints" DstPort 1 } } Line { SrcBlock "S-Function" SrcPort 1 Points [0, 5; 10, 0] Branch { DstBlock "path_xy" DstPort 1 } Branch { Points [0, -80] DstBlock "waypoints" DstPort 1 } } Line { SrcBlock "waypoint reached" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "obstacle\nradius" SrcPort 1 Points [120, 0] DstBlock "S-Function" DstPort 5 } Line { SrcBlock "S-Function" SrcPort 4 Points [0, 5] DstBlock "Terminator" DstPort 1 } Line { SrcBlock "Mux3" SrcPort 1 Points [155, 0] DstBlock "S-Function" DstPort 2 } Line { SrcBlock "target\nvelocity" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 DstBlock "Mux3" DstPort 2 } Line { SrcBlock "pos1" SrcPort 1 Points [405, 0] DstBlock "S-Function" DstPort 3 } Line { SrcBlock "ref_xyo" SrcPort 1 DstBlock "pos" DstPort 1 } Line { SrcBlock "target_xyo" SrcPort 1 DstBlock "Mux3" DstPort 1 } Line { SrcBlock "obstacles_xyr" SrcPort 1 DstBlock "pos1" DstPort 1 } Line { SrcBlock "path_xy" SrcPort 1 DstBlock "Goto3" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 Points [10, 0; 0, 10] DstBlock "S-Function" DstPort 6 } Line { SrcBlock "targetisball" SrcPort 1 Points [115, 0; 0, 25] DstBlock "S-Function" DstPort 7 } } } Block { BlockType Outport Name "ref_xyo" Position [1015, 628, 1045, 642] IconDisplay "Port number" } Line { SrcBlock "Memory" SrcPort 1 DstBlock "waypointplanner" DstPort 1 } Line { SrcBlock "desired velocity" SrcPort 1 DstBlock "trajectoryplanner xyo" DstPort 7 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "trajectoryplanner xyo" DstPort 4 } Line { SrcBlock "tunable parameters" SrcPort 1 DstBlock "trajectoryplanner xyo" DstPort 5 } Line { SrcBlock "skillID" SrcPort 1 DstBlock "trajectoryplanner xyo" DstPort 6 } Line { SrcBlock "trajectoryplanner xyo" SrcPort 1 Points [5, 0; 0, -190; -580, 0; 0, 35] DstBlock "Memory" DstPort 1 } Line { SrcBlock "waypointplanner" SrcPort 2 DstBlock "trajectoryplanner xyo" DstPort 2 } Line { SrcBlock "waypointplanner" SrcPort 1 DstBlock "trajectoryplanner xyo" DstPort 1 } Line { SrcBlock "trajectoryplanner xyo" SrcPort 2 Points [5, 0] Branch { DstBlock "ref_xyo" DstPort 1 } Branch { Points [0, -185] DstBlock "To Workspace1" DstPort 1 } } Line { SrcBlock "obstacles_xyr_global" SrcPort 1 DstBlock "waypointplanner" DstPort 4 } Line { SrcBlock "target_xyo_global" SrcPort 1 Points [50, 0] Branch { DstBlock "global to encoders" DstPort 1 } Branch { Points [0, -445] DstBlock "waypointplanner" DstPort 3 } } Line { SrcBlock "global to encoders" SrcPort 1 Points [25, 0] Branch { DstBlock "trajectoryplanner xyo" DstPort 8 } Branch { Points [0, 115] DstBlock "To Workspace2" DstPort 1 } } Line { SrcBlock "motion offset" SrcPort 1 Points [55, 0] Branch { DstBlock "global to encoders" DstPort 2 } Branch { Points [0, 50] DstBlock "trajectoryplanner xyo" DstPort 9 } } Line { SrcBlock "pose_xyo_enc" SrcPort 1 DstBlock "trajectoryplanner xyo" DstPort 3 } Line { SrcBlock "pose_xyo_global" SrcPort 1 DstBlock "waypointplanner" DstPort 2 } } } Block { BlockType Outport Name "notused2" Position [485, 93, 515, 107] IconDisplay "Port number" } Block { BlockType Outport Name "ref_xyo" Position [485, 158, 515, 172] Port "2" IconDisplay "Port number" } Block { BlockType Outport Name "not used1" Position [490, 203, 520, 217] Port "3" IconDisplay "Port number" } Line { SrcBlock "Data Type Conversion1" SrcPort 1 Points [10, 0] DstBlock "smoetsiefeier" DstPort 7 } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [10, 0] DstBlock "smoetsiefeier" DstPort 8 } Line { SrcBlock "Ground1" SrcPort 1 DstBlock "not used1" DstPort 1 } Line { SrcBlock "Ground" SrcPort 1 DstBlock "notused2" DstPort 1 } Line { SrcBlock "not used3" SrcPort 1 DstBlock "Terminator2" DstPort 1 } Line { SrcBlock "not used2" SrcPort 1 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "not used" SrcPort 1 DstBlock "Terminator" DstPort 1 } Line { SrcBlock "tunable parameters" SrcPort 1 Points [90, 0] DstBlock "smoetsiefeier" DstPort 9 } Line { SrcBlock "control enable" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "skillID" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "smoetsiefeier" SrcPort 1 Points [0, -5] DstBlock "ref_xyo" DstPort 1 } Line { SrcBlock "desired velocity" SrcPort 1 Points [90, 0] DstBlock "smoetsiefeier" DstPort 6 } Line { SrcBlock "obstacles_xyr_global" SrcPort 1 Points [90, 0] DstBlock "smoetsiefeier" DstPort 4 } Line { SrcBlock "target_xyo_global" SrcPort 1 Points [60, 0] DstBlock "smoetsiefeier" DstPort 3 } Line { SrcBlock "pose_xyo_global" SrcPort 1 Points [90, 0] DstBlock "smoetsiefeier" DstPort 1 } Line { SrcBlock "motion offset" SrcPort 1 Points [75, 0; 0, -460] DstBlock "smoetsiefeier" DstPort 5 } Line { SrcBlock "pose_xyo_enc" SrcPort 1 Points [90, 0] DstBlock "smoetsiefeier" DstPort 2 } } } Block { BlockType SubSystem Name "Subsystem" Ports [1, 1] Position [825, 411, 920, 479] ForegroundColor "red" BackgroundColor "black" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskDisplay "text(0.1,0.5,'KEEPER BLOCK')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" System { Name "Subsystem" Location [5, 77, 1019, 738] 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 "Skill ID" Position [470, 388, 500, 402] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [775, 359, 780, 431] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType "S-Function" Name "S-Function" Ports [1, 3] Position [670, 356, 735, 434] ForegroundColor "orange" BackgroundColor "black" FunctionName "stop_ball" } Block { BlockType UnitDelay Name "Unit Delay" Position [570, 378, 605, 412] SampleTime "-1" } Block { BlockType Outport Name "IO Keeper Block" Position [810, 388, 840, 402] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Skill ID" SrcPort 1 DstBlock "Unit Delay" DstPort 1 } Line { SrcBlock "S-Function" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { SrcBlock "S-Function" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "IO Keeper Block" DstPort 1 } Line { SrcBlock "S-Function" SrcPort 3 DstBlock "Mux" DstPort 3 } Line { SrcBlock "Unit Delay" SrcPort 1 DstBlock "S-Function" DstPort 1 } } } Block { BlockType SubSystem Name "global to local" Ports [3, 2] Position [695, 115, 805, 205] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "global to local" Location [343, 300, 979, 685] 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 "motion_offset" Position [140, 248, 170, 262] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "target xyo global" Position [140, 198, 170, 212] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "subtarget xy global" Position [140, 78, 170, 92] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "subtarget vision to subtarget encoders" Ports [2, 1] Position [230, 62, 410, 153] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "subtarget vision to subtarget encoders" Location [955, 476, 1368, 684] 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 "subtarget xy vision" Position [70, 38, 100, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "offset encoders to pose" Position [70, 82, 105, 98] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add2" Ports [2, 1] Position [165, 30, 190, 90] ShowName off Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux2" Ports [1, 2] Position [145, 59, 150, 121] BackgroundColor "black" ShowName off Outputs "[2 1]" DisplayOption "bar" } Block { BlockType SubSystem Name "R_(F,R)" Ports [2, 1] Position [205, 37, 265, 128] NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "R_(F,R)" Location [590, 658, 975, 861] 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 "[x_w y_w]" Position [25, 58, 55, 72] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 108, 55, 122] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 25, 85, 100] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 31, 305, 129] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem3" Ports [3, 2] Position [165, 30, 230, 130] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem3" Location [5, 77, 1398, 1020] 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 "x_W" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_W" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [245, 27, 275, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [245, 77, 275, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [245, 127, 275, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [245, 177, 275, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [290, 60, 310, 80] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [290, 160, 310, 180] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [165, 270, 195, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [165, 210, 195, 240] Operator "cos" } Block { BlockType Outport Name "x_R" Position [335, 63, 365, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_R" Position [335, 163, 365, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_R" DstPort 1 } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_R" DstPort 1 } Line { SrcBlock "y_W" SrcPort 1 Points [115, 0] Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } Branch { DstBlock "Product1" DstPort 1 } } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { DstBlock "Product2" DstPort 2 } Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { DstBlock "Product3" DstPort 2 } Branch { Points [0, -150] DstBlock "Product" DstPort 2 } } Line { SrcBlock "x_W" SrcPort 1 Points [0, 0; 60, 0] Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } Branch { DstBlock "Product" DstPort 1 } } Line { SrcBlock "theta" SrcPort 1 Points [70, 0] Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } Branch { Points [0, 60] DstBlock "Trigonometric\nFunction" DstPort 1 } } } } Block { BlockType Outport Name "[x_R y_R]_out" Position [330, 73, 360, 87] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "theta" SrcPort 1 DstBlock "Subsystem3" DstPort 3 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Subsystem3" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Subsystem3" DstPort 2 } Line { SrcBlock "Subsystem3" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { SrcBlock "[x_w y_w]" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "[x_R y_R]_out" DstPort 1 } } } Block { BlockType Outport Name "subtarget_encoders" Position [305, 78, 340, 92] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Add2" SrcPort 1 Points [0, 0] DstBlock "R_(F,R)" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 1 DstBlock "Add2" DstPort 2 } Line { SrcBlock "subtarget xy vision" SrcPort 1 DstBlock "Add2" DstPort 1 } Line { SrcBlock "offset encoders to pose" SrcPort 1 Points [0, 0] DstBlock "Demux2" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 2 DstBlock "R_(F,R)" DstPort 2 } Line { SrcBlock "R_(F,R)" SrcPort 1 Points [0, 0] DstBlock "subtarget_encoders" DstPort 1 } } } Block { BlockType SubSystem Name "target vision to target encoders" Ports [2, 1] Position [230, 182, 410, 278] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "target vision to target encoders" Location [341, 401, 1017, 623] 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 "target xyo vision" Position [305, 33, 335, 47] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "offset encoders to pose" Position [230, 83, 260, 97] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add3" Ports [2, 1] Position [370, 25, 395, 85] ShowName off Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [545, 51, 550, 144] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "R_(F,R)1" Ports [2, 1] Position [470, 35, 525, 110] NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "R_(F,R)1" Location [590, 567, 975, 770] 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 "[x_w y_w]" Position [25, 58, 55, 72] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 108, 55, 122] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 25, 85, 100] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 31, 305, 129] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem3" Ports [3, 2] Position [165, 30, 230, 130] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem3" Location [5, 77, 1275, 770] 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 "x_W" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_W" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [245, 27, 275, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [245, 77, 275, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [245, 127, 275, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [245, 177, 275, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [290, 60, 310, 80] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [290, 160, 310, 180] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [165, 270, 195, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [165, 210, 195, 240] Operator "cos" } Block { BlockType Outport Name "x_R" Position [335, 63, 365, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_R" Position [335, 163, 365, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "theta" SrcPort 1 Points [70, 0] Branch { Points [0, 60] DstBlock "Trigonometric\nFunction" DstPort 1 } Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } } Line { SrcBlock "x_W" SrcPort 1 Points [0, 0; 60, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { Points [0, -150] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product3" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } Branch { DstBlock "Product2" DstPort 2 } } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_W" SrcPort 1 Points [115, 0] Branch { DstBlock "Product1" DstPort 1 } Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_R" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_R" DstPort 1 } } } Block { BlockType Outport Name "[x_R y_R]_out" Position [330, 73, 360, 87] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "[x_R y_R]_out" DstPort 1 } Line { SrcBlock "[x_w y_w]" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Subsystem3" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Subsystem3" DstPort 2 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Subsystem3" DstPort 1 } Line { SrcBlock "theta" SrcPort 1 DstBlock "Subsystem3" DstPort 3 } } } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [325, 77, 350, 103] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "3" OutputSizes "1" } Block { BlockType Selector Name "Selector5" Ports [1, 1] Position [420, 42, 445, 68] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1:2]" OutputSizes "1" } Block { BlockType Selector Name "Selector6" Ports [1, 1] Position [420, 107, 445, 133] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "3" OutputSizes "1" } Block { BlockType Outport Name "target encoders" Position [595, 93, 625, 107] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Selector5" SrcPort 1 DstBlock "R_(F,R)1" DstPort 1 } Line { SrcBlock "R_(F,R)1" SrcPort 1 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Selector6" SrcPort 1 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Add3" SrcPort 1 Points [0, 0; 5, 0] Branch { DstBlock "Selector6" DstPort 1 } Branch { DstBlock "Selector5" DstPort 1 } } Line { SrcBlock "Selector1" SrcPort 1 DstBlock "R_(F,R)1" DstPort 2 } Line { SrcBlock "target xyo vision" SrcPort 1 Points [0, 0] DstBlock "Add3" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "target encoders" DstPort 1 } Line { SrcBlock "offset encoders to pose" SrcPort 1 Points [15, 0] Branch { DstBlock "Selector1" DstPort 1 } Branch { Points [0, -20] DstBlock "Add3" DstPort 2 } } } } Block { BlockType Outport Name "target xyo local" Position [445, 223, 475, 237] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "subtarget xy local" Position [445, 103, 475, 117] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "target xyo global" SrcPort 1 DstBlock "target vision to target encoders" DstPort 1 } Line { SrcBlock "subtarget xy global" SrcPort 1 DstBlock "subtarget vision to subtarget encoders" DstPort 1 } Line { SrcBlock "subtarget vision to subtarget encoders" SrcPort 1 DstBlock "subtarget xy local" DstPort 1 } Line { SrcBlock "target vision to target encoders" SrcPort 1 DstBlock "target xyo local" DstPort 1 } Line { SrcBlock "motion_offset" SrcPort 1 Points [25, 0] Branch { DstBlock "target vision to target encoders" DstPort 2 } Branch { Points [0, -125] DstBlock "subtarget vision to subtarget encoders" DstPort 2 } } } } Block { BlockType SubSystem Name "handlers" Ports [7, 9] Position [500, 144, 650, 386] BackgroundColor "gray" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "handlers" Location [5, 77, 1275, 770] 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 "cur_xyo" Position [250, 173, 280, 187] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball_xy/xydot" Position [250, 348, 280, 362] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball_found" Position [250, 373, 280, 387] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "obstacles_xyr\nvision" Position [250, 398, 280, 412] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball_xyvxvy_est" Position [175, 548, 205, 562] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "opp_xyr_wm" Position [175, 573, 205, 587] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "cur_xydot" Position [250, 448, 280, 462] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType From Name "From1" Position [170, 246, 285, 264] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "refbox_task_trigger" TagVisibility "global" } Block { BlockType From Name "From10" Position [60, 471, 175, 489] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "va_max" } Block { BlockType From Name "From11" Position [170, 521, 285, 539] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "WM_active_robots" TagVisibility "global" } Block { BlockType From Name "From12" Position [170, 496, 285, 514] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "WM_robot_pos" TagVisibility "global" } Block { BlockType From Name "From2" Position [170, 321, 285, 339] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "destination" TagVisibility "global" } Block { BlockType From Name "From3" Position [170, 196, 285, 214] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "turtle_ID" TagVisibility "global" } Block { BlockType From Name "From39" Position [170, 221, 285, 239] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "refbox_task" TagVisibility "global" } Block { BlockType From Name "From4" Position [665, 446, 780, 464] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "refbox_task" TagVisibility "global" } Block { BlockType From Name "From5" Position [60, 421, 175, 439] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "CPBrobot" TagVisibility "global" } Block { BlockType From Name "From6" Position [170, 271, 285, 289] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "role_IDs" TagVisibility "global" } Block { BlockType From Name "From7" Position [170, 296, 285, 314] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "refbox_role_IDs" TagVisibility "global" } Block { BlockType From Name "From8" Position [475, 106, 590, 124] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "batteryVoltage" TagVisibility "global" } Block { BlockType From Name "From9" Position [475, 141, 590, 159] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "robotActive" TagVisibility "global" } Block { BlockType Goto Name "Goto1" Position [985, 301, 1100, 319] BackgroundColor "green" ShowName off GotoTag "subtarget_xy_global" TagVisibility "global" } Block { BlockType Goto Name "Goto2" Position [815, 211, 930, 229] BackgroundColor "green" ShowName off GotoTag "target_xyo_global" TagVisibility "global" } Block { BlockType Goto Name "Goto3" Position [480, 361, 595, 379] BackgroundColor "green" ShowName off GotoTag "skill_Id" TagVisibility "global" } Block { BlockType Goto Name "Goto4" Position [480, 316, 595, 334] BackgroundColor "green" ShowName off GotoTag "obstacles_xyr_strategy" TagVisibility "global" } Block { BlockType Goto Name "Goto5" Position [810, 156, 925, 174] BackgroundColor "green" ShowName off GotoTag "emergencyStatus" TagVisibility "global" } Block { BlockType Goto Name "Goto6" Position [310, 666, 425, 684] BackgroundColor "green" ShowName off GotoTag "WMLTuneParam" TagVisibility "global" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [225, 665, 280, 685] ShowName off InputPortWidth "100" IndexOptions "Index vector (dialog)" Indices "WMLTuneparams" OutputSizes "1" } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [225, 595, 280, 615] ShowName off InputPortWidth "100" IndexOptions "Index vector (dialog)" Indices "1:50" OutputSizes "1" } Block { BlockType Selector Name "Selector3" Ports [1, 1] Position [225, 630, 280, 650] ShowName off InputPortWidth "100" IndexOptions "Index vector (dialog)" Indices "PPTuneparams" OutputSizes "1" } Block { BlockType "S-Function" Name "Strategy tuning" Ports [0, 1] Position [80, 588, 170, 622] BackgroundColor "blue" FunctionName "sf_tuning_server_strategy" Parameters "char(Names_vision), Defaults_vision" } Block { BlockType UnitDelay Name "Unit Delay" Position [200, 463, 225, 497] ShowName off SampleTime "-1" } Block { BlockType UnitDelay Name "Unit Delay1" Position [200, 413, 225, 447] ShowName off SampleTime "-1" } Block { BlockType SubSystem Name "emergency handler" Ports [5, 3] Position [610, 99, 750, 271] BackgroundColor "red" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "emergency handler" Location [1271, 169, 1621, 420] 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 "battery voltage" Position [35, 103, 65, 117] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robot_active" Position [35, 68, 65, 82] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "motion control disable" Position [35, 138, 65, 152] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "cur_xyo" Position [35, 173, 65, 187] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "target_xyo" Position [35, 208, 65, 222] Port "5" IconDisplay "Port number" } Block { BlockType Ground Name "Ground2" Position [40, 30, 60, 50] ShowName off } Block { BlockType "S-Function" Name "emergency handler" Ports [6, 3] Position [110, 28, 255, 227] BackgroundColor "red" FunctionName "emergency_handler" MaskDisplay "port_label('input',1,'tunable parameters')\nport_label('input',2,'robot_active')\nport_label('input',3,'battery voltage')\nport_label('input',4,'motion control disable')\nport_label('input',5,'cur xyo')\nport_label('input',6,'out xyo')\n\n\n\n\nport_label('output',1,'amplifier/control enable')\nport_label('output',2,'out_xyo')\nport_label('output',3,'emergency in progress')\n\n\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Outport Name "control enable" Position [285, 58, 315, 72] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "emergency" Position [285, 188, 315, 202] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "target xyo" Position [285, 123, 315, 137] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Ground2" SrcPort 1 DstBlock "emergency handler" DstPort 1 } Line { SrcBlock "emergency handler" SrcPort 1 DstBlock "control enable" DstPort 1 } Line { SrcBlock "robot_active" SrcPort 1 DstBlock "emergency handler" DstPort 2 } Line { SrcBlock "emergency handler" SrcPort 2 DstBlock "target xyo" DstPort 1 } Line { SrcBlock "emergency handler" SrcPort 3 DstBlock "emergency" DstPort 1 } Line { SrcBlock "battery voltage" SrcPort 1 DstBlock "emergency handler" DstPort 3 } Line { SrcBlock "cur_xyo" SrcPort 1 DstBlock "emergency handler" DstPort 5 } Line { SrcBlock "motion control disable" SrcPort 1 DstBlock "emergency handler" DstPort 4 } Line { SrcBlock "target_xyo" SrcPort 1 DstBlock "emergency handler" DstPort 6 } } } Block { BlockType SubSystem Name "path_planning" Ports [6, 2] Position [810, 268, 945, 467] BackgroundColor "magenta" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "path_planning" Location [89, 126, 1224, 709] 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 "target_xyo" Position [120, 153, 150, 167] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "cur_xyo" Position [120, 118, 150, 132] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "obstacles (global)" Position [120, 178, 150, 192] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "dribble angle offset" Position [120, 223, 150, 237] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "skill ID" Position [120, 278, 150, 292] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox task ID" Position [720, 178, 750, 192] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "S-Function" Ports [2, 1] Position [215, 175, 285, 215] ShowName off FunctionName "global2local" } Block { BlockType "S-Function" Name "S-Function1" Ports [3, 1] Position [560, 160, 670, 330] FunctionName "slowdownsubtarget" } Block { BlockType Saturate Name "Saturation" Position [760, 230, 790, 260] UpperLimit "subtargetsaturation" LowerLimit "-subtargetsaturation" } Block { BlockType Saturate Name "Saturation1" Position [760, 105, 790, 135] UpperLimit "subtargetsaturation_alltasks" LowerLimit "-subtargetsaturation_alltasks" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [215, 150, 245, 170] ShowName off InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "1:2" OutputSizes "1" } Block { BlockType SubSystem Name "Subsystem" Ports [5, 2] Position [305, 111, 455, 279] BackgroundColor "yellow" ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem" Location [443, 364, 1275, 770] 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 "global position" Position [25, 128, 55, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "target_xy" Position [25, 93, 55, 107] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "avoidables plus" Position [310, 163, 340, 177] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "dribble angle offset" Position [310, 263, 340, 277] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "skill_ID" Position [310, 213, 340, 227] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SignalSpecification Name "Signal Specification1" Position [320, 109, 370, 131] Dimensions "[2 1]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "global2local1" Ports [2, 1] Position [130, 84, 240, 151] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "global2local1" Location [410, 156, 835, 398] 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 "global" Position [145, 78, 175, 92] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "global position" Position [40, 38, 70, 52] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [105, 13, 110, 77] BackgroundColor "black" ShowName off Outputs "[2 1]" DisplayOption "bar" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [180, 20, 200, 40] ShowName off IconShape "round" Inputs "|-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "inverse rotation matrix" Ports [2, 1] Position [230, 18, 315, 67] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "inverse rotation matrix" Location [450, 441, 1017, 716] 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 "xy" Position [25, 113, 55, 127] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi" Position [75, 173, 105, 187] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 101, 85, 139] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Gain Name "Gain1" Position [200, 165, 215, 195] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [480, 86, 485, 124] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [380, 42, 410, 73] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [370, 177, 400, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [235, 172, 265, 203] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product4" Ports [2, 1] Position [205, 42, 235, 73] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [430, 50, 450, 70] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [420, 185, 440, 205] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [150, 35, 180, 65] Operator "cos" } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [150, 165, 180, 195] } Block { BlockType Trigonometry Name "Trigonometric\nFunction2" Ports [1, 1] Position [285, 35, 315, 65] } Block { BlockType Trigonometry Name "Trigonometric\nFunction3" Ports [1, 1] Position [310, 170, 340, 200] Operator "cos" } Block { BlockType Outport Name "xy rotated" Position [510, 98, 540, 112] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Gain1" SrcPort 1 DstBlock "Product3" DstPort 1 } Line { SrcBlock "xy" SrcPort 1 Points [0, 0] DstBlock "Demux" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 Points [0, 0] DstBlock "xy rotated" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 Points [0, -80] DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Product3" SrcPort 1 Points [10, 0; 0, 45; 150, 0] DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 Points [10, 0] DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Product4" SrcPort 1 Points [15, 0; 0, -30; 205, 0; 0, 55] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [0, 0; 240, 0] Branch { Points [0, 70] DstBlock "Product1" DstPort 2 } Branch { Points [35, 0] DstBlock "Product" DstPort 2 } } Line { SrcBlock "Demux" SrcPort 1 Points [0, 0; 50, 0] Branch { Points [0, 85] DstBlock "Product3" DstPort 2 } Branch { Points [0, -45] DstBlock "Product4" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction3" SrcPort 1 DstBlock "Product1" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 DstBlock "Product4" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "phi" SrcPort 1 Points [0, 0; 15, 0] Branch { Points [0, -25] Branch { Points [150, 0] Branch { Points [0, -105] DstBlock "Trigonometric\nFunction2" DstPort 1 } Branch { Points [0, 30] DstBlock "Trigonometric\nFunction3" DstPort 1 } } Branch { Points [0, -105] DstBlock "Trigonometric\nFunction" DstPort 1 } } Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction2" SrcPort 1 DstBlock "Product" DstPort 1 } } } Block { BlockType Outport Name "local" Position [350, 38, 380, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "inverse rotation matrix" SrcPort 1 DstBlock "local" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "inverse rotation matrix" DstPort 1 } Line { SrcBlock "global" SrcPort 1 Points [10, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 Points [10, 0; 0, -5] DstBlock "inverse rotation matrix" DstPort 2 } Line { SrcBlock "global position" SrcPort 1 Points [0, 0] DstBlock "Demux1" DstPort 1 } } } Block { BlockType SubSystem Name "local2global1" Ports [2, 1] Position [530, 279, 615, 346] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "local2global1" Location [410, 156, 835, 303] 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 "local" Position [155, 53, 185, 67] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "global position" Position [40, 38, 70, 52] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [105, 13, 110, 77] BackgroundColor "black" ShowName off Outputs "[2 1]" DisplayOption "bar" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [310, 20, 330, 40] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "rotation matrix" Ports [2, 1] Position [215, 48, 300, 97] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "rotation matrix" Location [450, 441, 1019, 716] 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 "xy" Position [25, 113, 55, 127] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "phi" Position [75, 173, 105, 187] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 101, 85, 139] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Gain Name "Gain" Position [330, 35, 360, 65] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [480, 86, 485, 124] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Product Name "Product" Ports [2, 1] Position [380, 42, 410, 73] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [345, 177, 375, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [210, 172, 240, 203] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product4" Ports [2, 1] Position [205, 42, 235, 73] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [430, 50, 450, 70] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [395, 185, 415, 205] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [150, 35, 180, 65] Operator "cos" } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [150, 165, 180, 195] } Block { BlockType Trigonometry Name "Trigonometric\nFunction2" Ports [1, 1] Position [285, 35, 315, 65] } Block { BlockType Trigonometry Name "Trigonometric\nFunction3" Ports [1, 1] Position [285, 170, 315, 200] Operator "cos" } Block { BlockType Outport Name "xy rotated" Position [510, 98, 540, 112] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "xy" SrcPort 1 Points [0, 0] DstBlock "Demux" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 Points [0, 0] DstBlock "xy rotated" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 Points [20, 0; 0, -80] DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Product3" SrcPort 1 Points [10, 0; 0, 45; 150, 0] DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 Points [10, 0] DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Product4" SrcPort 1 Points [15, 0; 0, -30; 205, 0; 0, 55] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [0, 0; 240, 0] Branch { DstBlock "Product1" DstPort 2 } Branch { Points [35, 0] DstBlock "Product" DstPort 2 } } Line { SrcBlock "Demux" SrcPort 1 Points [0, 0; 50, 0] Branch { Points [0, 85] DstBlock "Product3" DstPort 2 } Branch { Points [0, -45] DstBlock "Product4" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction3" SrcPort 1 DstBlock "Product1" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 DstBlock "Product4" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 DstBlock "Product3" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "phi" SrcPort 1 Points [0, 0; 15, 0] Branch { Points [0, -25] Branch { Points [140, 0] Branch { Points [0, -105] DstBlock "Trigonometric\nFunction2" DstPort 1 } Branch { Points [0, 30] DstBlock "Trigonometric\nFunction3" DstPort 1 } } Branch { Points [0, -105] DstBlock "Trigonometric\nFunction" DstPort 1 } } Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction2" SrcPort 1 DstBlock "Gain" DstPort 1 } } } Block { BlockType Outport Name "global" Position [350, 23, 380, 37] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "local" SrcPort 1 Points [0, 0] DstBlock "rotation matrix" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 Points [10, 0; 0, 25] DstBlock "rotation matrix" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "global" DstPort 1 } Line { SrcBlock "rotation matrix" SrcPort 1 Points [15, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "global position" SrcPort 1 Points [0, 0] DstBlock "Demux1" DstPort 1 } } } Block { BlockType "S-Function" Name "subtarget" Ports [5, 2] Position [395, 90, 500, 300] FunctionName "determinesubtarget" Parameters "safetydistance" } Block { BlockType Outport Name "subtarget global x,y" Position [655, 308, 685, 322] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "scrum" Position [580, 243, 610, 257] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "global position" SrcPort 1 Points [0, 0; 30, 0] Branch { Points [0, 195] DstBlock "local2global1" DstPort 2 } Branch { Points [20, 0] Branch { DstBlock "global2local1" DstPort 2 } Branch { Points [0, 140] DstBlock "subtarget" DstPort 5 } } } Line { SrcBlock "local2global1" SrcPort 1 DstBlock "subtarget global x,y" DstPort 1 } Line { SrcBlock "avoidables plus" SrcPort 1 Points [35, 0] DstBlock "subtarget" DstPort 2 } Line { SrcBlock "target_xy" SrcPort 1 DstBlock "global2local1" DstPort 1 } Line { SrcBlock "global2local1" SrcPort 1 DstBlock "Signal Specification1" DstPort 1 } Line { SrcBlock "subtarget" SrcPort 1 Points [10, 0] DstBlock "local2global1" DstPort 1 } Line { SrcBlock "Signal Specification1" SrcPort 1 Points [0, -5] DstBlock "subtarget" DstPort 1 } Line { SrcBlock "skill_ID" SrcPort 1 Points [35, 0] DstBlock "subtarget" DstPort 3 } Line { SrcBlock "dribble angle offset" SrcPort 1 Points [0, -35] DstBlock "subtarget" DstPort 4 } Line { SrcBlock "subtarget" SrcPort 2 DstBlock "scrum" DstPort 1 } } } Block { BlockType Switch Name "Switch" Position [925, 170, 955, 200] Criteria "u2 > Threshold" Threshold ".5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "saturate subtarget logic" Ports [1, 1] Position [795, 164, 900, 206] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "saturate subtarget logic" Location [777, 161, 1275, 433] 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 "taskID" Position [15, 33, 45, 47] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Reference Name "10s delay" Ports [1, 1] Position [220, 108, 255, 142] SourceBlock "simulink/Discrete/Integer Delay" SourceType "Integer Delay" vinit "1" samptime "-1" NumDelays "16*30" } Block { BlockType Reference Name "Compare\nTo Constant" Ports [1, 1] Position [80, 25, 110, 55] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "31" LogicOutDataTypeMode "boolean" ZeroCross "off" } Block { BlockType Reference Name "Compare\nTo Constant1" Ports [1, 1] Position [80, 65, 110, 95] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "33" LogicOutDataTypeMode "boolean" ZeroCross "off" } Block { BlockType Reference Name "Compare\nTo Constant2" Ports [1, 1] Position [80, 105, 110, 135] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "34" LogicOutDataTypeMode "boolean" ZeroCross "off" } Block { BlockType Reference Name "Compare\nTo Constant3" Ports [1, 1] Position [80, 145, 110, 175] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "36" LogicOutDataTypeMode "boolean" ZeroCross "off" } Block { BlockType Logic Name "Logical\nOperator" Ports [4, 1] Position [130, 19, 160, 181] ShowName off Operator "OR" Inputs "4" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Switch Name "Switch1" Position [300, 85, 330, 115] Criteria "u2 > Threshold" Threshold ".5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "saturate subtarget" Position [375, 93, 405, 107] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Switch1" SrcPort 1 DstBlock "saturate subtarget" DstPort 1 } Line { SrcBlock "10s delay" SrcPort 1 Points [25, 0] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Logical\nOperator" SrcPort 1 Points [20, 0] Branch { Points [0, -10] DstBlock "Switch1" DstPort 1 } Branch { Points [0, 25] DstBlock "10s delay" DstPort 1 } Branch { DstBlock "Switch1" DstPort 2 } } Line { SrcBlock "Compare\nTo Constant" SrcPort 1 DstBlock "Logical\nOperator" DstPort 1 } Line { SrcBlock "Compare\nTo Constant3" SrcPort 1 DstBlock "Logical\nOperator" DstPort 4 } Line { SrcBlock "Compare\nTo Constant2" SrcPort 1 DstBlock "Logical\nOperator" DstPort 3 } Line { SrcBlock "Compare\nTo Constant1" SrcPort 1 DstBlock "Logical\nOperator" DstPort 2 } Line { SrcBlock "taskID" SrcPort 1 Points [0, 0; 5, 0] Branch { Points [0, 40] Branch { Points [0, 40] Branch { Points [0, 40] DstBlock "Compare\nTo Constant3" DstPort 1 } Branch { DstBlock "Compare\nTo Constant2" DstPort 1 } } Branch { DstBlock "Compare\nTo Constant1" DstPort 1 } } Branch { DstBlock "Compare\nTo Constant" DstPort 1 } } } } Block { BlockType Outport Name "subtarget xy" Position [985, 178, 1015, 192] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "scrum" Position [475, 233, 505, 247] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "cur_xyo" SrcPort 1 Points [35, 0] Branch { DstBlock "Subsystem" DstPort 1 } Branch { Points [0, 80] Branch { DstBlock "S-Function" DstPort 2 } Branch { Points [0, 95] DstBlock "S-Function1" DstPort 3 } } } Line { SrcBlock "target_xyo" SrcPort 1 DstBlock "Selector1" DstPort 1 } Line { SrcBlock "obstacles (global)" SrcPort 1 DstBlock "S-Function" DstPort 1 } Line { SrcBlock "S-Function" SrcPort 1 DstBlock "Subsystem" DstPort 3 } Line { SrcBlock "saturate subtarget logic" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "subtarget xy" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 Points [115, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "refbox task ID" SrcPort 1 DstBlock "saturate subtarget logic" DstPort 1 } Line { SrcBlock "dribble angle offset" SrcPort 1 DstBlock "Subsystem" DstPort 4 } Line { SrcBlock "Selector1" SrcPort 1 DstBlock "Subsystem" DstPort 2 } Line { SrcBlock "skill ID" SrcPort 1 Points [120, 0] Branch { Points [270, 0] DstBlock "S-Function1" DstPort 2 } Branch { Points [0, -20] DstBlock "Subsystem" DstPort 5 } } Line { SrcBlock "Subsystem" SrcPort 1 Points [0, 35] DstBlock "S-Function1" DstPort 1 } Line { SrcBlock "S-Function1" SrcPort 1 Points [15, 0] Branch { DstBlock "Saturation" DstPort 1 } Branch { Points [0, -125] DstBlock "Saturation1" DstPort 1 } } Line { SrcBlock "Saturation1" SrcPort 1 Points [115, 0] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 2 DstBlock "scrum" DstPort 1 } } } Block { BlockType SubSystem Name "robot Intelligence" Ports [18, 7] Position [310, 152, 435, 633] BackgroundColor "orange" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "robot Intelligence" Location [5, 77, 1675, 1020] 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 "cur_xyo" Position [375, 378, 405, 392] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_id" Position [380, 798, 410, 812] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refboxtask" Position [95, 63, 125, 77] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refboxtask new signal" Position [380, 898, 410, 912] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "initial_role_ID" Position [380, 948, 410, 962] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox_role_ID_side" Position [370, 998, 400, 1012] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "destination" Position [885, 108, 915, 122] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball_xy" Position [380, 848, 410, 862] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball found" Position [380, 873, 410, 887] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "opp_xyo" Position [885, 198, 915, 212] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "CPB" Position [885, 243, 915, 257] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "cur_xydot" Position [885, 288, 915, 302] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "vmax/amax" Position [885, 333, 915, 347] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "pos_turtles" Position [220, 823, 250, 837] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_active" Position [220, 923, 250, 937] Port "15" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball_xyvxvy_est" Position [950, 1008, 980, 1022] Port "16" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "opp_xyr_wm" Position [950, 1053, 980, 1067] Port "17" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable params" Position [485, 1148, 515, 1162] Port "18" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType SubSystem Name "Communication" Ports [1, 10] Position [25, 924, 140, 1161] BackgroundColor "yellow" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Communication" Location [54, 77, 1324, 770] 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 "strategy in" Position [345, 288, 375, 302] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "CPBteam, CPPAteam,\ndynamic role switching" Ports [2, 11] Position [605, 138, 770, 452] FunctionName "mccomm_teamstatus" } Block { BlockType Terminator Name "CPPAteam" Position [790, 195, 810, 215] } Block { BlockType Demux Name "Demux2" Ports [1, 6] Position [450, 210, 455, 380] BackgroundColor "black" NamePlacement "alternate" ShowName off Outputs "6" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [490, 235, 495, 295] NamePlacement "alternate" ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux3" Ports [2, 1] Position [490, 357, 495, 413] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Terminator Name "Terminator1" Position [505, 210, 525, 230] ShowName off } Block { BlockType Terminator Name "Terminator5" Position [475, 300, 495, 320] ShowName off } Block { BlockType Outport Name "refbox_role_IDs" Position [830, 288, 860, 302] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "game_role_IDs" Position [830, 318, 860, 332] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "refboxStageStates" Position [830, 348, 860, 362] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "GameStageStates" Position [830, 378, 860, 392] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "CPB team" Position [830, 138, 860, 152] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "strategy out" Position [830, 228, 860, 242] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "CPPA out" Position [830, 168, 860, 182] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "roleSwitch" Position [515, 378, 545, 392] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "receptor pass target" Position [830, 408, 860, 422] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "receptor role id" Position [825, 438, 855, 452] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux3" SrcPort 1 DstBlock "roleSwitch" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 4 DstBlock "Terminator5" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 2 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 3 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Demux2" SrcPort 1 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 3 DstBlock "CPPAteam" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 2 DstBlock "CPPA out" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 1 DstBlock "CPB team" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 5 Points [145, 0; 0, 230; -445, 0] DstBlock "Mux3" DstPort 2 } Line { SrcBlock "Demux2" SrcPort 5 Points [130, 0] DstBlock "CPBteam, CPPAteam,\ndynamic role switching" DstPort 2 } Line { SrcBlock "Mux2" SrcPort 1 Points [90, 0] DstBlock "CPBteam, CPPAteam,\ndynamic role switching" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 6 DstBlock "Mux3" DstPort 1 } Line { SrcBlock "strategy in" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 4 DstBlock "strategy out" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 6 DstBlock "refbox_role_IDs" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 7 DstBlock "game_role_IDs" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 8 DstBlock "refboxStageStates" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 9 DstBlock "GameStageStates" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 10 DstBlock "receptor pass target" DstPort 1 } Line { SrcBlock "CPBteam, CPPAteam,\ndynamic role switching" SrcPort 11 DstBlock "receptor role id" DstPort 1 } } } Block { BlockType Goto Name "Goto1" Position [180, 1121, 295, 1139] BackgroundColor "green" ShowName off GotoTag "receptor_pass_target" TagVisibility "global" } Block { BlockType Goto Name "Goto11" Position [1225, 836, 1305, 854] BackgroundColor "green" ShowName off GotoTag "CPPArobot" TagVisibility "global" } Block { BlockType Goto Name "Goto2" Position [180, 1146, 295, 1164] BackgroundColor "green" ShowName off GotoTag "receptor_role_id" TagVisibility "global" } Block { BlockType Goto Name "Goto3" Position [375, 1036, 490, 1054] BackgroundColor "green" ShowName off GotoTag "CPBteam" TagVisibility "global" } Block { BlockType Goto Name "Goto4" Position [180, 1096, 295, 1114] BackgroundColor "green" ShowName off GotoTag "roleSwitch" TagVisibility "global" } Block { BlockType SubSystem Name "Handlers1" Ports [23, 14] Position [1040, 15, 1195, 1115] BackgroundColor "magenta" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Handlers1" Location [5, 77, 1675, 1020] 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 "refboxtask" Position [345, 428, 375, 442] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "destination" Position [345, 253, 375, 267] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "goal xy" Position [345, 358, 375, 372] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "opp_xyo" Position [345, 393, 375, 407] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "CPB" Position [345, 498, 375, 512] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "cur_xydot" Position [345, 533, 375, 547] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "vmax / amax" Position [25, 603, 55, 617] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "cur_xyo" Position [345, 218, 375, 232] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_ID" Position [330, 98, 360, 112] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Refroles_xyphi_wm" Position [340, 673, 370, 687] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Gameroles_xyphi_wm" Position [525, 1178, 555, 1192] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Refroles_stage_states" Position [340, 708, 370, 722] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "Gameroles_stage_states" Position [525, 1208, 555, 1222] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball_xy" Position [345, 288, 375, 302] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball found" Position [345, 323, 375, 337] Port "15" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refboxtask new signal" Position [345, 463, 375, 477] Port "16" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox_role_ID" Position [345, 183, 375, 197] Port "17" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "game role_ID" Position [460, 998, 490, 1012] Port "18" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "agression level" Position [460, 1028, 490, 1042] Port "19" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable params" Position [25, 533, 55, 547] Port "20" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "CPPA" Position [460, 1058, 490, 1072] Port "21" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball_xyvxvy_est" Position [340, 603, 370, 617] Port "22" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "opp_xyr_wm" Position [340, 638, 370, 652] Port "23" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType From Name "From1" Position [810, 1266, 925, 1284] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "receptor_role_id" TagVisibility "global" } Block { BlockType From Name "From2" Position [810, 1236, 925, 1254] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "receptor_pass_target" TagVisibility "global" } Block { BlockType Goto Name "Goto" Position [1030, 281, 1165, 309] BackgroundColor "green" ShowName off GotoTag "RefboxStageState" TagVisibility "global" } Block { BlockType Goto Name "Goto1" Position [1225, 1166, 1360, 1194] BackgroundColor "green" ShowName off GotoTag "GameStageState" TagVisibility "global" } Block { BlockType Goto Name "Goto2" Position [1225, 1206, 1360, 1234] BackgroundColor "green" ShowName off GotoTag "pass_target" TagVisibility "global" } Block { BlockType Goto Name "Goto3" Position [1225, 1246, 1360, 1274] BackgroundColor "green" ShowName off GotoTag "pass_role_id" TagVisibility "global" } Block { BlockType Memory Name "Memory1" Position [975, 686, 995, 714] ShowName off InheritSampleTime on } Block { BlockType Mux Name "Mux1" Ports [7, 1] Position [1290, 761, 1295, 1039] ShowName off Inputs "7" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" Ports [3, 1] Position [290, 525, 295, 625] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType Mux Name "Mux3" Ports [7, 1] Position [1030, 317, 1035, 633] ShowName off Inputs "7" DisplayOption "bar" } Block { BlockType Mux Name "Mux5" Ports [3, 1] Position [340, 1043, 345, 1147] ShowName off Inputs "3" DisplayOption "bar" } Block { BlockType SubSystem Name "Refbox / Role selector" Ports [3, 7] Position [1395, 558, 1515, 842] BackgroundColor "orange" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Refbox / Role selector" Location [319, 328, 1172, 685] 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 "refbox_handler" Position [290, 133, 320, 147] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox in progress" Position [290, 178, 320, 192] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "role_handler" Position [290, 223, 320, 237] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 7] Position [590, 32, 595, 338] BackgroundColor "black" ShowName off Outputs "[3 150 1 1 1 2 2]" DisplayOption "bar" } Block { BlockType Switch Name "Switch" Position [420, 118, 460, 252] Criteria "u2 > Threshold" Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "out_xyo" Position [665, 43, 695, 57] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "obstacles" Position [665, 88, 700, 102] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "skill ID" Position [665, 133, 700, 147] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "kick effort" Position [665, 178, 700, 192] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "desired vel" Position [665, 223, 700, 237] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "out_xydot" Position [665, 268, 700, 282] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "precision" Position [665, 313, 700, 327] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "refbox_handler" SrcPort 1 Points [0, 0] DstBlock "Switch" DstPort 1 } Line { SrcBlock "refbox in progress" SrcPort 1 Points [0, 0] DstBlock "Switch" DstPort 2 } Line { SrcBlock "role_handler" SrcPort 1 Points [0, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "out_xyo" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "obstacles" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "skill ID" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 4 DstBlock "kick effort" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 5 DstBlock "desired vel" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 6 DstBlock "out_xydot" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 7 DstBlock "precision" DstPort 1 } } } Block { BlockType "S-Function" Name "Refbox handler" Ports [16, 12] Position [725, 183, 915, 722] BackgroundColor "orange" FunctionName "refbox_handler" MaskDisplay "port_label('input',1,'refbox role ID')\nport_label('input',2,'cur xyo')\nport_label('input',3,'des xyo')\nport_label('input',4,'ball xy')\nport_label('input',5,'ball_found')\nport_label('input',6,'goal xy')\nport_label('input',7,'opp xyo')\nport_label('input',8,'refbox task')\nport_label('input',9,'new refbosk task trigger')\nport_label('input',10,'CPB')\nport_label('input',11,'cur xy_dot')\nport_label('input',12,'tunable parameters')\nport_label('input',13,'ball_xyvxvy_est')\nport_label('input',14,'opp_xyr_wm')\nport_label('input',15,'Refroles_xyphi_wm')\nport_label('input',16,'Refroles_stage states')\n\nport_label('output',1,'refbox task extended')\nport_label('output',2,'refbox role desired pos')\nport_label('output',3,'refbox role stage state')\nport_label('output',4,'out xyo')\nport_label('output',5,'obstacles')\nport_label('output',6,'skill ID')\nport_label('output',7,'kick effort')\nport_label('output',8,'desired_vel')\nport_label('output',9,'out xydot')\nport_label('output',10,'precision')\nport_label('output',11,'motion control disable')\nport_label('output',12,'refbox in progress')\n\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType "S-Function" Name "Role handler" Ports [18, 13] Position [985, 745, 1195, 1295] BackgroundColor "orange" FunctionName "role_handler" MaskDisplay "port_label('input',1,'Refbox in progress')\nport_label('input',2,'cur xyo')\nport_label('input',3,'ball xy')\nport_label('input',4,'ball_found')\nport_label('input',5,'goal xy')\nport_label('input',6,'opp xyo')\nport_label('input',7,'CPB')\nport_label('input',8,'cur xydot')\nport_label('input',9,'role ID')\nport_label('input',10,'agression level')\nport_label('input',11,'CPPA')\nport_label('input',12,'tunable parameters')\nport_label('input',13,'ball_xyvxvy_est')\nport_label('input',14,'opp_xyr_wm')\nport_label('input',15,'Gameroles_xyphi_wm')\nport_label('input',16,'Gameroles_stage_states')\nport_label('input',17,'Receptor pass target')\nport_label('input',18,'Receptor role ID')\n\nport_label('output',1,'out xyo')\nport_label('output',2,'obstacles')\nport_label('output',3,'skill ID')\nport_label('output',4,'kick effort')\nport_label('output',5,'desired_vel')\nport_label('output',6,'out_xydot')\nport_label('output',7,'precision')\nport_label('output',8,'crowdiness')\nport_label('output',9,'CPB_total')\nport_label('output',10,'CPPA')\nport_label('output',11,'GameStageState')\nport_label('output',12,'Pass target')\nport_label('output',13,'Pass role ID')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [125, 530, 180, 550] InputPortWidth "50" IndexOptions "Index vector (dialog)" Indices "GFTuneparams" OutputSizes "1" Port { PortNumber 1 Name "general params" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [165, 1050, 220, 1070] ShowName off InputPortWidth "50" IndexOptions "Index vector (dialog)" Indices "GFTuneparams" OutputSizes "1" Port { PortNumber 1 Name "general params" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Selector Name "Selector3" Ports [1, 1] Position [125, 565, 180, 585] InputPortWidth "50" IndexOptions "Index vector (dialog)" Indices "RHTuneparams" OutputSizes "1" Port { PortNumber 1 Name "refbox handler params" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Selector Name "Selector5" Ports [1, 1] Position [165, 1085, 220, 1105] ShowName off InputPortWidth "50" IndexOptions "Index vector (dialog)" Indices "[RoleTuneparams]" OutputSizes "1" Port { PortNumber 1 Name "role handler params" PropagatedSignals ", " RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Terminator Name "Terminator" Position [405, 95, 425, 115] ShowName off } Block { BlockType Outport Name "out_xyo" Position [1590, 573, 1625, 587] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "obstacles" Position [1590, 613, 1625, 627] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "skill ID" Position [1590, 653, 1625, 667] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "kick effort" Position [1590, 693, 1625, 707] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "desired vel" Position [1590, 733, 1625, 747] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "motion control disable" Position [970, 648, 1005, 662] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "out_xydot" Position [1590, 773, 1625, 787] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "precision" Position [1590, 813, 1625, 827] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "crowdiness" Position [1275, 1053, 1310, 1067] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "CPB_total" Position [1275, 1093, 1310, 1107] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "CPPA_out" Position [1275, 1133, 1310, 1147] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "refbox_task_extended" Position [1030, 198, 1065, 212] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "refbox_in_progress" Position [1135, 668, 1170, 682] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "refbox_role_desired_pos" Position [1035, 243, 1070, 257] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "ball_xy" SrcPort 1 Points [205, 0] Branch { DstBlock "Refbox handler" DstPort 4 } Branch { Points [0, 530] DstBlock "Role handler" DstPort 3 } } Line { SrcBlock "ball found" SrcPort 1 Points [180, 0] Branch { DstBlock "Refbox handler" DstPort 5 } Branch { Points [0, 525] DstBlock "Role handler" DstPort 4 } } Line { SrcBlock "opp_xyo" SrcPort 1 Points [130, 0] Branch { DstBlock "Refbox handler" DstPort 7 } Branch { Points [0, 515] DstBlock "Role handler" DstPort 6 } } Line { SrcBlock "refboxtask new signal" SrcPort 1 DstBlock "Refbox handler" DstPort 9 } Line { SrcBlock "CPB" SrcPort 1 Points [105, 0] Branch { DstBlock "Refbox handler" DstPort 10 } Branch { Points [0, 440] DstBlock "Role handler" DstPort 7 } } Line { SrcBlock "Mux3" SrcPort 1 Points [190, 0; 0, 130] DstBlock "Refbox / Role selector" DstPort 1 } Line { SrcBlock "Refbox / Role selector" SrcPort 3 DstBlock "skill ID" DstPort 1 } Line { SrcBlock "Refbox / Role selector" SrcPort 4 DstBlock "kick effort" DstPort 1 } Line { SrcBlock "Refbox / Role selector" SrcPort 5 DstBlock "desired vel" DstPort 1 } Line { SrcBlock "Mux1" SrcPort 1 Points [30, 0; 0, -105] DstBlock "Refbox / Role selector" DstPort 3 } Line { SrcBlock "Refbox / Role selector" SrcPort 1 DstBlock "out_xyo" DstPort 1 } Line { SrcBlock "Refbox / Role selector" SrcPort 2 DstBlock "obstacles" DstPort 1 } Line { SrcBlock "destination" SrcPort 1 DstBlock "Refbox handler" DstPort 3 } Line { SrcBlock "Refbox / Role selector" SrcPort 6 DstBlock "out_xydot" DstPort 1 } Line { SrcBlock "Memory1" SrcPort 1 Points [60, 0] Branch { DstBlock "Refbox / Role selector" DstPort 2 } Branch { Points [0, -25] DstBlock "refbox_in_progress" DstPort 1 } } Line { SrcBlock "Refbox / Role selector" SrcPort 7 DstBlock "precision" DstPort 1 } Line { SrcBlock "cur_xydot" SrcPort 1 Points [80, 0] Branch { DstBlock "Refbox handler" DstPort 11 } Branch { Points [0, 435] DstBlock "Role handler" DstPort 8 } } Line { SrcBlock "refboxtask" SrcPort 1 DstBlock "Refbox handler" DstPort 8 } Line { SrcBlock "goal xy" SrcPort 1 Points [154, 0] Branch { DstBlock "Refbox handler" DstPort 6 } Branch { Points [0, 520] DstBlock "Role handler" DstPort 5 } } Line { Name "general params" Labels [0, 0] SrcBlock "Selector1" SrcPort 1 DstBlock "Mux2" DstPort 1 } Line { Name "refbox handler params" Labels [0, 0] SrcBlock "Selector3" SrcPort 1 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "vmax / amax" SrcPort 1 Points [15, 0] Branch { DstBlock "Mux2" DstPort 3 } Branch { Points [0, 520] DstBlock "Mux5" DstPort 3 } } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "Refbox handler" DstPort 12 } Line { SrcBlock "tunable params" SrcPort 1 Points [30, 0] Branch { DstBlock "Selector1" DstPort 1 } Branch { Points [0, 35] Branch { DstBlock "Selector3" DstPort 1 } Branch { Points [0, 485] Branch { Points [0, 35] DstBlock "Selector5" DstPort 1 } Branch { DstBlock "Selector2" DstPort 1 } } } } Line { Name "general params" Labels [0, 0] SrcBlock "Selector2" SrcPort 1 DstBlock "Mux5" DstPort 1 } Line { Name "role handler params" Labels [0, 0] SrcBlock "Selector5" SrcPort 1 DstBlock "Mux5" DstPort 2 } Line { SrcBlock "Role handler" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Role handler" SrcPort 2 DstBlock "Mux1" DstPort 2 } Line { SrcBlock "Role handler" SrcPort 3 DstBlock "Mux1" DstPort 3 } Line { SrcBlock "Role handler" SrcPort 4 DstBlock "Mux1" DstPort 4 } Line { SrcBlock "Role handler" SrcPort 5 DstBlock "Mux1" DstPort 5 } Line { SrcBlock "Role handler" SrcPort 6 DstBlock "Mux1" DstPort 6 } Line { SrcBlock "Role handler" SrcPort 7 DstBlock "Mux1" DstPort 7 } Line { SrcBlock "Role handler" SrcPort 8 DstBlock "crowdiness" DstPort 1 } Line { SrcBlock "Role handler" SrcPort 9 DstBlock "CPB_total" DstPort 1 } Line { SrcBlock "Role handler" SrcPort 10 DstBlock "CPPA_out" DstPort 1 } Line { SrcBlock "game role_ID" SrcPort 1 DstBlock "Role handler" DstPort 9 } Line { SrcBlock "Mux5" SrcPort 1 DstBlock "Role handler" DstPort 12 } Line { SrcBlock "agression level" SrcPort 1 DstBlock "Role handler" DstPort 10 } Line { SrcBlock "CPPA" SrcPort 1 DstBlock "Role handler" DstPort 11 } Line { SrcBlock "cur_xyo" SrcPort 1 Points [250, 0] Branch { DstBlock "Refbox handler" DstPort 2 } Branch { Points [0, 570] DstBlock "Role handler" DstPort 2 } } Line { SrcBlock "refbox_role_ID" SrcPort 1 DstBlock "Refbox handler" DstPort 1 } Line { SrcBlock "ball_xyvxvy_est" SrcPort 1 Points [60, 0] Branch { Points [0, 515] DstBlock "Role handler" DstPort 13 } Branch { DstBlock "Refbox handler" DstPort 13 } } Line { SrcBlock "opp_xyr_wm" SrcPort 1 Points [35, 0] Branch { DstBlock "Refbox handler" DstPort 14 } Branch { Points [0, 510] DstBlock "Role handler" DstPort 14 } } Line { SrcBlock "Refroles_xyphi_wm" SrcPort 1 DstBlock "Refbox handler" DstPort 15 } Line { SrcBlock "turtle_ID" SrcPort 1 DstBlock "Terminator" DstPort 1 } Line { SrcBlock "Refbox handler" SrcPort 1 DstBlock "refbox_task_extended" DstPort 1 } Line { SrcBlock "Refbox handler" SrcPort 2 DstBlock "refbox_role_desired_pos" DstPort 1 } Line { SrcBlock "Refbox handler" SrcPort 11 DstBlock "motion control disable" DstPort 1 } Line { SrcBlock "Refbox handler" SrcPort 12 Points [20, 0] Branch { DstBlock "Memory1" DstPort 1 } Branch { Points [0, 65] DstBlock "Role handler" DstPort 1 } } Line { SrcBlock "Refbox handler" SrcPort 3 DstBlock "Goto" DstPort 1 } Line { SrcBlock "Refbox handler" SrcPort 4 DstBlock "Mux3" DstPort 1 } Line { SrcBlock "Refbox handler" SrcPort 5 DstBlock "Mux3" DstPort 2 } Line { SrcBlock "Refbox handler" SrcPort 6 DstBlock "Mux3" DstPort 3 } Line { SrcBlock "Refbox handler" SrcPort 7 DstBlock "Mux3" DstPort 4 } Line { SrcBlock "Refbox handler" SrcPort 8 DstBlock "Mux3" DstPort 5 } Line { SrcBlock "Refbox handler" SrcPort 9 DstBlock "Mux3" DstPort 6 } Line { SrcBlock "Refbox handler" SrcPort 10 DstBlock "Mux3" DstPort 7 } Line { SrcBlock "Refroles_stage_states" SrcPort 1 DstBlock "Refbox handler" DstPort 16 } Line { SrcBlock "Role handler" SrcPort 11 DstBlock "Goto1" DstPort 1 } Line { SrcBlock "Gameroles_xyphi_wm" SrcPort 1 DstBlock "Role handler" DstPort 15 } Line { SrcBlock "Gameroles_stage_states" SrcPort 1 DstBlock "Role handler" DstPort 16 } Line { SrcBlock "From2" SrcPort 1 DstBlock "Role handler" DstPort 17 } Line { SrcBlock "From1" SrcPort 1 DstBlock "Role handler" DstPort 18 } Line { SrcBlock "Role handler" SrcPort 13 DstBlock "Goto3" DstPort 1 } Line { SrcBlock "Role handler" SrcPort 12 DstBlock "Goto2" DstPort 1 } Annotation { Position [1173, 511] } Annotation { Position [1139, 511] } } } Block { BlockType "S-Function" Name "Role mapper" Ports [5, 4] Position [665, 446, 905, 634] BackgroundColor "orange" FunctionName "role_position_mapper" MaskDisplay "port_label('input',1,'refbox_role_IDs')\nport_label('input',2,'game_role_IDs')\nport_label('input',3,'refbox_stage_states')\nport_label('input',4,'game_stage_states')\nport_label('input',5,'position_turtles')\nport_label('output',1,'refbox_role_position')\nport_label('output',2,'game_role_position')\nport_label('output',3,'refbox_role_stage_state')\nport_label('output',4,'game_role_stage_state')\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType SubSystem Name "Strategy & Role assigner" Ports [16, 4] Position [560, 766, 745, 1169] BackgroundColor "orange" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Strategy & Role assigner" Location [5, 77, 1675, 1020] 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 "cur_xyo" Position [820, 488, 850, 502] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_ID" Position [190, 473, 220, 487] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "pos_turtles" Position [190, 503, 220, 517] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball_xy" Position [240, 523, 270, 537] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ball found" Position [240, 558, 270, 572] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "new_refbox_trigger" Position [35, 663, 65, 677] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_active" Position [205, 313, 235, 327] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "initial_role_ID" Position [205, 343, 235, 357] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox_task_original" Position [610, 273, 640, 287] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox_role_ID_side" Position [615, 318, 645, 332] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "team has ball" Position [240, 593, 270, 607] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "taskswitch in" Position [240, 698, 270, 712] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox_task_extended" Position [205, 223, 235, 237] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "strategy disbale" Position [240, 733, 270, 747] Port "14" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "desired_refbox_pos" Position [205, 283, 235, 297] Port "15" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "tunable parameters" Position [60, 768, 90, 782] Port "16" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Reference Name "Compare\nTo Constant" Ports [1, 1] Position [245, 185, 275, 215] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop "==" const "2" LogicOutDataTypeMode "uint8" ZeroCross "off" } Block { BlockType Reference Name "Compare\nTo Constant2" Ports [1, 1] Position [245, 100, 275, 130] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">" const "0" LogicOutDataTypeMode "uint8" ZeroCross "off" } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [900, 298, 975, 332] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [445, 90, 505, 120] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion3" Position [295, 185, 355, 215] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType From Name "From1" Position [95, 191, 210, 209] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "roleAssignerMode" TagVisibility "global" } Block { BlockType From Name "From2" Position [220, 81, 335, 99] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "WM_active" TagVisibility "global" } Block { BlockType Goto Name "Goto1" Position [1340, 326, 1455, 344] BackgroundColor "green" ShowName off GotoTag "refbox_role" TagVisibility "global" } Block { BlockType Goto Name "Goto2" Position [1340, 716, 1455, 734] BackgroundColor "green" ShowName off GotoTag "current_role" TagVisibility "global" } Block { BlockType Goto Name "Goto3" Position [1070, 371, 1185, 389] BackgroundColor "lightBlue" ShowName off GotoTag "assigned_role" TagVisibility "global" } Block { BlockType Goto Name "Goto6" Position [415, 151, 530, 169] BackgroundColor "green" ShowName off GotoTag "demo_roles" TagVisibility "global" } Block { BlockType Logic Name "Logical\nOperator" Ports [2, 1] Position [365, 75, 395, 130] AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType "S-Function" Name "Role converter" Ports [2, 1] Position [1050, 264, 1125, 331] BackgroundColor "orange" FunctionName "role_converter_libroles2refboxroles" MaskDisplay "port_label('input',1,'RefboxTask')\nport_label('input',2,'GameRoleID')\n\nport_label('output',1,'RefboxRoleID')\n\n\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType SubSystem Name "Role_assigner" Ports [8, 2] Position [405, 188, 590, 422] BackgroundColor "orange" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Role_assigner" Location [5, 77, 1275, 770] 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 "demo on / off" Position [465, 558, 495, 572] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox_task_extended" Position [465, 48, 495, 62] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "new_refbox_trigger" Position [465, 78, 495, 92] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "desired refbox pos" Position [185, 453, 215, 467] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_active" Position [465, 138, 495, 152] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "initial_game_role_ID" Position [465, 168, 495, 182] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_ID" Position [465, 108, 495, 122] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "turtle_pos" Position [160, 273, 190, 287] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [905, 158, 945, 192] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [905, 433, 945, 467] OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux" Ports [1, 6] Position [375, 191, 380, 369] BackgroundColor "black" ShowName off Outputs "[2 2 2 2 2 2]" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" Ports [1, 6] Position [505, 369, 510, 551] BackgroundColor "black" ShowName off Outputs "[2 2 2 2 2 2]" DisplayOption "bar" } Block { BlockType Memory Name "Memory" Position [825, 435, 855, 465] InheritSampleTime on } Block { BlockType Memory Name "Memory1" Position [820, 160, 850, 190] InheritSampleTime on } Block { BlockType "S-Function" Name "Role assigner" Ports [18, 2] Position [570, 36, 775, 584] BackgroundColor "orange" FunctionName "role_assigner" MaskDisplay "port_label('input',1,'refbox_task')\nport_label('input',2,'new_refbox_trigger')\nport_label('input',3,'turtle_id')\nport_label('input',4,'turtle_active')\nport_label('input',5,'initial desired roles')\nport_label('input',6,'turtle1_pos')\nport_label('input',7,'turtle2_pos')\nport_label('input',8,'turtle3_pos')\nport_label('input',9,'turtle4_pos')\nport_label('input',10,'turtle5_pos')\nport_label('input',11,'turtle6_pos')\nport_label('input',12,'roleNONE_des_pos')\nport_label('input',13,'role1_des_pos')\nport_label('input',14,'role2_des_pos')\nport_label('input',15,'role3_des_pos')\nport_label('input',16,'role4_des_pos')\nport_label('input',17,'role5_des_pos')\nport_label('output',1,'refbox_role')\nport_label('output',2,'game_role')\n\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Selector Name "take only x&y positions" Ports [1, 1] Position [300, 441, 340, 479] InputPortWidth "18" IndexOptions "Index vector (dialog)" Indices "[1 2 4 5 7 8 10 11 13 14 16 17]" OutputSizes "1" } Block { BlockType Selector Name "take only x&y positions1" Ports [1, 1] Position [235, 261, 275, 299] InputPortWidth "18" IndexOptions "Index vector (dialog)" Indices "[1 2 4 5 7 8 10 11 13 14 16 17]" OutputSizes "1" } Block { BlockType Outport Name "refbox_role_ID" Position [1020, 168, 1050, 182] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Role_ID" Position [1030, 443, 1060, 457] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "refbox_task_extended" SrcPort 1 DstBlock "Role assigner" DstPort 1 } Line { SrcBlock "turtle_pos" SrcPort 1 DstBlock "take only x&y positions1" DstPort 1 } Line { SrcBlock "desired refbox pos" SrcPort 1 DstBlock "take only x&y positions" DstPort 1 } Line { SrcBlock "take only x&y positions" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Role assigner" SrcPort 1 DstBlock "Memory1" DstPort 1 } Line { SrcBlock "Role assigner" SrcPort 2 DstBlock "Memory" DstPort 1 } Line { SrcBlock "take only x&y positions1" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Memory1" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Memory" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "refbox_role_ID" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "Role_ID" DstPort 1 } Line { SrcBlock "new_refbox_trigger" SrcPort 1 DstBlock "Role assigner" DstPort 2 } Line { SrcBlock "turtle_ID" SrcPort 1 DstBlock "Role assigner" DstPort 3 } Line { SrcBlock "turtle_active" SrcPort 1 DstBlock "Role assigner" DstPort 4 } Line { SrcBlock "initial_game_role_ID" SrcPort 1 DstBlock "Role assigner" DstPort 5 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Role assigner" DstPort 6 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Role assigner" DstPort 7 } Line { SrcBlock "Demux" SrcPort 3 DstBlock "Role assigner" DstPort 8 } Line { SrcBlock "Demux" SrcPort 4 DstBlock "Role assigner" DstPort 9 } Line { SrcBlock "Demux" SrcPort 5 DstBlock "Role assigner" DstPort 10 } Line { SrcBlock "Demux" SrcPort 6 DstBlock "Role assigner" DstPort 11 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Role assigner" DstPort 12 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Role assigner" DstPort 13 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "Role assigner" DstPort 14 } Line { SrcBlock "Demux1" SrcPort 4 DstBlock "Role assigner" DstPort 15 } Line { SrcBlock "Demux1" SrcPort 5 DstBlock "Role assigner" DstPort 16 } Line { SrcBlock "Demux1" SrcPort 6 DstBlock "Role assigner" DstPort 17 } Line { SrcBlock "demo on / off" SrcPort 1 DstBlock "Role assigner" DstPort 18 } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [1230, 746, 1270, 784] InputPortWidth "6" IndexOptions "Index vector (dialog)" Indices "[1]" OutputSizes "1" } Block { BlockType Selector Name "Selector4" Ports [1, 1] Position [350, 765, 405, 785] ShowName off InputPortWidth "50" IndexOptions "Index vector (dialog)" Indices "StratTuneparams" OutputSizes "1" } Block { BlockType Switch Name "Switch2" Position [1275, 237, 1305, 313] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch3" Position [840, 354, 870, 406] Threshold "0.5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Terminator Name "Terminator" Position [455, 485, 475, 505] ShowName off } Block { BlockType SubSystem Name "select this turtles signals" Ports [2, 1] Position [275, 467, 345, 523] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "select this turtles signals" Location [533, 131, 1234, 585] 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 "turtle id" Position [190, 128, 220, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "all turtles" Position [190, 218, 220, 232] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 6] Position [265, 148, 275, 297] BackgroundColor "black" ShowName off Outputs "[3 3 3 3 3 3]" DisplayOption "bar" } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [7, 1] Position [345, 128, 395, 292] Inputs "6" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "This turtle" Position [470, 203, 500, 217] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "all turtles" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Multiport\nSwitch" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "Multiport\nSwitch" DstPort 4 } Line { SrcBlock "Demux1" SrcPort 4 DstBlock "Multiport\nSwitch" DstPort 5 } Line { SrcBlock "Demux1" SrcPort 5 DstBlock "Multiport\nSwitch" DstPort 6 } Line { SrcBlock "Demux1" SrcPort 6 DstBlock "Multiport\nSwitch" DstPort 7 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 DstBlock "This turtle" DstPort 1 } Line { SrcBlock "turtle id" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 1 } } } Block { BlockType SubSystem Name "select this turtles signals3" Ports [2, 1] Position [730, 367, 795, 418] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "select this turtles signals3" Location [533, 131, 1234, 585] 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 "turtle id" Position [190, 128, 220, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "all turtles" Position [190, 218, 220, 232] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 6] Position [265, 148, 275, 297] BackgroundColor "black" ShowName off Outputs "[1 1 1 1 1 1]" DisplayOption "bar" } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [7, 1] Position [345, 128, 395, 292] Inputs "6" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "This turtle" Position [470, 203, 500, 217] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "turtle id" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 1 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 DstBlock "This turtle" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 6 DstBlock "Multiport\nSwitch" DstPort 7 } Line { SrcBlock "Demux1" SrcPort 5 DstBlock "Multiport\nSwitch" DstPort 6 } Line { SrcBlock "Demux1" SrcPort 4 DstBlock "Multiport\nSwitch" DstPort 5 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "Multiport\nSwitch" DstPort 4 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Multiport\nSwitch" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 2 } Line { SrcBlock "all turtles" SrcPort 1 DstBlock "Demux1" DstPort 1 } } } Block { BlockType SubSystem Name "select this turtles signals4" Ports [2, 1] Position [735, 287, 800, 338] ShowName off MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "select this turtles signals4" Location [533, 131, 1234, 585] 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 "turtle id" Position [190, 128, 220, 142] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "all turtles" Position [190, 218, 220, 232] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux1" Ports [1, 6] Position [265, 148, 275, 297] BackgroundColor "black" ShowName off Outputs "[1 1 1 1 1 1]" DisplayOption "bar" } Block { BlockType MultiPortSwitch Name "Multiport\nSwitch" Ports [7, 1] Position [345, 128, 395, 292] Inputs "6" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "This turtle" Position [470, 203, 500, 217] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "all turtles" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Multiport\nSwitch" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 3 DstBlock "Multiport\nSwitch" DstPort 4 } Line { SrcBlock "Demux1" SrcPort 4 DstBlock "Multiport\nSwitch" DstPort 5 } Line { SrcBlock "Demux1" SrcPort 5 DstBlock "Multiport\nSwitch" DstPort 6 } Line { SrcBlock "Demux1" SrcPort 6 DstBlock "Multiport\nSwitch" DstPort 7 } Line { SrcBlock "Multiport\nSwitch" SrcPort 1 DstBlock "This turtle" DstPort 1 } Line { SrcBlock "turtle id" SrcPort 1 DstBlock "Multiport\nSwitch" DstPort 1 } } } Block { BlockType "S-Function" Name "strategy handler" Ports [9, 2] Position [990, 486, 1180, 784] BackgroundColor "orange" FunctionName "strategy" MaskDisplay "port_label('input',1,'cur_xyo')\nport_label('input',2,'ball_xy')\nport_label('input',3,'ballfound')\nport_label('input',4,'teamhasball')\nport_label('input',5,'role_id')\nport_label('input',6,'refbox role reset')\nport_label('input',7,'taskswitch')\nport_label('input',8,'strategy disable')\nport_label('input',9,'tunable parameters')\n\nport_label('output',1,'aggresionlevel')\nport_label('output',2,'taskswitch')\n\n\n" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Outport Name "refbox_role_ID" Position [1410, 268, 1440, 282] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "current game role ID" Position [1315, 758, 1345, 772] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "agression level" Position [1235, 553, 1265, 567] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "taskswitch_out" Position [1235, 703, 1265, 717] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "strategy handler" SrcPort 2 Points [15, 0] Branch { DstBlock "taskswitch_out" DstPort 1 } Branch { Points [0, 55] DstBlock "Selector" DstPort 1 } } Line { SrcBlock "strategy handler" SrcPort 1 DstBlock "agression level" DstPort 1 } Line { SrcBlock "ball_xy" SrcPort 1 DstBlock "strategy handler" DstPort 2 } Line { SrcBlock "ball found" SrcPort 1 DstBlock "strategy handler" DstPort 3 } Line { SrcBlock "team has ball" SrcPort 1 DstBlock "strategy handler" DstPort 4 } Line { SrcBlock "new_refbox_trigger" SrcPort 1 Points [25, 0] Branch { DstBlock "strategy handler" DstPort 6 } Branch { Points [0, -410] DstBlock "Role_assigner" DstPort 3 } } Line { SrcBlock "strategy disbale" SrcPort 1 DstBlock "strategy handler" DstPort 8 } Line { SrcBlock "tunable parameters" SrcPort 1 DstBlock "Selector4" DstPort 1 } Line { SrcBlock "Selector4" SrcPort 1 DstBlock "strategy handler" DstPort 9 } Line { SrcBlock "Selector" SrcPort 1 Points [15, 0] Branch { DstBlock "current game role ID" DstPort 1 } Branch { Points [0, -40] DstBlock "Goto2" DstPort 1 } } Line { SrcBlock "taskswitch in" SrcPort 1 DstBlock "strategy handler" DstPort 7 } Line { SrcBlock "turtle_ID" SrcPort 1 Points [5, 0] Branch { DstBlock "select this turtles signals" DstPort 1 } Branch { Points [0, -35] Branch { Points [0, -65] DstBlock "Role_assigner" DstPort 7 } Branch { Points [435, 0; 0, -65] Branch { Points [0, -80] DstBlock "select this turtles signals4" DstPort 1 } Branch { DstBlock "select this turtles signals3" DstPort 1 } } } } Line { SrcBlock "pos_turtles" SrcPort 1 Points [25, 0] Branch { DstBlock "select this turtles signals" DstPort 2 } Branch { Points [0, -100] DstBlock "Role_assigner" DstPort 8 } } Line { SrcBlock "select this turtles signals" SrcPort 1 DstBlock "Terminator" DstPort 1 } Line { SrcBlock "turtle_active" SrcPort 1 DstBlock "Role_assigner" DstPort 5 } Line { SrcBlock "initial_role_ID" SrcPort 1 Points [120, 0] Branch { DstBlock "Role_assigner" DstPort 6 } Branch { Points [0, 105; 355, 0] DstBlock "select this turtles signals3" DstPort 2 } } Line { SrcBlock "refbox_task_extended" SrcPort 1 DstBlock "Role_assigner" DstPort 2 } Line { SrcBlock "desired_refbox_pos" SrcPort 1 DstBlock "Role_assigner" DstPort 4 } Line { SrcBlock "Role converter" SrcPort 1 DstBlock "Switch2" DstPort 3 } Line { SrcBlock "select this turtles signals4" SrcPort 1 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "Role converter" DstPort 2 } Line { SrcBlock "refbox_role_ID_side" SrcPort 1 DstBlock "select this turtles signals4" DstPort 2 } Line { SrcBlock "Role_assigner" SrcPort 1 DstBlock "Switch2" DstPort 1 } Line { SrcBlock "Role_assigner" SrcPort 2 DstBlock "Switch3" DstPort 1 } Line { SrcBlock "Switch3" SrcPort 1 Points [60, 0] Branch { Points [0, 255] DstBlock "strategy handler" DstPort 5 } Branch { DstBlock "Goto3" DstPort 1 } } Line { SrcBlock "refbox_task_original" SrcPort 1 DstBlock "Role converter" DstPort 1 } Line { SrcBlock "Switch2" SrcPort 1 Points [10, 0] Branch { DstBlock "refbox_role_ID" DstPort 1 } Branch { Points [0, 60] DstBlock "Goto1" DstPort 1 } } Line { SrcBlock "select this turtles signals3" SrcPort 1 DstBlock "Switch3" DstPort 3 } Line { SrcBlock "cur_xyo" SrcPort 1 DstBlock "strategy handler" DstPort 1 } Line { SrcBlock "From1" SrcPort 1 Points [10, 0] Branch { DstBlock "Compare\nTo Constant" DstPort 1 } Branch { Points [0, -85] DstBlock "Compare\nTo Constant2" DstPort 1 } } Line { SrcBlock "Compare\nTo Constant" SrcPort 1 DstBlock "Data Type Conversion3" DstPort 1 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 Points [310, 0] Branch { Points [0, 275] DstBlock "Switch3" DstPort 2 } Branch { Points [375, 0; 0, 170] DstBlock "Switch2" DstPort 2 } } Line { SrcBlock "Data Type Conversion3" SrcPort 1 Points [10, 0] Branch { DstBlock "Role_assigner" DstPort 1 } Branch { Points [0, -40] DstBlock "Goto6" DstPort 1 } } Line { SrcBlock "Compare\nTo Constant2" SrcPort 1 DstBlock "Logical\nOperator" DstPort 2 } Line { SrcBlock "From2" SrcPort 1 DstBlock "Logical\nOperator" DstPort 1 } Line { SrcBlock "Logical\nOperator" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Annotation { Name "role assigner modes\n0: off\n1: on\n2: on + demo" Position [142, 162] } } } Block { BlockType Terminator Name "Terminator1" Position [1240, 755, 1260, 775] ShowName off } Block { BlockType Terminator Name "Terminator2" Position [1240, 675, 1260, 695] ShowName off } Block { BlockType Terminator Name "Terminator3" Position [1245, 275, 1265, 295] ShowName off } Block { BlockType Constant Name "goals position" Position [885, 147, 975, 173] Value "[0 FIELDLENGTH*0.5 0 -0.5*FIELDLENGTH]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Selector Name "take only max_active_turtles" Ports [1, 1] Position [245, 459, 285, 481] ShowName off InputPortWidth "MAX_TURTLES" IndexOptions "Index vector (dialog)" Indices "[1:MAX_ACTIVE_TURTLES]" OutputSizes "1" } Block { BlockType Selector Name "take only max_active_turtles1" Ports [1, 1] Position [245, 529, 285, 551] ShowName off InputPortWidth "MAX_TURTLES" IndexOptions "Index vector (dialog)" Indices "[1:MAX_ACTIVE_TURTLES]" OutputSizes "1" } Block { BlockType Selector Name "take only max_active_turtles2" Ports [1, 1] Position [245, 494, 285, 516] ShowName off InputPortWidth "MAX_TURTLES" IndexOptions "Index vector (dialog)" Indices "[1:MAX_ACTIVE_TURTLES]" OutputSizes "1" } Block { BlockType Selector Name "take only max_active_turtles3" Ports [1, 1] Position [245, 564, 285, 586] ShowName off InputPortWidth "MAX_TURTLES" IndexOptions "Index vector (dialog)" Indices "[1:MAX_ACTIVE_TURTLES]" OutputSizes "1" } Block { BlockType Outport Name "motion control disable" Position [1305, 438, 1340, 452] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "target_xyo" Position [1305, 38, 1340, 52] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "obstacles" Position [1305, 118, 1340, 132] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "skill ID" Position [1305, 198, 1340, 212] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "desired vel" Position [1305, 358, 1340, 372] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "target_xydot" Position [1305, 518, 1340, 532] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "precision" Position [1305, 598, 1340, 612] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "turtle_id" SrcPort 1 Points [20, 0] Branch { DstBlock "Strategy & Role assigner" DstPort 2 } Branch { Points [0, -375] DstBlock "Handlers1" DstPort 9 } } Line { SrcBlock "Handlers1" SrcPort 10 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "Handlers1" SrcPort 11 DstBlock "Goto11" DstPort 1 } Line { SrcBlock "Communication" SrcPort 5 Points [210, 0] Branch { Points [0, 15] DstBlock "Goto3" DstPort 1 } Branch { DstBlock "Strategy & Role assigner" DstPort 11 } } Line { SrcBlock "refboxtask new signal" SrcPort 1 Points [95, 0] Branch { DstBlock "Strategy & Role assigner" DstPort 6 } Branch { Points [0, -160] DstBlock "Handlers1" DstPort 16 } } Line { SrcBlock "ball found" SrcPort 1 Points [80, 0] Branch { DstBlock "Strategy & Role assigner" DstPort 5 } Branch { Points [0, -180] DstBlock "Handlers1" DstPort 15 } } Line { SrcBlock "ball_xy" SrcPort 1 Points [60, 0] Branch { DstBlock "Strategy & Role assigner" DstPort 4 } Branch { Points [0, -200] DstBlock "Handlers1" DstPort 14 } } Line { SrcBlock "initial_role_ID" SrcPort 1 DstBlock "Strategy & Role assigner" DstPort 8 } Line { SrcBlock "Handlers1" SrcPort 1 DstBlock "target_xyo" DstPort 1 } Line { SrcBlock "Handlers1" SrcPort 2 DstBlock "obstacles" DstPort 1 } Line { SrcBlock "Handlers1" SrcPort 3 DstBlock "skill ID" DstPort 1 } Line { SrcBlock "Handlers1" SrcPort 4 DstBlock "Terminator3" DstPort 1 } Line { SrcBlock "Handlers1" SrcPort 5 DstBlock "desired vel" DstPort 1 } Line { SrcBlock "Handlers1" SrcPort 6 DstBlock "motion control disable" DstPort 1 } Line { SrcBlock "Handlers1" SrcPort 7 DstBlock "target_xydot" DstPort 1 } Line { SrcBlock "Handlers1" SrcPort 8 DstBlock "precision" DstPort 1 } Line { SrcBlock "Communication" SrcPort 6 DstBlock "Strategy & Role assigner" DstPort 12 } Line { SrcBlock "Strategy & Role assigner" SrcPort 4 Points [35, 0; 0, 130; -775, 0] DstBlock "Communication" DstPort 1 } Line { SrcBlock "turtle_active" SrcPort 1 DstBlock "Strategy & Role assigner" DstPort 7 } Line { SrcBlock "refboxtask" SrcPort 1 Points [60, 0] Branch { Points [0, 910] DstBlock "Strategy & Role assigner" DstPort 9 } Branch { DstBlock "Handlers1" DstPort 1 } } Line { SrcBlock "destination" SrcPort 1 DstBlock "Handlers1" DstPort 2 } Line { SrcBlock "goals position" SrcPort 1 DstBlock "Handlers1" DstPort 3 } Line { SrcBlock "opp_xyo" SrcPort 1 DstBlock "Handlers1" DstPort 4 } Line { SrcBlock "CPB" SrcPort 1 DstBlock "Handlers1" DstPort 5 } Line { SrcBlock "cur_xydot" SrcPort 1 DstBlock "Handlers1" DstPort 6 } Line { SrcBlock "vmax/amax" SrcPort 1 DstBlock "Handlers1" DstPort 7 } Line { SrcBlock "Strategy & Role assigner" SrcPort 2 Points [15, 0; 0, -85] DstBlock "Handlers1" DstPort 18 } Line { SrcBlock "Strategy & Role assigner" SrcPort 3 Points [35, 0; 0, -140] DstBlock "Handlers1" DstPort 19 } Line { SrcBlock "tunable params" SrcPort 1 Points [15, 0] Branch { DstBlock "Strategy & Role assigner" DstPort 16 } Branch { Points [0, 70; 345, 0; 0, -300] DstBlock "Handlers1" DstPort 20 } } Line { SrcBlock "Handlers1" SrcPort 14 Points [30, 0; 0, 170; -785, 0; 0, -125] DstBlock "Strategy & Role assigner" DstPort 15 } Line { SrcBlock "Handlers1" SrcPort 13 Points [45, 0; 0, 260; -820, 0; 0, -160] DstBlock "Strategy & Role assigner" DstPort 14 } Line { SrcBlock "Handlers1" SrcPort 12 Points [55, 0; 0, 365; -850, 0; 0, -210] DstBlock "Strategy & Role assigner" DstPort 13 } Line { SrcBlock "Communication" SrcPort 7 Points [230, 0; 0, 205; 530, 0; 0, -315] DstBlock "Handlers1" DstPort 21 } Line { SrcBlock "Strategy & Role assigner" SrcPort 1 Points [5, 0; 0, -30] DstBlock "Handlers1" DstPort 17 } Line { SrcBlock "pos_turtles" SrcPort 1 Points [65, 0] Branch { DstBlock "Strategy & Role assigner" DstPort 3 } Branch { Points [0, -220] DstBlock "Role mapper" DstPort 5 } } Line { SrcBlock "refbox_role_ID_side" SrcPort 1 DstBlock "Strategy & Role assigner" DstPort 10 } Line { SrcBlock "Handlers1" SrcPort 9 DstBlock "Terminator2" DstPort 1 } Line { SrcBlock "cur_xyo" SrcPort 1 Points [135, 0] Branch { DstBlock "Strategy & Role assigner" DstPort 1 } Branch { DstBlock "Handlers1" DstPort 8 } } Line { SrcBlock "Communication" SrcPort 8 DstBlock "Goto4" DstPort 1 } Line { SrcBlock "ball_xyvxvy_est" SrcPort 1 DstBlock "Handlers1" DstPort 22 } Line { SrcBlock "opp_xyr_wm" SrcPort 1 DstBlock "Handlers1" DstPort 23 } Line { SrcBlock "take only max_active_turtles" SrcPort 1 DstBlock "Role mapper" DstPort 1 } Line { SrcBlock "take only max_active_turtles2" SrcPort 1 DstBlock "Role mapper" DstPort 2 } Line { SrcBlock "Communication" SrcPort 1 Points [5, 0; 0, -460] DstBlock "take only max_active_turtles" DstPort 1 } Line { SrcBlock "Communication" SrcPort 2 Points [15, 0; 0, -450] DstBlock "take only max_active_turtles2" DstPort 1 } Line { SrcBlock "Role mapper" SrcPort 1 DstBlock "Handlers1" DstPort 10 } Line { SrcBlock "Role mapper" SrcPort 2 DstBlock "Handlers1" DstPort 11 } Line { SrcBlock "take only max_active_turtles1" SrcPort 1 DstBlock "Role mapper" DstPort 3 } Line { SrcBlock "take only max_active_turtles3" SrcPort 1 DstBlock "Role mapper" DstPort 4 } Line { SrcBlock "Communication" SrcPort 3 Points [25, 0; 0, -440] DstBlock "take only max_active_turtles1" DstPort 1 } Line { SrcBlock "Communication" SrcPort 4 Points [35, 0; 0, -430] DstBlock "take only max_active_turtles3" DstPort 1 } Line { SrcBlock "Role mapper" SrcPort 3 DstBlock "Handlers1" DstPort 12 } Line { SrcBlock "Role mapper" SrcPort 4 DstBlock "Handlers1" DstPort 13 } Line { SrcBlock "Communication" SrcPort 9 DstBlock "Goto1" DstPort 1 } Line { SrcBlock "Communication" SrcPort 10 DstBlock "Goto2" DstPort 1 } } } Block { BlockType Outport Name "target xyo global" Position [810, 233, 840, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "subtarget xy global" Position [985, 363, 1015, 377] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "target_xydot" Position [480, 528, 510, 542] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "desired velocity" Position [480, 458, 510, 472] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "precision" Position [480, 598, 510, 612] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "skill_ID" Position [480, 388, 510, 402] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "control enable" Position [810, 123, 840, 137] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "emergency" Position [810, 178, 840, 192] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "scrum" Position [985, 413, 1015, 427] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { Labels [1, 0] SrcBlock "Strategy tuning" SrcPort 1 Points [20, 0] Branch { DstBlock "Selector2" DstPort 1 } Branch { Points [0, 35] Branch { DstBlock "Selector3" DstPort 1 } Branch { Points [0, 35] DstBlock "Selector1" DstPort 1 } } } Line { SrcBlock "Selector2" SrcPort 1 DstBlock "robot Intelligence" DstPort 18 } Line { SrcBlock "robot Intelligence" SrcPort 3 Points [10, 0] Branch { Points [0, 25] DstBlock "path_planning" DstPort 3 } Branch { DstBlock "Goto4" DstPort 1 } } Line { SrcBlock "robot Intelligence" SrcPort 4 Points [10, 0] Branch { Points [0, 0] Branch { DstBlock "skill_ID" DstPort 1 } Branch { Points [0, 25] DstBlock "path_planning" DstPort 5 } } Branch { Points [0, -25] DstBlock "Goto3" DstPort 1 } } Line { SrcBlock "robot Intelligence" SrcPort 6 DstBlock "target_xydot" DstPort 1 } Line { SrcBlock "robot Intelligence" SrcPort 7 DstBlock "precision" DstPort 1 } Line { SrcBlock "robot Intelligence" SrcPort 5 DstBlock "desired velocity" DstPort 1 } Line { SrcBlock "Selector3" SrcPort 1 Points [325, 0; 0, -255] DstBlock "path_planning" DstPort 4 } Line { SrcBlock "From12" SrcPort 1 DstBlock "robot Intelligence" DstPort 14 } Line { SrcBlock "From11" SrcPort 1 DstBlock "robot Intelligence" DstPort 15 } Line { SrcBlock "robot Intelligence" SrcPort 1 DstBlock "emergency handler" DstPort 3 } Line { SrcBlock "robot Intelligence" SrcPort 2 DstBlock "emergency handler" DstPort 5 } Line { SrcBlock "From39" SrcPort 1 DstBlock "robot Intelligence" DstPort 3 } Line { SrcBlock "From1" SrcPort 1 DstBlock "robot Intelligence" DstPort 4 } Line { SrcBlock "From2" SrcPort 1 DstBlock "robot Intelligence" DstPort 7 } Line { SrcBlock "From3" SrcPort 1 DstBlock "robot Intelligence" DstPort 2 } Line { SrcBlock "ball_xy/xydot" SrcPort 1 DstBlock "robot Intelligence" DstPort 8 } Line { SrcBlock "ball_found" SrcPort 1 DstBlock "robot Intelligence" DstPort 9 } Line { SrcBlock "obstacles_xyr\nvision" SrcPort 1 DstBlock "robot Intelligence" DstPort 10 } Line { SrcBlock "From5" SrcPort 1 DstBlock "Unit Delay1" DstPort 1 } Line { SrcBlock "cur_xydot" SrcPort 1 DstBlock "robot Intelligence" DstPort 12 } Line { SrcBlock "From10" SrcPort 1 DstBlock "Unit Delay" DstPort 1 } Line { SrcBlock "From6" SrcPort 1 DstBlock "robot Intelligence" DstPort 5 } Line { SrcBlock "From7" SrcPort 1 DstBlock "robot Intelligence" DstPort 6 } Line { SrcBlock "cur_xyo" SrcPort 1 Points [5, 0] Branch { DstBlock "robot Intelligence" DstPort 1 } Branch { Points [0, -55; 160, 0; 0, 95] Branch { Points [0, 95] DstBlock "path_planning" DstPort 2 } Branch { Labels [0, 0] DstBlock "emergency handler" DstPort 4 } } } Line { SrcBlock "From4" SrcPort 1 DstBlock "path_planning" DstPort 6 } Line { SrcBlock "emergency handler" SrcPort 1 DstBlock "control enable" DstPort 1 } Line { SrcBlock "From8" SrcPort 1 DstBlock "emergency handler" DstPort 1 } Line { SrcBlock "emergency handler" SrcPort 3 Points [10, 0] Branch { DstBlock "target xyo global" DstPort 1 } Branch { Points [0, 40] DstBlock "path_planning" DstPort 1 } Branch { Points [0, -20] DstBlock "Goto2" DstPort 1 } } Line { SrcBlock "emergency handler" SrcPort 2 Points [10, 0] Branch { DstBlock "emergency" DstPort 1 } Branch { Points [0, -20] DstBlock "Goto5" DstPort 1 } } Line { SrcBlock "From9" SrcPort 1 DstBlock "emergency handler" DstPort 2 } Line { SrcBlock "path_planning" SrcPort 1 Points [0, 50; 10, 0] Branch { DstBlock "subtarget xy global" DstPort 1 } Branch { Points [0, -60] DstBlock "Goto1" DstPort 1 } } Line { SrcBlock "Unit Delay" SrcPort 1 DstBlock "robot Intelligence" DstPort 13 } Line { SrcBlock "Unit Delay1" SrcPort 1 DstBlock "robot Intelligence" DstPort 11 } Line { SrcBlock "ball_xyvxvy_est" SrcPort 1 DstBlock "robot Intelligence" DstPort 16 } Line { SrcBlock "opp_xyr_wm" SrcPort 1 DstBlock "robot Intelligence" DstPort 17 } Line { SrcBlock "path_planning" SrcPort 2 DstBlock "scrum" DstPort 1 } Line { SrcBlock "Selector1" SrcPort 1 DstBlock "Goto6" DstPort 1 } } } Block { BlockType SubSystem Name "mccomm_motion" Ports [6, 8] Position [105, 135, 230, 420] BackgroundColor "green" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "mccomm_motion" Location [5, 77, 1675, 1020] 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 "pose_g_enc_robot" Position [190, 93, 220, 107] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "battery voltage" Position [45, 473, 75, 487] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "robot active" Position [170, 253, 200, 267] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "panic_switch_trc" Position [100, 518, 130, 532] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "manual\nmode switch" Position [90, 603, 120, 617] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "cur_xyo @ l2g-vision" Position [430, 533, 460, 547] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "Constant" Position [870, 555, 900, 585] Value "MCCOMM_TIMEOUT_TIME_APPMAN" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [430, 624, 445, 656] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [730, 525, 735, 565] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType From Name "From1" Position [280, 271, 395, 289] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "current_role" TagVisibility "global" } Block { BlockType From Name "From10" Position [280, 351, 395, 369] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "skill_Id" TagVisibility "global" } Block { BlockType From Name "From11" Position [280, 371, 395, 389] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "blue_is_home" TagVisibility "global" } Block { BlockType From Name "From12" Position [280, 391, 395, 409] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "team_color" TagVisibility "global" } Block { BlockType From Name "From13" Position [280, 411, 395, 429] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "CPPArobot" TagVisibility "global" } Block { BlockType From Name "From14" Position [280, 431, 395, 449] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "CPBrobot" TagVisibility "global" } Block { BlockType From Name "From15" Position [280, 451, 395, 469] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "CPBteam" TagVisibility "global" } Block { BlockType From Name "From16" Position [100, 491, 215, 509] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "emergencyStatus" TagVisibility "global" } Block { BlockType From Name "From17" Position [280, 151, 395, 169] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "ball_confidence" TagVisibility "global" } Block { BlockType From Name "From18" Position [280, 71, 395, 89] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "cur_xyo" TagVisibility "global" } Block { BlockType From Name "From19" Position [280, 131, 395, 149] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "ball_dxdydz" TagVisibility "global" } Block { BlockType From Name "From2" Position [280, 171, 395, 189] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "ballFound" TagVisibility "global" } Block { BlockType From Name "From20" Position [275, 551, 390, 569] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "RefboxStageState" TagVisibility "global" } Block { BlockType From Name "From21" Position [275, 571, 390, 589] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "GameStageState" TagVisibility "global" } Block { BlockType From Name "From22" Position [275, 591, 390, 609] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "WMLTuneParam" TagVisibility "global" } Block { BlockType From Name "From23" Position [275, 611, 390, 629] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "waypoints_xy" TagVisibility "global" } Block { BlockType From Name "From24" Position [275, 631, 390, 649] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "wppathlength" TagVisibility "global" } Block { BlockType From Name "From25" Position [275, 651, 390, 669] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "pass_target" TagVisibility "global" } Block { BlockType From Name "From26" Position [275, 671, 390, 689] BackgroundColor "green" CloseFcn "tagdialog Close" GotoTag "pass_role_id" TagVisibility "global" } Block { BlockType From Name "From27" Position [275, 711, 390, 729] BackgroundColor "green" CloseFcn "tagdialog Close" GotoTag "setpoint" TagVisibility "global" } Block { BlockType From Name "From3" Position [280, 111, 395, 129] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "ball_xyz" TagVisibility "global" } Block { BlockType From Name "From4" Position [280, 191, 395, 209] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "target_xyo_global" TagVisibility "global" } Block { BlockType From Name "From5" Position [280, 211, 395, 229] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "subtarget_xy_global" TagVisibility "global" } Block { BlockType From Name "From6" Position [280, 291, 395, 309] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "refbox_role" TagVisibility "global" } Block { BlockType From Name "From7" Position [280, 311, 395, 329] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "assigned_role" TagVisibility "global" } Block { BlockType From Name "From8" Position [280, 331, 395, 349] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "roleSwitch" TagVisibility "global" } Block { BlockType From Name "From9" Position [280, 231, 395, 249] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "obstacles_xyr_strategy" TagVisibility "global" } Block { BlockType Gain Name "Gain" Position [200, 510, 230, 540] Gain "10" ParameterDataTypeMode "Inherit via internal rule" ParameterDataType "sfix(16)" ParameterScaling "2^0" OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Goto Name "Goto1" Position [825, 426, 940, 444] BackgroundColor "green" ShowName off GotoTag "WM_robot_pos" TagVisibility "global" } Block { BlockType Goto Name "Goto2" Position [1020, 556, 1135, 574] BackgroundColor "green" ShowName off GotoTag "WM_active" TagVisibility "global" } Block { BlockType Goto Name "Goto5" Position [825, 371, 940, 389] BackgroundColor "green" ShowName off GotoTag "WM_active_robots" TagVisibility "global" } Block { BlockType RelationalOperator Name "Relational\nOperator" Position [960, 547, 990, 578] Operator "<=" InputSameDT off LogicOutDataTypeMode "boolean" } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [435, 225, 450, 255] ShowName off InputPortWidth "150" IndexOptions "Index vector (dialog)" Indices "[1:30]" OutputSizes "1" } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [725, 368, 770, 392] ShowName off InputPortWidth "7" IndexOptions "Index vector (dialog)" Indices "[1:6]" OutputSizes "1" } Block { BlockType Selector Name "Selector3" Ports [1, 1] Position [725, 423, 770, 447] ShowName off InputPortWidth "21" IndexOptions "Index vector (dialog)" Indices "[1:18]" OutputSizes "1" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [240, 490, 260, 510] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [185, 570, 205, 590] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Terminator Name "WM_ballPos" Position [780, 315, 800, 335] } Block { BlockType "S-Function" Name "mccomm_motion" Ports [32, 11] Position [490, 70, 695, 690] BackgroundColor "green" FunctionName "mccomm_motion" } Block { BlockType Constant Name "motion scheme\nonline" Position [140, 565, 170, 595] OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "omnivision xyo\nand confidence" Position [775, 98, 805, 112] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "omnivision_ball_xy" Position [775, 153, 805, 167] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ov ball conf" Position [775, 208, 805, 222] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "delay times" Position [780, 593, 810, 607] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "t_VL" Position [780, 528, 810, 542] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "obstacles xyr for strategy" Position [775, 263, 805, 277] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball xyvxvy est" Position [780, 648, 810, 662] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "opp_xyr_wm" Position [780, 483, 810, 497] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "mccomm_motion" SrcPort 1 DstBlock "omnivision xyo\nand confidence" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 2 DstBlock "omnivision_ball_xy" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 3 DstBlock "ov ball conf" DstPort 1 } Line { SrcBlock "From9" SrcPort 1 DstBlock "Selector" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 4 DstBlock "obstacles xyr for strategy" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 5 DstBlock "WM_ballPos" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 6 DstBlock "Selector2" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 8 DstBlock "opp_xyr_wm" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 10 DstBlock "delay times" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 9 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "t_VL" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Relational\nOperator" DstPort 1 } Line { SrcBlock "cur_xyo @ l2g-vision" SrcPort 1 Points [10, 0] DstBlock "mccomm_motion" DstPort 24 } Line { SrcBlock "mccomm_motion" SrcPort 11 DstBlock "ball xyvxvy est" DstPort 1 } Line { SrcBlock "From16" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "panic_switch_trc" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "motion scheme\nonline" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "manual\nmode switch" SrcPort 1 Points [70, 0] DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Selector2" SrcPort 1 DstBlock "Goto5" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 7 DstBlock "Selector3" DstPort 1 } Line { SrcBlock "Selector3" SrcPort 1 DstBlock "Goto1" DstPort 1 } Line { SrcBlock "From20" SrcPort 1 Points [80, 0] DstBlock "mccomm_motion" DstPort 25 } Line { SrcBlock "Constant" SrcPort 1 DstBlock "Relational\nOperator" DstPort 2 } Line { SrcBlock "Relational\nOperator" SrcPort 1 DstBlock "Goto2" DstPort 1 } Line { SrcBlock "From21" SrcPort 1 Points [80, 0] DstBlock "mccomm_motion" DstPort 26 } Line { SrcBlock "From22" SrcPort 1 Points [80, 0] DstBlock "mccomm_motion" DstPort 27 } Line { SrcBlock "From18" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 1 } Line { SrcBlock "From3" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 3 } Line { SrcBlock "pose_g_enc_robot" SrcPort 1 Points [250, 0] DstBlock "mccomm_motion" DstPort 2 } Line { SrcBlock "From19" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 4 } Line { SrcBlock "From17" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 5 } Line { SrcBlock "From2" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 6 } Line { SrcBlock "From4" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 7 } Line { SrcBlock "From5" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 8 } Line { SrcBlock "Selector" SrcPort 1 Points [20, 0] DstBlock "mccomm_motion" DstPort 9 } Line { SrcBlock "robot active" SrcPort 1 Points [270, 0] DstBlock "mccomm_motion" DstPort 10 } Line { SrcBlock "From1" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 11 } Line { SrcBlock "From6" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 12 } Line { SrcBlock "From7" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 13 } Line { SrcBlock "From8" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 14 } Line { SrcBlock "From10" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 15 } Line { SrcBlock "From11" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 16 } Line { SrcBlock "From12" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 17 } Line { SrcBlock "From13" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 18 } Line { SrcBlock "From14" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 19 } Line { SrcBlock "From15" SrcPort 1 Points [75, 0] DstBlock "mccomm_motion" DstPort 20 } Line { SrcBlock "battery voltage" SrcPort 1 Points [395, 0] DstBlock "mccomm_motion" DstPort 21 } Line { Labels [1, 0] SrcBlock "Sum" SrcPort 1 Points [210, 0] DstBlock "mccomm_motion" DstPort 22 } Line { SrcBlock "Sum1" SrcPort 1 Points [55, 0; 0, -70] DstBlock "mccomm_motion" DstPort 23 } Line { SrcBlock "From23" SrcPort 1 Points [80, 0] DstBlock "mccomm_motion" DstPort 28 } Line { SrcBlock "From24" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [25, 0] DstBlock "mccomm_motion" DstPort 29 } Line { SrcBlock "From25" SrcPort 1 Points [80, 0] DstBlock "mccomm_motion" DstPort 30 } Line { SrcBlock "From26" SrcPort 1 Points [80, 0] DstBlock "mccomm_motion" DstPort 31 } Line { SrcBlock "From27" SrcPort 1 Points [40, 0; 0, -30] DstBlock "mccomm_motion" DstPort 32 } } } Block { BlockType SubSystem Name "position and ball update" Ports [7, 5] Position [290, 99, 435, 351] BackgroundColor "red" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "position and ball update" Location [315, 77, 1275, 770] 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 "pose encoders" Position [275, 403, 305, 417] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "vision & confidence" Position [275, 438, 305, 452] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ov ball xyz" Position [275, 193, 305, 207] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ov ball conf" Position [275, 228, 305, 242] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "timestamps" Position [190, 473, 220, 487] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "t_VL" Position [275, 508, 305, 522] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "fc_data" Position [275, 263, 305, 277] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [275, 296, 280, 334] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Terminator Name "Terminator" Position [300, 315, 320, 335] ShowName off } Block { BlockType SubSystem Name "ball update" Ports [5, 2] Position [355, 184, 525, 356] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "ball update" Location [5, 77, 1275, 770] 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 "ov ball xy" Position [475, 153, 505, 167] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "ov ball conf" Position [475, 223, 505, 237] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "fc_data" Position [180, 353, 210, 367] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "ov timestamp" Position [390, 463, 420, 477] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "cur_xyo" Position [230, 253, 260, 267] Port "5" IconDisplay "Port number" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [740, 348, 785, 382] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion2" Position [525, 423, 570, 457] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion3" Position [525, 388, 570, 422] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [240, 323, 245, 397] BackgroundColor "black" ShowName off Outputs "[1 3 1]" DisplayOption "bar" } Block { BlockType From Name "From5" Position [390, 396, 505, 414] BackgroundColor "lightBlue" ShowName off CloseFcn "tagdialog Close" GotoTag "blue_is_home" TagVisibility "global" } Block { BlockType From Name "From9" Position [390, 431, 505, 449] BackgroundColor "green" ShowName off CloseFcn "tagdialog Close" GotoTag "robotActive" TagVisibility "global" } Block { BlockType Goto Name "Goto1" Position [815, 391, 930, 409] BackgroundColor "green" ShowName off GotoTag "ballFound" TagVisibility "global" } Block { BlockType Goto Name "Goto3" Position [815, 226, 930, 244] BackgroundColor "green" ShowName off GotoTag "ball_dxdydz" TagVisibility "global" } Block { BlockType Goto Name "Goto5" Position [815, 161, 930, 179] BackgroundColor "green" ShowName off GotoTag "ball_xyz" TagVisibility "global" } Block { BlockType Goto Name "Goto6" Position [815, 291, 930, 309] BackgroundColor "green" ShowName off GotoTag "ball_confidence" TagVisibility "global" } Block { BlockType Ground Name "Ground" Position [305, 290, 325, 310] } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [1045, 78, 1050, 147] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [1000, 76, 1005, 114] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [1000, 109, 1005, 151] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [735, 66, 775, 104] ShowName off InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1 2]" OutputSizes "1" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [735, 101, 775, 139] ShowName off InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "[1 2]" OutputSizes "1" } Block { BlockType "S-Function" Name "ball observations" Ports [9, 5] Position [605, 135, 710, 465] FunctionName "mccomm_ball" } Block { BlockType Constant Name "fc ball dxdydz" Position [540, 285, 570, 315] Value "[0 0 0]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "fc ball1" Position [895, 97, 925, 113] ShowName off Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Terminator Name "fc timestamp" Position [275, 375, 295, 395] } Block { BlockType Terminator Name "fc_confidence" Position [275, 325, 295, 345] } Block { BlockType Terminator Name "fc_dxdydz\nglobal" Position [480, 290, 500, 310] } Block { BlockType "S-Function" Name "local2global_fc" Ports [3, 2] Position [365, 246, 445, 314] FunctionName "local2global_fc" } Block { BlockType Terminator Name "observation id" Position [740, 420, 760, 440] } Block { BlockType Constant Name "ov ball dxdy" Position [540, 180, 570, 210] Value "[0 0]" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Constant Name "ov ball dxdy1" Position [540, 330, 570, 360] Value "0" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Terminator Name "ov timestamp " Position [490, 460, 510, 480] } Block { BlockType Outport Name "ball_xyz/xyzdot" Position [1090, 108, 1120, 122] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball_found" Position [820, 358, 850, 372] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "ov ball xy" SrcPort 1 DstBlock "ball observations" DstPort 1 } Line { SrcBlock "ov ball conf" SrcPort 1 DstBlock "ball observations" DstPort 3 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "ball_xyz/xyzdot" DstPort 1 } Line { SrcBlock "ball observations" SrcPort 4 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "ov ball dxdy" SrcPort 1 DstBlock "ball observations" DstPort 2 } Line { SrcBlock "fc ball dxdydz" SrcPort 1 DstBlock "ball observations" DstPort 5 } Line { SrcBlock "ball observations" SrcPort 3 DstBlock "Goto6" DstPort 1 } Line { SrcBlock "ball observations" SrcPort 1 Points [0, 0] Branch { Points [0, -85] DstBlock "Selector" DstPort 1 } Branch { DstBlock "Goto5" DstPort 1 } } Line { SrcBlock "ball observations" SrcPort 2 Points [5, 0] Branch { DstBlock "Selector1" DstPort 1 } Branch { DstBlock "Goto3" DstPort 1 } } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [5, 0] Branch { DstBlock "ball_found" DstPort 1 } Branch { Points [0, 35] DstBlock "Goto1" DstPort 1 } } Line { SrcBlock "From5" SrcPort 1 DstBlock "Data Type Conversion3" DstPort 1 } Line { SrcBlock "From9" SrcPort 1 DstBlock "Data Type Conversion2" DstPort 1 } Line { SrcBlock "Data Type Conversion2" SrcPort 1 DstBlock "ball observations" DstPort 9 } Line { SrcBlock "Data Type Conversion3" SrcPort 1 DstBlock "ball observations" DstPort 8 } Line { SrcBlock "ball observations" SrcPort 5 DstBlock "observation id" DstPort 1 } Line { SrcBlock "cur_xyo" SrcPort 1 Points [80, 0] Branch { Points [0, 110] DstBlock "ball observations" DstPort 7 } Branch { DstBlock "local2global_fc" DstPort 1 } } Line { SrcBlock "Selector" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "fc ball1" SrcPort 1 Points [25, 0] Branch { DstBlock "Mux1" DstPort 2 } Branch { Points [0, 35] DstBlock "Mux2" DstPort 2 } } Line { SrcBlock "Selector1" SrcPort 1 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "fc_data" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 3 DstBlock "fc timestamp" DstPort 1 } Line { SrcBlock "Ground" SrcPort 1 DstBlock "local2global_fc" DstPort 3 } Line { SrcBlock "local2global_fc" SrcPort 2 DstBlock "fc_dxdydz\nglobal" DstPort 1 } Line { SrcBlock "ov timestamp" SrcPort 1 DstBlock "ov timestamp " DstPort 1 } Line { SrcBlock "local2global_fc" SrcPort 1 DstBlock "ball observations" DstPort 4 } Line { SrcBlock "Demux" SrcPort 2 Points [85, 0; 0, -80] DstBlock "local2global_fc" DstPort 2 } Line { SrcBlock "ov ball dxdy1" SrcPort 1 Points [5, 0; 0, -10] DstBlock "ball observations" DstPort 6 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "fc_confidence" DstPort 1 } } } Block { BlockType SubSystem Name "position update" Ports [4, 3] Position [350, 388, 525, 537] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "position update" Location [232, 190, 1316, 792] 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 "pose encoders" Position [400, 273, 430, 287] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "vision & confidence" Position [205, 88, 235, 102] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "timestamps" Position [85, 398, 115, 412] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "t_VL" Position [85, 348, 115, 362] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Reference Name "Compare\nTo Constant" Ports [1, 1] Position [145, 340, 175, 370] SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">=" const "get_global_par('MAX_DELAY_BUFFER')*get_global_par('MOTION_SAMPLE_RATE')" LogicOutDataTypeMode "boolean" ZeroCross "off" } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [310, 318, 315, 387] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Demux Name "Demux2" Ports [1, 2] Position [275, 68, 280, 117] BackgroundColor "black" ShowName off Outputs "[3 1]" DisplayOption "bar" } Block { BlockType Goto Name "Goto2" Position [930, 181, 1045, 199] BackgroundColor "green" ShowName off GotoTag "cur_xyo" TagVisibility "global" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [215, 311, 220, 349] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [370, 325, 390, 345] ShowName off IconShape "round" Inputs "+-|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [335, 360, 355, 380] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch" Position [240, 340, 270, 370] ShowName off Threshold ".5" InputSameDT off OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType UnitDelay Name "Unit Delay" Position [565, 478, 600, 512] Orientation "left" NamePlacement "alternate" ShowName off SampleTime "-1" } Block { BlockType VariableTransportDelay Name "Variable\nTime Delay1" Position [480, 347, 510, 378] ShowName off MaximumDelay "get_global_par('MAX_DELAY_BUFFER')" MaximumPoints "8*get_global_par('MAX_DELAY_BUFFER')*get_global_par('MOTION_SAMPLE_RATE')" FixedBuffer on } Block { BlockType VariableTransportDelay Name "Variable\nTime Delay2" Position [480, 312, 510, 343] ShowName off MaximumDelay "get_global_par('MAX_DELAY_BUFFER')" MaximumPoints "8*get_global_par('MAX_DELAY_BUFFER')*get_global_par('MOTION_SAMPLE_RATE')" FixedBuffer on } Block { BlockType "S-Function" Name "getTimeOfDay" Ports [0, 1] Position [95, 265, 155, 295] FunctionName "getCurrentTime" } Block { BlockType SubSystem Name "update encoders @ grab" Ports [2, 1] Position [740, 275, 855, 350] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "update encoders @ grab" Location [854, 410, 1283, 739] 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 "offset encoders to pose" Position [20, 78, 50, 92] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "pose encoders" Position [95, 208, 125, 222] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add1" Ports [2, 1] Position [275, 26, 295, 259] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [150, 164, 155, 266] BackgroundColor "black" ShowName off Outputs "[2 1]" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [255, 121, 260, 279] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "R_(R,F)" Ports [2, 1] Position [175, 99, 240, 221] NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "R_(R,F)" Location [652, 687, 1037, 890] 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 "theta" Position [25, 108, 55, 122] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "[x_R y_R]" Position [25, 58, 55, 72] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 25, 85, 100] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 31, 305, 129] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem3" Ports [3, 2] Position [165, 30, 230, 130] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem3" Location [4, 54, 1397, 999] 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 "x_R" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_R" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [245, 27, 275, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [245, 77, 275, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [245, 127, 275, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [245, 177, 275, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [290, 60, 310, 80] ShowName off IconShape "round" Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [290, 160, 310, 180] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [165, 270, 195, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [165, 210, 195, 240] Operator "cos" } Block { BlockType Outport Name "x_W" Position [335, 63, 365, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_W" Position [335, 163, 365, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_W" DstPort 1 } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_W" DstPort 1 } Line { SrcBlock "y_R" SrcPort 1 Points [115, 0] Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } Branch { DstBlock "Product1" DstPort 1 } } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { DstBlock "Product2" DstPort 2 } Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { DstBlock "Product3" DstPort 2 } Branch { Points [0, -150] DstBlock "Product" DstPort 2 } } Line { SrcBlock "x_R" SrcPort 1 Points [0, 0; 60, 0] Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } Branch { DstBlock "Product" DstPort 1 } } Line { SrcBlock "theta" SrcPort 1 Points [70, 0] Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } Branch { Points [0, 60] DstBlock "Trigonometric\nFunction" DstPort 1 } } } } Block { BlockType Outport Name "[x_RF y_wRF" Position [330, 73, 360, 87] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "theta" SrcPort 1 DstBlock "Subsystem3" DstPort 3 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Subsystem3" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Subsystem3" DstPort 2 } Line { SrcBlock "Subsystem3" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { SrcBlock "[x_R y_R]" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "[x_RF y_wRF" DstPort 1 } } } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [130, 117, 155, 143] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "3" OutputSizes "1" } Block { BlockType Outport Name "pose_world" Position [320, 138, 350, 152] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Selector2" SrcPort 1 DstBlock "R_(R,F)" DstPort 1 } Line { SrcBlock "Add1" SrcPort 1 Points [0, 0] DstBlock "pose_world" DstPort 1 } Line { SrcBlock "pose encoders" SrcPort 1 Points [0, 0] DstBlock "Demux1" DstPort 1 } Line { SrcBlock "offset encoders to pose" SrcPort 1 Points [45, 0] Branch { Points [0, 45] DstBlock "Selector2" DstPort 1 } Branch { DstBlock "Add1" DstPort 1 } } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "R_(R,F)" DstPort 2 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Add1" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 2 Points [0, 0] DstBlock "Mux" DstPort 2 } Line { SrcBlock "R_(R,F)" SrcPort 1 DstBlock "Mux" DstPort 1 } } } Block { BlockType SubSystem Name "update encoders @ l2g-vision" Ports [2, 1] Position [740, 370, 855, 445] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "update encoders @ l2g-vision" Location [854, 410, 1283, 739] 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 "offset encoders to pose" Position [20, 78, 50, 92] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "pose encoders" Position [95, 208, 125, 222] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add1" Ports [2, 1] Position [275, 26, 295, 259] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [150, 164, 155, 266] BackgroundColor "black" ShowName off Outputs "[2 1]" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [255, 121, 260, 279] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "R_(R,F)" Ports [2, 1] Position [175, 99, 240, 221] NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "R_(R,F)" Location [652, 687, 1037, 890] 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 "theta" Position [25, 108, 55, 122] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "[x_R y_R]" Position [25, 58, 55, 72] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 25, 85, 100] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 31, 305, 129] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem3" Ports [3, 2] Position [165, 30, 230, 130] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem3" Location [4, 54, 1397, 999] 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 "x_R" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_R" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [245, 27, 275, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [245, 77, 275, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [245, 127, 275, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [245, 177, 275, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [290, 60, 310, 80] ShowName off IconShape "round" Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [290, 160, 310, 180] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [165, 270, 195, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [165, 210, 195, 240] Operator "cos" } Block { BlockType Outport Name "x_W" Position [335, 63, 365, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_W" Position [335, 163, 365, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "theta" SrcPort 1 Points [70, 0] Branch { Points [0, 60] DstBlock "Trigonometric\nFunction" DstPort 1 } Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } } Line { SrcBlock "x_R" SrcPort 1 Points [0, 0; 60, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { Points [0, -150] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product3" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } Branch { DstBlock "Product2" DstPort 2 } } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_R" SrcPort 1 Points [115, 0] Branch { DstBlock "Product1" DstPort 1 } Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_W" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_W" DstPort 1 } } } Block { BlockType Outport Name "[x_RF y_wRF" Position [330, 73, 360, 87] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "[x_RF y_wRF" DstPort 1 } Line { SrcBlock "[x_R y_R]" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Subsystem3" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Subsystem3" DstPort 2 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Subsystem3" DstPort 1 } Line { SrcBlock "theta" SrcPort 1 DstBlock "Subsystem3" DstPort 3 } } } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [130, 117, 155, 143] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "3" OutputSizes "1" } Block { BlockType Outport Name "pose_world" Position [320, 138, 350, 152] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "R_(R,F)" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 Points [0, 0] DstBlock "Mux" DstPort 2 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Add1" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "R_(R,F)" DstPort 2 } Line { SrcBlock "offset encoders to pose" SrcPort 1 Points [45, 0] Branch { DstBlock "Add1" DstPort 1 } Branch { Points [0, 45] DstBlock "Selector2" DstPort 1 } } Line { SrcBlock "pose encoders" SrcPort 1 Points [0, 0] DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Add1" SrcPort 1 Points [0, 0] DstBlock "pose_world" DstPort 1 } Line { SrcBlock "Selector2" SrcPort 1 DstBlock "R_(R,F)" DstPort 1 } } } Block { BlockType SubSystem Name "update encoders @ now" Ports [2, 1] Position [740, 180, 855, 255] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "update encoders @ now" Location [377, 539, 1285, 868] 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 "offset encoders to pose" Position [20, 78, 50, 92] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "pose encoders" Position [95, 208, 125, 222] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Sum Name "Add1" Ports [2, 1] Position [330, 26, 350, 259] ShowName off CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [150, 164, 155, 266] BackgroundColor "black" ShowName off Outputs "[2 1]" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [255, 121, 260, 279] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "R_(R,F)" Ports [2, 1] Position [175, 99, 240, 221] NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "R_(R,F)" Location [821, 454, 1206, 657] 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 "theta" Position [25, 108, 55, 122] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "[x_R y_R]" Position [25, 58, 55, 72] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 25, 85, 100] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 31, 305, 129] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem3" Ports [3, 2] Position [165, 30, 230, 130] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem3" Location [-1, 30, 1392, 975] 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 "x_R" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_R" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [245, 27, 275, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [245, 77, 275, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [245, 127, 275, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [245, 177, 275, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [290, 60, 310, 80] ShowName off IconShape "round" Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [290, 160, 310, 180] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [165, 270, 195, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [165, 210, 195, 240] Operator "cos" } Block { BlockType Outport Name "x_W" Position [335, 63, 365, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_W" Position [335, 163, 365, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "theta" SrcPort 1 Points [70, 0] Branch { Points [0, 60] DstBlock "Trigonometric\nFunction" DstPort 1 } Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } } Line { SrcBlock "x_R" SrcPort 1 Points [0, 0; 60, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { Points [0, -150] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product3" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } Branch { DstBlock "Product2" DstPort 2 } } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_R" SrcPort 1 Points [115, 0] Branch { DstBlock "Product1" DstPort 1 } Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_W" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_W" DstPort 1 } } } Block { BlockType Outport Name "[x_RF y_wRF" Position [330, 73, 360, 87] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "[x_RF y_wRF" DstPort 1 } Line { SrcBlock "[x_R y_R]" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Subsystem3" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Subsystem3" DstPort 2 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Subsystem3" DstPort 1 } Line { SrcBlock "theta" SrcPort 1 DstBlock "Subsystem3" DstPort 3 } } } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [130, 117, 155, 143] InputPortWidth "3" IndexOptions "Index vector (dialog)" Indices "3" OutputSizes "1" } Block { BlockType Outport Name "pose_world" Position [455, 138, 485, 152] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "R_(R,F)" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 Points [0, 0] DstBlock "Mux" DstPort 2 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Add1" DstPort 2 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "R_(R,F)" DstPort 2 } Line { SrcBlock "offset encoders to pose" SrcPort 1 Points [45, 0] Branch { DstBlock "Add1" DstPort 1 } Branch { Points [0, 45] DstBlock "Selector2" DstPort 1 } } Line { SrcBlock "pose encoders" SrcPort 1 Points [0, 0] DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Add1" SrcPort 1 DstBlock "pose_world" DstPort 1 } Line { SrcBlock "Selector2" SrcPort 1 DstBlock "R_(R,F)" DstPort 1 } } } Block { BlockType SubSystem Name "update rotation and translation\nmatrices parameters" Ports [2, 1, 1] Position [545, 150, 710, 245] BackgroundColor "yellow" TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "update rotation and translation\nmatrices parameters" Location [388, 103, 1078, 428] 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 "pose vision" Position [135, 253, 165, 267] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "pose encoders" Position [125, 133, 155, 147] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType EnablePort Name "Enable" Ports [] Position [235, 20, 255, 40] } Block { BlockType Sum Name "Add1" Ports [2, 1] Position [220, 145, 245, 205] ShowName off Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Add2" Ports [2, 1] Position [380, 204, 410, 246] ShowName off Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [200, 93, 205, 182] BackgroundColor "black" ShowName off Outputs "[2 1]" DisplayOption "bar" } Block { BlockType Demux Name "Demux3" Ports [1, 2] Position [190, 211, 195, 309] BackgroundColor "black" ShowName off Outputs "[2 1]" DisplayOption "bar" } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [430, 212, 435, 268] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "R_(R,F)" Ports [2, 1] Position [290, 84, 355, 206] NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "R_(R,F)" Location [652, 687, 1037, 890] 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 "[x_R y_R]" Position [25, 58, 55, 72] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 108, 55, 122] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [80, 25, 85, 100] BackgroundColor "black" ShowName off Outputs "2" DisplayOption "bar" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [300, 31, 305, 129] ShowName off Inputs "2" DisplayOption "bar" } Block { BlockType SubSystem Name "Subsystem3" Ports [3, 2] Position [165, 30, 230, 130] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "Subsystem3" Location [4, 54, 1397, 999] 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 "x_R" Position [25, 28, 55, 42] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "y_R" Position [25, 78, 55, 92] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "theta" Position [25, 218, 55, 232] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Product Name "Product" Ports [2, 1] Position [245, 27, 275, 58] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product1" Ports [2, 1] Position [245, 77, 275, 108] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product2" Ports [2, 1] Position [245, 127, 275, 158] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Product Name "Product3" Ports [2, 1] Position [245, 177, 275, 208] CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [290, 60, 310, 80] ShowName off IconShape "round" Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum4" Ports [2, 1] Position [290, 160, 310, 180] ShowName off IconShape "round" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Trigonometry Name "Trigonometric\nFunction" Ports [1, 1] Position [165, 270, 195, 300] } Block { BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [165, 210, 195, 240] Operator "cos" } Block { BlockType Outport Name "x_W" Position [335, 63, 365, 77] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "y_W" Position [335, 163, 365, 177] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "theta" SrcPort 1 Points [70, 0] Branch { Points [0, 60] DstBlock "Trigonometric\nFunction" DstPort 1 } Branch { DstBlock "Trigonometric\nFunction1" DstPort 1 } } Line { SrcBlock "x_R" SrcPort 1 Points [0, 0; 60, 0] Branch { DstBlock "Product" DstPort 1 } Branch { Points [0, 100] DstBlock "Product2" DstPort 1 } } Line { SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [5, 0; 0, -25] Branch { Points [0, -150] DstBlock "Product" DstPort 2 } Branch { DstBlock "Product3" DstPort 2 } } Line { SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [20, 0; 0, -135] Branch { Points [0, -50] DstBlock "Product1" DstPort 2 } Branch { DstBlock "Product2" DstPort 2 } } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Product2" SrcPort 1 DstBlock "Sum4" DstPort 1 } Line { SrcBlock "Product3" SrcPort 1 DstBlock "Sum4" DstPort 2 } Line { SrcBlock "y_R" SrcPort 1 Points [115, 0] Branch { DstBlock "Product1" DstPort 1 } Branch { Points [0, 100] DstBlock "Product3" DstPort 1 } } Line { SrcBlock "Sum3" SrcPort 1 Points [0, 0] DstBlock "x_W" DstPort 1 } Line { SrcBlock "Sum4" SrcPort 1 Points [0, 0] DstBlock "y_W" DstPort 1 } Annotation { Position [834, 702] } } } Block { BlockType Outport Name "[x_RF y_wRF" Position [330, 73, 360, 87] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Mux" SrcPort 1 DstBlock "[x_RF y_wRF" DstPort 1 } Line { SrcBlock "[x_R y_R]" SrcPort 1 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Subsystem3" SrcPort 2 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Subsystem3" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Subsystem3" DstPort 2 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Subsystem3" DstPort 1 } Line { SrcBlock "theta" SrcPort 1 DstBlock "Subsystem3" DstPort 3 } } } Block { BlockType Outport Name "offset xyo encoders to pose" Position [495, 233, 525, 247] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "pose vision" SrcPort 1 DstBlock "Demux3" DstPort 1 } Line { SrcBlock "pose encoders" SrcPort 1 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Add1" DstPort 1 } Line { SrcBlock "Add1" SrcPort 1 Points [0, 0; 10, 0] Branch { DstBlock "R_(R,F)" DstPort 2 } Branch { Points [0, 80] DstBlock "Mux2" DstPort 2 } } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "R_(R,F)" DstPort 1 } Line { SrcBlock "R_(R,F)" SrcPort 1 Points [5, 0] DstBlock "Add2" DstPort 1 } Line { SrcBlock "Add2" SrcPort 1 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 Points [0, 0] DstBlock "offset xyo encoders to pose" DstPort 1 } Line { SrcBlock "Demux3" SrcPort 1 DstBlock "Add2" DstPort 2 } Line { SrcBlock "Demux3" SrcPort 2 Points [5, 0] DstBlock "Add1" DstPort 2 } } } Block { BlockType SubSystem Name "update worthiness" Ports [3, 1] Position [335, 65, 465, 145] BackgroundColor "yellow" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "update worthiness" Location [265, 98, 1165, 414] 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 "vision" Position [25, 38, 55, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "vision_confidence" Position [275, 168, 305, 182] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "world model" Position [25, 78, 55, 92] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Fcn Name "2-norm voor phi" Position [170, 50, 230, 80] Expr "sqrt((u(3))^2)" } Block { BlockType Fcn Name "2-norm zonder phi!" Position [170, 125, 230, 155] Expr "sqrt(((u(1))^2)+((u(2))^2 ))" } Block { BlockType Reference Name "Compare" Ports [1, 1] Position [330, 160, 360, 190] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">" const "0.5" LogicOutDataTypeMode "boolean" ZeroCross "off" } Block { BlockType Reference Name "Compare\n" Ports [1, 1] Position [260, 125, 290, 155] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">" const "0.05" LogicOutDataTypeMode "boolean" ZeroCross "off" } Block { BlockType Reference Name "Compare1" Ports [1, 1] Position [235, 49, 310, 81] ShowName off SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" ShowPortLabels "FromPortIcon" SystemSampleTime "-1" FunctionWithSeparateData "off" RTWMemSecFuncInitTerm "Inherit from model" RTWMemSecFuncExecute "Inherit from model" RTWMemSecDataConstants "Inherit from model" RTWMemSecDataInternal "Inherit from model" RTWMemSecDataParameters "Inherit from model" relop ">" const "1/180*pi" LogicOutDataTypeMode "boolean" ZeroCross "off" } Block { BlockType DataTypeConversion Name "Data Type Conversion" Position [490, 138, 565, 172] OutDataTypeMode "double" OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off SampleTime "Ts" } Block { BlockType Logic Name "Logical\nOperator1" Ports [2, 1] Position [330, 115, 360, 150] ShowName off Operator "OR" AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Logic Name "Logical\nOperator3" Ports [2, 1] Position [385, 114, 415, 196] ShowName off AllPortsSameDT off OutDataTypeMode "boolean" } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [80, 25, 110, 105] NamePlacement "alternate" ShowName off Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" SaturateOnIntegerOverflow off } Block { BlockType Outport Name "1/0-update" Position [625, 148, 655, 162] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Data Type Conversion" SrcPort 1 DstBlock "1/0-update" DstPort 1 } Line { SrcBlock "Compare1" SrcPort 1 DstBlock "Logical\nOperator1" DstPort 1 } Line { SrcBlock "Compare" SrcPort 1 DstBlock "Logical\nOperator3" DstPort 2 } Line { SrcBlock "Compare\n" SrcPort 1 Points [0, 0] DstBlock "Logical\nOperator1" DstPort 2 } Line { SrcBlock "2-norm zonder phi!" SrcPort 1 Points [0, 0] DstBlock "Compare\n" DstPort 1 } Line { SrcBlock "Logical\nOperator1" SrcPort 1 DstBlock "Logical\nOperator3" DstPort 1 } Line { SrcBlock "vision_confidence" SrcPort 1 Points [0, 0] DstBlock "Compare" DstPort 1 } Line { SrcBlock "vision" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "world model" SrcPort 1 DstBlock "Sum2" DstPort 2 } Line { SrcBlock "Sum2" SrcPort 1 Points [15, 0] Branch { Points [0, 75] DstBlock "2-norm zonder phi!" DstPort 1 } Branch { DstBlock "2-norm voor phi" DstPort 1 } } Line { SrcBlock "2-norm voor phi" SrcPort 1 Points [0, 0] DstBlock "Compare1" DstPort 1 } Line { SrcBlock "Logical\nOperator3" SrcPort 1 DstBlock "Data Type Conversion" DstPort 1 } } } Block { BlockType Outport Name "cur_xyo" Position [930, 213, 960, 227] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "motion_offset" Position [745, 138, 775, 152] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "cur_xyo @\nl2g-vision" Position [930, 403, 960, 417] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Demux2" SrcPort 2 DstBlock "update worthiness" DstPort 2 } Line { SrcBlock "Demux2" SrcPort 1 Points [35, 0] Branch { DstBlock "update worthiness" DstPort 1 } Branch { Points [0, 95] DstBlock "update rotation and translation\nmatrices parameters" DstPort 1 } } Line { SrcBlock "update worthiness" SrcPort 1 Points [155, 0] DstBlock "update rotation and translation\nmatrices parameters" DstPort enable } Line { SrcBlock "update rotation and translation\nmatrices parameters" SrcPort 1 Points [5, 0] Branch { Points [0, 0] Branch { DstBlock "update encoders @ now" DstPort 1 } Branch { Points [0, 95] Branch { DstBlock "update encoders @ grab" DstPort 1 } Branch { Points [0, 95] DstBlock "update encoders @ l2g-vision" DstPort 1 } } } Branch { Points [0, -55] DstBlock "motion_offset" DstPort 1 } } Line { SrcBlock "update encoders @ now" SrcPort 1 Points [15, 0] Branch { Points [0, -30] DstBlock "Goto2" DstPort 1 } Branch { DstBlock "cur_xyo" DstPort 1 } } Line { SrcBlock "vision & confidence" SrcPort 1 DstBlock "Demux2" DstPort 1 } Line { SrcBlock "Variable\nTime Delay2" SrcPort 1 Points [10, 0] Branch { Points [0, -110] DstBlock "update rotation and translation\nmatrices parameters" DstPort 2 } Branch { DstBlock "update encoders @ grab" DstPort 2 } } Line { SrcBlock "timestamps" SrcPort 1 Points [80, 0; 0, -40] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Demux1" SrcPort 1 Points [25, 0] Branch { DstBlock "Sum" DstPort 2 } Branch { DstBlock "Sum1" DstPort 1 } } Line { SrcBlock "getTimeOfDay" SrcPort 1 Points [40, 0] Branch { Points [0, 40] Branch { DstBlock "Mux" DstPort 1 } Branch { DstBlock "Mux" DstPort 2 } } Branch { Points [180, 0] DstBlock "Sum" DstPort 1 } } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "pose encoders" SrcPort 1 Points [20, 0] Branch { Points [0, 40] Branch { DstBlock "Variable\nTime Delay2" DstPort 1 } Branch { Points [0, 35] DstBlock "Variable\nTime Delay1" DstPort 1 } } Branch { Points [270, 0] DstBlock "update encoders @ now" DstPort 2 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Variable\nTime Delay2" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Variable\nTime Delay1" DstPort 2 } Line { SrcBlock "Variable\nTime Delay1" SrcPort 1 Points [90, 0; 0, 60] DstBlock "update encoders @ l2g-vision" DstPort 2 } Line { SrcBlock "update encoders @ l2g-vision" SrcPort 1 DstBlock "cur_xyo @\nl2g-vision" DstPort 1 } Line { SrcBlock "update encoders @ grab" SrcPort 1 Points [40, 0; 0, 180] DstBlock "Unit Delay" DstPort 1 } Line { SrcBlock "Unit Delay" SrcPort 1 Points [-280, 0; 0, -365] DstBlock "update worthiness" DstPort 3 } Line { SrcBlock "t_VL" SrcPort 1 DstBlock "Compare\nTo Constant" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "Switch" DstPort 1 } Line { SrcBlock "Compare\nTo Constant" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Switch" SrcPort 1 DstBlock "Demux1" DstPort 1 } } } Block { BlockType Outport Name "motion_offset" Position [575, 458, 605, 472] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "cur_xyo" Position [575, 408, 605, 422] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball_xy/xydot" Position [575, 223, 605, 237] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball_found" Position [575, 308, 605, 322] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "cur_xyo@ l2g-vision" Position [575, 508, 605, 522] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "ball update" SrcPort 1 DstBlock "ball_xy/xydot" DstPort 1 } Line { SrcBlock "ov ball xyz" SrcPort 1 DstBlock "ball update" DstPort 1 } Line { SrcBlock "ov ball conf" SrcPort 1 DstBlock "ball update" DstPort 2 } Line { SrcBlock "ball update" SrcPort 2 DstBlock "ball_found" DstPort 1 } Line { SrcBlock "pose encoders" SrcPort 1 DstBlock "position update" DstPort 1 } Line { SrcBlock "vision & confidence" SrcPort 1 DstBlock "position update" DstPort 2 } Line { SrcBlock "timestamps" SrcPort 1 Points [10, 0] Branch { DstBlock "position update" DstPort 3 } Branch { Points [0, -165] DstBlock "Demux" DstPort 1 } } Line { SrcBlock "position update" SrcPort 2 DstBlock "motion_offset" DstPort 1 } Line { SrcBlock "position update" SrcPort 1 Points [15, 0] Branch { DstBlock "cur_xyo" DstPort 1 } Branch { Points [0, -45; -205, 0] DstBlock "ball update" DstPort 5 } } Line { SrcBlock "position update" SrcPort 3 DstBlock "cur_xyo@ l2g-vision" DstPort 1 } Line { SrcBlock "t_VL" SrcPort 1 DstBlock "position update" DstPort 4 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Terminator" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "ball update" DstPort 4 } Line { SrcBlock "fc_data" SrcPort 1 DstBlock "ball update" DstPort 3 } } } Block { BlockType SubSystem Name "refbox commands" Ports [0, 2] Position [105, 522, 230, 598] BackgroundColor "lightBlue" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "refbox commands" Location [303, 77, 1072, 617] 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 DataTypeConversion Name "Data Type Conversion" Position [210, 131, 245, 159] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType DataTypeConversion Name "Data Type Conversion1" Position [210, 163, 245, 187] ShowName off OutDataType "sfix(16)" OutScaling "2^0" RndMeth "Floor" SaturateOnIntegerOverflow off } Block { BlockType Demux Name "Demux" Ports [1, 2] Position [215, 186, 220, 224] BackgroundColor "black" ShowName off Outputs "[6 1]" DisplayOption "bar" } Block { BlockType Demux Name "Demux1" Ports [1, 2] Position [215, 246, 220, 284] BackgroundColor "black" ShowName off Outputs "[6 1]" DisplayOption "bar" } Block { BlockType Goto Name "Goto1" Position [275, 121, 390, 139] BackgroundColor "lightBlue" ShowName off GotoTag "team_color" TagVisibility "global" } Block { BlockType Goto Name "Goto11" Position [275, 166, 390, 184] BackgroundColor "lightBlue" ShowName off GotoTag "blue_is_home" TagVisibility "global" } Block { BlockType Goto Name "Goto2" Position [635, 231, 750, 249] BackgroundColor "lightBlue" ShowName off GotoTag "refbox_task" TagVisibility "global" } Block { BlockType Goto Name "Goto3" Position [275, 376, 390, 394] BackgroundColor "lightBlue" ShowName off GotoTag "roleAssignerMode" TagVisibility "global" } Block { BlockType Goto Name "Goto4" Position [630, 286, 745, 304] BackgroundColor "lightBlue" ShowName off GotoTag "refbox_task_trigger" TagVisibility "global" } Block { BlockType Goto Name "Goto5" Position [280, 31, 395, 49] BackgroundColor "lightBlue" ShowName off GotoTag "turtle_ID" TagVisibility "global" } Block { BlockType Goto Name "Goto6" Position [635, 341, 750, 359] BackgroundColor "lightBlue" ShowName off GotoTag "destination" TagVisibility "global" } Block { BlockType Goto Name "Goto7" Position [275, 186, 390, 204] BackgroundColor "lightBlue" ShowName off GotoTag "role_IDs" TagVisibility "global" } Block { BlockType Goto Name "Goto8" Position [275, 246, 390, 264] BackgroundColor "lightBlue" ShowName off GotoTag "refbox_role_IDs" TagVisibility "global" } Block { BlockType Terminator Name "Terminator" Position [245, 265, 265, 285] ShowName off } Block { BlockType Terminator Name "Terminator1" Position [245, 205, 265, 225] ShowName off } Block { BlockType Terminator Name "Terminator2" Position [245, 225, 265, 245] ShowName off } Block { BlockType SubSystem Name "check for refbox change" Ports [5, 3] Position [440, 214, 595, 376] BackgroundColor "yellow" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off System { Name "check for refbox change" Location [496, 449, 1275, 770] 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 "turtle_id" Position [25, 133, 55, 147] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "team color" Position [25, 33, 55, 47] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "refbox cmd" Position [25, 58, 55, 72] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "destination_in" Position [25, 108, 55, 122] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Inport Name "server status" Position [25, 83, 55, 97] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType "S-Function" Name "S-Function" Ports [5, 3] Position [140, 23, 315, 157] BackgroundColor "yellow" FunctionName "refbox_comm" } Block { BlockType Outport Name "refbox task" Position [360, 38, 390, 52] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "new refbox task trigger" Position [360, 83, 390, 97] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "destination" Position [360, 128, 390, 142] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "S-Function" SrcPort 1 DstBlock "refbox task" DstPort 1 } Line { SrcBlock "team color" SrcPort 1 DstBlock "S-Function" DstPort 1 } Line { SrcBlock "S-Function" SrcPort 2 DstBlock "new refbox task trigger" DstPort 1 } Line { SrcBlock "refbox cmd" SrcPort 1 DstBlock "S-Function" DstPort 2 } Line { SrcBlock "S-Function" SrcPort 3 DstBlock "destination" DstPort 1 } Line { SrcBlock "server status" SrcPort 1 DstBlock "S-Function" DstPort 3 } Line { SrcBlock "destination_in" SrcPort 1 DstBlock "S-Function" DstPort 4 } Line { SrcBlock "turtle_id" SrcPort 1 DstBlock "S-Function" DstPort 5 } } } Block { BlockType "S-Function" Name "receive refbox commands" Ports [0, 11] Position [75, 99, 195, 431] BackgroundColor "green" FunctionName "mccomm_receiveRefboxCommands" MaskInitialization "try\n labels = getLabels('mccomm_receiveRefboxCommands.c');\n set_param(gcb,'MaskDisplay',labels);\ncatch\nend" MaskDisplay "port_label('output',1,'robotId')\nport_label('output',2,'teamColor')\nport_label('output',3,'blueIsHome')\nport_label('output',4,'roleIds')\nport_label('output',5,'defaultRoleId')\nport_label('output',6,'refboxRoleIds')\nport_label('output',7,'refboxCommand')\nport_label('output',8,'desired_xyo')\nport_label('output',9,'refbox(gui) status')\nport_label('output',10,'roleAssignerMode')\nport_label('output',11,'penaltyDemoMode')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Outport Name "turtle_ID" Position [295, 68, 325, 82] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "penaltyDemoMode" Position [275, 408, 305, 422] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "receive refbox commands" SrcPort 2 DstBlock "Data Type Conversion" DstPort 1 } Line { SrcBlock "receive refbox commands" SrcPort 9 DstBlock "check for refbox change" DstPort 5 } Line { SrcBlock "receive refbox commands" SrcPort 7 DstBlock "check for refbox change" DstPort 3 } Line { SrcBlock "check for refbox change" SrcPort 1 DstBlock "Goto2" DstPort 1 } Line { SrcBlock "check for refbox change" SrcPort 2 DstBlock "Goto4" DstPort 1 } Line { SrcBlock "receive refbox commands" SrcPort 1 Points [55, 0] Branch { Points [0, -75] DstBlock "Goto5" DstPort 1 } Branch { Points [25, 0] Branch { DstBlock "turtle_ID" DstPort 1 } Branch { Points [145, 0] DstBlock "check for refbox change" DstPort 1 } } } Line { SrcBlock "receive refbox commands" SrcPort 3 DstBlock "Data Type Conversion1" DstPort 1 } Line { SrcBlock "receive refbox commands" SrcPort 5 DstBlock "Terminator2" DstPort 1 } Line { SrcBlock "Data Type Conversion" SrcPort 1 Points [5, 0] Branch { Points [150, 0; 0, 120] DstBlock "check for refbox change" DstPort 2 } Branch { Points [5, 0] DstBlock "Goto1" DstPort 1 } } Line { SrcBlock "Data Type Conversion1" SrcPort 1 DstBlock "Goto11" DstPort 1 } Line { SrcBlock "receive refbox commands" SrcPort 4 DstBlock "Demux" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 DstBlock "Goto7" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 DstBlock "Terminator1" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 1 DstBlock "Goto8" DstPort 1 } Line { SrcBlock "Demux1" SrcPort 2 DstBlock "Terminator" DstPort 1 } Line { SrcBlock "receive refbox commands" SrcPort 6 DstBlock "Demux1" DstPort 1 } Line { SrcBlock "check for refbox change" SrcPort 3 DstBlock "Goto6" DstPort 1 } Line { SrcBlock "receive refbox commands" SrcPort 8 DstBlock "check for refbox change" DstPort 4 } Line { SrcBlock "receive refbox commands" SrcPort 10 DstBlock "Goto3" DstPort 1 } Line { SrcBlock "receive refbox commands" SrcPort 11 DstBlock "penaltyDemoMode" DstPort 1 } } } Block { BlockType Outport Name "pose_g\nrobot_ref" Position [1210, 448, 1240, 462] IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball left" Position [1265, 258, 1295, 272] Port "2" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "ball right" Position [1265, 348, 1295, 362] Port "3" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Skill ID" Position [765, 273, 795, 287] Port "4" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "IO Keeper Block" Position [950, 438, 980, 452] Port "5" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "emergency" Position [685, 333, 715, 347] Port "6" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "control enable" Position [685, 308, 715, 322] Port "7" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "demo-team-role" Position [755, 558, 785, 572] Port "8" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "Tunable_kick" Position [1230, 83, 1260, 97] Port "9" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "target_xyo\ncur_xyo" Position [775, 53, 805, 67] Port "10" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "turtle_ID" Position [270, 533, 300, 547] Port "11" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "penaltyDemoMode" Position [270, 573, 300, 587] Port "12" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Block { BlockType Outport Name "tunable param move" Position [780, 503, 810, 517] Port "13" IconDisplay "Port number" OutDataType "sfix(16)" OutScaling "2^0" } Line { SrcBlock "Subsystem" SrcPort 1 DstBlock "IO Keeper Block" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 1 DstBlock "position and ball update" DstPort 2 } Line { SrcBlock "handlers" SrcPort 6 Points [85, 0] Branch { Points [0, -10] DstBlock "Skill ID" DstPort 1 } Branch { Points [70, 0; 0, 10; 10, 0] DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 8 } } Line { SrcBlock "robot active" SrcPort 1 Points [10, 0] Branch { DstBlock "mccomm_motion" DstPort 3 } Branch { Points [0, 245] DstBlock "Goto1" DstPort 1 } } Line { SrcBlock "Smoetsiefeier with tracing+waypointplanner" SrcPort 1 Points [0, -10] DstBlock "Ball handling" DstPort 1 } Line { SrcBlock "Ball handling" SrcPort 2 DstBlock "ball left" DstPort 1 } Line { SrcBlock "Ball handling" SrcPort 3 DstBlock "ball right" DstPort 1 } Line { SrcBlock "arm left" SrcPort 1 DstBlock "Ball handling" DstPort 2 } Line { SrcBlock "arm right" SrcPort 1 DstBlock "Ball handling" DstPort 3 } Line { SrcBlock "tacho left" SrcPort 1 DstBlock "Ball handling" DstPort 4 } Line { SrcBlock "tacho right" SrcPort 1 DstBlock "Ball handling" DstPort 5 } Line { SrcBlock "q" SrcPort 1 DstBlock "Ball handling" DstPort 6 } Line { SrcBlock "tunable params_ball" SrcPort 1 DstBlock "Ball handling" DstPort 7 } Line { SrcBlock "tunable params\nsmoothifier" SrcPort 1 Points [115, 0] Branch { Points [0, 65] DstBlock "tunable param move" DstPort 1 } Branch { Points [0, -85; 85, 0] DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 10 } } Line { SrcBlock "control enable \nand amplifiers on" SrcPort 1 Points [20, 0] DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 9 } Line { SrcBlock "Mux" SrcPort 1 DstBlock "target_xyo\ncur_xyo" DstPort 1 } Line { SrcBlock "pose_g\nenc_robot" SrcPort 1 Points [25, 0] Branch { Points [0, 45] DstBlock "mccomm_motion" DstPort 1 } Branch { Points [145, 0] Branch { DstBlock "position and ball update" DstPort 1 } Branch { Labels [2, 0] Points [0, -35; 465, 0; 0, 25; 115, 0; 0, 10; 10, 0] DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 12 } } } Line { SrcBlock "Ball handling" SrcPort 1 DstBlock "Goto4" DstPort 1 } Line { SrcBlock "handlers" SrcPort 4 DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 6 } Line { SrcBlock "handlers" SrcPort 5 Points [155, 0; 0, 5; 10, 0] } Line { SrcBlock "handlers" SrcPort 3 Points [155, 0; 0, -5; 10, 0] } Line { SrcBlock "handlers" SrcPort 2 DstBlock "global to local" DstPort 3 } Line { SrcBlock "global to local" SrcPort 1 Points [0, 10; 10, 0] } Line { SrcBlock "handlers" SrcPort 7 DstBlock "control enable" DstPort 1 } Line { SrcBlock "Smoetsiefeier with tracing+waypointplanner" SrcPort 3 Points [0, 135; -595, 0; 0, -125] DstBlock "handlers" DstPort 7 } Line { SrcBlock "position and ball update" SrcPort 1 Points [210, 0] Branch { Points [30, 0] DstBlock "global to local" DstPort 1 } Branch { Points [0, 65] DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 4 } } Line { SrcBlock "position and ball update" SrcPort 2 Points [0, -10; 30, 0] Branch { Points [15, 0] DstBlock "handlers" DstPort 1 } Branch { Points [0, -95; 150, 0] Branch { DstBlock "Mux" DstPort 2 } Branch { Points [0, 45] DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 1 } } } Line { SrcBlock "position and ball update" SrcPort 3 Points [0, -30] DstBlock "handlers" DstPort 2 } Line { SrcBlock "position and ball update" SrcPort 4 Points [0, -45] DstBlock "handlers" DstPort 3 } Line { SrcBlock "mccomm_motion" SrcPort 2 DstBlock "position and ball update" DstPort 3 } Line { SrcBlock "mccomm_motion" SrcPort 3 DstBlock "position and ball update" DstPort 4 } Line { SrcBlock "mccomm_motion" SrcPort 6 Points [0, 0] Branch { Points [0, 25; 220, 0; 0, -90] DstBlock "handlers" DstPort 4 } Branch { Points [585, 0] DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 3 } } Line { SrcBlock "battery voltage" SrcPort 1 Points [20, 0] Branch { DstBlock "mccomm_motion" DstPort 2 } Branch { Points [0, 270] DstBlock "Goto2" DstPort 1 } } Line { SrcBlock "Retract_ball" SrcPort 1 DstBlock "Ball handling" DstPort 8 } Line { SrcBlock "tunable params_kick" SrcPort 1 DstBlock "Tunable_kick" DstPort 1 } Line { SrcBlock "SkillIDin" SrcPort 1 DstBlock "Subsystem" DstPort 1 } Line { SrcBlock "mccomm_motion" SrcPort 4 DstBlock "position and ball update" DstPort 5 } Line { SrcBlock "position and ball update" SrcPort 5 Points [5, 0; 0, 130; -355, 0] DstBlock "mccomm_motion" DstPort 6 } Line { SrcBlock "mccomm_motion" SrcPort 5 DstBlock "position and ball update" DstPort 6 } Line { SrcBlock "mccomm_motion" SrcPort 7 DstBlock "Selector" DstPort 1 } Line { SrcBlock "Selector" SrcPort 1 Points [180, 0; 0, -65] DstBlock "handlers" DstPort 5 } Line { SrcBlock "refbox commands" SrcPort 1 DstBlock "turtle_ID" DstPort 1 } Line { SrcBlock "global to local" SrcPort 2 Points [0, -5; 10, 0] } Line { SrcBlock "Smoetsiefeier with tracing+waypointplanner" SrcPort 2 Points [15, 0; 0, 200] DstBlock "pose_g\nrobot_ref" DstPort 1 } Line { SrcBlock "panic_switch_trc" SrcPort 1 DstBlock "mccomm_motion" DstPort 4 } Line { SrcBlock "mccomm_motion" SrcPort 8 Points [240, 0; 0, -65] DstBlock "handlers" DstPort 6 } Line { SrcBlock "manual_switch" SrcPort 1 DstBlock "mccomm_motion" DstPort 5 } Line { SrcBlock "fc_data" SrcPort 1 DstBlock "position and ball update" DstPort 7 } Line { SrcBlock "handlers" SrcPort 9 Points [30, 0; 0, 25; 135, 0] } Line { SrcBlock "handlers" SrcPort 8 DstBlock "emergency" DstPort 1 } Line { SrcBlock "handlers" SrcPort 1 Points [0, -5; 10, 0] Branch { DstBlock "global to local" DstPort 2 } Branch { Points [0, -65] Branch { Points [0, -45] DstBlock "Mux" DstPort 1 } Branch { Points [155, 0] DstBlock "Smoetsiefeier with tracing+waypointplanner" DstPort 2 } } } Line { SrcBlock "From1" SrcPort 1 DstBlock "Mux1" DstPort 1 } Line { SrcBlock "From2" SrcPort 1 DstBlock "Mux1" DstPort 2 } Line { SrcBlock "From5" SrcPort 1 DstBlock "Mux1" DstPort 3 } Line { SrcBlock "Mux1" SrcPort 1 DstBlock "demo-team-role" DstPort 1 } Line { SrcBlock "refbox commands" SrcPort 2 DstBlock "penaltyDemoMode" DstPort 1 } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [210, 246, 250, 264] BackgroundColor "blue" ShowName off InputPortWidth "100" IndexOptions "Index vector (dialog)" Indices "SFTuneparams" OutputSizes "1" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [210, 272, 250, 288] BackgroundColor "blue" ShowName off InputPortWidth "100" IndexOptions "Index vector (dialog)" Indices "BHTuneparams" OutputSizes "1" } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [210, 297, 250, 313] BackgroundColor "blue" ShowName off InputPortWidth "100" IndexOptions "Index vector (dialog)" Indices "[KTuneparams]" OutputSizes "1" } Block { BlockType SubSystem Name "Set CPU affinity" Ports [] Position [56, 358, 156, 423] BackgroundColor "gray" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskType "Set CPU affinity" MaskPromptString "Choose CPU id" MaskStyleString "popup(cpu0|cpu1|cpu2|cpu3)" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "cpu_id=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "cpu0" System { Name "Set CPU affinity" Location [620, 379, 1037, 707] 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 "S-Function" Name "Set CPU affinity" Ports [0, 1] Position [110, 121, 250, 189] BackgroundColor "green" FunctionName "sf_setcpu" Parameters "cpu_id" } Block { BlockType Terminator Name "Terminator" Position [280, 145, 300, 165] } Line { SrcBlock "Set CPU affinity" SrcPort 1 DstBlock "Terminator" DstPort 1 } } } Block { BlockType Step Name "Step" Position [325, 80, 355, 110] ShowName off Time "0.5" SampleTime "Ts" } Line { SrcBlock "Motion tuning" SrcPort 1 Points [15, 0] Branch { Points [0, -25] DstBlock "Selector" DstPort 1 } Branch { Points [0, 0] Branch { DstBlock "Selector1" DstPort 1 } Branch { Points [0, 25] DstBlock "Selector2" DstPort 1 } } } Line { SrcBlock "Selector" SrcPort 1 DstBlock "Reference & Control" DstPort 6 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 4 DstBlock "Mux3" DstPort 1 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 5 DstBlock "Mux3" DstPort 2 } Line { SrcBlock "Selector1" SrcPort 1 DstBlock "Reference & Control" DstPort 7 } Line { SrcBlock "Reference & Control" SrcPort 4 DstBlock "Decoupled ControlledRobot" DstPort 4 } Line { SrcBlock "Reference & Control" SrcPort 5 DstBlock "Decoupled ControlledRobot" DstPort 5 } Line { SrcBlock "Demux3" SrcPort 1 DstBlock "Reference & Control" DstPort 4 } Line { SrcBlock "Demux3" SrcPort 2 DstBlock "Reference & Control" DstPort 5 } Line { SrcBlock "Reference & Control" SrcPort 6 DstBlock "Decoupled ControlledRobot" DstPort 6 } Line { SrcBlock "Selector2" SrcPort 1 DstBlock "Reference & Control" DstPort 8 } Line { SrcBlock "Step" SrcPort 1 Points [70, 0] DstBlock "Reference & Control" DstPort enable } Line { SrcBlock "Clock" SrcPort 1 DstBlock "Actual time in s" DstPort 1 } Line { SrcBlock "Demux2" SrcPort 1 DstBlock "Reference & Control" DstPort 2 } Line { SrcBlock "Demux2" SrcPort 2 DstBlock "Reference & Control" DstPort 3 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 2 DstBlock "Mux2" DstPort 1 } Line { SrcBlock "Mux3" SrcPort 1 Points [4, 0; 0, -176; -648, 0; 0, 156] DstBlock "Demux3" DstPort 1 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 1 Points [30, 0; 0, -65; -615, 0; 0, 60] DstBlock "Reference & Control" DstPort 1 } Line { SrcBlock "Reference & Control" SrcPort 1 DstBlock "Decoupled ControlledRobot" DstPort 1 } Line { SrcBlock "Mux2" SrcPort 1 Points [0, -105; -631, 0; 0, 95] DstBlock "Demux2" DstPort 1 } Line { SrcBlock "Reference & Control" SrcPort 2 DstBlock "Decoupled ControlledRobot" DstPort 2 } Line { SrcBlock "Reference & Control" SrcPort 3 DstBlock "Decoupled ControlledRobot" DstPort 3 } Line { SrcBlock "Reference & Control" SrcPort 7 DstBlock "Decoupled ControlledRobot" DstPort 7 } Line { SrcBlock "Reference & Control" SrcPort 8 DstBlock "Decoupled ControlledRobot" DstPort 8 } Line { SrcBlock "Reference & Control" SrcPort 9 DstBlock "Decoupled ControlledRobot" DstPort 9 } Line { SrcBlock "Reference & Control" SrcPort 10 DstBlock "Decoupled ControlledRobot" DstPort 10 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 11 Points [20, 0; 0, 140; -595, 0; 0, -120] DstBlock "Reference & Control" DstPort 14 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 10 Points [25, 0; 0, 175; -610, 0; 0, -150] DstBlock "Reference & Control" DstPort 13 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 9 Points [30, 0; 0, 210; -625, 0; 0, -180] DstBlock "Reference & Control" DstPort 12 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 8 Points [35, 0; 0, 245; -640, 0; 0, -210] DstBlock "Reference & Control" DstPort 11 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 7 Points [40, 0; 0, 280; -655, 0; 0, -240] DstBlock "Reference & Control" DstPort 10 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 6 Points [45, 0; 0, 315; -670, 0; 0, -270] DstBlock "Reference & Control" DstPort 9 } Line { SrcBlock "Reference & Control" SrcPort 11 DstBlock "Decoupled ControlledRobot" DstPort 11 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 12 Points [15, 0; 0, 105; -580, 0; 0, -90] DstBlock "Reference & Control" DstPort 15 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 13 Points [10, 0; 0, 70; -565, 0; 0, -60] DstBlock "Reference & Control" DstPort 16 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 3 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Decoupled ControlledRobot" SrcPort 14 Points [5, 0; 0, 35; -545, 0] DstBlock "Reference & Control" DstPort 17 } Line { SrcBlock "Reference & Control" SrcPort 12 DstBlock "Decoupled ControlledRobot" DstPort 12 } Line { SrcBlock "Reference & Control" SrcPort 13 DstBlock "Decoupled ControlledRobot" DstPort 13 } Annotation { Name "This scheme has to be used with \nthe scheme find_ball from vision\nwhich delivers the coordinates \n(i.e. radius and angle to the ball) \nof the ball such that the robot will\ngo to the ball face forward" Position [145, 176] } } }