Model { Name "Step8" Version 6.6 MdlSubVersion 0 GraphicalInterface { NumRootInports 0 NumRootOutports 0 ParameterArgumentNames "" ComputedModelVersion "1.233" NumModelReferences 0 NumTestPointedSignals 0 } Description "Bouncing Ball\n " " " " \nThis model simulates an elastic ball bouncing" " on an infinitely rigid ground. The contact between the ball and the ground i" "s modeled by a penalty force that mimics impact and deformation in one dimens" "ion." SavedCharacterEncoding "windows-1252" PreLoadFcn "ball.radius = 1; ball.pengain = 1e5;\nball.mass = 1" "; ball.pendamp = 25;" SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off 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 CloseFcn "rtwprivate ssgencode ModelCloseRequest balltest7" Created "Wed May 14 10:10:07 2003" Creator "jwendlan" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "sahuber" ModifiedDateFormat "%" LastModifiedDate "Mon Mar 03 12:37:07 2008" ModelVersionFormat "1.%" ConfigurationManager "None" SimulationMode "normal" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" AccelVerboseBuild off 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 "any" ExtModeTrigDuration 1000 ExtModeTrigDurationFloating "auto" ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock off BufferReuse on ProdHWDeviceType "Specified" ShowModelReferenceBlockVersion off ShowModelReferenceBlockIO off Array { Type "Handle" Dimension 1 Simulink.ConfigSet { $ObjectID 1 Version "1.2.0" Array { Type "Handle" Dimension 8 Simulink.SolverCC { $ObjectID 2 Version "1.2.0" StartTime "0.0" StopTime "7.5" AbsTol "auto" FixedStep ".01" 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 "ode4" SolverName "ode4" ZeroCrossControl "UseLocalSettings" AlgebraicLoopSolver "TrustRegion" SolverResetMethod "Fast" PositivePriorityOrder off AutoInsertRateTranBlk off SampleTimeConstraint "Unconstrained" RateTranMode "Deterministic" } Simulink.DataIOCC { $ObjectID 3 Version "1.2.0" Decimation "1" ExternalInput "[t, u]" FinalStateName "xFinal" InitialState "xInitial" LimitDataPoints on MaxDataPoints "1000" LoadExternalInput off LoadInitialState off SaveFinalState off SaveFormat "Array" SaveOutput on SaveState off SignalLogging on InspectSignalLogs off SaveTime on StateSaveName "xout" TimeSaveName "tout" OutputSaveName "yout" SignalLoggingName "sigsOut" OutputOption "SpecifiedOutputTimes" OutputTimes "[0:0.1:20]" Refine "3" } Simulink.OptimizationCC { $ObjectID 4 Array { Type "Cell" Dimension 5 Cell "ZeroExternalMemoryAtStartup" Cell "ZeroInternalMemoryAtStartup" Cell "InitFltsAndDblsToZero" Cell "OptimizeModelRefInitCode" Cell "NoFixptDivByZeroProtection" PropName "DisabledProps" } Version "1.2.0" BlockReduction on BooleanDataType on ConditionallyExecuteInputs on InlineParams off InlineInvariantSignals on 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 } Simulink.DebuggingCC { $ObjectID 5 Version "1.2.0" RTPrefix "error" ConsistencyChecking "none" ArrayBoundsChecking "none" SignalInfNanChecking "none" ReadBeforeWriteMsg "UseLocalSettings" WriteAfterWriteMsg "UseLocalSettings" WriteAfterReadMsg "UseLocalSettings" AlgebraicLoopMsg "warning" ArtificialAlgebraicLoopMsg "warning" CheckSSInitialOutputMsg on CheckExecutionContextPreStartOutputMsg on CheckExecutionContextRuntimeOutputMsg on 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 "none" 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" } Simulink.HardwareCC { $ObjectID 6 Version "1.2.0" ProdBitPerChar 8 ProdBitPerShort 16 ProdBitPerInt 32 ProdBitPerLong 32 ProdIntDivRoundTo "Undefined" ProdEndianess "Unspecified" ProdWordSize 32 ProdShiftRightIntArith on ProdHWDeviceType "Specified" 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 off } Simulink.ModelReferenceCC { $ObjectID 7 Version "1.2.0" UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" CheckModelReferenceTargetMessage "error" ModelReferenceNumInstancesAllowed "Multi" ModelReferencePassRootInputsByReference on ModelReferenceMinAlgLoopOccurrences off } Simulink.RTWCC { $BackupClass "Simulink.RTWCC" $ObjectID 8 Array { Type "Cell" Dimension 1 Cell "IncludeHyperlinkInReport" PropName "DisabledProps" } Version "1.2.0" SystemTargetFile "rsim.tlc" GenCodeOnly off MakeCommand "make_rtw" GenerateMakefile on TemplateMakefile "rsim_default_tmf" Description "Rapid Simulation Target" GenerateReport off SaveLog off RTWVerbose on RetainRTWFile off ProfileTLC off TLCDebug off TLCCoverage off TLCAssert off ProcessScriptMode "Default" ConfigurationMode "Optimized" ProcessScript "rsim_make_rtw_hook" ConfigAtBuild off IncludeHyperlinkInReport off LaunchReport off TargetLang "C" IncludeBusHierarchyInRTWFileBlockHierarchyMap off IncludeERTFirstTime on 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.2.0" ForceParamTrailComments off GenerateComments on IgnoreCustomStorageClasses on IncHierarchyInIds off MaxIdLength 31 PreserveName off PreserveNameWithParent off ShowEliminatedStatement off IncAutoGenComments off SimulinkDataObjDesc off SFDataObjDesc off IncDataTypeInIds off PrefixModelToSubsysFcnNames on MangleLength 5 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 } RTW.RSimTargetCC { $BackupClass "Simulink.TargetCC" $ObjectID 10 Array { Type "Cell" Dimension 15 Cell "IncludeMdlTerminateFcn" Cell "CombineOutputUpdateFcns" Cell "SuppressErrorStatus" Cell "ERTCustomFileBanners" Cell "GenerateSampleERTMain" Cell "GenerateTestInterfaces" Cell "MultiInstanceERTCode" Cell "PurelyIntegerCode" Cell "SupportNonFinite" Cell "SupportComplex" Cell "SupportAbsoluteTime" Cell "SupportContinuousTime" Cell "SupportNonInlinedSFcns" Cell "ModelStepFunctionPrototypeControlComp" "liant" Cell "PortableWordSizes" PropName "DisabledProps" } Version "1.2.0" TargetFcnLib "ansi_tfl_tmw.mat" TargetLibSuffix "" TargetPreCompLibLocation "" GenFloatMathFcnCalls "ANSI_C" UtilityFuncGeneration "Auto" GenerateFullHeader on GenerateSampleERTMain off GenerateTestInterfaces off IsPILTarget off ModelReferenceCompliant 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 RSIM_SOLVER_SELECTION "Auto" ExtMode off ExtModeTransport 0 ExtModeStaticAlloc off ExtModeStaticAllocSize 1000000 ExtModeTesting off ExtModeMexFile "ext_comm" ExtModeIntrfLevel "Level1" RSIM_PARAMETER_LOADING on RSIM_STORAGE_CLASS_AUTO on RTWCAPISignals off RTWCAPIParams off RTWCAPIStates off } PropName "Components" } } SSC.SimscapeCC { $ObjectID 11 Array { Type "Handle" Dimension 1 MECH.SimMechanicsCC { $ObjectID 12 Version "1.2.0" Name "SimMechanics" WarnOnRedundantConstraints on WarnOnSingularInitialAssembly off ShowCutJoints off VisOnUpdateDiagram on VisDuringSimulation on VisConfigFile "mech_bouncing_ball.mat" } PropName "Components" } Name "Simscape" EditingMode "Full" Array { Type "Cell" Dimension 1 Cell "SimMechanics" PropName "PhysicalModelingProducts" } PhysicalModelingChecksum 2464153342 PhysicalModelingParameterChecksum 3944089785 Version "1.0" } PropName "Components" } Name "Configuration" CurrentDlgPage "Optimization" } 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 ActionPort InitializeStates "held" ActionType "unset" } Block { BlockType Actuator SubClassName "unknown" PortType "blob" } Block { BlockType Clock DisplayTime off } Block { BlockType Constant Value "1" VectorParams1D on SamplingMode "Sample based" OutDataTypeMode "Inherit from 'Constant value'" OutDataType "sfix(16)" ConRadixGroup "Use specified scaling" OutScaling "2^0" SampleTime "inf" FramePeriod "inf" } Block { BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off } Block { BlockType From IconDisplay "Tag" } Block { BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Goto IconDisplay "Tag" } Block { BlockType Ground } Block { BlockType If NumInputs "1" IfExpression "u1 > 0" ShowElse on ZeroCross on SampleTime "-1" } Block { BlockType Inport Port "1" UseBusObject off BusObject "BusObject" BusOutputAsStruct off PortDimensions "-1" SampleTime "-1" DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" LatchByDelayingOutsideSignal off LatchByCopyingInsideSignal off Interpolate on } Block { BlockType Merge Inputs "2" InitialOutput "[]" AllowUnequalInputPortWidths off InputPortOffsets "[]" } Block { BlockType MinMax Function "min" Inputs "1" InputSameDT on OutDataTypeMode "Inherit via internal rule" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross 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" DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType PMComponent SubClassName "unknown" } Block { BlockType PMIOPort } Block { BlockType Saturate UpperLimit "0.5" LowerLimit "-0.5" LinearizeAsGain on ZeroCross on SampleTime "-1" } Block { BlockType Scope ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "-1" } Block { BlockType Selector NumberOfDimensions "1" IndexMode "One-based" InputPortWidth "-1" SampleTime "-1" } Block { BlockType Sensor SubClassName "unknown" PortType "blob" } Block { BlockType "S-Function" FunctionName "system" SFunctionModules "''" PortCounts "[]" } 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 OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on SampleTime "-1" } Block { BlockType Switch Criteria "u2 >= Threshold" Threshold "0" InputSameDT on OutDataTypeMode "Inherit via internal rule" RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross on SampleTime "-1" } Block { BlockType Terminator } Block { BlockType ToWorkspace VariableName "simulink_output" MaxDataPoints "1000" Decimation "1" SampleTime "0" FixptAsFi off } } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" UseDisplayTextAsClickCallback off } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } System { Name "Step8" Location [-45, 110, 1384, 858] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" ReportName "simulink-default.rpt" BlocksetDataString "[0 0 -9.81]|1|0|1e-3|1|1e-3|1|2|1e-4|1e-4|0|0|1|1" "e-5|Deprecated|matlab graphics|1|1||0|1$$$mech_bouncing_ball.mat" Block { BlockType SubSystem Name "Biped Model" Ports [6, 12] Position [550, 31, 805, 399] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Biped Model" Location [66, 100, 1477, 833] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Inport Name "L Ankle Torque" Position [75, 708, 105, 722] NamePlacement "alternate" IconDisplay "Port number" } Block { BlockType Inport Name "L Hip Torque" Position [265, 158, 295, 172] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "L Knee Torque" Position [415, 428, 445, 442] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "R Hip Torque" Position [795, 58, 825, 72] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "R Knee Torque" Position [1165, 303, 1195, 317] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "R Ankle Torque" Position [1485, 588, 1515, 602] Orientation "left" NamePlacement "alternate" Port "6" IconDisplay "Port number" } Block { BlockType SubSystem Name "Ground Contact Force" Ports [0, 0, 0, 0, 0, 6] Position [747, 735, 908, 785] Orientation "down" NamePlacement "alternate" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Ground Contact Force" Location [140, 82, 1347, 836] 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 SubSystem Name "L Ankle Contact Force" Ports [0, 0, 0, 0, 0, 1] Position [565, 32, 665, 88] BackgroundColor "yellow" DropShadow on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "L Ankle Contact Force" Location [18, 114, 942, 542] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins "[0.500000, 0.500000, 0.500000, 0.5000" "00]" TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Reference Name "Body Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [240, 150, 280, 190] Orientation "left" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Actuator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N*m" ActiveIO "on" Width "3" ClassName "BodyActuatorForceTorque" DialogClass "MechanicalActuatorBlock" ReferenceFrame "Absolute (World)" Angle "off" CoordPosition "on" Force "on" Torque "off" } Block { BlockType Reference Name "Body Sensor" Ports [0, 2, 0, 0, 0, 1] Position [240, 75, 280, 115] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Sensor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "deg" ArcVelocity "off" ArcVelocityUnits "deg/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "on" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 3 3 ]" ActiveIO "on" Width "6" ClassName "BodySensor" DialogClass "MechanicalSensorBlock" ReferenceFrame "Absolute (World)" Port { PortNumber 1 Name "Position (m)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Velocity (m/s)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Clock Name "Clock" Position [570, 285, 590, 305] Decimation "10" } Block { BlockType Constant Name "Constant" Position [465, 315, 495, 345] Value "0" } Block { BlockType SubSystem Name "Force Law" Ports [4, 3] Position [375, 73, 535, 117] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off Port { PortNumber 1 Name "Force (N)" PropagatedSignals ", , " RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Force Law" Location [288, 100, 1204, 537] 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 "pos" Position [15, 163, 45, 177] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [15, 193, 45, 207] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "L State" Position [20, 358, 50, 372] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "L X Reference" Position [20, 313, 50, 327] Port "4" IconDisplay "Port number" } Block { BlockType Constant Name "Constant" Position [15, 65, 45, 95] NamePlacement "alternate" Value "0" } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [520, 128, 530, 202] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType If Name "If" Ports [1, 2] Position [165, 89, 220, 136] IfExpression "u1 < 0" } Block { BlockType Merge Name "Merge" Ports [2, 1] Position [425, 135, 465, 175] InitialOutput "0" InputPortOffsets "0" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [590, 190, 610, 290] ShowName off Inputs "3" } Block { BlockType SubSystem Name "Penalty\nForce" Ports [2, 1, 0, 0, 0, 0, 0, 1] Position [295, 87, 365, 123] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Penalty\nForce" Location [326, 235, 935, 535] 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 "pen" Position [115, 128, 145, 142] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [115, 198, 145, 212] Port "2" IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Gain Name "Gain" Position [200, 113, 235, 157] Gain "[0 0 0;0 -1e5 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Gain Name "Gain1" Position [200, 183, 235, 227] Gain "[0 0 0;0 -1000 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Saturate Name "Saturation" Position [340, 120, 370, 150] UpperLimit "inf" LowerLimit "0" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [285, 125, 305, 145] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Outport Name "force" Position [415, 128, 445, 142] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "pen" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [55, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "vel" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [115, 96, 140, 134] IndexOptions "Index vector (dialog)" Indices "[2]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [135, 261, 160, 299] IndexOptions "Index vector (dialog)" Indices "[1]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [135, 316, 160, 354] IndexOptions "Index vector (dialog)" Indices "[1]" OutputSizes "1" InputPortWidth "3" } Block { BlockType SubSystem Name "Subsystem" Ports [6, 3] Position [310, 356, 420, 414] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Subsystem" Location [18, 114, 1409, 799] 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 pos" Position [90, 18, 120, 32] IconDisplay "Port number" } Block { BlockType Inport Name "X vel" Position [90, 63, 120, 77] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Reference" Position [85, 118, 115, 132] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "Y pos" Position [30, 498, 60, 512] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "Y force" Position [405, 173, 435, 187] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "State" Position [50, 333, 80, 347] Port "6" IconDisplay "Port number" } Block { BlockType Gain Name "Gain" Position [490, 165, 520, 195] Gain ".6" ParameterDataTypeMode "Inherit via internal rule" OutDataTypeMode "Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" Position [920, 505, 950, 535] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" OutDataTypeMode "Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType If Name "If" Ports [1, 2] Position [75, 479, 130, 526] IfExpression "u1 < 0" } Block { BlockType If Name "If1" Ports [1, 2] Position [160, 299, 215, 346] IfExpression "u1 ~= 0" } Block { BlockType If Name "If2" Ports [1, 1] Position [640, 191, 695, 239] IfExpression "u1 < 0" ShowElse off } Block { BlockType Merge Name "Merge" Ports [2, 1] Position [280, 455, 320, 495] InitialOutput "0" InputPortOffsets "0" } Block { BlockType Merge Name "Merge1" Ports [2, 1] Position [1100, 95, 1140, 135] InitialOutput "0" InputPortOffsets "0" } Block { BlockType Merge Name "Merge3" Ports [2, 1] Position [540, 275, 580, 315] InitialOutput "0" InputPortOffsets "0" } Block { BlockType SubSystem Name "Off Ground" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [175, 507, 245, 543] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Off Ground" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Off Ground" Position [125, 125, 155, 155] Value "0" } Block { BlockType Outport Name "state" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Off Ground" SrcPort 1 DstBlock "state" DstPort 1 } } } Block { BlockType SubSystem Name "On Ground" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [175, 427, 245, 463] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "On Ground" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Constant Name "On Ground" Position [125, 125, 155, 155] } Block { BlockType Outport Name "state" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "On Ground" SrcPort 1 DstBlock "state" DstPort 1 } } } Block { BlockType SubSystem Name "Penalty\nForce" Ports [3, 1, 0, 0, 0, 0, 0, 1] Position [290, 224, 460, 286] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Penalty\nForce" Location [550, 506, 1375, 858] 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 pos" Position [70, 68, 100, 82] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [115, 198, 145, 212] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Ref" Position [15, 143, 45, 157] Port "3" IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Gain Name "Gain" Position [200, 113, 235, 157] Gain "-1e5" Multiplication "Matrix(K*u)" } Block { BlockType Gain Name "Gain1" Position [200, 183, 235, 227] Gain "-1000" Multiplication "Matrix(K*u)" } Block { BlockType Sum Name "Subtract" Ports [2, 1] Position [125, 102, 155, 133] Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [285, 125, 305, 145] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Outport Name "Force" Position [415, 128, 445, 142] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "vel" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [55, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "X pos" SrcPort 1 Points [0, 35] DstBlock "Subtract" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Force" DstPort 1 } Line { SrcBlock "Subtract" SrcPort 1 Points [10, 0; 0, 15] DstBlock "Gain" DstPort 1 } Line { SrcBlock "Ref" SrcPort 1 Points [0, -35; 45, 0; 0, 10] DstBlock "Subtract" DstPort 2 } } } Block { BlockType Reference Name "Saturation\nDynamic" Ports [3, 1] Position [1015, 455, 1095, 495] SourceBlock "simulink/Discontinuities/Saturati" "on\nDynamic" SourceType "Saturation 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 Scope Name "Scope" Ports [1] Position [1145, 354, 1175, 386] Floating off Location [618, 312, 942, 551] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } SaveName "ScopeData2" DataFormat "StructureWithTime" SampleTime "0" } Block { BlockType SubSystem Name "Sliding" Ports [1, 1, 0, 0, 0, 0, 0, 1] Position [640, 354, 735, 436] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Sliding" Location [252, 436, 1047, 728] 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 "Pos" Position [130, 178, 160, 192] IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Outport Name "Ref" Position [320, 178, 350, 192] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Pos" SrcPort 1 DstBlock "Ref" DstPort 1 } } } Block { BlockType Sum Name "Subtract" Ports [2, 1] Position [545, 197, 575, 228] Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType SubSystem Name "Update Ref" Ports [1, 2, 0, 0, 0, 0, 0, 1] Position [335, 27, 405, 63] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Update Ref" Location [346, 669, 1141, 961] 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 "Pos" Position [130, 133, 160, 147] IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Zero Force" Position [220, 75, 250, 105] Value "0" } Block { BlockType Outport Name "Ref" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Block { BlockType Outport Name "Force" Position [320, 88, 350, 102] Port "2" IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Pos" SrcPort 1 DstBlock "Ref" DstPort 1 } Line { SrcBlock "Zero Force" SrcPort 1 Points [25, 0; 0, 5] DstBlock "Force" DstPort 1 } } } Block { BlockType Outport Name "X Force" Position [1135, 458, 1165, 472] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "State1" Position [380, 458, 410, 472] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "Reference1" Position [1185, 113, 1215, 127] Port "3" IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock "If" SrcPort 1 Points [0, -10; 20, 0; 0, -68] DstBlock "On Ground" DstPort ifaction } Line { SrcBlock "If" SrcPort 2 Points [20, 0; 0, -23] DstBlock "Off Ground" DstPort ifaction } Line { SrcBlock "On Ground" SrcPort 1 Points [0, 20] DstBlock "Merge" DstPort 1 } Line { SrcBlock "Off Ground" SrcPort 1 Points [0, -40] DstBlock "Merge" DstPort 2 } Line { SrcBlock "Merge" SrcPort 1 Points [15, 0; 0, -10] DstBlock "State1" DstPort 1 } Line { SrcBlock "Y pos" SrcPort 1 DstBlock "If" DstPort 1 } Line { SrcBlock "X pos" SrcPort 1 Points [60, 0] Branch { Points [55, 0; 0, 210] DstBlock "Penalty\nForce" DstPort 1 } Branch { Points [0, 20; 110, 0] Branch { DstBlock "Update Ref" DstPort 1 } Branch { Points [0, 35; 165, 0; 0, -20; 165, 0] DstBlock "Sliding" DstPort 1 } } } Line { SrcBlock "X vel" SrcPort 1 Points [15, 0; 0, 185] DstBlock "Penalty\nForce" DstPort 2 } Line { SrcBlock "State" SrcPort 1 Points [10, 0; 0, -15] DstBlock "If1" DstPort 1 } Line { SrcBlock "If1" SrcPort 1 Points [40, 0; 0, -101] DstBlock "Penalty\nForce" DstPort ifaction } Line { SrcBlock "If1" SrcPort 2 Points [5, 0; 0, -323] DstBlock "Update Ref" DstPort ifaction } Line { SrcBlock "Y force" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 Points [-5, 0; 0, 15] Branch { Points [0, 10] DstBlock "Subtract" DstPort 1 } Branch { Points [-20, 0; 0, 120] Branch { Points [0, 145] DstBlock "Saturation\nDynamic" DstPort 1 } Branch { Points [-10, 0; 0, 195; 415, 0] DstBlock "Gain1" DstPort 1 } } } Line { SrcBlock "Subtract" SrcPort 1 DstBlock "If2" DstPort 1 } Line { SrcBlock "If2" SrcPort 1 Points [5, 0; 0, 124] DstBlock "Sliding" DstPort ifaction } Line { SrcBlock "Penalty\nForce" SrcPort 1 Points [30, 0; 0, 30] DstBlock "Merge3" DstPort 1 } Line { SrcBlock "Merge3" SrcPort 1 Points [0, -30] Branch { Points [0, -15; -55, 0] DstBlock "Subtract" DstPort 2 } Branch { Points [0, 210] DstBlock "Saturation\nDynamic" DstPort 2 } } Line { SrcBlock "Update Ref" SrcPort 2 Points [45, 0; 0, 165; 65, 0; 0, 85] DstBlock "Merge3" DstPort 2 } Line { SrcBlock "Sliding" SrcPort 1 Points "[15, 0; 0, -85; 180, 0; 0, -165; " "75, 0; 0, 10; 35, 0; 0, -30]" DstBlock "Merge1" DstPort 2 } Line { SrcBlock "Saturation\nDynamic" SrcPort 1 Points [5, 0; 0, -10; 5, 0] Branch { DstBlock "X Force" DstPort 1 } Branch { Points [20, 0] DstBlock "Scope" DstPort 1 } } Line { SrcBlock "Gain1" SrcPort 1 Points [20, 0; 0, -30] DstBlock "Saturation\nDynamic" DstPort 3 } Line { SrcBlock "Update Ref" SrcPort 1 Points [0, -15; 260, 0; 0, 85] DstBlock "Merge1" DstPort 1 } Line { SrcBlock "Merge1" SrcPort 1 Points [25, 0] DstBlock "Reference1" DstPort 1 } Line { SrcBlock "Reference" SrcPort 1 Points [150, 0; 0, 150] DstBlock "Penalty\nForce" DstPort 3 } } } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [70, 135, 90, 155] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Terminator Name "Terminator" Position [585, 120, 605, 140] } Block { BlockType SubSystem Name "Zero\nForce" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [295, 187, 365, 223] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Zero\nForce" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Zero\nForce" Position [125, 125, 155, 155] Value "[0;0;0]" } Block { BlockType Outport Name "force" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Zero\nForce" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Outport Name "force" Position [685, 198, 715, 212] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L State1" Position [530, 368, 560, 382] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L X Reference1" Position [495, 398, 525, 412] Port "3" IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock "Sum" SrcPort 1 Points [0, 0; 5, 0] Branch { DstBlock "Selector" DstPort 1 } Branch { Points [0, 30; 160, 0; 0, -80] DstBlock "Penalty\nForce" DstPort 1 } } Line { SrcBlock "vel" SrcPort 1 Points [40, 0] Branch { Points [180, 0; 0, -85] DstBlock "Penalty\nForce" DstPort 2 } Branch { Points [0, 135] DstBlock "Selector2" DstPort 1 } } Line { SrcBlock "If" SrcPort 2 Points [20, 0; 0, 40; 85, 0] DstBlock "Zero\nForce" DstPort ifaction } Line { SrcBlock "Penalty\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 1 } Line { SrcBlock "Zero\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 2 } Line { SrcBlock "If" SrcPort 1 Points [20, 0; 0, -38; 85, 0] DstBlock "Penalty\nForce" DstPort ifaction } Line { SrcBlock "Selector" SrcPort 1 Points [5, 0] Branch { DstBlock "If" DstPort 1 } Branch { Points [0, 275] DstBlock "Subsystem" DstPort 4 } } Line { SrcBlock "pos" SrcPort 1 Points [10, 0] Branch { Labels [1, 0] DstBlock "Sum" DstPort 2 } Branch { Points [60, 0] DstBlock "Selector1" DstPort 1 } } Line { SrcBlock "Constant" SrcPort 1 Points [30, 0] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Merge" SrcPort 1 Points [25, 0; 0, 10] DstBlock "Demux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 Points [15, 0; 0, -35] DstBlock "force" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [10, 0] Branch { Points [15, 0; 0, 75] DstBlock "Mux" DstPort 2 } Branch { Points [0, 140; -270, 0; 0, 95] DstBlock "Subsystem" DstPort 5 } } Line { SrcBlock "Demux" SrcPort 3 Points [15, 0; 0, 85] DstBlock "Mux" DstPort 3 } Line { SrcBlock "Selector1" SrcPort 1 Points [40, 0; 0, 80] DstBlock "Subsystem" DstPort 1 } Line { SrcBlock "Selector2" SrcPort 1 Points [30, 0; 0, 35] DstBlock "Subsystem" DstPort 2 } Line { SrcBlock "L X Reference" SrcPort 1 Points [60, 0; 0, 60] DstBlock "Subsystem" DstPort 3 } Line { SrcBlock "Subsystem" SrcPort 1 Points [145, 0; 0, -160] DstBlock "Mux" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 2 Points [30, 0; 0, -10] DstBlock "L State1" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 3 DstBlock "L X Reference1" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 Points [15, 0; 0, -10] DstBlock "Terminator" DstPort 1 } Line { SrcBlock "L State" SrcPort 1 Points [5, 25; -60, 0; -5, 20] DstBlock "Subsystem" DstPort 6 } } } Block { BlockType SubSystem Name "Force Law1" Ports [3, 1] Position [395, 188, 555, 232] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Force Law1" Location [594, 265, 1510, 702] 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 "State" Position [80, 148, 110, 162] IconDisplay "Port number" } Block { BlockType Inport Name "Pos" Position [70, 218, 100, 232] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Ref1" Position [100, 78, 130, 92] Port "3" IconDisplay "Port number" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [175, 216, 200, 254] IndexOptions "Index vector (dialog)" Indices "[1]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Switch Name "Switch" Position [195, 140, 225, 170] Criteria "u2 ~= 0" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "Ref" Position [540, 158, 570, 172] IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock "State" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Pos" SrcPort 1 Points [25, 0; 0, 10] DstBlock "Selector1" DstPort 1 } Line { SrcBlock "Selector1" SrcPort 1 Points [0, -45; -25, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Ref1" SrcPort 1 Points [20, 0; 0, 60] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 Points [145, 0; 0, 10] DstBlock "Ref" DstPort 1 } } } Block { BlockType Reference Name "Mechanical\nBranching\nBar" Ports [0, 0, 0, 0, 0, 1, 2] Position [130, 107, 140, 158] BackgroundColor "black" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Utilities/Mechanical\nBranc" "hing\nBar" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "_newl0" RConnTagsString "SA0|SA1" ClassName "BranchingBar" DialogClass "MechanicalBranchingBarBlock" NumSAPorts "2" } Block { BlockType Scope Name "Scope" Ports [1] Position [375, 289, 405, 321] Floating off Location [188, 390, 512, 629] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } SaveName "ScopeData3" DataFormat "StructureWithTime" SampleTime "0" } Block { BlockType Switch Name "Switch" Position [660, 225, 690, 255] Threshold "0.1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [660, 325, 690, 355] Threshold "0.1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType PMIOPort Name "CG" Tag "PMCPort" Position [35, 126, 65, 144] Port "1" Side "Left" } Line { LineType "Connection" SrcBlock "Mechanical\nBranching\nBar" SrcPort LConn1 DstBlock "CG" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Body Actuator" SrcPort RConn1 Points [-40, 0; 0, -25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn2 } Line { LineType "Connection" SrcBlock "Body Sensor" SrcPort LConn1 Points [-40, 0; 0, 25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn1 } Line { Name "Position (m)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 1 Points [45, 0] Branch { Points [30, 0] DstBlock "Force Law" DstPort 1 } Branch { Points [0, 125] DstBlock "Force Law1" DstPort 2 } } Line { Name "Velocity (m/s)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 2 Points [75, 0] DstBlock "Force Law" DstPort 2 } Line { Name "Force (N)" Labels [2, 1] SrcBlock "Force Law" SrcPort 1 Points [50, 0; 0, 90] DstBlock "Body Actuator" DstPort 1 } Line { SrcBlock "Force Law" SrcPort 2 Points [25, 0] Branch { Points [40, 0; 0, 135] DstBlock "Switch" DstPort 1 } Branch { Points [-220, 0; 0, 100] DstBlock "Force Law1" DstPort 1 } } Line { SrcBlock "Switch" SrcPort 1 Points [0, -105; -335, 0] DstBlock "Force Law" DstPort 3 } Line { SrcBlock "Clock" SrcPort 1 Points [5, 0] Branch { Points [15, 0; 0, -55] DstBlock "Switch" DstPort 2 } Branch { Points [0, 45] DstBlock "Switch1" DstPort 2 } } Line { SrcBlock "Constant" SrcPort 1 Points [65, 0] Branch { Points [0, -80] DstBlock "Switch" DstPort 3 } Branch { Points [0, 55; 80, 0] DstBlock "Switch1" DstPort 3 } } Line { SrcBlock "Force Law1" SrcPort 1 Points [0, -15] Branch { Points [0, -60; -200, 0] DstBlock "Force Law" DstPort 4 } Branch { Points [0, 60; -215, 0; 0, 0] Branch { Points [0, -30] DstBlock "Force Law1" DstPort 3 } Branch { Points [0, 50] DstBlock "Scope" DstPort 1 } } } } } Block { BlockType SubSystem Name "L Ankle Contact Force1" Ports [0, 0, 0, 0, 0, 1] Position [785, 322, 885, 378] BackgroundColor "yellow" DropShadow on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "L Ankle Contact Force1" Location [18, 114, 942, 542] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins "[0.500000, 0.500000, 0.500000, 0.5000" "00]" TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Reference Name "Body Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [240, 150, 280, 190] Orientation "left" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Actuator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N*m" ActiveIO "on" Width "3" ClassName "BodyActuatorForceTorque" DialogClass "MechanicalActuatorBlock" ReferenceFrame "Absolute (World)" Angle "off" CoordPosition "on" Force "on" Torque "off" } Block { BlockType Reference Name "Body Sensor" Ports [0, 2, 0, 0, 0, 1] Position [240, 75, 280, 115] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Sensor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "deg" ArcVelocity "off" ArcVelocityUnits "deg/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "on" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 3 3 ]" ActiveIO "on" Width "6" ClassName "BodySensor" DialogClass "MechanicalSensorBlock" ReferenceFrame "Absolute (World)" Port { PortNumber 1 Name "Position (m)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Velocity (m/s)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType Clock Name "Clock" Position [570, 285, 590, 305] Decimation "10" } Block { BlockType Constant Name "Constant" Position [465, 315, 495, 345] Value "0" } Block { BlockType SubSystem Name "Force Law" Ports [4, 2] Position [375, 73, 535, 117] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off Port { PortNumber 1 Name "Force (N)" PropagatedSignals ", , " RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Force Law" Location [288, 100, 1204, 537] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins "[0.500000, 0.500000, 0.500000, 0." "500000]" TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Inport Name "pos" Position [15, 163, 45, 177] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [15, 193, 45, 207] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "L State" Position [20, 358, 50, 372] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "L X Reference" Position [20, 313, 50, 327] Port "4" IconDisplay "Port number" } Block { BlockType Constant Name "Constant" Position [15, 65, 45, 95] NamePlacement "alternate" Value "0" } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [520, 128, 530, 202] BackgroundColor "black" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType If Name "If" Ports [1, 2] Position [165, 89, 220, 136] IfExpression "u1 < 0" } Block { BlockType Merge Name "Merge" Ports [2, 1] Position [425, 135, 465, 175] InitialOutput "0" InputPortOffsets "0" } Block { BlockType Mux Name "Mux" Ports [3, 1] Position [590, 190, 610, 290] ShowName off Inputs "3" } Block { BlockType SubSystem Name "Penalty\nForce" Ports [2, 1, 0, 0, 0, 0, 0, 1] Position [295, 87, 365, 123] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Penalty\nForce" Location [326, 235, 935, 535] 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 "pen" Position [115, 128, 145, 142] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [115, 198, 145, 212] Port "2" IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Gain Name "Gain" Position [200, 113, 235, 157] Gain "[0 0 0;0 -1e5 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Gain Name "Gain1" Position [200, 183, 235, 227] Gain "[0 0 0;0 -1000 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Saturate Name "Saturation" Position [340, 120, 370, 150] UpperLimit "inf" LowerLimit "0" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [285, 125, 305, 145] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Outport Name "force" Position [415, 128, 445, 142] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "pen" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [55, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "vel" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [115, 96, 140, 134] IndexOptions "Index vector (dialog)" Indices "[2]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [135, 261, 160, 299] IndexOptions "Index vector (dialog)" Indices "[1]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Selector Name "Selector2" Ports [1, 1] Position [135, 316, 160, 354] IndexOptions "Index vector (dialog)" Indices "[1]" OutputSizes "1" InputPortWidth "3" } Block { BlockType SubSystem Name "Subsystem" Ports [6, 2] Position [310, 356, 420, 414] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Subsystem" Location [18, 114, 1409, 799] 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 pos" Position [90, 18, 120, 32] IconDisplay "Port number" } Block { BlockType Inport Name "X vel" Position [90, 63, 120, 77] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Reference" Position [85, 118, 115, 132] Port "3" IconDisplay "Port number" } Block { BlockType Inport Name "Y pos" Position [30, 498, 60, 512] Port "4" IconDisplay "Port number" } Block { BlockType Inport Name "Y force" Position [650, 508, 680, 522] Port "5" IconDisplay "Port number" } Block { BlockType Inport Name "State" Position [50, 333, 80, 347] Port "6" IconDisplay "Port number" } Block { BlockType Gain Name "Gain" Position [725, 500, 755, 530] Gain ".6" ParameterDataTypeMode "Inherit via internal rule" OutDataTypeMode "Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" Position [930, 535, 960, 565] Gain "-1" ParameterDataTypeMode "Inherit via internal rule" OutDataTypeMode "Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType If Name "If" Ports [1, 2] Position [75, 479, 130, 526] IfExpression "u1 < 0" } Block { BlockType If Name "If1" Ports [1, 2] Position [160, 299, 215, 346] IfExpression "u1 ~= 0" } Block { BlockType Merge Name "Merge" Ports [2, 1] Position [280, 455, 320, 495] InitialOutput "0" InputPortOffsets "0" } Block { BlockType Merge Name "Merge3" Ports [2, 1] Position [540, 275, 580, 315] InitialOutput "0" InputPortOffsets "0" } Block { BlockType SubSystem Name "Off Ground" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [175, 507, 245, 543] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Off Ground" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Off Ground" Position [125, 125, 155, 155] Value "0" } Block { BlockType Outport Name "state" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Off Ground" SrcPort 1 DstBlock "state" DstPort 1 } } } Block { BlockType SubSystem Name "On Ground" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [175, 427, 245, 463] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "On Ground" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Constant Name "On Ground" Position [125, 125, 155, 155] } Block { BlockType Outport Name "state" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "On Ground" SrcPort 1 DstBlock "state" DstPort 1 } } } Block { BlockType SubSystem Name "Penalty\nForce" Ports [3, 1, 0, 0, 0, 0, 0, 1] Position [290, 224, 460, 286] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Penalty\nForce" Location [550, 506, 1375, 858] 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 pos" Position [70, 68, 100, 82] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [115, 198, 145, 212] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Ref" Position [15, 143, 45, 157] Port "3" IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Gain Name "Gain" Position [200, 113, 235, 157] Gain "-1e5" Multiplication "Matrix(K*u)" } Block { BlockType Gain Name "Gain1" Position [200, 183, 235, 227] Gain "-1000" Multiplication "Matrix(K*u)" } Block { BlockType Sum Name "Subtract" Ports [2, 1] Position [125, 102, 155, 133] Inputs "+-" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" OutScaling "2^-10" SaturateOnIntegerOverflow off } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [285, 125, 305, 145] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Outport Name "Force" Position [415, 128, 445, 142] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "vel" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [55, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "X pos" SrcPort 1 Points [0, 35] DstBlock "Subtract" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Force" DstPort 1 } Line { SrcBlock "Subtract" SrcPort 1 Points [10, 0; 0, 15] DstBlock "Gain" DstPort 1 } Line { SrcBlock "Ref" SrcPort 1 Points [0, -35; 45, 0; 0, 10] DstBlock "Subtract" DstPort 2 } } } Block { BlockType Reference Name "Saturation\nDynamic" Ports [3, 1] Position [1015, 455, 1095, 495] SourceBlock "simulink/Discontinuities/Saturati" "on\nDynamic" SourceType "Saturation 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 Scope Name "Scope" Ports [1] Position [1145, 354, 1175, 386] Floating off Location [618, 312, 942, 551] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } SaveName "ScopeData2" DataFormat "StructureWithTime" SampleTime "0" } Block { BlockType SubSystem Name "Update Ref" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [335, 27, 405, 63] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Update Ref" Location [346, 669, 1141, 961] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Zero Force" Position [220, 75, 250, 105] Value "0" } Block { BlockType Outport Name "Force" Position [320, 88, 350, 102] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Zero Force" SrcPort 1 Points [25, 0; 0, 5] DstBlock "Force" DstPort 1 } } } Block { BlockType Outport Name "X Force" Position [1135, 458, 1165, 472] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "State1" Position [380, 458, 410, 472] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock "If" SrcPort 1 Points [0, -10; 20, 0; 0, -68] DstBlock "On Ground" DstPort ifaction } Line { SrcBlock "If" SrcPort 2 Points [20, 0; 0, -23] DstBlock "Off Ground" DstPort ifaction } Line { SrcBlock "On Ground" SrcPort 1 Points [0, 20] DstBlock "Merge" DstPort 1 } Line { SrcBlock "Off Ground" SrcPort 1 Points [0, -40] DstBlock "Merge" DstPort 2 } Line { SrcBlock "Merge" SrcPort 1 Points [15, 0; 0, -10] DstBlock "State1" DstPort 1 } Line { SrcBlock "Y pos" SrcPort 1 DstBlock "If" DstPort 1 } Line { SrcBlock "X pos" SrcPort 1 Points [115, 0; 0, 210] DstBlock "Penalty\nForce" DstPort 1 } Line { SrcBlock "X vel" SrcPort 1 Points [15, 0; 0, 185] DstBlock "Penalty\nForce" DstPort 2 } Line { SrcBlock "State" SrcPort 1 Points [10, 0; 0, -15] DstBlock "If1" DstPort 1 } Line { SrcBlock "If1" SrcPort 1 Points [40, 0; 0, -101] DstBlock "Penalty\nForce" DstPort ifaction } Line { SrcBlock "If1" SrcPort 2 Points [5, 0; 0, -323] DstBlock "Update Ref" DstPort ifaction } Line { SrcBlock "Y force" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 Points [0, -30; -260, 0; 0, -20] Branch { Points [0, -5] DstBlock "Saturation\nDynamic" DstPort 1 } Branch { Points [0, 75; -10, 0; 0, 15; 425, 0] DstBlock "Gain1" DstPort 1 } } Line { SrcBlock "Penalty\nForce" SrcPort 1 Points [30, 0; 0, 30] DstBlock "Merge3" DstPort 1 } Line { SrcBlock "Merge3" SrcPort 1 Points [0, 180] DstBlock "Saturation\nDynamic" DstPort 2 } Line { SrcBlock "Update Ref" SrcPort 1 Points [45, 0; 0, 175; 65, 0; 0, 85] DstBlock "Merge3" DstPort 2 } Line { SrcBlock "Saturation\nDynamic" SrcPort 1 Points [5, 0; 0, -10; 5, 0] Branch { DstBlock "X Force" DstPort 1 } Branch { Points [20, 0] DstBlock "Scope" DstPort 1 } } Line { SrcBlock "Gain1" SrcPort 1 Points [10, 0; 0, -60] DstBlock "Saturation\nDynamic" DstPort 3 } Line { SrcBlock "Reference" SrcPort 1 Points [150, 0; 0, 150] DstBlock "Penalty\nForce" DstPort 3 } } } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [70, 135, 90, 155] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Terminator Name "Terminator" Position [585, 120, 605, 140] } Block { BlockType SubSystem Name "Zero\nForce" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [295, 187, 365, 223] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Zero\nForce" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Zero\nForce" Position [125, 125, 155, 155] Value "[0;0;0]" } Block { BlockType Outport Name "force" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Zero\nForce" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Outport Name "force" Position [685, 198, 715, 212] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L State1" Position [530, 368, 560, 382] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock "Sum" SrcPort 1 Points [0, 0; 5, 0] Branch { DstBlock "Selector" DstPort 1 } Branch { Points [0, 30; 160, 0; 0, -80] DstBlock "Penalty\nForce" DstPort 1 } } Line { SrcBlock "vel" SrcPort 1 Points [40, 0] Branch { Points [180, 0; 0, -85] DstBlock "Penalty\nForce" DstPort 2 } Branch { Points [0, 135] DstBlock "Selector2" DstPort 1 } } Line { SrcBlock "If" SrcPort 2 Points [20, 0; 0, 40; 85, 0] DstBlock "Zero\nForce" DstPort ifaction } Line { SrcBlock "Penalty\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 1 } Line { SrcBlock "Zero\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 2 } Line { SrcBlock "If" SrcPort 1 Points [20, 0; 0, -38; 85, 0] DstBlock "Penalty\nForce" DstPort ifaction } Line { SrcBlock "Selector" SrcPort 1 Points [5, 0] Branch { DstBlock "If" DstPort 1 } Branch { Points [0, 275] DstBlock "Subsystem" DstPort 4 } } Line { SrcBlock "pos" SrcPort 1 Points [10, 0] Branch { Labels [1, 0] DstBlock "Sum" DstPort 2 } Branch { Points [60, 0] DstBlock "Selector1" DstPort 1 } } Line { SrcBlock "Constant" SrcPort 1 Points [30, 0] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Merge" SrcPort 1 Points [25, 0; 0, 10] DstBlock "Demux" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 Points [15, 0; 0, -35] DstBlock "force" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [10, 0] Branch { Points [15, 0; 0, 75] DstBlock "Mux" DstPort 2 } Branch { Points [0, 140; -270, 0; 0, 95] DstBlock "Subsystem" DstPort 5 } } Line { SrcBlock "Demux" SrcPort 3 Points [15, 0; 0, 85] DstBlock "Mux" DstPort 3 } Line { SrcBlock "Selector1" SrcPort 1 Points [40, 0; 0, 80] DstBlock "Subsystem" DstPort 1 } Line { SrcBlock "Selector2" SrcPort 1 Points [30, 0; 0, 35] DstBlock "Subsystem" DstPort 2 } Line { SrcBlock "L X Reference" SrcPort 1 Points [60, 0; 0, 60] DstBlock "Subsystem" DstPort 3 } Line { SrcBlock "Subsystem" SrcPort 1 Points [145, 0; 0, -165] DstBlock "Mux" DstPort 1 } Line { SrcBlock "Subsystem" SrcPort 2 Points [30, 0; 0, -25] DstBlock "L State1" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 Points [15, 0; 0, -10] DstBlock "Terminator" DstPort 1 } Line { SrcBlock "L State" SrcPort 1 Points [5, 25; -60, 0; -5, 20] DstBlock "Subsystem" DstPort 6 } } } Block { BlockType SubSystem Name "Force Law1" Ports [3, 1] Position [395, 188, 555, 232] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Force Law1" Location [594, 265, 1510, 702] 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 "State" Position [80, 148, 110, 162] IconDisplay "Port number" } Block { BlockType Inport Name "Pos" Position [70, 218, 100, 232] Port "2" IconDisplay "Port number" } Block { BlockType Inport Name "Ref1" Position [100, 78, 130, 92] Port "3" IconDisplay "Port number" } Block { BlockType Selector Name "Selector1" Ports [1, 1] Position [175, 216, 200, 254] IndexOptions "Index vector (dialog)" Indices "[1]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Switch Name "Switch" Position [195, 140, 225, 170] Criteria "u2 ~= 0" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Outport Name "Ref" Position [540, 158, 570, 172] IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock "State" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Pos" SrcPort 1 Points [25, 0; 0, 10] DstBlock "Selector1" DstPort 1 } Line { SrcBlock "Selector1" SrcPort 1 Points [0, -45; -25, 0] DstBlock "Switch" DstPort 3 } Line { SrcBlock "Ref1" SrcPort 1 Points [20, 0; 0, 60] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Switch" SrcPort 1 Points [145, 0; 0, 10] DstBlock "Ref" DstPort 1 } } } Block { BlockType Reference Name "Mechanical\nBranching\nBar" Ports [0, 0, 0, 0, 0, 1, 2] Position [130, 107, 140, 158] BackgroundColor "black" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Utilities/Mechanical\nBranc" "hing\nBar" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "_newl0" RConnTagsString "SA0|SA1" ClassName "BranchingBar" DialogClass "MechanicalBranchingBarBlock" NumSAPorts "2" } Block { BlockType Scope Name "Scope" Ports [1] Position [375, 289, 405, 321] Floating off Location [188, 390, 512, 629] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } SaveName "ScopeData3" DataFormat "StructureWithTime" SampleTime "0" } Block { BlockType Scope Name "Scope1" Ports [1] Position [640, 49, 670, 81] Floating off Location [188, 390, 512, 629] Open off NumInputPorts "1" List { ListType AxesTitles axes1 "%" } SaveName "ScopeData1" DataFormat "StructureWithTime" SampleTime "0" } Block { BlockType Switch Name "Switch" Position [660, 225, 690, 255] Threshold "0.1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [660, 325, 690, 355] Threshold "0.1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType PMIOPort Name "CG" Tag "PMCPort" Position [35, 126, 65, 144] Port "1" Side "Left" } Line { LineType "Connection" SrcBlock "Mechanical\nBranching\nBar" SrcPort LConn1 DstBlock "CG" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Body Actuator" SrcPort RConn1 Points [-40, 0; 0, -25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn2 } Line { LineType "Connection" SrcBlock "Body Sensor" SrcPort LConn1 Points [-40, 0; 0, 25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn1 } Line { Name "Position (m)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 1 Points [45, 0] Branch { Points [30, 0] DstBlock "Force Law" DstPort 1 } Branch { Points [0, 125] DstBlock "Force Law1" DstPort 2 } } Line { Name "Velocity (m/s)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 2 Points [75, 0] DstBlock "Force Law" DstPort 2 } Line { Name "Force (N)" SrcBlock "Force Law" SrcPort 1 Points [50, 0] Branch { Labels [1, 1] Points [0, 85] DstBlock "Body Actuator" DstPort 1 } Branch { Points [0, -20] DstBlock "Scope1" DstPort 1 } } Line { SrcBlock "Force Law" SrcPort 2 Points [0, -10; 25, 0] Branch { Points [40, 0; 0, 135] DstBlock "Switch" DstPort 1 } Branch { Points [-220, 0; 0, 100] DstBlock "Force Law1" DstPort 1 } } Line { SrcBlock "Switch" SrcPort 1 Points [0, -105; -335, 0] DstBlock "Force Law" DstPort 3 } Line { SrcBlock "Clock" SrcPort 1 Points [5, 0] Branch { Points [15, 0; 0, -55] DstBlock "Switch" DstPort 2 } Branch { Points [0, 45] DstBlock "Switch1" DstPort 2 } } Line { SrcBlock "Constant" SrcPort 1 Points [65, 0] Branch { Points [0, -80] DstBlock "Switch" DstPort 3 } Branch { Points [0, 55; 80, 0] DstBlock "Switch1" DstPort 3 } } Line { SrcBlock "Force Law1" SrcPort 1 Points [0, -15] Branch { Points [0, -60; -200, 0] DstBlock "Force Law" DstPort 4 } Branch { Points [0, 60; -215, 0; 0, 0] Branch { Points [0, -30] DstBlock "Force Law1" DstPort 3 } Branch { Points [0, 50] DstBlock "Scope" DstPort 1 } } } } } Block { BlockType SubSystem Name "L Hip Contact Force" Ports [0, 0, 0, 0, 0, 1] Position [77, 585, 133, 685] Orientation "down" BackgroundColor "yellow" DropShadow on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "L Hip Contact Force" Location [493, 212, 1190, 587] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins "[0.500000, 0.500000, 0.500000, 0.5000" "00]" TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Reference Name "Body Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [240, 150, 280, 190] Orientation "left" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Actuator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "3" ClassName "BodyActuatorForceTorque" DialogClass "MechanicalActuatorBlock" ReferenceFrame "Absolute (INERTIAL)" Angle "off" CoordPosition "on" Force "on" Torque "off" } Block { BlockType Reference Name "Body Sensor" Ports [0, 2, 0, 0, 0, 1] Position [240, 75, 280, 115] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Sensor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "deg" ArcVelocity "off" ArcVelocityUnits "deg/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "on" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 3 3 ]" ActiveIO "on" Width "6" ClassName "BodySensor" DialogClass "MechanicalSensorBlock" ReferenceFrame "Absolute (World)" Port { PortNumber 1 Name "Position (m)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Velocity (m/s)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType SubSystem Name "Force Law" Ports [2, 1] Position [375, 75, 475, 115] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off Port { PortNumber 1 Name "Force (N)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Force Law" Location [474, 93, 1268, 379] 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 "pos" Position [15, 138, 45, 152] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [15, 193, 45, 207] Port "2" IconDisplay "Port number" } Block { BlockType Constant Name "Constant" Position [225, 15, 255, 45] Orientation "left" NamePlacement "alternate" Value "0" } Block { BlockType If Name "If" Ports [1, 2] Position [165, 89, 220, 136] IfExpression "u1 < 0" } Block { BlockType Merge Name "Merge" Ports [2, 1] Position [425, 135, 465, 175] InitialOutput "0" InputPortOffsets "0" } Block { BlockType SubSystem Name "Penalty\nForce" Ports [2, 1, 0, 0, 0, 0, 0, 1] Position [295, 87, 365, 123] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Penalty\nForce" Location [326, 235, 935, 535] 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 "pen" Position [115, 128, 145, 142] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [115, 198, 145, 212] Port "2" IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Gain Name "Gain" Position [200, 113, 235, 157] Gain "[0 0 0;0 -1e5 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Gain Name "Gain1" Position [200, 183, 235, 227] Gain "[0 0 0;0 -250 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Saturate Name "Saturation" Position [340, 120, 370, 150] UpperLimit "inf" LowerLimit "0" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [285, 125, 305, 145] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Outport Name "force" Position [415, 128, 445, 142] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "pen" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [55, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "vel" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [115, 96, 140, 134] IndexOptions "Index vector (dialog)" Indices "[2]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [70, 135, 90, 155] ShowName off IconShape "round" Inputs "-+|" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType SubSystem Name "Zero\nForce" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [295, 187, 365, 223] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Zero\nForce" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Zero\nForce" Position [125, 125, 155, 155] Value "[0;0;0]" } Block { BlockType Outport Name "force" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Zero\nForce" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Outport Name "force" Position [525, 148, 555, 162] IconDisplay "Port number" BusOutputAsStruct off } Line { SrcBlock "pos" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 Points [0, 0; 5, 0] Branch { DstBlock "Selector" DstPort 1 } Branch { Points [0, 30; 160, 0; 0, -80] DstBlock "Penalty\nForce" DstPort 1 } } Line { SrcBlock "vel" SrcPort 1 Points [220, 0; 0, -85] DstBlock "Penalty\nForce" DstPort 2 } Line { SrcBlock "If" SrcPort 2 Points [20, 0; 0, 40; 85, 0] DstBlock "Zero\nForce" DstPort ifaction } Line { SrcBlock "Penalty\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 1 } Line { SrcBlock "Zero\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 2 } Line { SrcBlock "Merge" SrcPort 1 DstBlock "force" DstPort 1 } Line { SrcBlock "If" SrcPort 1 Points [20, 0; 0, -38; 85, 0] DstBlock "Penalty\nForce" DstPort ifaction } Line { SrcBlock "Selector" SrcPort 1 DstBlock "If" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 Points [-65, 0; 0, -20; -80, 0; 0, 110] DstBlock "Sum" DstPort 1 } } } Block { BlockType Reference Name "Mechanical\nBranching\nBar" Ports [0, 0, 0, 0, 0, 1, 2] Position [130, 107, 140, 158] BackgroundColor "black" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Utilities/Mechanical\nBranc" "hing\nBar" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "_newl0" RConnTagsString "SA0|SA1" ClassName "BranchingBar" DialogClass "MechanicalBranchingBarBlock" NumSAPorts "2" } Block { BlockType PMIOPort Name "CG" Tag "PMCPort" Position [35, 126, 65, 144] Port "1" Side "Left" } Line { LineType "Connection" SrcBlock "Mechanical\nBranching\nBar" SrcPort LConn1 DstBlock "CG" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Body Actuator" SrcPort RConn1 Points [-40, 0; 0, -25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn2 } Line { LineType "Connection" SrcBlock "Body Sensor" SrcPort LConn1 Points [-40, 0; 0, 25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn1 } Line { Name "Position (m)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 1 DstBlock "Force Law" DstPort 1 } Line { Name "Velocity (m/s)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 2 DstBlock "Force Law" DstPort 2 } Line { Name "Force (N)" Labels [2, 1] SrcBlock "Force Law" SrcPort 1 Points [25, 0; 0, 75] DstBlock "Body Actuator" DstPort 1 } } } Block { BlockType SubSystem Name "L Knee Contact Force" Ports [0, 0, 0, 0, 0, 1] Position [27, 25, 83, 125] Orientation "up" BackgroundColor "yellow" DropShadow on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "L Knee Contact Force" Location [493, 212, 1190, 430] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins "[0.500000, 0.500000, 0.500000, 0.5000" "00]" TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Reference Name "Body Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [240, 150, 280, 190] Orientation "left" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Actuator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "3" ClassName "BodyActuatorForceTorque" DialogClass "MechanicalActuatorBlock" ReferenceFrame "Absolute (INERTIAL)" Angle "off" CoordPosition "on" Force "on" Torque "off" } Block { BlockType Reference Name "Body Sensor" Ports [0, 2, 0, 0, 0, 1] Position [240, 75, 280, 115] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Sensor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "deg" ArcVelocity "off" ArcVelocityUnits "deg/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "on" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 3 3 ]" ActiveIO "on" Width "6" ClassName "BodySensor" DialogClass "MechanicalSensorBlock" ReferenceFrame "Absolute (World)" Port { PortNumber 1 Name "Position (m)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Velocity (m/s)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType SubSystem Name "Force Law" Ports [2, 1] Position [375, 75, 475, 115] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off Port { PortNumber 1 Name "Force (N)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Force Law" Location [473, 109, 1267, 395] 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 "pos" Position [15, 163, 45, 177] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [15, 193, 45, 207] Port "2" IconDisplay "Port number" } Block { BlockType Constant Name "Constant" Position [225, 15, 255, 45] Orientation "left" NamePlacement "alternate" Value "0" } Block { BlockType If Name "If" Ports [1, 2] Position [165, 89, 220, 136] IfExpression "u1 < 0" } Block { BlockType Merge Name "Merge" Ports [2, 1] Position [425, 135, 465, 175] InitialOutput "0" InputPortOffsets "0" } Block { BlockType SubSystem Name "Penalty\nForce" Ports [2, 1, 0, 0, 0, 0, 0, 1] Position [295, 87, 365, 123] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Penalty\nForce" Location [326, 235, 935, 535] 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 "pen" Position [115, 128, 145, 142] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [115, 198, 145, 212] Port "2" IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Gain Name "Gain" Position [200, 113, 235, 157] Gain "[0 0 0;0 -1e5 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Gain Name "Gain1" Position [200, 183, 235, 227] Gain "[0 0 0;0 -250 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Saturate Name "Saturation" Position [340, 120, 370, 150] UpperLimit "inf" LowerLimit "0" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [285, 125, 305, 145] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Outport Name "force" Position [415, 128, 445, 142] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "pen" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [55, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "vel" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [115, 96, 140, 134] IndexOptions "Index vector (dialog)" Indices "[2]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [70, 135, 90, 155] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType SubSystem Name "Zero\nForce" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [295, 187, 365, 223] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Zero\nForce" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Zero\nForce" Position [125, 125, 155, 155] Value "[0;0;0]" } Block { BlockType Outport Name "force" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Zero\nForce" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Outport Name "force" Position [525, 148, 555, 162] IconDisplay "Port number" BusOutputAsStruct off } Line { Labels [1, 0] SrcBlock "pos" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 Points [0, 0; 5, 0] Branch { DstBlock "Selector" DstPort 1 } Branch { Points [0, 30; 160, 0; 0, -80] DstBlock "Penalty\nForce" DstPort 1 } } Line { SrcBlock "vel" SrcPort 1 Points [220, 0; 0, -85] DstBlock "Penalty\nForce" DstPort 2 } Line { SrcBlock "If" SrcPort 2 Points [20, 0; 0, 40; 85, 0] DstBlock "Zero\nForce" DstPort ifaction } Line { SrcBlock "Penalty\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 1 } Line { SrcBlock "Zero\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 2 } Line { SrcBlock "Merge" SrcPort 1 DstBlock "force" DstPort 1 } Line { SrcBlock "If" SrcPort 1 Points [20, 0; 0, -38; 85, 0] DstBlock "Penalty\nForce" DstPort ifaction } Line { SrcBlock "Selector" SrcPort 1 DstBlock "If" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 Points [-65, 0; 0, -20; -80, 0; 0, 110] DstBlock "Sum" DstPort 1 } } } Block { BlockType Reference Name "Mechanical\nBranching\nBar" Ports [0, 0, 0, 0, 0, 1, 2] Position [130, 107, 140, 158] BackgroundColor "black" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Utilities/Mechanical\nBranc" "hing\nBar" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "_newl0" RConnTagsString "SA0|SA1" ClassName "BranchingBar" DialogClass "MechanicalBranchingBarBlock" NumSAPorts "2" } Block { BlockType PMIOPort Name "CG" Tag "PMCPort" Position [35, 126, 65, 144] Port "1" Side "Left" } Line { LineType "Connection" SrcBlock "Mechanical\nBranching\nBar" SrcPort LConn1 DstBlock "CG" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Body Actuator" SrcPort RConn1 Points [-40, 0; 0, -25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn2 } Line { LineType "Connection" SrcBlock "Body Sensor" SrcPort LConn1 Points [-40, 0; 0, 25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn1 } Line { Name "Position (m)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 1 DstBlock "Force Law" DstPort 1 } Line { Name "Velocity (m/s)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 2 DstBlock "Force Law" DstPort 2 } Line { Name "Force (N)" Labels [2, 1] SrcBlock "Force Law" SrcPort 1 Points [25, 0; 0, 75] DstBlock "Body Actuator" DstPort 1 } } } Block { BlockType SubSystem Name "R Hip Contact Force" Ports [0, 0, 0, 0, 0, 1] Position [795, 617, 895, 673] BackgroundColor "yellow" DropShadow on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "R Hip Contact Force" Location [493, 212, 1190, 430] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins "[0.500000, 0.500000, 0.500000, 0.5000" "00]" TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Reference Name "Body Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [240, 150, 280, 190] Orientation "left" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Actuator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "3" ClassName "BodyActuatorForceTorque" DialogClass "MechanicalActuatorBlock" ReferenceFrame "Absolute (INERTIAL)" Angle "off" CoordPosition "on" Force "on" Torque "off" } Block { BlockType Reference Name "Body Sensor" Ports [0, 2, 0, 0, 0, 1] Position [240, 75, 280, 115] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Sensor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "deg" ArcVelocity "off" ArcVelocityUnits "deg/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "on" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 3 3 ]" ActiveIO "on" Width "6" ClassName "BodySensor" DialogClass "MechanicalSensorBlock" ReferenceFrame "Absolute (World)" Port { PortNumber 1 Name "Position (m)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Velocity (m/s)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType SubSystem Name "Force Law" Ports [2, 1] Position [375, 75, 475, 115] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off Port { PortNumber 1 Name "Force (N)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Force Law" Location [482, 464, 1276, 750] 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 "pos" Position [15, 163, 45, 177] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [15, 193, 45, 207] Port "2" IconDisplay "Port number" } Block { BlockType Constant Name "Constant" Position [225, 15, 255, 45] Orientation "left" NamePlacement "alternate" Value "0" } Block { BlockType If Name "If" Ports [1, 2] Position [165, 89, 220, 136] IfExpression "u1 < 0" } Block { BlockType Merge Name "Merge" Ports [2, 1] Position [425, 135, 465, 175] InitialOutput "0" InputPortOffsets "0" } Block { BlockType SubSystem Name "Penalty\nForce" Ports [2, 1, 0, 0, 0, 0, 0, 1] Position [295, 87, 365, 123] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Penalty\nForce" Location [326, 235, 935, 535] 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 "pen" Position [115, 128, 145, 142] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [115, 198, 145, 212] Port "2" IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Gain Name "Gain" Position [200, 113, 235, 157] Gain "[0 0 0;0 -1e5 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Gain Name "Gain1" Position [200, 183, 235, 227] Gain "[0 0 0;0 -250 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Saturate Name "Saturation" Position [340, 120, 370, 150] UpperLimit "inf" LowerLimit "0" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [285, 125, 305, 145] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Outport Name "force" Position [415, 128, 445, 142] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "pen" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [55, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "vel" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [115, 96, 140, 134] IndexOptions "Index vector (dialog)" Indices "[2]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [70, 135, 90, 155] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType SubSystem Name "Zero\nForce" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [295, 187, 365, 223] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Zero\nForce" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Zero\nForce" Position [125, 125, 155, 155] Value "[0;0;0]" } Block { BlockType Outport Name "force" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Zero\nForce" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Outport Name "force" Position [525, 148, 555, 162] IconDisplay "Port number" BusOutputAsStruct off } Line { Labels [1, 0] SrcBlock "pos" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 Points [0, 0; 5, 0] Branch { Points [0, 30; 160, 0; 0, -80] DstBlock "Penalty\nForce" DstPort 1 } Branch { DstBlock "Selector" DstPort 1 } } Line { SrcBlock "vel" SrcPort 1 Points [220, 0; 0, -85] DstBlock "Penalty\nForce" DstPort 2 } Line { SrcBlock "If" SrcPort 2 Points [20, 0; 0, 40; 85, 0] DstBlock "Zero\nForce" DstPort ifaction } Line { SrcBlock "Penalty\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 1 } Line { SrcBlock "Zero\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 2 } Line { SrcBlock "Merge" SrcPort 1 DstBlock "force" DstPort 1 } Line { SrcBlock "If" SrcPort 1 Points [20, 0; 0, -38; 85, 0] DstBlock "Penalty\nForce" DstPort ifaction } Line { SrcBlock "Selector" SrcPort 1 DstBlock "If" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 Points [-65, 0; 0, -20; -80, 0; 0, 110] DstBlock "Sum" DstPort 1 } } } Block { BlockType Reference Name "Mechanical\nBranching\nBar" Ports [0, 0, 0, 0, 0, 1, 2] Position [130, 107, 140, 158] BackgroundColor "black" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Utilities/Mechanical\nBranc" "hing\nBar" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "_newl0" RConnTagsString "SA0|SA1" ClassName "BranchingBar" DialogClass "MechanicalBranchingBarBlock" NumSAPorts "2" } Block { BlockType Scope Name "Scope" Ports [1] Position [360, 14, 390, 46] Floating off Location [188, 390, 512, 629] Open off NumInputPorts "1" ZoomMode "yonly" List { ListType AxesTitles axes1 "%" } DataFormat "StructureWithTime" SampleTime "0" } Block { BlockType PMIOPort Name "CG" Tag "PMCPort" Position [35, 126, 65, 144] Port "1" Side "Left" } Line { LineType "Connection" SrcBlock "Mechanical\nBranching\nBar" SrcPort LConn1 DstBlock "CG" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Body Actuator" SrcPort RConn1 Points [-40, 0; 0, -25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn2 } Line { LineType "Connection" SrcBlock "Body Sensor" SrcPort LConn1 Points [-40, 0; 0, 25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn1 } Line { Name "Position (m)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 1 Points [60, 0] Branch { DstBlock "Force Law" DstPort 1 } Branch { DstBlock "Scope" DstPort 1 } } Line { Name "Velocity (m/s)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 2 DstBlock "Force Law" DstPort 2 } Line { Name "Force (N)" Labels [2, 1] SrcBlock "Force Law" SrcPort 1 Points [25, 0; 0, 75] DstBlock "Body Actuator" DstPort 1 } } } Block { BlockType SubSystem Name "R Knee Contact Force" Ports [0, 0, 0, 0, 0, 1] Position [292, 430, 348, 530] Orientation "down" BackgroundColor "yellow" DropShadow on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "R Knee Contact Force" Location [493, 212, 1190, 430] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins "[0.500000, 0.500000, 0.500000, 0.5000" "00]" TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Reference Name "Body Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [240, 150, 280, 190] Orientation "left" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Actuator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "3" ClassName "BodyActuatorForceTorque" DialogClass "MechanicalActuatorBlock" ReferenceFrame "Absolute (INERTIAL)" Angle "off" CoordPosition "on" Force "on" Torque "off" } Block { BlockType Reference Name "Body Sensor" Ports [0, 2, 0, 0, 0, 1] Position [240, 75, 280, 115] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Body " "Sensor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "deg" ArcVelocity "off" ArcVelocityUnits "deg/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "on" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 3 3 ]" ActiveIO "on" Width "6" ClassName "BodySensor" DialogClass "MechanicalSensorBlock" ReferenceFrame "Absolute (World)" Port { PortNumber 1 Name "Position (m)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } Port { PortNumber 2 Name "Velocity (m/s)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } } Block { BlockType SubSystem Name "Force Law" Ports [2, 1] Position [375, 75, 475, 115] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off Port { PortNumber 1 Name "Force (N)" RTWStorageClass "Auto" DataLoggingNameMode "SignalName" } System { Name "Force Law" Location [473, 109, 1267, 395] 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 "pos" Position [15, 163, 45, 177] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [15, 193, 45, 207] Port "2" IconDisplay "Port number" } Block { BlockType Constant Name "Constant" Position [225, 15, 255, 45] Orientation "left" NamePlacement "alternate" Value "0" } Block { BlockType If Name "If" Ports [1, 2] Position [165, 89, 220, 136] IfExpression "u1 < 0" } Block { BlockType Merge Name "Merge" Ports [2, 1] Position [425, 135, 465, 175] InitialOutput "0" InputPortOffsets "0" } Block { BlockType SubSystem Name "Penalty\nForce" Ports [2, 1, 0, 0, 0, 0, 0, 1] Position [295, 87, 365, 123] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Penalty\nForce" Location [326, 235, 935, 535] 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 "pen" Position [115, 128, 145, 142] IconDisplay "Port number" } Block { BlockType Inport Name "vel" Position [115, 198, 145, 212] Port "2" IconDisplay "Port number" } Block { BlockType ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "then" } Block { BlockType Gain Name "Gain" Position [200, 113, 235, 157] Gain "[0 0 0;0 -1e5 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Gain Name "Gain1" Position [200, 183, 235, 227] Gain "[0 0 0;0 -250 0;0 0 0]" Multiplication "Matrix(K*u)" } Block { BlockType Saturate Name "Saturation" Position [340, 120, 370, 150] UpperLimit "inf" LowerLimit "0" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [285, 125, 305, 145] ShowName off IconShape "round" Inputs "|++" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType Outport Name "force" Position [415, 128, 445, 142] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "pen" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Gain1" SrcPort 1 Points [55, 0] DstBlock "Sum" DstPort 2 } Line { SrcBlock "vel" SrcPort 1 DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Saturation" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Selector Name "Selector" Ports [1, 1] Position [115, 96, 140, 134] IndexOptions "Index vector (dialog)" Indices "[2]" OutputSizes "1" InputPortWidth "3" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [70, 135, 90, 155] ShowName off IconShape "round" Inputs "-+" CollapseMode "All dimensions" InputSameDT off OutDataTypeMode "Inherit via internal rule" } Block { BlockType SubSystem Name "Zero\nForce" Ports [0, 1, 0, 0, 0, 0, 0, 1] Position [295, 187, 365, 223] TreatAsAtomicUnit on MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Zero\nForce" Location [252, 436, 750, 736] 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 ActionPort Name "Action Port" Position [170, 15, 229, 43] ActionType "else" } Block { BlockType Constant Name "Zero\nForce" Position [125, 125, 155, 155] Value "[0;0;0]" } Block { BlockType Outport Name "force" Position [320, 133, 350, 147] IconDisplay "Port number" BusOutputAsStruct off InitialOutput "0" } Line { SrcBlock "Zero\nForce" SrcPort 1 DstBlock "force" DstPort 1 } } } Block { BlockType Outport Name "force" Position [525, 148, 555, 162] IconDisplay "Port number" BusOutputAsStruct off } Line { Labels [1, 0] SrcBlock "pos" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 Points [0, 0; 5, 0] Branch { DstBlock "Selector" DstPort 1 } Branch { Points [0, 30; 160, 0; 0, -80] DstBlock "Penalty\nForce" DstPort 1 } } Line { SrcBlock "vel" SrcPort 1 Points [220, 0; 0, -85] DstBlock "Penalty\nForce" DstPort 2 } Line { SrcBlock "If" SrcPort 2 Points [20, 0; 0, 40; 85, 0] DstBlock "Zero\nForce" DstPort ifaction } Line { SrcBlock "Penalty\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 1 } Line { SrcBlock "Zero\nForce" SrcPort 1 Points [40, 0] DstBlock "Merge" DstPort 2 } Line { SrcBlock "Merge" SrcPort 1 DstBlock "force" DstPort 1 } Line { SrcBlock "If" SrcPort 1 Points [20, 0; 0, -38; 85, 0] DstBlock "Penalty\nForce" DstPort ifaction } Line { SrcBlock "Selector" SrcPort 1 DstBlock "If" DstPort 1 } Line { SrcBlock "Constant" SrcPort 1 Points [-65, 0; 0, -20; -80, 0; 0, 110] DstBlock "Sum" DstPort 1 } } } Block { BlockType Reference Name "Mechanical\nBranching\nBar" Ports [0, 0, 0, 0, 0, 1, 2] Position [130, 107, 140, 158] BackgroundColor "black" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Utilities/Mechanical\nBranc" "hing\nBar" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "_newl0" RConnTagsString "SA0|SA1" ClassName "BranchingBar" DialogClass "MechanicalBranchingBarBlock" NumSAPorts "2" } Block { BlockType PMIOPort Name "CG" Tag "PMCPort" Position [35, 126, 65, 144] Port "1" Side "Left" } Line { LineType "Connection" SrcBlock "Mechanical\nBranching\nBar" SrcPort LConn1 DstBlock "CG" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Body Actuator" SrcPort RConn1 Points [-40, 0; 0, -25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn2 } Line { LineType "Connection" SrcBlock "Body Sensor" SrcPort LConn1 Points [-40, 0; 0, 25] DstBlock "Mechanical\nBranching\nBar" DstPort RConn1 } Line { Name "Position (m)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 1 DstBlock "Force Law" DstPort 1 } Line { Name "Velocity (m/s)" Labels [0, 0] SrcBlock "Body Sensor" SrcPort 2 DstBlock "Force Law" DstPort 2 } Line { Name "Force (N)" Labels [2, 1] SrcBlock "Force Law" SrcPort 1 Points [25, 0; 0, 75] DstBlock "Body Actuator" DstPort 1 } } } Block { BlockType PMIOPort Name "Conn1" Position [510, 53, 540, 67] Port "1" Side "Left" } Block { BlockType PMIOPort Name "Conn2" Position [40, 150, 70, 165] Orientation "up" Port "2" Side "Left" } Block { BlockType PMIOPort Name "Conn3" Position [725, 343, 755, 357] Port "3" Side "Left" } Block { BlockType PMIOPort Name "Conn4" Position [305, 390, 335, 405] Orientation "down" Port "4" Side "Left" } Block { BlockType PMIOPort Name "Conn5" Position [90, 545, 120, 560] Orientation "down" Port "5" Side "Left" } Block { BlockType PMIOPort Name "Conn6" Position [740, 638, 770, 652] Port "6" Side "Left" } Line { LineType "Connection" SrcBlock "Conn1" SrcPort RConn1 DstBlock "L Ankle Contact Force" DstPort LConn1 } Line { LineType "Connection" SrcBlock "Conn2" SrcPort RConn1 DstBlock "L Knee Contact Force" DstPort LConn1 } Line { LineType "Connection" SrcBlock "Conn3" SrcPort RConn1 DstBlock "L Ankle Contact Force1" DstPort LConn1 } Line { LineType "Connection" SrcBlock "Conn6" SrcPort RConn1 DstBlock "R Hip Contact Force" DstPort LConn1 } Line { LineType "Connection" SrcBlock "Conn5" SrcPort RConn1 DstBlock "L Hip Contact Force" DstPort LConn1 } Line { LineType "Connection" Labels [0, 0] SrcBlock "Conn4" SrcPort RConn1 DstBlock "R Knee Contact Force" DstPort LConn1 } } } Block { BlockType Reference Name "L Calf" Ports [0, 0, 0, 0, 0, 2, 2] Position [387, 550, 443, 630] Orientation "up" ForegroundColor "red" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Bodies/Body" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "workingframe" RightPortType "workingframe" LConnTagsString "CS1|CS3" RConnTagsString "CS4|CS2" ClassName "Body" DialogClass "MechanicalBodyBlock" Mass "6.8952" MassUnits "kg" InertiaUnits "kg*m^2" Inertia "[.1535 0 0;0 .1535 0;0 0 .1535]" Shape "Cylinder" ShapeDims "[1 1]" ShapeUnits "m" ShapeUse "false" Density "1" DensityUnits "kg/m^3" DensityUse "false" CG "Left$CG$[0 .1426 0]$World$World$m$[0 0 0]$E" "uler X-Y-Z$deg$WORLD$false" WorkingFrames "Right$CS4$[0 .3810 0]$World$World$m$[0 0 0]" "$Euler X-Y-Z$deg$WORLD$true#Right$CS2$[0 .3810 0]$World$World$m$[0 0 0]$Euler" " X-Y-Z$deg$WORLD$true#Left$CS1$[0 0 0]$World$World$m$[0 0 0]$Euler X-Y-Z$deg$" "WORLD$true#Left$CS3$[0 0 0]$World$World$m$[0 0 0]$Euler X-Y-Z$deg$WORLD$true" CGPos "[0 .1426 0]" CGRot "[0 0 0]" CS0Pos "[]" CS0Rot "[]" CS1Pos "[0 0 0]" CS1Rot "[0 0 0]" CS2Pos "[0 .3810 0]" CS2Rot "[0 0 0]" CS3Pos "[0 0 0]" CS3Rot "[0 0 0]" CS4Pos "[0 .3810 0]" CS4Rot "[0 0 0]" CS5Pos "[]" CS5Rot "[]" CS6Pos "[]" CS6Rot "[]" CS7Pos "[]" CS7Rot "[]" CS8Pos "[]" CS8Rot "[]" CS9Pos "[]" CS9Rot "[]" CS10Pos "[]" CS10Rot "[]" CS11Pos "[]" CS11Rot "[]" CS12Pos "[]" CS12Rot "[]" CS13Pos "[]" CS13Rot "[]" CS14Pos "[]" CS14Rot "[]" CS15Pos "[]" CS15Rot "[]" CS16Pos "[]" CS16Rot "[]" CS17Pos "[]" CS17Rot "[]" CS18Pos "[]" CS18Rot "[]" CS19Pos "[]" CS19Rot "[]" CS20Pos "[]" CS20Rot "[]" } Block { BlockType SubSystem Name "L Hip" Ports [1, 2, 0, 0, 0, 1, 1] Position [355, 139, 485, 231] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "L Hip" Location [557, 225, 997, 605] 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 "L Hip Torque" Position [235, 278, 265, 292] Orientation "left" NamePlacement "alternate" IconDisplay "Port number" } Block { BlockType Reference Name "L Hip Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [150, 265, 190, 305] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Act" "uator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "1" ClassName "JointActuator" DialogClass "MechanicalActuatorBlock" Primitive "R1" ReferenceFrame "Absolute (INERTIAL)" } Block { BlockType Reference Name "L Hip Initial Condition" Ports [0, 0, 0, 0, 0, 0, 1] Position [195, 200, 235, 240] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Ini" "tial Condition" SourceType "msb" 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" PhysicalDomain "mechanical" ClassName "InitialCondition" DialogClass "InitialConditionBlock" InitialConditions "P1$false$0$m$deg$0$m/s$deg/s#P2$false$0" "$m$deg$0$m/s$deg/s#P3$false$0$m$deg$0$m/s$deg/s#R1$true$0.1$m$rad$0$m/s$rad/s" "#R2$false$0$m$deg$0$m/s$deg/s#R3$false$0$m$deg$0$m/s$deg/s#S$false$0$m$deg$0$" "m/s$deg/s" P1PIC "0" P1VIC "0" P2PIC "0" P2VIC "0" P3PIC "0" P3VIC "0" R1PIC "0.1" R1VIC "0" R2PIC "0" R2VIC "0" R3PIC "0" R3VIC "0" SPIC "0" SVIC "0" } Block { BlockType Reference Name "L Hip Joint" Ports [0, 0, 0, 0, 0, 3, 2] Position [39, 155, 91, 205] Orientation "up" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Joints/Revolute" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "__newl0|SA1|SA2" RConnTagsString "__newr0|SA1" NumSAPorts "3" CutJoint "off" MarkAsCut "off" Primitives "prismatic" PrimitiveProps "R1$World$[0 0 1]$revolute" ClassName "Joint" DialogClass "JointBlock" R1Axis "[0 0 1]" } Block { BlockType Reference Name "L Hip Sensor" Ports [0, 2, 0, 0, 0, 1] Position [130, 95, 170, 135] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Sen" "sor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "rad" ArcVelocity "on" ArcVelocityUnits "rad/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "off" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 1 1 ]" ActiveIO "on" Width "2" ClassName "JointSensor" DialogClass "MechanicalSensorBlock" Primitive "R1" Force "off" ForceUnits "N" Torque "off" TorqueUnits "N-m" ReferenceFrame "Absolute (INERTIAL)" ReactionSensedSide "Base" ReactionReferenceFrame "Absolute (World)" ReactionForce "off" ReactionForceUnits "N" ReactionMoment "off" ReactionMomentUnits "N-m" } Block { BlockType PMIOPort Name "Conn1" Position [43, 305, 57, 335] Orientation "up" Port "1" Side "Left" } Block { BlockType PMIOPort Name "Conn2" Position [48, 25, 62, 55] Orientation "down" Port "2" Side "Right" } Block { BlockType Outport Name "L Hip Angle" Position [275, 98, 305, 112] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L Hip Velocity" Position [345, 118, 375, 132] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Line { LineType "Connection" SrcBlock "L Hip Actuator" SrcPort RConn1 Points [-70, 0] DstBlock "L Hip Joint" DstPort LConn2 } Line { LineType "Connection" SrcBlock "L Hip Sensor" SrcPort LConn1 Points [-35, 0] DstBlock "L Hip Joint" DstPort RConn2 } Line { SrcBlock "L Hip Torque" SrcPort 1 DstBlock "L Hip Actuator" DstPort 1 } Line { SrcBlock "L Hip Sensor" SrcPort 2 DstBlock "L Hip Velocity" DstPort 1 } Line { SrcBlock "L Hip Sensor" SrcPort 1 DstBlock "L Hip Angle" DstPort 1 } Line { LineType "Connection" SrcBlock "Conn1" SrcPort RConn1 DstBlock "L Hip Joint" DstPort LConn1 } Line { LineType "Connection" SrcBlock "Conn2" SrcPort RConn1 DstBlock "L Hip Joint" DstPort RConn1 } Line { LineType "Connection" SrcBlock "L Hip Initial Condition" SrcPort RConn1 DstBlock "L Hip Joint" DstPort LConn3 } } } Block { BlockType SubSystem Name "L Knee" Ports [1, 2, 0, 0, 0, 1, 1] Position [495, 412, 565, 498] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "L Knee" Location [265, 339, 700, 725] 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 "L Knee Torque" Position [210, 118, 240, 132] Orientation "left" NamePlacement "alternate" IconDisplay "Port number" } Block { BlockType Reference Name "Knee Initial Condition" Ports [0, 0, 0, 0, 0, 0, 1] Position [210, 225, 250, 265] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Ini" "tial Condition" SourceType "msb" 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" PhysicalDomain "mechanical" ClassName "InitialCondition" DialogClass "InitialConditionBlock" InitialConditions "P1$false$0$m$deg$0$m/s$deg/s#P2$false$0" "$m$deg$0$m/s$deg/s#P3$false$0$m$deg$0$m/s$deg/s#R1$true$0$m$rad$0$m/s$rad/s#R" "2$false$0$m$deg$0$m/s$deg/s#R3$false$0$m$deg$0$m/s$deg/s#S$false$0$m$deg$0$m/" "s$deg/s" P1PIC "0" P1VIC "0" P2PIC "0" P2VIC "0" P3PIC "0" P3VIC "0" R1PIC "0" R1VIC "0" R2PIC "0" R2VIC "0" R3PIC "0" R3VIC "0" SPIC "0" SVIC "0" } Block { BlockType Reference Name "L Knee Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [110, 105, 150, 145] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Act" "uator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "1" ClassName "JointActuator" DialogClass "MechanicalActuatorBlock" Primitive "R1" ReferenceFrame "Absolute (INERTIAL)" } Block { BlockType Reference Name "L Knee Joint" Ports [0, 0, 0, 0, 0, 3, 2] Position [44, 180, 96, 230] Orientation "up" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Joints/Revolute" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "__newl0|SA1|SA2" RConnTagsString "__newr0|SA1" NumSAPorts "3" CutJoint "off" MarkAsCut "off" Primitives "prismatic" PrimitiveProps "R1$World$[0 0 1]$revolute" ClassName "Joint" DialogClass "JointBlock" R1Axis "[0 0 1]" } Block { BlockType Reference Name "L Knee Sensor" Ports [0, 2, 0, 0, 0, 1] Position [170, 280, 210, 320] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Sen" "sor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "rad" ArcVelocity "on" ArcVelocityUnits "rad/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "off" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 1 1 ]" ActiveIO "on" Width "2" ClassName "JointSensor" DialogClass "MechanicalSensorBlock" Primitive "R1" Force "off" ForceUnits "N" Torque "off" TorqueUnits "N-m" ReferenceFrame "Absolute (INERTIAL)" ReactionSensedSide "Base" ReactionReferenceFrame "Absolute (World)" ReactionForce "off" ReactionForceUnits "N" ReactionMoment "off" ReactionMomentUnits "N-m" } Block { BlockType PMIOPort Name "Conn1" Position [40, 40, 70, 55] Orientation "down" Port "1" Side "Right" } Block { BlockType PMIOPort Name "Conn2" Position [40, 345, 70, 360] Orientation "up" Port "2" Side "Left" } Block { BlockType Outport Name "L Knee Angle" Position [265, 283, 295, 297] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L Knee Velocity" Position [325, 303, 355, 317] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Line { LineType "Connection" SrcBlock "L Knee Actuator" SrcPort RConn1 Points [-10, 0] DstBlock "L Knee Joint" DstPort RConn2 } Line { LineType "Connection" SrcBlock "L Knee Sensor" SrcPort LConn1 Points [-85, 0] DstBlock "L Knee Joint" DstPort LConn2 } Line { SrcBlock "L Knee Torque" SrcPort 1 DstBlock "L Knee Actuator" DstPort 1 } Line { SrcBlock "L Knee Sensor" SrcPort 2 DstBlock "L Knee Velocity" DstPort 1 } Line { SrcBlock "L Knee Sensor" SrcPort 1 DstBlock "L Knee Angle" DstPort 1 } Line { LineType "Connection" SrcBlock "Conn1" SrcPort RConn1 Points [0, 95] DstBlock "L Knee Joint" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Conn2" SrcPort RConn1 DstBlock "L Knee Joint" DstPort LConn1 } Line { LineType "Connection" SrcBlock "L Knee Joint" SrcPort LConn3 DstBlock "Knee Initial Condition" DstPort RConn1 } } } Block { BlockType Reference Name "L Thigh" Ports [0, 0, 0, 0, 0, 1, 2] Position [297, 290, 353, 370] Orientation "up" ForegroundColor "red" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Bodies/Body" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "workingframe" RightPortType "workingframe" LConnTagsString "CS1" RConnTagsString "CS2|CS4" ClassName "Body" DialogClass "MechanicalBodyBlock" Mass "5.676" MassUnits "kg" InertiaUnits "kg*m^2" Inertia "[0.09592 0 0;0 0.09592 0;0 0 0.09592]" Shape "Cylinder" ShapeDims "[1 1]" ShapeUnits "m" ShapeUse "false" Density "1" DensityUnits "kg/m^3" DensityUse "false" CG "Left$CG$[0 .583 0]$World$World$m$[0 0 0]$Eu" "ler X-Y-Z$deg$WORLD$false" WorkingFrames "Left$CS3$[0 .3810 0]$World$World$m$[0 0 0]$" "Euler X-Y-Z$deg$WORLD$false#Right$CS2$[0 .7728 0]$World$World$m$[0 0 0]$Euler" " X-Y-Z$deg$WORLD$true#Right$CS4$[0 .7728 0]$World$World$m$[0 0 0]$Euler X-Y-Z" "$deg$WORLD$true#Left$CS1$[0 .3810 0]$World$World$m$[0 0 0]$Euler X-Y-Z$deg$WO" "RLD$true" CGPos "[0 .583 0]" CGRot "[0 0 0]" CS0Pos "[]" CS0Rot "[]" CS1Pos "[0 .3810 0]" CS1Rot "[0 0 0]" CS2Pos "[0 .7728 0]" CS2Rot "[0 0 0]" CS3Pos "[0 .3810 0]" CS3Rot "[0 0 0]" CS4Pos "[0 .7728 0]" CS4Rot "[0 0 0]" CS5Pos "[]" CS5Rot "[]" CS6Pos "[]" CS6Rot "[]" CS7Pos "[]" CS7Rot "[]" CS8Pos "[]" CS8Rot "[]" CS9Pos "[]" CS9Rot "[]" CS10Pos "[]" CS10Rot "[]" CS11Pos "[]" CS11Rot "[]" CS12Pos "[]" CS12Rot "[]" CS13Pos "[]" CS13Rot "[]" CS14Pos "[]" CS14Rot "[]" CS15Pos "[]" CS15Rot "[]" CS16Pos "[]" CS16Rot "[]" CS17Pos "[]" CS17Rot "[]" CS18Pos "[]" CS18Rot "[]" CS19Pos "[]" CS19Rot "[]" CS20Pos "[]" CS20Rot "[]" } Block { BlockType SubSystem Name "Left Ankle" Ports [1, 2, 0, 0, 0, 0, 1] Position [140, 671, 275, 759] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Left Ankle" Location [134, 184, 685, 555] 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 "L Ankle Torque" Position [290, 103, 320, 117] Orientation "left" IconDisplay "Port number" } Block { BlockType Reference Name "Ground" Ports [0, 0, 0, 0, 0, 1, 1] Position [50, 260, 90, 300] Orientation "up" UserDataPersistent on UserData "DataTag0" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Bodies/Ground" SourceType "msb" 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" LeftPortType "env" RightPortType "workingframe" PhysicalDomain "Mechanical" DialogClass "GroundBlock" ClassName "Ground" CoordPosition "[0 0 0]" CoordPositionUnits "m" StateVectorMgrId "-1" MachineId "[2 0]" ShowEnvPort on } Block { BlockType Reference Name "Initial Conditions" Ports [0, 0, 0, 0, 0, 0, 1] Position [175, 225, 215, 265] Orientation "left" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Ini" "tial Condition" SourceType "msb" 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" PhysicalDomain "Mechanical" ClassName "InitialCondition" DialogClass "InitialConditionBlock" InitialConditions "P1$true$0$m$rad$0$m/s$rad/s#P2$false$0$" "m$rad$0$m/s$rad/s#P3$false$0$m$rad$0$m/s$rad/s#R1$true$0$m$rad$0$m/s$rad/s#R2" "$false$0$m$rad$0$m/s$rad/s#R3$false$0$m$rad$0$m/s$rad/s#S$false$0$m$rad$0$m/s" "$rad/s" P1PIC "0" P1VIC "0" P2PIC "0" P2VIC "0" P3PIC "0" P3VIC "0" R1PIC "0" R1VIC "0" R2PIC "0" R2VIC "0" R3PIC "0" R3VIC "0" SPIC "0" SVIC "0" } Block { BlockType Reference Name "L Ankle Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [145, 90, 185, 130] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Act" "uator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "1" ClassName "JointActuator" DialogClass "MechanicalActuatorBlock" Primitive "R1" ReferenceFrame "Absolute (INERTIAL)" } Block { BlockType Reference Name "L Ankle Joint" Ports [0, 0, 0, 0, 0, 3, 2] Position [59, 140, 111, 190] Orientation "up" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Joints/Planar" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "__newl0|SA1|SA2" RConnTagsString "__newr0|SA1" NumSAPorts "3" CutJoint "off" MarkAsCut "off" Primitives "prismatic_prismatic" PrimitiveProps "P1$World$[1 0 0]$prismatic#P2$World$[0 " "1 0]$prismatic#R1$World$[0 0 1]$revolute" ClassName "PlanarJoint" DialogClass "JointBlock" P1Axis "[1 0 0]" P2Axis "[0 1 0]" R1Axis "[0 0 1]" } Block { BlockType Reference Name "L Ankle Sensor" Ports [0, 2, 0, 0, 0, 1] Position [260, 190, 300, 230] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Sen" "sor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "rad" ArcVelocity "on" ArcVelocityUnits "rad/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "off" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 1 1 ]" ActiveIO "on" Width "2" ClassName "JointSensor" DialogClass "MechanicalSensorBlock" Primitive "R1" Force "off" ForceUnits "N" Torque "off" TorqueUnits "N-m" ReferenceFrame "Absolute (INERTIAL)" ReactionSensedSide "Base" ReactionReferenceFrame "Absolute (World)" ReactionForce "off" ReactionForceUnits "N" ReactionMoment "off" ReactionMomentUnits "N-m" } Block { BlockType Reference Name "Machine\nEnvironment" Tag "Factory ground" Ports [0, 0, 0, 0, 0, 0, 1] Position [125, 330, 165, 350] Orientation "up" ShowName off DialogController "MECH.DialogSource" SourceBlock "mblibv1/Bodies/Machine\nEnvironment" SourceType "Mechanical" 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" PortType "env" PhysicalDomain "Mechanical" ClassName "Environment" DialogTemplateClass "MECH.MachineEnvironment" SyncWhenCopied "off" Gravity "[0 -9.81 0]" GravityUnits "m/s^2" GravityAsSignal off Dimensionality "3D Only" AnalysisType "Forward dynamics" LinearAssemblyTolerance "1e-3" LinearAssemblyToleranceUnits "m" AngularAssemblyTolerance "1e-3" AngularAssemblyToleranceUnits "rad" ConstraintSolverType "Stabilizing" ConstraintRelTolerance "1e-4" ConstraintAbsTolerance "1e-4" UseRobustSingularityHandling off StatePerturbationType "Fixed" PerturbationSize "1e-5" VisualizeMachine on } Block { BlockType PMIOPort Name "Conn1" Position [60, 30, 90, 45] Orientation "down" Port "1" Side "Right" } Block { BlockType Outport Name "L Ankle Angle" Position [360, 193, 390, 207] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L Ankle Velocity" Position [450, 213, 480, 227] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Line { LineType "Connection" SrcBlock "L Ankle Joint" SrcPort LConn1 DstBlock "Ground" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Initial Conditions" SrcPort RConn1 Points [-75, 0] DstBlock "L Ankle Joint" DstPort LConn2 } Line { LineType "Connection" SrcBlock "L Ankle Actuator" SrcPort RConn1 Points [-30, 0] DstBlock "L Ankle Joint" DstPort RConn2 } Line { LineType "Connection" SrcBlock "L Ankle Sensor" SrcPort LConn1 Points [-145, 0] DstBlock "L Ankle Joint" DstPort LConn3 } Line { SrcBlock "L Ankle Sensor" SrcPort 2 DstBlock "L Ankle Velocity" DstPort 1 } Line { SrcBlock "L Ankle Sensor" SrcPort 1 DstBlock "L Ankle Angle" DstPort 1 } Line { SrcBlock "L Ankle Torque" SrcPort 1 DstBlock "L Ankle Actuator" DstPort 1 } Line { LineType "Connection" SrcBlock "Conn1" SrcPort RConn1 DstBlock "L Ankle Joint" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Machine\nEnvironment" SrcPort RConn1 Points [0, 0] DstBlock "Ground" DstPort LConn1 } } } Block { BlockType Reference Name "R Calf" Ports [0, 0, 0, 0, 0, 2, 1] Position [1032, 505, 1088, 585] Orientation "up" ForegroundColor "red" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Bodies/Body" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "workingframe" RightPortType "workingframe" LConnTagsString "CS1|CS3" RConnTagsString "CS4" ClassName "Body" DialogClass "MechanicalBodyBlock" Mass "6.8952" MassUnits "kg" InertiaUnits "kg*m^2" Inertia "[.1535 0 0;0 .1535 0;0 0 .1535]" Shape "Cylinder" ShapeDims "[1 1]" ShapeUnits "m" ShapeUse "false" Density "1" DensityUnits "kg/m^3" DensityUse "false" CG "Left$CG$[0 .1426 0]$World$World$m$[0 0 0]$E" "uler X-Y-Z$deg$WORLD$false" WorkingFrames "Right$CS4$[0 .3810 0]$World$World$m$[0 0 0]" "$Euler X-Y-Z$deg$WORLD$true#Right$CS2$[0 .3810 0]$World$World$m$[0 0 0]$Euler" " X-Y-Z$deg$WORLD$false#Left$CS1$[0 0 0]$World$World$m$[0 0 0]$Euler X-Y-Z$deg" "$WORLD$true#Left$CS3$[0 0 0]$World$World$m$[0 0 0]$Euler X-Y-Z$deg$WORLD$true" CGPos "[0 .1426 0]" CGRot "[0 0 0]" CS0Pos "[]" CS0Rot "[]" CS1Pos "[0 0 0]" CS1Rot "[0 0 0]" CS2Pos "[0 .3810 0]" CS2Rot "[0 0 0]" CS3Pos "[0 0 0]" CS3Rot "[0 0 0]" CS4Pos "[0 .3810 0]" CS4Rot "[0 0 0]" CS5Pos "[]" CS5Rot "[]" CS6Pos "[]" CS6Rot "[]" CS7Pos "[]" CS7Rot "[]" CS8Pos "[]" CS8Rot "[]" CS9Pos "[]" CS9Rot "[]" CS10Pos "[]" CS10Rot "[]" CS11Pos "[]" CS11Rot "[]" CS12Pos "[]" CS12Rot "[]" CS13Pos "[]" CS13Rot "[]" CS14Pos "[]" CS14Rot "[]" CS15Pos "[]" CS15Rot "[]" CS16Pos "[]" CS16Rot "[]" CS17Pos "[]" CS17Rot "[]" CS18Pos "[]" CS18Rot "[]" CS19Pos "[]" CS19Rot "[]" CS20Pos "[]" CS20Rot "[]" } Block { BlockType SubSystem Name "R Hip" Ports [1, 2, 0, 0, 0, 1, 1] Position [865, 39, 1005, 131] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "R Hip" Location [122, 328, 801, 621] 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 "R Hip Torque" Position [575, 163, 605, 177] Orientation "left" NamePlacement "alternate" IconDisplay "Port number" } Block { BlockType Reference Name "R Hip Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [455, 150, 495, 190] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Act" "uator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "1" ClassName "JointActuator" DialogClass "MechanicalActuatorBlock" Primitive "R1" ReferenceFrame "Absolute (INERTIAL)" } Block { BlockType Reference Name "R Hip Initial Condition" Ports [0, 0, 0, 0, 0, 0, 1] Position [250, 160, 290, 200] Orientation "up" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Ini" "tial Condition" SourceType "msb" 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" PhysicalDomain "mechanical" ClassName "InitialCondition" DialogClass "InitialConditionBlock" InitialConditions "P1$false$0$m$deg$0$m/s$deg/s#P2$false$0" "$m$deg$0$m/s$deg/s#P3$false$0$m$deg$0$m/s$deg/s#R1$true$0$m$rad$0$m/s$rad/s#R" "2$false$0$m$deg$0$m/s$deg/s#R3$false$0$m$deg$0$m/s$deg/s#S$false$0$m$deg$0$m/" "s$deg/s" P1PIC "0" P1VIC "0" P2PIC "0" P2VIC "0" P3PIC "0" P3VIC "0" R1PIC "0" R1VIC "0" R2PIC "0" R2VIC "0" R3PIC "0" R3VIC "0" SPIC "0" SVIC "0" } Block { BlockType Reference Name "R Hip Joint" Ports [0, 0, 0, 0, 0, 3, 2] Position [335, 74, 385, 126] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Joints/Revolute" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "__newl0|SA1|SA2" RConnTagsString "__newr0|SA1" NumSAPorts "3" CutJoint "off" MarkAsCut "off" Primitives "prismatic" PrimitiveProps "R1$World$[0 0 1]$revolute" ClassName "Joint" DialogClass "JointBlock" R1Axis "[0 0 1]" } Block { BlockType Reference Name "R Hip Sensor" Ports [0, 2, 0, 0, 0, 1] Position [200, 80, 240, 120] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Sen" "sor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "rad" ArcVelocity "on" ArcVelocityUnits "rad/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "off" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 1 1 ]" ActiveIO "on" Width "2" ClassName "JointSensor" DialogClass "MechanicalSensorBlock" Primitive "R1" Force "off" ForceUnits "N" Torque "off" TorqueUnits "N-m" ReferenceFrame "Absolute (INERTIAL)" ReactionSensedSide "Base" ReactionReferenceFrame "Absolute (World)" ReactionForce "off" ReactionForceUnits "N" ReactionMoment "off" ReactionMomentUnits "N-m" } Block { BlockType PMIOPort Name "Conn1" Position [475, 23, 505, 37] Orientation "left" Port "1" Side "Left" } Block { BlockType PMIOPort Name "Conn2" Position [265, 38, 295, 52] Port "2" Side "Right" } Block { BlockType Outport Name "R Hip Angle" Position [45, 83, 75, 97] Orientation "left" NamePlacement "alternate" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Hip Velocity" Position [105, 103, 135, 117] Orientation "left" NamePlacement "alternate" Port "2" IconDisplay "Port number" BusOutputAsStruct off } Line { LineType "Connection" SrcBlock "R Hip Actuator" SrcPort RConn1 Points [-10, 0; 0, -55] DstBlock "R Hip Joint" DstPort RConn2 } Line { LineType "Connection" SrcBlock "R Hip Sensor" SrcPort LConn1 DstBlock "R Hip Joint" DstPort LConn2 } Line { SrcBlock "R Hip Sensor" SrcPort 2 DstBlock "R Hip Velocity" DstPort 1 } Line { SrcBlock "R Hip Sensor" SrcPort 1 DstBlock "R Hip Angle" DstPort 1 } Line { SrcBlock "R Hip Torque" SrcPort 1 DstBlock "R Hip Actuator" DstPort 1 } Line { LineType "Connection" SrcBlock "R Hip Initial Condition" SrcPort RConn1 Points [0, -30] DstBlock "R Hip Joint" DstPort LConn3 } Line { LineType "Connection" SrcBlock "Conn1" SrcPort RConn1 Points [-30, 0; 0, 60] DstBlock "R Hip Joint" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Conn2" SrcPort RConn1 Points [5, 0; 0, 40] DstBlock "R Hip Joint" DstPort LConn1 } } } Block { BlockType SubSystem Name "R Knee" Ports [1, 2, 0, 0, 0, 1, 1] Position [1240, 282, 1410, 388] MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "R Knee" Location [519, 257, 1009, 638] 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 "R Knee Torque" Position [365, 73, 395, 87] Orientation "left" NamePlacement "alternate" IconDisplay "Port number" } Block { BlockType Reference Name "R Knee Actuator" Ports [1, 0, 0, 0, 0, 0, 1] Position [235, 60, 275, 100] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Act" "uator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "1" ClassName "JointActuator" DialogClass "MechanicalActuatorBlock" Primitive "R1" ReferenceFrame "Absolute (INERTIAL)" } Block { BlockType Reference Name "R Knee Initial Condition" Ports [0, 0, 0, 0, 0, 0, 1] Position [185, 125, 225, 165] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Ini" "tial Condition" SourceType "msb" 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" PhysicalDomain "mechanical" ClassName "InitialCondition" DialogClass "InitialConditionBlock" InitialConditions "P1$false$0$m$deg$0$m/s$deg/s#P2$false$0" "$m$deg$0$m/s$deg/s#P3$false$0$m$deg$0$m/s$deg/s#R1$true$0$m$rad$0$m/s$rad/s#R" "2$false$0$m$deg$0$m/s$deg/s#R3$false$0$m$deg$0$m/s$deg/s#S$false$0$m$deg$0$m/" "s$deg/s" P1PIC "0" P1VIC "0" P2PIC "0" P2VIC "0" P3PIC "0" P3VIC "0" R1PIC "0" R1VIC "0" R2PIC "0" R2VIC "0" R3PIC "0" R3VIC "0" SPIC "0" SVIC "0" } Block { BlockType Reference Name "R Knee Joint" Ports [0, 0, 0, 0, 0, 3, 2] Position [78, 160, 132, 210] Orientation "down" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Joints/Revolute" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "__newl0|SA1|SA2" RConnTagsString "__newr0|SA1" NumSAPorts "3" CutJoint "off" MarkAsCut "off" Primitives "prismatic" PrimitiveProps "R1$World$[0 0 1]$revolute" ClassName "Joint" DialogClass "JointBlock" R1Axis "[0 0 1]" } Block { BlockType Reference Name "R Knee Sensor" Ports [0, 2, 0, 0, 0, 1] Position [160, 240, 200, 280] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Sen" "sor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "rad" ArcVelocity "on" ArcVelocityUnits "rad/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "off" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 1 1 ]" ActiveIO "on" Width "2" ClassName "JointSensor" DialogClass "MechanicalSensorBlock" Primitive "R1" Force "off" ForceUnits "N" Torque "off" TorqueUnits "N-m" ReferenceFrame "Absolute (INERTIAL)" ReactionSensedSide "Base" ReactionReferenceFrame "Absolute (World)" ReactionForce "off" ReactionForceUnits "N" ReactionMoment "off" ReactionMomentUnits "N-m" } Block { BlockType PMIOPort Name "Conn1" Position [70, 285, 100, 300] Orientation "up" Port "1" Side "Left" } Block { BlockType PMIOPort Name "Conn2" Position [35, 65, 65, 80] Orientation "down" Port "2" Side "Right" } Block { BlockType Outport Name "R Knee Angle" Position [255, 243, 285, 257] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Knee Velocity" Position [315, 263, 345, 277] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Line { LineType "Connection" SrcBlock "R Knee Joint" SrcPort LConn2 Points [0, -65] DstBlock "R Knee Actuator" DstPort RConn1 } Line { LineType "Connection" SrcBlock "R Knee Joint" SrcPort RConn2 Points [0, 35] DstBlock "R Knee Sensor" DstPort LConn1 } Line { SrcBlock "R Knee Sensor" SrcPort 2 DstBlock "R Knee Velocity" DstPort 1 } Line { SrcBlock "R Knee Sensor" SrcPort 1 DstBlock "R Knee Angle" DstPort 1 } Line { SrcBlock "R Knee Torque" SrcPort 1 DstBlock "R Knee Actuator" DstPort 1 } Line { LineType "Connection" SrcBlock "R Knee Joint" SrcPort LConn3 DstBlock "R Knee Initial Condition" DstPort RConn1 } Line { LineType "Connection" SrcBlock "Conn2" SrcPort RConn1 Points [0, 25; 35, 0] DstBlock "R Knee Joint" DstPort LConn1 } Line { LineType "Connection" SrcBlock "Conn1" SrcPort RConn1 Points [0, -20; 10, 0] DstBlock "R Knee Joint" DstPort RConn1 } } } Block { BlockType Reference Name "R Thigh" Ports [0, 0, 0, 0, 0, 2, 1] Position [1047, 160, 1103, 240] Orientation "up" ForegroundColor "red" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Bodies/Body" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "workingframe" RightPortType "workingframe" LConnTagsString "CS3|CS1" RConnTagsString "CS2" ClassName "Body" DialogClass "MechanicalBodyBlock" Mass "5.676" MassUnits "kg" InertiaUnits "kg*m^2" Inertia "[0.09592 0 0;0 0.09592 0;0 0 0.09592]" Shape "Cylinder" ShapeDims "[1 1]" ShapeUnits "m" ShapeUse "false" Density "1" DensityUnits "kg/m^3" DensityUse "false" CG "Left$CG$[0 .583 0]$World$World$m$[0 0 0]$Eu" "ler X-Y-Z$deg$WORLD$false" WorkingFrames "Left$CS3$[0 .3810 0]$World$World$m$[0 0 0]$" "Euler X-Y-Z$deg$WORLD$true#Right$CS2$[0 .7728 0]$World$World$m$[0 0 0]$Euler " "X-Y-Z$deg$WORLD$true#Right$CS4$[0 .7728 0]$World$World$m$[0 0 0]$Euler X-Y-Z$" "deg$WORLD$false#Left$CS1$[0 .3810 0]$World$World$m$[0 0 0]$Euler X-Y-Z$deg$WO" "RLD$true" CGPos "[0 .583 0]" CGRot "[0 0 0]" CS0Pos "[]" CS0Rot "[]" CS1Pos "[0 .3810 0]" CS1Rot "[0 0 0]" CS2Pos "[0 .7728 0]" CS2Rot "[0 0 0]" CS3Pos "[0 .3810 0]" CS3Rot "[0 0 0]" CS4Pos "[0 .7728 0]" CS4Rot "[0 0 0]" CS5Pos "[]" CS5Rot "[]" CS6Pos "[]" CS6Rot "[]" CS7Pos "[]" CS7Rot "[]" CS8Pos "[]" CS8Rot "[]" CS9Pos "[]" CS9Rot "[]" CS10Pos "[]" CS10Rot "[]" CS11Pos "[]" CS11Rot "[]" CS12Pos "[]" CS12Rot "[]" CS13Pos "[]" CS13Rot "[]" CS14Pos "[]" CS14Rot "[]" CS15Pos "[]" CS15Rot "[]" CS16Pos "[]" CS16Rot "[]" CS17Pos "[]" CS17Rot "[]" CS18Pos "[]" CS18Rot "[]" CS19Pos "[]" CS19Rot "[]" CS20Pos "[]" CS20Rot "[]" } Block { BlockType SubSystem Name "Right Ankle" Ports [1, 2, 0, 0, 0, 0, 1] Position [1290, 545, 1430, 645] Orientation "left" MinAlgLoopOccurrences off RTWSystemCode "Auto" FunctionWithSeparateData off MaskHideContents off System { Name "Right Ankle" Location [747, 178, 1630, 562] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" Block { BlockType Inport Name "R Ankle Torque" Position [360, 88, 390, 102] Orientation "left" NamePlacement "alternate" IconDisplay "Port number" } Block { BlockType Reference Name "Ground" Ports [0, 0, 0, 0, 0, 0, 1] Position [30, 295, 70, 335] Orientation "up" UserDataPersistent on UserData "DataTag1" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Bodies/Ground" SourceType "msb" 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" LeftPortType "env" RightPortType "workingframe" PhysicalDomain "Mechanical" DialogClass "GroundBlock" ClassName "Ground" CoordPosition "[0 0 0]" CoordPositionUnits "m" StateVectorMgrId "-1" MachineId "[0 0]" ShowEnvPort off } Block { BlockType Reference Name "R Ankle Joint" Ports [0, 0, 0, 0, 0, 2, 2] Position [37, 170, 93, 220] Orientation "up" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Joints/Planar" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "blob" RightPortType "blob" LConnTagsString "__newl0|SA1" RConnTagsString "__newr0|SA1" NumSAPorts "2" CutJoint "off" MarkAsCut "off" Primitives "prismatic_prismatic" PrimitiveProps "P1$World$[1 0 0]$prismatic#P2$World$[0 " "1 0]$prismatic#R1$World$[0 0 1]$revolute" ClassName "PlanarJoint" DialogClass "JointBlock" P1Axis "[1 0 0]" P2Axis "[0 1 0]" R1Axis "[0 0 1]" } Block { BlockType Reference Name "R Ankle Sensor" Ports [0, 2, 0, 0, 0, 1] Position [255, 280, 295, 320] DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Sen" "sor" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" Muxed "off" Pose "off" Angle "on" AngleUnits "rad" ArcVelocity "on" ArcVelocityUnits "rad/s" ArcAcceleration "off" ArcAccelerationUnits "deg/s^2" CoordPosition "on" CoordPositionUnits "m" Velocity "off" VelocityUnits "m/s" Acceleration "off" AccelerationUnits "m/s^2" Quaternion "on" QuaternionDT "off" QuaternionDDT "off" QuaternionUnits "off" OutputVector "[ 1 1 ]" ActiveIO "on" Width "2" ClassName "JointSensor" DialogClass "MechanicalSensorBlock" Primitive "R1" Force "off" ForceUnits "N" Torque "off" TorqueUnits "N-m" ReferenceFrame "Absolute (INERTIAL)" ReactionSensedSide "Base" ReactionReferenceFrame "Absolute (World)" ReactionForce "off" ReactionForceUnits "N" ReactionMoment "off" ReactionMomentUnits "N-m" } Block { BlockType Reference Name "R Knee Actuator1" Ports [1, 0, 0, 0, 0, 0, 1] Position [250, 75, 290, 115] Orientation "left" NamePlacement "alternate" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Sensors & \nActuators/Joint Act" "uator" SourceType "msb" 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" PhysicalDomain "Mechanical" PortType "blob" ActuationStyle "Force" AngleUnits "deg" ArcVelocityUnits "deg/s" ArcAccelerationUnits "deg/s^2" CoordPositionUnits "m" VelocityUnits "m/s" AccelerationUnits "m/s^2" ForceUnits "N" TorqueUnits "N-m" ActiveIO "on" Width "1" ClassName "JointActuator" DialogClass "MechanicalActuatorBlock" Primitive "R1" ReferenceFrame "Absolute (INERTIAL)" } Block { BlockType PMIOPort Name "Conn1" Position [35, 35, 65, 50] Orientation "down" Port "1" Side "Right" } Block { BlockType Outport Name "R Ankle Angle" Position [345, 283, 375, 297] IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Ankle Velocity" Position [405, 303, 435, 317] Port "2" IconDisplay "Port number" BusOutputAsStruct off } Line { LineType "Connection" SrcBlock "R Ankle Joint" SrcPort RConn2 Points [0, -60] DstBlock "R Knee Actuator1" DstPort RConn1 } Line { SrcBlock "R Ankle Torque" SrcPort 1 DstBlock "R Knee Actuator1" DstPort 1 } Line { SrcBlock "R Ankle Sensor" SrcPort 2 DstBlock "R Ankle Velocity" DstPort 1 } Line { SrcBlock "R Ankle Sensor" SrcPort 1 DstBlock "R Ankle Angle" DstPort 1 } Line { LineType "Connection" SrcBlock "Conn1" SrcPort RConn1 DstBlock "R Ankle Joint" DstPort RConn1 } Line { LineType "Connection" SrcBlock "R Ankle Sensor" SrcPort LConn1 Points [-155, 0; 0, -65] DstBlock "R Ankle Joint" DstPort LConn2 } Line { LineType "Connection" SrcBlock "Ground" SrcPort RConn1 DstBlock "R Ankle Joint" DstPort LConn1 } } } Block { BlockType Reference Name "Torso" Ports [0, 0, 0, 0, 0, 1, 2] Position [645, 67, 725, 123] ForegroundColor "red" DialogController "MECH.DynMechDlgSource" SourceBlock "mblibv1/Bodies/Body" SourceType "msb" PhysicalDomain "mechanical" SubClassName "Unknown" LeftPortType "workingframe" RightPortType "workingframe" LConnTagsString "CS1" RConnTagsString "CS2|CS3" ClassName "Body" DialogClass "MechanicalBodyBlock" Mass "50" MassUnits "kg" InertiaUnits "kg*m^2" Inertia "[1.5 0 0;0 1.5 0;0 0 1.5]" Shape "Cylinder" ShapeDims "[1 1]" ShapeUnits "m" ShapeUse "false" Density "1" DensityUnits "kg/m^3" DensityUse "false" CG "Left$CG$[0 1.0596 0]$World$World$m$[0 0 0]$" "Euler X-Y-Z$deg$WORLD$false" WorkingFrames "Right$CS2$[0 1.5728 0]$World$World$m$[0 0 0" "]$Euler X-Y-Z$deg$WORLD$true#Right$CS3$[0 .7728 0]$World$World$m$[0 0 0]$Eule" "r X-Y-Z$deg$WORLD$true#Left$CS1$[0 .7728 0]$World$World$m$[0 0 0]$Euler X-Y-Z" "$deg$WORLD$true" CGPos "[0 1.0596 0]" CGRot "[0 0 0]" CS0Pos "[]" CS0Rot "[]" CS1Pos "[0 .7728 0]" CS1Rot "[0 0 0]" CS2Pos "[0 1.5728 0]" CS2Rot "[0 0 0]" CS3Pos "[0 .7728 0]" CS3Rot "[0 0 0]" CS4Pos "[]" CS4Rot "[]" CS5Pos "[]" CS5Rot "[]" CS6Pos "[]" CS6Rot "[]" CS7Pos "[]" CS7Rot "[]" CS8Pos "[]" CS8Rot "[]" CS9Pos "[]" CS9Rot "[]" CS10Pos "[]" CS10Rot "[]" CS11Pos "[]" CS11Rot "[]" CS12Pos "[]" CS12Rot "[]" CS13Pos "[]" CS13Rot "[]" CS14Pos "[]" CS14Rot "[]" CS15Pos "[]" CS15Rot "[]" CS16Pos "[]" CS16Rot "[]" CS17Pos "[]" CS17Rot "[]" CS18Pos "[]" CS18Rot "[]" CS19Pos "[]" CS19Rot "[]" CS20Pos "[]" CS20Rot "[]" } Block { BlockType Outport Name "L Ankle Angle" Position [325, 678, 355, 692] NamePlacement "alternate" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L Ankle Velocity" Position [325, 708, 355, 722] NamePlacement "alternate" Port "2" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L Knee Angle" Position [625, 418, 655, 432] Port "3" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L Knee Velocity" Position [625, 448, 655, 462] Port "4" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L Hip Angle" Position [540, 148, 570, 162] Port "5" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "L Hip Velocity" Position [540, 178, 570, 192] Port "6" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Hip Angle" Position [1115, 48, 1145, 62] Port "7" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Hip Velocity" Position [1115, 78, 1145, 92] Port "8" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Knee Angle" Position [1465, 293, 1495, 307] Port "9" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Knee Velocity" Position [1470, 328, 1500, 342] Port "10" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Ankle Angle" Position [1175, 553, 1205, 567] Orientation "left" NamePlacement "alternate" Port "11" IconDisplay "Port number" BusOutputAsStruct off } Block { BlockType Outport Name "R Ankle Velocity" Position [1225, 588, 1255, 602] Orientation "left" NamePlacement "alternate" Port "12" IconDisplay "Port number" BusOutputAsStruct off } Line { LineType "Connection" SrcBlock "L Thigh" SrcPort RConn2 DstBlock "L Hip" DstPort LConn1 } Line { LineType "Connection" SrcBlock "L Hip" SrcPort RConn1 Points [100, 0; 0, -120] DstBlock "Torso" DstPort LConn1 } Line { LineType "Connection" SrcBlock "L Calf" SrcPort RConn1 Points [0, -55] DstBlock "L Knee" DstPort LConn1 } Line { LineType "Connection" SrcBlock "L Knee" SrcPort RConn1 Points [125, 0; 0, -100] DstBlock "L Thigh" DstPort LConn1 } Line { LineType "Connection" SrcBlock "L Calf" SrcPort LConn1 Points [0, 100] DstBlock "Left Ankle" DstPort RConn1 } Line { LineType "Connection" SrcBlock "R Calf" SrcPort LConn2 Points [0, 30] DstBlock "Right Ankle" DstPort RConn1 } Line { LineType "Connection" SrcBlock "R Hip" SrcPort LConn1 DstBlock "Torso" DstPort RConn2 } Line { LineType "Connection" SrcBlock "R Hip" SrcPort RConn1 Points [55, 0] DstBlock "R Thigh" DstPort RConn1 } Line { LineType "Connection" SrcBlock "R Thigh" SrcPort LConn1 Points [0, 110] DstBlock "R Knee" DstPort LConn1 } Line { LineType "Connection" SrcBlock "R Knee" SrcPort RConn1 Points [20, 0; 0, 55; -385, 0] DstBlock "R Calf" DstPort RConn1 } Line { SrcBlock "Left Ankle" SrcPort 1 DstBlock "L Ankle Angle" DstPort 1 } Line { SrcBlock "Left Ankle" SrcPort 2 DstBlock "L Ankle Velocity" DstPort 1 } Line { SrcBlock "L Ankle Torque" SrcPort 1 DstBlock "Left Ankle" DstPort 1 } Line { SrcBlock "L Knee" SrcPort 1 DstBlock "L Knee Angle" DstPort 1 } Line { SrcBlock "L Knee" SrcPort 2 DstBlock "L Knee Velocity" DstPort 1 } Line { SrcBlock "L Knee Torque" SrcPort 1 DstBlock "L Knee" DstPort 1 } Line { SrcBlock "L Hip Torque" SrcPort 1 DstBlock "L Hip" DstPort 1 } Line { SrcBlock "L Hip" SrcPort 1 DstBlock "L Hip Angle" DstPort 1 } Line { SrcBlock "L Hip" SrcPort 2 DstBlock "L Hip Velocity" DstPort 1 } Line { SrcBlock "R Hip Torque" SrcPort 1 DstBlock "R Hip" DstPort 1 } Line { SrcBlock "R Hip" SrcPort 1 DstBlock "R Hip Angle" DstPort 1 } Line { SrcBlock "R Hip" SrcPort 2 DstBlock "R Hip Velocity" DstPort 1 } Line { SrcBlock "R Knee Torque" SrcPort 1 DstBlock "R Knee" DstPort 1 } Line { SrcBlock "R Knee" SrcPort 1 DstBlock "R Knee Angle" DstPort 1 } Line { SrcBlock "R Knee" SrcPort 2 DstBlock "R Knee Velocity" DstPort 1 } Line { SrcBlock "R Ankle Torque" SrcPort 1 DstBlock "Right Ankle" DstPort 1 } Line { SrcBlock "Right Ankle" SrcPort 1 DstBlock "R Ankle Angle" DstPort 1 } Line { SrcBlock "Right Ankle" SrcPort 2 DstBlock "R Ankle Velocity" DstPort 1 } Line { LineType "Connection" SrcBlock "L Calf" SrcPort LConn2 Points [0, 35; 335, 0] DstBlock "Ground Contact Force" DstPort LConn1 } Line { LineType "Connection" SrcBlock "L Thigh" SrcPort RConn1 Points [-265, 0; 0, 530; 880, 0; 0, -85] DstBlock "Ground Contact Force" DstPort LConn6 } Line { LineType "Connection" SrcBlock "Torso" SrcPort RConn1 Points "[0, -30; -720, 0; 0, 765; 935, 0; 0, -105; " "-90, 0]" DstBlock "Ground Contact Force" DstPort LConn5 } Line { LineType "Connection" SrcBlock "Ground Contact Force" SrcPort LConn4 Points "[0, -20; 140, 0; 0, 115; 640, 0; 0, -550; -" "530, 0]" DstBlock "R Thigh" DstPort LConn2 } Line { LineType "Connection" SrcBlock "Ground Contact Force" SrcPort LConn3 Points [0, -30; 230, 0] DstBlock "R Calf" DstPort LConn1 } Line { LineType "Connection" SrcBlock "Ground Contact Force" SrcPort LConn2 Points [0, -195; -360, 0] DstBlock "L Calf" DstPort RConn2 } } } Block { BlockType Clock Name "Clock" Position [950, 325, 970, 345] Decimation "10" } Block { BlockType Clock Name "Clock1" Position [730, 465, 750, 485] Orientation "left" Decimation "10" } Block { BlockType Clock Name "Clock2" Position [305, 285, 325, 305] Orientation "left" Decimation "10" } Block { BlockType Clock Name "Clock3" Position [190, 455, 210, 475] Orientation "left" Decimation "10" } Block { BlockType Clock Name "Clock4" Position [770, 670, 790, 690] Orientation "left" Decimation "10" } Block { BlockType Clock Name "Clock5" Position [845, 605, 865, 625] Orientation "left" Decimation "10" } Block { BlockType Clock Name "Clock6" Position [550, 655, 570, 675] Orientation "left" Decimation "10" } Block { BlockType Constant Name "Constant1" Position [355, 310, 385, 340] Orientation "left" Value "[0,-15,-5]" } Block { BlockType Constant Name "Constant2" Position [740, 420, 770, 450] Orientation "left" Value "[0,-25,0]" } Block { BlockType Constant Name "Constant3" Position [915, 590, 945, 620] Orientation "left" Value "[0,0,0]" } Block { BlockType Constant Name "Constant4" Position [90, 285, 120, 315] Orientation "left" Value "[0,25,0]" } Block { BlockType Constant Name "Constant5" Position [95, 415, 125, 445] Orientation "down" NamePlacement "alternate" Value "[0,30,0]" } Block { BlockType Constant Name "Constant6" Position [780, 615, 810, 645] Orientation "left" Value "[0,-6,-1]" } Block { BlockType Demux Name "Demux" Ports [1, 3] Position [520, 455, 530, 525] Orientation "left" BackgroundColor "black" NamePlacement "alternate" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Demux Name "Demux2" Ports [1, 3] Position [355, 425, 370, 475] BackgroundColor "black" NamePlacement "alternate" ShowName off Outputs "3" DisplayOption "bar" } Block { BlockType Gain Name "Gain" Position [790, 455, 820, 485] Orientation "left" NamePlacement "alternate" Gain "-K" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" OutDataTypeMode "Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Gain Name "Gain1" Position [825, 505, 855, 535] Orientation "left" NamePlacement "alternate" Gain "-K" Multiplication "Matrix(K*u)" ParameterDataTypeMode "Inherit via internal rule" OutDataTypeMode "Inherit via internal rule" SaturateOnIntegerOverflow off } Block { BlockType Mux Name "Mux" Ports [6, 1] Position [890, 53, 910, 237] ShowName off Inputs "6" } Block { BlockType Mux Name "Mux1" Ports [6, 1] Position [960, 369, 980, 476] ShowName off Inputs "6" } Block { BlockType Saturate Name "Saturation" Position [420, 170, 450, 200] Orientation "up" NamePlacement "alternate" UpperLimit "74" LowerLimit "-74" } Block { BlockType Switch Name "Switch" Position [655, 460, 685, 490] Orientation "left" NamePlacement "alternate" Threshold "1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch1" Position [215, 280, 245, 310] Orientation "left" Threshold "1.1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch2" Position [730, 565, 760, 595] Orientation "left" NamePlacement "alternate" Threshold "1.2" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch3" Position [130, 355, 160, 385] Orientation "down" Threshold "6" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch4" Position [120, 485, 150, 515] Orientation "down" NamePlacement "alternate" Threshold "6.2" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch5" Position [670, 650, 700, 680] Orientation "left" Threshold "5" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch6" Position [465, 650, 495, 680] Orientation "left" NamePlacement "alternate" Threshold "6.1" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType Switch Name "Switch7" Position [220, 540, 250, 570] Orientation "down" NamePlacement "alternate" Threshold "6.22" InputSameDT off SaturateOnIntegerOverflow off } Block { BlockType ToWorkspace Name "To Workspace" Position [1030, 220, 1090, 250] VariableName "Output" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" } Block { BlockType ToWorkspace Name "To Workspace1" Position [1035, 320, 1095, 350] VariableName "time" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" } Line { SrcBlock "Biped Model" SrcPort 1 Points [0, 20] DstBlock "Mux" DstPort 1 } Line { SrcBlock "Biped Model" SrcPort 2 Points [0, 20] DstBlock "Mux" DstPort 2 } Line { SrcBlock "Biped Model" SrcPort 3 Points [0, 20] DstBlock "Mux" DstPort 3 } Line { SrcBlock "Biped Model" SrcPort 4 Points [0, 20] DstBlock "Mux" DstPort 4 } Line { SrcBlock "Biped Model" SrcPort 5 Points [0, 20] DstBlock "Mux" DstPort 5 } Line { SrcBlock "Biped Model" SrcPort 6 Points [0, 20] DstBlock "Mux" DstPort 6 } Line { SrcBlock "Mux" SrcPort 1 Points [0, 90; 15, 0] Branch { DstBlock "To Workspace" DstPort 1 } Branch { Points [0, 235] DstBlock "Gain" DstPort 1 } } Line { SrcBlock "Clock" SrcPort 1 DstBlock "To Workspace1" DstPort 1 } Line { SrcBlock "Demux" SrcPort 1 Points [-80, 0] DstBlock "Saturation" DstPort 1 } Line { SrcBlock "Mux1" SrcPort 1 Points [0, 95] DstBlock "Gain1" DstPort 1 } Line { SrcBlock "Biped Model" SrcPort 11 Points [135, 0] DstBlock "Mux1" DstPort 1 } Line { SrcBlock "Biped Model" SrcPort 12 Points [0, 20] DstBlock "Mux1" DstPort 2 } Line { SrcBlock "Biped Model" SrcPort 9 Points [50, 0; 0, 125] DstBlock "Mux1" DstPort 3 } Line { SrcBlock "Biped Model" SrcPort 10 Points [50, 0; 0, 110] DstBlock "Mux1" DstPort 4 } Line { SrcBlock "Biped Model" SrcPort 7 Points [50, 0; 0, 215] DstBlock "Mux1" DstPort 5 } Line { SrcBlock "Biped Model" SrcPort 8 Points [50, 0; 0, 200] DstBlock "Mux1" DstPort 6 } Line { SrcBlock "Clock1" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Gain" SrcPort 1 Points [0, 15; -10, 0] Branch { DstBlock "Switch" DstPort 3 } Branch { Points [0, 40; -205, 0; 0, 130] DstBlock "Switch6" DstPort 1 } } Line { SrcBlock "Constant2" SrcPort 1 Points [-35, 0] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Clock2" SrcPort 1 Points [-10, 0] Branch { Points [0, -30; -145, 0] DstBlock "Switch3" DstPort 2 } Branch { DstBlock "Switch1" DstPort 2 } } Line { SrcBlock "Constant1" SrcPort 1 Points [-90, 0] DstBlock "Switch1" DstPort 3 } Line { SrcBlock "Switch" SrcPort 1 Points [-55, 0; 0, 130; 180, 0] DstBlock "Switch2" DstPort 3 } Line { SrcBlock "Saturation" SrcPort 1 Points [0, -100] DstBlock "Biped Model" DstPort 1 } Line { SrcBlock "Demux" SrcPort 2 Points [-15, 0; 0, -365] DstBlock "Biped Model" DstPort 2 } Line { SrcBlock "Demux" SrcPort 3 Points [-35, 0; 0, -330] DstBlock "Biped Model" DstPort 3 } Line { SrcBlock "Demux2" SrcPort 1 Points [160, 0] DstBlock "Biped Model" DstPort 6 } Line { SrcBlock "Demux2" SrcPort 2 Points [115, 0; 0, -205] DstBlock "Biped Model" DstPort 4 } Line { SrcBlock "Demux2" SrcPort 3 Points [115, 0; 0, -160] DstBlock "Biped Model" DstPort 5 } Line { SrcBlock "Constant4" SrcPort 1 Points [-10, 0; 0, 35; 60, 0] DstBlock "Switch3" DstPort 1 } Line { SrcBlock "Switch3" SrcPort 1 DstBlock "Switch4" DstPort 3 } Line { SrcBlock "Switch1" SrcPort 1 Points [-50, 0; 0, 45] DstBlock "Switch3" DstPort 3 } Line { SrcBlock "Gain1" SrcPort 1 Points [-40, 0; 0, -15; -230, 0; 0, -100; -265, 0] Branch { Points [-15, 0; 0, -120] DstBlock "Switch1" DstPort 1 } Branch { Points [-60, 0] DstBlock "Switch7" DstPort 1 } } Line { SrcBlock "Constant3" SrcPort 1 Points [0, -35] DstBlock "Switch2" DstPort 1 } Line { SrcBlock "Clock3" SrcPort 1 Points [-20, 0] Branch { Points [-30, 0] DstBlock "Switch4" DstPort 2 } Branch { Points [70, 0] DstBlock "Switch7" DstPort 2 } } Line { SrcBlock "Constant5" SrcPort 1 Points [0, 10; 15, 0] DstBlock "Switch4" DstPort 1 } Line { SrcBlock "Clock4" SrcPort 1 Points [0, -15] DstBlock "Switch5" DstPort 2 } Line { SrcBlock "Constant6" SrcPort 1 Points [-20, 0; 0, 25] DstBlock "Switch5" DstPort 1 } Line { SrcBlock "Switch2" SrcPort 1 Points [-5, 0; 0, 95] DstBlock "Switch5" DstPort 3 } Line { SrcBlock "Clock5" SrcPort 1 Points [-25, 0; 0, -20; -35, 0; 0, -15] DstBlock "Switch2" DstPort 2 } Line { SrcBlock "Clock6" SrcPort 1 DstBlock "Switch6" DstPort 2 } Line { SrcBlock "Switch6" SrcPort 1 Points [-30, 0; 0, -130; 115, 0] DstBlock "Demux" DstPort 1 } Line { SrcBlock "Switch5" SrcPort 1 Points [-85, 0; 0, 30; -70, 0] DstBlock "Switch6" DstPort 3 } Line { SrcBlock "Switch4" SrcPort 1 Points [110, 0] DstBlock "Switch7" DstPort 3 } Line { SrcBlock "Switch7" SrcPort 1 Points [105, 0] DstBlock "Demux2" DstPort 1 } } } MatData { NumRecords 2 DataRecord { Tag DataTag1 Data " %)30 . 6 8 ( ! % " "\" $ D 0 0 ) %-T97 X+T)I<&5D($UO9&5L+U)I9VAT($%N:VQE" "+T=R;W5N9 " } DataRecord { Tag DataTag0 Data " %)30 . 6 8 ( ! % " "\" $ C 0 0 (P %-T97 X+T)I<&5D($UO9&5L+TQE9G0@06YK;&4O" "1W)O=6YD " } }