1 | // settings for pmsm_estim.cpp |
---|
2 | |
---|
3 | experiment={ |
---|
4 | Ndat = 120000; |
---|
5 | // Ndat = 100000; |
---|
6 | // Ndat = 50000; |
---|
7 | }; |
---|
8 | |
---|
9 | system= { |
---|
10 | class= "pmsmDSctrl"; |
---|
11 | params = "pmsm107@./cfg/zcu.cfg"; |
---|
12 | tstep = 1; // steps for profile in [s] |
---|
13 | // profileW = [0, 10, 0, 2 ]; |
---|
14 | // profileW = [0, 500, 1000, 1500, 2000, 2500, 3000 ]; |
---|
15 | // profileW = [0, -10, 30, 60, 90, 60, 30, 0, -30, -60, -30]; |
---|
16 | profileW = [0, -1, 3, 6, 9, 6, 3, 0, 0, 0, 0, 0,0,-3, -6, -3]; |
---|
17 | // profileW = [1, 10, 50, 200, 200, 30, 0, 0, -30, -30, -100, -100, -40, 0, 0]; |
---|
18 | // profileW = [1, 10, 50, 200, 200, 30, 1, 1, -1, -10, -50, -200, -200, -30, 0]; |
---|
19 | // profileW = [250, 500, 750, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000, 3000]; |
---|
20 | // profileM = [0, 30, 0, 0, 30, 0, 0, 0, 0, 0, 10, 0, 0]; |
---|
21 | profileM = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; |
---|
22 | }; |
---|
23 | |
---|
24 | UD = {class="EKF_UD"; |
---|
25 | IM = {class="IMpmsmStat"; |
---|
26 | params = "pmsm107@./cfg/zcu.cfg"; |
---|
27 | }; |
---|
28 | OM = {class="OMpmsm";}; |
---|
29 | // dQ=[0.1, 0.1, 0.1, 0.001]; ///??????????????? |
---|
30 | // dQ=[0.1, 0.1, 10.01, 10.01]; |
---|
31 | dQ=[0.1, 0.1, 0.1, 0.01]; |
---|
32 | dR=[0.05, 0.05]; |
---|
33 | //connect |
---|
34 | log_level="logmean,logU,logD,logC"; |
---|
35 | name = "Est0"; |
---|
36 | }; |
---|
37 | |
---|
38 | OT= {class="EKFfull"; |
---|
39 | IM = {class="IMpmsmOT"; |
---|
40 | params = "pmsm107@./cfg/zcu.cfg"; |
---|
41 | }; |
---|
42 | name = "ekf"; |
---|
43 | OM = {class="OMpmsmOT"; |
---|
44 | params = "pmsm107@./cfg/zcu.cfg"; |
---|
45 | }; |
---|
46 | dQ=[0.1, 0.01]; ///////// <====== OK |
---|
47 | dR=[0.5, 0.5]; |
---|
48 | dP0=[0.1, 0.1]; |
---|
49 | //connect |
---|
50 | log_level="logmean,logevidence,logbounds"; |
---|
51 | }; |
---|
52 | |
---|
53 | PF= {class = "PF";name="pf"; |
---|
54 | particle = {class ="BootstrapParticle"; |
---|
55 | parameter_pdf = {class="mgnorm<ldmat>"; |
---|
56 | g={class="IMpmsmOT"; |
---|
57 | params = "pmsm107@./cfg/zcu.cfg"; |
---|
58 | }; |
---|
59 | dR=[0.001,0.0001]; |
---|
60 | rv ={class="RV";names=("om","th");}; |
---|
61 | rvc ={class="RV";names=("om","th","o_ua","o_ub","o_ia","o_ib");times=[-1,-1,0,0,-1,-1];}; |
---|
62 | }; |
---|
63 | observation_pdf= {class="mgnorm<ldmat>"; |
---|
64 | g={class="OMpmsmOT"; |
---|
65 | params = "pmsm107@./cfg/zcu.cfg"; |
---|
66 | }; |
---|
67 | dR=[0.5,0.5]; |
---|
68 | rv ={class="RV";names=("o_ia","o_ib");}; |
---|
69 | rvc = {class="RV";names=("om","th","o_ua","o_ub","o_ia","o_ib");times=[0,0,0,0,-1,-1];}; |
---|
70 | }; |
---|
71 | }; |
---|
72 | n = 100; |
---|
73 | log_level="logbounds,logmean"; |
---|
74 | prior = {class="euni"; |
---|
75 | high = [ 0.1, 1.0]; |
---|
76 | low = [ -0.1, -1.0]; |
---|
77 | rv ={class="RV";names=("om","th");}; |
---|
78 | }; |
---|
79 | }; |
---|
80 | |
---|
81 | |
---|
82 | |
---|
83 | controllers=({ |
---|
84 | // class = "PMSM_PICtrl"; |
---|
85 | // class = "PMSM_LQCtrl"; |
---|
86 | // class = "PMSM_LQCtrl_dq"; |
---|
87 | // class = "PMSM_LQCtrl_dq2"; |
---|
88 | // class = "PMSM_LQCtrl_bic"; |
---|
89 | // class = "PMSM_LQCtrl_bic2"; |
---|
90 | class = "PMSM_LQCtrl_bic3"; |
---|
91 | // class = "PMSM_LQCtrl_EKF_Inj"; //biver legenda |
---|
92 | estim = "UD"; // 0 - nic navic |
---|
93 | // estim = "PF"; // 1 - signum |
---|
94 | // r = 0.0001; // 2 - signum + casovy posun |
---|
95 | r = 0.001; // 3 - 3 KF v dq // 30 - pocita det misto varth |
---|
96 | // r = 0.04; // 4 - 5 KF v albe // 40 - pocita det misto varth |
---|
97 | h = 10; // 5 - konst v d |
---|
98 | MAXu = 400; // 6 - injektaz do d |
---|
99 | // MAXu = 100; // 7 - injektaz albe |
---|
100 | MAXuflag = 2; // 8 - injektaz do d i do q |
---|
101 | // rpd = 0.1; // 9 - nahodny vyber jako 5 KF |
---|
102 | rpd = 0.00417; // 10 - postupne jako 5 KF |
---|
103 | bcbv = 6.0; // 11 - injektaz albe round sin resp. cos |
---|
104 | //bcbv = 0.0; |
---|
105 | biver = 11; |
---|
106 | injkon = 6.0; |
---|
107 | injome = 16000.0; |
---|
108 | // injome = 500.0; |
---|
109 | injphi = 0.0; |
---|
110 | |
---|
111 | //multiple Kalman Q & R mat. |
---|
112 | Qred00 = 1.0; |
---|
113 | Qred11 = 1.0; |
---|
114 | Qred01 = 0.0; |
---|
115 | Qred10 = 0.0; |
---|
116 | Rred00 = 0.0;//00000001; |
---|
117 | Rred11 = 0.0;//00000001; |
---|
118 | // Rred01 = 0.0000000001; |
---|
119 | // Rred10 = 0.0000000001; |
---|
120 | |
---|
121 | // PI parametry |
---|
122 | PIw_Pd = 3.0; |
---|
123 | PIw_Pi = 0.0037; |
---|
124 | |
---|
125 | PIu_Pd = 20.0; |
---|
126 | PIu_Pi = 0.5; |
---|
127 | |
---|
128 | log_level = "logModel"; |
---|
129 | } |
---|
130 | ); |
---|
131 | |
---|
132 | logger= { |
---|
133 | class="dirfilelog"; |
---|
134 | maxlen = 100; |
---|
135 | // dirname = "exp/ctrlPI"; |
---|
136 | // dirname = "exp/ctrlLQ"; |
---|
137 | // dirname = "exp/ctrlLQdq"; |
---|
138 | // dirname = "exp/ctrlLQdq2"; |
---|
139 | // dirname = "exp/ctrlLQbic"; |
---|
140 | // dirname = "exp/ctrlLQbic2"; |
---|
141 | dirname = "exp/ctrlLQbic3"; |
---|
142 | // dirname = "exp/ctrlLQEKFInj"; |
---|
143 | |
---|
144 | }; |
---|