1+ Ts = 4.0
2+ sys = [ tf (1.90 ,[18.0 ,1 ]) tf (1.90 ,[18.0 ,1 ]) tf (1.90 ,[18.0 ,1 ]);
3+ tf (- 0.74 ,[8.0 ,1 ]) tf (0.74 ,[8.0 ,1 ]) tf (- 0.74 ,[8.0 ,1 ]) ]
4+
5+ @testset " SimModel quick simulation" begin
6+ model = LinModel (sys, Ts, i_d= [3 ])
7+ res = sim! (model, 15 )
8+ @test isa (res. obj, LinModel)
9+ @test length (res. T_data) == 15
10+ @test res. U_data[:, 1 ] ≈ model. uop .+ 1
11+ @test res. D_data[:, 1 ] ≈ model. dop
12+ @test res. X_data[:, 1 ] ≈ zeros (model. nx)
13+ end
14+
15+ @testset " StateEstimator quick simulation" begin
16+ estim = SteadyKalmanFilter (LinModel (sys, Ts, i_d= [3 ]))
17+ res = sim! (estim, 15 )
18+ @test isa (res. obj, SteadyKalmanFilter)
19+ @test length (res. T_data) == 15
20+ @test res. U_data[:, 1 ] ≈ estim. model. uop .+ 1
21+ @test res. Ud_data[:, 1 ] ≈ estim. model. uop .+ 1
22+ @test res. D_data[:, 1 ] ≈ estim. model. dop
23+ @test res. X_data[:, 1 ] ≈ zeros (estim. model. nx)
24+ @test res. X̂_data[:, 1 ] ≈ zeros (estim. nx̂)
25+ end
26+
27+ @testset " PredictiveController quick simulation" begin
28+ mpc = LinMPC (LinModel (sys, Ts, i_d= [3 ]))
29+ res = sim! (mpc, 15 )
30+ @test isa (res. obj, LinMPC)
31+ @test length (res. T_data) == 15
32+ @test res. Ry_data[:, 1 ] ≈ mpc. estim. model. yop .+ 1
33+ @test res. Ud_data ≈ res. U_data
34+ @test res. D_data[:, 1 ] ≈ mpc. estim. model. dop
35+ @test res. X_data[:, 1 ] ≈ zeros (mpc. estim. model. nx)
36+ @test res. X̂_data[:, 1 ] ≈ zeros (mpc. estim. nx̂)
37+ end
0 commit comments