root/applications/dual/texts/pmsm_system.lyx @ 879

Revision 879, 14.7 kB (checked in by smidl, 14 years ago)

LQG in pmsm

Line 
1#LyX 1.6.4 created this file. For more info see http://www.lyx.org/
2\lyxformat 345
3\begin_document
4\begin_header
5\textclass scrartcl
6\begin_preamble
7\newcommand\blabl{}
8\end_preamble
9\use_default_options false
10\begin_modules
11theorems-ams
12theorems-ams-extended
13\end_modules
14\language english
15\inputencoding auto
16\font_roman lmodern
17\font_sans default
18\font_typewriter default
19\font_default_family default
20\font_sc false
21\font_osf false
22\font_sf_scale 100
23\font_tt_scale 100
24
25\graphics default
26\paperfontsize default
27\spacing single
28\use_hyperref true
29\pdf_bookmarks true
30\pdf_bookmarksnumbered false
31\pdf_bookmarksopen false
32\pdf_bookmarksopenlevel 1
33\pdf_breaklinks false
34\pdf_pdfborder false
35\pdf_colorlinks false
36\pdf_backref false
37\pdf_pdfusetitle true
38\papersize default
39\use_geometry false
40\use_amsmath 1
41\use_esint 0
42\cite_engine basic
43\use_bibtopic false
44\paperorientation portrait
45\secnumdepth 3
46\tocdepth 3
47\paragraph_separation indent
48\defskip medskip
49\quotes_language english
50\papercolumns 1
51\papersides 1
52\paperpagestyle default
53\tracking_changes false
54\output_changes false
55\author ""
56\author ""
57\end_header
58
59\begin_body
60
61\begin_layout Standard
62\begin_inset FormulaMacro
63\newcommand{\isa}[1]{i_{\alpha#1}}
64{i_{\alpha#1}}
65\end_inset
66
67
68\begin_inset FormulaMacro
69\newcommand{\isb}[1]{i_{\beta#1}}
70{i_{\beta#1}}
71\end_inset
72
73
74\begin_inset FormulaMacro
75\newcommand{\Dt}{\Delta t}
76{\Delta t}
77\end_inset
78
79
80\begin_inset FormulaMacro
81\newcommand{\om}{\omega}
82{\omega}
83\end_inset
84
85
86\begin_inset FormulaMacro
87\newcommand{\th}{\vartheta}
88{\vartheta}
89\end_inset
90
91
92\begin_inset FormulaMacro
93\newcommand{\usa}[1]{u_{\alpha#1}}
94{u_{\alpha#1}}
95\end_inset
96
97
98\begin_inset FormulaMacro
99\newcommand{\usb}[1]{u_{\beta#1}}
100{u_{\beta#1}}
101\end_inset
102
103
104\end_layout
105
106\begin_layout Title
107PMSM system description
108\end_layout
109
110\begin_layout Section
111Model of PMSM Drive
112\end_layout
113
114\begin_layout Standard
115Permanent magnet synchronous machine (PMSM) drive with surface magnets on
116 the rotor is described by conventional equations of PMSM in the stationary
117 reference frame:
118\begin_inset Formula \begin{align}
119\frac{d\isa{}}{dt} & =-\frac{R_{s}}{L_{s}}\isa{}+\frac{\Psi_{PM}}{L_{s}}\omega_{me}\sin\th+\frac{\usa{}}{L_{s}},\nonumber \\
120\frac{d\isb{}}{dt} & =-\frac{R_{s}}{L_{s}}\isb{}-\frac{\Psi_{PM}}{L_{s}}\omega_{me}\cos\th+\frac{\usb{}}{L_{s}},\label{eq:simulator}\\
121\frac{d\om}{dt} & =\frac{k_{p}p_{p}^{2}\Psi_{pm}}{J}\left(\isb{}\cos(\th)-\isa{}\sin(\th)\right)-\frac{B}{J}\om-\frac{p_{p}}{J}T_{L},\nonumber \\
122\frac{d\th}{dt} & =\omega_{me}.\nonumber \end{align}
123
124\end_inset
125
126Here,
127\begin_inset Formula $\isa{}$
128\end_inset
129
130,
131\begin_inset Formula $\isb{}$
132\end_inset
133
134,
135\begin_inset Formula $\usa{}$
136\end_inset
137
138 and
139\begin_inset Formula $\usb{}$
140\end_inset
141
142 represent stator current and voltage in the stationary reference frame,
143 respectively;
144\begin_inset Formula $\om$
145\end_inset
146
147 is electrical rotor speed and
148\begin_inset Formula $\th$
149\end_inset
150
151 is electrical rotor position.
152 
153\begin_inset Formula $R_{s}$
154\end_inset
155
156 and
157\begin_inset Formula $L_{s}$
158\end_inset
159
160 is stator resistance and inductance respectively,
161\begin_inset Formula $\Psi_{pm}$
162\end_inset
163
164 is the flux of permanent magnets on the rotor,
165\begin_inset Formula $B$
166\end_inset
167
168 is friction and
169\begin_inset Formula $T_{L}$
170\end_inset
171
172 is load torque,
173\begin_inset Formula $J$
174\end_inset
175
176 is moment of inertia,
177\begin_inset Formula $p_{p}$
178\end_inset
179
180 is the number of pole pairs,
181\begin_inset Formula $k_{p}$
182\end_inset
183
184 is the Park constant.
185\end_layout
186
187\begin_layout Standard
188The sensor-less control scenario arise when sensors of the speed and position
189 (
190\begin_inset Formula $\om$
191\end_inset
192
193 and
194\begin_inset Formula $\th$
195\end_inset
196
197) are missing (from various reasons).
198 Then, the only observed variables are:
199\begin_inset Formula \begin{equation}
200y_{t}=\left[\begin{array}{c}
201\isa{}(t),\isb{}(t),\usa{}(t),\usb{}(t)\end{array}\right].\label{eq:obs}\end{equation}
202
203\end_inset
204
205Which are, however, observed only up to some precision.
206\end_layout
207
208\begin_layout Standard
209Discretization of the model (
210\begin_inset CommandInset ref
211LatexCommand ref
212reference "eq:simulator"
213
214\end_inset
215
216) was performed using Euler method with the following result:
217\begin_inset Formula \begin{align*}
218\isa{,t+1} & =(1-\frac{R_{s}}{L_{s}}\Dt)\isa{,t}+\frac{\Psi_{pm}}{L_{s}}\Dt\omega_{t}\sin\vartheta_{e,t}+\usa{,t}\frac{\Dt}{L_{s}},\\
219\isb{,t+1} & =(1-\frac{R_{s}}{L_{s}}\Dt)\isb{,t}-\frac{\Psi_{pm}}{L_{s}}\Dt\omega_{t}\cos\vartheta_{t}+\usb{,t}\frac{\Dt}{L_{s}},\\
220\om_{t+1} & =(1-\frac{B}{J}\Dt)\om_{t}+\Dt\frac{k_{p}p_{p}^{2}\Psi_{pm}}{J}\left(\isb{,t}\cos(\th_{t})-\isa{,t}\sin(\th_{t})\right)-\frac{p_{p}}{J}T_{L}\Dt,\\
221\vartheta_{t+1} & =\vartheta_{t}+\omega_{t}\Dt.\end{align*}
222
223\end_inset
224
225In this work, we consider parameters of the model known, we can make the
226 following substitutions to simplify notation,
227\begin_inset Formula $a=1-\frac{R_{s}}{L_{s}}\Dt$
228\end_inset
229
230,
231\begin_inset Formula $b=\frac{\Psi_{pm}}{L_{s}}\Dt$
232\end_inset
233
234,
235\begin_inset Formula $c=\frac{\Dt}{L_{s}}$
236\end_inset
237
238,
239\begin_inset Formula $d=1-\frac{B}{J}\Dt$
240\end_inset
241
242,
243\family roman
244\series medium
245\shape up
246\size normal
247\emph off
248\bar no
249\noun off
250\color none
251
252\begin_inset Formula $e=\Dt\frac{k_{p}p_{p}^{2}\Psi_{pm}}{J}$
253\end_inset
254
255, which results in a simplified model:
256\family default
257\series default
258\shape default
259\size default
260\emph default
261\bar default
262\noun default
263\color inherit
264 
265\begin_inset Formula \begin{align}
266\isa{,t+1} & =a\,\isa{,t}+b\omega_{t}\sin\vartheta_{t}+c\usa{,t},\nonumber \\
267\isb{,t+1} & =a\,\isb{,t}-b\omega_{t}\cos\vartheta_{t}+c\usb{,t},\label{eq:model-simple}\\
268\om_{t+1} & =d\om_{t}+e\left(\isb{,t}\cos(\th_{t})-\isa{,t}\sin(\th_{t})\right),\nonumber \\
269\vartheta_{t+1} & =\vartheta_{t}+\omega_{t}\Dt.\nonumber \end{align}
270
271\end_inset
272
273
274\end_layout
275
276\begin_layout Standard
277The above equations can be aggregated into state
278\begin_inset Formula $x_{t}=[\isa{,t},\isb{,t},\om_{t},\th_{t}]$
279\end_inset
280
281 will be denoted as
282\begin_inset Formula $x_{t+1}=g(x_{t},u_{t})$
283\end_inset
284
285.
286\end_layout
287
288\begin_layout Subsection
289Gaussian model of disturbances
290\end_layout
291
292\begin_layout Standard
293This model is motivated by the well known Kalman filter, which is optimal
294 for linear system with Gaussian noise.
295 Hence, we model all disturbances to have covariance matrices
296\begin_inset Formula $Q_{t}$
297\end_inset
298
299 and
300\begin_inset Formula $R_{t}$
301\end_inset
302
303 for the state
304\begin_inset Formula $x_{t}$
305\end_inset
306
307 and observations
308\begin_inset Formula $y_{t}$
309\end_inset
310
311 respectively.
312\begin_inset Formula \begin{align}
313x_{t+1} & \sim\mathcal{N}(g(x_{t}),Q_{t})\label{eq:model}\\
314y_{t} & \sim\mathcal{N}([\isa{,t},\isb{,t}]',R_{t})\nonumber \end{align}
315
316\end_inset
317
318
319\end_layout
320
321\begin_layout Standard
322Under this assumptions, Bayesian estimation of the state,
323\begin_inset Formula $x_{t}$
324\end_inset
325
326, can be approximated by so called Extended Kalman filter which approximates
327 posterior density of the state by a Gaussian
328\begin_inset Formula \[
329f(x_{t}|y_{1}\ldots y_{t})=\mathcal{N}(\hat{x}_{t},S_{t}).\]
330
331\end_inset
332
333Its sufficient statistics
334\begin_inset Formula $S_{t}=\left[\hat{x}_{t},P_{t}\right]$
335\end_inset
336
337 is evaluated recursively as follows:
338\begin_inset Formula \begin{eqnarray}
339\hat{x}_{t} & = & g(\hat{x}_{t-1})-K\left(y_{t}-h(\hat{x}_{t-1})\right).\label{eq:ekf_mean}\\
340R_{y} & = & CP_{t-1}C'+R_{t},\nonumber \\
341K & = & P_{t-1}C'R_{y}^{-1},\nonumber \\
342S_{t} & = & P_{t-1}-P_{t-1}C'R_{y}^{-1}CP_{t-1},\\
343P_{t} & = & AS_{t}A'+Q_{t}.\label{eq:ekf_cov}\end{eqnarray}
344
345\end_inset
346
347where
348\begin_inset Formula $A=\frac{d}{dx_{t}}g(x_{t})$
349\end_inset
350
351,
352\begin_inset Formula $C=\frac{d}{dx_{t}}h(x_{t})$
353\end_inset
354
355,
356\begin_inset Formula $g(x_{t})$
357\end_inset
358
359 is model (
360\begin_inset CommandInset ref
361LatexCommand ref
362reference "eq:model-simple"
363
364\end_inset
365
366) and
367\begin_inset Formula $h(x_{t})$
368\end_inset
369
370 direct observation of
371\begin_inset Formula $y_{t}=[\isa{,t},\isb{,t}]$
372\end_inset
373
374, i.e.
375\begin_inset Formula \[
376A=\left[\begin{array}{cccc}
377a & 0 & b\sin\th & b\om\cos\th\\
3780 & a & -b\cos\th & b\om\sin\th\\
379-e\sin\th & e\cos\th & d & -e(\isb{}\sin\th+\isa{}\cos\th)\\
3800 & 0 & \Dt & 1\end{array}\right],\quad C=\left[\begin{array}{cccc}
3811 & 0 & 0 & 0\\
3820 & 1 & 0 & 0\end{array}\right]\]
383
384\end_inset
385
386
387\end_layout
388
389\begin_layout Standard
390\begin_inset Formula \[
391B=\left[\begin{array}{cc}
392c & 0\\
3930 & c\\
3940 & 0\\
3950 & 0\end{array}\right]\]
396
397\end_inset
398
399
400\end_layout
401
402\begin_layout Standard
403Covariance matrices of the system
404\begin_inset Formula $Q$
405\end_inset
406
407 and
408\begin_inset Formula $R$
409\end_inset
410
411 are supposed to be known.
412\end_layout
413
414\begin_layout Subsection
415Test system
416\end_layout
417
418\begin_layout Standard
419A real PMSM system on which the algorithms will be tested has parameters:
420\end_layout
421
422\begin_layout Standard
423\begin_inset Formula \begin{eqnarray*}
424R_{s} & = & 0.28;\\
425L_{s} & = & 0.003465;\\
426\Psi_{pm} & = & 0.1989;\\
427k_{p} & = & 1.5\\
428p & = & 4.0;\\
429J & = & 0.04;\\
430\Delta t & = & 0.000125\end{eqnarray*}
431
432\end_inset
433
434which yields
435\begin_inset Formula \begin{eqnarray*}
436a & = & 0.9898\\
437b & = & 0.0072\\
438c & = & 0.0361\\
439d & = & 1\\
440e & = & 0.0149\end{eqnarray*}
441
442\end_inset
443
444The covaraince matrices
445\begin_inset Formula $Q$
446\end_inset
447
448 and
449\begin_inset Formula $R$
450\end_inset
451
452 are assumed to be known.
453 For the initial tests, we can use the following values:
454\end_layout
455
456\begin_layout Standard
457\begin_inset Formula \begin{eqnarray*}
458Q & = & \mathrm{diag}(0.0013,0.0013,5e-6,1e-10),\\
459R & = & \mathrm{diag}(0.0006,0.0006).\end{eqnarray*}
460
461\end_inset
462
463
464\end_layout
465
466\begin_layout Standard
467Limits:
468\begin_inset Formula \begin{align*}
469u_{\alpha,max} & =50V, & u_{\alpha,min} & =-50V,\\
470u_{\beta,max} & =50V. & u_{\beta,min} & =-50V,\end{align*}
471
472\end_inset
473
474
475\end_layout
476
477\begin_layout Standard
478Perhaps better:
479\begin_inset Formula \[
480u_{\alpha}^{2}+u_{\beta}^{2}<100^{2}.\]
481
482\end_inset
483
484
485\end_layout
486
487\begin_layout Section
488Control
489\end_layout
490
491\begin_layout Standard
492The task is to reach predefined speed
493\begin_inset Formula $\overline{\omega}_{t}$
494\end_inset
495
496.
497\end_layout
498
499\begin_layout Standard
500For simplicity, we will assume additive loss function:
501\begin_inset Formula \begin{eqnarray*}
502l(x_{t},u_{t}) & = & (\omega_{t}-\overline{\omega}_{t})^{2}+q(\usa{,t}^{2}+\usb{,t}^{2}).\\
503 & = & (\omega_{t}-\overline{\omega}_{t})\Xi(\omega_{t}-\overline{\omega}_{t})+[\usa t,\usb t]\underbrace{\left[\begin{array}{cc}
504\upsilon & 0\\
5050 & \upsilon\end{array}\right]}_{\Upsilon}\left[\begin{array}{c}
506\usa t\\
507\usb t\end{array}\right]\end{eqnarray*}
508
509\end_inset
510
511Here,
512\begin_inset Formula $\Upsilon$
513\end_inset
514
515 is the chosen penalization of the inputs, which remains to be tuned.
516\end_layout
517
518\begin_layout Standard
519
520\series bold
521Note
522\series default
523: classical notation of penalization matrices is
524\begin_inset Formula $Q$
525\end_inset
526
527 and
528\begin_inset Formula $R$
529\end_inset
530
531, but it conflicts wit
532\begin_inset Formula $Q$
533\end_inset
534
535 and
536\begin_inset Formula $R$
537\end_inset
538
539 in (
540\begin_inset CommandInset ref
541LatexCommand ref
542reference "eq:model"
543
544\end_inset
545
546).
547\end_layout
548
549\begin_layout Standard
550Following the standard dynamic programming approach, optimization of the
551 loss function can be done recursively, as follows:
552\begin_inset Formula \[
553V(x_{t-1},u_{t-1})=\arg\min_{u_{t}}\mathsf{E}_{f(x_{t},y_{t}|x_{t-1})}\left\{ l(x_{t},u_{t})+V(x_{t},u_{t})\right\} ,\]
554
555\end_inset
556
557where
558\begin_inset Formula $V(x_{t},u_{t})$
559\end_inset
560
561 is the Bellman function.
562 Since the model evolution is stochastic, we can reformulate it in terms
563 of sufficient statistics,
564\begin_inset Formula $S$
565\end_inset
566
567 as follows:
568\begin_inset Formula \[
569V(S_{t-1})=\min_{u_{t}}\mathsf{E}_{f(x_{t},y_{t}|x_{t-1})}\left\{ l(x_{t},u_{t})+V(S_{t})\right\} .\]
570
571\end_inset
572
573
574\end_layout
575
576\begin_layout Standard
577Representation of the Bellman function depends on chosen approximation.
578\end_layout
579
580\begin_layout Subsection
581LQG control
582\end_layout
583
584\begin_layout Standard
585Control of linear state-space model with Gaussian noise
586\begin_inset Formula \begin{eqnarray*}
587x_{t} & = & Ax_{t-1}+Bu_{t}+Q^{\frac{1}{2}}v_{t},\\
588y_{t} & = & Cx_{t}+Du_{t}+R^{\frac{1}{2}}w_{t}.\end{eqnarray*}
589
590\end_inset
591
592to minimize loss function
593\begin_inset Formula \[
594L_{t}=(x_{t}-\overline{x}_{t})'\Xi(x_{t}-\overline{x}_{t})+(u_{t}-\overline{u}_{t})'\Upsilon(u_{t}-\overline{u}_{t}).\]
595
596\end_inset
597
598
599\end_layout
600
601\begin_layout Standard
602Optimal solution in the sense of dynamic programming on horizon
603\begin_inset Formula $t+h$
604\end_inset
605
606 is:
607\begin_inset Newline newline
608\end_inset
609
610
611\begin_inset Formula \begin{eqnarray*}
612u_{t} & = & L_{t}\hat{x}_{t},\\
613L_{t} & = & -(B'S_{t+1}B+\Upsilon)^{-1}B'S_{t+1}A,\\
614S_{t} & = & A'(S_{t+1}-S_{t+1}B(B'S_{t+1}B+\Upsilon)^{-1}B'S_{t+1})A+\Xi,\end{eqnarray*}
615
616\end_inset
617
618This solution is certainty equivalent, i.e.
619 only the first moment,
620\begin_inset Formula $\hat{x}$
621\end_inset
622
623, of the Kalman filter is used.
624\end_layout
625
626\begin_layout Subsection
627Poor-man's dual LQG control
628\end_layout
629
630\begin_layout Standard
631Various heuristic solutions to dual extension of LQG has been proposed.
632 Most of them is based on approximation of the loss function
633\begin_inset Formula \[
634L_{t}=(x_{t}-\overline{x}_{t})'\Xi(x_{t}-\overline{x}_{t})+(u_{t}-\overline{u}_{t})'\Upsilon(u_{t}-\overline{u}_{t})+DUAL\_TERM.\]
635
636\end_inset
637
638where DUAL_TERM is typically a function of
639\begin_inset Formula $P_{t+2}$
640\end_inset
641
642.
643 
644\end_layout
645
646\begin_layout Standard
647To be continued...
648\end_layout
649
650\begin_layout Subsection
651Test Scenarios
652\end_layout
653
654\begin_layout Standard
655With almost full information, design of the control strategy should be almost
656 trivial:
657\begin_inset Formula \begin{eqnarray*}
658\hat{\isa{}} & = & 0,\,\hat{\isb{}}=0,\hat{\omega}=1,\th=\frac{\pi}{2},\\
659P_{t} & = & \mathrm{diag}([0.01,0.01,0.01,0.01]).\end{eqnarray*}
660
661\end_inset
662
663
664\end_layout
665
666\begin_layout Standard
667The difficulty arise with growing initial covariance matrix:
668\begin_inset Formula \begin{eqnarray*}
669\hat{\isa{}} & = & 0,\,\hat{\isb{}}=0,\hat{\omega}=1,\th=\frac{\pi}{2},\\
670P_{t} & = & \mathrm{diag}([0.01,0.01,0.01,1]).\end{eqnarray*}
671
672\end_inset
673
674
675\end_layout
676
677\begin_layout Standard
678Or even worse:
679\begin_inset Formula \begin{eqnarray*}
680\hat{\isa{}} & = & 0,\,\hat{\isb{}}=0,\hat{\omega}=1,\th=\frac{\pi}{2},\\
681P_{t} & = & \mathrm{diag}([0.01,0.01,0.01,10]).\end{eqnarray*}
682
683\end_inset
684
685==\SpecialChar \-
686=
687\end_layout
688
689\begin_layout Standard
690The requested value
691\begin_inset Formula $\overline{\omega}_{t}=1.0015.$
692\end_inset
693
694
695\end_layout
696
697\begin_layout Conjecture
698It is sufficient to consider hyper-state
699\begin_inset Formula $H=[\hat{i}_{\alpha},\hat{i}_{\beta},\hat{\omega},\hat{\vartheta},P(3,3),P(4,4)]$
700\end_inset
701
702.
703\end_layout
704
705\begin_layout Conjecture
706\begin_inset CommandInset bibtex
707LatexCommand bibtex
708bibfiles "bibtex/vs,bibtex/vs-world,bibtex/world_classics,bibtex/world,new_bib_PS"
709options "plain"
710
711\end_inset
712
713
714\end_layout
715
716\end_body
717\end_document
Note: See TracBrowser for help on using the browser.