Skip to content

Commit dcfe243

Browse files
committed
Refactoring
1 parent 44b90cb commit dcfe243

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

mwes/mwe_05.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,14 @@ function linearize(winch, v_set, v_wind)
7272
B = finite_difference_jacobian(u -> system_dynamics(x0, u), u0)
7373
C = [1.0]
7474
D = [0.0 0.0]
75-
siso_sys = ss(A, B[:, 1], C, D[:, 1])
75+
force = calc_force(v_wind, v_act)
76+
siso_sys = ss(A, B[:, 1], C, D[:, 1]) * force/v_act
7677
end
7778

7879
for v_wind in range(1, 9, length=9)
7980
local v_set, sys_new
8081
v_set = 0.57*v_wind
8182
@info "Linearizing for v_wind: $v_wind m/s, v_ro: $(round(v_set, digits=2)) m/s"
82-
sys_new = linearize(winch, v_set, v_wind)
83-
bode_plot(sys_new; from=0.76, to=2.85, title="Linearized System, v_wind=1..9 m/s")
83+
sys = linearize(winch, v_set, v_wind)
84+
bode_plot(sys; from=0.76, to=2.85, title="Linearized System, v_wind=1..9 m/s")
8485
end

mwes/mwe_06.jl

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ function linearize(winch, v_set, v_wind)
8282
B = finite_difference_jacobian(u -> system_dynamics(x0, u), u0)
8383
C = [1.0]
8484
D = [0.0 0.0]
85-
siso_sys = ss(A, B[:, 1], C, D[:, 1])
85+
force = calc_force(v_wind, v_act)
86+
siso_sys = ss(A, B[:, 1], C, D[:, 1]) * force/v_act
8687
end
8788

8889
function open_loop_system(winch, v_set, v_wind)
@@ -93,10 +94,14 @@ function open_loop_system(winch, v_set, v_wind)
9394
return C * sys
9495
end
9596

96-
for v_wind in range(1, 9, length=9)
97-
local v_set, sys
97+
for v_wind in range(7.5, 9, length=2)
98+
global sys
99+
local v_set
98100
v_set = 0.57*v_wind
99-
@info "Linearizing for v_wind: $v_wind m/s, v_ro: $(round(v_set, digits=2)) m/s"
101+
# @info "Linearizing for v_wind: $v_wind m/s, v_ro: $(round(v_set, digits=2)) m/s"
100102
sys = open_loop_system(winch, v_set, v_wind)
101-
bode_plot(sys; from=0.76, to=2.85, title="Linearized System, v_wind=1..9 m/s")
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")
102106
end
107+
sys

0 commit comments

Comments
 (0)