📄 ipd_control.mdl
字号:
Block {
BlockType Goto
Name "a{1}"
Position [380, 40, 400, 60]
GotoTag "feedback1"
TagVisibility "local"
MaskDisplay "plot(cos(0:.1:2*pi),sin(0:.1:2*pi))"
MaskIconFrame off
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
}
Block {
BlockType Outport
Name "y{1}"
Position [380, 120, 400, 140]
BackgroundColor "magenta"
Port "1"
OutputWhenDisabled "held"
InitialOutput "0"
}
Line {
SrcBlock "Layer 2"
SrcPort 1
DstBlock "y{1}"
DstPort 1
}
Line {
SrcBlock " a{1} "
SrcPort 1
DstBlock "Layer 2"
DstPort 1
}
Line {
SrcBlock "Layer 1"
SrcPort 1
DstBlock "a{1}"
DstPort 1
}
Line {
SrcBlock "p{1}"
SrcPort 1
DstBlock "Layer 1"
DstPort 1
}
}
}
Block {
BlockType Saturate
Name "Saturation"
Position [185, 25, 215, 55]
UpperLimit "pi/2"
LowerLimit "-pi/2"
LinearizeAsGain on
}
Block {
BlockType Saturate
Name "Saturation1"
Position [185, 85, 215, 115]
UpperLimit "pi/4"
LowerLimit "-pi/4"
LinearizeAsGain on
}
Block {
BlockType Outport
Name "Out1"
Position [410, 43, 440, 57]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "Neural Network"
DstPort 1
}
Line {
SrcBlock "e"
SrcPort 1
DstBlock "Gain2"
DstPort 1
}
Line {
SrcBlock "Neural Network"
SrcPort 1
DstBlock "Gain3"
DstPort 1
}
Line {
SrcBlock "de"
SrcPort 1
DstBlock "Gain1"
DstPort 1
}
Line {
SrcBlock "Saturation"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "Saturation1"
SrcPort 1
Points [5, 0]
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Gain2"
SrcPort 1
DstBlock "Saturation"
DstPort 1
}
Line {
SrcBlock "Gain1"
SrcPort 1
DstBlock "Saturation1"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
}
}
Block {
BlockType RandomNumber
Name "Random\nNumber"
Position [20, 120, 50, 150]
Mean "0"
Variance "1"
Seed "0"
SampleTime "0"
VectorParams1D on
}
Block {
BlockType Scope
Name "Scope"
Ports [1]
Position [490, 24, 515, 56]
Floating off
Location [7, 64, 236, 236]
Open on
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
Grid "on"
TimeRange "6"
YMin "-40"
YMax "40"
SaveToWorkspace off
SaveName "ScopeData"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "50000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Scope
Name "Scope1"
Ports [1]
Position [480, 119, 510, 151]
Floating off
Location [6, 278, 235, 450]
Open on
NumInputPorts "1"
TickLabels "OneTimeTick"
ZoomMode "on"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
}
Grid "on"
TimeRange "6"
YMin "-100"
YMax "50"
SaveToWorkspace off
SaveName "ScopeData1"
DataFormat "StructureWithTime"
LimitDataPoints on
MaxDataPoints "50000"
Decimation "1"
SampleInput off
SampleTime "0"
}
Block {
BlockType Step
Name "Step"
Position [15, 25, 45, 55]
Time "0"
Before "0"
After "0"
SampleTime "0"
VectorParams1D on
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [75, 30, 95, 50]
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [340, 25, 360, 45]
ShowName off
IconShape "round"
Inputs "|+-"
SaturateOnIntegerOverflow on
}
Block {
BlockType ToWorkspace
Name "To Workspace"
Position [475, 75, 495, 95]
VariableName "y"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ToWorkspace
Name "To Workspace1"
Position [475, 170, 495, 190]
VariableName "dy"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType ToWorkspace
Name "To Workspace2"
Position [335, 140, 360, 170]
VariableName "t"
MaxDataPoints "inf"
Decimation "1"
SampleTime "-1"
SaveFormat "Array"
}
Block {
BlockType Outport
Name "Out1"
Position [135, 13, 165, 27]
Port "1"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out2"
Position [70, 98, 100, 112]
Port "2"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out3"
Position [395, 78, 425, 92]
Orientation "left"
Port "3"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Outport
Name "Out4"
Position [400, 173, 430, 187]
Orientation "left"
Port "4"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Line {
SrcBlock "Gain"
SrcPort 1
Points [0, 10]
Branch {
Points [0, 35]
Branch {
DstBlock "To Workspace"
DstPort 1
}
Branch {
DstBlock "Out3"
DstPort 1
}
}
Branch {
DstBlock "Mux"
DstPort 2
}
}
Line {
SrcBlock "Clock"
SrcPort 1
DstBlock "To Workspace2"
DstPort 1
}
Line {
SrcBlock "Step"
SrcPort 1
Points [5, 0]
Branch {
DstBlock "Sum"
DstPort 1
}
Branch {
Points [0, 65]
Branch {
DstBlock "Out2"
DstPort 1
}
Branch {
Points [0, 10; 400, 0]
DstBlock "Mux"
DstPort 1
}
}
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [0, 0]
Branch {
DstBlock "Derivative"
DstPort 1
}
Branch {
Points [15, 0; 0, -5; 5, 0]
Branch {
DstBlock "Neural Subsystem"
DstPort 1
}
Branch {
DstBlock "Out1"
DstPort 1
}
}
}
Line {
SrcBlock "Derivative"
SrcPort 1
Points [5, 0]
DstBlock "Neural Subsystem"
DstPort 2
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [0, 0]
Branch {
DstBlock "Scope1"
DstPort 1
}
Branch {
Points [0, 45]
Branch {
DstBlock "To Workspace1"
DstPort 1
}
Branch {
DstBlock "Out4"
DstPort 1
}
}
}
Line {
SrcBlock "Inverted Pendulum\nSubsystem"
SrcPort 2
Points [55, 0]
DstBlock "Gain1"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
DstBlock "Gain2"
DstPort 1
}
Line {
SrcBlock "Gain2"
SrcPort 1
Points [70, 0; 0, -150]
DstBlock "Inverted Pendulum\nSubsystem"
DstPort 2
}
Line {
SrcBlock "Constant1"
SrcPort 1
DstBlock "Gain3"
DstPort 1
}
Line {
SrcBlock "Gain3"
SrcPort 1
Points [75, 0; 0, -185]
DstBlock "Inverted Pendulum\nSubsystem"
DstPort 3
}
Line {
SrcBlock "Neural Subsystem"
SrcPort 1
Points [10, 0; 0, -20]
DstBlock "Inverted Pendulum\nSubsystem"
DstPort 1
}
Line {
SrcBlock "Inverted Pendulum\nSubsystem"
SrcPort 1
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Sum1"
SrcPort 1
Points [5, 0]
Branch {
Points [5, 0]
DstBlock "Gain"
DstPort 1
}
Branch {
Points [0, 70; -285, 0]
DstBlock "Sum"
DstPort 2
}
}
Line {
SrcBlock "Random\nNumber"
SrcPort 1
DstBlock "Gain4"
DstPort 1
}
Line {
SrcBlock "Gain4"
SrcPort 1
Points [205, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Mux"
SrcPort 1
Points [-10, 0]
DstBlock "Scope"
DstPort 1
}
Annotation {
Position [343, 234]
Text "IPd_control.mdl\nPenChen Chou, July 30, 2001\nI"
"nit_P is from -10 to 10.\nInit_V is from -40 to 40.\nA Neural control system"
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -