Skip to content

Commit 424b7c3

Browse files
committed
test: improve coverage
1 parent fcc1333 commit 424b7c3

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

test/3_test_predictive_control.jl

+15-3
Original file line numberDiff line numberDiff line change
@@ -865,8 +865,8 @@ end
865865
Hp=50
866866

867867
linmodel = LinModel(tf([2], [10000, 1]), 3000.0)
868-
nmpc_lin = NonLinMPC(linmodel, Hp=Hp, Hc=5, gc=gc, nc=2Hp, p=[0; 0])
869-
868+
nmpc_lin = NonLinMPC(linmodel; Hp, Hc=5, gc=gc, nc=2Hp, p=[0; 0])
869+
870870
setconstraint!(nmpc_lin, x̂min=[-1e6,-Inf], x̂max=[1e6,+Inf])
871871
setconstraint!(nmpc_lin, umin=[-10], umax=[10])
872872
setconstraint!(nmpc_lin, Δumin=[-1e6], Δumax=[1e6])
@@ -935,7 +935,7 @@ end
935935
f = (x,u,_,p) -> p.A*x + p.Bu*u
936936
h = (x,_,p) -> p.C*x
937937
nonlinmodel = NonLinModel(f, h, linmodel.Ts, 1, 1, 1, solver=nothing, p=linmodel)
938-
nmpc = NonLinMPC(nonlinmodel, Hp=50, Hc=5, gc=gc, nc=2Hp, p=[0; 0])
938+
nmpc = NonLinMPC(nonlinmodel; Hp, Hc=5, gc=gc, nc=2Hp, p=[0; 0])
939939

940940
setconstraint!(nmpc, x̂min=[-1e6,-Inf], x̂max=[+1e6,+Inf])
941941
setconstraint!(nmpc, umin=[-1e6], umax=[+1e6])
@@ -1001,6 +1001,18 @@ end
10011001
info = getinfo(nmpc)
10021002
@test all(isapprox.(info[:Ŷ], 3.14; atol=1e-1))
10031003
@test all(isapprox.(info[:gc][Hp+1:end], 0.0; atol=1e-1))
1004+
1005+
nmpc_ms = NonLinMPC(nonlinmodel; Hp, Hc=5, transcription=MultipleShooting())
1006+
1007+
preparestate!(nmpc_ms, [0])
1008+
1009+
setconstraint!(nmpc_ms, x̂min=[-1e-6,-Inf], x̂max=[+1e-6,+Inf])
1010+
moveinput!(nmpc_ms, [-10])
1011+
info = getinfo(nmpc_ms)
1012+
@test info[:x̂end][1] 0 atol=1e-1
1013+
moveinput!(nmpc_ms, [10])
1014+
info = getinfo(nmpc_ms)
1015+
@test info[:x̂end][1] 0 atol=1e-1
10041016

10051017
end
10061018

0 commit comments

Comments
 (0)