📄 rotary double inverted pendulum;sim mechanics model.m
字号:
SubClassName "unknown"
PortType "blob"
}
Block {
BlockType "S-Function"
FunctionName "system"
PortCounts "[]"
SFunctionModules "''"
}
Block {
BlockType SubSystem
ShowPortLabels on
Permissions "ReadWrite"
PermitHierarchicalResolution "All"
SystemSampleTime "-1"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
SimViewingDevice off
DataTypeOverride "UseLocalSettings"
MinMaxOverflowLogging "UseLocalSettings"
}
Block {
BlockType Sum
IconShape "rectangular"
Inputs "++"
InputSameDT on
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Terminator
}
Block {
BlockType ToWorkspace
VariableName "simulink_output"
MaxDataPoints "1000"
Decimation "1"
SampleTime "0"
FixptAsFi off
}
}
AnnotationDefaults {
HorizontalAlignment "center"
VerticalAlignment "middle"
ForegroundColor "black"
BackgroundColor "white"
DropShadow off
FontName "Helvetica"
FontSize 10
FontWeight "normal"
FontAngle "normal"
}
LineDefaults {
FontName "Helvetica"
FontSize 9
FontWeight "normal"
FontAngle "normal"
}
System {
Name "lemmec"
Location [2, 74, 774, 556]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
ReportName "simulink-default.rpt"
Block {
BlockType Sum
Name "Add"
Ports [3, 1]
Position [160, 284, 190, 426]
Orientation "left"
Inputs "--+"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Clock
Name "Clock"
Position [520, 325, 540, 345]
Decimation "10"
}
Block {
BlockType SubSystem
Name "Furuta Pendulum SYstem"
Ports [1, 6]
Position [135, 73, 345, 232]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
System {
Name "Furuta Pendulum SYstem"
Location [2, 74, 774, 540]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "Torque Input"
Position [105, 308, 135, 322]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Sum
Name "Add1"
Ports [2, 1]
Position [210, 322, 240, 353]
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "Body"
Ports [0, 0, 0, 0, 0, 1, 1]
Position [495, 195, 555, 235]
SourceBlock "mblibv1/Bodies/Body"
SourceType "msb"
PhysicalDomain "mechanical"
SubClassName "Unknown"
LeftPortType "workingframe"
RightPortType "workingframe"
LConnTagsString "CS1"
RConnTagsString "CS2"
ClassName "Body"
DialogClass "MechanicalBodyBlock"
Mass ".278"
MassUnits "kg"
InertiaUnits "kg*m^2"
Inertia "[.278*(.2^2)/12 0 0;0 .278*(.2^2)/12 0;0 0 "
".278*(.001^2)/2]"
Shape "Cylinder"
ShapeDims "[1 1]"
ShapeUnits "m"
ShapeUse "false"
Density "1"
DensityUnits "kg/m^3"
DensityUse "false"
CG "Left$CG$[0 0 .1]$WORLD$WORLD$m$[0 0 0]$Eule"
"r X-Y-Z$deg$WORLD$false"
WorkingFrames "Left$CS1$[0 0 0]$WORLD$WORLD$m$[0 0 0]$Eule"
"r X-Y-Z$deg$WORLD$true#Right$CS2$[0 0 .2]$WORLD$WORLD$m$[0 0 0]$Euler X-Y-Z$d"
"eg$WORLD$true"
}
Block {
BlockType Reference
Name "Body1"
Ports [0, 0, 0, 0, 0, 1, 1]
Position [675, 80, 735, 120]
SourceBlock "mblibv1/Bodies/Body"
SourceType "msb"
PhysicalDomain "mechanical"
SubClassName "Unknown"
LeftPortType "workingframe"
RightPortType "workingframe"
LConnTagsString "CS1"
RConnTagsString "CS2"
ClassName "Body"
DialogClass "MechanicalBodyBlock"
Mass ".128"
MassUnits "kg"
InertiaUnits "kg*m^2"
Inertia "[.128*(.35^2)/12 0 0;0 .128*(.001^2)/2 0;0 "
"0 .128*(.35^2)/12]"
Shape "Cylinder"
ShapeDims "[1 1]"
ShapeUnits "m"
ShapeUse "false"
Density "1"
DensityUnits "kg/m^3"
DensityUse "false"
CG "Left$CG$[0 .35/2 .2]$WORLD$WORLD$m$[0 0 0]$"
"Euler X-Y-Z$deg$WORLD$false"
WorkingFrames "Left$CS1$[0 0 .2]$WORLD$WORLD$m$[0 0 0]$Eul"
"er X-Y-Z$deg$WORLD$true#Right$CS2$[0 0.35 .2]$WORLD$WORLD$m$[0 0 0]$Euler X-Y"
"-Z$deg$WORLD$true"
}
Block {
BlockType Reference
Name "Body2"
Ports [0, 0, 0, 0, 0, 1]
Position [860, 125, 920, 165]
SourceBlock "mblibv1/Bodies/Body"
SourceType "msb"
PhysicalDomain "mechanical"
SubClassName "Unknown"
LeftPortType "workingframe"
RightPortType "workingframe"
LConnTagsString "CS1"
ClassName "Body"
DialogClass "MechanicalBodyBlock"
Mass ".128"
MassUnits "kg"
InertiaUnits "kg*m^2"
Inertia "[.128*(.35^2)/12 0 0;0 .128*(.001^2)/2 0;0 "
"0 .128*(.35^2)/12]"
Shape "Cylinder"
ShapeDims "[1 1]"
ShapeUnits "m"
ShapeUse "false"
Density "1"
DensityUnits "kg/m^3"
DensityUse "false"
CG "Left$CG$[0 .35+.35/2 .2]$WORLD$WORLD$m$[0 0"
" 0]$Euler X-Y-Z$deg$WORLD$false"
WorkingFrames "Left$CS1$[0 .35 .2]$WORLD$WORLD$m$[0 0 0]$E"
"uler X-Y-Z$deg$WORLD$true#Right$CS2$[0 0.7 .2]$WORLD$WORLD$m$[0 0 0]$Euler X-"
"Y-Z$deg$WORLD$false"
}
Block {
BlockType Gain
Name "Gain"
Position [460, 120, 490, 150]
Gain ".01"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain1"
Position [210, 435, 240, 465]
Orientation "left"
Gain "-4e-3"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Gain
Name "Gain2"
Position [465, 325, 495, 355]
Gain ".01"
ParameterDataTypeMode "Inherit via internal rule"
OutDataTypeMode "Inherit via internal rule"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "Ground"
Ports [0, 0, 0, 0, 0, 1, 1]
Position [335, 215, 375, 255]
UserDataPersistent on
UserData "DataTag0"
SourceBlock "mblibv1/Bodies/Ground"
SourceType "msb"
ShowPortLabels on
Opaque on
LeftPortType "env"
RightPortType "workingframe"
PhysicalDomain "Mechanical"
DialogClass "GroundBlock"
ClassName "Ground"
CoordPosition "[0 0 0]"
CoordPositionUnits "m"
StateVectorMgrId "-1"
MachineId "[1 0]"
ShowEnvPort on
}
Block {
BlockType Reference
Name "Joint Actuator"
Ports [1, 0, 0, 0, 0, 0, 1]
Position [565, 120, 605, 160]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Actuato"
"r"
SourceType "msb"
ShowPortLabels on
Opaque on
PhysicalDomain "Mechanical"
PortType "blob"
ActuationStyle "Force"
AngleUnits "deg"
ArcVelocityUnits "deg/s"
ArcAccelerationUnits "deg/s^2"
CoordPositionUnits "m"
VelocityUnits "m/s"
AccelerationUnits "m/s^2"
ForceUnits "N"
TorqueUnits "N-m"
ActiveIO "on"
Width "1"
ClassName "JointActuator"
DialogClass "MechanicalActuatorBlock"
Primitive "R1"
ReferenceFrame "Absolute (INERTIAL)"
}
Block {
BlockType Reference
Name "Joint Actuator1"
Ports [1, 0, 0, 0, 0, 0, 1]
Position [285, 320, 325, 360]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Actuato"
"r"
SourceType "msb"
ShowPortLabels on
Opaque on
PhysicalDomain "Mechanical"
PortType "blob"
ActuationStyle "Force"
AngleUnits "deg"
ArcVelocityUnits "deg/s"
ArcAccelerationUnits "deg/s^2"
CoordPositionUnits "m"
VelocityUnits "m/s"
AccelerationUnits "m/s^2"
ForceUnits "N"
TorqueUnits "N-m"
ActiveIO "on"
Width "1"
ClassName "JointActuator"
DialogClass "MechanicalActuatorBlock"
Primitive "R1"
ReferenceFrame "Absolute (INERTIAL)"
}
Block {
BlockType Reference
Name "Joint Actuator2"
Ports [1, 0, 0, 0, 0, 0, 1]
Position [570, 325, 610, 365]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Actuato"
"r"
SourceType "msb"
ShowPortLabels on
Opaque on
PhysicalDomain "Mechanical"
PortType "blob"
ActuationStyle "Force"
AngleUnits "deg"
ArcVelocityUnits "deg/s"
ArcAccelerationUnits "deg/s^2"
CoordPositionUnits "m"
VelocityUnits "m/s"
AccelerationUnits "m/s^2"
ForceUnits "N"
TorqueUnits "N-m"
ActiveIO "on"
Width "1"
ClassName "JointActuator"
DialogClass "MechanicalActuatorBlock"
Primitive "R1"
ReferenceFrame "Absolute (INERTIAL)"
}
Block {
BlockType Reference
Name "Joint Initial Condition"
Ports [0, 0, 0, 0, 0, 0, 1]
Position [490, 260, 530, 300]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Initial"
" Condition"
SourceType "msb"
ShowPortLabels on
Opaque on
PhysicalDomain "Mechanical"
ClassName "InitialCondition"
DialogClass "InitialConditionBlock"
InitialConditions "P1$false$0$m$rad$0$m/s$rad/s#P2$false$0$m$r"
"ad$0$m/s$rad/s#P3$false$0$m$rad$0$m/s$rad/s#R1$true$1$m$deg$0$m/s$deg/s#R2$fa"
"lse$0$m$rad$0$m/s$rad/s#R3$false$0$m$rad$0$m/s$rad/s#S$false$0$m$rad$0$m/s$ra"
"d/s"
}
Block {
BlockType Reference
Name "Joint Initial Condition1"
Ports [0, 0, 0, 0, 0, 0, 1]
Position [680, 145, 720, 185]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Initial"
" Condition"
SourceType "msb"
ShowPortLabels on
Opaque on
PhysicalDomain "Mechanical"
ClassName "InitialCondition"
DialogClass "InitialConditionBlock"
InitialConditions "P1$false$0$m$rad$0$m/s$rad/s#P2$false$0$m$r"
"ad$0$m/s$rad/s#P3$false$0$m$rad$0$m/s$rad/s#R1$true$2$m$deg$0$m/s$deg/s#R2$fa"
"lse$0$m$rad$0$m/s$rad/s#R3$false$0$m$rad$0$m/s$rad/s#S$false$0$m$rad$0$m/s$ra"
"d/s"
}
Block {
BlockType Reference
Name "Joint Sensor"
Ports [0, 2, 0, 0, 0, 1]
Position [665, 300, 705, 340]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Sensor"
SourceType "msb"
ShowPortLabels on
Opaque on
PhysicalDomain "Mechanical"
PortType "blob"
Muxed "off"
Pose "off"
Angle "on"
AngleUnits "rad"
ArcVelocity "on"
ArcVelocityUnits "rad/s"
ArcAcceleration "off"
ArcAccelerationUnits "rad/s^2"
CoordPosition "on"
CoordPositionUnits "m"
Velocity "off"
VelocityUnits "m/s"
Acceleration "off"
AccelerationUnits "m/s^2"
Quaternion "on"
QuaternionDT "off"
QuaternionDDT "off"
QuaternionUnits "off"
OutputVector "[ 1 1 ]"
ActiveIO "on"
Width "2"
ClassName "JointSensor"
DialogClass "MechanicalSensorBlock"
Primitive "R1"
Force "off"
ForceUnits "N"
Torque "off"
TorqueUnits "N-m"
ReferenceFrame "Absolute (INERTIAL)"
ReactionSensedSide "Base"
ReactionReferenceFrame "Absolute (World)"
ReactionForce "off"
ReactionForceUnits "N"
ReactionMoment "off"
ReactionMomentUnits "N-m"
}
Block {
BlockType Reference
Name "Joint Sensor1"
Ports [0, 2, 0, 0, 0, 1]
Position [370, 390, 410, 430]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Sensor"
SourceType "msb"
ShowPortLabels on
Opaque on
PhysicalDomain "Mechanical"
PortType "blob"
Muxed "off"
Pose "off"
Angle "on"
AngleUnits "rad"
ArcVelocity "on"
ArcVelocityUnits "rad/s"
ArcAcceleration "off"
ArcAccelerationUnits "deg/s^2"
CoordPosition "on"
CoordPositionUnits "m"
Velocity "off"
VelocityUnits "m/s"
Acceleration "off"
AccelerationUnits "m/s^2"
Quaternion "on"
QuaternionDT "off"
QuaternionDDT "off"
QuaternionUnits "off"
OutputVector "[ 1 1 ]"
ActiveIO "on"
Width "2"
ClassName "JointSensor"
DialogClass "MechanicalSensorBlock"
Primitive "R1"
Force "off"
ForceUnits "N"
Torque "off"
TorqueUnits "N-m"
ReferenceFrame "Absolute (INERTIAL)"
ReactionSensedSide "Base"
ReactionReferenceFrame "Absolute (World)"
ReactionForce "off"
ReactionForceUnits "N"
ReactionMoment "off"
ReactionMomentUnits "N-m"
}
Block {
BlockType Reference
Name "Joint Sensor2"
Ports [0, 2, 0, 0, 0, 1]
Position [835, 190, 875, 230]
SourceBlock "mblibv1/Sensors & \nActuators/Joint Sensor"
SourceType "msb"
ShowPortLabels on
Opaque on
PhysicalDomain "Mechanical"
PortType "blob"
Muxed "off"
Pose "off"
Angle "on"
AngleUnits "rad"
ArcVelocity "on"
ArcVelocityUnits "rad/s"
ArcAcceleration "off"
ArcAccelerationUnits "rad/s^2"
CoordPosition "on"
CoordPositionUnits "m"
Velocity "off"
VelocityUnits "m/s"
Acceleration "off"
AccelerationUnits "m/s^2"
Quaternion "on"
QuaternionDT "off"
QuaternionDDT "off"
QuaternionUnits "off"
OutputVector "[ 1 1 ]"
ActiveIO "on"
Width "2"
ClassName "JointSensor"
DialogClass "MechanicalSensorBlock"
Primitive "R1"
Force "off"
ForceUnits "N"
Torque "off"
TorqueUnits "N-m"
ReferenceFrame "Absolute (INERTIAL)"
ReactionSensedSide "Base"
ReactionReferenceFrame "Absolute (World)"
ReactionForce "off"
ReactionForceUnits "N"
ReactionMoment "off"
ReactionMomentUnits "N-m"
}
Block {
BlockType Reference
Name "Machine\nEnvironment"
Tag "Factory ground"
Ports [0, 0, 0, 0, 0, 0, 1]
Position [250, 225, 290, 245]
DialogController "MECH.DialogSource"
SourceBlock "mblibv1/Bodies/Machine\nEnvironment"
SourceType "Mechanical"
ShowPortLabels on
Opaque on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -