root/applications/dual/IterativeLocal/text/bpkomplet.lyx @ 931

Revision 931, 143.2 kB (checked in by vahalam, 14 years ago)
Line 
1#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
2\lyxformat 345
3\begin_document
4\begin_header
5\textclass scrreprt
6\use_default_options true
7\language czech
8\inputencoding auto
9\font_roman default
10\font_sans default
11\font_typewriter default
12\font_default_family default
13\font_sc false
14\font_osf false
15\font_sf_scale 100
16\font_tt_scale 100
17
18\graphics default
19\paperfontsize default
20\spacing single
21\use_hyperref false
22\papersize a4paper
23\use_geometry false
24\use_amsmath 1
25\use_esint 1
26\cite_engine basic
27\use_bibtopic false
28\paperorientation portrait
29\secnumdepth 2
30\tocdepth 2
31\paragraph_separation indent
32\defskip medskip
33\quotes_language german
34\papercolumns 1
35\papersides 1
36\paperpagestyle default
37\tracking_changes false
38\output_changes false
39\author ""
40\author ""
41\end_header
42
43\begin_body
44
45\begin_layout Standard
46\align left
47\begin_inset ERT
48status open
49
50\begin_layout Plain Layout
51
52
53\backslash
54thispagestyle{empty}
55\end_layout
56
57\end_inset
58
59
60\end_layout
61
62\begin_layout Standard
63\align center
64
65\size large
66České vysoké učení technické v Praze
67\end_layout
68
69\begin_layout Standard
70\align center
71
72\size large
73Fakulta jaderná a fyzikálně inženýrská
74\end_layout
75
76\begin_layout Standard
77\begin_inset VSpace bigskip
78\end_inset
79
80
81\end_layout
82
83\begin_layout Standard
84\align center
85Katedra matematiky
86\end_layout
87
88\begin_layout Standard
89\align center
90Obor: Inženýrská informatika
91\end_layout
92
93\begin_layout Standard
94\align center
95Zaměření: Softwarové inženýrství
96\end_layout
97
98\begin_layout Standard
99\begin_inset VSpace bigskip
100\end_inset
101
102
103\end_layout
104
105\begin_layout Standard
106\align center
107\begin_inset Graphics
108        filename logo_cvut.eps
109        lyxscale 20
110        scale 20
111
112\end_inset
113
114
115\end_layout
116
117\begin_layout Standard
118\begin_inset VSpace bigskip
119\end_inset
120
121
122\end_layout
123
124\begin_layout Standard
125\align center
126
127\size larger
128\color black
129Iterativní lokální dynamické programování pro návrh duálního řízení
130\end_layout
131
132\begin_layout Standard
133\begin_inset VSpace smallskip
134\end_inset
135
136
137\end_layout
138
139\begin_layout Standard
140\align center
141
142\size larger
143\color black
144Iterative local dynamic programming for dual control
145\end_layout
146
147\begin_layout Standard
148\begin_inset VSpace bigskip
149\end_inset
150
151
152\end_layout
153
154\begin_layout Standard
155\align center
156
157\size largest
158\color black
159BAKALÁŘSKÁ
160\size larger
161 
162\size largest
163PRÁCE
164\end_layout
165
166\begin_layout Standard
167\begin_inset VSpace vfill
168\end_inset
169
170
171\end_layout
172
173\begin_layout Standard
174\align center
175Vypracoval: Michal Vahala
176\end_layout
177
178\begin_layout Standard
179\align center
180Vedoucí práce: Ing.
181 Václav Šmídl, Ph.D.
182\end_layout
183
184\begin_layout Standard
185\align center
186Rok: 2010
187\end_layout
188
189\begin_layout Standard
190\begin_inset Newpage newpage
191\end_inset
192
193
194\end_layout
195
196\begin_layout Standard
197\begin_inset ERT
198status open
199
200\begin_layout Plain Layout
201
202
203\backslash
204thispagestyle{empty}
205\end_layout
206
207\end_inset
208
209
210\end_layout
211
212\begin_layout Standard
213zadání práce
214\end_layout
215
216\begin_layout Standard
217\begin_inset Newpage newpage
218\end_inset
219
220
221\end_layout
222
223\begin_layout Standard
224\begin_inset ERT
225status open
226
227\begin_layout Plain Layout
228
229
230\backslash
231thispagestyle{empty}~
232\end_layout
233
234\end_inset
235
236
237\end_layout
238
239\begin_layout Standard
240\begin_inset VSpace vfill
241\end_inset
242
243
244\end_layout
245
246\begin_layout Subsubsection*
247Prohlášení
248\end_layout
249
250\begin_layout Standard
251Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil
252 jsem pouze podklady uvedené v přiloženém seznamu.
253\end_layout
254
255\begin_layout Standard
256\begin_inset VSpace bigskip
257\end_inset
258
259
260\end_layout
261
262\begin_layout Standard
263\noindent
264\align left
265V Praze dne \SpecialChar \ldots{}
266\SpecialChar \ldots{}
267\SpecialChar \ldots{}
268\SpecialChar \ldots{}
269\SpecialChar \ldots{}
270 
271\begin_inset space \hfill{}
272\end_inset
273
274\SpecialChar \ldots{}
275\SpecialChar \ldots{}
276\SpecialChar \ldots{}
277\SpecialChar \ldots{}
278\SpecialChar \ldots{}
279\SpecialChar \ldots{}
280
281\end_layout
282
283\begin_layout Standard
284\noindent
285\align block
286\begin_inset space \hfill{}
287\end_inset
288
289Michal Vahala
290\begin_inset ERT
291status open
292
293\begin_layout Plain Layout
294
295~~
296\end_layout
297
298\end_inset
299
300
301\end_layout
302
303\begin_layout Standard
304\begin_inset Newpage newpage
305\end_inset
306
307
308\end_layout
309
310\begin_layout Standard
311\begin_inset ERT
312status open
313
314\begin_layout Plain Layout
315
316
317\backslash
318thispagestyle{empty}~
319\end_layout
320
321\end_inset
322
323
324\end_layout
325
326\begin_layout Standard
327\begin_inset VSpace vfill
328\end_inset
329
330
331\end_layout
332
333\begin_layout Subsubsection*
334Poděkování
335\end_layout
336
337\begin_layout Standard
338Děkuji \SpecialChar \ldots{}
339 za \SpecialChar \ldots{}
340
341\end_layout
342
343\begin_layout Standard
344\begin_inset VSpace defskip
345\end_inset
346
347
348\end_layout
349
350\begin_layout Standard
351\begin_inset space \hfill{}
352\end_inset
353
354Michal Vahala
355\end_layout
356
357\begin_layout Standard
358\begin_inset Newpage newpage
359\end_inset
360
361
362\end_layout
363
364\begin_layout Standard
365\begin_inset ERT
366status open
367
368\begin_layout Plain Layout
369
370
371\backslash
372thispagestyle{empty}
373\end_layout
374
375\end_inset
376
377
378\end_layout
379
380\begin_layout Description
381
382\emph on
383Název
384\begin_inset space \space{}
385\end_inset
386
387práce:
388\emph default
389\color black
390
391\begin_inset ERT
392status open
393
394\begin_layout Plain Layout
395
396~
397\end_layout
398
399\end_inset
400
401
402\begin_inset Newline newline
403\end_inset
404
405Iterativní lokální dynamické programování pro návrh duálního řízení
406\end_layout
407
408\begin_layout Description
409\begin_inset VSpace defskip
410\end_inset
411
412
413\end_layout
414
415\begin_layout Description
416
417\emph on
418Autor:
419\emph default
420 Michal Vahala
421\end_layout
422
423\begin_layout Description
424
425\emph on
426Obor:
427\emph default
428 Inženýrská informatika
429\end_layout
430
431\begin_layout Description
432
433\emph on
434Druh
435\begin_inset space \space{}
436\end_inset
437
438práce:
439\emph default
440 Bakalářská práce
441\end_layout
442
443\begin_layout Description
444
445\emph on
446Vedoucí
447\begin_inset space \space{}
448\end_inset
449
450práce:
451\emph default
452 Ing.
453 Václav Šmídl, Ph.D.
454\end_layout
455
456\begin_layout Description
457
458\emph on
459Konzultant:
460\emph default
461 ---
462\end_layout
463
464\begin_layout Description
465
466\emph on
467Abstrakt:
468\emph default
469 abstrakt
470\end_layout
471
472\begin_layout Description
473
474\emph on
475Klíčová
476\begin_inset space \space{}
477\end_inset
478
479slova:
480\emph default
481 klíčová slova
482\end_layout
483
484\begin_layout Standard
485\begin_inset VSpace bigskip
486\end_inset
487
488
489\end_layout
490
491\begin_layout Description
492
493\emph on
494Title:
495\emph default
496\color black
497
498\begin_inset ERT
499status open
500
501\begin_layout Plain Layout
502
503~
504\end_layout
505
506\end_inset
507
508
509\begin_inset Newline newline
510\end_inset
511
512Iterative local dynamic programming for dual control
513\end_layout
514
515\begin_layout Description
516\begin_inset VSpace defskip
517\end_inset
518
519
520\end_layout
521
522\begin_layout Description
523
524\emph on
525Author:
526\emph default
527 Michal Vahala
528\end_layout
529
530\begin_layout Description
531
532\emph on
533Abstract:
534\emph default
535 abstrakt
536\end_layout
537
538\begin_layout Description
539
540\emph on
541Key
542\begin_inset space \space{}
543\end_inset
544
545words:
546\emph default
547 klíčová slova
548\end_layout
549
550\begin_layout Standard
551\begin_inset Newpage newpage
552\end_inset
553
554
555\end_layout
556
557\begin_layout Standard
558\begin_inset ERT
559status open
560
561\begin_layout Plain Layout
562
563
564\backslash
565thispagestyle{empty}
566\end_layout
567
568\end_inset
569
570
571\end_layout
572
573\begin_layout Standard
574\begin_inset CommandInset toc
575LatexCommand tableofcontents
576
577\end_inset
578
579
580\end_layout
581
582\begin_layout Standard
583\begin_inset Newpage newpage
584\end_inset
585
586
587\end_layout
588
589\begin_layout Standard
590\begin_inset ERT
591status open
592
593\begin_layout Plain Layout
594
595
596\backslash
597thispagestyle{empty}
598\end_layout
599
600\end_inset
601
602
603\end_layout
604
605\begin_layout Chapter*
606Seznam použitého označení
607\end_layout
608
609\begin_layout Labeling
610\labelwidthstring 00.00.0000
611iLDP iterativní lokální dynamické programování
612\end_layout
613
614\begin_layout Labeling
615\labelwidthstring 00.00.0000
616LQG lineáně kvadraticky gaussovské řízení (Linear-Quadratic-Gaussian)
617\end_layout
618
619\begin_layout Labeling
620\labelwidthstring 00.00.0000
621iLQG iterativní LQG
622\end_layout
623
624\begin_layout Standard
625\begin_inset Newpage newpage
626\end_inset
627
628
629\end_layout
630
631\begin_layout Addchap
632Úvod
633\end_layout
634
635\begin_layout Standard
636Skutečný svět se nikdy nechová přesně podle matematických rovnic, protože
637 ty jsou vždy jen jakýmsi zjednodušením nebo přiblížením.
638 V reálném světě se vyskytuje mnoho neznámých veličin, poruch, nepředvídatelných
639 vlivů a ani naše měřící přístroje nejsou přesné.
640 Chceme-li efektivně řídit nějaký systém, musíme si být těchto vlivů vědomi
641 a zahrnout je do našich uvažování.
642 Situace se však ještě může zkomplikovat, když jeden nebo více parametrů
643 neznáme.
644 To může nastat z různých důvodů, například příšlušné čidlo nebo měřící
645 přístroj nemůžeme nebo nechceme (například z důvodů vysoké ceny) instalovat
646 a tedy o velikosti příslušné hodnoty můžeme jen usuzovat ze známých dat.
647 Ještě složitější situace nastane, když uvažujeme neznámý parametr proměnný.
648 
649\end_layout
650
651\begin_layout Standard
652
653\color black
654Máme tedy dva cíle, musíme systém co nejlépe řídit a současně se snažit
655 o co nejpřesnější určení neznámých parametrů.
656 Tyto dva postupy jsou však obecně v rozporu, protože parametry se nejlépe
657 určují, když je systém vybuzen a nechová se optimálně.
658 Právě tento rozpor a nalezení kompromisu, který povede k jeho řešení, je
659 podstatou duálního řízení.
660\end_layout
661
662\begin_layout Standard
663
664\color black
665Pro přiblížení ilustrujme problém na jednoduchém příkladě: Uvažujme elektromotor
666 s možností řídit napětí na vstupu motoru a měřit příslušné proudy.
667 Jedná se tedy o systém se dvěma vstupy a dvěma výstupy.
668 Cílem našeho řízení je dosažení požadovaných otáček rotoru.
669 Ovšem otáčky a ani polohu hřídele měřit nemůžeme.
670 Máme o nich však znalost v podobě středních hodnot a variancí.
671 Naší snahou je co nejpřesněji určit hodnotu otáček a polohy hřídele a současně
672 systém řídit tak, abychom dosáhly požadované hodnoty otáček.
673 Tyto dvě snahy jsou ale v rozporu, protože nejvíce informací o neznámých
674 parametrech získáme, když je motor vybuzen.
675 Tedy například se prudce rozjíždí, brzdí, rychle mění rychlost nebo kmitá,
676 což se projevuje v proudech, které máme možnost měřit.
677 Ale právě vybuzení motoru je v rozporu se snahou o dobré řízení, protože
678 chyba, které se dopustíme je většinou nepřijatelná.
679 Naopak, když se systém snažíme řídit, bez dostatečné znalosti jeho parametrů,
680 s velkou pravděpodobností selžeme.
681\end_layout
682
683\begin_layout Standard
684\begin_inset VSpace bigskip
685\end_inset
686
687
688\end_layout
689
690\begin_layout Standard
691Námětem této bakalářské práce je algoritmus
692\emph on
693iterativního lokálního dynamického programování
694\emph default
695(iLDP) jako jedna z metod pro řešení problému duálního řízení.
696 Algoritmus byl navržen a popsán v článku
697\color black
698
699\begin_inset CommandInset citation
700LatexCommand cite
701key "TodorovTassaILDP"
702
703\end_inset
704
705
706\color inherit
707.
708 Jak už prozrazuje název algoritmu, jedná se o iterační metodu.
709 Tedy stručně řečeno, algoritmus vyjde od nějakého počátečního řízení, které
710 je ovšem nutno dodat jako apriorní informaci a v cyklech (iteracích) tuto
711 řídící strategii vylepšuje, za účelem získání řízení optimálního.
712 Dále se jedná o metodu lokální, což v můžeme jednoduše chápat tak, že kandidáti
713 na
714\begin_inset Quotes gld
715\end_inset
716
717vylepšení
718\begin_inset Quotes grd
719\end_inset
720
721 řízení jsou vybírání z jistého, zatím blíže nespecifikovaného, okolí původní
722 řídící strategie.
723 Nakonec algoritmus využívá obecné schéma dynamického programování, které
724 bude blíže popsáno v dalším textu.
725\end_layout
726
727\begin_layout Standard
728\begin_inset VSpace bigskip
729\end_inset
730
731
732\end_layout
733
734\begin_layout Standard
735Cílem této práce bylo seznámit se s obecnou tématikou duálního řízení a
736 detailněji s konkrétním algoritmem - iterativním lokálním dynamickým programová
737ním.
738 Následně tento algoritmus implementovat a aplikovat na jednoduchý systém.
739 Otestovat jeho funkčnost a schopnost řídit a to i v porovnání s jinými
740 metodami a algoritmy.
741 Dále se pokusit implementovat algoritmus iLDP pro složitější systém blíže
742 praktické aplikaci, konkrétně se jedná o synchronní motor s permanentními
743 magnety.
744 Otestovat funkčnost a případně srovnat s dostupnými výsledky jiných řídících
745 strategii
746\emph on
747\color blue
748.
749
750\emph default
751\color inherit
752 Na základě získaných výsledků posoudit výhody a nevýhody algoritmu a jeho
753 použitelnost na další úlohy.
754\end_layout
755
756\begin_layout Standard
757Hlavním přínosem práce je otestování vlastností algoritmu iLDP na jiných
758 problémech, než pro které byla vyvinuta autory.
759 Objevení kladů a záporů algoritmu a dále díky srovnání s jinými algoritmy
760 získání přehledu, pro které praktické aplikace je vhodnější respektive
761 méně vhodný než srovnávané metody.
762 Prvotní očekávání pro srovnání algoritmu iLDP a řízení získaného pomocí
763 principu separace jsou, že iLDP bude pomalejší co do výpočetního času,
764 avšak přesnost získaných výsledků bude lepší.
765 Dále je očekávána nezanedbatelná závislost výsledného řízení na volbě použitých
766 aproximací a apriorní řídící strategie.
767\end_layout
768
769\begin_layout Standard
770\begin_inset Newpage newpage
771\end_inset
772
773
774\end_layout
775
776\begin_layout Chapter
777Teorie duálního řízení
778\end_layout
779
780\begin_layout Section
781Základní pojmy
782\end_layout
783
784\begin_layout Subsection
785Systém a řízení
786\end_layout
787
788\begin_layout Subsubsection
789Systém
790\end_layout
791
792\begin_layout Standard
793Základním pojmem, se kterým budeme v textu pracovat je
794\emph on
795systém
796\emph default
797.
798 Obdobně jako základní pojmy zejména v matematických vědách (bod, množina,
799 algoritmus,\SpecialChar \ldots{}
800), nelze tento pojem exaktně definovat.
801 Systém si můžeme představit jako jistý
802\begin_inset Quotes gld
803\end_inset
804
805objekt
806\begin_inset Quotes grd
807\end_inset
808
809, často bude reprezentovat objekt skutečného světa.
810 Hlavní vlastností systému je, že má zpravidla jeden nebo více vstupů, pomocí
811 kterých mu můžeme předávat informaci -- řízení a jeden nebo více výstupu,
812 což jsou hodnyty, které pozorujeme.
813 Co se odehrává uvnitř systému však obecně nevíme.
814 Řízení, které budeme dodávat systému na vstup bude v textu značeno písmenem
815 
816\emph on
817
818\begin_inset Formula $u$
819\end_inset
820
821
822\emph default
823.
824 Analogicky bude písmenem
825\emph on
826
827\begin_inset Formula $y$
828\end_inset
829
830
831\emph default
832 označena pozorovaná hodnota na výstupu.
833 
834\end_layout
835
836\begin_layout Standard
837Chování systému, to je jakým výstupem reaguje na vstup, popisujeme dle
838\begin_inset CommandInset citation
839LatexCommand cite
840key "MelicharLS"
841
842\end_inset
843
844 obecně diferenciální rovnicí respektive soustavou diferenciálních rovnic
845 vyšších řádů.
846 Jedná se o takzvaný
847\color black
848vnější popis
849\color inherit
850.
851 Tento druh popisu, pohlíží na systém
852\begin_inset Quotes gld
853\end_inset
854
855zvenku
856\begin_inset Quotes grd
857\end_inset
858
859 bez skutečné znalosti, co se odehrává uvnitř systému a jaká je jeho podstata.
860 Vnější popis obvykle obdržíme při odvození modelu systému z fyzikálních
861 rovnic.
862 Omezení, která z něj plynou, se snažíme odstranit zavedením
863\color black
864vnitřního (stavového) popisu
865\color inherit
866, kdy (soustavu) diferenciálních rovnic vyššího řádu, převedeme vhodnou
867 volbou nových proměnných
868\emph on
869
870\begin_inset Formula $x$
871\end_inset
872
873
874\series bold
875 
876\series default
877\emph default
878na soustavu diferenciálních rovnic prvního řádu.
879 Proměnné
880\emph on
881
882\begin_inset Formula $x$
883\end_inset
884
885
886\series bold
887 
888\series default
889\emph default
890označujeme jako
891\color black
892stavové proměnné
893\color inherit
894.
895\end_layout
896
897\begin_layout Subsubsection
898Řízení
899\end_layout
900
901\begin_layout Standard
902Naším úkolem je pro zadaný systém nalézt regulátor, tedy obecně řízení
903\emph on
904
905\begin_inset Formula $u$
906\end_inset
907
908
909\emph default
910 takové, které dodané na vstup způsobí, že systém se bude
911\begin_inset Quotes gld
912\end_inset
913
914chovat podle našich požadavků
915\begin_inset Quotes grd
916\end_inset
917
918.
919 To zpravidla znamená, že hodnoty výstupní veličiny
920\series bold
921\emph on
922
923\begin_inset Formula $y$
924\end_inset
925
926
927\series default
928\emph default
929 dosáhnou (nebo se přiblíží s danou přesností) požadované hodnotě v podobě
930 referenčního signálu, který regulátor dostavá z vnějšku a současně dodrží
931 předem stanovená omezení.
932 Práce je ovšem zaměřena na řízení složitějších systémů, u kterých jeden
933 nebo více parametrů neznáme přesně.
934 Tedy některý (více) z koeficientů v rovnicích popisujících systém není
935 znám.
936 Máme však o něm jistou statistickou informaci v podob
937\color black
938ě jeho
939\color inherit
940 očekávané hodnoty a variance.
941 Dále je-li systém nelineární, jsou výsledné rovnice příliš složité a tedy
942 analyticky neřešitelné.
943 Pro numerické řešení, jsou rovnice systému zpravidla převáděny do diskrétního
944 tvaru.
945\end_layout
946
947\begin_layout Standard
948Řízení obecně dělíme podle
949\begin_inset CommandInset citation
950LatexCommand cite
951key "MelicharLS"
952
953\end_inset
954
955 na dva typy:
956\emph on
957Přímovazební řízení
958\emph default
959 užíváme v případě, kde je k dispozici přesný matematický model systému
960 a je vyloučen výskyt neurčitostí.
961 Toto řízení nevyužívá žádné zpětné informace od systému a regulátor pracuje
962 pouze s referenčním signálem.
963 Naproti tomu
964\emph on
965zpětnovazební řízení
966\emph default
967 využívá i informace o skutečném výstupu systému a snaží se tak eliminovat
968 chyby v důsledku neurčitostí a chyb způsobenych nepřesností modelu.
969\end_layout
970
971\begin_layout Subsubsection
972Duální řízení
973\end_layout
974
975\begin_layout Standard
976Chceme navrhnout regulátor pro zadaný systém s neznámými parametry.
977 Úkoly jsou tedy dva: 1.
978
979\emph on
980 opatrnost
981\emph default
982 - efektivně systém řídit a 2.
983
984\emph on
985 buzení
986\emph default
987- určit neznáme parametry.
988 Tyto dva přístupy jsou ale obecně v rozporu.
989 Abychom mohli systém dobře řídit, potřebujeme znát parametry co nejpřesněji.
990 Nejvíce informací o parametrech však získáme, když je systém vybuzen a
991 nechová optimálně.
992 Tyto pojmy není snadné kvantifikovat, ale velmi často se projevují v konkrétníc
993h řídících schématech.
994 Naším úkolem je pokusit nalézt nějaký kompromis mezi oběma úkoly.
995 Právě tento přístup je označován jako
996\emph on
997duální řízení
998\emph default
999 
1000\begin_inset CommandInset citation
1001LatexCommand cite
1002key "BertsekasDPOC"
1003
1004\end_inset
1005
1006.
1007 
1008\end_layout
1009
1010\begin_layout Section
1011Dynamické programování
1012\end_layout
1013
1014\begin_layout Subsection
1015Formulace problému
1016\end_layout
1017
1018\begin_layout Standard
1019V textu budeme pracovat zpravidla s diskrétním systémem, ve smyslu systému
1020 s diskrétním časem, protože výpočty jsou prováděny ve většině případů problemat
1021iky duálního řízení numericky.
1022 Rovnice popisující systém jsou však zpravidla ve spojitém tvaru, (model
1023 často vychází ze skutečnosti, popřípadě fyzikálních zákonů).
1024 V tomto případě provádíme diskretizaci.
1025\end_layout
1026
1027\begin_layout Standard
1028Základní problém je formulován podle
1029\begin_inset CommandInset citation
1030LatexCommand cite
1031key "BertsekasDPOC"
1032
1033\end_inset
1034
1035 následovně:
1036\end_layout
1037
1038\begin_layout Standard
1039\begin_inset VSpace defskip
1040\end_inset
1041
1042
1043\end_layout
1044
1045\begin_layout Standard
1046Uvažujme stavový popis diskrétního dynamického systému
1047\begin_inset Formula \begin{equation}
1048\begin{array}{cc}
1049x_{k+1}=f_{k}(x_{k},u_{k},w_{k}), & k=0,\ldots,N-1\end{array},\label{eq:zakladniproblem}\end{equation}
1050
1051\end_inset
1052
1053kde
1054\begin_inset Formula $x_{k}$
1055\end_inset
1056
1057 je stavová proměná,
1058\begin_inset Formula $u_{k}$
1059\end_inset
1060
1061 řízení a
1062\begin_inset Formula $w_{k}$
1063\end_inset
1064
1065 náhodná porucha, vše v čase
1066\begin_inset Formula $k$
1067\end_inset
1068
1069 při celkovém časovém horizontu
1070\begin_inset Formula $N$
1071\end_inset
1072
1073.
1074 Na řízení
1075\begin_inset Formula $u_{k}$
1076\end_inset
1077
1078 klademe omezení, že může nabývat pouze hodnot z neprázdné monožiny
1079\begin_inset Formula $U_{k}(x_{k})$
1080\end_inset
1081
1082 závislé na stavu
1083\begin_inset Formula $x_{k}$
1084\end_inset
1085
1086.
1087 Náhodná porucha
1088\begin_inset Formula $w_{k}$
1089\end_inset
1090
1091 je charakterizována rozdělením pravděpodobnosti
1092\begin_inset Formula $P_{k}$
1093\end_inset
1094
1095, které může explicitně záviset na
1096\begin_inset Formula $x_{k}$
1097\end_inset
1098
1099 a
1100\begin_inset Formula $u_{k}$
1101\end_inset
1102
1103, ne však na předchozích poruchách
1104\begin_inset Formula $w_{k-1},\ldots,w_{0}$
1105\end_inset
1106
1107.
1108\end_layout
1109
1110\begin_layout Standard
1111Dále uvažujme množinu řízení, jedná se o posloupnost funkcí
1112\begin_inset Formula \[
1113\pi=\{\mu_{0},\ldots,\mu_{N-1}\},\]
1114
1115\end_inset
1116
1117kde
1118\begin_inset Formula $\mu_{k}$
1119\end_inset
1120
1121 přiřazuje stavu
1122\begin_inset Formula $x_{k}$
1123\end_inset
1124
1125 přípustné řízení
1126\begin_inset Formula $u_{k}=\mu_{k}(x_{k})$
1127\end_inset
1128
1129, to je takové, že
1130\begin_inset Formula $\mu_{k}(x_{k})\in U_{k}(x_{k})$
1131\end_inset
1132
1133, množinu přípustných řešení označme
1134\begin_inset Formula $\Pi$
1135\end_inset
1136
1137.
1138 Máme-li dány počáteční stav
1139\begin_inset Formula $x_{0}$
1140\end_inset
1141
1142 a přípustné řešení
1143\begin_inset Formula $\pi$
1144\end_inset
1145
1146 můžeme stavy
1147\begin_inset Formula $x_{k}$
1148\end_inset
1149
1150 a poruchy
1151\begin_inset Formula $w_{k}$
1152\end_inset
1153
1154 považovat za náhodné veličiny s rozdělemím definovaným systémem rovnic
1155 
1156\begin_inset CommandInset ref
1157LatexCommand ref
1158reference "eq:zakladniproblem"
1159
1160\end_inset
1161
1162, kde za řízení
1163\begin_inset Formula $u_{k}$
1164\end_inset
1165
1166 dosadíme hodnotu funkce
1167\begin_inset Formula $\mu_{k}$
1168\end_inset
1169
1170 v
1171\begin_inset Formula $x_{k}$
1172\end_inset
1173
1174.
1175\end_layout
1176
1177\begin_layout Standard
1178Pro dané ztráty v jednotlivých časech -- funkce
1179\begin_inset Formula $g_{k}$
1180\end_inset
1181
1182, pak definujeme očekávanou ztrátu
1183\begin_inset Formula $\pi$
1184\end_inset
1185
1186 v
1187\begin_inset Formula $x_{0}$
1188\end_inset
1189
1190 jako
1191\begin_inset Formula \[
1192J_{\pi}(x_{0})=\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=0}^{N-1}g_{k}\left(x_{k},\mu_{k}(x_{k}),w_{k}\right)\right\} \]
1193
1194\end_inset
1195
1196kde je očekávaná hodnota počítána přes náhodné veličiny
1197\begin_inset Formula $w_{k}$
1198\end_inset
1199
1200 a
1201\begin_inset Formula $x_{k}$
1202\end_inset
1203
1204.
1205 Optimální řízení
1206\begin_inset Formula $\pi^{*}$
1207\end_inset
1208
1209je právě to, které minimalizuje ztrátu
1210\begin_inset Formula \[
1211J_{\pi^{*}}(x_{0})=\min_{\pi\in\Pi}J_{\pi}(x_{0}).\]
1212
1213\end_inset
1214
1215Optimální ztrátu označme
1216\begin_inset Formula $J^{*}(x_{0})$
1217\end_inset
1218
1219.
1220\end_layout
1221
1222\begin_layout Subsection
1223Přístup dynamického programování
1224\end_layout
1225
1226\begin_layout Standard
1227Dynamické programovní dle
1228\begin_inset CommandInset citation
1229LatexCommand cite
1230key "ViriusZA"
1231
1232\end_inset
1233
1234 je jedním ze způsobů návrhu algoritmů pro řešení jistých typu optimalizačních
1235 problémů.
1236 Konkrétně se uplatňuje v případě, že jde o diskrétní optimalizační úlohu,
1237 na řešení daného problému můžeme nahlížet jako na konečnou posloupnost
1238 rozhodnutí a platí
1239\emph on
1240princip optimality
1241\emph default
1242.
1243\end_layout
1244
1245\begin_layout Subsubsection
1246Princip optimality
1247\end_layout
1248
1249\begin_layout Standard
1250říká, že optimální posloupnost rozhodnutí musí mít následující vlastnost:
1251 
1252\emph on
1253Jestliže jsme už udělali
1254\emph default
1255k
1256\emph on
1257rozhodnutí, musí být všechna následující rozhodnutí optimální vzhledem k
1258 výsledkům rozhodnutí předchozích, jinak nemůžeme dostat optimální řešení
1259 
1260\emph default
1261
1262\begin_inset CommandInset citation
1263LatexCommand cite
1264key "ViriusZA"
1265
1266\end_inset
1267
1268
1269\emph on
1270.
1271\end_layout
1272
1273\begin_layout Subsubsection
1274Princip optimality v teorii řízení
1275\end_layout
1276
1277\begin_layout Standard
1278Nechť
1279\begin_inset Formula $\pi^{*}=\left\{ \mu_{0}^{*},\mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1280\end_inset
1281
1282 je optimální řídící strategie pro
1283\color black
1284základní
1285\color inherit
1286 problém a předpokládejme, že když aplikujeme řízení
1287\begin_inset Formula $\pi^{*}$
1288\end_inset
1289
1290, daný stav
1291\begin_inset Formula $x_{i}$
1292\end_inset
1293
1294 se vyskytne v čase
1295\begin_inset Formula $i$
1296\end_inset
1297
1298 s pozitivní pravděpodobností.
1299 Uvažujme podproblém, kdy ve stavu
1300\begin_inset Formula $x_{i}$
1301\end_inset
1302
1303 a čase
1304\begin_inset Formula $i$
1305\end_inset
1306
1307 chceme minimalizovat
1308\emph on
1309náklady na pokračování
1310\emph default
1311 (v anglické literatuře označováno jako
1312\color black
1313
1314\begin_inset Quotes gld
1315\end_inset
1316
1317cost-to-go
1318\color inherit
1319
1320\begin_inset Quotes grd
1321\end_inset
1322
1323) od času
1324\begin_inset Formula $i$
1325\end_inset
1326
1327 do
1328\begin_inset Formula $N$
1329\end_inset
1330
1331
1332\begin_inset Formula \[
1333\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=i}^{N-1}g_{k}(x_{k},\mu_{k}(x_{k}),w_{k})\right\} \]
1334
1335\end_inset
1336
1337Potom úsek strategie
1338\family roman
1339\series medium
1340\shape up
1341\size normal
1342\emph off
1343\bar no
1344\noun off
1345\color none
1346
1347\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1348\end_inset
1349
1350 je optimální pro tento podproblém.
1351\begin_inset VSpace medskip
1352\end_inset
1353
1354
1355\end_layout
1356
1357\begin_layout Standard
1358Intuitivně je princip optimality velmi jednoduchý.
1359 Jestliže úsek strategie
1360\begin_inset Formula $\left\{ \mu_{i}^{*},\mu_{i+1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1361\end_inset
1362
1363 nebude optimální, budeme schopni dále zredukovat cenu přechodem k optimální
1364 strategii pro podproblém.
1365\end_layout
1366
1367\begin_layout Standard
1368Princip optimality umožňuje optimální strategii konstruovat postupně.
1369 Nejdříve nalezneme optimální strategii pro koncový podproblém zahrnující
1370 poslední krok.
1371 Poté rozšiřujeme podproblém od konce přidáním předposledního kroku a tak
1372 dále.
1373 Takto může být vytvořena optimální strategie pro celý problém.
1374\end_layout
1375
1376\begin_layout Standard
1377Algoritmus dynamického programování je tedy založen na následující myšlence:
1378 Algoritmus pracuje iterativně a řeší
1379\color black
1380koncové
1381\color inherit
1382 podproblémy pro daný časový úsek, při tom využívá řešení předchozích
1383\color black
1384koncových
1385\color inherit
1386 podproblémů pro kratší časové úseky.
1387 Převzato z
1388\begin_inset CommandInset citation
1389LatexCommand cite
1390key "BertsekasDPOC"
1391
1392\end_inset
1393
1394.
1395\end_layout
1396
1397\begin_layout Subsubsection
1398Formulace algoritmu dynamického programování
1399\end_layout
1400
1401\begin_layout Standard
1402Podle
1403\begin_inset CommandInset citation
1404LatexCommand cite
1405key "BertsekasDPOC"
1406
1407\end_inset
1408
1409, pro každý počáteční stav
1410\begin_inset Formula $x_{0}$
1411\end_inset
1412
1413, je optimální cena
1414\begin_inset Formula $J^{*}(x_{0})$
1415\end_inset
1416
1417 základního problému rovna
1418\begin_inset Formula $J_{0}(x_{0})$
1419\end_inset
1420
1421, získané z posledního kroku následujícího algoritmu, který prochází zpět
1422 časy od
1423\begin_inset Formula $N-1$
1424\end_inset
1425
1426 do
1427\begin_inset Formula $0$
1428\end_inset
1429
1430:
1431\begin_inset Formula \[
1432J_{N}(x_{N})=g_{N}(x_{N})\]
1433
1434\end_inset
1435
1436
1437\end_layout
1438
1439\begin_layout Standard
1440\begin_inset Formula \begin{equation}
1441J_{k}(x_{k})=\min_{u_{k}\in U_{k}(x_{k})w_{k}}\mathbf{E}\left\{ g_{k}(x_{k},u_{k},w_{k})+J_{k+1}(f_{k}(x_{k},u_{k},w_{k}))\right\} \label{eq:Jkeqmin}\end{equation}
1442
1443\end_inset
1444
1445
1446\begin_inset Formula \[
1447k=0,1,\ldots,N-1\]
1448
1449\end_inset
1450
1451
1452\end_layout
1453
1454\begin_layout Standard
1455kde je očekávaná hodnota počítána podle náhodné veličiny
1456\begin_inset Formula $w_{k}$
1457\end_inset
1458
1459, která obecně závisí na
1460\begin_inset Formula $x_{k}$
1461\end_inset
1462
1463 a
1464\begin_inset Formula $u_{k}$
1465\end_inset
1466
1467.
1468 Dále, když
1469\begin_inset Formula $u_{k}^{*}=\mu_{k}^{*}(x_{k})$
1470\end_inset
1471
1472 minimalizuje pravou stranu rovnice
1473\begin_inset CommandInset ref
1474LatexCommand eqref
1475reference "eq:Jkeqmin"
1476
1477\end_inset
1478
1479 pro každé
1480\begin_inset Formula $x_{k}$
1481\end_inset
1482
1483 a
1484\begin_inset Formula $k$
1485\end_inset
1486
1487, stretegie
1488\begin_inset Formula $\pi*=\left\{ \mu_{1}^{*},\ldots,\mu_{N-1}^{*}\right\} $
1489\end_inset
1490
1491 je optimální.
1492\begin_inset VSpace medskip
1493\end_inset
1494
1495
1496\end_layout
1497
1498\begin_layout Standard
1499Hodnotu
1500\begin_inset Formula $J_{k}(x_{k})$
1501\end_inset
1502
1503 je možno interpretovat jako optimální cenu pro
1504\emph on
1505
1506\begin_inset Formula $(N-k)$
1507\end_inset
1508
1509
1510\emph default
1511-tý krok problému začínajícího ve stavu
1512\begin_inset Formula $x_{k}$
1513\end_inset
1514
1515 a čase
1516\begin_inset Formula $k$
1517\end_inset
1518
1519, a končícího v čase
1520\begin_inset Formula $N$
1521\end_inset
1522
1523.
1524 Následně označujeme
1525\begin_inset Formula $J_{k}(x_{k})$
1526\end_inset
1527
1528 náklady na pokračování (
1529\color black
1530
1531\begin_inset Quotes gld
1532\end_inset
1533
1534cost-to-go
1535\color inherit
1536
1537\begin_inset Quotes grd
1538\end_inset
1539
1540) ve stavu
1541\begin_inset Formula $x_{k}$
1542\end_inset
1543
1544 a čase
1545\begin_inset Formula $k$
1546\end_inset
1547
1548, a
1549\begin_inset Formula $J_{k}$
1550\end_inset
1551
1552 označujeme jako funkci nákladů na pokračování (
1553\color black
1554
1555\begin_inset Quotes gld
1556\end_inset
1557
1558cost-to-go
1559\color inherit
1560 function
1561\begin_inset Quotes grd
1562\end_inset
1563
1564) v čase
1565\begin_inset Formula $k$
1566\end_inset
1567
1568.
1569 
1570\end_layout
1571
1572\begin_layout Standard
1573Ideálně bychom chtěli využít algoritmus dynamického programování k získání
1574 
1575\begin_inset Formula $J_{k}$
1576\end_inset
1577
1578 vyjádřené v uzavřeném tvaru nebo k získání optimální strategie.
1579 Existuje mnoho případů, kdy je daná úloha řešitelná analyticky, obzvláště
1580 za zjednodušujících předpokladů.
1581 To je velmi užitečné zejména pro lepší náhled do problematiky a jako vodítko
1582 pro složitější modely.
1583 Avšak ve většíně případů není analytické řešení možné, pak je třeba použít
1584 numerické řešení pomocí algoritmu dynamického programování.
1585 Tento přístup může být časově velmi náročný, zejména minimalizaci v rovnici
1586 
1587\begin_inset CommandInset ref
1588LatexCommand eqref
1589reference "eq:Jkeqmin"
1590
1591\end_inset
1592
1593 je třeba provést pro každou hodnotu
1594\begin_inset Formula $x_{k}$
1595\end_inset
1596
1597.
1598 Stavový prostor musí být diskretizován, nejedná-li se o konečnou množinu
1599 a výpočetní nároky pak narůstají proporcionálně k počtu možných hodnot
1600 
1601\begin_inset Formula $x_{k}$
1602\end_inset
1603
1604.
1605 Nicméně dynamické programování je pouze obecný přístup pro iterativní optimaliz
1606aci při uvažování nejistoty v systému.
1607\end_layout
1608
1609\begin_layout Section
1610Vliv neznalosti na systém
1611\end_layout
1612
1613\begin_layout Subsection
1614Úplná a neúplná stavová informace
1615\end_layout
1616
1617\begin_layout Standard
1618V optimálním případě by bylo možno měřit všechny stavové veličiny systému
1619 a na jejich základě libovolným způsobem upravovat jeho dynamické vlastnosti.
1620 Ve skutečnosti ale zpravidla není možné všechny stavy změřit a musíme se
1621 rozhodovat pouze na základě informací, které máme k dispozici, pak mluvíme
1622 o
1623\emph on
1624neúplné informaci o stavu systému
1625\emph default
1626 
1627\begin_inset CommandInset citation
1628LatexCommand cite
1629key "StechaTDS,BertsekasDPOC"
1630
1631\end_inset
1632
1633.
1634 Může to být způsobeno například nedostupností hodnot některých stavů, použité
1635 měřící přístroje mohou být nepřesné nebo náklady na získání přesné hodnoty
1636 stavu mohou být příliš omezující.
1637 Případy tohoto typu modelujeme zpravidla tak, že v každém kroku regulátor
1638 obdrží jisté pozorování skutečné hodnoty stavu, které ovšem může být ovlivněno
1639 a narušeno stochastickou nejistotou.
1640 Teoreticky se však problém s neúplnou informací o stavu neodlišuje od úloh
1641 s úplnou stavovou informací, protože existují způsoby, jak převést (redukovat)
1642 systém s neúplnou informací na systém s úplnou.
1643 Tyto postupy obecně vedou na algoritmy využívající dynamické programování,
1644 ale jsou výpočetně mnohem náročnější, než v případě úplné informace.
1645 Dva možné postupy redukce převzaté z
1646\begin_inset CommandInset citation
1647LatexCommand cite
1648key "BertsekasDPOC"
1649
1650\end_inset
1651
1652 budou následovat po formulaci problému:
1653\end_layout
1654
1655\begin_layout Subsubsection
1656Formulace problému s neúplnou informací o stavu
1657\end_layout
1658
1659\begin_layout Standard
1660Nejdříve formulujme základní problém s neúplnou stavovou informací, který
1661 následně redukujeme na systém s informací úplnou.
1662 Uvažujme rozšíření základního problému
1663\begin_inset CommandInset ref
1664LatexCommand ref
1665reference "eq:zakladniproblem"
1666
1667\end_inset
1668
1669, kde ale regulátor, namísto přístupu ke stavu systému, získává pouze pozorování
1670 
1671\begin_inset Formula $z_{k}$
1672\end_inset
1673
1674 ve tvaru
1675\begin_inset Formula \begin{equation}
1676z_{0}=h_{0}(x_{0},v_{0}),\quad z_{k}=h_{k}(x_{k},u_{k-1},v_{k}),\quad k=1,2,\ldots,N-1,\label{eq:zaklprobneuplnystav}\end{equation}
1677
1678\end_inset
1679
1680kde
1681\begin_inset Formula $v_{k}$
1682\end_inset
1683
1684 reprezentuje náhodnou poruchu pozorování charakterizovanou rozdělením pravděpod
1685obnosti
1686\begin_inset Formula $P_{v_{k}}$
1687\end_inset
1688
1689, která závisí na současném stavu a všech předchozích stavech, řízeních
1690 a poruchách.
1691 Dále také počáteční stav
1692\begin_inset Formula $x_{0}$
1693\end_inset
1694
1695 považujeme za náhodnou veličinu s rozdělením
1696\begin_inset Formula $P_{x_{0}}$
1697\end_inset
1698
1699.
1700\end_layout
1701
1702\begin_layout Standard
1703Soubor informací dostupných regulátoru v čase
1704\begin_inset Formula $k$
1705\end_inset
1706
1707 označme
1708\begin_inset Formula $I_{k}$
1709\end_inset
1710
1711 informačním vektorem.
1712 Tedy
1713\begin_inset Formula \begin{eqnarray*}
1714I_{k} & = & (z_{0},\ldots,z_{k},u_{0},\ldots,u_{k-1}),\quad k=1,\ldots,N-1,\\
1715I_{0} & = & z_{0}.\end{eqnarray*}
1716
1717\end_inset
1718
1719Uvažujme množinu přípustných řízení jako posloupnost funkcí
1720\begin_inset Formula $\pi=\{\mu_{0},\ldots,\mu_{N-1}\}$
1721\end_inset
1722
1723, kde každá funkce
1724\begin_inset Formula $\mu_{k}$
1725\end_inset
1726
1727 přiřazuje informačnímu vektoru
1728\begin_inset Formula $I_{k}$
1729\end_inset
1730
1731 řízení
1732\begin_inset Formula $\mu_{k}(I_{k})\in U_{k}$
1733\end_inset
1734
1735, pro všechna
1736\begin_inset Formula $I_{k}$
1737\end_inset
1738
1739, kde
1740\begin_inset Formula $k=0,\ldots,N-1$
1741\end_inset
1742
1743.
1744 Chceme najít přípustnou řídící strategii, to jest posloupnost
1745\begin_inset Formula $\pi$
1746\end_inset
1747
1748, která minimalizuje očekávanou ztrátu
1749\begin_inset Formula \[
1750J_{\pi}=\mathbf{E}\left\{ g_{N}(x_{N})+\sum_{k=0}^{N-1}g_{k}\left(x_{k},\mu_{k}(I_{k}),w_{k}\right)\right\} ,\]
1751
1752\end_inset
1753
1754kde je očekávaná hodnota počítána přes náhodné veličiny
1755\begin_inset Formula $x_{0}$
1756\end_inset
1757
1758 a
1759\begin_inset Formula $w_{k},v_{k}$
1760\end_inset
1761
1762 pro
1763\begin_inset Formula $k=0,\ldots,N-1$
1764\end_inset
1765
1766.
1767 Veličiny
1768\begin_inset Formula $x_{k}$
1769\end_inset
1770
1771 a
1772\begin_inset Formula $z_{k}$
1773\end_inset
1774
1775 se vypočítají z rovnic
1776\begin_inset CommandInset ref
1777LatexCommand ref
1778reference "eq:zakladniproblem"
1779
1780\end_inset
1781
1782 respektive
1783\begin_inset CommandInset ref
1784LatexCommand ref
1785reference "eq:zaklprobneuplnystav"
1786
1787\end_inset
1788
1789, přičemž v nich položíme
1790\begin_inset Formula $u_{k}=\mu_{k}(I_{k})$
1791\end_inset
1792
1793.
1794\end_layout
1795
1796\begin_layout Subsubsection
1797Redukce na systém s úplnou stavovou informací
1798\end_layout
1799
1800\begin_layout Standard
1801Tento postup je založen na myšlence definovat nový systém, jehož stav v
1802 čase
1803\begin_inset Formula $k$
1804\end_inset
1805
1806 je množina všech hodnot, kterých může využít regulátor při tvorbě řízení.
1807 Jako stav nového systému tedy volíme informační vektor
1808\begin_inset Formula $I_{k}$
1809\end_inset
1810
1811 a získáme systém
1812\begin_inset Formula \begin{equation}
1813I_{k+1}=(I_{k,}z_{k+1},u_{k}),\quad I_{0}=z_{0},\quad k=0,\ldots,N-2.\label{eq:rednewsystem}\end{equation}
1814
1815\end_inset
1816
1817Na tento systém povahy základního problému s úplnou informací můžeme pohlížet
1818 tak, že
1819\begin_inset Formula $I_{k}$
1820\end_inset
1821
1822 je stav.
1823 Řízení
1824\begin_inset Formula $u_{k}$
1825\end_inset
1826
1827 a pozorování
1828\begin_inset Formula $z_{k}$
1829\end_inset
1830
1831 lze pak chápat jako náhodné poruchy.
1832 Dále rozdělení pravděpodobnosti
1833\begin_inset Formula $z_{k+1}$
1834\end_inset
1835
1836 závisí explicitně pouze na stavu
1837\begin_inset Formula $I_{k}$
1838\end_inset
1839
1840 a řízení
1841\begin_inset Formula $u_{k}$
1842\end_inset
1843
1844.
1845 Ztrátovou funkci vyjádřenou pro nový systém je možno zapsat jako
1846\begin_inset Formula \[
1847\mathbf{E}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\right\} =\mathbf{E}\left\{ \mathbf{E}_{x_{k},w_{k}}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\mid I_{k},u_{k}\right\} \right\} .\]
1848
1849\end_inset
1850
1851Tedy ztráta během jednoho kroku vyjádřená jako funkce nového stavu
1852\begin_inset Formula $I_{k}$
1853\end_inset
1854
1855 a řízení
1856\begin_inset Formula $u_{k}$
1857\end_inset
1858
1859 je
1860\begin_inset Formula \begin{equation}
1861\tilde{g}_{k}(I_{k,}u_{k})=\mathbf{E}_{x_{k},w_{k}}\left\{ g_{k}\left(x_{k},u_{k},w_{k}\right)\mid I_{k},u_{k}\right\} .\label{eq:rednewztrata}\end{equation}
1862
1863\end_inset
1864
1865Původní základní problém s neúplnou stavovou informací byl tedy převeden
1866 na úlohu s úplnou stavovou informací s rovnicí popisující systém
1867\begin_inset CommandInset ref
1868LatexCommand ref
1869reference "eq:rednewsystem"
1870
1871\end_inset
1872
1873 a ztrátou během jednoho kroku
1874\begin_inset CommandInset ref
1875LatexCommand ref
1876reference "eq:rednewztrata"
1877
1878\end_inset
1879
1880.
1881 Nyní je pro něj možno napsat algoritmus dynamického programování.
1882 
1883\end_layout
1884
1885\begin_layout Subsubsection
1886Postačující statistika
1887\end_layout
1888
1889\begin_layout Standard
1890Při užití algoritmu dynamického programování za neúplné stavové informace
1891 je hlavní problém v jeho vyhodnocování ve stavovém prostoru, jehož dimenze
1892 neustále roste.
1893 S každým dalším měřením dimenze stavu a tedy informační vektor
1894\begin_inset Formula $I_{k}$
1895\end_inset
1896
1897 narůstá, proto se snažíme redukovat množství dat skutečně potřebných pro
1898 účely řízení.
1899 Hledáme tedy popis známý jako
1900\emph on
1901postačující statistika
1902\emph default
1903, který bude mít menší dimenzi než
1904\begin_inset Formula $I_{k}$
1905\end_inset
1906
1907 ale současně zahrne veškerý důležitý obsah
1908\begin_inset Formula $I_{k}$
1909\end_inset
1910
1911 potřebný pro řízení.
1912 Jako postačující statistiku označme funkci
1913\begin_inset Formula $S_{k}$
1914\end_inset
1915
1916 informačního vektoru
1917\begin_inset Formula $I_{k}$
1918\end_inset
1919
1920, tedy
1921\begin_inset Formula $S_{k}(I_{k})$
1922\end_inset
1923
1924 takovou, že minimalizuje ztrátu v algoritmu dynamického programování přes
1925 všechna přípustná řízení.
1926 Což můžeme zapsat pro vhodnou funkci
1927\begin_inset Formula $H_{k}$
1928\end_inset
1929
1930 jako
1931\begin_inset Formula \begin{eqnarray*}
1932J_{k}(I_{k}) & = & \min_{u_{k}\in U_{k}}H_{k}(S_{k}(I_{k}),u_{k}).\end{eqnarray*}
1933
1934\end_inset
1935
1936Po funkci
1937\begin_inset Formula $S_{k}$
1938\end_inset
1939
1940 samozřejmě chceme, aby byla charakterizována menší množinou čísel, než
1941 informační vektor
1942\begin_inset Formula $I_{k}$
1943\end_inset
1944
1945, abychom získaly výhody z jejího použití.
1946 Obecně existuje mnoho funkcí, které mohou sloužit jako postačující statistika.
1947 Triviálním příkladem může být identita
1948\begin_inset Formula $S_{k}(I_{k})=I_{k}$
1949\end_inset
1950
1951.
1952 
1953\end_layout
1954
1955\begin_layout Standard
1956Závisí-li rozdělení pravděpodobnosti poruchy pozorování
1957\begin_inset Formula $v_{k}$
1958\end_inset
1959
1960 explicitně pouze na bezprostředně předcházejícím stavu, řízení a poruše
1961 systému, tedy na
1962\begin_inset Formula $x_{k},u_{k},w_{k}$
1963\end_inset
1964
1965 a nezávisí na předchozích hodnotách
1966\begin_inset Formula $x_{k-1},\ldots,x_{0},u_{k-1},\ldots,u_{0},w_{k-1},\ldots,w_{0},v_{k-1},\ldots,v_{0}$
1967\end_inset
1968
1969 můžeme za postačující statistiku volit podmíněné rozdělení pravděpodobnosti
1970 
1971\begin_inset Formula $P_{x_{k}|I_{k}}$
1972\end_inset
1973
1974, o kterém lze ukázat (viz
1975\begin_inset CommandInset citation
1976LatexCommand cite
1977key "BertsekasDPOC"
1978
1979\end_inset
1980
1981), že
1982\begin_inset Formula \[
1983J_{k}(I_{k})=\min_{u_{k}\in U_{k}}H_{k}(P_{x_{k}|I_{k}},u_{k})=\overline{J}_{k}(P_{x_{k}|I_{k}}),\]
1984
1985\end_inset
1986
1987kde
1988\begin_inset Formula $H_{k}$
1989\end_inset
1990
1991 a
1992\begin_inset Formula $\overline{J}_{k}$
1993\end_inset
1994
1995 jsou vhodné funkce.
1996 Optimální řízení pak získáme ve tvaru funkcí podmíněného rozdělení pravděpodobn
1997osti
1998\begin_inset Formula $\mu_{k}(I_{k})=\overline{\mu}_{k}(P_{x_{k}|I_{k}})$
1999\end_inset
2000
2001 pro
2002\begin_inset Formula $k=0,\ldots,N-1$
2003\end_inset
2004
2005.
2006 Tato reprezentace může být velmi užitečná, protože nám umožňuje rozložit
2007 optimální řízení na dvě nezávislé časti:
2008\end_layout
2009
2010\begin_layout Enumerate
2011
2012\emph on
2013pozorovatel
2014\emph default
2015 (estimátor), který v čase
2016\begin_inset Formula $k$
2017\end_inset
2018
2019 použije měření
2020\begin_inset Formula $z_{k}$
2021\end_inset
2022
2023 a řízení
2024\begin_inset Formula $u_{k-1}$
2025\end_inset
2026
2027 k vygenerování rozdělení pravděpodobnosti
2028\begin_inset Formula $P_{x_{k}|I_{k}}$
2029\end_inset
2030
2031
2032\end_layout
2033
2034\begin_layout Enumerate
2035
2036\emph on
2037regulátor
2038\emph default
2039 (akurátor), který generuje vstupy (řízení) pro systém jako funkci rozdělení
2040 pravděpodobnosti
2041\begin_inset Formula $P_{x_{k}|I_{k}}$
2042\end_inset
2043
2044
2045\end_layout
2046
2047\begin_layout Standard
2048Tento rozklad pak umožňuje navrhovat každou z částí samostatně podle charakteru
2049 konkrétní úlohy.
2050\end_layout
2051
2052\begin_layout Subsection
2053Kalmanův filtr
2054\begin_inset CommandInset label
2055LatexCommand label
2056name "sub:Kalmanův-filtr"
2057
2058\end_inset
2059
2060
2061\end_layout
2062
2063\begin_layout Standard
2064Chceme řešit následující problém, viz
2065\begin_inset CommandInset citation
2066LatexCommand cite
2067key "StechaTDS"
2068
2069\end_inset
2070
2071: Máme lineární systém s neúplnou stavovou informací a snažíme se odhadnout
2072 (rekonstruovat, estimovat) stav systému z měřitelných vstupních a výstupních
2073 veličin.
2074 Dále předpokládejme, že měření výstupu a popřípadě i vstupu je zatíženo
2075 chybou měření.
2076 Tyto nepřesnosti měření můžeme modelovat jako aditivní šum.
2077 Odhadování (rekonstrukci, estimaci) potom navrhujeme pomocí stochastických
2078 metod.
2079 Řešení vede na takzvaný
2080\emph on
2081Kalmanův filtr
2082\emph default
2083.
2084\end_layout
2085
2086\begin_layout Standard
2087\begin_inset VSpace medskip
2088\end_inset
2089
2090
2091\end_layout
2092
2093\begin_layout Standard
2094Následující formulace problému a popis algoritmu Kalmanova filtru je převzat
2095 z
2096\begin_inset CommandInset citation
2097LatexCommand cite
2098key "BertsekasDPOC"
2099
2100\end_inset
2101
2102, kde lze také nalézt odvození příslušných rovnic: Máme dva náhodné vektory
2103 
2104\begin_inset Formula $x$
2105\end_inset
2106
2107 a
2108\begin_inset Formula $y$
2109\end_inset
2110
2111, které jsou svázány sdruženým rozdělením pravděpodobnosti tak, že hodnota
2112 jednoho poskytuje informaci o hodnotě druhého.
2113 Známe hodnotu
2114\begin_inset Formula $y$
2115\end_inset
2116
2117 a chceme určit (odhadnout) hodnotu
2118\begin_inset Formula $x$
2119\end_inset
2120
2121 tak, aby střední kvadratická odchylka mezi
2122\begin_inset Formula $x$
2123\end_inset
2124
2125 a jeho odhadem byla minimální.
2126\end_layout
2127
2128\begin_layout Standard
2129Takový odhad můžeme zístat v nejjednodušším případě metodou nejmenších čtverců,
2130 ale pro tento způsob je třeba velkého počtu měření.
2131 Jako lepší způsob se ale jeví využít sekvenční struktury problému a iterativně
2132 použít Kalmanův filtr, kdy odhad v čase
2133\begin_inset Formula $k+1$
2134\end_inset
2135
2136 získáme na základě jednoduchých rovnic pouze z předchozího odhadu a nového
2137 měření v čase
2138\begin_inset Formula $k$
2139\end_inset
2140
2141, žádná předchozí měření nejsou explicitně zahrnuta.
2142\end_layout
2143
2144\begin_layout Standard
2145V dalším textu označme
2146\begin_inset Formula $\hat{x}_{k|k-1}$
2147\end_inset
2148
2149 apriorní odhad stavu, tedy odhad stavu v čase
2150\begin_inset Formula $k$
2151\end_inset
2152
2153 na základě informací až do času
2154\begin_inset Formula $k-1$
2155\end_inset
2156
2157.
2158 Analogicky
2159\begin_inset Formula $\Sigma_{k|k-1}$
2160\end_inset
2161
2162 označuje apriorní kovarianční matici.
2163 Aposteriorní odhad stavu označme
2164\begin_inset Formula $\hat{x}_{k|k}$
2165\end_inset
2166
2167, to jest odhad v čase
2168\begin_inset Formula $k$
2169\end_inset
2170
2171 na základě informačí až do času
2172\begin_inset Formula $k$
2173\end_inset
2174
2175.
2176 Aposteriorní kovarianční matice je pak označena
2177\begin_inset Formula $\Sigma_{k|k}$
2178\end_inset
2179
2180.
2181 
2182\end_layout
2183
2184\begin_layout Standard
2185\begin_inset VSpace bigskip
2186\end_inset
2187
2188
2189\end_layout
2190
2191\begin_layout Subsubsection
2192System
2193\end_layout
2194
2195\begin_layout Standard
2196Uvažujme lineární dynamický systém bez řízení (
2197\begin_inset Formula $u_{k}\equiv0$
2198\end_inset
2199
2200) ve tvaru
2201\begin_inset Formula \[
2202x_{k+1}=A_{k}x_{k}+w_{k},\; k=0,1,\ldots,N-1,\]
2203
2204\end_inset
2205
2206kde
2207\begin_inset Formula $x_{k}$
2208\end_inset
2209
2210 je vektor stavu,
2211\begin_inset Formula $w_{k}$
2212\end_inset
2213
2214 vektor náhodné poruchy a matice
2215\begin_inset Formula $A_{k}$
2216\end_inset
2217
2218 předpokládáme známé.
2219 Dále rovnice měření je
2220\begin_inset Formula \[
2221z_{k}=C_{k}x_{k}+v_{k},\; k=0,1,\ldots,N-1,\]
2222
2223\end_inset
2224
2225kde
2226\begin_inset Formula $z_{k}$
2227\end_inset
2228
2229 je vektor pozorování (měřených veličin) a
2230\begin_inset Formula $v_{k}$
2231\end_inset
2232
2233 vektor šumu.
2234 Nechť
2235\begin_inset Formula $x_{0},w_{0},\ldots,w_{N-1},v_{0},\ldots,v_{N-1}$
2236\end_inset
2237
2238 jsou vektory nezávislých náhodných veličin s daným rozdělením pravděpodobnosti,
2239 takovým, že
2240\begin_inset Formula \[
2241\mathrm{E}\{w_{k}\}=\mathrm{E}\{v_{k}\}=0,\; k=0,1,\ldots,N-1.\]
2242
2243\end_inset
2244
2245Označme
2246\begin_inset Formula \[
2247S=\mathrm{E}\left\{ \left(x_{0}-\mathrm{E}\{x_{0}\}\right)\left(x_{0}-\mathrm{E}\{x_{0}\}\right)^{T}\right\} ,\; M_{k}=\mathrm{E}\{w_{k}w_{k}^{T}\},\; N_{k}=\mathrm{E}\{v_{k}v_{k}^{T}\},\]
2248
2249\end_inset
2250
2251a nechť matice
2252\begin_inset Formula $N_{k}$
2253\end_inset
2254
2255 pozitivně definitní pro všechny časy
2256\begin_inset Formula $k$
2257\end_inset
2258
2259.
2260\end_layout
2261
2262\begin_layout Subsubsection
2263Algoritmus Kalmanova filtru
2264\end_layout
2265
2266\begin_layout Standard
2267Předpokládejme, že máme spočítaný odhad
2268\begin_inset Formula $\hat{x}_{k|k-1}$
2269\end_inset
2270
2271 společně s kovarianční maticí
2272\begin_inset Formula $\Sigma_{k|k-1}=\mathrm{E}\left\{ \left(x_{k}-\hat{x}_{k|k-1}\right)\left(x_{k}-\hat{x}_{k|k-1}\right)^{T}\right\} $
2273\end_inset
2274
2275.
2276 V čase
2277\begin_inset Formula $k$
2278\end_inset
2279
2280 získáme další měření
2281\begin_inset Formula $z_{k}=C_{k}x_{k}+v_{k}$
2282\end_inset
2283
2284.
2285 Nyní můžeme získat aposteriorní odhad stavu
2286\begin_inset Formula $\hat{x}_{k|k}$
2287\end_inset
2288
2289 v čase
2290\begin_inset Formula $k$
2291\end_inset
2292
2293 jako
2294\begin_inset Formula \begin{equation}
2295\hat{x}_{k|k}=\hat{x}_{k|k-1}+\Sigma_{k|k-1}C_{k}^{T}\left(C_{k}\Sigma_{k|k-1}C_{k}^{T}+N_{k}\right)^{-1}\left(z_{k}-C_{k}\hat{x}_{k|k-1}\right),\label{eq:kalmanaposkk}\end{equation}
2296
2297\end_inset
2298
2299dále pak apriorní odhad stavu
2300\begin_inset Formula $\hat{x}_{k+1|k}$
2301\end_inset
2302
2303 v čase
2304\begin_inset Formula $k+1,$
2305\end_inset
2306
2307 tedy
2308\begin_inset Formula $\hat{x}_{k+1|k}=A_{k}\hat{x}_{k|k}$
2309\end_inset
2310
2311.
2312 Apriorní kovarianční matici v čase
2313\begin_inset Formula $k+1$
2314\end_inset
2315
2316 vypočítáme z
2317\begin_inset Formula \[
2318\Sigma_{k+1|k}=A_{k}\Sigma_{k|k}A_{k}^{T}+M_{k},\]
2319
2320\end_inset
2321
2322kde aposteriorní kovarianční matici
2323\begin_inset Formula $\Sigma_{k|k}=\mathrm{E}\left\{ \left(x_{k}-\hat{x}_{k|k}\right)\left(x_{k}-\hat{x}_{k|k}\right)^{T}\right\} $
2324\end_inset
2325
2326 můžeme získat z rovnice
2327\begin_inset Formula \[
2328\Sigma_{k|k}=\Sigma_{k|k-1}-\Sigma_{k|k-1}C_{k}^{T}\left(C_{k}\Sigma_{k|k-1}C_{k}^{T}+N_{k}\right)^{-1}C_{k}\Sigma_{k|k-1}.\]
2329
2330\end_inset
2331
2332Přidáním počátečních podmínek
2333\begin_inset Formula $\hat{x}_{0|-1}=\mathrm{E}\{x_{0}\}$
2334\end_inset
2335
2336 a
2337\begin_inset Formula $\Sigma_{0|-1}=S$
2338\end_inset
2339
2340 získáme
2341\emph on
2342algoritmus Kalmanova filtru
2343\emph default
2344, který ve své podstatě rekurzivně generuje posloupnost lineárních odhadů
2345 založených na metodě nejmenších čtverců.
2346\end_layout
2347
2348\begin_layout Standard
2349Dále je možno vyjádřit rovnici
2350\begin_inset CommandInset ref
2351LatexCommand ref
2352reference "eq:kalmanaposkk"
2353
2354\end_inset
2355
2356 ve tvaru
2357\begin_inset Formula \[
2358\hat{x}_{k|k}=A_{k-1}\hat{x}_{k-1|k-1}+\Sigma_{k|k}C_{k}^{T}N_{k}^{-1}\left(z_{k}-C_{k}A_{k-1}\hat{x}_{k-1|k-1}\right),\]
2359
2360\end_inset
2361
2362který při uvažování systému se vstupem
2363\begin_inset Formula \[
2364x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\; k=0,1,\ldots,N-1,\]
2365
2366\end_inset
2367
2368umožňuje vypočítat rekurzivně aposteriorní odhady stavů
2369\begin_inset Formula $\hat{x}_{k|k}$
2370\end_inset
2371
2372 v časech
2373\begin_inset Formula $k$
2374\end_inset
2375
2376 z rovnice
2377\begin_inset Formula \[
2378\hat{x}_{k|k}=A_{k-1}\hat{x}_{k-1|k-1}+B_{k-1}u_{k-1}+\Sigma_{k|k}C_{k}^{T}N_{k}^{-1}\left(z_{k}-C_{k}A_{k-1}\hat{x}_{k-1|k-1}\right),\]
2379
2380\end_inset
2381
2382přičemž rovnice pro výpočet aposteriorní kovarianční matice
2383\begin_inset Formula $\Sigma_{k|k}$
2384\end_inset
2385
2386 zůstávají nezměněny.
2387\end_layout
2388
2389\begin_layout Section
2390Spojité systémy
2391\end_layout
2392
2393\begin_layout Subsection
2394Deterministické systémy se spojitým časem
2395\end_layout
2396
2397\begin_layout Standard
2398I když zpravidla pracujeme s diskrétními systémy, zejména z důvodů výpočtů
2399 na počítači, teorie optimálního řízení spojitých systémů může být velmi
2400 užitečná.
2401 Poskytuje totiž důležité principy, které jsou velmi často používány při
2402 návrhu algoritmů pro duální řízení.
2403 Konkrétně se jedná o Hamilton-Jacobi-Bellmanovu rovnost a Pontryaginův
2404 princip minima.
2405\end_layout
2406
2407\begin_layout Subsubsection
2408Spojitý systém
2409\end_layout
2410
2411\begin_layout Standard
2412Dynamický systém se spojitým časem uvažujeme dle
2413\begin_inset CommandInset citation
2414LatexCommand cite
2415key "BertsekasDPOC"
2416
2417\end_inset
2418
2419 ve tvaru
2420\begin_inset Formula \begin{eqnarray}
2421\dot{x}(t) & = & f(x(t),u(t)),\;0\leq t\leq T,\label{eq:spojsystemHJBP}\\
2422x(0) & = & x_{0},\nonumber \end{eqnarray}
2423
2424\end_inset
2425
2426kde
2427\begin_inset Formula $x(t)$
2428\end_inset
2429
2430 je stavový vektor v čase
2431\begin_inset Formula $t$
2432\end_inset
2433
2434,
2435\begin_inset Formula $\dot{x}(t)$
2436\end_inset
2437
2438 je vektor prvních derivací podle času v čase
2439\begin_inset Formula $t$
2440\end_inset
2441
2442,
2443\begin_inset Formula $u(t)\in U$
2444\end_inset
2445
2446 je řídící vektor v čase
2447\begin_inset Formula $t$
2448\end_inset
2449
2450,
2451\begin_inset Formula $U$
2452\end_inset
2453
2454 je množina omezení řízení a
2455\begin_inset Formula $T$
2456\end_inset
2457
2458 je časový horizont.
2459 O funkci
2460\begin_inset Formula $f$
2461\end_inset
2462
2463 předpokládáme, že je spojitě diferencovatelná vzhledem k
2464\begin_inset Formula $x$
2465\end_inset
2466
2467 a spojitá vzhledem k
2468\begin_inset Formula $u$
2469\end_inset
2470
2471.
2472 Rovnice
2473\begin_inset CommandInset ref
2474LatexCommand ref
2475reference "eq:spojsystemHJBP"
2476
2477\end_inset
2478
2479 představuje soustavu
2480\begin_inset Formula $n$
2481\end_inset
2482
2483 diferenciálních rovnic prvního řádu.
2484 Naším cílem je nalézení přípustné řídící trajektorie
2485\begin_inset Formula $\left\{ u(t)\mid t\in[0,T]\right\} $
2486\end_inset
2487
2488 a odpovídající stavové trajektorie
2489\family roman
2490\series medium
2491\shape up
2492\size normal
2493\emph off
2494\bar no
2495\noun off
2496\color none
2497
2498\begin_inset Formula $\left\{ x(t)\mid t\in[0,T]\right\} $
2499\end_inset
2500
2501 takové, že minimalizují ztrátovou funkci ve tvaru
2502\begin_inset Formula \[
2503h(x(T))+\int_{0}^{T}g\left(x(t),u(t)\right)dt,\]
2504
2505\end_inset
2506
2507o funkcích
2508\begin_inset Formula $g$
2509\end_inset
2510
2511 a
2512\begin_inset Formula $h$
2513\end_inset
2514
2515 předpokládáme, že jsou spojitě diferencovatelné vzhledem k
2516\begin_inset Formula $x$
2517\end_inset
2518
2519 a
2520\begin_inset Formula $g$
2521\end_inset
2522
2523 je spojitá vzhledem k
2524\begin_inset Formula $u$
2525\end_inset
2526
2527.
2528\end_layout
2529
2530\begin_layout Subsubsection
2531Hamilton-Jacobi-Bellmanova rovnost
2532\end_layout
2533
2534\begin_layout Standard
2535Hamilton-Jacobi-Bellmanova rovnost je parciální diferenciální rovnicí, která
2536 je splněna optimální funkcí nákladů na pokračování
2537\begin_inset Formula $J^{*}(t,x)$
2538\end_inset
2539
2540.
2541 Tato rovnice je analogií algoritmu dynamického programování ve spojitém
2542 čase.
2543 Rovnici lze psát podle
2544\begin_inset CommandInset citation
2545LatexCommand cite
2546key "BertsekasDPOC"
2547
2548\end_inset
2549
2550 ve tvaru
2551\begin_inset Formula \begin{eqnarray}
25520 & = & \min_{u\in U}\left[g(x,u)+\nabla_{t}J^{*}(t,x)+\nabla_{x}J^{*}(t,x)^{T}f(x,u)\right],\quad\forall t,x,\label{eq:hjbrovnostJ}\\
2553J^{*}(T,x) & = & h(x).\nonumber \end{eqnarray}
2554
2555\end_inset
2556
2557Jedná se tedy o parciální diferenciální rovnici s okrajovou podmínkou.
2558 O funkci
2559\begin_inset Formula $J^{*}(t,x)$
2560\end_inset
2561
2562 jsme předpokládali diferencovatelnost, apriorně ale její diferencovatelnost
2563 neznáme a tedy nevíme, jestli
2564\begin_inset Formula $J^{*}(t,x)$
2565\end_inset
2566
2567 řeší rovnici
2568\begin_inset CommandInset ref
2569LatexCommand ref
2570reference "eq:hjbrovnostJ"
2571
2572\end_inset
2573
2574.
2575 Můžeme však použít následující tvrzení, jehož formulaci i důkaz lze nalézt
2576 v
2577\begin_inset CommandInset citation
2578LatexCommand cite
2579key "BertsekasDPOC"
2580
2581\end_inset
2582
2583:
2584\end_layout
2585
2586\begin_layout Description
2587Věta
2588\begin_inset space \space{}
2589\end_inset
2590
2591o
2592\begin_inset space \space{}
2593\end_inset
2594
2595dostatečnosti:
2596\begin_inset ERT
2597status open
2598
2599\begin_layout Plain Layout
2600
2601~
2602\end_layout
2603
2604\end_inset
2605
2606
2607\begin_inset Newline newline
2608\end_inset
2609
2610Nechť je funkce
2611\begin_inset Formula $V(t,x)$
2612\end_inset
2613
2614 spojitě diferencovatelná vzhledem k
2615\begin_inset Formula $t$
2616\end_inset
2617
2618 a
2619\begin_inset Formula $x$
2620\end_inset
2621
2622 a nechť je řešením Hamilton-Jacobi-Bellmanovy rovnosti:
2623\begin_inset Formula \begin{eqnarray}
26240 & = & \min_{u\in U}\left[g(x,u)+\nabla_{t}V(t,x)+\nabla_{x}V(t,x)^{T}f(x,u)\right],\quad\forall t,x,\label{eq:hjbrovnostV}\\
2625V(T,x) & = & h(x),\quad\forall x.\nonumber \end{eqnarray}
2626
2627\end_inset
2628
2629Předpokládejme dále, že
2630\begin_inset Formula $\mu^{*}(t,x)$
2631\end_inset
2632
2633 dosáhne minima v rovnosti
2634\begin_inset CommandInset ref
2635LatexCommand ref
2636reference "eq:hjbrovnostV"
2637
2638\end_inset
2639
2640 pro všechna
2641\begin_inset Formula $t$
2642\end_inset
2643
2644 a
2645\begin_inset Formula $x$
2646\end_inset
2647
2648.
2649 Nechť
2650\family roman
2651\series medium
2652\shape up
2653\size normal
2654\emph off
2655\bar no
2656\noun off
2657\color none
2658 
2659\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
2660\end_inset
2661
2662 označuje stavovou trajektorii získanou při dané počáteční podmínce
2663\begin_inset Formula $x^{*}(0)=x_{0}$
2664\end_inset
2665
2666 a řídící trajektorii
2667\family default
2668\series default
2669\shape default
2670\size default
2671\emph default
2672\bar default
2673\noun default
2674\color inherit
2675
2676\begin_inset Formula $u^{*}(t)=\mu^{*}(t,x^{*}(t)),\; t\in[0,T]$
2677\end_inset
2678
2679.
2680 Pak
2681\begin_inset Formula $V$
2682\end_inset
2683
2684 je rovno optimální funkci nákladů na pokračování, tedy
2685\begin_inset Formula \[
2686V(t,x)=J^{*}(t,x),\quad\forall t,x.\]
2687
2688\end_inset
2689
2690Navíc řídící trajektorie
2691\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
2692\end_inset
2693
2694 je optimální.
2695 
2696\end_layout
2697
2698\begin_layout Subsubsection
2699Pontryaginův princip minima
2700\end_layout
2701
2702\begin_layout Standard
2703Pontryaginův princip minima je důležitým teorémem optimálního řízení.
2704 Poskytuje nutnou (ne však postačující) podmínku pro optimální trajektorii,
2705 je úzce spřízněn s Hamilton-Jacobi-Bellmanovou rovností a lze ho z ní podle
2706 
2707\begin_inset CommandInset citation
2708LatexCommand cite
2709key "BertsekasDPOC"
2710
2711\end_inset
2712
2713 také odvodit.
2714 Princip minima je výhodné formulovat pomocí Hamiltoniánu.
2715 Označme
2716\begin_inset Formula $p$
2717\end_inset
2718
2719 gradient optimální funkce nákladů na pokračování pro optimální stavovou
2720 trajektorii
2721\begin_inset Formula $p(t)=\nabla_{x}J^{*}\left(t,x^{*}(t)\right)$
2722\end_inset
2723
2724 a definujme Hamiltonián jako funkci zobrazující trojice vektorů
2725\begin_inset Formula $(x,u,p)$
2726\end_inset
2727
2728 do reálných čísel
2729\begin_inset Formula \[
2730H(x,u,p)=g(x,u)+p^{T}f(x,u).\]
2731
2732\end_inset
2733
2734Rovnice pro systém pak může být zapsána v kompaktním tvaru
2735\begin_inset Formula \[
2736\dot{x}^{*}(t)=\nabla_{p}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]
2737
2738\end_inset
2739
2740Obdobně může být zapsána pro
2741\begin_inset Formula $p$
2742\end_inset
2743
2744 takzvaná
2745\emph on
2746adjungovaná rovnice
2747\emph default
2748
2749\begin_inset Formula \[
2750\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right).\]
2751
2752\end_inset
2753
2754Pontryaginův princip minima je podle
2755\begin_inset CommandInset citation
2756LatexCommand cite
2757key "BertsekasDPOC"
2758
2759\end_inset
2760
2761 formulován následovně:
2762\end_layout
2763
2764\begin_layout Description
2765Princip
2766\begin_inset space \space{}
2767\end_inset
2768
2769minima:
2770\begin_inset ERT
2771status open
2772
2773\begin_layout Plain Layout
2774
2775~
2776\end_layout
2777
2778\end_inset
2779
2780
2781\begin_inset Newline newline
2782\end_inset
2783
2784Nechť
2785\family roman
2786\series medium
2787\shape up
2788\size normal
2789\emph off
2790\bar no
2791\noun off
2792\color none
2793
2794\begin_inset Formula $\left\{ u^{*}(t)\mid t\in[0,T]\right\} $
2795\end_inset
2796
2797 je optimální řídící trajektorie a nechť
2798\begin_inset Formula $\left\{ x^{*}(t)\mid t\in[0,T]\right\} $
2799\end_inset
2800
2801 je odpovídající stavová trajektorie, to jest
2802\begin_inset Formula \[
2803\dot{x}^{*}(t)=f\left(x^{*}(t),u^{*}(t)\right),\quad x^{*}(0)=x_{0}.\]
2804
2805\end_inset
2806
2807Nechť dále
2808\begin_inset Formula $p(t)$
2809\end_inset
2810
2811 je řešením adjungované rovnice
2812\begin_inset Formula \[
2813\dot{p}(t)=-\nabla_{x}H\left(x^{*}(t),u^{*}(t),p(t)\right),\]
2814
2815\end_inset
2816
2817s okrajovou podmínkou
2818\begin_inset Formula $p(T)=\nabla h\left(x^{*}(T)\right)$
2819\end_inset
2820
2821.
2822 Pak pro všechna
2823\begin_inset Formula $t\in[0,T]$
2824\end_inset
2825
2826
2827\begin_inset Formula \[
2828u^{*}(t)=\arg\min_{u\in U}H\left(x^{*}(t),u,p(t)\right).\]
2829
2830\end_inset
2831
2832Navíc existuje konstanta
2833\begin_inset Formula $C$
2834\end_inset
2835
2836 taková, že
2837\begin_inset Formula \[
2838H\left(x^{*}(t),u^{*}(t),p(t)\right)=C,\quad\forall t\in[0,T].\]
2839
2840\end_inset
2841
2842
2843\end_layout
2844
2845\begin_layout Section
2846Algoritmy pro duální řízení
2847\end_layout
2848
2849\begin_layout Standard
2850Metody pro nalezení optimálního řízení lze obecně rozdělit do dvou základních
2851 kategorií na
2852\emph on
2853globální
2854\emph default
2855a
2856\emph on
2857lokální
2858\emph default
2859viz
2860\begin_inset CommandInset citation
2861LatexCommand cite
2862key "TodorovWeiweiILQG,TodorovTassaILDP"
2863
2864\end_inset
2865
2866
2867\emph on
2868.
2869
2870\emph default
2871 
2872\end_layout
2873
2874\begin_layout Standard
2875Globální metody, používané zejména v posilovaném učení
2876\color black
2877(
2878\begin_inset Quotes gld
2879\end_inset
2880
2881Reinforcement Learning
2882\color inherit
2883
2884\begin_inset Quotes grd
2885\end_inset
2886
2887), jsou založeny na na
2888\color black
2889Bellmanově principu optimality, Hamilton-Jacobi-Bellmanově rovnosti
2890\color inherit
2891 a dynamickém programování.
2892 Tyto algoritmy hledají globálně optimální zpětnovazební řízení pro všechny
2893 stavy obecného stochastického systému a proto podléhají nebezpečí
2894\begin_inset Quotes gld
2895\end_inset
2896
2897problému dimenzionality
2898\begin_inset Quotes grd
2899\end_inset
2900
2901 nebo také rozměrnosti (z anglického
2902\begin_inset Quotes eld
2903\end_inset
2904
2905curse of dimensionality
2906\begin_inset Quotes erd
2907\end_inset
2908
2909 doslovně -
2910\emph on
2911kletba rozměrnosti
2912\emph default
2913).
2914 Jednoduše můžeme tento problém chápat tak, že při numerickém řešení úlohy
2915 jsou počítačem procházeny všechny body diskretizovaného stavového a řídícího
2916 prostoru jejichž počet s rostoucím počtem dimenzí extrémně (exponenciálně)
2917 rychle roste.
2918 Výpočet pro mnohadimenzionální úlohy se pak stává co do paměťových nároků,
2919 ale hlavně z hlediska výpočetního času prakticky nerealizovatelným.
2920\end_layout
2921
2922\begin_layout Standard
2923Lokální metody, častěji studované v teorii řízení, souvisí s
2924\color black
2925Pontryaginovým principem maxima
2926\color inherit
2927.
2928 Jejich podstatou je nalezení řízení, které je pouze lokálně optimální v
2929 okolí nějaké
2930\begin_inset Quotes gld
2931\end_inset
2932
2933extremalní
2934\begin_inset Quotes grd
2935\end_inset
2936
2937 trajektorie.
2938 Většinou je užito deterministických prostředků jako řešení soustavy obyčejných
2939 diferenciálních rovnic (například střelbou nebo relaxací).
2940 Tento přístup ale vede na přímovazební
2941\color red
2942 
2943\color black
2944řízení
2945\color red
2946 
2947\color inherit
2948a nezle užít pro stochastické úlohy, vyhýbá se ale problému dimenzionality,
2949 což umožňuje řešit i komplexnější problémy.
2950\end_layout
2951
2952\begin_layout Standard
2953V poslední době je snaha vyvíjet nové algoritmy, které kombinují výhody
2954 obou výše zmíněných přístupů.
2955 Příkladem může být
2956\emph on
2957diferenciální dynamické programování
2958\emph default
2959 (DDP).
2960 Tento algoritmus zůstává lokální metodou ve smyslu, že uchovává pouzve
2961 jedinou trajektorii, která je lokálně vylepšována.
2962 Vylepšení však není založeno na řešení soustavy obyčejných diferenciálních
2963 rovnic, ale na dynamickém programování aplikovaném na okolí -
2964\begin_inset Quotes eld
2965\end_inset
2966
2967trubici
2968\begin_inset Quotes erd
2969\end_inset
2970
2971 podél současné trajektorie.
2972 Jedná se o algoritmus s konvergencí druhého řádu.
2973 Ještě efektivnější je metoda podobná DDP,
2974\emph on
2975iterativní LQG
2976\emph default
2977 (iLQG).
2978 Tento algoritmus je založen na linearizaci nelineární úlohy v každém bodě
2979 reprezentativní trajektorie a následném řešení modifikované Riccatiho rovnice.
2980 Výhodou DDP i iLQG je, že jejich výsledkem je zpětnovazební řízení.
2981 Obě metody jsou ale stále deterministické a nedokáží se vypořádat s nekvadratic
2982kými ztrátovými funkcemi a požadavky na omezené řízení.
2983 
2984\end_layout
2985
2986\begin_layout Standard
2987S výše zmíněnými problémy se snaží vypořádat modifikovaná iLQG, která bude
2988 použita pro srovnání s ústřední metodou této práce iLDP.
2989 Dále pak do kategorie smíšených metod spadá právě i metoda iLDP, která
2990 bude podrobně popsána v následující kapitole.
2991 
2992\end_layout
2993
2994\begin_layout Chapter
2995Algoritmy pro návrh řízení
2996\end_layout
2997
2998\begin_layout Section
2999Výběr algoritmů pro srovnání
3000\end_layout
3001
3002\begin_layout Subsection
3003Princip separace
3004\end_layout
3005
3006\begin_layout Standard
3007
3008\emph on
3009Princip separace
3010\emph default
3011 nebo také
3012\emph on
3013separační teorém pro lineární systémy s kvadratickou ztrátovou funkcí
3014\emph default
3015 zaujímá důležité místo v moderní teorii řízení.
3016 Intuitivně je velmi jednoduchý.
3017 Podle
3018\begin_inset CommandInset citation
3019LatexCommand cite
3020key "BertsekasDPOC"
3021
3022\end_inset
3023
3024 je formulován následovně:
3025\end_layout
3026
3027\begin_layout Standard
3028Optimální řízení pro lineární systém může být rozděleno do dvou částí:
3029\end_layout
3030
3031\begin_layout Enumerate
3032
3033\emph on
3034pozorovatel
3035\emph default
3036 (estimátor), který využívá měřená data k odhadu stavu systému,
3037\end_layout
3038
3039\begin_layout Enumerate
3040
3041\emph on
3042regulátor
3043\emph default
3044 (akurátor), který generuje ze stavu, respektive jeho odhadu, řízení pro
3045 systém.
3046\end_layout
3047
3048\begin_layout Standard
3049Navíc část optimálního řízení označená jako
3050\emph on
3051pozorovatel
3052\emph default
3053 je optimálním řešením problému určování (estimace) stavu nezávisle na uvažování
3054 řízení a část označená jako
3055\emph on
3056regulátor
3057\emph default
3058je optimální řešení řídícího problému za předpokladu úplné stavové informace.
3059 Každá část tedy může být navrhována nezávisle na sobě jako optimální řešení
3060 příslušných problémů estimace a regulace.
3061\end_layout
3062
3063\begin_layout Subsection
3064LQG
3065\begin_inset CommandInset label
3066LatexCommand label
3067name "sub:LQGkp1"
3068
3069\end_inset
3070
3071
3072\end_layout
3073
3074\begin_layout Standard
3075Řízení LQG (z anglického
3076\begin_inset Quotes gld
3077\end_inset
3078
3079Linear-Quadratic-Gaussian
3080\begin_inset Quotes grd
3081\end_inset
3082
3083) je primárně navrženo pro řízení lineárních systémů s kvadratickou ztrátovou
3084 funkci a Gaussovským šumem.
3085 Existují však různé modifikace i pro nelineární systémy.
3086 Algoritmus LQG je založen právě na
3087\emph on
3088principu separace
3089\emph default
3090kdy pozorovatel a regulátor jsou navrhovány zvlášť.
3091 Optimálním pozorovatelem je zde Kalmanův filtr a lze jej užít například
3092 ve tvaru, jak byl uveden v části
3093\begin_inset CommandInset ref
3094LatexCommand ref
3095reference "sub:Kalmanův-filtr"
3096
3097\end_inset
3098
3099.
3100 Optimálním regulátorem pak řízení označované jako LQ regulátor, které může
3101 být formulováno podle
3102\begin_inset CommandInset citation
3103LatexCommand cite
3104key "BertsekasDPOC"
3105
3106\end_inset
3107
3108 následovně:
3109\end_layout
3110
3111\begin_layout Paragraph
3112LQ regulátor
3113\end_layout
3114
3115\begin_layout Standard
3116pro lineární systém
3117\begin_inset Formula \[
3118x_{k+1}=A_{k}x_{k}+B_{k}u_{k}+w_{k},\quad k=0,1,\ldots,N-1,\]
3119
3120\end_inset
3121
3122s kvadratickou ztrátovou funkcí
3123\begin_inset Formula \[
3124\mathbf{E}\left\{ x_{N}^{T}Q_{N}x_{N}+\sum_{k=0}^{N-1}\left(x_{k}^{T}Q_{k}x_{k}+u_{k}^{T}R_{k}u_{k}\right)\right\} ,\]
3125
3126\end_inset
3127
3128při uvažování neúplné stavové informace je optimálním řízením v každém čase
3129 rovno
3130\begin_inset Formula \[
3131\mu_{k}^{*}(I_{k})=L_{k}\mathrm{E}\left\{ x_{k}\mid I_{k}\right\} ,\]
3132
3133\end_inset
3134
3135kde matice
3136\begin_inset Formula $L_{k}$
3137\end_inset
3138
3139 je dána rovností
3140\begin_inset Formula \[
3141L_{k}=-\left(R_{k}+B_{k}^{T}K_{k+1}B_{k}\right)^{-1}B_{k}^{T}K_{k+1}A_{k},\]
3142
3143\end_inset
3144
3145přičemž matice
3146\begin_inset Formula $K_{k}$
3147\end_inset
3148
3149 získáme rekurzivně z Riccatiho rovnice
3150\begin_inset Formula \begin{eqnarray*}
3151K_{N} & = & Q_{N},\\
3152K_{k} & = & A_{k}^{T}\left(K_{k+1}-K_{k+1}B_{k}\left(R_{k}+B_{k}^{T}K_{k+1}B_{k}\right)^{-1}B_{k}^{T}K_{k+1}\right)A_{k}+Q_{k}.\end{eqnarray*}
3153
3154\end_inset
3155
3156
3157\end_layout
3158
3159\begin_layout Subsection
3160Zobecněné iterativní LQG řízení
3161\end_layout
3162
3163\begin_layout Standard
3164V článku
3165\begin_inset CommandInset citation
3166LatexCommand cite
3167key "TodorovWeiweiILQG"
3168
3169\end_inset
3170
3171 je popsán algoritmus
3172\emph on
3173zobecněného iterativního LQG
3174\emph default
3175řízení (iLQG) pro účely nalezení lokálního zpětnovazebního řízení nelineárních
3176 stochastických systémů s kvadratickou ztrátou, ale navíc lze požadovat
3177 i omezené vstupy.
3178 Obecně zahrnutí požadavku na omezené vstupy do ztrátové funkce způsobí
3179 porušení její kvadratičnosti, zmiňovaný algoritmus však řeší problém jinak,
3180 konkrétně následnou korekcí rovnic pro výpočet řízení.
3181 Dále s nelinearitou se algoritmus vypořádává tak, že systém v každém časovém
3182 kroku linearizuje vzhledem k reprezentativní trajektorii.
3183 Linearizovaný systém je pak řešen klasickým přístupem LQG, avšak v jeho
3184 průběhu je do výpočtů ještě zasahováno.
3185 Jsou prováděny úpravy dílčích výsledků a opravy chyb z důvodu práce s linearozo
3186vaným nelineárním systémem pro zajištění konvergence algoritmu.
3187 Samotný algoritmus je odvozen a detailně popsám v
3188\begin_inset CommandInset citation
3189LatexCommand cite
3190key "TodorovWeiweiILQG"
3191
3192\end_inset
3193
3194 odkud je převzat následující zestručněný popis:
3195\end_layout
3196
3197\begin_layout Paragraph
3198iLQG lokální řízení
3199\end_layout
3200
3201\begin_layout Standard
3202pro obecně nelineární stochastický systém
3203\begin_inset Formula \begin{eqnarray}
3204x_{k+1} & = & x_{k}+f(x_{k},u_{k})\cdot\Delta k+F(x_{k},u_{k})\cdot e_{k},\; k=0,1,\ldots,N-1,\label{eq:systemilqgdef}\\
3205x_{(k=0)} & = & x_{0},\nonumber \end{eqnarray}
3206
3207\end_inset
3208
3209se ztrátovou funkcí
3210\begin_inset Formula \[
3211\mathrm{E}\left\{ h(x_{N})+\sum_{k=0}^{N-1}l(k,x_{k},u_{k})\right\} \]
3212
3213\end_inset
3214
3215je lokálně optimální řízení, které konstruujeme iterativně.
3216 Každá iterace začíná s posloupností přímovazebních řízení
3217\begin_inset Formula $\overline{u}_{k}$
3218\end_inset
3219
3220 a odpovídající bezšumovou trajektorií
3221\begin_inset Formula $\overline{x}_{k}$
3222\end_inset
3223
3224 získanou aplikací
3225\begin_inset Formula $\overline{u}_{k}$
3226\end_inset
3227
3228 na systém
3229\begin_inset CommandInset ref
3230LatexCommand ref
3231reference "eq:systemilqgdef"
3232
3233\end_inset
3234
3235 s nulovým šumem.
3236 To je možno provést například pomocí Eulerovy integrace.
3237 Pak linearizujeme systém a kvadratizujeme ztrátu podél trajektorií
3238\begin_inset Formula $\overline{x}_{k}$
3239\end_inset
3240
3241 a
3242\begin_inset Formula $\overline{u}_{k}$
3243\end_inset
3244
3245.
3246 Následně získaný lineární systém s kvadratickou ztrátou vyjádříme v odchylkách
3247 stavových a řídících veličin od bezšumové trajektorie
3248\begin_inset Formula $\delta x_{k}=x_{k}-\overline{x}_{k}$
3249\end_inset
3250
3251 a
3252\begin_inset Formula $\delta u_{k}=u_{k}-\overline{u}_{k}$
3253\end_inset
3254
3255.
3256 Veličiny charakterizující modifikovaný problém získané v každém čase
3257\begin_inset Formula $k$
3258\end_inset
3259
3260 z
3261\begin_inset Formula $(\overline{x}_{k},\overline{u}_{k})$
3262\end_inset
3263
3264 jsou
3265\begin_inset Formula \begin{eqnarray*}
3266A_{k} & = & I+\frac{\partial f}{\partial x}\cdot\Delta k,\quad B_{k}=\frac{\partial f}{\partial u}\cdot\Delta k,\\
3267\mathbf{c}_{i,k} & = & F^{[i]}\cdot\sqrt{\Delta k},\quad C_{i,k}=\frac{\partial F^{[i]}}{\partial u}\cdot\sqrt{\Delta k},\\
3268q_{k} & = & l\cdot\Delta k,\quad\mathbf{q}_{k}=\frac{\partial l}{\partial x}\cdot\Delta k,\\
3269Q_{k} & = & \frac{\partial^{2}l}{\partial x\partial x}\cdot\Delta k,\quad P_{k}=\frac{\partial^{2}l}{\partial u\partial x}\cdot\Delta k,\\
3270\mathbf{r}_{k} & = & \frac{\partial l}{\partial u}\cdot\Delta k,\quad R_{k}=\frac{\partial^{2}l}{\partial u\partial u},\end{eqnarray*}
3271
3272\end_inset
3273
3274kde
3275\begin_inset Formula $F^{[i]}$
3276\end_inset
3277
3278 označuje
3279\begin_inset Formula $i$
3280\end_inset
3281
3282-tý sloupec matice
3283\begin_inset Formula $F$
3284\end_inset
3285
3286 a veličiny
3287\begin_inset Quotes gld
3288\end_inset
3289
3290q
3291\begin_inset Quotes grd
3292\end_inset
3293
3294 se počítají v čase
3295\begin_inset Formula $k=N$
3296\end_inset
3297
3298 z funkce
3299\begin_inset Formula $h$
3300\end_inset
3301
3302 namísto
3303\begin_inset Formula $l$
3304\end_inset
3305
3306.
3307\end_layout
3308
3309\begin_layout Standard
3310Dále zaveďme označení
3311\begin_inset Formula \begin{eqnarray*}
3312\mathbf{g}_{k} & = & \mathbf{r}_{k}+B_{k}^{T}\mathbf{s}_{k+1}+\sum_{i}C_{i,k}^{T}S_{k+1}\mathbf{c}_{i,k},\\
3313G_{k} & = & P_{k}+B_{k}^{T}S_{k+1}A_{k},\\
3314H_{k} & = & R_{k}+B_{k}^{T}S_{k+1}B_{k}+\sum_{i}C_{i,k}^{T}S_{k+1}C_{i,k}.\end{eqnarray*}
3315
3316\end_inset
3317
3318Zpětnovazební řízení pak hledáme ve tvaru
3319\begin_inset Formula $\delta u_{k}(\delta x)=\mathbf{l}_{k}+L_{k}\delta x$
3320\end_inset
3321
3322, kde
3323\begin_inset Formula $\mathbf{l}_{k}=-H_{k}^{-1}\mathbf{g}_{k}$
3324\end_inset
3325
3326 a
3327\begin_inset Formula $L_{k}=-H_{k}^{-1}G_{k}$
3328\end_inset
3329
3330.
3331 Přičemž parametry
3332\begin_inset Formula $S_{k}$
3333\end_inset
3334
3335 a
3336\begin_inset Formula $\mathbf{s}_{k}$
3337\end_inset
3338
3339 jsou počítány rekurzivně z rovnic
3340\begin_inset Formula \begin{eqnarray}
3341S_{k} & = & Q_{k}+A_{k}^{T}S_{k+1}A_{k}+L_{k}^{T}H_{k}L_{k}+L_{k}^{T}G_{k}+G_{k}^{T}L_{k},\label{eq:rovniceSproiLQG}\\
3342\mathbf{s}_{k} & = & \mathbf{q}_{k}+A_{k}^{T}\mathbf{s}_{k+1}+L_{k}^{T}H_{k}\mathbf{l}_{k}+L_{k}^{T}\mathbf{g}_{k}+G_{k}^{T}\mathbf{l}_{k}.\nonumber \end{eqnarray}
3343
3344\end_inset
3345
3346V důsledku linearizace obecně nelineárního systému mohou vyjít některá vlastní
3347 čísla matice
3348\begin_inset Formula $H$
3349\end_inset
3350
3351 nulová nebo záporná.
3352 Řešení tohoto problému spolu s ošetřením požadavku na omezené vstupy
3353\begin_inset Formula $u$
3354\end_inset
3355
3356 je detailně popsáno v
3357\begin_inset CommandInset citation
3358LatexCommand cite
3359key "TodorovWeiweiILQG"
3360
3361\end_inset
3362
3363.
3364 Pokud však nepotřebujeme vyhovět požadavku na nekladná vlastní čísla matice
3365 
3366\begin_inset Formula $H$
3367\end_inset
3368
3369 a omezené vstupy, lze rovnice
3370\begin_inset CommandInset ref
3371LatexCommand ref
3372reference "eq:rovniceSproiLQG"
3373
3374\end_inset
3375
3376 zjednodušit a pokud dále šum nezávisí na řízení (tedy
3377\begin_inset Formula $C_{i,k}=0$
3378\end_inset
3379
3380) rovnice
3381\begin_inset CommandInset ref
3382LatexCommand ref
3383reference "eq:rovniceSproiLQG"
3384
3385\end_inset
3386
3387 se redukuje na Riccatiho rovnici klasického LQ regulátoru.
3388\end_layout
3389
3390\begin_layout Section
3391Algoritmus iterativního lokálního dynamického programování
3392\end_layout
3393
3394\begin_layout Standard
3395Algoritmus iLDP byl vytvořen pro účely nalezení stochastického optimálního
3396 řízení v mnohadimenzionálních stavových a řídících prostorech.
3397 Tento případ je častý zejména při řízení biologických pohybů.
3398 Metoda je popsána autory v článku
3399\begin_inset CommandInset citation
3400LatexCommand cite
3401key "TodorovTassaILDP"
3402
3403\end_inset
3404
3405
3406\emph on
3407 
3408\emph default
3409a z tohoto zdroje je také převzata
3410\emph on
3411.
3412 
3413\end_layout
3414
3415\begin_layout Standard
3416Základní popis algoritmu, tak jak ho autoři podali, je však pouze šablonou
3417 a mnoho detailů a dílčích částí je ponecháno na vyřešení při konkrétní
3418 realizaci.
3419 To se týká hlavně použitých aproximací pro jednotlivé funkce, zejména aproximac
3420e Bellmanovy funkce a aproximace hledaného regulátoru.
3421 Dále, protože algoritmus využívá hledání minima, není v základním popisu
3422 algoritmu vyřešen konkrétní typ minimalizace.
3423 Použitý minimalizační algoritmus se samozřejmě liší podle konkrétního problému,
3424 zejména jedná-li se o minimalizaci omezenou nebo neomezenou.
3425 Ještě je třeba zmínil, že pro algoritmus je nutno zvolit parametr
3426\begin_inset Quotes gld
3427\end_inset
3428
3429velikosti
3430\begin_inset Quotes grd
3431\end_inset
3432
3433 okolí, protože se jedná o lokální metodu.
3434\end_layout
3435
3436\begin_layout Standard
3437\begin_inset VSpace defskip
3438\end_inset
3439
3440
3441\end_layout
3442
3443\begin_layout Subsection
3444Formulace problému
3445\end_layout
3446
3447\begin_layout Standard
3448Naším úkolem je nalézt řízení
3449\begin_inset Formula $u=\pi(t,x)$
3450\end_inset
3451
3452, které minimalizuje očekávanou ztrátu
3453\end_layout
3454
3455\begin_layout Standard
3456\align center
3457\begin_inset Formula \[
3458J(\pi)=E_{\omega}\left(h(x)+\int_{0}^{T}l(x,\pi(t,x))dt\right),\]
3459
3460\end_inset
3461
3462
3463\end_layout
3464
3465\begin_layout Standard
3466obecně pro spojitý systém:
3467\end_layout
3468
3469\begin_layout Standard
3470\begin_inset Formula \begin{eqnarray}
3471d\mathbf{x} & = & f(x,u)dt+F(x,u)d\omega,\nonumber \\
3472x(0) & = & x_{0},\label{eq:systemSpoj}\\
3473t & \in & [0,T],\nonumber \end{eqnarray}
3474
3475\end_inset
3476
3477
3478\end_layout
3479
3480\begin_layout Standard
3481v diskrétním tvaru:
3482\end_layout
3483
3484\begin_layout Standard
3485\begin_inset Formula \begin{eqnarray}
3486x_{k+1}-x_{k} & = & f(x,u)\cdot\Delta k+F(x,u)e_{k},\nonumber \\
3487x_{(k=0)} & = & x_{0},\label{eq:systemDis}\\
3488k & \in & \{0,1,\ldots,N\},\nonumber \\
3489\Delta k & = & \frac{T}{N},\nonumber \end{eqnarray}
3490
3491\end_inset
3492
3493
3494\end_layout
3495
3496\begin_layout Standard
3497kde hledáme řízení
3498\begin_inset Formula $u=\pi(k,x)$
3499\end_inset
3500
3501, které minimalizuje očekávanou ztrátu
3502\end_layout
3503
3504\begin_layout Standard
3505\begin_inset Formula \[
3506J(\pi)=E\left(h(x)+\sum_{k=0}^{N-1}l_{k}(x,\pi(k,x))\cdot\Delta k\right).\]
3507
3508\end_inset
3509
3510
3511\end_layout
3512
3513\begin_layout Subsection
3514Osnova algoritmu
3515\begin_inset CommandInset label
3516LatexCommand label
3517name "sub:iLDP-Osnova-algoritmu"
3518
3519\end_inset
3520
3521
3522\end_layout
3523
3524\begin_layout Standard
3525Algoritmus pracuje iteračně, každá iterace začne s řízením
3526\begin_inset Formula $\pi$
3527\end_inset
3528
3529 a vytvoří zlepšení
3530\begin_inset Formula $\pi'$
3531\end_inset
3532
3533.
3534 Přičemž prvotní řešení
3535\begin_inset Formula $\pi_{0}$
3536\end_inset
3537
3538 musíme algoritmu dodat jako apriorní informaci.
3539 Pro zajištění globální konvergence je možno nové řešení hledat jako konvexní
3540 kombinaci starého a algoritmem nalezeného řešení
3541\begin_inset Formula \[
3542\pi^{nové}=\alpha\pi'+(1-\alpha)\pi;\;0<\alpha\leq1;\; J(\pi^{nové})<J(\pi).\]
3543
3544\end_inset
3545
3546
3547\end_layout
3548
3549\begin_layout Standard
3550V každé iteraci proběhne nejprve přípravná fáze, kdy z řízení
3551\begin_inset Formula $\pi(k,x)$
3552\end_inset
3553
3554 generuje průměrnou trajektorii
3555\begin_inset Formula $\bar{x}(k)$
3556\end_inset
3557
3558 řešením rovnice
3559\begin_inset CommandInset ref
3560LatexCommand ref
3561reference "eq:systemSpoj"
3562
3563\end_inset
3564
3565 respektive
3566\begin_inset CommandInset ref
3567LatexCommand ref
3568reference "eq:systemDis"
3569
3570\end_inset
3571
3572
3573\emph on
3574.
3575 
3576\emph default
3577Následně se počítá aproximace
3578\begin_inset Formula $\tilde{V}(k,x)$
3579\end_inset
3580
3581 Bellmanovy funkce
3582\begin_inset Formula $V(k,x)$
3583\end_inset
3584
3585 v čase odzadu, tj.
3586 od
3587\begin_inset Formula $N$
3588\end_inset
3589
3590 k
3591\begin_inset Formula $1$
3592\end_inset
3593
3594.
3595 Současně počítáme i aproximaci řízení
3596\begin_inset Formula $\pi'(k,x)\ldots\pi'(N-1,x)$
3597\end_inset
3598
3599.
3600 Tedy pro každý čas
3601\begin_inset Formula $k$
3602\end_inset
3603
3604 takový, že
3605\begin_inset Formula $k=N-1\ldots1$
3606\end_inset
3607
3608 jdeme zpět, přičemž pokládáme v koncovém čase
3609\begin_inset Formula $N$
3610\end_inset
3611
3612 hodnotu aproximace Bellmanovy funkce
3613\begin_inset Formula $\tilde{V}(N,x)=h(x)$
3614\end_inset
3615
3616 a provádíme následující čtyři kroky:
3617\end_layout
3618
3619\begin_layout Enumerate
3620Generujeme množinu stavů
3621\begin_inset Formula $\left\{ x^{(n)}\right\} _{n=1\ldots M}$
3622\end_inset
3623
3624 shromážděných kolem průměrného stavu
3625\begin_inset Formula $\bar{x}(k)$
3626\end_inset
3627
3628.
3629\end_layout
3630
3631\begin_layout Enumerate
3632Pro každé
3633\begin_inset Formula $x^{(n)}$
3634\end_inset
3635
3636 vypočítáme optimální řízení
3637\begin_inset Formula $u^{(n)}$
3638\end_inset
3639
3640 minimalizací Hamiltoniánu
3641\begin_inset Formula \[
3642H(k,x,u)=l(x,u)+f(x,u)^{T}\tilde{V}_{x}(k+1,x)+\frac{1}{2}\mathbf{tr}\left(\sum(x,u)\tilde{V}_{xx}(k+1,x)\right)\]
3643
3644\end_inset
3645
3646s inicializačním bodem
3647\begin_inset Formula $\pi(k,x^{(n)})$
3648\end_inset
3649
3650.
3651 Kde
3652\begin_inset Formula $\Sigma(x,u)=F(x,u)F(x,u)^{T}$
3653\end_inset
3654
3655.
3656 Tedy optimální řízení v čase
3657\begin_inset Formula $k$
3658\end_inset
3659
3660 pro stav
3661\begin_inset Formula $n$
3662\end_inset
3663
3664 hledáme jako
3665\begin_inset Formula \[
3666u^{(n)}=\arg\min_{u}H(k,x,u).\]
3667
3668\end_inset
3669
3670
3671\end_layout
3672
3673\begin_layout Enumerate
3674Pro každé
3675\begin_inset Formula $x(k)$
3676\end_inset
3677
3678 aproximovat
3679\begin_inset Formula $v^{(n)}=V(k,x^{(n)})$
3680\end_inset
3681
3682 použitím Hamolton-Jacobi-Bellmanovi rovnosti
3683\begin_inset Formula \[
3684V(k,x^{(n)})\approx\Delta k\cdot H(k,x^{(n)},u^{(n)})+\tilde{V}(k+1,x^{(n)}).\]
3685
3686\end_inset
3687
3688
3689\end_layout
3690
3691\begin_layout Enumerate
3692Vypočítat novou aproximaci funkce
3693\begin_inset Formula $\tilde{V}(k,x)$
3694\end_inset
3695
3696 z množiny bodů
3697\begin_inset Formula $\left\{ x^{(n)},v^{(n)}\right\} $
3698\end_inset
3699
3700 a aproximaci řízení
3701\begin_inset Formula $\pi'(k,x^{(n)})$
3702\end_inset
3703
3704 definované pro všechna
3705\begin_inset Formula $x$
3706\end_inset
3707
3708 jako z množiny bodů
3709\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
3710\end_inset
3711
3712.
3713\end_layout
3714
3715\begin_layout Subsection
3716Detaily implementace
3717\end_layout
3718
3719\begin_layout Standard
3720Uvedený obecný popis algoritmu může být aplikován mnoha způsoby v závislosti
3721 na konkrétních volbách v každém z kroků algoritmu.
3722 Jedná se zejména o následující případy:
3723\end_layout
3724
3725\begin_layout Description
3726Volba
3727\begin_inset space ~
3728\end_inset
3729
3730okolí
3731\begin_inset space ~
3732\end_inset
3733
3734v
3735\begin_inset space ~
3736\end_inset
3737
3738
3739\emph on
3740bodě
3741\begin_inset space ~
3742\end_inset
3743
37441.
3745
3746\emph default
3747 
3748\emph on
3749
3750\begin_inset ERT
3751status open
3752
3753\begin_layout Plain Layout
3754
3755~
3756\end_layout
3757
3758\end_inset
3759
3760
3761\emph default
3762
3763\begin_inset Newline newline
3764\end_inset
3765
3766Zde se projevuje lokálnost metody.
3767 Množina stavů
3768\begin_inset Formula $\left\{ x^{(n)}\right\} $
3769\end_inset
3770
3771 je vybrána z okolí průměrného stavu
3772\begin_inset Formula $\bar{x}(k)$
3773\end_inset
3774
3775.
3776 Toto okolí a způsob výběru množiny je třeba konkrétně specifikovat.
3777 Pro účely implementace algoritmu bylo okolí specifikováno parametrem
3778\begin_inset Formula $\rho^{2}$
3779\end_inset
3780
3781.
3782 Množina stavů
3783\begin_inset Formula $\left\{ x^{(n)}\right\} $
3784\end_inset
3785
3786 pak byla generována náhodně jako náhodná veličina s normálním rozdělením
3787 se střední hodnotou rovnou průměrnému stavu
3788\begin_inset Formula $\bar{x}(k)$
3789\end_inset
3790
3791 a rozptylem specifikovaným parametrem
3792\begin_inset Formula $\rho^{2}$
3793\end_inset
3794
3795.
3796\begin_inset Newline newline
3797\end_inset
3798
3799Počet vzorků
3800\begin_inset Formula $M$
3801\end_inset
3802
3803 je nutno zvolit při implementaci algoritmu.
3804 Obecně je nejlepší volit maximální možné číslo, ovšem s rostoucím počtem
3805 vzorků rostou i paměťové nároky a výpočetní čas algoritmu.
3806\end_layout
3807
3808\begin_layout Description
3809Minimalizace
3810\begin_inset space ~
3811\end_inset
3812
3813v
3814\begin_inset space ~
3815\end_inset
3816
3817
3818\emph on
3819bodě
3820\begin_inset space ~
3821\end_inset
3822
38232.
3824
3825\emph default
3826 
3827\begin_inset ERT
3828status open
3829
3830\begin_layout Plain Layout
3831
3832~
3833\end_layout
3834
3835\end_inset
3836
3837
3838\begin_inset Newline newline
3839\end_inset
3840
3841Pro minimalizaci lze použít například minimalizační funkce programu
3842\emph on
3843Matlab
3844\emph default
3845z balíku
3846\emph on
3847 Optimization Toolbox
3848\emph default
3849, konkrétně se jedná o funkce
3850\family typewriter
3851fminunc
3852\family default
3853 respektive
3854\family typewriter
3855fmincon
3856\family default
3857 pro neomezenou respektive omezenou minimalizaci.
3858 V případě, kdy je možno spočítat minimalizaci analyticky, jedná se samozřejmě
3859 o nejlepší způsob.
3860\end_layout
3861
3862\begin_layout Description
3863Použití
3864\begin_inset space ~
3865\end_inset
3866
3867aproximací
3868\begin_inset space ~
3869\end_inset
3870
3871v
3872\emph on
3873
3874\begin_inset space ~
3875\end_inset
3876
3877bodě
3878\begin_inset space ~
3879\end_inset
3880
38814.
3882
3883\emph default
3884 
3885\begin_inset ERT
3886status open
3887
3888\begin_layout Plain Layout
3889
3890~
3891\end_layout
3892
3893\end_inset
3894
3895
3896\begin_inset Newline newline
3897\end_inset
3898
3899Aproximace je třeba zvolit ještě před zahájením výpočtu algoritmu, avšak
3900 právě v
3901\emph on
3902bodě 4.
3903
3904\emph default
3905 je třeba je vypočítat z množiny párů hodnot.
3906 Konkrétně se jedná o aproximaci Bellmanovy funkce
3907\begin_inset Formula $\tilde{V}$
3908\end_inset
3909
3910 a aproximaci řízení
3911\begin_inset Formula $\pi$
3912\end_inset
3913
3914.
3915 Volíme aproximace v jednodušším tvaru z důvodu výpočetní náročnosti, protože
3916 jsou počítány opakovaně.
3917 Dále je nutno vygenerovat dostatečný počet
3918\begin_inset Formula $M$
3919\end_inset
3920
3921 vzorků
3922\begin_inset Formula $\left\{ x^{(n)}\right\} $
3923\end_inset
3924
3925 v
3926\emph on
3927bodě 1.
3928 
3929\emph default
3930abychom měli dostatek dat pro určení koeficientů aproximací.
3931 I když nám volnost ve volbě aproximací přináší relativně velkou svobodu
3932 při návrhu algoritmu iLDP, jedná se současně i o největší slabinu, protože
3933 autoři explicitně neuvadějí jaké aproximace volit.
3934 Následně, při implementaci algoritmu pro systém s větším počtem dimenzí,
3935 může být Bellmanova funkce velmi složitá a právě její vhodnou aproximaci
3936 se nemusí podařit nalézt.
3937\end_layout
3938
3939\begin_layout Subsection
3940Konkrétní použité aproximace
3941\begin_inset CommandInset label
3942LatexCommand label
3943name "sub:Konkrétní-použité-aproximace-iLDP"
3944
3945\end_inset
3946
3947
3948\end_layout
3949
3950\begin_layout Standard
3951Výpočet hodnot a aproximace
3952\begin_inset Formula $\tilde{V}\;(\tilde{V}_{x},\tilde{V}_{xx})$
3953\end_inset
3954
3955 je opakovaný.
3956 Je tedy třeba vysoké optimalizace, proto je použita lineární aproximace
3957 ve tvaru lineární kombinace dvakrát diferencovatelných základních funkcí
3958 
3959\begin_inset Formula $\phi(x)\in\mathbf{R}^{P}$
3960\end_inset
3961
3962 kde
3963\begin_inset Formula $P<N$
3964\end_inset
3965
3966.
3967 Jako základní funkce mohou být voleny například funkce
3968\begin_inset Formula $1,\: x_{i},\: x_{i}x_{j},\: x_{i}^{2}x_{j}$
3969\end_inset
3970
3971.
3972 Aproximace je volena jako časově proměnná, kdy
3973\begin_inset Formula $\tilde{V}(k,x)=\phi(x-\bar{x}(k))^{T}\mathbf{w}(k)$
3974\end_inset
3975
3976, kde
3977\begin_inset Formula $\mathbf{w}(k)$
3978\end_inset
3979
3980 je parametrický vektor závislý na čase
3981\begin_inset Formula $k$
3982\end_inset
3983
3984.
3985 
3986\end_layout
3987
3988\begin_layout Standard
3989Označme
3990\begin_inset Formula $\tilde{V}_{x}=\phi_{x}^{T}\mathbf{w}$
3991\end_inset
3992
3993 a
3994\begin_inset Formula $\tilde{V}_{xx}=\phi_{xx}^{T}\mathbf{w}$
3995\end_inset
3996
3997 první a druhou derivaci aproximace Bellmanovy funkce podle proměnné
3998\begin_inset Formula $x$
3999\end_inset
4000
4001 respektive
4002\emph on
4003vektor
4004\emph default
4005a
4006\emph on
4007matici
4008\emph default
4009 parciálních derivací podle složek vektoru
4010\begin_inset Formula $x$
4011\end_inset
4012
4013.
4014 Parametry aproximace pro jednotlivé časy
4015\begin_inset Formula $\mathbf{w}$
4016\end_inset
4017
4018 se určí lineární regresí.
4019 Pro
4020\begin_inset Formula $\mathbf{v}=\left[v^{(1)}\ldots v^{(M)}\right]$
4021\end_inset
4022
4023 vektor cílových hodnot a matici
4024\begin_inset Formula $\mathbf{\Phi}=\left[\phi(x^{(1)}-\bar{x}(k))\ldots\phi(x^{(M)}-\bar{x}(k))\right]$
4025\end_inset
4026
4027 je minimální kvadratická odchylka
4028\begin_inset Formula $\parallel\mathbf{v}-\mathbf{\Phi}^{T}\mathbf{w}\parallel^{2}$
4029\end_inset
4030
4031 pro volbu parametru
4032\begin_inset Formula $\mathbf{w}=\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi v}$
4033\end_inset
4034
4035.
4036 
4037\end_layout
4038
4039\begin_layout Standard
4040Protože je průměrná trajektorie
4041\begin_inset Formula $\bar{x}(k)$
4042\end_inset
4043
4044 konstantní v iteraci algoritmu, je z důvodu urychlení výpočtu aproximace
4045 vycentrována v tomto bodě.
4046 Množina
4047\begin_inset Formula $\left\{ x^{(n)}\right\} $
4048\end_inset
4049
4050 je časově proměnná, abychom nemuseli v každém kroku počítat
4051\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
4052\end_inset
4053
4054, položíme
4055\begin_inset Formula $x^{(n)}=\bar{x}(k)+\varepsilon^{(n)}$
4056\end_inset
4057
4058, kde
4059\begin_inset Formula $\left\{ \varepsilon^{(n)}\right\} $
4060\end_inset
4061
4062 je stejná pro všechny časy
4063\begin_inset Formula $k$
4064\end_inset
4065
4066.
4067 Množina
4068\begin_inset Formula $\left\{ x^{(n)}\right\} $
4069\end_inset
4070
4071 se pak jakoby pohybuje podél trajektorie
4072\begin_inset Formula $\bar{x}(k)$
4073\end_inset
4074
4075.
4076 Tedy
4077\begin_inset Formula $\tilde{V}(k,x^{(n)})=\phi(\varepsilon^{(n)})^{T}\mathbf{w}(k)$
4078\end_inset
4079
4080 a
4081\begin_inset Formula $\Phi$
4082\end_inset
4083
4084 je konstantní v nejen čase, ale i v iteracích algoritmu a matici
4085\begin_inset Formula $\left(\mathbf{\Phi\Phi}^{T}\right)^{-1}\mathbf{\Phi}$
4086\end_inset
4087
4088 je možno předpočítat (což by nešlo při závislosti na stavech).
4089\end_layout
4090
4091\begin_layout Subsection
4092Předběžný odhad vlatností algoritmu
4093\end_layout
4094
4095\begin_layout Standard
4096V tomto odstavci jsou uvedeny předběžné odhady vlastností algoritmu, jeho
4097 výhody a nevýhody.
4098 Tyto odhady byly učiněny na základě popisu algoritmu, dále podle samotného
4099 hodnocení autorů v článku
4100\begin_inset CommandInset citation
4101LatexCommand cite
4102key "TodorovTassaILDP"
4103
4104\end_inset
4105
4106 a následně i v průběhu implementace metody.
4107 Později budou konfrontovány s pozorováními získaných výsledků a závěry
4108 simulací, aby bylo zřejmé, která očekávání byla naplněna, a která nikoliv.
4109 Tento postup může být velmi užitečný zejména z důvodu posouzení, které
4110 charakteristické vlastnosti algoritmu iLDP jsou patrny pouze při letmém
4111 prostudovaní a naopak, pro které je nutno algoritmus implementovat a otestovat.
4112\end_layout
4113
4114\begin_layout Paragraph
4115Výhody
4116\end_layout
4117
4118\begin_layout Itemize
4119duální metoda (lépe se vypořádá s neznalostí oproti neduálním metodám, například
4120 LQG)
4121\end_layout
4122
4123\begin_layout Itemize
4124lepší zvládnutí šumu
4125\end_layout
4126
4127\begin_layout Itemize
4128rychlejší dosažení požadované hodnoty
4129\end_layout
4130
4131\begin_layout Itemize
4132možnost aplikace na mnoharozměrové stavové a řídící prostory
4133\end_layout
4134
4135\begin_layout Itemize
4136univerzálnost (vychází z obecných principů)
4137\end_layout
4138
4139\begin_layout Itemize
4140svoboda ve výběru konkrétních aproximací a minimalizací
4141\end_layout
4142
4143\begin_layout Paragraph
4144Nevýhody
4145\end_layout
4146
4147\begin_layout Itemize
4148vyšší časová náročnost
4149\end_layout
4150
4151\begin_layout Itemize
4152numerické výpočty (minimalizace)
4153\end_layout
4154
4155\begin_layout Itemize
4156nepřesnost v důsledku aproximace klíčových funkcí v algoritmu
4157\end_layout
4158
4159\begin_layout Itemize
4160implementační složitost
4161\end_layout
4162
4163\begin_layout Itemize
4164problémy s volbou aproximací
4165\end_layout
4166
4167\begin_layout Itemize
4168lokálnost metody a tedy i nalezeného řešení
4169\end_layout
4170
4171\begin_layout Itemize
4172volba okolí (lokální metoda)
4173\end_layout
4174
4175\begin_layout Standard
4176\begin_inset Newpage newpage
4177\end_inset
4178
4179
4180\end_layout
4181
4182\begin_layout Chapter
4183Systémy pro testování
4184\begin_inset CommandInset label
4185LatexCommand label
4186name "cha:Systémy-pro-testování"
4187
4188\end_inset
4189
4190
4191\end_layout
4192
4193\begin_layout Section
4194Jednoduchý systém
4195\begin_inset CommandInset label
4196LatexCommand label
4197name "sec:Jednoduchý-systém-pro-testovani"
4198
4199\end_inset
4200
4201
4202\end_layout
4203
4204\begin_layout Subsection
4205Popis problému
4206\end_layout
4207
4208\begin_layout Standard
4209Tato úloha byla převzata z článku
4210\begin_inset CommandInset citation
4211LatexCommand cite
4212key "ThompsonCluettSIDP"
4213
4214\end_inset
4215
4216.
4217 Sami autoři
4218\begin_inset CommandInset citation
4219LatexCommand cite
4220key "ThompsonCluettSIDP"
4221
4222\end_inset
4223
4224 pak přejali tento problém z
4225\begin_inset CommandInset citation
4226LatexCommand cite
4227key "AstromHelmerssonDCIUG"
4228
4229\end_inset
4230
4231.
4232\end_layout
4233
4234\begin_layout Standard
4235Jedná se o integrátor s neznámým ziskem, tedy lineární časově invariantní
4236 systém s jedním vstupem a jedním výstupem
4237\end_layout
4238
4239\begin_layout Standard
4240\begin_inset Formula \begin{eqnarray}
4241y_{k+1} & = & y_{k}+bu_{k}+\sigma e_{k},\nonumber \\
4242b & \sim & N(\hat{b},P),\label{eq:simplesystem}\\
4243e_{k} & \sim & N(0,1),\nonumber \\
4244\mathrm{cov}(e_{k},b_{k}) & = & 0,\;\forall k.\nonumber \end{eqnarray}
4245
4246\end_inset
4247
4248
4249\end_layout
4250
4251\begin_layout Standard
4252kde
4253\begin_inset Formula $y_{k}$
4254\end_inset
4255
4256 je výstup nebo také stav procesu v čase
4257\begin_inset Formula $k$
4258\end_inset
4259
4260,
4261\begin_inset Formula $u_{k}$
4262\end_inset
4263
4264 je řízení v čase
4265\begin_inset Formula $k$
4266\end_inset
4267
4268.
4269 Varianci šumu
4270\begin_inset Formula $\sigma^{2}$
4271\end_inset
4272
4273 předpokládáme známou, stejně jako počáteční hodnoty systému
4274\begin_inset Formula $y_{0}$
4275\end_inset
4276
4277,
4278\begin_inset Formula $\hat{b}_{0}$
4279\end_inset
4280
4281 a
4282\begin_inset Formula $P_{0}$
4283\end_inset
4284
4285.
4286 Úkolem je nalézt zpětnovazební řízení
4287\begin_inset Formula \[
4288u_{k}^{*}=u_{k}^{*}(y_{k},y_{k-1},\ldots,y_{0},u_{k-1},u_{k-2},\ldots,u_{0}),\;0\leq k\leq N-1\]
4289
4290\end_inset
4291
4292 minimalizující očekávanou ztrátu
4293\begin_inset Formula \begin{eqnarray}
4294J_{0} & = & \left\{ \sum_{k=0}^{N-1}g_{k}\right\} ,\nonumber \\
4295g_{k} & = & (y_{k+1}-r_{k+1})^{2},\label{eq:simplesystemctgg}\end{eqnarray}
4296
4297\end_inset
4298
4299
4300\end_layout
4301
4302\begin_layout Standard
4303pro daný časový horizont
4304\begin_inset Formula $N$
4305\end_inset
4306
4307 a referenční signál, tj.
4308 požadovanou hodnotu výstupu, ve formě posloupnosti
4309\begin_inset Formula $\left\{ r_{k}\right\} _{k=1}^{N}$
4310\end_inset
4311
4312.
4313 Diskrétní časový krok
4314\begin_inset Formula $\Delta k$
4315\end_inset
4316
4317 pokládáme roven jedné časové jednotce, tedy
4318\begin_inset Formula $\Delta k=1$
4319\end_inset
4320
4321.
4322\end_layout
4323
4324\begin_layout Subsection
4325Úpravy rovnic
4326\end_layout
4327
4328\begin_layout Standard
4329Při řešení tohoto problému je výhodné podle
4330\begin_inset CommandInset citation
4331LatexCommand cite
4332key "AstromHelmerssonDCIUG"
4333
4334\end_inset
4335
4336 nahlížet na systému jako úlohu s postačující statistikou
4337\begin_inset Formula $H_{k}=[y_{k},\hat{b}_{k},P_{k}].$
4338\end_inset
4339
4340 Kde
4341\begin_inset Formula $y_{k}$
4342\end_inset
4343
4344 reprezentuje stav původní
4345\begin_inset Formula $y_{k}$
4346\end_inset
4347
4348, dále
4349\begin_inset Formula $\hat{b}_{k}$
4350\end_inset
4351
4352 je střední hodnota neznámého parametru
4353\begin_inset Formula $b$
4354\end_inset
4355
4356 a
4357\begin_inset Formula $P_{k}$
4358\end_inset
4359
4360 jeho variance.
4361\end_layout
4362
4363\begin_layout Standard
4364Pak první rovnici v
4365\begin_inset CommandInset ref
4366LatexCommand ref
4367reference "eq:simplesystem"
4368
4369\end_inset
4370
4371 doplníme rovnicemi, ze kterých mohou být rekurzivně napočítány parametry
4372 
4373\begin_inset Formula $\hat{b}_{k}$
4374\end_inset
4375
4376 a
4377\begin_inset Formula $P_{k}$
4378\end_inset
4379
4380
4381\begin_inset Formula \begin{eqnarray}
4382\hat{b}_{k+1} & = & \hat{b}_{k}+K_{k}(y_{k+1}-y_{k}-\hat{b}_{k}u_{k}),\nonumber \\
4383P_{k+1} & = & (1-K_{k}u_{k})P_{k},\label{eq:simplesystemexbp}\\
4384K_{k} & = & \frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}.\nonumber \end{eqnarray}
4385
4386\end_inset
4387
4388Ztráta v čase
4389\begin_inset Formula $k$
4390\end_inset
4391
4392 je
4393\begin_inset Formula \[
4394J_{k}=\min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ g_{k}+J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} ,\]
4395
4396\end_inset
4397
4398kde se stredni hodnota pocita pres
4399\begin_inset Formula $e_{k}$
4400\end_inset
4401
4402 a
4403\begin_inset Formula $b$
4404\end_inset
4405
4406.
4407 Systém
4408\begin_inset CommandInset ref
4409LatexCommand ref
4410reference "eq:simplesystem"
4411
4412\end_inset
4413
4414 je lineární, Gaussovský a máme k dispozici sdruženou hustotu rozdělení
4415 pravděpodobnosti
4416\begin_inset Formula $f(b_{k})=N(\hat{b}_{k},P_{k})$
4417\end_inset
4418
4419 jejíž parametry se vyvíjejí rekurzivně podle
4420\begin_inset CommandInset ref
4421LatexCommand ref
4422reference "eq:simplesystemexbp"
4423
4424\end_inset
4425
4426.
4427 Je tedy možno upravit ztrátovou funkci
4428\begin_inset Formula $J_{k}$
4429\end_inset
4430
4431 dosadíme-li za
4432\begin_inset Formula $g_{k}=(y_{k+1}-r_{k+1})^{2}$
4433\end_inset
4434
4435 z
4436\begin_inset CommandInset ref
4437LatexCommand ref
4438reference "eq:simplesystemctgg"
4439
4440\end_inset
4441
4442 a následně z
4443\begin_inset CommandInset ref
4444LatexCommand ref
4445reference "eq:simplesystem"
4446
4447\end_inset
4448
4449 za
4450\begin_inset Formula $y_{k+1}=y_{k}+bu_{k}+\sigma e_{k}$
4451\end_inset
4452
4453:
4454\begin_inset Formula \begin{eqnarray*}
4455J_{k} & = & \min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ (y_{k}+bu_{k}+\sigma e_{k}-r_{k+1})^{2}+J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} \\
4456 & = & \min_{u_{k}}\mathrm{E}_{e_{k}}\left\{ (y_{k}+\hat{b}u_{k}+\sigma e_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} +\\
4457 &  & +\min_{u_{k}}\mathrm{E}_{e_{k},b}\left\{ J_{k+1}\mid y_{k},y_{k-1},\ldots,u_{k-1},u_{k-2},\ldots\right\} \end{eqnarray*}
4458
4459\end_inset
4460
4461A ztráta v čase
4462\begin_inset Formula $k$
4463\end_inset
4464
4465 je pak vyjádřena ve tvaru
4466\begin_inset Formula \[
4467g_{k}=(y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}.\]
4468
4469\end_inset
4470
4471
4472\end_layout
4473
4474\begin_layout Standard
4475Následně lze zadání úlohy formulovat jako:
4476\begin_inset Formula \begin{eqnarray}
4477\mathrm{Rovnice\: systému:}\quad\left[\begin{array}{c}
4478y_{k+1}\\
4479\hat{b}_{k+1}\\
4480P_{k+1}\end{array}\right] & = & \left[\begin{array}{c}
4481y_{k}+\hat{b}_{k}u_{k}\\
4482\hat{b}_{k}+\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}(y_{k+1}-y_{k}-\hat{b}_{k}u_{k})\\
4483(1-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}}u_{k})P_{k}\end{array}\right]+\left[\begin{array}{c}
4484\sigma e_{k}\\
44850\\
44860\end{array}\right]\nonumber \\
4487\mathrm{Ztráta\: v\:čase}\: k\mathrm{:}\hspace{5em}g_{k} & = & (y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\label{eq:simplesysuplnaybP}\end{eqnarray}
4488
4489\end_inset
4490
4491
4492\end_layout
4493
4494\begin_layout Subsection
4495Aplikace metody CE
4496\begin_inset CommandInset label
4497LatexCommand label
4498name "sub:Aplikace-metody-CE-naJS"
4499
4500\end_inset
4501
4502
4503\end_layout
4504
4505\begin_layout Standard
4506Princip metody označené jako CE (z anglického
4507\begin_inset Quotes gld
4508\end_inset
4509
4510Certainty Equivalence
4511\begin_inset Quotes grd
4512\end_inset
4513
4514) je velmi jednoduchý.
4515 Neznámé parametry v systému nahradíme jejich očekávanými hodnotami a dále
4516 všechny výpočty provádíme, jako kdyby byly parametry známé.
4517 Takto získáné řízení samozřejmě není duální a pokud se skutečná hodnota
4518 neznámého parametru výrazněji odchyluje od očekávané hodnoty, se kterou
4519 počítáme, dopouštíme se značné chyby.
4520 Zmiňovaná metoda je použita jako první přiblížení a hlavně pro srovnání
4521 s dalšími algoritmy.
4522\end_layout
4523
4524\begin_layout Subsubsection
4525Triviální CE regulátor
4526\end_layout
4527
4528\begin_layout Standard
4529Při návrhu prvního, nejjednoduššího regulátoru uvažujeme pouze rovnici
4530\begin_inset CommandInset ref
4531LatexCommand ref
4532reference "eq:simplesystem"
4533
4534\end_inset
4535
4536 a nahradíme v ní parametr
4537\begin_inset Formula $b$
4538\end_inset
4539
4540 jeho očekávanou hodnotou
4541\begin_inset Formula $\hat{b}$
4542\end_inset
4543
4544, což vede na
4545\begin_inset Formula \[
4546y_{k+1}=y_{k}+\hat{b}u_{k}+\sigma e_{k}.\]
4547
4548\end_inset
4549
4550Se ztrátovou funkcí nebudeme explicitně počítat.
4551 Místo toho předpokládáme, že ztráta bude minimální, dosáhlneme-li požadované
4552 hodnoty
4553\begin_inset Formula $r_{k+1}$
4554\end_inset
4555
4556 v jednom kroku.
4557 Položíme tedy
4558\begin_inset Formula $y_{k+1}=r_{k+1}$
4559\end_inset
4560
4561, šum neuvažujeme (respektive jej nahradíme jeho střední hodnotou, což je
4562 nula) a z rovnice vyjádříme řízení
4563\begin_inset Formula $u_{k}$
4564\end_inset
4565
4566 v čase
4567\begin_inset Formula $k$
4568\end_inset
4569
4570 jako
4571\begin_inset Formula \[
4572u_{k}=\frac{r_{k+1}-y_{k}}{\hat{b}}.\]
4573
4574\end_inset
4575
4576Zde je samozřejmě nutné předpokládat, že očekávaná hodnota
4577\begin_inset Formula $\hat{b}$
4578\end_inset
4579
4580 není rovna nule.
4581 Tento předpoklad může být omezující, protože z pohledu původní rovnice
4582 s neznámým parametrem
4583\begin_inset Formula $b$
4584\end_inset
4585
4586 nastane problém pouze, když samotný parametr
4587\begin_inset Formula $b$
4588\end_inset
4589
4590 nabývá hodnoty nula.
4591 To pak zřejmě řízení nemá na systém žádný vliv.
4592 Chceme-li tento přístup použít pro libovolné
4593\begin_inset Formula $\hat{b}$
4594\end_inset
4595
4596 (tedy i pro
4597\begin_inset Formula $\hat{b}=0$
4598\end_inset
4599
4600), je možno například volit jmenovatel zlomku ve výrazu pro řízení místo
4601 
4602\begin_inset Formula $\hat{b}$
4603\end_inset
4604
4605 jako
4606\begin_inset Formula $\hat{b}+\varepsilon$
4607\end_inset
4608
4609 s vhodným parametrem
4610\begin_inset Formula $\varepsilon$
4611\end_inset
4612
4613, následně pak
4614\begin_inset Formula \[
4615u_{k}=\frac{r_{k+1}-y_{k}}{\hat{b}+\varepsilon},\quad\hat{b}+\varepsilon\neq0.\]
4616
4617\end_inset
4618
4619
4620\end_layout
4621
4622\begin_layout Subsection
4623Algoritmus LQG
4624\end_layout
4625
4626\begin_layout Standard
4627Algoritmus LQG (
4628\begin_inset Quotes gld
4629\end_inset
4630
4631Linear-Quadratic-Gaussian
4632\begin_inset Quotes grd
4633\end_inset
4634
4635) je vhodný k nalezení řízení pro lineární systémy s kvadratickou ztrátovou
4636 funkci a gaussovským šumem.
4637 To je sice případ zde uvažovaného
4638\emph on
4639jednoduchého systému
4640\emph default
4641, ale algoritmus LQG není duální.
4642 Nedokáže si tedy poradit s neznámým parametrem
4643\begin_inset Formula $b$
4644\end_inset
4645
4646 a je nutné použít nějaké aproximace.
4647 Opět tedy využijeme principu CE a nahradíme parametr
4648\begin_inset Formula $b$
4649\end_inset
4650
4651 jeho očekávanou hodnotou
4652\begin_inset Formula $\hat{b}$
4653\end_inset
4654
4655.
4656 LQG algoritmus využívá Kalmanova filtru a dokáže tedy lépe zvládat šumy
4657 a nepřesnosti měření.
4658\end_layout
4659
4660\begin_layout Subsubsection
4661LQG regulátor
4662\end_layout
4663
4664\begin_layout Standard
4665Jak již bylo zmíněno v předchozím textu, řízení LQG je založeno na principu
4666 separace, tedy estimátor a regulátor jsou navrhovány zvlášť.
4667 Máme-li k dispozici matice, popisující systém, stačí pro nalezení řízení
4668 pouze dosadit do rovnic v částech
4669\begin_inset CommandInset ref
4670LatexCommand ref
4671reference "sub:Kalmanův-filtr"
4672
4673\end_inset
4674
4675 a
4676\begin_inset CommandInset ref
4677LatexCommand ref
4678reference "sub:LQGkp1"
4679
4680\end_inset
4681
4682.
4683 Tento postup můžeme aplikovat na matice získané z rovnice
4684\begin_inset CommandInset ref
4685LatexCommand ref
4686reference "eq:simplesystem"
4687
4688\end_inset
4689
4690, pak získáme jednoduché řízení, které ale předpokládá parametr
4691\begin_inset Formula $b$
4692\end_inset
4693
4694 známý a jedná se tedy o princip CE.
4695 Matice systému budou v tomto případě
4696\begin_inset Formula \begin{eqnarray*}
4697A & = & 1,\quad B=\hat{b},\\
4698C & = & 1,\quad N=\sigma.\end{eqnarray*}
4699
4700\end_inset
4701
4702A úpravou ztrátové funkce
4703\family roman
4704\series medium
4705\shape up
4706\size normal
4707\emph off
4708\bar no
4709\noun off
4710\color none
4711
4712\begin_inset Formula \begin{eqnarray*}
4713\mathbf{E}\left\{ \sum_{k=0}^{N-1}g_{k}\right\}  & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left(y_{k+1}-r_{k+1}\right)^{2}\right\} \\
4714 & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\psi_{k+1}^{2}\right\} =\mathrm{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k+1}^{T}Q_{k}\psi_{k+1}\right)\right\} ,\end{eqnarray*}
4715
4716\end_inset
4717
4718kde
4719\begin_inset Formula $\psi_{k}$
4720\end_inset
4721
4722 reprezentuje rozdíl
4723\begin_inset Formula $y_{k}-r_{k}$
4724\end_inset
4725
4726, získáme matice
4727\begin_inset Formula $Q$
4728\end_inset
4729
4730 a
4731\begin_inset Formula $R$
4732\end_inset
4733
4734 ve tvaru
4735\begin_inset Formula \[
4736Q=1,\quad R=0.\]
4737
4738\end_inset
4739
4740
4741\family default
4742\series default
4743\shape default
4744\size default
4745\emph default
4746\bar default
4747\noun default
4748\color inherit
4749 
4750\end_layout
4751
4752\begin_layout Standard
4753Nebo se můžeme pokusit o aplikaci na systém
4754\begin_inset CommandInset ref
4755LatexCommand ref
4756reference "eq:simplesysuplnaybP"
4757
4758\end_inset
4759
4760, který vznikl úpravou systému
4761\begin_inset CommandInset ref
4762LatexCommand ref
4763reference "eq:simplesystem"
4764
4765\end_inset
4766
4767 a odhaduje očekávanou hodnotu a varianci neznámého parametru
4768\begin_inset Formula $b$
4769\end_inset
4770
4771, ale není lineární.
4772 Je tedy třeba systém
4773\begin_inset CommandInset ref
4774LatexCommand ref
4775reference "eq:simplesysuplnaybP"
4776
4777\end_inset
4778
4779 linearizovat, nejlépe v každém časovém kroku
4780\begin_inset Formula $k$
4781\end_inset
4782
4783.
4784 Potřebujeme tedy nějakou reprezentativní trajektorii a systém následně
4785 linearizujeme rozvojem do prvního řádu do Taylorovy řady se středem v této
4786 trajektorii a tento postup opakujeme pro každý čas
4787\begin_inset Formula $k$
4788\end_inset
4789
4790.
4791 Následně získáme matice linearizovaného systému
4792\begin_inset Formula \begin{eqnarray*}
4793A_{k} & =\frac{\partial}{\partial(y_{k},\hat{b}_{k},P_{k})}\left[\begin{array}{c}
4794y_{k+1}\\
4795\hat{b}_{k+1}\\
4796P_{k+1}\end{array}\right]= & \left(\begin{array}{ccc}
47971 & u_{k} & 0\\
4798-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & 1-\frac{u_{k}^{2}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & \frac{u_{k}\sigma^{2}\left(y_{k+1}-y_{k}-\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
47990 & 0 & 1-\frac{u_{k}^{2}P_{k}\left(u_{k}^{2}P_{k}+2\sigma^{2}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
4800B_{k} & =\frac{\partial}{\partial u_{k}}\left[\begin{array}{c}
4801y_{k+1}\\
4802\hat{b}_{k+1}\\
4803P_{k+1}\end{array}\right]= & \left(\begin{array}{c}
4804\hat{b}\\
4805\frac{\left(P_{k}\sigma^{2}-u_{k}^{2}P_{k}^{2}\right)\left(y_{k+1}-y_{k}+2\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
4806-\frac{2u_{k}P_{k}^{2}\sigma^{2}}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right).\end{eqnarray*}
4807
4808\end_inset
4809
4810Matice pro výpočet Kalmanova filtru jsou v čase konstantní a rovny
4811\begin_inset Formula \[
4812C_{k}=\left(\begin{array}{ccc}
48131 & 0 & 0\end{array}\right),\quad N_{k}=\sigma.\]
4814
4815\end_inset
4816
4817Pro ztrátovou funkci upravíme ztrátu systému
4818\begin_inset CommandInset ref
4819LatexCommand ref
4820reference "eq:simplesysuplnaybP"
4821
4822\end_inset
4823
4824 
4825\family roman
4826\series medium
4827\shape up
4828\size normal
4829\emph off
4830\bar no
4831\noun off
4832\color none
4833následovně
4834\begin_inset Formula \begin{eqnarray*}
4835\mathbf{E}\left\{ \sum_{k=0}^{N-1}g_{k}\right\}  & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left((y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2}\right)\right\} \\
4836 & = & \mathbf{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k}^{2}+P_{k}u_{k}^{2}\right)\right\} =\mathrm{E}\left\{ \sum_{k=0}^{N-1}\left(\psi_{k}^{T}Q_{k}\psi_{k}+u_{k}^{T}R_{k}u_{k}\right)\right\} \end{eqnarray*}
4837
4838\end_inset
4839
4840kde
4841\begin_inset Formula $\psi_{k}$
4842\end_inset
4843
4844 reprezentuje rozdíl
4845\begin_inset Formula $y_{k}-r_{k+1}$
4846\end_inset
4847
4848.
4849 Pak matice pro kvadratickou ztrátovou funkci
4850\begin_inset Formula $Q$
4851\end_inset
4852
4853 a
4854\begin_inset Formula $R$
4855\end_inset
4856
4857 jsou
4858\begin_inset Formula \begin{eqnarray*}
4859Q_{N} & = & \theta\\
4860Q_{k} & = & \left(\begin{array}{ccc}
48611 & 0 & 0\\
48620 & 0 & 0\\
48630 & 0 & 0\end{array}\right)\\
4864R_{k} & = & P_{k}\end{eqnarray*}
4865
4866\end_inset
4867
4868
4869\end_layout
4870
4871\begin_layout Subsection
4872iLQG
4873\end_layout
4874
4875\begin_layout Standard
4876Metoda iLQG je v podstatě rozšířením základního algoritmu pro nalezení LQ
4877 řízení a v triviálním případě se na tento algoritmus i redukuje.
4878 Proto většinu z veličin charakterizujících systém, potřebných pro výpočet
4879 iLQG řízení, můžeme převzít z předchozí části o aplikaci LQG regulátoru.
4880 Postup jejich výpočtu je totiž prakticky totožný.
4881 
4882\end_layout
4883
4884\begin_layout Subsubsection
4885iLQG řízení
4886\end_layout
4887
4888\begin_layout Standard
4889Veličiny budou uvedeny pouze pro případ jednoduchého systému s postačující
4890 statistikou, odhadující parametr
4891\begin_inset Formula $b.$
4892\end_inset
4893
4894 Přičemž obecný tvar parametrů vychází z systému definovaného v
4895\begin_inset CommandInset ref
4896LatexCommand ref
4897reference "eq:systemilqgdef"
4898
4899\end_inset
4900
4901.
4902\end_layout
4903
4904\begin_layout Standard
4905\begin_inset Formula \begin{eqnarray*}
4906A_{k} & = & I+\frac{\partial f}{\partial x}\cdot\Delta k=\left(\begin{array}{ccc}
49071 & u_{k} & 0\\
4908-\frac{u_{k}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & 1-\frac{u_{k}^{2}P_{k}}{u_{k}^{2}P_{k}+\sigma^{2}} & \frac{u_{k}\sigma^{2}\left(y_{k+1}-y_{k}-\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
49090 & 0 & 1-\frac{u_{k}^{2}P_{k}\left(u_{k}^{2}P_{k}+2\sigma^{2}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
4910B_{k} & = & \frac{\partial f}{\partial u}\cdot\Delta k=\left(\begin{array}{c}
4911\hat{b}\\
4912\frac{\left(P_{k}\sigma^{2}-u_{k}^{2}P_{k}^{2}\right)\left(y_{k+1}-y_{k}+2\hat{b}u_{k}\right)}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\\
4913-\frac{2u_{k}P_{k}^{2}\sigma^{2}}{\left(u_{k}^{2}P_{k}+\sigma^{2}\right)^{2}}\end{array}\right),\\
4914\mathbf{c}_{i,k} & = & F^{[i]}\cdot\sqrt{\Delta k}=\left(\begin{array}{c}
4915\sigma\\
49160\\
49170\end{array}\right),\\
4918C_{i,k} & = & \frac{\partial F^{[i]}}{\partial u}\cdot\sqrt{\Delta k}=0,\\
4919q_{k} & = & l\cdot\Delta k=(y_{k}-r_{k+1})^{2}+P_{k}u_{k}^{2},\\
4920\mathbf{q}_{k} & = & \frac{\partial l}{\partial x}\cdot\Delta k=\left(\begin{array}{c}
49212(y_{k}-r_{k+1})\\
49220\\
4923u_{k}^{2}\end{array}\right),\\
4924Q_{k} & = & \frac{\partial^{2}l}{\partial x\partial x}\cdot\Delta k=\left(\begin{array}{ccc}
49252 & 0 & 0\\
49260 & 0 & 0\\
49270 & 0 & 0\end{array}\right),\\
4928P_{k} & = & \frac{\partial^{2}l}{\partial u\partial x}\cdot\Delta k=\left(\begin{array}{c}
49290\\
49300\\
49312u_{k}\end{array}\right),\\
4932\mathbf{r}_{k} & = & \frac{\partial l}{\partial u}\cdot\Delta k=2P_{k}u_{k},\\
4933R_{k} & = & \frac{\partial^{2}l}{\partial u\partial u}=2P_{k}.\end{eqnarray*}
4934
4935\end_inset
4936
4937
4938\end_layout
4939
4940\begin_layout Subsection
4941iLDP
4942\begin_inset CommandInset label
4943LatexCommand label
4944name "sub:iLDP-js-implementace"
4945
4946\end_inset
4947
4948
4949\end_layout
4950
4951\begin_layout Standard
4952Algoritmus implementujeme podle základní osnovy uvedené v
4953\begin_inset CommandInset ref
4954LatexCommand ref
4955reference "sub:iLDP-Osnova-algoritmu"
4956
4957\end_inset
4958
4959 přičemž detaily implementace jsou voleny následovně:
4960\end_layout
4961
4962\begin_layout Description
4963Volba
4964\begin_inset space ~
4965\end_inset
4966
4967okolí
4968\emph on
4969
4970\begin_inset ERT
4971status open
4972
4973\begin_layout Plain Layout
4974
4975~
4976\end_layout
4977
4978\end_inset
4979
4980
4981\emph default
4982
4983\begin_inset Newline newline
4984\end_inset
4985
4986Množina stavů
4987\begin_inset Formula $\left\{ x^{(n)}\right\} $
4988\end_inset
4989
4990 je volena jako náhodná veličina s normálním rozdělením se střední hodnotou
4991 rovnou průměrnému stavu
4992\begin_inset Formula $\bar{x}(k)$
4993\end_inset
4994
4995 a rozptylem specifikovaným parametrem
4996\begin_inset Formula $\rho^{2}$
4997\end_inset
4998
4999.
5000 Tedy
5001\begin_inset Formula $x_{k}^{(n)}=\overline{x}(k)+\varepsilon_{k}^{(n)}$
5002\end_inset
5003
5004, kde
5005\begin_inset Formula $\varepsilon_{k}^{(n)}\sim N(0,\rho^{2})$
5006\end_inset
5007
5008 .
5009 Samotný parametr
5010\begin_inset Formula $\rho^{2}$
5011\end_inset
5012
5013 pak volíme v řádu šumu, popřípadě o řád větší, aby okolí postihlo možné
5014 změny trajektorie v důsledku šumu, ale současně nezasahovalo příliš daleko.
5015\begin_inset Newline newline
5016\end_inset
5017
5018Počet vzorků
5019\begin_inset Formula $M$
5020\end_inset
5021
5022 je zde konkrétně volen
5023\begin_inset Formula $100$
5024\end_inset
5025
5026 což se ukazuje jako dostatečné množství dat pro výpočet koeficientů aproximací.
5027\end_layout
5028
5029\begin_layout Description
5030Minimalizace
5031\begin_inset ERT
5032status open
5033
5034\begin_layout Plain Layout
5035
5036~
5037\end_layout
5038
5039\end_inset
5040
5041
5042\begin_inset Newline newline
5043\end_inset
5044
5045Zde použitá minimalizace je neomezená, je tedy užito minimalizační funkce
5046 programu
5047\emph on
5048Matlab
5049\emph default
5050(
5051\emph on
5052Optimization Toolbox
5053\emph default
5054)
5055\family typewriter
5056fminunc
5057\family default
5058.
5059\end_layout
5060
5061\begin_layout Description
5062Aproximace
5063\begin_inset space ~
5064\end_inset
5065
5066řízení
5067\begin_inset ERT
5068status open
5069
5070\begin_layout Plain Layout
5071
5072~
5073\end_layout
5074
5075\end_inset
5076
5077
5078\begin_inset Newline newline
5079\end_inset
5080
5081Aproximace zpětnovazebního řízení v tomto případě vychází z
5082\emph on
5083triviálního CE regulátoru
5084\emph default
5085 navrženého v
5086\begin_inset CommandInset ref
5087LatexCommand ref
5088reference "sub:Aplikace-metody-CE-naJS"
5089
5090\end_inset
5091
5092, který rozšiřuje
5093\begin_inset Formula \begin{eqnarray*}
5094\mathrm{CE\: regulátor:}\hspace{3em}u_{k} & = & \frac{r_{k+1}-y_{k}}{\hat{b}+\varepsilon},\quad\hat{b}+\varepsilon\neq0,\\
5095\mathrm{Aproximace\:\mathrm{řízení}}\mathrm{:\quad}\pi(k,x) & = & \frac{r_{k+1}-K_{1}y_{k}}{K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}}.\end{eqnarray*}
5096
5097\end_inset
5098
5099Koeficienty aproximace
5100\begin_inset Formula $K_{1\ldots4}$
5101\end_inset
5102
5103 vypočítáme v každém čase
5104\begin_inset Formula $k$
5105\end_inset
5106
5107 z množiny hodnot
5108\begin_inset Formula $\left\{ x^{(n)},u^{(n)}\right\} $
5109\end_inset
5110
5111 lineární regresí, tedy metodou nejmenších čtverů.
5112 Provedeme následující úpravy
5113\begin_inset Formula \begin{eqnarray*}
5114\left(K_{2}\hat{b}_{k}+K_{3}P_{k}+K_{4}\right)\pi(k,x) & = & r_{k+1}-K_{1}y_{k},\\
5115\left(\begin{array}{cccc}
5116y_{k} & \hat{b}_{k}\pi(k,x) & P_{k}\pi(k,x) & \pi(k,x)\end{array}\right)\left(\begin{array}{c}
5117K_{1}\\
5118K_{2}\\
5119K_{3}\\
5120K_{4}\end{array}\right) & = & r_{k+1}.\end{eqnarray*}
5121
5122\end_inset
5123
5124Rovnici označíme jako
5125\begin_inset Formula \[
5126\Psi K=R.\]
5127
5128\end_inset
5129
5130Následně dosadíme do
5131\begin_inset Formula $\Psi$
5132\end_inset
5133
5134 vypočítaná
5135\begin_inset Formula $x_{k}$
5136\end_inset
5137
5138 za
5139\begin_inset Formula $\left(\begin{array}{ccc}
5140y_{k} & \hat{b}_{k} & P_{k}\end{array}\right)^{T}$
5141\end_inset
5142
5143a odpovídající vypočítaná
5144\begin_inset Formula $u$
5145\end_inset
5146
5147 za
5148\begin_inset Formula $\pi(k,n)$
5149\end_inset
5150
5151, kdy dosazujeme celé vektory v
5152\begin_inset Formula $n$
5153\end_inset
5154
5155.
5156 Tedy výsledné
5157\begin_inset Formula $\Psi$
5158\end_inset
5159
5160 je maticí rozměru
5161\begin_inset Formula $n\times4$
5162\end_inset
5163
5164.
5165 Aby mohla být rovnice splněna, položíme
5166\begin_inset Formula $R=r_{k+1}\left(\begin{array}{cccc}
51671 & 1 & \ldots & 1\end{array}\right)^{T}$
5168\end_inset
5169
5170, tedy sloupcový vektor ze samých
5171\begin_inset Formula $r_{k+1}$
5172\end_inset
5173
5174.
5175 A koeficienty
5176\begin_inset Formula $K$
5177\end_inset
5178
5179 vypočítáme metodou nejmenších čtverců jako
5180\begin_inset Formula \[
5181K=\left(\Psi^{T}\Psi\right)^{-1}\Psi R.\]
5182
5183\end_inset
5184
5185
5186\end_layout
5187
5188\begin_layout Description
5189Aproximace
5190\begin_inset space ~
5191\end_inset
5192
5193Bellmanovy
5194\begin_inset space ~
5195\end_inset
5196
5197funkce
5198\begin_inset ERT
5199status open
5200
5201\begin_layout Plain Layout
5202
5203~
5204\end_layout
5205
5206\end_inset
5207
5208
5209\begin_inset Newline newline
5210\end_inset
5211
5212Aproximace Bellmanovy funkce je volena po vzoru dle
5213\begin_inset CommandInset ref
5214LatexCommand ref
5215reference "sub:Konkrétní-použité-aproximace-iLDP"
5216
5217\end_inset
5218
5219 jako lineární kombinace devíti základních funkcí
5220\begin_inset Formula \[
52211,\; y_{k},\;\hat{b}_{k},\;\ln P_{k},\; y_{k}^{2},\; y_{k}\hat{b}_{k},\; y_{k}\ln P_{k},\;\hat{b}_{k}^{2},\;\hat{b}_{k}\ln P_{k}.\]
5222
5223\end_inset
5224
5225Kdy se koeficienty aproximace určují lineární regresí podle vzorce uvedeného
5226 v
5227\begin_inset CommandInset ref
5228LatexCommand ref
5229reference "sub:Konkrétní-použité-aproximace-iLDP"
5230
5231\end_inset
5232
5233.
5234 Proměnná
5235\begin_inset Formula $P_{k}$
5236\end_inset
5237
5238 vystupuje v souboru základních funkcí v logaritmu z výpočetních důvodů.
5239 Nejdříve bylo užito základnich funkcí pro
5240\begin_inset Formula $P_{k}$
5241\end_inset
5242
5243 bez logaritmů, ale výpočet koeficientů aproximace selhával, protože matice
5244 
5245\begin_inset Formula $\Phi\Phi^{T}$
5246\end_inset
5247
5248 vystupující ve vzorci pro lineární regresi byla blízko singulární matici.
5249 To způsobilo problémy, při její následné inverzi, proto bylo
5250\begin_inset Formula $P_{k}$
5251\end_inset
5252
5253 nahrazeno v bázových funkcích
5254\begin_inset Formula $\ln P_{k}$
5255\end_inset
5256
5257.
5258\end_layout
5259
5260\begin_layout Section
5261Synchronní motor s permanentními magnety
5262\end_layout
5263
5264\begin_layout Subsection
5265Popis systému
5266\end_layout
5267
5268\begin_layout Standard
5269Následující model popisuje synchronní elektromotormotor s rotorem tvořeným
5270 permanentními magnety.
5271 Systém je popsán standartními rovnicemi synchronního stroje s permanentními
5272 magnety ve stacionárním tvaru
5273\begin_inset Formula \begin{eqnarray}
5274\frac{di_{\alpha}}{dt} & = & -\frac{R_{s}}{L_{s}}i_{\alpha}+\frac{\Psi_{PM}}{L_{s}}\omega\sin\vartheta+\frac{u_{\alpha}}{L_{s}},\nonumber \\
5275\frac{di_{\beta}}{dt} & = & -\frac{R_{s}}{L_{s}}i_{\beta}-\frac{\Psi_{PM}}{L_{s}}\omega\cos\vartheta+\frac{u_{\beta}}{L_{s}},\label{eq:pmsmspojity}\\
5276\frac{d\omega}{dt} & = & \frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\left(i_{\beta}\cos\vartheta-i_{\alpha}\sin\vartheta\right)-\frac{B}{J}\omega-\frac{p_{p}}{J}T_{L},\nonumber \\
5277\frac{d\vartheta}{dt} & = & \omega.\nonumber \end{eqnarray}
5278
5279\end_inset
5280
5281
5282\end_layout
5283
5284\begin_layout Standard
5285Zde
5286\begin_inset Formula $i_{\alpha,\beta}$
5287\end_inset
5288
5289 reprezentují proudy a
5290\begin_inset Formula $u_{\alpha,\beta}$
5291\end_inset
5292
5293 napětí na statoru.
5294 Poloha (úhel otočení) rotoru je označen
5295\begin_inset Formula $\vartheta$
5296\end_inset
5297
5298 a
5299\begin_inset Formula $\omega$
5300\end_inset
5301
5302 je pak rychlost otáčení.
5303 Dále
5304\begin_inset Formula $R_{s}$
5305\end_inset
5306
5307 je rezistance a
5308\begin_inset Formula $L_{s}$
5309\end_inset
5310
5311 induktance statoru.
5312 
5313\begin_inset Formula $\Psi_{PM}$
5314\end_inset
5315
5316 má význam magnetického toku permanentních magnetů rotoru,
5317\begin_inset Formula $B$
5318\end_inset
5319
5320 tření a
5321\begin_inset Formula $T_{L}$
5322\end_inset
5323
5324 je zatěžovací moment.
5325 Konstanta
5326\begin_inset Formula $p_{p}$
5327\end_inset
5328
5329 označuje počet párů polů a
5330\begin_inset Formula $k_{p}$
5331\end_inset
5332
5333 Parkovu konstantu.
5334\end_layout
5335
5336\begin_layout Standard
5337Cílem je návrh řízení bez senzorů, kdy čidla pro měření polohy a otáček
5338 nejsou (z různých důvodů) přítomna.
5339 Tedy jediné měřitelné veličiny jsou:
5340\begin_inset Formula \[
5341y(t)=\left(i_{\alpha}(t),i_{\beta}(t)\right),u_{\alpha}(t),u_{\beta}(t).\]
5342
5343\end_inset
5344
5345Které samozřejmě můžeme měřit jen s určitou přesností.
5346 Dále předpokládáme, že vstupy
5347\begin_inset Formula $u_{\alpha}$
5348\end_inset
5349
5350 a
5351\begin_inset Formula $u_{\beta}$
5352\end_inset
5353
5354 jsou omezené a tato omezení jsou známa.
5355 Nyní chceme dosáhnout požadovaných otáček rotoru
5356\begin_inset Formula $\overline{\omega}(t)$
5357\end_inset
5358
5359 (skutečnou hodnotu
5360\begin_inset Formula $\omega(t)$
5361\end_inset
5362
5363 neznáme, pouze ji odhadujeme ze známých hodnot
5364\begin_inset Formula $y(t)$
5365\end_inset
5366
5367).
5368\end_layout
5369
5370\begin_layout Subsection
5371Úprava rovnic
5372\begin_inset CommandInset label
5373LatexCommand label
5374name "sub:Úprava-rovnic-PMSM"
5375
5376\end_inset
5377
5378
5379\end_layout
5380
5381\begin_layout Subsubsection
5382Diskretizace
5383\end_layout
5384
5385\begin_layout Standard
5386Provedení diskretizace modelu
5387\begin_inset CommandInset ref
5388LatexCommand ref
5389reference "eq:pmsmspojity"
5390
5391\end_inset
5392
5393 pomocí Eulerovy metody vede na následující diskrétní popis:
5394\begin_inset Formula \begin{eqnarray*}
5395i_{\alpha,k+1} & = & \left(1-\frac{R_{s}}{L_{s}}\Delta k\right)i_{\alpha,k}+\frac{\Psi_{PM}}{L_{s}}\Delta k\omega_{k}\sin\vartheta_{k}+\frac{\Delta k}{L_{s}}u_{\alpha,k},\\
5396i_{\beta,k+1} & = & \left(1-\frac{R_{s}}{L_{s}}\Delta k\right)i_{\beta,k}-\frac{\Psi_{PM}}{L_{s}}\Delta k\omega_{k}\cos\vartheta_{k}+\frac{\Delta k}{L_{s}}u_{\beta,k},\\
5397\omega_{k+1} & = & \left(1-\frac{B}{J}\Delta k\right)\omega_{k}+\frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\Delta k\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right)-\frac{p_{p}}{J}T_{L}\Delta k,\\
5398\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\end{eqnarray*}
5399
5400\end_inset
5401
5402Kde
5403\begin_inset Formula $\Delta k$
5404\end_inset
5405
5406 označuje diskrétní časový okamžik.
5407 Předpokládáme, že paremetry modelu známe, můžeme tedy provést následující
5408 substituci za účelem zjednodušení:
5409\begin_inset Formula $a=1-\frac{R_{s}}{L_{s}}\Delta k$
5410\end_inset
5411
5412,
5413\begin_inset Formula $b=\frac{\Psi_{PM}}{L_{s}}\Delta k$
5414\end_inset
5415
5416,
5417\begin_inset Formula $c=\frac{\Delta k}{L_{s}}$
5418\end_inset
5419
5420,
5421\begin_inset Formula $d=1-\frac{B}{J}\Delta k$
5422\end_inset
5423
5424,
5425\begin_inset Formula $e=\frac{k_{p}p_{p}^{2}\Psi_{PM}}{J}\Delta k$
5426\end_inset
5427
5428.
5429 Pro jednoduchost uvažujme model bez zatížení, tedy zatěžovací moment
5430\begin_inset Formula $T_{L}$
5431\end_inset
5432
5433 je nulovy a zjednodušený model je:
5434\begin_inset Formula \begin{eqnarray}
5435i_{\alpha,k+1} & = & ai_{\alpha,k}+b\omega_{k}\sin\vartheta_{k}+cu_{\alpha,k},\nonumber \\
5436i_{\beta,k+1} & = & ai_{\beta,k}-b\omega_{k}\cos\vartheta_{k}+cu_{\beta,k},\label{eq:pmsmdiskretni}\\
5437\omega_{k+1} & = & d\omega_{k}+e\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right),\nonumber \\
5438\vartheta_{k+1} & = & \vartheta_{k}+\omega_{k}\Delta k.\nonumber \end{eqnarray}
5439
5440\end_inset
5441
5442Tyto rovnice můžeme chápat jako popis systému se stavem
5443\begin_inset Formula $x_{k}=\left(i_{\alpha,k},i_{\beta,k},\omega_{k},\vartheta_{k}\right)$
5444\end_inset
5445
5446, kde předchozí soustavu rovnic zapíšeme jako
5447\begin_inset Formula $x_{k+1}=g(x_{k},u_{k})$
5448\end_inset
5449
5450.
5451\end_layout
5452
5453\begin_layout Subsubsection
5454Odhad stavu
5455\end_layout
5456
5457\begin_layout Standard
5458O skutečném stavu systému
5459\begin_inset Formula $x_{k}$
5460\end_inset
5461
5462 máme informaci pouze v podobě měření
5463\begin_inset Formula $y_{k}=\left(i_{\alpha,k},i_{\beta,k}\right)$
5464\end_inset
5465
5466.
5467 Vlastní vývoj stavových proměnných může být ovlivněn šumem, pro jednoduchost
5468 předpokládáme Gaussovský šum s nulovou střední hodnotou a kovarianční maticí
5469 
5470\begin_inset Formula $M_{k}$
5471\end_inset
5472
5473.
5474 Pozorování stavu, tedy výstup
5475\begin_inset Formula $y_{k}$
5476\end_inset
5477
5478 je zatížen chybou měření, která je způsobena zaokrouhlením skutečné hodnoty
5479 na rozlišovací hodnotu stupnice přístroje.
5480 Z důvodu zjednodušení ale předpokládáme, že chyba měření bude mít ve výsledku
5481 normální rozdělení s nulovou střední hodnotou a kovarianční maticí
5482\begin_inset Formula $N_{k}$
5483\end_inset
5484
5485.
5486 K stejnému závěru bychom mohli dojít i použitím
5487\emph on
5488centrální limitní věty
5489\emph default
5490 z teorie pravděpodobnosti.
5491 Tedy na vnitřní stav systému i na výstup můžeme pohlížet jako na náhodné
5492 veličiny s normálním rozdělením
5493\begin_inset Formula \begin{eqnarray*}
5494x_{k+1} & \sim & N\left(g(x_{k}),M_{k}\right),\\
5495y_{k} & \sim & N\left(\left(\begin{array}{c}
5496i_{\alpha,k}\\
5497i_{\beta,k}\end{array}\right),N_{k}\right).\end{eqnarray*}
5498
5499\end_inset
5500
5501Nyní využijeme toho, že Kalmanův filtr je optimálním pozorovatelem lineárního
5502 systému s Gaussovským šumem.
5503 Zde uvažovaný systém
5504\begin_inset CommandInset ref
5505LatexCommand ref
5506reference "eq:pmsmdiskretni"
5507
5508\end_inset
5509
5510 není lineární, ale můžeme využít nelineární verze Kalmanova filtru, označované
5511 jako
5512\emph on
5513rozšířený Kalmanův filtr
5514\emph default
5515 (Extended Kalman filter), který systém linearizuje v každém časovém kroku.
5516 Rovnice pro výpočet odhadu stavu pak budou následující
5517\begin_inset Formula \begin{eqnarray}
5518\hat{x}_{k+1} & = & g(\hat{x}_{k})-K\left(y_{k+1}-h(\hat{x}_{k})\right),\nonumber \\
5519K & = & P_{k}C_{k}^{T}\left(C_{k}P_{k}C_{k}^{T}+N_{k}\right)^{-1},\label{eq:pmsp-odhadstavu-rovnice}\\
5520P_{k+1} & = & A_{k}\left(P_{k}-P_{k}C_{k}^{T}\left(C_{k}P_{k}C_{k}^{T}+N_{k}\right)^{-1}C_{k}P_{k}\right)A_{k}^{T}+M_{k},\nonumber \end{eqnarray}
5521
5522\end_inset
5523
5524kde funkce
5525\begin_inset Formula $h$
5526\end_inset
5527
5528 je
5529\begin_inset Formula $h(x_{k})=\left(i_{\alpha,k},i_{\beta,k}\right)^{T}$
5530\end_inset
5531
5532 a matice
5533\begin_inset Formula $A_{k}$
5534\end_inset
5535
5536 a
5537\begin_inset Formula $C_{k}$
5538\end_inset
5539
5540 získáme linearizecí systému v každém kroku, tedy
5541\begin_inset Formula \begin{eqnarray*}
5542A_{k}=\frac{d}{dx_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{cccc}
5543a & 0 & b\sin\vartheta_{k} & b\omega_{k}\cos\vartheta_{k}\\
55440 & a & -b\cos\vartheta_{k} & b\omega_{k}\sin\vartheta_{k}\\
5545-e\sin\vartheta_{k} & e\cos\vartheta_{k} & d & -e\left(i_{\alpha,k}\cos\vartheta_{k}+i_{\beta,k}\sin\vartheta_{k}\right)\\
55460 & 0 & \Delta k & 1\end{array}\right),\\
5547C_{k}=\frac{d}{dx_{k}}h(x_{k}) & = & \left(\begin{array}{cccc}
55481 & 0 & 0 & 0\\
55490 & 1 & 0 & 0\end{array}\right).\end{eqnarray*}
5550
5551\end_inset
5552
5553
5554\end_layout
5555
5556\begin_layout Subsubsection
5557Ztrátová funkce
5558\end_layout
5559
5560\begin_layout Standard
5561Cílem je dosáhnout požadovaných otáček rotoru
5562\begin_inset Formula $\overline{\omega}$
5563\end_inset
5564
5565.
5566 Pro zjednodušení uvažujme aditivní kvadratickou ztrátovou funkci
5567\begin_inset Formula \[
5568J=\mathrm{E}\left\{ \sum_{k=0}^{N-1}l(x_{k},u_{k})\right\} ,\]
5569
5570\end_inset
5571
5572kdy ztráta v každém časovém kroku
5573\begin_inset Formula $k$
5574\end_inset
5575
5576 je
5577\begin_inset Formula \[
5578l(x_{k},u_{k})=(\omega_{k}-\overline{\omega}_{k})^{2}+r(u_{\alpha,k}^{2}+u_{\beta,k}^{2}),\]
5579
5580\end_inset
5581
5582kde
5583\begin_inset Formula $r$
5584\end_inset
5585
5586 je vhodný parametr penalizace za vstupy, který je ovšem potřeba doladit.
5587 Tento výraz můžeme upravit do maticové podoby
5588\begin_inset Formula \begin{eqnarray*}
5589l(x_{k},u_{k}) & = & \left(\omega_{k}-\overline{\omega}_{k}\right)Q\left(\omega-\overline{\omega}_{k}\right)+\left(u_{\alpha,k},u_{\beta,k}\right)\left(\begin{array}{cc}
5590r & 0\\
55910 & r\end{array}\right)\left(\begin{array}{c}
5592u_{\alpha,k}\\
5593u_{\beta,k}\end{array}\right)\\
5594 & = & \psi_{k}^{T}Q\psi_{k}+u_{k}^{T}Ru_{k},\end{eqnarray*}
5595
5596\end_inset
5597
5598kde
5599\begin_inset Formula $\psi_{k}$
5600\end_inset
5601
5602 značí rozdíl vektoru stavu a pořadované hodnoty
5603\begin_inset Formula $\psi_{k}=x_{k}-\overline{x}_{k}$
5604\end_inset
5605
5606 a matice
5607\begin_inset Formula $Q$
5608\end_inset
5609
5610 a
5611\begin_inset Formula $R$
5612\end_inset
5613
5614 pak mají tvar
5615\begin_inset Formula \begin{eqnarray*}
5616Q & = & \left(\begin{array}{cccc}
56170 & 0 & 0 & 0\\
56180 & 0 & 0 & 0\\
56190 & 0 & 1 & 0\\
56200 & 0 & 0 & 0\end{array}\right),\\
5621R & = & \left(\begin{array}{cc}
5622r & 0\\
56230 & r\end{array}\right).\end{eqnarray*}
5624
5625\end_inset
5626
5627
5628\end_layout
5629
5630\begin_layout Subsection
5631Aplikace iLDP
5632\end_layout
5633
5634\begin_layout Standard
5635K implementaci iLDP algoritmu, je nutno podotknout, že jsem zatím nevytvořil
5636 funkční verzi.
5637 Je to zejména z důvodu, že se nepodařilo nalézt vhodnou aproximaci Bellmanovy
5638 funkce.
5639 Přesto zde uvedu postup aplikace tohoto algoritmu.
5640\end_layout
5641
5642\begin_layout Subsubsection
5643Postačující statistika
5644\end_layout
5645
5646\begin_layout Standard
5647Pro aplikaci iLDP metody je vhodné nejdříve zavést postačující statistiku.
5648 Volme tedy
5649\begin_inset Formula $\tilde{S}_{k}=\left(\hat{x}_{k},P_{k}\right)$
5650\end_inset
5651
5652, kde
5653\begin_inset Formula $\hat{x}_{k}$
5654\end_inset
5655
5656 má význam odhadu stavu a
5657\begin_inset Formula $P_{k}$
5658\end_inset
5659
5660 kovarianční matice, přičemž tyto parametry se vyvíjejí v čase podle rovnic
5661 
5662\begin_inset CommandInset ref
5663LatexCommand ref
5664reference "eq:pmsp-odhadstavu-rovnice"
5665
5666\end_inset
5667
5668.
5669 Následně, kdybychom chtěli zahrnout do aproximace Bellmanovy funkce všechny
5670 členy
5671\begin_inset Formula $\tilde{S}_{k}$
5672\end_inset
5673
5674, jednlo by se o příliš velké množství dat.
5675 Samotný vektor
5676\begin_inset Formula $\hat{x}_{k}$
5677\end_inset
5678
5679 má v každém čase
5680\begin_inset Formula $k$
5681\end_inset
5682
5683 čtyři složky a kovarianční matice
5684\begin_inset Formula $P_{k}$
5685\end_inset
5686
5687 pak šestnáct složek.
5688 Hledáme-li aproximaci Bellmanovy funkce po vzoru
5689\begin_inset CommandInset ref
5690LatexCommand ref
5691reference "sub:Konkrétní-použité-aproximace-iLDP"
5692
5693\end_inset
5694
5695, získáme dvacet členů prvního řádu a mnohonásobně víc členů druhého řádu.
5696 V takovémto případě je implementace algoritmu prakticky nemožná, omezíme
5697 se tedy na postačující statistiku ve tvaru
5698\begin_inset Formula $S_{k}=\left(\hat{x}_{k},P_{k}^{(3,3)},P_{k}^{(4,4)}\right)$
5699\end_inset
5700
5701, odhadu stavu a variancí odhadů složek rychlosti a otáček, které právě
5702 nemůžeme měřit.
5703\end_layout
5704
5705\begin_layout Subsubsection
5706Detaily implementace algoritmu
5707\end_layout
5708
5709\begin_layout Standard
5710Základní návrh implementace vychází z verze algoritmu pro jednoduchý systém
5711 viz
5712\begin_inset CommandInset ref
5713LatexCommand ref
5714reference "sub:iLDP-js-implementace"
5715
5716\end_inset
5717
5718, kterou modifikuje a rozšiřuje.
5719\end_layout
5720
5721\begin_layout Standard
5722Okolí
5723\begin_inset Formula $\left\{ x^{(n)}\right\} $
5724\end_inset
5725
5726 je voleno opět jako náhodná veličina s normálním rozdělením se střední
5727 hodnotou rovnou průměrnému stavu
5728\begin_inset Formula $\bar{x}(k)$
5729\end_inset
5730
5731 a rozptylem specifikovaným parametrem
5732\begin_inset Formula $\rho^{2}$
5733\end_inset
5734
5735.
5736 Počet vzorků
5737\begin_inset Formula $M$
5738\end_inset
5739
5740 je ponechán na hodnotě
5741\begin_inset Formula $100$
5742\end_inset
5743
5744, i když byly testovány i jiné hodnoty.
5745 
5746\end_layout
5747
5748\begin_layout Standard
5749Protože se úloha řízení synchronního motoru snaží do jisté míry přiblížit
5750 realitě, uvažujeme vstupy jako omezené.
5751 Tedy předpokládáme, že zdroj nemůže dodat na vstup libovolné napětí, ale
5752 je třeba dodržet jistá omezení.
5753 Zde budou omezení vstupů reprezentována podmínkou
5754\begin_inset Formula \[
5755u_{\alpha}^{2}+u_{\beta}^{2}\leq u_{max}^{2},\]
5756
5757\end_inset
5758
5759kde
5760\begin_inset Formula $u_{max}$
5761\end_inset
5762
5763 předpokládáme jako zadanou konstantu.
5764 Pro minimalizaci v algoritmu iLDP je tedy třeba užít omezené minimalizace,
5765 zde je použita minimalizační funkce programu
5766\emph on
5767Matlab
5768\emph default
5769(
5770\emph on
5771Optimization Toolbox
5772\emph default
5773)
5774\family typewriter
5775fmincon
5776\family default
5777.
5778\end_layout
5779
5780\begin_layout Subsubsection
5781Volba aproximací
5782\end_layout
5783
5784\begin_layout Standard
5785Aproximaci Bellmanovy funkce vytvoříme na základě postačující statistiky
5786 
5787\begin_inset Formula $S_{k}=\left(\hat{x}_{k},P_{k}^{(3,3)},P_{k}^{(4,4)}\right)$
5788\end_inset
5789
5790, tedy dle
5791\begin_inset CommandInset ref
5792LatexCommand ref
5793reference "sub:Konkrétní-použité-aproximace-iLDP"
5794
5795\end_inset
5796
5797 volíme lineární kombinace základních funkcí a na základě zkušeností s jednoduch
5798ým systémem použijeme místo variancí jejich logaritmy.
5799 Soubor základních funkcí je pak
5800\begin_inset Formula \begin{gather*}
58011,\;\hat{x}_{k}^{(1)},\ldots,\hat{x}_{k}^{(4)},\;\ln P_{k}^{(3,3)},\;\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(1)}\right)^{2},\;\hat{x}_{k}^{(1)}\hat{x}_{k}^{(2)},\ldots,\hat{x}_{k}^{(1)}\hat{x}_{k}^{(4)},\\
5802\hat{x}_{k}^{(1)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(1)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(2)}\right)^{2},\;\hat{x}_{k}^{(2)}\hat{x}_{k}^{(3)},\;\hat{x}_{k}^{(2)}\hat{x}_{k}^{(4)},\\
5803\hat{x}_{k}^{(2)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(2)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(3)}\right)^{2},\;\hat{x}_{k}^{(3)}\hat{x}_{k}^{(4)},\;\hat{x}_{k}^{(3)}\ln P_{k}^{(3,3)},\\
5804\hat{x}_{k}^{(3)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(4)}\right)^{2},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(4,4)}.\end{gather*}
5805
5806\end_inset
5807
5808Ale i takový soubor základních funkcí může být příliš velký, proto byla
5809 zkoušena i možnost s vynecháním prvních dvou členů
5810\begin_inset Formula $\hat{x}_{k}$
5811\end_inset
5812
5813, tedy proudů
5814\begin_inset Formula $i_{\alpha}$
5815\end_inset
5816
5817 a
5818\begin_inset Formula $i_{\beta}$
5819\end_inset
5820
5821.
5822 Naopak byly přidány kvadráty logaritmů variancí.
5823 Druhý možný soubor je tedy
5824\begin_inset Formula \begin{gather*}
58251,\;\hat{x}_{k}^{(3)},\;\hat{x}_{k}^{(4)},\;\ln P_{k}^{(3,3)},\;\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(3)}\right)^{2},\;\hat{x}_{k}^{(3)}\hat{x}_{k}^{(4)},\\
5826\hat{x}_{k}^{(3)}\ln P_{k}^{(3,3)},\;\hat{x}_{k}^{(3)}\ln P_{k}^{(4,4)},\;\left(\hat{x}_{k}^{(4)}\right)^{2},\;\hat{x}_{k}^{(4)}\ln P_{k}^{(3,3)},\\
5827\hat{x}_{k}^{(4)}\ln P_{k}^{(4,4)},\;\left(\ln P_{k}^{(3,3)}\right)^{2},\;\ln P_{k}^{(3,3)}\ln P_{k}^{(4,4)},\;\left(\ln P_{k}^{(4,4)}\right)^{2}.\end{gather*}
5828
5829\end_inset
5830
5831
5832\end_layout
5833
5834\begin_layout Standard
5835Aproximace řízení byly volena a zkoušena v několika různých tvarech.
5836 Jednalo se o přímovazební řízení
5837\begin_inset Formula $\pi(k,x)=\overline{u}_{k}$
5838\end_inset
5839
5840, kde hodnotu řízení
5841\begin_inset Formula $\overline{u}_{k}$
5842\end_inset
5843
5844 získáme jako střední hodnotu přes vzorky
5845\begin_inset Formula $n$
5846\end_inset
5847
5848 všech řízení
5849\family roman
5850\series medium
5851\shape up
5852\size normal
5853\emph off
5854\bar no
5855\noun off
5856\color none
5857
5858\begin_inset Formula $\left\{ u^{(n)}\right\} $
5859\end_inset
5860
5861 v čase
5862\begin_inset Formula $k$
5863\end_inset
5864
5865.
5866 Dále, protože se jedná o točivý stroj, byla testována zpětnovazební aproximace
5867 řízení ve tvaru lineární kombinace funcí
5868\begin_inset Formula $\sin\vartheta,\;\cos\vartheta,\;\sin^{2}\vartheta,\;\cos^{2}\vartheta$
5869\end_inset
5870
5871.
5872 Nakonec byla ještě zkoušena aproximace získaná vyjádřením veličiny
5873\begin_inset Formula $u_{k}$
5874\end_inset
5875
5876 z rovnic systému a doplnění o koeficienty po vzoru nalezení aproximace
5877 řízení v
5878\begin_inset CommandInset ref
5879LatexCommand ref
5880reference "sub:iLDP-js-implementace"
5881
5882\end_inset
5883
5884.
5885\end_layout
5886
5887\begin_layout Subsubsection
5888Problém aplikace iLDP
5889\end_layout
5890
5891\begin_layout Standard
5892Žádný z výše uvedených postupů nevedl k nalezení funkčního řízení, pro zadaný
5893 problém synchronního motoru s permanentními magnety.
5894 Jako zásadní problém zde shledávám netriviální úkol nalezení vhodných aproximac
5895í.
5896 V případě vícerozměrného nelineárního systému to může být velmi náročné
5897 a nahodilé zkoušení volby různých aproximací zřejmě nemusí vést k cíli.
5898 Jednou z možností je, vyjít z jednodušší metody, například LQG nebo modifikovan
5899é iLQG, a aproximace vytvořit po vzoru jejích funkcí.
5900 Pak bychom však obdrželi v podstatě stejně
5901\begin_inset Quotes gld
5902\end_inset
5903
5904přesnou
5905\begin_inset Quotes grd
5906\end_inset
5907
5908 metodu, jako je ta, ze které jsme vyšli, jenom by byl náš algoritmus iLDP
5909 časově náročnější z důvodu numerických výpočtů.
5910 Vhodným kandidátem na metodu z níž by bylo možné vyjít je algoritmus LQG,
5911 pomocí kterého se podařilo implementovat funkční řízení.
5912\end_layout
5913
5914\begin_layout Subsection
5915Algoritmus LQG
5916\end_layout
5917
5918\begin_layout Standard
5919Zde navržený algoritmu LQG není duální, neurčitosti v systému tedy zvládá
5920 hůře než případná duální metoda.
5921 Dále algoritmus předpokládá lineární systém a kvadratickou ztrátu.
5922 Ztrátu jsme, z důvodu jednoduchosti, jako kvadratickou volili již na počátku,
5923 je ale třeba linearizovat systém v každém časovém kroku.
5924 Dále LQG je založeno na principu separace, tedy estimátor a regulátor navrhujem
5925e zvlášť.
5926 Estimátorem zvolíme rozšířený Kalmanův filtr, jehož rovnice jsou uvedeny
5927 v části
5928\begin_inset CommandInset ref
5929LatexCommand ref
5930reference "sub:Úprava-rovnic-PMSM"
5931
5932\end_inset
5933
5934.
5935 Jako regulátor použijeme LQ regulátor, který je popsán v
5936\begin_inset CommandInset ref
5937LatexCommand ref
5938reference "sub:LQGkp1"
5939
5940\end_inset
5941
5942.
5943\end_layout
5944
5945\begin_layout Subsubsection
5946Požadovaná hodnota
5947\end_layout
5948
5949\begin_layout Standard
5950Protože jednoduchý systém v
5951\begin_inset CommandInset ref
5952LatexCommand ref
5953reference "sec:Jednoduchý-systém-pro-testovani"
5954
5955\end_inset
5956
5957 byl lineární, bylo prakticky jedno, na jakou požadovanou hodnotu jej řídíme.
5958 Díky linearitě můžeme totiž hodnoty vždy posunout.
5959 Regulátor LQ je navržen pro lineární systém, předpokládá tedy linearitu
5960 a hledá řízení pouze na nulovou hodnotu.
5961 Tedy snaží se minimalizovat odchylku od nuly.
5962 Zde uvažovaný systém je ale nelineární a když chceme řídit na nenulovou
5963 požadovanou hodnotu, v tomto případě jde o požadované otáčky
5964\begin_inset Formula $\overline{\omega}$
5965\end_inset
5966
5967, nelze pouze nalézt LQ řízení na nulu a následně řešení posunout.
5968 Je proto třeba požadovanou hodnotu již od počátku zahrnout do našich uvažování
5969 a přidat ji do systému jako novou stavovou proměnou, byť může být v celém
5970 časovém vývoji systému konstantní.
5971\end_layout
5972
5973\begin_layout Standard
5974Provedeme tedy substituci.
5975 Chceme
5976\family roman
5977\series medium
5978\shape up
5979\size normal
5980\emph off
5981\bar no
5982\noun off
5983\color none
5984řídít na nulu
5985\begin_inset Formula $\omega_{k}-\overline{\omega}_{k}$
5986\end_inset
5987
5988 rozdíl skutečných a požadovaných otáček, tuto veličinu tedy označíme jako
5989 
5990\begin_inset Formula $\psi_{k}$
5991\end_inset
5992
5993 a následně
5994\begin_inset Formula $\psi_{k}=\omega_{k}-\overline{\omega}_{k}$
5995\end_inset
5996
5997.
5998 Z tohoto výrazu si můžeme vyjádřit stavovou proměnou otáček jako
5999\begin_inset Formula $\omega_{k}=\psi_{k}+\overline{\omega}_{k}$
6000\end_inset
6001
6002.
6003 Nyní v rovnicích
6004\begin_inset CommandInset ref
6005LatexCommand ref
6006reference "eq:pmsmdiskretni"
6007
6008\end_inset
6009
6010 dosadíme za
6011\begin_inset Formula $\omega_{k}$
6012\end_inset
6013
6014 a přidáním další rovnice pro vývoj požadované hodnoty
6015\begin_inset Formula $\overline{\omega}_{k}$
6016\end_inset
6017
6018 získáme rovnice nového systému v pěti stavových proměnných
6019\family default
6020\series default
6021\shape default
6022\size default
6023\emph default
6024\bar default
6025\noun default
6026\color inherit
6027
6028\begin_inset Formula \begin{eqnarray*}
6029i_{\alpha,k+1} & = & ai_{\alpha,k}+b\left(\psi_{k}+\overline{\omega}_{k}\right)\sin\vartheta_{k}+cu_{\alpha,k},\\
6030i_{\beta,k+1} & = & ai_{\beta,k}-b\left(\psi_{k}+\overline{\omega}_{k}\right)\cos\vartheta_{k}+cu_{\beta,k},\\
6031\psi_{k+1} & = & d\left(\psi_{k}+\overline{\omega}_{k}\right)-\overline{\omega}_{k+1}+e\left(i_{\beta,k}\cos\vartheta_{k}-i_{\alpha,k}\sin\vartheta_{k}\right),\\
6032\vartheta_{k+1} & = & \vartheta_{k}+\left(\psi_{k}+\overline{\omega}_{k}\right)\Delta k,\\
6033\overline{\omega}_{k+1} & = & \overline{\omega}_{k}.\end{eqnarray*}
6034
6035\end_inset
6036
6037Současně se nám ale ztráta v každém časovém kroku
6038\begin_inset Formula $k$
6039\end_inset
6040
6041 změní na
6042\begin_inset Formula \[
6043l(x_{k},u_{k})=\psi_{k}^{2}+r(u_{\alpha,k}^{2}+u_{\beta,k}^{2})=\psi_{k}^{T}Q\psi_{k}+u_{k}^{T}Ru_{k}.\]
6044
6045\end_inset
6046
6047
6048\end_layout
6049
6050\begin_layout Subsubsection
6051LQG řízení
6052\end_layout
6053
6054\begin_layout Standard
6055Nyní můžeme na matice popisující systém
6056\begin_inset Formula \begin{eqnarray*}
6057A_{k} & = & \frac{d}{dx_{k}}g(x_{k},u_{k})\\
6058 & = & \left(\begin{array}{ccccc}
6059a & 0 & b\sin\vartheta_{k} & b\left(\psi_{k}+\overline{\omega}_{k}\right)\cos\vartheta_{k} & b\sin\vartheta_{k}\\
60600 & a & -b\cos\vartheta_{k} & b\left(\psi_{k}+\overline{\omega}_{k}\right)\sin\vartheta_{k} & -b\cos\vartheta_{k}\\
6061-e\sin\vartheta_{k} & e\cos\vartheta_{k} & d & -e\left(i_{\alpha,k}\cos\vartheta_{k}+i_{\beta,k}\sin\vartheta_{k}\right) & \left(d-1\right)\\
60620 & 0 & \Delta k & 1 & \Delta k\\
60630 & 0 & 0 & 0 & 1\end{array}\right),\end{eqnarray*}
6064
6065\end_inset
6066
6067
6068\end_layout
6069
6070\begin_layout Standard
6071\begin_inset Formula \begin{eqnarray*}
6072B_{k}=\frac{d}{du_{k}}g(x_{k},u_{k}) & = & \left(\begin{array}{cc}
6073c & 0\\
60740 & c\\
60750 & 0\\
60760 & 0\\
60770 & 0\end{array}\right),\\
6078C_{k}=\frac{d}{dx_{k}}h(x_{k}) & = & \left(\begin{array}{ccccc}
60791 & 0 & 0 & 0 & 0\\
60800 & 1 & 0 & 0 & 0\end{array}\right),\\
6081Q & = & \left(\begin{array}{ccccc}
60820 & 0 & 0 & 0 & 0\\
60830 & 0 & 0 & 0 & 0\\
60840 & 0 & 1 & 0 & 0\\
60850 & 0 & 0 & 0 & 0\\
60860 & 0 & 0 & 0 & 0\end{array}\right),\\
6087R & = & \left(\begin{array}{cc}
6088r & 0\\
60890 & r\end{array}\right),\end{eqnarray*}
6090
6091\end_inset
6092
6093aplikovat rovnice pro rozšířený Kalmanův filtr a LQ regulátor.
6094 Přičemž konkrétní hodnoty počátečních hodnot a parametrů budou specifikovány
6095 v kapitole
6096\begin_inset CommandInset ref
6097LatexCommand ref
6098reference "cha:Výsledky"
6099
6100\end_inset
6101
6102.
6103\end_layout
6104
6105\begin_layout Standard
6106\begin_inset Newpage newpage
6107\end_inset
6108
6109
6110\end_layout
6111
6112\begin_layout Chapter
6113Výsledky
6114\begin_inset CommandInset label
6115LatexCommand label
6116name "cha:Výsledky"
6117
6118\end_inset
6119
6120
6121\end_layout
6122
6123\begin_layout Section
6124Metodika zpracování a získávání výsledků
6125\end_layout
6126
6127\begin_layout Standard
6128Pro testované systémy viz kapitola
6129\begin_inset CommandInset ref
6130LatexCommand ref
6131reference "cha:Systémy-pro-testování"
6132
6133\end_inset
6134
6135, byly jednotlivé algoritmy implementovány jako funkce programu
6136\emph on
6137Matlab
6138\emph default
6139.
6140 Vstupními hodnotami byla nastavení jednotlivých počátečních podmínek a
6141 parametrů pro výpočet.
6142 Jednotlivé algoritmy pak byly volány ze skriptu programu
6143\emph on
6144Matlab
6145\emph default
6146 se stejným nastavením hodnot.
6147 Návratovými hodnotami jednotlivých funkcí reprezentujících algoritmy pak
6148 byla dosažená hodnota ztráty a posloupnost reprezentující diskrétní trajektorii
6149 systému ve stavovém prostoru.
6150 Hodnota ztráty
6151\begin_inset Formula $J_{alg}$
6152\end_inset
6153
6154 byla pro účely porovnání algoritmů formulována stejně, jako součet kvadrátů
6155 odchylek výstupu od požadované hodnoty, tedy
6156\begin_inset Formula \[
6157J_{alg}=\sum_{k=0}^{N-1}\left(y_{k+1}-r_{k+1}\right)^{2}.\]
6158
6159\end_inset
6160
6161Při porovnávání jednotlivých algoritmů nebyly samozřejmě uvažovány výsledky
6162 jednoho běhu výpočtu, ale provedlo se běhů více a následně byly výsledky
6163 zpracovány statisticky.
6164\end_layout
6165
6166\begin_layout Subsection
6167Funkce pro jednoduchý systém
6168\end_layout
6169
6170\begin_layout Standard
6171Všechny konkrétní funkce programu
6172\emph on
6173Matlab
6174\emph default
6175 reprezentující jednotlivé algoritmy mají stejnou strukturu.
6176 Na počátku dostanou jako své vstupní hodnoty parametry:
6177\end_layout
6178
6179\begin_layout Labeling
6180\labelwidthstring 00.00.0000
6181\begin_inset Formula $y_{0}$
6182\end_inset
6183
6184 počáteční hodnota proměnné
6185\begin_inset Formula $y$
6186\end_inset
6187
6188, tedy hodnota
6189\begin_inset Formula $y_{k}$
6190\end_inset
6191
6192 v čase
6193\begin_inset Formula $k=0$
6194\end_inset
6195
6196;
6197\end_layout
6198
6199\begin_layout Labeling
6200\labelwidthstring 00.00.0000
6201\begin_inset Formula $y_{r}$
6202\end_inset
6203
6204 požadovaná hodnota
6205\begin_inset Formula $y$
6206\end_inset
6207
6208, referenční signál;
6209\end_layout
6210
6211\begin_layout Labeling
6212\labelwidthstring 00.00.0000
6213\begin_inset Formula $\mathrm{E}b$
6214\end_inset
6215
6216 střední hodnota neznámého parametru
6217\begin_inset Formula $b$
6218\end_inset
6219
6220;
6221\end_layout
6222
6223\begin_layout Labeling
6224\labelwidthstring 00.00.0000
6225\begin_inset Formula $P$
6226\end_inset
6227
6228 variance neznámého parametru
6229\begin_inset Formula $b$
6230\end_inset
6231
6232;
6233\end_layout
6234
6235\begin_layout Labeling
6236\labelwidthstring 00.00.0000
6237\begin_inset Formula $\sigma^{2}$
6238\end_inset
6239
6240 variance šumu;
6241\end_layout
6242
6243\begin_layout Labeling
6244\labelwidthstring 00.00.0000
6245\begin_inset Formula $K$
6246\end_inset
6247
6248 časový horizont, pro který navrhujeme řízení;
6249\end_layout
6250
6251\begin_layout Labeling
6252\labelwidthstring 00.00.0000
6253\begin_inset Formula $N$
6254\end_inset
6255
6256 počet vzorkových trajektorií pro simulaci.
6257\end_layout
6258
6259\begin_layout Standard
6260Následně proběhne výpočet řízení na základě konkrétního algoritmu, zpravidla
6261 podle rovnic a vzorců popsaných v části
6262\begin_inset CommandInset ref
6263LatexCommand ref
6264reference "sec:Jednoduchý-systém-pro-testovani"
6265
6266\end_inset
6267
6268.
6269 Dále je provedena simulace běhu systému s použítím řízení získaného v předchozí
6270m kroku.
6271 V průběhu této simulace je vypočítána hodnota dosažené ztráty a posloupnost
6272 odpovídající trajektorie systému.
6273 Tyto veličiny charakterizující použití daného algoritmu na jednoduchý systém
6274 jsou na závěr vráceny jako návratové hodnoty funkce.
6275\end_layout
6276
6277\begin_layout Section
6278Výsledky algoritmu iLDP
6279\end_layout
6280
6281\begin_layout Subsection
6282Různá počáteční nastavení
6283\end_layout
6284
6285\begin_layout Standard
6286(testování možná i jen pro iLDP bez ostatních)
6287\end_layout
6288
6289\begin_layout Standard
6290(použité počáteční hodnoty)
6291\end_layout
6292
6293\begin_layout Section
6294Výsledky ostatních použitých metod
6295\end_layout
6296
6297\begin_layout Subsection
6298Pozorované výsledky
6299\end_layout
6300
6301\begin_layout Standard
6302(získané výsledky v podobě tabulek, grafů a bar-grafů)
6303\end_layout
6304
6305\begin_layout Standard
6306(slovní závěry pro jednotlivé metody)
6307\end_layout
6308
6309\begin_layout Standard
6310(charakteristické rysy budou rekapitulovány v závěru)
6311\end_layout
6312
6313\begin_layout Subsection
6314CE
6315\end_layout
6316
6317\begin_layout Subsection
6318LQG
6319\end_layout
6320
6321\begin_layout Subsection
6322iLQG
6323\end_layout
6324
6325\begin_layout Section
6326Srovnání
6327\end_layout
6328
6329\begin_layout Subsection
6330Získané výsledky
6331\end_layout
6332
6333\begin_layout Subsection
6334Porovnání algoritmů
6335\end_layout
6336
6337\begin_layout Subsection
6338Konfrontace s prvotními očekáváními
6339\end_layout
6340
6341\begin_layout Section
6342Diskuze pro metodu iLDP
6343\end_layout
6344
6345\begin_layout Standard
6346\begin_inset Newpage newpage
6347\end_inset
6348
6349
6350\end_layout
6351
6352\begin_layout Addchap
6353Závěr
6354\end_layout
6355
6356\begin_layout Standard
6357\begin_inset Newpage newpage
6358\end_inset
6359
6360
6361\end_layout
6362
6363\begin_layout Standard
6364\begin_inset ERT
6365status open
6366
6367\begin_layout Plain Layout
6368
6369
6370\backslash
6371addcontentsline{toc}{chapter}{Literatura}
6372\end_layout
6373
6374\begin_layout Plain Layout
6375
6376
6377\backslash
6378markboth{Literatura}{Literatura}
6379\end_layout
6380
6381\end_inset
6382
6383
6384\end_layout
6385
6386\begin_layout Standard
6387\begin_inset CommandInset bibtex
6388LatexCommand bibtex
6389btprint "btPrintAll"
6390bibfiles "bpzdroje"
6391options "czechiso"
6392
6393\end_inset
6394
6395
6396\end_layout
6397
6398\end_body
6399\end_document
Note: See TracBrowser for help on using the browser.