Skip to content

Commit 85aceeb

Browse files
committed
Update MWEs
1 parent b982e75 commit 85aceeb

File tree

2 files changed

+27
-8
lines changed

2 files changed

+27
-8
lines changed

mwes/mwe_06.jl

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ if ! ("ControlPlots" ∈ keys(Pkg.project().dependencies))
55
using TestEnv; TestEnv.activate()
66
using Test
77
end
8-
using WinchControllers, WinchModels, KiteUtils, ControlPlots, ControlSystemsBase, FiniteDiff
8+
using WinchControllers, WinchModels, KiteUtils, ControlPlots, ControlSystemsBase, FiniteDiff, RobustAndOptimalControl
99
import FiniteDiff: finite_difference_jacobian
1010

1111
if isfile("data/system_tuned.yaml")
@@ -94,14 +94,33 @@ function open_loop_system(winch, v_set, v_wind)
9494
return C * sys
9595
end
9696

97-
for v_wind in range(7.5, 9, length=2)
97+
function margins(sys)
98+
margins = []
99+
for v_wind in range(1, 9, length=9)
100+
global sys
101+
local v_set, dm
102+
v_set = 0.57*v_wind
103+
sys = open_loop_system(winch, v_set, v_wind)
104+
dm = diskmargin(sys)
105+
push!(margins, dm.margin)
106+
end
107+
min_margin = minimum(margins)
108+
if min_margin < 0.3
109+
@error "System is unstable with a minimum margin of: $min_margin"
110+
elseif min_margin < 0.5
111+
@warn "System is marginally stable with a minimum margin of: $min_margin"
112+
else
113+
@info "System is stable with a minimum margin of: $min_margin"
114+
end
115+
return margins
116+
end
117+
margins(sys)
118+
119+
for v_wind in range(7.5, 9, length=3)
98120
global sys
99121
local v_set
100122
v_set = 0.57*v_wind
101-
# @info "Linearizing for v_wind: $v_wind m/s, v_ro: $(round(v_set, digits=2)) m/s"
102123
sys = open_loop_system(winch, v_set, v_wind)
103-
gm, pm, wgm, wpm = margin(sys; adjust_phase_start=false)
104-
@info "Gain margin: $gm, Phase margin: $pm, Gain crossover frequency: $wgm, Phase crossover frequency: $wpm"
105-
bode_plot(sys; from=0.76, to=2.85, title="Linearized System, v_wind=8..9 m/s")
124+
bode_plot(sys; from=0.76, to=2.85, title="System with UFC, v_wind=7.5..9 m/s")
106125
end
107-
sys
126+
nothing

mwes/mwe_07.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ if ! ("RobustAndOptimalControl" ∈ keys(Pkg.project().dependencies))
55
using TestEnv; TestEnv.activate()
66
using Test
77
end
8-
using WinchControllers, WinchModels, KiteUtils, Plots, ControlSystemsBase, FiniteDiff, RobustAndOptimalControl
8+
using WinchControllers, WinchModels, KiteUtils, ControlSystemsBase, FiniteDiff, RobustAndOptimalControl
99
import FiniteDiff: finite_difference_jacobian
1010

1111
if isfile("data/system_tuned.yaml")

0 commit comments

Comments
 (0)