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