Model { Name "trailers_nonlinear_dampers" Version 2.09 SimParamPage Solver SampleTimeColors off InvariantConstants off WideVectorLines off ShowLineWidths off PaperOrientation landscape PaperType usletter PaperUnits inches StartTime "0.0" StopTime "0.1" Solver ode1 RelTol "1e-3" AbsTol "1e-6" Refine "1" MaxStep "auto" InitialStep "auto" FixedStep "0.000004" MaxOrder 5 OutputOption RefineOutputTimes OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime on TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" LimitMaxRows off MaxRows "1000" Decimation "1" AlgebraicLoopMsg warning MinStepSizeMsg warning UnconnectedInputMsg warning UnconnectedOutputMsg warning UnconnectedLineMsg warning ConsistencyChecking off ZeroCross on SimulationMode normal RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_unix.tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off ExtModeMexFile "ext_comm" ExtModeBatchMode off 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 "trailers_nonlinear_dampers" Location [4, 48, 1020, 715] Open on ScreenColor white Block { BlockType TransferFcn Name "(c4 s + c4*gamma_phi + c5)/\n(s+gamma_phi)" Position [650, 448, 775, 492] Numerator "[c4 (c4*gamma_phi+c5)]" Denominator "[1 gamma_phi]" } Block { BlockType Reference Name "-Sp" Ports [1, 1, 0, 0, 0] Position [650, 195, 680, 225] Orientation down NamePlacement alternate SourceBlock "simulink/Linear/Matrix\nGain" SourceType "Matrix Gain" K "-Sp" } Block { BlockType TransferFcn Name "1/(s+gamma_x)" Position [560, 536, 635, 574] Orientation left Numerator "[1]" Denominator "[1 gamma_x]" } Block { BlockType Reference Name "Ap" Ports [1, 1, 0, 0, 0] Position [865, 360, 895, 390] Orientation left SourceBlock "simulink/Linear/Matrix\nGain" SourceType "Matrix Gain" K "Ap" } Block { BlockType Reference Name "Bp" Ports [1, 1, 0, 0, 0] Position [710, 260, 740, 290] SourceBlock "simulink/Linear/Matrix\nGain" SourceType "Matrix Gain" K "Bp" } Block { BlockType Reference Name "Cp" Ports [1, 1, 0, 0, 0] Position [965, 280, 995, 310] SourceBlock "simulink/Linear/Matrix\nGain" SourceType "Matrix Gain" K "Cp" } Block { BlockType Reference Name "M^-1" Ports [1, 1, 0, 0, 0] Position [735, 330, 765, 360] Orientation up NamePlacement alternate SourceBlock "simulink/Linear/Matrix\nGain" SourceType "Matrix Gain" K "M1" } Block { BlockType StateSpace Name "Modelo" Position [210, 27, 270, 63] A "Am" B "[1 0; 0 1]" C "eye(2)" D "zeros(2)" X0 "[0 ; 0]" } Block { BlockType MATLABFcn Name "Nonlinear dampers" Position [835, 420, 895, 450] Orientation left MATLABFcn "dampers" OutputWidth "-1" } Block { BlockType Sum Name "Sum" Ports [4, 1, 0, 0, 0] Position [655, 521, 685, 584] Orientation left Inputs "++++" } Block { BlockType Scope Name "Uav" Ports [1, 0, 0, 0, 0] Position [320, 635, 350, 665] Floating off Location [695, 354, 1019, 593] Open on Grid on TickLabels on ZoomMode on TimeRange "auto" YMin "-80" YMax "40" SaveToWorkspace on SaveName "Uav" LimitMaxRows on MaxRows "5000" Decimation "10" SampleInput off SampleTime "0" } Block { BlockType StateSpace Name "average\nfilter\n-I/(tau*s+1)" Position [225, 602, 285, 638] A "-eye(2)/tau" B "-eye(2)/tau" C "eye(2)" D "zeros(2,2)" X0 "[0; 0]" } Block { BlockType Gain Name "c1" Position [380, 224, 420, 256] Gain "c1" } Block { BlockType Gain Name "c10" Position [750, 514, 785, 546] Orientation left Gain "c10" } Block { BlockType Gain Name "c11" Position [810, 544, 845, 576] Orientation left Gain "c11" } Block { BlockType Gain Name "c2" Position [360, 149, 400, 181] Gain "c2" } Block { BlockType Gain Name "c3" Position [440, 175, 470, 205] Gain "c3" } Block { BlockType Gain Name "c6*tau" Position [445, 542, 500, 578] Orientation left Gain "c6*tau" } Block { BlockType Constant Name "c7*varphi" Position [760, 589, 815, 611] Orientation left Value "c7*varphi" } Block { BlockType Gain Name "c8+tau*c9" Position [555, 597, 655, 633] Gain "c8+tau*c9" } Block { BlockType Constant Name "delta" Position [425, 258, 460, 282] Value "delta" } Block { BlockType Sum Name "dxp/dt" Ports [3, 1, 0, 0, 0] Position [810, 266, 845, 324] Inputs "+++" } Block { BlockType Scope Name "e" Ports [1, 0, 0, 0, 0] Position [535, 45, 565, 75] Floating off Location [370, 72, 694, 311] Open on Grid on TickLabels on ZoomMode on TimeRange "auto" YMin "-1 " YMax "1 " SaveToWorkspace on SaveName "e" LimitMaxRows on MaxRows "5000" Decimation "10" SampleInput off SampleTime "0" } Block { BlockType Sum Name "erro" Ports [2, 1, 0, 0, 0] Position [320, 72, 350, 103] Inputs "-+" } Block { BlockType Gain Name "kx" Position [560, 445, 590, 475] Gain "kx" } Block { BlockType Mux Name "r" Ports [2, 1, 0, 0, 0] Position [130, 27, 165, 63] Inputs "2" } Block { BlockType SignalGenerator Name "r1" Position [50, 20, 80, 50] WaveForm square Amplitude "10" Frequency "60" Units rad/sec } Block { BlockType SignalGenerator Name "r2" Position [50, 90, 80, 120] WaveForm sine Amplitude "10" Frequency "60" Units rad/sec } Block { BlockType Sum Name "rho" Ports [5, 1, 0, 0, 0] Position [500, 209, 535, 271] Inputs "+++++" } Block { BlockType Product Name "rho e/||e||" Ports [3, 1, 0, 0, 0] Position [560, 144, 590, 176] Inputs "*/*" } Block { BlockType Math Name "sqrt" Ports [1, 1, 0, 0, 0] Position [515, 445, 545, 475] Operator sqrt } Block { BlockType Reference Name "theta4_nomT" Ports [1, 1, 0, 0, 0] Position [480, 335, 510, 365] SourceBlock "simulink/Linear/Matrix\nGain" SourceType "Matrix Gain" K "theta4_nomT" } Block { BlockType Reference Name "theta_nomT" Ports [1, 1, 0, 0, 0] Position [395, 300, 425, 330] SourceBlock "simulink/Linear/Matrix\nGain" SourceType "Matrix Gain" K "theta_nomT" } Block { BlockType Scope Name "u" Ports [1, 0, 0, 0, 0] Position [130, 365, 160, 395] Orientation left Floating off Location [371, 354, 695, 593] Open on Grid on TickLabels on ZoomMode on TimeRange "auto" YMin "-300 " YMax "300 " SaveToWorkspace on SaveName "u" LimitMaxRows on MaxRows "50000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType Sum Name "unom+Sp*U" Ports [3, 1, 0, 0, 0] Position [545, 359, 575, 401] Orientation left Inputs "+++" } Block { BlockType Constant Name "varphi" Position [520, 499, 555, 521] Value "varphi" } Block { BlockType Mux Name "w" Ports [3, 1, 0, 0, 0] Position [150, 222, 185, 258] Inputs "3" } Block { BlockType StateSpace Name "w1" Position [225, 417, 285, 453] A "PHI" B "GAMMA" C "eye(2)" D "zeros(2,2)" X0 "[0; 0]" } Block { BlockType StateSpace Name "w2" Position [225, 487, 285, 523] A "PHI" B "GAMMA" C "eye(2)" D "zeros(2,2)" X0 "[0; 0]" } Block { BlockType Integrator Name "xp" Ports [1, 1, 0, 0, 0] Position [890, 280, 920, 310] ExternalReset none InitialConditionSource internal InitialCondition "[-1; 1; 2]" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" } Block { BlockType Scope Name "y" Ports [1, 0, 0, 0, 0] Position [935, 490, 965, 520] Orientation left Floating off Location [23, 355, 347, 594] Open on Grid on TickLabels on ZoomMode on TimeRange "auto" YMin "-1" YMax "1" SaveToWorkspace on SaveName "y" LimitMaxRows on MaxRows "5000" Decimation "10" SampleInput off SampleTime "0" } Block { BlockType Scope Name "ym" Ports [1, 0, 0, 0, 0] Position [320, 15, 350, 45] Floating off Location [26, 75, 350, 314] Open on Grid on TickLabels on ZoomMode on TimeRange "auto" YMin "-1" YMax "0.75" SaveToWorkspace on SaveName "ym" LimitMaxRows on MaxRows "5000" Decimation "10" SampleInput off SampleTime "0" } Block { BlockType Fcn Name "||Uav||" Position [425, 600, 485, 630] Expr "sqrt(u(1))" } Block { BlockType Reference Name "||Uav||2" Ports [2, 1, 0, 0, 0] Position [370, 597, 400, 628] SourceBlock "simulink/Linear/Dot Product" SourceType "Dot Product" } Block { BlockType Fcn Name "||e||" Position [380, 75, 440, 105] Expr "sqrt(u(1)^2+u(2)^2)" } Block { BlockType Sum Name "||phi||" Ports [2, 1, 0, 0, 0] Position [605, 452, 635, 483] Inputs "++" } Block { BlockType Fcn Name "||r||" Position [270, 150, 330, 180] Expr "sqrt(u(1))" } Block { BlockType Reference Name "||r||2" Ports [2, 1, 0, 0, 0] Position [215, 147, 245, 178] SourceBlock "simulink/Linear/Dot Product" SourceType "Dot Product" } Block { BlockType Reference Name "||w1||2" Ports [2, 1, 0, 0, 0] Position [370, 427, 400, 458] SourceBlock "simulink/Linear/Dot Product" SourceType "Dot Product" } Block { BlockType Reference Name "||w2||2" Ports [2, 1, 0, 0, 0] Position [365, 482, 395, 513] SourceBlock "simulink/Linear/Dot Product" SourceType "Dot Product" } Block { BlockType Fcn Name "||w||" Position [270, 225, 330, 255] Expr "sqrt(u(1))" } Block { BlockType Reference Name "||w||2" Ports [2, 1, 0, 0, 0] Position [220, 222, 250, 253] SourceBlock "simulink/Linear/Dot Product" SourceType "Dot Product" } Block { BlockType Sum Name "||xp||2" Ports [4, 1, 0, 0, 0] Position [460, 438, 495, 497] Inputs "--++" } Line { SrcBlock "theta4_nomT" SrcPort 1 Points [85, 0; 0, 15] DstBlock "unom+Sp*U" DstPort 1 } Line { SrcBlock "theta_nomT" SrcPort 1 Points [25, 0; 0, 10; 170, 0; 0, 55] DstBlock "unom+Sp*U" DstPort 2 } Line { SrcBlock "||Uav||2" SrcPort 1 DstBlock "||Uav||" DstPort 1 } Line { SrcBlock "average\nfilter\n-I/(tau*s+1)" SrcPort 1 Points [15, 0] Branch { Points [30, 0] Branch { Points [0, -15] DstBlock "||Uav||2" DstPort 1 } Branch { DstBlock "||Uav||2" DstPort 2 } } Branch { DstBlock "Uav" DstPort 1 } } Line { SrcBlock "||xp||2" SrcPort 1 DstBlock "sqrt" DstPort 1 } Line { SrcBlock "||w2||2" SrcPort 1 Points [15, 0; 0, -40] DstBlock "||xp||2" DstPort 2 } Line { SrcBlock "||w1||2" SrcPort 1 DstBlock "||xp||2" DstPort 1 } Line { SrcBlock "w2" SrcPort 1 Points [60, 0] Branch { DstBlock "||w2||2" DstPort 2 } Branch { Points [-20, 0; 0, -15] Branch { DstBlock "||w2||2" DstPort 1 } Branch { Points [0, -190; -200, 0; 0, -60] DstBlock "w" DstPort 2 } } } Line { SrcBlock "w1" SrcPort 1 Points [25, 0] Branch { Points [25, 0] Branch { Points [0, 15] DstBlock "||w1||2" DstPort 2 } Branch { DstBlock "||w1||2" DstPort 1 } } Branch { Points [0, -145; -195, 0; 0, -60] DstBlock "w" DstPort 1 } } Line { SrcBlock "Cp" SrcPort 1 Points [0, 210] Branch { DstBlock "y" DstPort 1 } Branch { Points [0, 180; -890, 0; 0, -180] Branch { Points [0, -255] Branch { Points [0, -110; 30, 0; 0, -45] DstBlock "erro" DstPort 2 } Branch { DstBlock "w" DstPort 3 } } Branch { DstBlock "w2" DstPort 1 } } } Line { SrcBlock "unom+Sp*U" SrcPort 1 Points [-30, 0] Branch { Points [0, 35; 175, 0; 0, -140] DstBlock "Bp" DstPort 1 } Branch { Points [-325, 0] Branch { DstBlock "u" DstPort 1 } Branch { Points [0, 55] DstBlock "w1" DstPort 1 } } } Line { SrcBlock "xp" SrcPort 1 Points [15, 0] Branch { Points [0, 80] Branch { Points [0, 60] DstBlock "Nonlinear dampers" DstPort 1 } Branch { DstBlock "Ap" DstPort 1 } } Branch { DstBlock "Cp" DstPort 1 } } Line { SrcBlock "Ap" SrcPort 1 Points [-75, 0; 0, -60] DstBlock "dxp/dt" DstPort 3 } Line { SrcBlock "Bp" SrcPort 1 DstBlock "dxp/dt" DstPort 1 } Line { SrcBlock "dxp/dt" SrcPort 1 DstBlock "xp" DstPort 1 } Line { SrcBlock "c2" SrcPort 1 Points [5, 0; 0, 65] DstBlock "rho" DstPort 2 } Line { SrcBlock "||r||2" SrcPort 1 DstBlock "||r||" DstPort 1 } Line { SrcBlock "r" SrcPort 1 Points [10, 0] Branch { Points [0, 40] Branch { Points [-55, 0; 0, 40; -35, 0; 0, 225] DstBlock "theta4_nomT" DstPort 1 } Branch { Points [0, 70] Branch { DstBlock "||r||2" DstPort 1 } Branch { Points [0, 15] DstBlock "||r||2" DstPort 2 } } } Branch { DstBlock "Modelo" DstPort 1 } } Line { SrcBlock "c1" SrcPort 1 DstBlock "rho" DstPort 3 } Line { SrcBlock "delta" SrcPort 1 Points [5, 0; 0, -20] DstBlock "rho" DstPort 4 } Line { SrcBlock "w" SrcPort 1 Points [5, 0] Branch { Points [0, 75] DstBlock "theta_nomT" DstPort 1 } Branch { Points [0, -10] DstBlock "||w||2" DstPort 1 } Branch { Points [0, 5] DstBlock "||w||2" DstPort 2 } } Line { SrcBlock "||w||2" SrcPort 1 DstBlock "||w||" DstPort 1 } Line { SrcBlock "||e||" SrcPort 1 Points [30, 0; 0, 50] Branch { Points [-50, 0] DstBlock "c3" DstPort 1 } Branch { Points [0, 20] DstBlock "rho e/||e||" DstPort 2 } } Line { SrcBlock "Modelo" SrcPort 1 Points [20, 0] Branch { Points [0, 35] DstBlock "erro" DstPort 1 } Branch { Points [0, -15] DstBlock "ym" DstPort 1 } } Line { SrcBlock "c3" SrcPort 1 Points [0, 30] DstBlock "rho" DstPort 1 } Line { SrcBlock "r1" SrcPort 1 DstBlock "r" DstPort 1 } Line { SrcBlock "r2" SrcPort 1 Points [30, 0] DstBlock "r" DstPort 2 } Line { SrcBlock "rho" SrcPort 1 Points [5, 0] DstBlock "rho e/||e||" DstPort 3 } Line { SrcBlock "erro" SrcPort 1 Points [5, 0] Branch { DstBlock "||e||" DstPort 1 } Branch { Points [0, -30; 140, 0] Branch { Points [0, 90] DstBlock "rho e/||e||" DstPort 1 } Branch { DstBlock "e" DstPort 1 } } } Line { SrcBlock "c6*tau" SrcPort 1 Points [-15, 0; 0, -85] DstBlock "||xp||2" DstPort 3 } Line { SrcBlock "1/(s+gamma_x)" SrcPort 1 Points [-40, 0; 0, -30; -70, 0] DstBlock "||xp||2" DstPort 4 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "1/(s+gamma_x)" DstPort 1 } Line { SrcBlock "c10" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "||w||" SrcPort 1 Points [30, 0] Branch { Points [-20, 0; 0, 160; 65, 0; 0, 30; 390, 0] DstBlock "c10" DstPort 1 } Branch { DstBlock "c1" DstPort 1 } } Line { SrcBlock "(c4 s + c4*gamma_phi + c5)/\n(s+gamma_phi)" SrcPort 1 Points [10, 0; 0, -60; -90, 0; 0, -110; -215, 0] DstBlock "rho" DstPort 5 } Line { SrcBlock "Nonlinear dampers" SrcPort 1 Points [-10, 0; 0, -40; -70, 0] DstBlock "M^-1" DstPort 1 } Line { SrcBlock "M^-1" SrcPort 1 Points [0, -30] DstBlock "dxp/dt" DstPort 2 } Line { SrcBlock "sqrt" SrcPort 1 DstBlock "kx" DstPort 1 } Line { SrcBlock "||phi||" SrcPort 1 DstBlock "(c4 s + c4*gamma_phi + c5)/\n(s+gamma_phi)" DstPort 1 } Line { SrcBlock "kx" SrcPort 1 DstBlock "||phi||" DstPort 1 } Line { SrcBlock "varphi" SrcPort 1 Points [30, 0] DstBlock "||phi||" DstPort 2 } Line { SrcBlock "||Uav||" SrcPort 1 Points [35, 0] Branch { DstBlock "c8+tau*c9" DstPort 1 } Branch { Points [0, -55] DstBlock "c6*tau" DstPort 1 } } Line { SrcBlock "c8+tau*c9" SrcPort 1 Points [55, 0; 0, -40] DstBlock "Sum" DstPort 4 } Line { SrcBlock "c7*varphi" SrcPort 1 Points [-25, 0; 0, -40] DstBlock "Sum" DstPort 3 } Line { SrcBlock "c11" SrcPort 1 Points [-55, 0; 0, -15] DstBlock "Sum" DstPort 2 } Line { SrcBlock "||r||" SrcPort 1 Points [5, 0] Branch { DstBlock "c2" DstPort 1 } Branch { Points "[0, 40; 15, 0; 0, 185; 70, 0; 0, 30; 385, " "0; 0, 100; 50, 0]" DstBlock "c11" DstPort 1 } } Line { SrcBlock "-Sp" SrcPort 1 Points [0, 165] DstBlock "unom+Sp*U" DstPort 3 } Line { SrcBlock "rho e/||e||" SrcPort 1 Points [70, 0] Branch { DstBlock "-Sp" DstPort 1 } Branch { Points [350, 0; 0, 540; -840, 0; 0, -80] DstBlock "average\nfilter\n-I/(tau*s+1)" DstPort 1 } } } }