Model { Name "absbrake" Version 3.00 SimParamPage "Solver" SampleTimeColors off InvariantConstants off WideVectorLines on ShowLineWidths off ShowPortDataTypes off StartTime "0.0" StopTime "25" SolverMode "SingleTasking" Solver "ode45" RelTol "1e-3" AbsTol "1e-6" Refine "1" MaxStep ".01" InitialStep "auto" FixedStep "auto" MaxOrder 5 OutputOption "RefineOutputTimes" OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime on TimeSaveName "time" SaveState off StateSaveName "xout" SaveOutput off OutputSaveName "yout" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" SaveFormat "Matrix" LimitMaxRows off MaxRows "1000" Decimation "1" AlgebraicLoopMsg "warning" MinStepSizeMsg "warning" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" InheritedTsInSrcMsg "warning" IntegerOverflowMsg "none" ConsistencyChecking "off" ZeroCross on SimulationMode "normal" BlockDataTips on BlockParametersDataTip on BlockAttributesDataTip off BlockPortWidthsDataTip off BlockDescriptionStringDataTip off BlockMaskParametersDataTip off BrowserShowLibraryLinks off BrowserLookUnderMasks off OptimizeBlockIOStorage on BufferReuse on BooleanDataType off RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "oneshot" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect off PreLoadFcn "absdata" Created "Wed Aug 19 16:12:42 1998" Creator "ctrapeni" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "nikita" ModifiedDateFormat "%" LastModifiedDate "Thu Sep 10 10:01:31 1998" ModelVersionFormat "1.%" ConfigurationManager "none" BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } System { Name "absbrake" Location [139, 311, 869, 706] Open off ToolBar on StatusBar on ModelBrowserVisibility off ModelBrowserWidth 212 ScreenColor "white" PaperOrientation "portrait" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" ReportName "simulink-default.rpt" Block { BlockType Gain Name "-1/m" Position [300, 198, 340, 242] ShowName off Gain "-1/m" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "1/I" Position [480, 88, 510, 122] ShowName off Gain "1/I" SaturateOnIntegerOverflow on } Block { BlockType SubSystem Name "Bang-bang\ncontroller" Ports [1, 1, 0, 0, 0] Position [120, 90, 150, 120] ShowPortLabels off MaskType "Sign" MaskDescription "y = sign(x)" MaskHelp "Sign Function:\\n\\t\\t\\ty = 1 if x > 0\\n\\t" "\\t\\ty = 0 if x = 0\\n\\t\\t\\ty = -1 if x < 0" MaskDisplay "plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-50,50" "],[-40,0],[-30,-30],[0,40],[30,30])" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Bang-bang\ncontroller" Location [159, 417, 467, 586] Open off ToolBar off StatusBar off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block { BlockType Inport Name "in_1" Position [35, 30, 55, 50] Port "1" PortWidth "-1" SampleTime "-1" DataType "auto" SignalType "auto" } Block { BlockType Constant Name "Constant" Position [65, 105, 85, 125] Value "0" } Block { BlockType RelationalOperator Name "Relational\nOperator" Position [140, 32, 170, 63] Operator ">" } Block { BlockType RelationalOperator Name "Relational\nOperator1" Position [140, 92, 170, 123] Operator "<" } Block { BlockType Sum Name "Sum" Ports [2, 1, 0, 0, 0] Position [215, 64, 235, 91] IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "out_1" Position [265, 70, 285, 90] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_1" SrcPort 1 Points [35, 0] Branch { DstBlock "Relational\nOperator" DstPort 1 } Branch { Points [0, 60] DstBlock "Relational\nOperator1" DstPort 1 } } Line { SrcBlock "Constant" SrcPort 1 Points [20, 0] Branch { DstBlock "Relational\nOperator1" DstPort 2 } Branch { Points [0, -60] DstBlock "Relational\nOperator" DstPort 2 } } Line { SrcBlock "Relational\nOperator1" SrcPort 1 Points [10, 0; 0, -25] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Relational\nOperator" SrcPort 1 Points [10, 0; 0, 20] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1 } } } Block { BlockType Integrator Name "Brake\npressure" Ports [1, 1, 0, 0, 0] Position [260, 90, 300, 120] ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput on UpperSaturationLimit "PBmax" LowerSaturationLimit "0" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Gain Name "Ctrl" Position [75, 135, 105, 165] Orientation "up" NamePlacement "alternate" ShowName off Gain "ctrl" SaturateOnIntegerOverflow on } Block { BlockType Constant Name "Desired\nrelative\nslip" Position [15, 92, 45, 118] Value "0.2" } Block { BlockType Gain Name "Force &\ntorque" Position [330, 87, 370, 123] Gain "Kf" SaturateOnIntegerOverflow on Port { PortNumber 1 Name "brake torque" TestPoint off RTWStorageClass "Auto" } } Block { BlockType TransferFcn Name "Hydraulic Lag " Position [180, 87, 235, 123] Numerator "[100]" Denominator "[TB 1]" } Block { BlockType Mux Name "Mux" Ports [3, 1, 0, 0, 0] Position [600, 65, 605, 295] BackgroundColor "black" ShowName off Inputs "3" DisplayOption "none" } Block { BlockType Fcn Name "Relative Slip" Position [245, 292, 410, 318] Orientation "left" Expr "1.0 - u(1)/(u(2) + (u(2)==0)*eps)" } Block { BlockType Gain Name "Rr" Position [335, 167, 375, 203] ShowName off Gain "Rr" SaturateOnIntegerOverflow on Port { PortNumber 1 Name "tire torque" TestPoint off RTWStorageClass "Auto" } } Block { BlockType Stop Name "Stop Simulation2" Position [445, 210, 485, 250] ShowName off } Block { BlockType Integrator Name "Stopping distance" Ports [1, 1, 0, 0, 0] Position [525, 236, 555, 274] ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "1000" LowerSaturationLimit "0" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Sum Name "Sum" Ports [2, 1, 0, 0, 0] Position [440, 95, 460, 115] ShowName off IconShape "round" Inputs "|-+" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum1" Ports [2, 1, 0, 0, 0] Position [80, 95, 100, 115] ShowName off IconShape "round" Inputs "|+-" SaturateOnIntegerOverflow on } Block { BlockType ToWorkspace Name "To Workspace" Position [650, 170, 700, 190] NamePlacement "alternate" ShowName off VariableName "yout" Buffer "10000" Decimation "1" SampleTime "0" SaveFormat "Matrix" } Block { BlockType ToWorkspace Name "To Workspace2" Position [130, 235, 180, 255] NamePlacement "alternate" ShowName off VariableName "slp" Buffer "10000" Decimation "1" SampleTime "0" SaveFormat "Matrix" } Block { BlockType Integrator Name "Vehicle\nspeed" Ports [1, 2, 0, 0, 0] Position [385, 193, 420, 242] ExternalReset "none" InitialConditionSource "internal" InitialCondition "v0" LimitOutput on UpperSaturationLimit "1000" LowerSaturationLimit "0" ShowSaturationPort on ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Gain Name "Vehicle speed\n(angular)" Position [520, 162, 560, 198] Gain "1/Rr" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Weight" Position [190, 168, 235, 202] Gain "m*g/4" SaturateOnIntegerOverflow on Port { PortNumber 1 Name "Ff" TestPoint off RTWStorageClass "Auto" } } Block { BlockType Integrator Name "Wheel\nSpeed" Ports [1, 1, 0, 0, 0] Position [535, 84, 565, 126] ExternalReset "none" InitialConditionSource "internal" InitialCondition "v0/Rr" LimitOutput on UpperSaturationLimit "1000" LowerSaturationLimit "0" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" Port { PortNumber 1 Name "Ww" TestPoint off RTWStorageClass "Auto" } } Block { BlockType Lookup Name "mu-slip\nfriction curve" Position [130, 170, 160, 200] InputValues "slip" OutputValues "mu" } Block { BlockType SubSystem Name "run it" Ports [0, 0, 0, 0, 0] Position [26, 332, 120, 375] BackgroundColor "yellow" ShowName off OpenFcn "runabs" ShowPortLabels off MaskDisplay "disp('Double click to\\nrun model and\\nplot th" "e results')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "run it" Location [90, 578, 225, 691] Open off ToolBar off StatusBar off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "yellow" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" } } Line { SrcBlock "1/I" SrcPort 1 DstBlock "Wheel\nSpeed" DstPort 1 } Line { SrcBlock "Mux" SrcPort 1 Points [10, 0] Branch { DstBlock "To Workspace" DstPort 1 } Branch { Points [0, 125] DstBlock "Relative Slip" DstPort 1 } } Line { SrcBlock "Sum" SrcPort 1 DstBlock "1/I" DstPort 1 } Line { Name "Ww" SrcBlock "Wheel\nSpeed" SrcPort 1 DstBlock "Mux" DstPort 1 } Line { SrcBlock "Vehicle speed\n(angular)" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "Relative Slip" SrcPort 1 Points [-150, 0; 0, -60] Branch { DstBlock "To Workspace2" DstPort 1 } Branch { Points [0, -60] Branch { DstBlock "mu-slip\nfriction curve" DstPort 1 } Branch { DstBlock "Ctrl" DstPort 1 } } } Line { Name "tire torque" Labels [-1, 0] SrcBlock "Rr" SrcPort 1 Points [70, 0] DstBlock "Sum" DstPort 2 } Line { Name "brake torque" Labels [0, 0] SrcBlock "Force &\ntorque" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Stopping distance" SrcPort 1 DstBlock "Mux" DstPort 3 } Line { SrcBlock "-1/m" SrcPort 1 DstBlock "Vehicle\nspeed" DstPort 1 } Line { SrcBlock "Vehicle\nspeed" SrcPort 2 DstBlock "Stop Simulation2" DstPort 1 } Line { SrcBlock "Vehicle\nspeed" SrcPort 1 Points [75, 0] Branch { Points [0, -25] DstBlock "Vehicle speed\n(angular)" DstPort 1 } Branch { Points [0, 50] DstBlock "Stopping distance" DstPort 1 } } Line { SrcBlock "mu-slip\nfriction curve" SrcPort 1 DstBlock "Weight" DstPort 1 } Line { Name "Ff" Labels [1, 1] SrcBlock "Weight" SrcPort 1 Points [20, 0] Branch { Points [0, 35] DstBlock "-1/m" DstPort 1 } Branch { DstBlock "Rr" DstPort 1 } } Line { SrcBlock "Brake\npressure" SrcPort 1 DstBlock "Force &\ntorque" DstPort 1 } Line { SrcBlock "Ctrl" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Bang-bang\ncontroller" SrcPort 1 DstBlock "Hydraulic Lag " DstPort 1 } Line { SrcBlock "Hydraulic Lag " SrcPort 1 DstBlock "Brake\npressure" DstPort 1 } Line { SrcBlock "Desired\nrelative\nslip" SrcPort 1 DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 DstBlock "Bang-bang\ncontroller" DstPort 1 } Annotation { Position [357, 22] VerticalAlignment "top" Text "ABS Braking Model" FontName "helvetica" FontSize 18 FontWeight "bold" FontAngle "oblique" } Annotation { Position [607, 342] VerticalAlignment "top" Text "Developed by Larry Michaels\nThe MathWorks, Inc" "\n" } } }