diff --git a/matlab/library/WBToolboxLibrary_repository.mdl b/matlab/library/WBToolboxLibrary_repository.mdl index 920dd57f0..4aac1f9c5 100644 --- a/matlab/library/WBToolboxLibrary_repository.mdl +++ b/matlab/library/WBToolboxLibrary_repository.mdl @@ -1,17 +1,15 @@ Library { Name "WBToolboxLibrary_repository" - Version 9.1 - SavedCharacterEncoding "US-ASCII" + Version 10.0 + SavedCharacterEncoding "UTF-8" + SLCCPlugin "on" + LogicAnalyzerPlugin "on" + AnimationPlugin "on" DiagnosticSuppressor "on" - SuppressorTable "22 serialization::archive 11 0 6 0 0 0 1 0" - Notes "" + WebScopes_FoundationPlugin "on" NotesPlugin "on" - LogicAnalyzerGraphicalSettings "" - LogicAnalyzerPlugin "on" - LogicAnalyzerSignalOrdering "" - CustomCodeFunctionData "" - SLCCPlugin "on" LibraryType "BlockLibrary" + EnableAccessToBaseWorkspace on ScopeRefreshTime 0.035000 OverrideScopeRefreshTime on DisableAllScopes off @@ -27,7 +25,7 @@ Library { $ObjectID 2 $ClassName "Simulink.WindowInfo" IsActive [1] - Location [0.0, 27.0, 1920.0, 1053.0] + Location [67.0, 148.0, 2560.0, 1440.0] Object { $PropName "ModelBrowserInfo" $ObjectID 3 @@ -37,6 +35,7 @@ Library { Width [50] Height [50] Filter [9] + Minimized "Unset" } Object { $PropName "ExplorerBarInfo" @@ -44,20 +43,113 @@ Library { $ClassName "Simulink.ExplorerBarInfo" Visible [1] } - Object { - $PropName "EditorsInfo" - $ObjectID 5 - $ClassName "Simulink.EditorInfo" - IsActive [1] - ViewObjType "SimulinkSubsys" - LoadSaveID "192" - Extents [1882.0, 849.0] - ZoomFactor [2.1893333333333334] - Offset [-79.803440925700272, -12.394640682095002] + Array { + Type "Simulink.EditorInfo" + Dimension 9 + Object { + $ObjectID 5 + IsActive [1] + IsTabbed [1] + ViewObjType "SimulinkTopLevel" + LoadSaveID "0" + Extents [2522.0, 1199.0] + ZoomFactor [4.0] + Offset [-71.812363004544125, -25.811988773055347] + SceneRectInView [-71.812363004544125, -25.811988773055347, 630.5, 299.75] + } + Object { + $ObjectID 6 + IsActive [0] + IsTabbed [0] + ViewObjType "SimulinkSubsys" + LoadSaveID "209" + Extents [2522.0, 1199.0] + ZoomFactor [2.5] + Offset [-258.01185578242905, -157.8236768561307] + SceneRectInView [-258.01185578242905, -157.8236768561307, 1008.8, 479.6] + } + Object { + $ObjectID 7 + IsActive [0] + IsTabbed [0] + ViewObjType "SimulinkSubsys" + LoadSaveID "202" + Extents [2522.0, 1199.0] + ZoomFactor [2.4606371641733422] + Offset [213.61276834817875, 99.508993480891093] + SceneRectInView [213.61276834817875, 99.508993480891093, 1024.9377830750893, 487.27216570461223] + } + Object { + $ObjectID 8 + IsActive [0] + IsTabbed [0] + ViewObjType "SimulinkSubsys" + LoadSaveID "176" + Extents [2522.0, 1199.0] + ZoomFactor [4.0] + Offset [235.1044081864668, 52.222402871604459] + SceneRectInView [235.1044081864668, 52.222402871604459, 630.5, 299.75] + } + Object { + $ObjectID 9 + IsActive [0] + IsTabbed [0] + ViewObjType "SimulinkSubsys" + LoadSaveID "1633" + Extents [2010.0, 839.0] + ZoomFactor [6.2999999999999989] + Offset [-19.500372023809547, -8.00793650793652] + SceneRectInView [-19.500372023809547, -8.00793650793652, 319.04761904761909, 133.17460317460319] + } + Object { + $ObjectID 10 + IsActive [0] + IsTabbed [0] + ViewObjType "SimulinkSubsys" + LoadSaveID "1663" + Extents [2010.0, 839.0] + ZoomFactor [5.95] + Offset [-20.290375525210067, -11.920168067226882] + SceneRectInView [-20.290375525210067, -11.920168067226882, 337.81512605042013, 141.00840336134453] + } + Object { + $ObjectID 11 + IsActive [0] + IsTabbed [0] + ViewObjType "SimulinkSubsys" + LoadSaveID "369" + Extents [2010.0, 839.0] + ZoomFactor [2.3928943762659363] + Offset [129.66449864161302, 95.246736292428238] + SceneRectInView [129.66449864161302, 95.246736292428238, 839.98692960972426, 350.621409921671] + } + Object { + $ObjectID 12 + IsActive [0] + IsTabbed [0] + ViewObjType "SimulinkSubsys" + LoadSaveID "192" + Extents [1943.0, 884.0] + ZoomFactor [1.75] + Offset [-198.60003045066941, -70.259004698103354] + SceneRectInView [-198.60003045066941, -70.259004698103354, 1110.2857142857142, 505.14285714285717] + } + Object { + $ObjectID 13 + IsActive [0] + IsTabbed [0] + ViewObjType "SimulinkSubsys" + LoadSaveID "206" + Extents [1943.0, 884.0] + ZoomFactor [6.0] + Offset [252.44396551724137, 145.16666666666663] + SceneRectInView [252.44396551724137, 145.16666666666663, 323.83333333333331, 147.33333333333334] + } + PropName "EditorsInfo" } Object { $PropName "DockComponentsInfo" - $ObjectID 6 + $ObjectID 14 $ClassName "Simulink.DockComponentInfo" Type "GLUE2:PropertyInspector" ID "Property Inspector" @@ -68,34 +160,39 @@ Library { DockPosition "Right" Width [640] Height [480] + Minimized "Unset" } WindowState "AAAA/wAAAAD9AAAAAgAAAAAAAAC9AAACivwCAAAAA/sAAAAWAEQAbwBjAGsAVwBpAGQAZwBlAHQAMwEAAAAxAAAB+AAAA" "AAAAAAA+wAAABYARABvAGMAawBXAGkAZABnAGUAdAA0AAAAAAD/////AAAAAAAAAAD7AAAAUgBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0Ac" - "ABvAG4AZQBuAHQALwBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0AcABvAG4AZQBuAHQAAAAANQAAAooAAAB4AP///wAAAAEAAAAAAAAAAPwCA" + "ABvAG4AZQBuAHQALwBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0AcABvAG4AZQBuAHQAAAAANQAAAooAAABiAP///wAAAAEAAAAAAAAAAPwCA" "AAAAfsAAABUAEcATABVAEUAMgA6AFAAcgBvAHAAZQByAHQAeQBJAG4AcwBwAGUAYwB0AG8AcgAvAFAAcgBvAHAAZQByAHQAeQAgAEkAbgBzAHAAZ" - "QBjAHQAbwByAAAAAAD/////AAAAMQD///8AAAeAAAADlwAAAAEAAAACAAAAAQAAAAL8AAAAAQAAAAIAAAAP/////wAAAAAA/////wAAAAAAAAAA/" - "////wEAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/" - "////wEAAACG/////wAAAAAAAAAA/////wEAAADu/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/" - "////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wEAAAFE/////wAAAAAAAAAA/" - "////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA" + "QBjAHQAbwByAAAAAAD/////AAAAOQD///8AAAoAAAAE7AAAAAEAAAACAAAAAQAAAAL8AAAAAQAAAAIAAAAA" + Array { + Type "Cell" + Dimension 0 + PropName "PersistedApps" + } + WindowUuid "c7279315-9484-4d17-a8fb-89419ee2a0fe" } + BDUuid "f635108f-97cd-436e-9bd5-741f3038f9ba" } HideAutomaticNames off Created "Thu Feb 06 02:21:39 2014" Creator "jorhabib" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" - LastModifiedBy "dferigo" + LastModifiedBy "csartore" ModifiedDateFormat "%" - LastModifiedDate "Wed Dec 05 14:25:23 2018" - RTWModifiedTimeStamp 465920717 - ModelVersionFormat "1.%" + LastModifiedDate "Thu Oct 08 17:42:42 2020" + RTWModifiedTimeStamp 524078665 + ModelVersionFormat "1.%" SampleTimeColors off SampleTimeAnnotations off LibraryLinkDisplay "all" WideLines off ShowLineDimensions off ShowPortDataTypes off + ShowAllPropagatedSignalLabels off PortDataTypeDisplayFormat "AliasTypeOnly" ShowEditTimeErrors on ShowEditTimeWarnings on @@ -126,7 +223,6 @@ Library { BrowserLookUnderMasks off MultiThreadCoSim on SimulationMode "normal" - VisualizeLoggedSignalsWhenLoggingToFile off PauseTimes "5" NumberOfSteps 1 SnapshotBufferSize 10 @@ -163,22 +259,23 @@ Library { Type "Handle" Dimension 1 Simulink.ConfigSet { - $ObjectID 7 - Version "1.18.0" + $ObjectID 15 + Version "19.1.1" DisabledProps [] Description "" Array { Type "Handle" Dimension 10 Simulink.SolverCC { - $ObjectID 8 - Version "1.18.0" + $ObjectID 16 + Version "19.1.1" DisabledProps [] Description "" + Components [] StartTime "0.0" StopTime "10.0" AbsTol "auto" - AutoScaleAbsTol "on" + AutoScaleAbsTol on FixedStep "auto" InitialStep "auto" MaxOrder 5 @@ -210,12 +307,14 @@ Library { SampleTimeProperty [] DecoupledContinuousIntegration off MinimalZcImpactIntegration off + SolverOrder 3 } Simulink.DataIOCC { - $ObjectID 9 - Version "1.18.0" + $ObjectID 17 + Version "19.1.1" DisabledProps [] Description "" + Components [] Decimation "1" ExternalInput "[t, u]" FinalStateName "xFinal" @@ -225,7 +324,7 @@ Library { LoadExternalInput off LoadInitialState off SaveFinalState off - SaveCompleteFinalSimState off + SaveOperatingPoint off SaveFormat "Array" SignalLoggingSaveFormat "ModelDataLogs" SaveOutput on @@ -253,11 +352,11 @@ Library { LoggingIntervals "[-inf, inf]" } Simulink.OptimizationCC { - $ObjectID 10 - Version "1.18.0" + $ObjectID 18 + Version "19.1.1" Array { Type "Cell" - Dimension 8 + Dimension 9 Cell "BooleansAsBitfields" Cell "PassReuseOutputArgsAs" Cell "PassReuseOutputArgsThreshold" @@ -266,14 +365,17 @@ Library { Cell "OptimizeModelRefInitCode" Cell "NoFixptDivByZeroProtection" Cell "UseSpecifiedMinMax" + Cell "EfficientTunableParamExpr" PropName "DisabledProps" } Description "" + Components [] BlockReduction on BooleanDataType on ConditionallyExecuteInputs on DefaultParameterBehavior "Tunable" UseDivisionForNetSlopeComputation "off" + GainParamInheritBuiltInType off UseFloatMulNetSlope off DefaultUnderspecifiedDataType "double" UseSpecifiedMinMax off @@ -313,15 +415,18 @@ Library { OptimizeDataStoreBuffers on BusAssignmentInplaceUpdate on DifferentSizesBufferReuse off + UseRowMajorAlgorithm off OptimizationLevel "level2" OptimizationPriority "Balanced" OptimizationCustomize on - UseRowMajorAlgorithm off LabelGuidedReuse off + MultiThreadedLoops off + DenormalBehavior "GradualUnderflow" + EfficientTunableParamExpr off } Simulink.DebuggingCC { - $ObjectID 11 - Version "1.18.0" + $ObjectID 19 + Version "19.1.1" Array { Type "Cell" Dimension 1 @@ -329,6 +434,7 @@ Library { PropName "DisabledProps" } Description "" + Components [] RTPrefix "error" ConsistencyChecking "none" ArrayBoundsChecking "none" @@ -401,10 +507,11 @@ Library { ModelReferenceSymbolNameMessage "warning" ModelReferenceExtraNoncontSigs "error" StateNameClashWarn "warning" - SimStateInterfaceChecksumMismatchMsg "warning" - SimStateOlderReleaseMsg "error" + OperatingPointInterfaceChecksumMismatchMsg "warning" + NonCurrentReleaseOperatingPointMsg "error" ChecksumConsistencyForSSReuse "none" - LibraryContextMissingDiagnostic "none" + PregeneratedLibrarySubsystemCodeDiagnostic "warning" + MatchCodeGenerationContextForUpdateDiagram "none" InitInArrayFormatMsg "warning" StrictBusMsg "ErrorLevel1" BusNameAdapt "WarnAndRepair" @@ -435,12 +542,16 @@ Library { RCSCObservableMsg "warning" ForceCombineOutputUpdateInSim off UnitDatabase "" + UnderSpecifiedDimensionMsg "none" + DebugExecutionForFMUViaOutOfProcess off + ArithmeticOperatorsInVariantConditions "warning" } Simulink.HardwareCC { - $ObjectID 12 - Version "1.18.0" + $ObjectID 20 + Version "19.1.1" DisabledProps [] Description "" + Components [] ProdBitPerChar 8 ProdBitPerShort 16 ProdBitPerInt 32 @@ -483,12 +594,14 @@ Library { ProdEqTarget on UseEmbeddedCoderFeatures on UseSimulinkCoderFeatures on + HardwareBoardFeatureSet "EmbeddedCoderHSP" } Simulink.ModelReferenceCC { - $ObjectID 13 - Version "1.18.0" + $ObjectID 21 + Version "19.1.1" DisabledProps [] Description "" + Components [] UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" EnableRefExpFcnMdlSchedulingChecks on CheckModelReferenceTargetMessage "error" @@ -504,10 +617,11 @@ Library { SupportModelReferenceSimTargetCustomCode off } Simulink.SFSimCC { - $ObjectID 14 - Version "1.18.0" + $ObjectID 22 + Version "19.1.1" DisabledProps [] Description "" + Components [] SimCustomSourceCode "" SimCustomHeaderCode "" SimCustomInitializer "" @@ -524,6 +638,7 @@ Library { SimIntegrity on SimUseLocalCustomCode off SimParseCustomCode on + SimAnalyzeCustomCode off SimBuildMode "sf_incremental_build" SimGenImportedTypeDefs off ModelFunctionsGlobalVisibility "on" @@ -531,11 +646,14 @@ Library { EnableRuntimeRecursion on MATLABDynamicMemAlloc on MATLABDynamicMemAllocThreshold 65536 + CustomCodeFunctionArrayLayout [] + DefaultCustomCodeFunctionArrayLayout "NotSpecified" + CustomCodeUndefinedFunction "UseInterfaceOnly" } Simulink.RTWCC { $BackupClass "Simulink.RTWCC" - $ObjectID 15 - Version "1.18.0" + $ObjectID 23 + Version "19.1.1" Array { Type "Cell" Dimension 16 @@ -557,8 +675,11 @@ Library { Cell "CodeProfilingInstrumentation" PropName "DisabledProps" } + Description "" SystemTargetFile "grt.tlc" HardwareBoard "None" + ShowCustomHardwareApp off + ShowEmbeddedHardwareApp off TLCOptions "" GenCodeOnly off MakeCommand "make_rtw" @@ -567,9 +688,7 @@ Library { PackageName "" TemplateMakefile "grt_default_tmf" PostCodeGenCommand "" - Description "" GenerateReport off - SaveLog off RTWVerbose on RetainRTWFile off RTWBuildHooks [] @@ -585,6 +704,7 @@ Library { CustomSource "" CustomLibrary "" CustomDefine "" + CustomBLASCallback "" CustomLAPACKCallback "" CustomFFTCallback "" CustomInitializer "" @@ -599,7 +719,7 @@ Library { CodeExecutionProfiling off CodeExecutionProfileVariable "executionProfile" CodeProfilingSaveOptions "SummaryOnly" - CodeProfilingInstrumentation off + CodeProfilingInstrumentation "off" SILDebugging off TargetLang "C" IncludeBusHierarchyInRTWFileBlockHierarchyMap off @@ -621,8 +741,8 @@ Library { Type "Handle" Dimension 2 Simulink.CodeAppCC { - $ObjectID 16 - Version "1.18.0" + $ObjectID 24 + Version "19.1.1" Array { Type "Cell" Dimension 28 @@ -657,6 +777,7 @@ Library { PropName "DisabledProps" } Description "" + Components [] Comment "" ForceParamTrailComments off GenerateComments on @@ -706,14 +827,15 @@ Library { ReqsInCode off UseSimReservedNames off ReservedNameArray [] + EnumMemberNameClash "error" } Simulink.GRTTargetCC { $BackupClass "Simulink.TargetCC" - $ObjectID 17 - Version "1.18.0" + $ObjectID 25 + Version "19.1.1" Array { Type "Cell" - Dimension 18 + Dimension 19 Cell "GeneratePreprocessorConditionals" Cell "IncludeMdlTerminateFcn" Cell "SupportNonInlinedSFcns" @@ -732,9 +854,11 @@ Library { Cell "RemoveResetFunc" Cell "ExistingSharedCode" Cell "RemoveDisableFunc" + Cell "PreserveStateflowLocalDataDimensions" PropName "DisabledProps" } Description "" + Components [] TargetFcnLib "ansi_tfl_table_tmw.mat" TargetLibSuffix "" TargetPreCompLibLocation "" @@ -758,6 +882,7 @@ Library { GeneratePreprocessorConditionals "Disable all" CombineOutputUpdateFcns off CombineSignalStateStructs off + GroupInternalDataByFunction off SuppressErrorStatus off IncludeFileDelimiter "Auto" ERTCustomFileBanners off @@ -766,9 +891,9 @@ Library { MatFileLogging on MultiInstanceERTCode off CodeInterfacePackaging "Nonreusable function" + PurelyIntegerCode off SupportNonFinite on SupportComplex on - PurelyIntegerCode off SupportContinuousTime on SupportNonInlinedSFcns on RemoveDisableFunc off @@ -776,6 +901,7 @@ Library { SupportVariableSizeSignals off ParenthesesLevel "Nominal" CastingMode "Nominal" + PreserveStateflowLocalDataDimensions off MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" ModelStepFunctionPrototypeControlCompliant off CPPClassGenCompliant on @@ -791,6 +917,7 @@ Library { LUTObjectStructOrderExplicitValues "Size,Breakpoints,Table" LUTObjectStructOrderEvenSpacing "Size,Breakpoints,Table" ArrayLayout "Column-major" + UnsupportedSFcnMsg "error" ERTHeaderFileRootName "$R$E" ERTSourceFileRootName "$R$E" ERTDataFileRootName "$R_data" @@ -814,10 +941,11 @@ Library { } } SlCovCC.ConfigComp { - $ObjectID 18 - Version "1.18.0" + $ObjectID 26 + Version "19.1.1" DisabledProps [] Description "Simulink Coverage Configuration Component" + Components [] Name "Simulink Coverage" CovEnable off CovScope "EntireSystem" @@ -854,10 +982,11 @@ Library { CovMcdcMode "Masking" } hdlcoderui.hdlcc { - $ObjectID 19 - Version "1.18.0" + $ObjectID 27 + Version "19.1.1" DisabledProps [] Description "HDL Coder custom configuration component" + Components [] Name "HDL Coder" Array { Type "Cell" @@ -870,9 +999,9 @@ Library { PropName "Components" } Name "Configuration" - ExtraOptions "" CurrentDlgPage "Solver" ConfigPrmDlgPosition [ 963, 135, 1843, 765 ] + ExtraOptions "" } PropName "ConfigurationSets" } @@ -1024,7 +1153,7 @@ Library { MustResolveToSignalObject off OutputWhenUnConnected off OutputWhenUnconnectedValue "0" - VectorParamsAs1DForOutWhenUnconnected off + VectorParamsAs1DForOutWhenUnconnected on } Block { BlockType Product @@ -1056,6 +1185,7 @@ Library { TreatAsAtomicUnit off MinAlgLoopOccurrences off PropExecContextOutsideSubsystem off + ScheduleAs "Sample time" SystemSampleTime "-1" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" @@ -1074,6 +1204,7 @@ Library { Opaque off MaskHideContents off SFBlockType "NONE" + VariantControlMode "Expression" Variant off GeneratePreprocessorConditionals off AllowZeroVariantControls off @@ -1082,6 +1213,9 @@ Library { ContentPreviewEnabled off IsWebBlock off IsObserver off + Latency "0" + AutoFrameSizeCalculation off + IsWebBlockPanel off } Block { BlockType Sum @@ -1105,11 +1239,11 @@ Library { } System { Name "WBToolboxLibrary_repository" - Location [0, 27, 1920, 1080] - Open off + Location [67, 148, 2627, 1588] + Open on PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "black" @@ -1120,9 +1254,10 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "416" + ZoomFactor "400" ReportName "simulink-default.rpt" - SIDHighWatermark "1847" + SIDHighWatermark "1852" + SimulinkSubDomain "Simulink" Block { BlockType SubSystem Name "Actuators" @@ -1135,7 +1270,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 20 + $ObjectID 28 $ClassName "Simulink.Mask" Display "image(imread('wholeBodyActuators.png'),'center')" } @@ -1144,8 +1279,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -1157,6 +1292,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "562" + SimulinkSubDomain "Simulink" Block { BlockType S-Function Name "SetMotorParameters" @@ -1166,14 +1302,14 @@ Library { ZOrder 106 BackgroundColor "[0.513700, 0.851000, 0.670600]" FunctionName "BlockFactory" - Parameters "'SetMotorParameters','WBToolbox',WBTConfigParameters,configBlockAbsName,readP,readI,readD,pid" - "Type,setKTau,kTau,setBemf,bemf" + Parameters "'SetMotorParameters','WBToolbox',WBTConfigParameters,configBlockAbsName,readP,readI,readD,pidType,se" + "tKTau,kTau,setBemf,bemf" SFunctionDeploymentMode off EnableBusSupport off SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 21 + $ObjectID 29 $ClassName "Simulink.Mask" Type "SetMotorParameters" Description "This block allows to set motor PIDs and constants such as the motor constant and the back EMF.\n" @@ -1193,7 +1329,7 @@ Library { Type "Simulink.MaskParameter" Dimension 8 Object { - $ObjectID 22 + $ObjectID 30 Type "popup" Array { Type "Cell" @@ -1214,28 +1350,28 @@ Library { "ized');\nend\n\nclear maskStr" } Object { - $ObjectID 23 + $ObjectID 31 Type "checkbox" Name "readP" Prompt "Enable P gains input signal" Value "on" } Object { - $ObjectID 24 + $ObjectID 32 Type "checkbox" Name "readI" Prompt "Enable I gains input signal" Value "off" } Object { - $ObjectID 25 + $ObjectID 33 Type "checkbox" Name "readD" Prompt "Enable D gains input signal" Value "off" } Object { - $ObjectID 26 + $ObjectID 34 Type "checkbox" Name "setKTau" Prompt "Set motor constant KTau" @@ -1244,7 +1380,7 @@ Library { " h.Parameters(6).Enabled = 'off';\nelse\n h.Parameters(6).Enabled = 'on';\nend\n\nclear h setKTauValue" } Object { - $ObjectID 27 + $ObjectID 35 Type "edit" Name "kTau" Prompt "kTau" @@ -1252,7 +1388,7 @@ Library { Enabled "off" } Object { - $ObjectID 28 + $ObjectID 36 Type "checkbox" Name "setBemf" Prompt "Set motor back EMF constant" @@ -1261,7 +1397,7 @@ Library { " h.Parameters(8).Enabled = 'off';\nelse\n h.Parameters(8).Enabled = 'on';\nend\n\nclear h setBemfValue" } Object { - $ObjectID 29 + $ObjectID 37 Type "edit" Name "bemf" Prompt "bemf" @@ -1274,11 +1410,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 30 + $ObjectID 38 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 31 + $ObjectID 39 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -1286,34 +1422,34 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 32 + $ObjectID 40 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.Group" Dimension 3 Object { - $ObjectID 33 + $ObjectID 41 Prompt "Gains" Array { Type "Simulink.dialog.parameter.Control" Dimension 4 Object { - $ObjectID 34 + $ObjectID 42 $ClassName "Simulink.dialog.parameter.Popup" Name "pidType" } Object { - $ObjectID 35 + $ObjectID 43 $ClassName "Simulink.dialog.parameter.CheckBox" Name "readP" } Object { - $ObjectID 36 + $ObjectID 44 $ClassName "Simulink.dialog.parameter.CheckBox" Name "readI" } Object { - $ObjectID 37 + $ObjectID 45 $ClassName "Simulink.dialog.parameter.CheckBox" Name "readD" } @@ -1322,29 +1458,29 @@ Library { Name "Container3" } Object { - $ObjectID 38 + $ObjectID 46 Prompt "Motor Torque Parameters" Array { Type "Simulink.dialog.parameter.Control" Dimension 4 Object { - $ObjectID 39 + $ObjectID 47 $ClassName "Simulink.dialog.parameter.CheckBox" Name "setKTau" } Object { - $ObjectID 40 + $ObjectID 48 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "kTau" } Object { - $ObjectID 41 + $ObjectID 49 $ClassName "Simulink.dialog.parameter.CheckBox" Name "setBemf" } Object { - $ObjectID 42 + $ObjectID 50 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "bemf" @@ -1354,10 +1490,10 @@ Library { Name "Container4" } Object { - $ObjectID 43 + $ObjectID 51 Object { $PropName "DialogControls" - $ObjectID 44 + $ObjectID 52 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -1387,7 +1523,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 45 + $ObjectID 53 $ClassName "Simulink.Mask" Type "SetMotorReferences" Description "This block sets motor references. The type of control mode is specified as a parameter in the b" @@ -1402,7 +1538,7 @@ Library { RunInitForIconRedraw "off" Object { $PropName "Parameters" - $ObjectID 46 + $ObjectID 54 $ClassName "Simulink.MaskParameter" Type "popup" Array { @@ -1429,11 +1565,11 @@ Library { Type "Simulink.dialog.Group" Dimension 3 Object { - $ObjectID 47 + $ObjectID 55 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 48 + $ObjectID 56 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -1441,21 +1577,21 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 49 + $ObjectID 57 Prompt "Simulink:studio:ToolBarParametersMenu" Object { $PropName "DialogControls" - $ObjectID 50 + $ObjectID 58 $ClassName "Simulink.dialog.parameter.Popup" Name "controlType" } Name "ParameterGroupVar" } Object { - $ObjectID 51 + $ObjectID 59 Object { $PropName "DialogControls" - $ObjectID 52 + $ObjectID 60 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(configBl" @@ -1474,8 +1610,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -1487,6 +1623,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "1000" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "References" @@ -1528,7 +1665,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 53 + $ObjectID 61 $ClassName "Simulink.Mask" Type "SetReferences" Description "This block sets the references for the robot actuators.\nThe type of control mode is specified " @@ -1549,7 +1686,7 @@ Library { Type "Simulink.MaskParameter" Dimension 3 Object { - $ObjectID 54 + $ObjectID 62 Type "popup" Array { Type "Cell" @@ -1574,14 +1711,14 @@ Library { " error('Control Type not recognized.')\nend\n\nclear maskStr" } Object { - $ObjectID 55 + $ObjectID 63 Type "edit" Name "refSpeed" Prompt "Reference Speed" Value "10*(pi/180)" } Object { - $ObjectID 56 + $ObjectID 64 Type "edit" Name "refAcceleration" Prompt "Reference Velocity" @@ -1594,11 +1731,11 @@ Library { Type "Simulink.dialog.Group" Dimension 3 Object { - $ObjectID 57 + $ObjectID 65 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 58 + $ObjectID 66 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -1606,24 +1743,24 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 59 + $ObjectID 67 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.parameter.Control" Dimension 3 Object { - $ObjectID 60 + $ObjectID 68 $ClassName "Simulink.dialog.parameter.Popup" Name "controlType" } Object { - $ObjectID 61 + $ObjectID 69 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "refSpeed" } Object { - $ObjectID 62 + $ObjectID 70 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "refAcceleration" @@ -1633,10 +1770,10 @@ Library { Name "ParameterGroupVar" } Object { - $ObjectID 63 + $ObjectID 71 Object { $PropName "DialogControls" - $ObjectID 64 + $ObjectID 72 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(configBl" @@ -1655,8 +1792,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -1668,6 +1805,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "1000" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "References" @@ -1684,8 +1822,7 @@ Library { Position [125, 39, 185, 71] ZOrder 19 FunctionName "BlockFactory" - Parameters "'SetReferences','WBToolbox',WBTConfigParameters,configBlockAbsName,controlType,refTraj" - "ectory" + Parameters "'SetReferences','WBToolbox',WBTConfigParameters,configBlockAbsName,controlType,refTrajectory" SFunctionDeploymentMode off EnableBusSupport off SFcnIsStateOwnerBlock off @@ -1713,17 +1850,17 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 65 + $ObjectID 73 $ClassName "Simulink.Mask" Display "image(imread('wholeBodyModel.png'),'center')" } System { Name "Model" - Location [0, 27, 1920, 1080] + Location [67, 148, 2627, 1588] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -1734,7 +1871,8 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "462" + ZoomFactor "250" + SimulinkSubDomain "Simulink" Block { BlockType SubSystem Name "Dynamics" @@ -1746,17 +1884,17 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 66 + $ObjectID 74 $ClassName "Simulink.Mask" Display "image(imread('Dynamics.png'))" } System { Name "Dynamics" - Location [0, 27, 1920, 1080] + Location [0, 0, 2048, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -1767,7 +1905,8 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "330" + ZoomFactor "239" + SimulinkSubDomain "Simulink" Block { BlockType SubSystem Name "CentroidalMomentum" @@ -1778,7 +1917,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 67 + $ObjectID 75 $ClassName "Simulink.Mask" Type "CentroidalMomentum" Description "This block computed the 6 element centroidal momentum, as defined in:\n\n\"Centroidal dynamics of a hu" @@ -1795,24 +1934,24 @@ Library { RunInitForIconRedraw "off" Object { $PropName "DialogControls" - $ObjectID 68 + $ObjectID 76 $ClassName "Simulink.dialog.Group" Prompt "%" Array { Type "Simulink.dialog.Control" Dimension 2 Object { - $ObjectID 69 + $ObjectID 77 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" } Object { - $ObjectID 70 + $ObjectID 78 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 71 + $ObjectID 79 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -1833,8 +1972,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -1846,6 +1985,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "480" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Base Pose" @@ -1901,6 +2041,7 @@ Library { Position [315, 73, 345, 87] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -1949,7 +2090,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 72 + $ObjectID 80 $ClassName "Simulink.Mask" Type "Get Generalized Bias Forces" Description "This block retrieves the generalied bias forces of the robot.\n\nAssuming DoFs is the number of intern" @@ -1964,24 +2105,24 @@ Library { RunInitForIconRedraw "off" Object { $PropName "DialogControls" - $ObjectID 73 + $ObjectID 81 $ClassName "Simulink.dialog.Group" Prompt "%" Array { Type "Simulink.dialog.Control" Dimension 2 Object { - $ObjectID 74 + $ObjectID 82 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" } Object { - $ObjectID 75 + $ObjectID 83 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 76 + $ObjectID 84 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -2002,8 +2143,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -2015,6 +2156,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "395" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Base Pose" @@ -2091,6 +2233,7 @@ Library { Position [300, 113, 330, 127] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -2163,7 +2306,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 77 + $ObjectID 85 $ClassName "Simulink.Mask" Type "Gravity bias" Description "This block compute the generalized bias forces due to the gravity\n\nAssuming DoFs is the number of in" @@ -2176,24 +2319,24 @@ Library { RunInitForIconRedraw "off" Object { $PropName "DialogControls" - $ObjectID 78 + $ObjectID 86 $ClassName "Simulink.dialog.Group" Prompt "%" Array { Type "Simulink.dialog.Control" Dimension 2 Object { - $ObjectID 79 + $ObjectID 87 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" } Object { - $ObjectID 80 + $ObjectID 88 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 81 + $ObjectID 89 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -2214,8 +2357,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -2227,6 +2370,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "395" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Base Pose" @@ -2285,6 +2429,7 @@ Library { Position [300, 113, 330, 127] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -2367,7 +2512,7 @@ Library { SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 82 + $ObjectID 90 $ClassName "Simulink.Mask" Type "InverseDynamics" Description "This block compute the inverse dynamics of the robot.\n\nAssuming DoFs is the number of internal degre" @@ -2387,24 +2532,24 @@ Library { RunInitForIconRedraw "off" Object { $PropName "DialogControls" - $ObjectID 83 + $ObjectID 91 $ClassName "Simulink.dialog.Group" Prompt "%" Array { Type "Simulink.dialog.Control" Dimension 2 Object { - $ObjectID 84 + $ObjectID 92 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" } Object { - $ObjectID 85 + $ObjectID 93 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 86 + $ObjectID 94 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -2431,7 +2576,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 87 + $ObjectID 95 $ClassName "Simulink.Mask" Type "MassMatrix" Description "This block retrieves the robot mass matrix.\n\nAssuming DoFs is the number of internal degrees of free" @@ -2444,24 +2589,24 @@ Library { RunInitForIconRedraw "off" Object { $PropName "DialogControls" - $ObjectID 88 + $ObjectID 96 $ClassName "Simulink.dialog.Group" Prompt "%" Array { Type "Simulink.dialog.Control" Dimension 2 Object { - $ObjectID 89 + $ObjectID 97 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" } Object { - $ObjectID 90 + $ObjectID 98 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 91 + $ObjectID 99 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -2479,11 +2624,11 @@ Library { } System { Name "MassMatrix" - Location [0, 27, 1920, 1080] + Location [0, 0, 2048, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -2495,6 +2640,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "630" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Base Pose" @@ -2532,6 +2678,7 @@ Library { Position [245, 48, 275, 62] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -2571,17 +2718,17 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 92 + $ObjectID 100 $ClassName "Simulink.Mask" Display "image(imread('jacobian.png'))" } System { Name "Jacobians" - Location [0, 27, 1920, 1080] + Location [67, 148, 2627, 1588] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -2592,7 +2739,51 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "480" + ZoomFactor "246" + SimulinkSubDomain "Simulink" + Block { + BlockType S-Function + Name "CentroidalTotalMomentumMatrix" + SID "1852" + Ports [2, 1] + Position [805, 171, 1075, 264] + ZOrder 70 + FunctionName "BlockFactory" + Parameters "'CentroidalTotalMomentumMatrix', 'WBToolbox', WBTConfigParameters, configBlockAbsName" + SFunctionDeploymentMode off + EnableBusSupport off + SFcnIsStateOwnerBlock off + Object { + $PropName "MaskObject" + $ObjectID 101 + $ClassName "Simulink.Mask" + Type "CentroidalTotalMomentumMatrix" + Description "This block retrieves the Centroidal Total Momentum Matrix.\n\nAssuming DoFs is the number of internal " + "degrees of freedom of the robot:\n\nInput:\n - Base pose: 4x4 matrix representing the homogenous transformation bet" + "ween the the base frame and the world frame.\n - Joint configuration: Vector of size DoFs, representing the configu" + "ration of the joints.\n\nOutput:\n - CMM: a 6x6+dofs matrix representing the Centroidal Momentum Matrix written in " + "the world frame." + Initialization "try\n [configBlockAbsName, WBTConfig] = WBToolbox.BlockInitialization(gcb, gcs);\n \n WBTC" + "onfigParameters = WBTConfig.getSimulinkParameters;\n clear WBTConfig;\ncatch\nend" + Display "\nport_label('output', 1, 'CentroidalTotalMomentumMatrix', 'texmode','on')\nport_label('input', 1, '{}^{w" + "orld} H_{base}', 'texmode','on')\nport_label('input', 2, 'Joint configuration')\n\n" + RunInitForIconRedraw "on" + Object { + $PropName "DialogControls" + $ObjectID 102 + $ClassName "Simulink.dialog.Group" + Prompt "%" + Object { + $PropName "DialogControls" + $ObjectID 103 + $ClassName "Simulink.dialog.Text" + Prompt "%" + Name "DescTextVar" + } + Name "DescGroupVar" + } + } + } Block { BlockType SubSystem Name "DotJNu" @@ -2603,7 +2794,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 93 + $ObjectID 104 $ClassName "Simulink.Mask" Type "DotJNu" Description "This block computes the product between the time derivative of the Jacobian of the specified frame and" @@ -2624,7 +2815,7 @@ Library { RunInitForIconRedraw "on" Object { $PropName "Parameters" - $ObjectID 94 + $ObjectID 105 $ClassName "Simulink.MaskParameter" Type "edit" Name "frameName" @@ -2635,11 +2826,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 95 + $ObjectID 106 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 96 + $ObjectID 107 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -2647,22 +2838,22 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 97 + $ObjectID 108 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.Control" Dimension 2 Object { - $ObjectID 98 + $ObjectID 109 $ClassName "Simulink.dialog.parameter.Edit" Name "frameName" } Object { - $ObjectID 99 + $ObjectID 110 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 100 + $ObjectID 111 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -2685,8 +2876,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -2698,6 +2889,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "595" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Base Pose" @@ -2753,6 +2945,7 @@ Library { Position [245, 58, 275, 72] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -2801,7 +2994,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 101 + $ObjectID 112 $ClassName "Simulink.Mask" Type "Jacobian" Description "This block retrieves the Jacobian of the specified frame.\n\nAssuming DoFs is the number of internal d" @@ -2819,7 +3012,7 @@ Library { RunInitForIconRedraw "on" Object { $PropName "Parameters" - $ObjectID 102 + $ObjectID 113 $ClassName "Simulink.MaskParameter" Type "edit" Name "frameName" @@ -2830,11 +3023,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 103 + $ObjectID 114 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 104 + $ObjectID 115 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -2842,22 +3035,22 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 105 + $ObjectID 116 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.Control" Dimension 2 Object { - $ObjectID 106 + $ObjectID 117 $ClassName "Simulink.dialog.parameter.Edit" Name "frameName" } Object { - $ObjectID 107 + $ObjectID 118 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 108 + $ObjectID 119 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -2877,11 +3070,11 @@ Library { } System { Name "Jacobian" - Location [0, 27, 1920, 1080] + Location [0, 0, 2048, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -2893,6 +3086,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "595" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Base Pose" @@ -2930,6 +3124,7 @@ Library { Position [245, 48, 275, 62] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -2969,17 +3164,17 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 109 + $ObjectID 120 $ClassName "Simulink.Mask" Display "image(imread('forwardKinematics.png'))" } System { Name "Kinematics" - Location [0, 27, 1920, 1080] + Location [67, 148, 2627, 1588] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -2990,7 +3185,8 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "469" + ZoomFactor "400" + SimulinkSubDomain "Simulink" Block { BlockType SubSystem Name "ForwardKinematics" @@ -3001,15 +3197,15 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 110 + $ObjectID 121 $ClassName "Simulink.Mask" Type "ForwardKinematics" Description "This block retrieves the forward kinematics of the specified frame.\n\nAssuming DoFs is the number of " "internal degrees of freedom of the robot:\n\nInput:\n - Base pose: 4x4 matrix representing the homogenous transform" "ation between the the base frame and the world frame.\n - Joint configuration: Vector of size DoFs, representing th" - "e configuration of the joints.\n\nOutput:\n - ForwardKinematics: a 4x4 matrix representing the homogenous transfor" - "mation between the specified frame and the world frame.\n\nParameters:\n - Frame name: the name of the frame. It sh" - "ould be specified in the URDF model." + "e configuration of the joints.\n\nOutput:\n - ForwardKinematics: a 4x4 matrix representing the homogenous transform" + "ation between the specified frame and the world frame.\n\nParameters:\n - Frame name: the name of the frame. It sho" + "uld be specified in the URDF model." Initialization "% WBBlock Initialization\n% ======================\n\ntry\n [configBlockAbsName, WBTConfig] = WB" "Toolbox.BlockInitialization(gcb, gcs);\n \n WBTConfigParameters = WBTConfig.getSimulinkParameters;\n clear " "WBTConfig;\ncatch\nend" @@ -3019,7 +3215,7 @@ Library { RunInitForIconRedraw "on" Object { $PropName "Parameters" - $ObjectID 111 + $ObjectID 122 $ClassName "Simulink.MaskParameter" Type "edit" Name "frameName" @@ -3030,11 +3226,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 112 + $ObjectID 123 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 113 + $ObjectID 124 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -3042,22 +3238,22 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 114 + $ObjectID 125 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.Control" Dimension 2 Object { - $ObjectID 115 + $ObjectID 126 $ClassName "Simulink.dialog.parameter.Edit" Name "frameName" } Object { - $ObjectID 116 + $ObjectID 127 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 117 + $ObjectID 128 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -3080,8 +3276,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -3093,6 +3289,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "595" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Base Pose" @@ -3130,6 +3327,7 @@ Library { Position [245, 48, 275, 62] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -3171,14 +3369,14 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 118 + $ObjectID 129 $ClassName "Simulink.Mask" Type "ForwardKinematics" Description "This block retrieves the forward kinematics of the specified frame.\n\nAssuming DoFs is the number of " "internal degrees of freedom of the robot,\nInput:\n- Base pose: 4x4 matrix representing the homogenous transformatio" "n between\n the the base frame and the world frame.\n- Joint configuration: Vector of size DoFs, represe" - "nting the configuration \n of the joints.\n\nOutput:\n- ForwardKinematics: a 4x4 matrix repre" - "senting the homogenous transformation between\n the specified frame and the world frame.\n\nParameters:\n" + "nting the configuration \n of the joints.\n\nOutput:\n- ForwardKinematics: a 4x4 matrix repres" + "enting the homogenous transformation between\n the specified frame and the world frame.\n\nParameters:\n" "- Frame name: the name of the frame. It should be specified in the URDF model.\n\n- Robot Port Name: Name of the por" "ts opened by the robot. (e.g. icub).\n Set an empty string ('') to use the name specified in the \n" " Whole Body Interface configuration file.\n- Model Name: Prefix name of the ports opened by the un" @@ -3196,21 +3394,21 @@ Library { Type "Simulink.MaskParameter" Dimension 7 Object { - $ObjectID 119 + $ObjectID 130 Type "edit" Name "baseFrame" Prompt "Base Frame" Value "'root_link'" } Object { - $ObjectID 120 + $ObjectID 131 Type "edit" Name "endEffFrame" Prompt "End Effector frame" Value "'l_sole'" } Object { - $ObjectID 121 + $ObjectID 132 Type "popup" Array { Type "Cell" @@ -3224,7 +3422,7 @@ Library { Value "Full Constraint (Position and Orientation)" } Object { - $ObjectID 122 + $ObjectID 133 Type "edit" Name "robotName" Prompt "Robot Port Name" @@ -3232,7 +3430,7 @@ Library { Tunable "off" } Object { - $ObjectID 123 + $ObjectID 134 Type "edit" Name "localName" Prompt "Model Name" @@ -3240,7 +3438,7 @@ Library { Tunable "off" } Object { - $ObjectID 124 + $ObjectID 135 Type "edit" Name "wbiFile" Prompt "WBI filename" @@ -3248,7 +3446,7 @@ Library { Tunable "off" } Object { - $ObjectID 125 + $ObjectID 136 Type "edit" Name "wbiList" Prompt "WBI list name" @@ -3261,11 +3459,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 126 + $ObjectID 137 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 127 + $ObjectID 138 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -3273,34 +3471,34 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 128 + $ObjectID 139 Prompt "Simulink:studio:ToolBarParametersMenu" Object { $PropName "DialogControls" - $ObjectID 129 + $ObjectID 140 $ClassName "Simulink.dialog.TabContainer" Array { Type "Simulink.dialog.Tab" Dimension 2 Object { - $ObjectID 130 + $ObjectID 141 Prompt "Block parameters" Array { Type "Simulink.dialog.parameter.Control" Dimension 3 Object { - $ObjectID 131 + $ObjectID 142 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "baseFrame" } Object { - $ObjectID 132 + $ObjectID 143 $ClassName "Simulink.dialog.parameter.Edit" Name "endEffFrame" } Object { - $ObjectID 133 + $ObjectID 144 $ClassName "Simulink.dialog.parameter.Popup" Name "optOption" } @@ -3309,25 +3507,25 @@ Library { Name "Container8" } Object { - $ObjectID 134 + $ObjectID 145 Prompt "WBI parameters" Array { Type "Simulink.dialog.parameter.Edit" Dimension 4 Object { - $ObjectID 135 + $ObjectID 146 Name "robotName" } Object { - $ObjectID 136 + $ObjectID 147 Name "localName" } Object { - $ObjectID 137 + $ObjectID 148 Name "wbiFile" } Object { - $ObjectID 138 + $ObjectID 149 Name "wbiList" } PropName "DialogControls" @@ -3348,8 +3546,8 @@ Library { Location [0, 23, 1280, 744] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -3361,6 +3559,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "312" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Desired frame pose" @@ -3407,6 +3606,7 @@ Library { Position [280, 23, 310, 37] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Block { BlockType Outport @@ -3416,6 +3616,7 @@ Library { ZOrder 27 Port "2" IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -3464,7 +3665,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 139 + $ObjectID 150 $ClassName "Simulink.Mask" Type "RelativeTransform" Description "This block calculates the relative transform between two frames.\n\nAssuming DoFs is the number of int" @@ -3482,14 +3683,14 @@ Library { Type "Simulink.MaskParameter" Dimension 2 Object { - $ObjectID 140 + $ObjectID 151 Type "edit" Name "frame1" Prompt "Frame1 name" Value "'frame1'" } Object { - $ObjectID 141 + $ObjectID 152 Type "edit" Name "frame2" Prompt "Frame2 name" @@ -3501,11 +3702,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 142 + $ObjectID 153 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 143 + $ObjectID 154 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -3513,27 +3714,27 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 144 + $ObjectID 155 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.Control" Dimension 3 Object { - $ObjectID 145 + $ObjectID 156 $ClassName "Simulink.dialog.parameter.Edit" Name "frame1" } Object { - $ObjectID 146 + $ObjectID 157 $ClassName "Simulink.dialog.parameter.Edit" Name "frame2" } Object { - $ObjectID 147 + $ObjectID 158 $ClassName "Simulink.dialog.Group" Object { $PropName "DialogControls" - $ObjectID 148 + $ObjectID 159 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(conf" @@ -3556,8 +3757,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -3569,6 +3770,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "834" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Joint configuration" @@ -3597,6 +3799,7 @@ Library { Position [225, 48, 255, 62] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 4 @@ -3629,14 +3832,14 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 149 + $ObjectID 160 $ClassName "Simulink.Mask" Type "ForwardKinematics" Description "This block retrieves the forward kinematics of the specified frame.\n\nAssuming DoFs is the number of " "internal degrees of freedom of the robot,\nInput:\n- Base pose: 4x4 matrix representing the homogenous transformatio" "n between\n the the base frame and the world frame.\n- Joint configuration: Vector of size DoFs, represe" - "nting the configuration \n of the joints.\n\nOutput:\n- ForwardKinematics: a 4x4 matrix repre" - "senting the homogenous transformation between\n the specified frame and the world frame.\n\nParameters:\n" + "nting the configuration \n of the joints.\n\nOutput:\n- ForwardKinematics: a 4x4 matrix repres" + "enting the homogenous transformation between\n the specified frame and the world frame.\n\nParameters:\n" "- Frame name: the name of the frame. It should be specified in the URDF model.\n\n- Robot Port Name: Name of the por" "ts opened by the robot. (e.g. icub).\n Set an empty string ('') to use the name specified in the \n" " Whole Body Interface configuration file.\n- Model Name: Prefix name of the ports opened by the un" @@ -3656,14 +3859,14 @@ Library { Type "Simulink.MaskParameter" Dimension 3 Object { - $ObjectID 150 + $ObjectID 161 Type "edit" Name "solverName" Prompt "Solver Name" Value "'/cartesianSolver'" } Object { - $ObjectID 151 + $ObjectID 162 Type "edit" Name "dofs" Prompt "#Dofs" @@ -3671,7 +3874,7 @@ Library { Tunable "off" } Object { - $ObjectID 152 + $ObjectID 163 Type "popup" Array { Type "Cell" @@ -3690,11 +3893,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 153 + $ObjectID 164 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 154 + $ObjectID 165 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -3702,33 +3905,33 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 155 + $ObjectID 166 Prompt "Simulink:studio:ToolBarParametersMenu" Object { $PropName "DialogControls" - $ObjectID 156 + $ObjectID 167 $ClassName "Simulink.dialog.TabContainer" Object { $PropName "DialogControls" - $ObjectID 157 + $ObjectID 168 $ClassName "Simulink.dialog.Tab" Prompt "Block parameters" Array { Type "Simulink.dialog.parameter.Control" Dimension 3 Object { - $ObjectID 158 + $ObjectID 169 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "solverName" } Object { - $ObjectID 159 + $ObjectID 170 $ClassName "Simulink.dialog.parameter.Edit" Name "dofs" } Object { - $ObjectID 160 + $ObjectID 171 $ClassName "Simulink.dialog.parameter.Popup" Name "optOption" } @@ -3748,8 +3951,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -3761,6 +3964,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "469" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Desired frame pose" @@ -3798,6 +4002,7 @@ Library { Position [285, 48, 315, 62] ZOrder 27 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -3838,17 +4043,17 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 161 + $ObjectID 172 $ClassName "Simulink.Mask" Display "image(imread('wholeBodyStates.png'),'center');" } System { Name "States" - Location [0, 27, 1920, 1080] + Location [2568, 323, 4549, 1448] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -3859,7 +4064,8 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "696" + ZoomFactor "600" + SimulinkSubDomain "Simulink" Block { BlockType SubSystem Name "GetLimits" @@ -3871,7 +4077,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 162 + $ObjectID 173 $ClassName "Simulink.Mask" Type "GetLimits" Description "This block provides the joint limits gathering data from either the Robot's Control Board or UR" @@ -3895,7 +4101,7 @@ Library { Type "Simulink.MaskParameter" Dimension 2 Object { - $ObjectID 163 + $ObjectID 174 Type "popup" Array { Type "Cell" @@ -3916,7 +4122,7 @@ Library { "imit blockParameters limitsTypeBlockParam" } Object { - $ObjectID 164 + $ObjectID 175 Type "popup" Array { Type "Cell" @@ -3941,11 +4147,11 @@ Library { Type "Simulink.dialog.Group" Dimension 3 Object { - $ObjectID 165 + $ObjectID 176 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 166 + $ObjectID 177 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -3953,17 +4159,17 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 167 + $ObjectID 178 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.parameter.Popup" Dimension 2 Object { - $ObjectID 168 + $ObjectID 179 Name "limitsSource" } Object { - $ObjectID 169 + $ObjectID 180 Name "limitsType" } PropName "DialogControls" @@ -3971,10 +4177,10 @@ Library { Name "ParameterGroupVar" } Object { - $ObjectID 170 + $ObjectID 181 Object { $PropName "DialogControls" - $ObjectID 171 + $ObjectID 182 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(configBl" @@ -3993,8 +4199,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -4007,6 +4213,7 @@ Library { ShowPageBoundaries off ZoomFactor "966" SIDHighWatermark "1773" + SimulinkSubDomain "Simulink" Block { BlockType S-Function Name "S-Function" @@ -4027,6 +4234,7 @@ Library { Position [220, 43, 250, 57] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Block { BlockType Outport @@ -4036,6 +4244,7 @@ Library { ZOrder 26 Port "2" IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -4064,7 +4273,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 172 + $ObjectID 183 $ClassName "Simulink.Mask" Type "GetMeasurement" Description "This block gathers the measurement of the specified type.\n\nAssuming DoFs is the number of deg" @@ -4078,7 +4287,7 @@ Library { RunInitForIconRedraw "off" Object { $PropName "Parameters" - $ObjectID 173 + $ObjectID 184 $ClassName "Simulink.MaskParameter" Type "popup" Array { @@ -4105,11 +4314,11 @@ Library { Type "Simulink.dialog.Group" Dimension 3 Object { - $ObjectID 174 + $ObjectID 185 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 175 + $ObjectID 186 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -4117,21 +4326,21 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 176 + $ObjectID 187 Prompt "Simulink:studio:ToolBarParametersMenu" Object { $PropName "DialogControls" - $ObjectID 177 + $ObjectID 188 $ClassName "Simulink.dialog.parameter.Popup" Name "measuredType" } Name "ParameterGroupVar" } Object { - $ObjectID 178 + $ObjectID 189 Object { $PropName "DialogControls" - $ObjectID 179 + $ObjectID 190 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(configBl" @@ -4150,8 +4359,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -4163,6 +4372,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "1000" + SimulinkSubDomain "Simulink" Block { BlockType S-Function Name "S-Function" @@ -4183,6 +4393,7 @@ Library { Position [210, 48, 240, 62] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -4204,7 +4415,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 180 + $ObjectID 191 $ClassName "Simulink.Mask" Type "GetMeasurement" Description "This block gathers the measurement of the specified type.\n\nAssuming DoFs is the number of deg" @@ -4218,7 +4429,7 @@ Library { RunInitForIconRedraw "off" Object { $PropName "Parameters" - $ObjectID 181 + $ObjectID 192 $ClassName "Simulink.MaskParameter" Type "popup" Array { @@ -4250,11 +4461,11 @@ Library { Type "Simulink.dialog.Group" Dimension 3 Object { - $ObjectID 182 + $ObjectID 193 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 183 + $ObjectID 194 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -4262,21 +4473,21 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 184 + $ObjectID 195 Prompt "Simulink:studio:ToolBarParametersMenu" Object { $PropName "DialogControls" - $ObjectID 185 + $ObjectID 196 $ClassName "Simulink.dialog.parameter.Popup" Name "measuredType" } Name "ParameterGroupVar" } Object { - $ObjectID 186 + $ObjectID 197 Object { $PropName "DialogControls" - $ObjectID 187 + $ObjectID 198 $ClassName "Simulink.dialog.Button" Prompt "Toggle Config Block Highlighting" Callback "[configBlock, ~] = WBToolbox.BlockInitialization(gcb, gcs);\n\ntry\n if (strcmp(get_param(configBl" @@ -4295,8 +4506,8 @@ Library { Location [0, 27, 1920, 1080] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -4308,6 +4519,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "1000" + SimulinkSubDomain "Simulink" Block { BlockType S-Function Name "S-Function" @@ -4328,6 +4540,7 @@ Library { Position [210, 48, 240, 62] ZOrder 25 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -4352,17 +4565,17 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 188 + $ObjectID 199 $ClassName "Simulink.Mask" Display "image(imread('utilities.png'))" } System { Name "Utilities" - Location [0, 27, 1920, 1080] - Open on + Location [2568, 323, 4549, 1448] + Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -4373,7 +4586,8 @@ Library { TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] TiledPageScale 1 ShowPageBoundaries off - ZoomFactor "219" + ZoomFactor "175" + SimulinkSubDomain "Simulink" Block { BlockType SubSystem Name "Configuration" @@ -4387,7 +4601,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 189 + $ObjectID 200 $ClassName "Simulink.Mask" SelfModifiable "on" Display "disp('Config')" @@ -4396,7 +4610,7 @@ Library { Type "Simulink.MaskParameter" Dimension 8 Object { - $ObjectID 190 + $ObjectID 201 Type "popup" Array { Type "Cell" @@ -4423,7 +4637,7 @@ Library { "h currentConfigSource" } Object { - $ObjectID 191 + $ObjectID 202 Type "edit" Name "ConfigObject" Prompt "Name of the object" @@ -4435,42 +4649,42 @@ Library { "oolbox.ConfigurationToMask(gcb,currentConfigObject);\n\nclear currentConfigObject;" } Object { - $ObjectID 192 + $ObjectID 203 Type "edit" Name "RobotName" Prompt "Robot Name" Value "'icubSim'" } Object { - $ObjectID 193 + $ObjectID 204 Type "edit" Name "UrdfFile" Prompt "Urdf File" Value "'model.urdf'" } Object { - $ObjectID 194 + $ObjectID 205 Type "edit" Name "ControlledJoints" Prompt "Controlled Joints" Value "{'l_elbow','l_shoulder_pitch','torso_roll'}" } Object { - $ObjectID 195 + $ObjectID 206 Type "edit" Name "ControlBoardsNames" Prompt "Control Boards Names" Value "{'left_arm','right_arm','torso'}" } Object { - $ObjectID 196 + $ObjectID 207 Type "edit" Name "LocalName" Prompt "Local Name" Value "'WBT'" } Object { - $ObjectID 197 + $ObjectID 208 Type "edit" Name "GravityVector" Prompt "Gravity Vector" @@ -4482,11 +4696,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 198 + $ObjectID 209 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 199 + $ObjectID 210 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -4494,28 +4708,28 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 200 + $ObjectID 211 Prompt "Simulink:studio:ToolBarParametersMenu" Object { $PropName "DialogControls" - $ObjectID 201 + $ObjectID 212 $ClassName "Simulink.dialog.TabContainer" Array { Type "Simulink.dialog.Tab" Dimension 2 Object { - $ObjectID 202 + $ObjectID 213 Prompt "From" Array { Type "Simulink.dialog.parameter.Control" Dimension 2 Object { - $ObjectID 203 + $ObjectID 214 $ClassName "Simulink.dialog.parameter.Popup" Name "ConfigSource" } Object { - $ObjectID 204 + $ObjectID 215 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "ConfigObject" @@ -4525,38 +4739,38 @@ Library { Name "TabFrom" } Object { - $ObjectID 205 + $ObjectID 216 Prompt "Data" Array { Type "Simulink.dialog.parameter.Edit" Dimension 6 Object { - $ObjectID 206 + $ObjectID 217 PromptLocation "left" Name "RobotName" } Object { - $ObjectID 207 + $ObjectID 218 PromptLocation "left" Name "UrdfFile" } Object { - $ObjectID 208 + $ObjectID 219 PromptLocation "left" Name "ControlledJoints" } Object { - $ObjectID 209 + $ObjectID 220 PromptLocation "left" Name "ControlBoardsNames" } Object { - $ObjectID 210 + $ObjectID 221 PromptLocation "left" Name "LocalName" } Object { - $ObjectID 211 + $ObjectID 222 PromptLocation "left" Name "GravityVector" } @@ -4578,8 +4792,8 @@ Library { Location [550, 86, 1677, 725] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -4592,6 +4806,7 @@ Library { ShowPageBoundaries off ZoomFactor "600" SIDHighWatermark "70" + SimulinkSubDomain "Simulink" Block { BlockType Constant Name "ImConfig" @@ -4627,12 +4842,12 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 212 + $ObjectID 223 $ClassName "Simulink.Mask" RunInitForIconRedraw "off" Object { $PropName "Parameters" - $ObjectID 213 + $ObjectID 224 $ClassName "Simulink.MaskParameter" Type "edit" Name "tol" @@ -4645,8 +4860,8 @@ Library { Location [0, 29, 1280, 744] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -4658,6 +4873,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "mat" @@ -4693,8 +4909,8 @@ Library { Location [12, 45, 1279, 3773] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -4706,7 +4922,8 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" - SIDHighWatermark "1628" + SIDHighWatermark "1631" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "mat" @@ -4727,20 +4944,20 @@ Library { Block { BlockType Demux Name " Demux " - SID "107::1627" + SID "107::1630" Ports [1, 1] Position [270, 230, 320, 270] - ZOrder 107 + ZOrder 110 Outputs "1" } Block { BlockType S-Function Name " SFunction " - SID "107::1626" - Tag "Stateflow S-Function WBToolboxLibrary_repository 6" + SID "107::1629" + Tag "Stateflow S-Function 6" Ports [2, 2] Position [180, 100, 230, 160] - ZOrder 106 + ZOrder 109 FunctionName "sf_sfun" PortCounts "[2 2]" SFunctionDeploymentMode off @@ -4754,9 +4971,9 @@ Library { Block { BlockType Terminator Name " Terminator " - SID "107::1628" + SID "107::1631" Position [460, 241, 480, 259] - ZOrder 108 + ZOrder 111 } Block { BlockType Outport @@ -4765,9 +4982,10 @@ Library { Position [460, 101, 480, 119] ZOrder -6 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { - ZOrder 76 + ZOrder 81 SrcBlock "mat" SrcPort 1 Points [120, 0] @@ -4775,7 +4993,7 @@ Library { DstPort 1 } Line { - ZOrder 77 + ZOrder 82 SrcBlock "sigma" SrcPort 1 DstBlock " SFunction " @@ -4783,7 +5001,7 @@ Library { } Line { Name "DPinv" - ZOrder 78 + ZOrder 83 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 @@ -4791,14 +5009,14 @@ Library { DstPort 1 } Line { - ZOrder 79 + ZOrder 84 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { - ZOrder 80 + ZOrder 85 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " @@ -4813,6 +5031,7 @@ Library { Position [225, 73, 255, 87] ZOrder -5 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -4852,7 +5071,7 @@ Library { SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 214 + $ObjectID 225 $ClassName "Simulink.Mask" Type "DiscreteFilter" Description "This block wraps the Filter, FirstOrderLowPassFilter, and MedianFilter from iCub::ctrl." @@ -4866,7 +5085,7 @@ Library { Type "Simulink.MaskParameter" Dimension 9 Object { - $ObjectID 215 + $ObjectID 226 Type "popup" Array { Type "Cell" @@ -4891,21 +5110,21 @@ Library { "lterType initStatus p howToCoeffs vis_init;" } Object { - $ObjectID 216 + $ObjectID 227 Type "edit" Name "numCoeffs" Prompt "Numerator Coefficients*" Value "[0]" } Object { - $ObjectID 217 + $ObjectID 228 Type "edit" Name "denCoeffs" Prompt "Denominator Coefficients*" Value "[0]" } Object { - $ObjectID 218 + $ObjectID 229 Type "edit" Name "Fc" Prompt "Cut Frequency (Hz)" @@ -4913,7 +5132,7 @@ Library { Visible "off" } Object { - $ObjectID 219 + $ObjectID 230 Type "edit" Name "Ts" Prompt "Sampling time (s)" @@ -4921,7 +5140,7 @@ Library { Visible "off" } Object { - $ObjectID 220 + $ObjectID 231 Type "edit" Name "orderMedianFilter" Prompt "Order" @@ -4929,7 +5148,7 @@ Library { Visible "off" } Object { - $ObjectID 221 + $ObjectID 232 Type "checkbox" Name "initStatus" Prompt "Define initial conditions" @@ -4941,7 +5160,7 @@ Library { "atus visibilities filterType;" } Object { - $ObjectID 222 + $ObjectID 233 Type "edit" Name "y0" Prompt "Output y0" @@ -4949,7 +5168,7 @@ Library { Visible "off" } Object { - $ObjectID 223 + $ObjectID 234 Type "edit" Name "u0" Prompt "Input u0" @@ -4962,11 +5181,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 224 + $ObjectID 235 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 225 + $ObjectID 236 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -4974,68 +5193,68 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 226 + $ObjectID 237 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.Control" Dimension 8 Object { - $ObjectID 227 + $ObjectID 238 $ClassName "Simulink.dialog.parameter.Popup" Name "filterType" } Object { - $ObjectID 228 + $ObjectID 239 $ClassName "Simulink.dialog.parameter.Edit" Name "numCoeffs" } Object { - $ObjectID 229 + $ObjectID 240 $ClassName "Simulink.dialog.parameter.Edit" Name "denCoeffs" } Object { - $ObjectID 230 + $ObjectID 241 $ClassName "Simulink.dialog.Text" Prompt "* The coefficients are ordered in increasing power of z^-1" Name "howToCoeffs" } Object { - $ObjectID 231 + $ObjectID 242 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "Fc" } Object { - $ObjectID 232 + $ObjectID 243 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "Ts" } Object { - $ObjectID 233 + $ObjectID 244 $ClassName "Simulink.dialog.parameter.Edit" PromptLocation "left" Name "orderMedianFilter" } Object { - $ObjectID 234 + $ObjectID 245 $ClassName "Simulink.dialog.Group" Array { Type "Simulink.dialog.parameter.Control" Dimension 3 Object { - $ObjectID 235 + $ObjectID 246 $ClassName "Simulink.dialog.parameter.CheckBox" Name "initStatus" } Object { - $ObjectID 236 + $ObjectID 247 $ClassName "Simulink.dialog.parameter.Edit" Name "y0" } Object { - $ObjectID 237 + $ObjectID 248 $ClassName "Simulink.dialog.parameter.Edit" Name "u0" } @@ -5061,7 +5280,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 238 + $ObjectID 249 $ClassName "Simulink.Mask" Type "MatchSignalSizes" Description "It can happen on particular cases that the Simulink engine cannot propagate the right sizes fro" @@ -5077,8 +5296,8 @@ Library { Location [548, 183, 3416, 1872] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -5090,6 +5309,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "1000" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "Reference" @@ -5130,6 +5350,7 @@ Library { Position [410, 243, 440, 257] ZOrder 244 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 27 @@ -5172,14 +5393,14 @@ Library { Position [470, 93, 625, 147] ZOrder 78 FunctionName "BlockFactory" - Parameters "'MinimumJerkTrajectoryGenerator','WBToolbox',sampleTime,settlingTime,firstDerivatives,secondD" - "erivatives,explicitInitialValue,externalSettlingTime,resetOnSettlingTime" + Parameters "'MinimumJerkTrajectoryGenerator','WBToolbox',sampleTime,settlingTime,firstDerivatives,secondDerivati" + "ves,explicitInitialValue,externalSettlingTime,resetOnSettlingTime" SFunctionDeploymentMode off EnableBusSupport off SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 239 + $ObjectID 250 $ClassName "Simulink.Mask" Type "MinimumJerkTrajectoryGenerator" Description "This block wraps the minJerkTrajGen class from iCub::ctrl::minJerkTrajGen.\n\nThe Minimum Jerk " @@ -5203,7 +5424,7 @@ Library { Type "Simulink.MaskParameter" Dimension 7 Object { - $ObjectID 240 + $ObjectID 251 Type "checkbox" Name "externalSettlingTime" Prompt "External Settling Time" @@ -5214,21 +5435,21 @@ Library { "SettlingTime" } Object { - $ObjectID 241 + $ObjectID 252 Type "edit" Name "settlingTime" Prompt "Settling Time" Value "3" } Object { - $ObjectID 242 + $ObjectID 253 Type "edit" Name "sampleTime" Prompt "Sample Time" Value "0.01" } Object { - $ObjectID 243 + $ObjectID 254 Type "checkbox" Name "resetOnSettlingTime" Prompt "Reset on Settling Time Changes" @@ -5236,21 +5457,21 @@ Library { Visible "off" } Object { - $ObjectID 244 + $ObjectID 255 Type "checkbox" Name "firstDerivatives" Prompt "Output First Derivative" Value "on" } Object { - $ObjectID 245 + $ObjectID 256 Type "checkbox" Name "secondDerivatives" Prompt "Output Second Derivative" Value "on" } Object { - $ObjectID 246 + $ObjectID 257 Type "checkbox" Name "explicitInitialValue" Prompt "Explicit Initial Value" @@ -5263,11 +5484,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 247 + $ObjectID 258 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 248 + $ObjectID 259 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -5275,38 +5496,38 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 249 + $ObjectID 260 Prompt "Simulink:studio:ToolBarParametersMenu" Object { $PropName "DialogControls" - $ObjectID 250 + $ObjectID 261 $ClassName "Simulink.dialog.TabContainer" Array { Type "Simulink.dialog.Tab" Dimension 2 Object { - $ObjectID 251 + $ObjectID 262 Prompt "Trajectory Parameters" Array { Type "Simulink.dialog.parameter.Control" Dimension 4 Object { - $ObjectID 252 + $ObjectID 263 $ClassName "Simulink.dialog.parameter.CheckBox" Name "externalSettlingTime" } Object { - $ObjectID 253 + $ObjectID 264 $ClassName "Simulink.dialog.parameter.Edit" Name "settlingTime" } Object { - $ObjectID 254 + $ObjectID 265 $ClassName "Simulink.dialog.parameter.Edit" Name "sampleTime" } Object { - $ObjectID 255 + $ObjectID 266 $ClassName "Simulink.dialog.parameter.CheckBox" Name "resetOnSettlingTime" } @@ -5315,21 +5536,21 @@ Library { Name "Tab1" } Object { - $ObjectID 256 + $ObjectID 267 Prompt "Input/Output" Array { Type "Simulink.dialog.parameter.CheckBox" Dimension 3 Object { - $ObjectID 257 + $ObjectID 268 Name "firstDerivatives" } Object { - $ObjectID 258 + $ObjectID 269 Name "secondDerivatives" } Object { - $ObjectID 259 + $ObjectID 270 Name "explicitInitialValue" } PropName "DialogControls" @@ -5360,7 +5581,7 @@ Library { SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 260 + $ObjectID 271 $ClassName "Simulink.Mask" Type "QP" Description "This block solves a QP problem using the qpOASES library:\n\nx = argmin 0.5 * x' * H * x + c' *" @@ -5377,42 +5598,42 @@ Library { Type "Simulink.MaskParameter" Dimension 6 Object { - $ObjectID 261 + $ObjectID 272 Type "checkbox" Name "lbA" Prompt "Accept constraints lower bound input (lbA)" Value "off" } Object { - $ObjectID 262 + $ObjectID 273 Type "checkbox" Name "ubA" Prompt "Accept constraints upper bound input (ubA)" Value "on" } Object { - $ObjectID 263 + $ObjectID 274 Type "checkbox" Name "lb" Prompt "Accept lower bound input (lb)" Value "off" } Object { - $ObjectID 264 + $ObjectID 275 Type "checkbox" Name "ub" Prompt "Accept upper bound input (ub)" Value "off" } Object { - $ObjectID 265 + $ObjectID 276 Type "checkbox" Name "computeObjVal" Prompt "Output the value of the objective function" Value "off" } Object { - $ObjectID 266 + $ObjectID 277 Type "checkbox" Name "stopIfFails" Prompt "Stop the simulation if the solver fails" @@ -5424,11 +5645,11 @@ Library { Type "Simulink.dialog.Group" Dimension 2 Object { - $ObjectID 267 + $ObjectID 278 Prompt "%" Object { $PropName "DialogControls" - $ObjectID 268 + $ObjectID 279 $ClassName "Simulink.dialog.Text" Prompt "%" Name "DescTextVar" @@ -5436,23 +5657,23 @@ Library { Name "DescGroupVar" } Object { - $ObjectID 269 + $ObjectID 280 Prompt "Simulink:studio:ToolBarParametersMenu" Array { Type "Simulink.dialog.Group" Dimension 3 Object { - $ObjectID 270 + $ObjectID 281 Prompt "Constraints bounds" Array { Type "Simulink.dialog.parameter.CheckBox" Dimension 2 Object { - $ObjectID 271 + $ObjectID 282 Name "lbA" } Object { - $ObjectID 272 + $ObjectID 283 Name "ubA" } PropName "DialogControls" @@ -5460,17 +5681,17 @@ Library { Name "constraintsBoundsBox" } Object { - $ObjectID 273 + $ObjectID 284 Prompt "Simple bounds" Array { Type "Simulink.dialog.parameter.CheckBox" Dimension 2 Object { - $ObjectID 274 + $ObjectID 285 Name "lb" } Object { - $ObjectID 275 + $ObjectID 286 Name "ub" } PropName "DialogControls" @@ -5478,17 +5699,17 @@ Library { Name "simpleBoundsBox" } Object { - $ObjectID 276 + $ObjectID 287 Prompt "Other" Array { Type "Simulink.dialog.parameter.CheckBox" Dimension 2 Object { - $ObjectID 277 + $ObjectID 288 Name "computeObjVal" } Object { - $ObjectID 278 + $ObjectID 289 Name "stopIfFails" } PropName "DialogControls" @@ -5520,7 +5741,7 @@ Library { SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 279 + $ObjectID 290 $ClassName "Simulink.Mask" Type "Real Time Synchronizer" Description "This block slows down the simulation trying to match the period specified \nas parameter (in se" @@ -5529,7 +5750,7 @@ Library { RunInitForIconRedraw "off" Object { $PropName "Parameters" - $ObjectID 280 + $ObjectID 291 $ClassName "Simulink.MaskParameter" Type "edit" Name "period" @@ -5554,7 +5775,7 @@ Library { SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 281 + $ObjectID 292 $ClassName "Simulink.Mask" Type "Simulator Synchronizer" Description "This block synchronizes with the external simulation on a simulator \n(only Gazebo is supported" @@ -5565,21 +5786,21 @@ Library { Type "Simulink.MaskParameter" Dimension 3 Object { - $ObjectID 282 + $ObjectID 293 Type "edit" Name "period" Prompt "Controller Period (in seconds)" Value "0.01" } Object { - $ObjectID 283 + $ObjectID 294 Type "edit" Name "serverPortName" Prompt "Server Port Name" Value "'/clock/rpc'" } Object { - $ObjectID 284 + $ObjectID 295 Type "edit" Name "clientPortName" Prompt "Client Port Name" @@ -5600,12 +5821,12 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 285 + $ObjectID 296 $ClassName "Simulink.Mask" RunInitForIconRedraw "off" Object { $PropName "Parameters" - $ObjectID 286 + $ObjectID 297 $ClassName "Simulink.MaskParameter" Type "edit" Name "tol" @@ -5618,8 +5839,8 @@ Library { Location [0, 29, 1280, 744] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -5631,6 +5852,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "S" @@ -5666,8 +5888,8 @@ Library { Location [12, 45, 1279, 3773] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -5679,7 +5901,8 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" - SIDHighWatermark "1619" + SIDHighWatermark "1622" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "mat" @@ -5700,20 +5923,20 @@ Library { Block { BlockType Demux Name " Demux " - SID "112::1618" + SID "112::1621" Ports [1, 1] Position [270, 230, 320, 270] - ZOrder 107 + ZOrder 110 Outputs "1" } Block { BlockType S-Function Name " SFunction " - SID "112::1617" - Tag "Stateflow S-Function WBToolboxLibrary_repository 7" + SID "112::1620" + Tag "Stateflow S-Function 7" Ports [2, 2] Position [180, 100, 230, 160] - ZOrder 106 + ZOrder 109 FunctionName "sf_sfun" PortCounts "[2 2]" SFunctionDeploymentMode off @@ -5727,9 +5950,9 @@ Library { Block { BlockType Terminator Name " Terminator " - SID "112::1619" + SID "112::1622" Position [460, 241, 480, 259] - ZOrder 108 + ZOrder 111 } Block { BlockType Outport @@ -5738,9 +5961,10 @@ Library { Position [460, 101, 480, 119] ZOrder -6 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { - ZOrder 76 + ZOrder 81 SrcBlock "mat" SrcPort 1 Points [120, 0] @@ -5748,7 +5972,7 @@ Library { DstPort 1 } Line { - ZOrder 77 + ZOrder 82 SrcBlock "tol" SrcPort 1 DstBlock " SFunction " @@ -5756,7 +5980,7 @@ Library { } Line { Name "TPinv" - ZOrder 78 + ZOrder 83 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 @@ -5764,14 +5988,14 @@ Library { DstPort 1 } Line { - ZOrder 79 + ZOrder 84 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { - ZOrder 80 + ZOrder 85 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " @@ -5786,6 +6010,7 @@ Library { Position [225, 73, 255, 87] ZOrder -5 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -5825,7 +6050,7 @@ Library { SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 287 + $ObjectID 298 $ClassName "Simulink.Mask" Type "YARP Clock" Description "This block outputs the current YARP Time.\nIn a nutshell, this block outputs the equivalent of " @@ -5844,14 +6069,13 @@ Library { ZOrder 22 ForegroundColor "[0.490196, 0.000000, 0.000000]" FunctionName "BlockFactory" - Parameters "'YarpRead','WBToolbox',portName,signalSize,blocking,timestamp,autoconnect,errorOnConnection,t" - "imeout" + Parameters "'YarpRead','WBToolbox',portName,signalSize,blocking,timestamp,autoconnect,errorOnConnection,timeout" SFunctionDeploymentMode off EnableBusSupport off SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 288 + $ObjectID 299 $ClassName "Simulink.Mask" Type "YARP Read" Description "This block behaves as the command 'yarp read'. \n\nBy default it has the option 'Autoconnect' a" @@ -5871,21 +6095,21 @@ Library { Type "Simulink.MaskParameter" Dimension 7 Object { - $ObjectID 289 + $ObjectID 300 Type "edit" Name "portName" Prompt "Source Port Name" Value "'/portname'" } Object { - $ObjectID 290 + $ObjectID 301 Type "edit" Name "signalSize" Prompt "Port Size" Value "1" } Object { - $ObjectID 291 + $ObjectID 302 Type "edit" Name "timeout" Prompt "Timeout" @@ -5893,7 +6117,7 @@ Library { Visible "off" } Object { - $ObjectID 292 + $ObjectID 303 Type "checkbox" Name "blocking" Prompt "Blocking Read" @@ -5904,14 +6128,14 @@ Library { "king_val mask_visibility" } Object { - $ObjectID 293 + $ObjectID 304 Type "checkbox" Name "timestamp" Prompt "Read Timestamp" Value "on" } Object { - $ObjectID 294 + $ObjectID 305 Type "checkbox" Name "autoconnect" Prompt "Autoconnect" @@ -5924,7 +6148,7 @@ Library { "ibilities" } Object { - $ObjectID 295 + $ObjectID 306 Type "checkbox" Name "errorOnConnection" Prompt "Error on missing connection" @@ -5949,7 +6173,7 @@ Library { SFcnIsStateOwnerBlock off Object { $PropName "MaskObject" - $ObjectID 296 + $ObjectID 307 $ClassName "Simulink.Mask" Type "YARP Write" Description "This block behaves as the command 'yarp write'. \n\nBy default this block opens a port names as" @@ -5963,14 +6187,14 @@ Library { Type "Simulink.MaskParameter" Dimension 3 Object { - $ObjectID 297 + $ObjectID 308 Type "edit" Name "portName" Prompt "Opened Port Name" Value "'/portname'" } Object { - $ObjectID 298 + $ObjectID 309 Type "checkbox" Name "autoconnect" Prompt "Autoconnect" @@ -5981,7 +6205,7 @@ Library { "';'off'});\nend\nset_param(gcb, 'MaskPrompts', prompt_string);\nclear autoconnect_val prompt_string" } Object { - $ObjectID 299 + $ObjectID 310 Type "checkbox" Name "errorOnConnection" Prompt "Error on missing connection" @@ -6003,7 +6227,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 300 + $ObjectID 311 $ClassName "Simulink.Mask" Type "Errors" Description "Computes two kinds of errors. The first is just the difference between x\nand y while the secon" @@ -6015,8 +6239,8 @@ Library { Location [0, 29, 1280, 744] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -6028,6 +6252,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "x" @@ -6077,6 +6302,7 @@ Library { Position [225, 13, 255, 27] ZOrder -5 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Block { BlockType Outport @@ -6086,6 +6312,7 @@ Library { ZOrder -6 Port "2" IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -6149,7 +6376,7 @@ Library { RequestExecContextInheritance off Object { $PropName "MaskObject" - $ObjectID 301 + $ObjectID 312 $ClassName "Simulink.Mask" Type "Holder" Description "This block holds the first input value during the simulation." @@ -6160,8 +6387,8 @@ Library { Location [12, 45, 1340, 980] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -6173,6 +6400,7 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "s" @@ -6195,7 +6423,7 @@ Library { Ports [1, 1] Position [90, 60, 120, 90] ZOrder 10 - LibraryVersion "1.441" + LibraryVersion "1.453" SourceBlock "simulink/Logic and Bit\nOperations/Compare\nTo Constant" SourceType "Compare To Constant" SourceProductName "Simulink" @@ -6224,8 +6452,8 @@ Library { Location [12, 45, 1135, 3068] Open off PortBlocksUseCompactNotation off - SetDomainSpec off - DomainSpecType "Deduce" + SetExecutionDomain off + ExecutionDomainType "Deduce" ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" @@ -6237,7 +6465,8 @@ Library { TiledPageScale 1 ShowPageBoundaries off ZoomFactor "100" - SIDHighWatermark "1625" + SIDHighWatermark "1628" + SimulinkSubDomain "Simulink" Block { BlockType Inport Name "s" @@ -6258,20 +6487,20 @@ Library { Block { BlockType Demux Name " Demux " - SID "1300::1624" + SID "1300::1627" Ports [1, 1] Position [270, 230, 320, 270] - ZOrder 95 + ZOrder 98 Outputs "1" } Block { BlockType S-Function Name " SFunction " - SID "1300::1623" - Tag "Stateflow S-Function WBToolboxLibrary_repository 1" + SID "1300::1626" + Tag "Stateflow S-Function 1" Ports [2, 2] Position [180, 100, 230, 160] - ZOrder 94 + ZOrder 97 FunctionName "sf_sfun" PortCounts "[2 2]" SFunctionDeploymentMode off @@ -6285,9 +6514,9 @@ Library { Block { BlockType Terminator Name " Terminator " - SID "1300::1625" + SID "1300::1628" Position [460, 241, 480, 259] - ZOrder 96 + ZOrder 99 } Block { BlockType Outport @@ -6296,9 +6525,10 @@ Library { Position [460, 101, 480, 119] ZOrder 11 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { - ZOrder 76 + ZOrder 81 SrcBlock "s" SrcPort 1 Points [120, 0] @@ -6306,7 +6536,7 @@ Library { DstPort 1 } Line { - ZOrder 77 + ZOrder 82 SrcBlock "unused" SrcPort 1 DstBlock " SFunction " @@ -6314,7 +6544,7 @@ Library { } Line { Name "s0" - ZOrder 78 + ZOrder 83 Labels [0, 0] SrcBlock " SFunction " SrcPort 2 @@ -6322,14 +6552,14 @@ Library { DstPort 1 } Line { - ZOrder 79 + ZOrder 84 SrcBlock " Demux " SrcPort 1 DstBlock " Terminator " DstPort 1 } Line { - ZOrder 80 + ZOrder 85 SrcBlock " SFunction " SrcPort 1 DstBlock " Demux " @@ -6344,6 +6574,7 @@ Library { Position [330, 58, 360, 72] ZOrder 14 IconDisplay "Port number" + VectorParamsAs1DForOutWhenUnconnected off } Line { ZOrder 1 @@ -6380,7 +6611,7 @@ Library { Annotation { SID "1213" Name "WHOLE BODY TOOLBOX" - Position [172, 149, 319, 165] + Position [172, 149, 319, 166] InternalMargins [0, 0, 0, 0] ForegroundColor "white" BackgroundColor "black" @@ -6403,7 +6634,7 @@ Library { "1) http://www.codyco.eu

\n

H2020 EU Project AnDy (No. 731540 H" "2020-ICT-2016-1) http://andy-project.eu

" - Position [157, 176, 333, 208] + Position [157, 176, 333, 213] InternalMargins [0, 0, 0, 0] ForegroundColor "white" BackgroundColor "black" @@ -6415,16 +6646,14 @@ Library { } #Finite State Machines # -# Stateflow 80000014 +# Stateflow 80000019 # # Stateflow { machine { id 1 name "WBToolboxLibrary_repository" - created "06-Feb-2014 11:51:26" - isLibrary 1 - sfVersion 80000014 + sfVersion 80000019 firstTarget 26 } chart { diff --git a/matlab/library/exported/WBToolboxLibrary.slx b/matlab/library/exported/WBToolboxLibrary.slx index 50e76ba31..5abb9bbe1 100644 Binary files a/matlab/library/exported/WBToolboxLibrary.slx and b/matlab/library/exported/WBToolboxLibrary.slx differ diff --git a/toolbox/library/CMakeLists.txt b/toolbox/library/CMakeLists.txt index b8dace97e..6869ca360 100644 --- a/toolbox/library/CMakeLists.txt +++ b/toolbox/library/CMakeLists.txt @@ -38,6 +38,7 @@ list(APPEND WBT_BLOCKS "Jacobian") list(APPEND WBT_BLOCKS "ForwardKinematics") list(APPEND WBT_BLOCKS "RelativeTransform") list(APPEND WBT_BLOCKS "CentroidalMomentum") +list(APPEND WBT_BLOCKS "CentroidalTotalMomentumMatrix") # Other list(APPEND WBT_BLOCKS "RealTimeSynchronizer") diff --git a/toolbox/library/include/WBToolbox/Block/CentroidalTotalMomentumMatrix.h b/toolbox/library/include/WBToolbox/Block/CentroidalTotalMomentumMatrix.h new file mode 100644 index 000000000..03f9f2e86 --- /dev/null +++ b/toolbox/library/include/WBToolbox/Block/CentroidalTotalMomentumMatrix.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2018 Istituto Italiano di Tecnologia (IIT) + * All rights reserved. + * + * This software may be modified and distributed under the terms of the + * GNU Lesser General Public License v2.1 or any later version. + */ + +#ifndef WBT_CentroidalTotalMomentumMatrix_H +#define WBT_CentroidalTotalMomentumMatrix_H + +#include "WBToolbox/Base/WBBlock.h" + +#include +#include + +namespace wbt { + namespace block { + class CentroidalTotalMomentumMatrix; + } // namespace block +} // namespace wbt + +namespace blockfactory { + namespace core { + class BlockInformation; + } // namespace core +} // namespace blockfactory + +/** + * @brief The wbt::CentroidalTotalMomentumMatrix class + */ + +class wbt::block::CentroidalTotalMomentumMatrix final : public wbt::base::WBBlock +{ +private: + class impl; + std::unique_ptr pImpl; + +public: + CentroidalTotalMomentumMatrix(); + ~CentroidalTotalMomentumMatrix() override; + bool configureSizeAndPorts(blockfactory::core::BlockInformation* blockInfo) override; + bool initialize(blockfactory::core::BlockInformation* blockInfo) override; + bool terminate(const blockfactory::core::BlockInformation* blockInfo) override; + bool output(const blockfactory::core::BlockInformation* blockInfo) override; +}; + +#endif // WBT_CentroidalTotalMomentumMatrix_H diff --git a/toolbox/library/src/CentroidalTotalMomentumMatrix.cpp b/toolbox/library/src/CentroidalTotalMomentumMatrix.cpp new file mode 100644 index 000000000..41eccf660 --- /dev/null +++ b/toolbox/library/src/CentroidalTotalMomentumMatrix.cpp @@ -0,0 +1,199 @@ +/* + * Copyright (C) 2018 Istituto Italiano di Tecnologia (IIT) + * All rights reserved. + * + * This software may be modified and distributed under the terms of the + * GNU Lesser General Public License v2.1 or any later version. + */ + +#include "WBToolbox/Block/CentroidalTotalMomentumMatrix.h" +#include "WBToolbox/Base/Configuration.h" +#include "WBToolbox/Base/RobotInterface.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +using namespace wbt::block; +using namespace blockfactory::core; + +// INDICES: PARAMETERS, INPUTS, OUTPUT +// =================================== + +enum InputIndex +{ + BasePose = 0, + JointConfiguration, +}; + +enum OutputIndex +{ + CentroidalTotalMomentumMatrix = 0, +}; + +// BLOCK PIMPL +// =========== + +class CentroidalTotalMomentumMatrix::impl +{ +public: + iDynTree::MatrixDynSize CentroidalTotalMomentumMatrix; +}; + +// BLOCK CLASS +// =========== + +CentroidalTotalMomentumMatrix::CentroidalTotalMomentumMatrix() + : pImpl{new impl()} +{} + +CentroidalTotalMomentumMatrix::~CentroidalTotalMomentumMatrix() = default; + +bool CentroidalTotalMomentumMatrix::configureSizeAndPorts(BlockInformation* blockInfo) +{ + if (!WBBlock::configureSizeAndPorts(blockInfo)) { + return false; + } + + // Get the DoFs + const int dofs = getRobotInterface()->getConfiguration().getNumberOfDoFs(); + + // INPUTS + // ====== + // + // 1) Homogeneous transform for base pose wrt the world frame (4x4 matrix) + // 2) Joints position (1xDoFs vector) + // + // OUTPUTS + // ======= + // + // 1) Matrix representing the Centroidal Momentum Matrix (6x(DoFs+6) + // + + const bool ok = blockInfo->setPortsInfo( + { + // Inputs + {InputIndex::BasePose, Port::Dimensions{4, 4}, Port::DataType::DOUBLE}, + {InputIndex::JointConfiguration, Port::Dimensions{dofs}, Port::DataType::DOUBLE}, + }, + { + // Outputs + {OutputIndex::CentroidalTotalMomentumMatrix, + Port::Dimensions{6, 6 + dofs}, + Port::DataType::DOUBLE}, + }); + + if (!ok) { + bfError << "Failed to configure input / output ports."; + return false; + } + + return true; +} + +bool CentroidalTotalMomentumMatrix::initialize(BlockInformation* blockInfo) +{ + if (!WBBlock::initialize(blockInfo)) { + return false; + } + + auto kinDyn = getKinDynComputations(); + if (!kinDyn) { + bfError << "Cannot retrieve handle to KinDynComputations."; + return false; + } + + // Initialize buffers + // ------------------ + + // Get the DoFs + const auto dofs = getRobotInterface()->getConfiguration().getNumberOfDoFs(); + + // Output + pImpl->CentroidalTotalMomentumMatrix.resize(6, 6 + dofs); + pImpl->CentroidalTotalMomentumMatrix.zero(); + + return true; +} + +bool CentroidalTotalMomentumMatrix::terminate(const BlockInformation* blockInfo) +{ + return WBBlock::terminate(blockInfo); +} + +bool CentroidalTotalMomentumMatrix::output(const BlockInformation* blockInfo) +{ + using namespace Eigen; + using MatrixXdSimulink = Matrix; + using MatrixXdiDynTree = Matrix; + + // Get the KinDynComputations object + auto kinDyn = getKinDynComputations(); + if (!kinDyn) { + bfError << "Failed to retrieve the KinDynComputations object."; + return false; + } + + // GET THE SIGNALS POPULATE THE ROBOT STATE + // ======================================== + + InputSignalPtr basePoseSig = blockInfo->getInputPortSignal(InputIndex::BasePose); + InputSignalPtr jointsPosSig = blockInfo->getInputPortSignal(InputIndex::JointConfiguration); + + if (!basePoseSig || !jointsPosSig) { + bfError << "Input signals not valid."; + return false; + } + + bool ok = setRobotState(basePoseSig, jointsPosSig, nullptr, nullptr, kinDyn.get()); + + if (!ok) { + bfError << "Failed to set the robot state."; + return false; + } + + // OUTPUT + // ====== + // Compute the CentroidalTotalMomentumMatrix + + ok = kinDyn->getCentroidalTotalMomentumJacobian(pImpl->CentroidalTotalMomentumMatrix); + + if (!ok) { + bfError << "Failed to get the Centroidal Total Momentum Matrix ."; + return false; + } + + // Get the output signal memory location + + OutputSignalPtr output = + blockInfo->getOutputPortSignal(OutputIndex::CentroidalTotalMomentumMatrix); + + if (!output) { + bfError << "Output signal not valid."; + return false; + } + + // Allocate objects for row-major -> col-major conversion + Map CentroidalTotalMomentumMatrixRowMajor = + toEigen(pImpl->CentroidalTotalMomentumMatrix); + Map CentroidalTotalMomentumMatrixColMajor( + output->getBuffer(), + blockInfo->getOutputPortMatrixSize(OutputIndex::CentroidalTotalMomentumMatrix).rows, + blockInfo->getOutputPortMatrixSize(OutputIndex::CentroidalTotalMomentumMatrix).cols); + + // Forward the buffer to Simulink transforming it to ColMajor + CentroidalTotalMomentumMatrixColMajor = CentroidalTotalMomentumMatrixRowMajor; + return true; +} diff --git a/toolbox/library/src/Factory.cpp b/toolbox/library/src/Factory.cpp index 9f68a31bd..2fc47df7b 100644 --- a/toolbox/library/src/Factory.cpp +++ b/toolbox/library/src/Factory.cpp @@ -20,6 +20,7 @@ // iDyntree-dependent blocks #include "WBToolbox/Block/CentroidalMomentum.h" +#include "WBToolbox/Block/CentroidalTotalMomentumMatrix.h" #include "WBToolbox/Block/DotJNu.h" #include "WBToolbox/Block/ForwardKinematics.h" #include "WBToolbox/Block/InverseDynamics.h" @@ -81,6 +82,9 @@ SHLIBPP_DEFINE_SHARED_SUBCLASS(MassMatrix, wbt::block::MassMatrix, blockfactory: SHLIBPP_DEFINE_SHARED_SUBCLASS(RelativeTransform, wbt::block::RelativeTransform, blockfactory::core::Block) +SHLIBPP_DEFINE_SHARED_SUBCLASS(CentroidalTotalMomentumMatrix, + wbt::block::CentroidalTotalMomentumMatrix, + blockfactory::core::Block) // iCub-dependent blocks #ifdef WBT_USES_ICUB