@@ -9,48 +9,56 @@ y = model()
99mpc_im = setconstraint! (LinMPC (InternalModel (model)), ymin= [45 , - Inf ])
1010initstate! (mpc_im, model. uop, y)
1111preparestate! (mpc_im, [55 , 30 ])
12+ mpc_im. estim ()
1213u = mpc_im ([55 , 30 ])
1314sim! (mpc_im, 3 )
1415
1516mpc_kf = setconstraint! (LinMPC (KalmanFilter (model)), ymin= [45 , - Inf ])
1617initstate! (mpc_kf, model. uop, model ())
18+ preparestate! (mpc_kf, [55 , 30 ])
1719mpc_kf. estim ()
1820u = mpc_kf ([55 , 30 ])
1921sim! (mpc_kf, 3 , [55 , 30 ])
2022
2123mpc_lo = setconstraint! (LinMPC (Luenberger (model)), ymin= [45 , - Inf ])
2224initstate! (mpc_lo, model. uop, model ())
25+ preparestate! (mpc_lo, [55 , 30 ])
2326mpc_lo. estim ()
2427u = mpc_lo ([55 , 30 ])
2528sim! (mpc_lo, 3 , [55 , 30 ])
2629
2730mpc_ukf = setconstraint! (LinMPC (UnscentedKalmanFilter (model)), ymin= [45 , - Inf ])
2831initstate! (mpc_ukf, model. uop, model ())
32+ preparestate! (mpc_ukf, [55 , 30 ])
2933mpc_ukf. estim ()
3034u = mpc_ukf ([55 , 3 ])
3135sim! (mpc_ukf, 3 , [55 , 30 ])
3236
3337mpc_ekf = setconstraint! (LinMPC (ExtendedKalmanFilter (model)), ymin= [45 , - Inf ])
3438initstate! (mpc_ekf, model. uop, model ())
39+ preparestate! (mpc_ekf, [55 , 30 ])
3540mpc_ekf. estim ()
3641u = mpc_ekf ([55 , 30 ])
3742sim! (mpc_ekf, 3 , [55 , 30 ])
3843
3944mpc_skf = setconstraint! (LinMPC (SteadyKalmanFilter (model)), ymin= [45 , - Inf ])
4045initstate! (mpc_skf, model. uop, model ())
46+ preparestate! (mpc_skf, [55 , 30 ])
4147mpc_skf. estim ()
4248u = mpc_skf ([55 , 30 ])
4349sim! (mpc_skf, 3 , [55 , 30 ])
4450
4551mpc_mhe = setconstraint! (LinMPC (MovingHorizonEstimator (model, He= 2 )), ymin= [45 , - Inf ])
4652setconstraint! (mpc_mhe. estim, x̂min= [- 50 ,- 50 ,- 50 ,- 50 ], x̂max= [50 ,50 ,50 ,50 ])
4753initstate! (mpc_mhe, model. uop, model ())
54+ preparestate! (mpc_mhe, [55 , 30 ])
4855mpc_mhe. estim ()
4956u = mpc_mhe ([55 , 30 ])
5057sim! (mpc_mhe, 3 , [55 , 30 ])
5158
5259nmpc_skf = setconstraint! (NonLinMPC (SteadyKalmanFilter (model), Cwt= Inf ), ymin= [45 , - Inf ])
5360initstate! (nmpc_skf, model. uop, model ())
61+ preparestate! (nmpc_skf, [55 , 30 ])
5462nmpc_skf. estim ()
5563u = nmpc_skf ([55 , 30 ])
5664sim! (nmpc_skf, 3 , [55 , 30 ])
@@ -61,6 +69,7 @@ res_man = SimResult(model, res.U_data, res.Y_data; X_data=res.X_data)
6169
6270exmpc = ExplicitMPC (model)
6371initstate! (exmpc, model. uop, model ())
72+ preparestate! (exmpc, [55 , 30 ])
6473exmpc. estim ()
6574u = exmpc ([55 , 30 ])
6675sim! (exmpc, 3 , [55 , 30 ])
@@ -73,22 +82,26 @@ y = nlmodel()
7382nmpc_im = setconstraint! (NonLinMPC (InternalModel (nlmodel), Hp= 10 , Cwt= Inf ), ymin= [45 , - Inf ])
7483initstate! (nmpc_im, nlmodel. uop, y)
7584preparestate! (nmpc_im, [55 , 30 ])
85+ nmpc_im. estim ()
7686u = nmpc_im ([55 , 30 ])
7787sim! (nmpc_im, 3 , [55 , 30 ])
7888
7989nmpc_ukf = setconstraint! (NonLinMPC (UnscentedKalmanFilter (nlmodel), Hp= 10 , Cwt= 1e3 ), ymin= [45 , - Inf ])
8090initstate! (nmpc_ukf, nlmodel. uop, y)
91+ preparestate! (nmpc_ukf, [55 , 30 ])
8192u = nmpc_ukf ([55 , 30 ])
8293sim! (nmpc_ukf, 3 , [55 , 30 ])
8394
8495nmpc_ekf = setconstraint! (NonLinMPC (ExtendedKalmanFilter (model), Cwt= Inf ), ymin= [45 , - Inf ])
8596initstate! (nmpc_ekf, model. uop, model ())
97+ preparestate! (nmpc_ekf, [55 , 30 ])
8698u = nmpc_ekf ([55 , 30 ])
8799sim! (nmpc_ekf, 3 , [55 , 30 ])
88100
89101nmpc_mhe = setconstraint! (NonLinMPC (MovingHorizonEstimator (nlmodel, He= 2 ), Hp= 10 , Cwt= Inf ), ymin= [45 , - Inf ])
90102setconstraint! (nmpc_mhe. estim, x̂min= [- 50 ,- 50 ,- 50 ,- 50 ], x̂max= [50 ,50 ,50 ,50 ])
91103initstate! (nmpc_mhe, nlmodel. uop, y)
104+ preparestate! (nmpc_mhe, [55 , 30 ])
92105u = nmpc_mhe ([55 , 30 ])
93106sim! (nmpc_mhe, 3 , [55 , 30 ])
94107
@@ -98,5 +111,6 @@ function JE( _ , ŶE, _ )
98111 return dot (Eŷ, I, Eŷ)
99112end
100113empc = setconstraint! (NonLinMPC (nlmodel, Mwt= [0 , 0 ], Hp= 10 , Cwt= Inf , Ewt= 1 , JE= JE), ymin= [45 , - Inf ])
114+ preparestate! (empc, [55 , 30 ])
101115u = empc ()
102116sim! (empc, 3 )
0 commit comments