From b5c5d2ccb12bee99ea1ff5b277dab559d1720ae8 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Wed, 17 Jun 2026 15:27:18 +0200 Subject: [PATCH] [AMR] Finish first rework --- .../autonomous-mobile-robots-cheatsheet.pdf | Bin 653198 -> 652264 bytes .../00_feedback-control/02_lqr.tex | 2 +- .../00_feedback-control/03_mpc.tex | 4 ++-- .../01_motion-planning-exploration/02_rrt.tex | 2 +- .../04_collision-avoidance.tex | 3 ++- .../02_learning-to-act/01_mdp.tex | 4 ++-- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/electives/amr/autonomous-mobile-robots-cheatsheet.pdf b/electives/amr/autonomous-mobile-robots-cheatsheet.pdf index 9bc9682d21356336059ef0c776382483805a883a..e659b4278310e7946813aacfdc8c9ae1721a9db0 100644 GIT binary patch delta 31759 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 rJD9n;xtJT<|4-*=VguvqX6)kTdgXp>0 delta 32690 zcmV(>K-jQuCxC>fHJaXFE6{%G6XvBD06i08SN53TE__sHIYu#IYe)|Z2 z#_b<45`{^5exwSW7VseZgkL$!f`@$j$cWlazl>CtCC|(8COsa>!X)c*Gn-zH=Xg_N zhQEwhrjvW_mx2YqNU4%f?iZCG>D1(+z+a3=l`LRUsWg5{@BFa(H1bqyb5tAjy&I%? zZ4hIr&_`LygmHsPVk)C7Eu_Sc-LOA@iFv6M-cQZS1hZmH*Jt%>mSyDfIp@hw#FRPQ zobmdc-$v#v!a08==B!htHBLG=MKEcd)keW&Wb!+4d<ox&UwLcd!QTgb2qJOBF*n zB8>DQ821{{%%j|c)q4`#jOakN6JmvV4iJ)8Mz-dj<^}BOsNl&<;$6H*1^2suVZP*U zH0B8yR^&&uS^PvimSw5V^pQw4Q*P9M5RcMn&H;M0Q76Q+@>IeXnQ}n%#-X668!Q`e zT)`n8<#2yq16v1<8Q3lcU$T^&Ls0DLc)l1fk4Hl1$=P_eBymjgD2~bGDY1Ye2O`98 z62~a)Vma)^UvSh32 zx8)R3Oec$S+=pTTYbb!-1MR$V)^IIi6yPwEuo%QPWb;}m4U9Q|rBJ$qEmOqI zWWXxLm%vU-Pk+r6DWoM&2odj>k$|Ol%5~HZOP;dK9KORp5exYRMGTlUBPUJD9xT;` z{0q)W4S_(Yhm&s<5Ko783UD4bS)@#QQYzCtxC=E12H^hj0eQCWVf=~_v#v6w?%-33|O4CNYRXtXAC$R;xu$$QV~VHBIf?0G<5evPmBV!aHspzI9|0Jk4|f-z%Kt zes!nC=&Cc;A$bc+W9+#x`61`#V6jA!TvP(V7W$v-2t1;7MUh`Y7NKAQic=>48IU|! zS{un95zlqz)wY&@8fuUXcs=kG4Z>v}$9IN`<`GW|&iWLDXY`iIE9}@S${vww+LGD* zsAr_^t$5xCpp1e|a1MbbGW^4u1+&aE-G9us=TWhXLTix$cPEvo;B7_9xu~yfK3kUK zW03RKv(0!rTP-Q2N`TgH04lN)RsYk^jR%ORnPWP4etdI(=Z`xK7M~rlBPKwwW%5WW zc)8I>lf|81e#?%g@Z;Zr*$7h{eXv6pFwX*{j_hcDbaLmFGx~>!fR6%Hkcy`jOrulz zNGu<;Ad%yyN#R#AUQVNMrf`v~)QBsAIi*$K3})UBSx!NgXK?&rIRhYzCTA@=K)Zid zFKBrsUIxs62Jlz{&xdnrQdJ#^nvzV5kcK5MM$Zs9PUk?+3MI@Lc&KsSjAEEKqqu@M z$FM=GAq|HKhng;IrX-B!6 zBz+SCEg1#j`3kvcmS$1~uCH0|x`Ov`KqpRl*qZ(c;5{t?s$o_GmM*n3t8sX4Rv=k} zbCY?0lBGza+R3x~&z;@OZn4(M$py$iKy~cJ`%gLzcxX*4;6!)>hDsUvlBeY-#{gHe z<#t0bO?(dOGad*JR>v@Sy+o6qR4SR4+mz5!fd?1p(jBSX{#zsuNnM{i>n@xiO4o&h z{2gr~0ANJ#`9$6#bnT!uEXI;C_)#$OM*Q)A7g$35g~0)k1>jofr2a@e$pD>fXw>BM zid1Bwe*TGMvw0El{@+MO{ybt~k)2E8+6FlcSrPl}D+*6#n(KVP;V+~J4*v&QSs8KA zG^KS$+mqu4(?FAe(6oRha-O`VNRwT@)=+$a&IU7^5zhv~ zYXX7g$Mo+Y*9nm8R;T1Ug~=+UXvumeI!_Bh8Br>-WU^Xrw(hmatWbPWlqnA+Rc6f+ z0gk?okW*ec&44gR(Ir9^U@cJ+iLzUNP0rE8kJVb~J81(w{`ltgVaPsc_5sEM;8-9s za8kPFD8|%AeNQhoFQP{S4m>Z0oVVuDARnjFf^qVonSg%iLeTPe_cmRVw!mR447pa( zHM?)RrbYr)rFkx|LvMn|iL}TSfeW&|Lv>uB4*7_K5(%Q1m5_{-UED(yIjOFHVPpcx zRymMh9=GD6b<+9;YcT*HzxzZgBp~Q;Qh#|#zrH}?53`V7fIX*el8D!UkjBrla=j}Q z>RM1E-ng zuy~GvRY3F>`%7r%;Gpr$gG+F(#CBl=GuIr$={QS@=Wlghv!ePa#D8jpilzS^&DWLGw-*7xej|F=As z4y6JdRk=6a%ogLba?htiV|8v)p?E0uJsV%l$CH^2uHh2JRrnOi`rVXC1nB7SrghcJT@K+^HHm*~XWDr2;82i;MXux8wB< zgg<}2aAvplc)PM5E;^tMMy^S@7Njew31P;trh_lbJ-1q}jzyNN7nj+k0>J?dmz$;n zN`IGcH{->{9GEQE0uGG*_+fszCfS4fh<7PV8qno}9aHYrw5?lkO;g zZ6TJylW#?uj&Bw5*hQ(mbsoJs);e$RDnD-5wy;Xr0*2gdwmge$Vt*}U^5ycSJANGtvLeYte@%q_m=1O9{PW8m!C_?=H1_cP-CyQQ7Whou{E;bL<)<;MNJ-y;|w z9s#&8TT+LOKg6??x&r}w?>GKz<$s>-LdD&$`zO|qkxazH>UMnn*xF|u?%X3!F{0D+ z*>vwgbAGz#<@VeioM~T#0J#G?u%|VdmCAOjgOzxs9?w^ZIaX8zU^_Mee|-4XeJ*?e zivs-J_*Gl2U>Df(tlX{l~%wdKF?(68xBRcLRdrBZq)ZQHZTioK=-pnmDCvW?d130 z`}lHTRsyvk3muaGAU4pXnGPbrwxo%Qi7*J~0U_Ec8$M@kRCy<8oteV0E?cmST7p5* z$rQPRAv8dOUyYjYv}?9bjtFO95fD{YDN(OnQH5EtA8!w?LjcWx-7Y%U=XYh_%|A~^*;TvLO2$fqJ+|QQ`CPD)HMtI zU5pIX&ofguj?_#IA^fn;G*TBE&>CQlUn||*)#Geh$0VXuc#dy<$uD(IThCK*bIdY&JBr4 z=;SQ|?_57B@lI6Y*F&Wn+zj~_pc4CQr++9e)hUz!xkA{aT_FQXsB{k{d_ddOd025^ zM#iCGiG$jp$#_A^G&bmgJ0>J+Wvxh&=H+biuF^oKq=iSBlr{1Sx|!`kvhGXTrmn)Y z39EzACQi~AoPVf}a2X*fUDg0Mp+#R2n!m%W99qIwI`$se9IcA$NWTsD79HK@%m=#} zgz>PcXry^9$-p2bh}@M%*h!&2yB1V*>aj}_f0QZu)u2X9Qyz(F+QBHQ^}uGiAc3aV zlhbl$2h^1%J>6-&jY1F{P*>W3&%jZ{WLl2z z9RpsgB=4QkZi1-|`1k1=ZKe3_S0?29+2+!!M@Cl0MpT)mn}2iH@Q7N& z9*lo;T%ciWwwx``oRyF==V>mJ*XV1wT#f<@qZjSAvqdCHOfv7PIJPmE?{Fr8?f$!C zTbJa=kAK_s_?RVbph%|WX0o1Lc<*mD%7Xx(bUxc`S7+<-;ycRZ`RcMD3sKt?1A5eCkN(>GydlspUv|DCp#fG|TBlYxbY z;i=DwnHDxBVNhk1KS^_wQH{Xjd!2=qbeIyzcyUrRVLU^X;AGT5zY=<>Yd` zfm0B1J-|$vuOV2Y&fUna4@P!6rEmDcIe!No%G7HL+=_z{<`rLksU}=%#skCb)en&z za){(L50SjuAu_{W9z8_-khhD@xAz{Rx5(1>qe8YdVi=8T1;)C|7c&k?A4Zl}#d_#W z@!-%&*iDmP@zjy9N6U(;pQJeKKhpIqjgdnqR0W<~r>ADvM#K(&Ux$YP8qRtjCKP5U7+0 z57#b)Y|~eiGE5f6IOO8X;eqVN1FxUIIluJf6Sw8!VtCn2YQKz34bKlyBbs%Qqzqi7 zQ#Xxrv;3bvplLDQZp(E_mi_^af!q2YwXH&pAJ(KW5`QxB-yW}LQvw_fC&)weV9aZLu7s<^9IhDnL+c;2h4lK;em>oP3>%shsbL8hJUch<;AR=e&=Hp$Fuc^*``W*T24!!_5$CQ+q6Fv)g4X@ z=?BThf3ty&S_2iju#_2?1jfs{@+9>6l{bP%Oy;(f*{IF(TY1^$MpfdQF-v$_->%SA zMN42ZW?_piVIl}de7!qrU3z+_0bgX(X`ym!Qxz2tyAgP&x#52qxPLqJ(Sr;Td8gQP z)e@{BiXSTW{z=#Sb1Ch8opgi|*95od0Jms@Thow8jm>Pr21{75$)Rd^>FMEc8iJNZ zs`W4`P}~kGaLvNQ9Qo&$GrnEF%o=v{={h|@UYr0V13}|R%EE?yb>ziyhF;Wt5m2Cq zh;8schiiy{^}nCG#DBQ}0fm++dYmPQRk8~B`n;r)7IFR?5tbWLmA?l3@4?qr9l|{K zee778SJg)r;|rIkbm6?q`}F0S1J;3PAd$8z3+q&4^}g|T(AAF>+$lebidk~ujH${6MuN>wPi;jm?x)~%Sj|4 zqTVE+SxPTA$()XG&Ef=N98bWsId%8G$4`;WS7*l~CTb6A=s7=6r<=oQQ~cFY8;exT z+gLDa>?U97R$1xHVUV|taV*lD@EhQY)OhR z@j479bI*dCEPug|MitlNBQ;qK=w_DM*iH}?l(lK@YFN8iocC2b7ptft-SBpsok1yH zp#twa{18xF(!hXB^h$0mF8TXl(=l*5@ip+E>$owfy!R1P%6lVZs;i0yH?ym@J`X3& zB&N%}bEREX2WW`uni}H4jd1Fx{E zcdb@eY(LJ=X7_AA-Tegq+OlGqxskeJ*2jhgx^kRJtgx6LRSj}M#lBapcsRJASmQCV zieheQv44_c6^@Q-NZPI`273tKbvR|1>PW}}BcDMa`dCIx@G#={NF^KX8lJ(3&FpMx zTk^qoO!}wmbfYbO6A5ZAY;|_~#RgcHv$OMUbVeT{(QVFA!jns9^|#s(BUK#$Sjuhg zK#__nu6IL5^G7TRL)v3BozOYMoS@tf`ambp2!FC=*7dvc1@*HJS?V>p1ooI>RHjLg zhlI{Ixl1<)Hddj-g|Gnz;qA=CHlh zE`Ru@iO@VO3GZt{eV`?FrN8KY#7Zq47kmXWkv?qKupRUhQ# zcDJg#>mw6Ul{jAZ+l zlTRD}tS59H7cOTPYgr{DspM?Dsh5W;r&aNdDx|AxLZZ_BniI>( ztilR$A88=Ln_O;Qxn3fg+Gk>y?2Y@5)2Pt)E|sF^CNnFS+q&bAWHEodf(8&jEf;ToPk%wrYca>PT6`m+O_U z*=ECq&?PgTkDe^I<=Gm(?3--u+b!WdUp{$Qv!yhVL)*S6_Pv*fIWIbDWdd&VNDWc^ z4NM*p+oy*d4F?L#!`b3`y>29PFbd0Gpch-*e~1G<3Z;_n9mS8bu=pJ zwIaq_AFP`ij9|oS11iiDS3$LhEG)L4kvS9CEkUNL+VAqvmKs7v@#J6VoQeReyCAGBz+<9;%SR zYNW!xprA5Qv4J|Ka^jXdY zU@du?n?aq*w$DNmuUM@_Jvy|z#TN2Bs#IqA;Uz=xjaZ0s1Z-(>_-ipgvC;T?N;Ysp zyIJG4pjs`bo@8PX%ztuvS#?Ogx`k5<=DVt`6F|mv zWD8R`2Jvav#W`$mE^SF6jEM2{?f;P#=2Fgb*GkpI8~~@=n z<&&B44O1i0N8rjVi=ZH0gXG)(nYB@`ZhUS%RN(TL{kQ@qf0|z+ zO^G+LeoCJf*~MI__N*XV=YlsfE)Q@sz>b)(VPrHO`Z0yw+}3IAX)ql&@0mpLzjn@F zMp`Ck-KlKd6@PcBk1cDRNKRLmRk8h3>=LnBP@;v(eND!i1^f{Km%;`cw-G(0TcGBE z3J0)JxsJmI)l}UNo0^(Tw5)%5e{6wA$|tA+1w!eB%mLv!k96o1L_kgiiTpfBkpmvC zb8;erl#>SbQ5uF6~ec0lS%o}n?sjars%G___nfWQ*A?5zh*24HKFVLjlEl9eYvb8e|nj$mQ}Bj z&nikqWyWrw!;95&^la7<&~EkZ`xidJ)JC=3?I|OTjqyaNij@$DQ>m$(y+uf zl$Sjanj2nxDaD49R7L{BVn3A9YfJk?cAAss6q`0_!&FZY2{ zia@jP%<&MpiZAZs`bA3$f9&NRTA*Ig6--qmS)8I>Xw91~D{rXP|Dse(x+sCF&t>$P zn=Q7+a!yVV8dlcFM0*5t9aE;@r?kN0!5nx~)nDOnbQOLcR^iXcbcz2#8hu~TY1Fa_ z!tQ-))H9NjnooD5@N3uY8~7Ic$a}80+r8Rfd2|Ll3n1)5V5n?HfBwFxP$I02$yhxU z83y-;IitoZh~W3m=9D*Z!~~!k8+OEWcWizhwvNw$HUUYIN(4`BL_@(@>Xo}fbAc-Z z2DGZGO8~vFn+;O$K1wGxxY6l+To4h zNnllLx{qMwJJJlMiY(#BBPGqQ7)^-#G%NZpIP@VU@V~vFD+LM@S8s%1bOD&EjGk;S z%LN`&5e(En{rV6j?I7Lgg{-VfM9bwyWt6{*mgWKyPC zbuX|8@MAkoibVj0520~NOt-M5KWl^NnFD=P)+tYws}4@1tKdt?FoNs>*m*Ef1c<9p zSu8%736L^*e;7mf2|6DD7;O%TVLKmQqxvl$)TcN~R^2#<_oO;(Z zDiZg|m=lwG23?sk{w3(fPio{X`2achYBm76@~kkn(L;|lGYbrvFNildg)J~-T4P{D zU=q4lKE;Uztn3>)4OM?Op;UYpp)_<`wT04nmGFZ$f9YM+`%>GaS220EpR44yI&*t_ z2vZFedcm~KK)aD813VvFlDU;Xdo0{hHR92K_r9<7;3S@ryB-eRh9r`S5a+=e0e>(yJ=K)PxM z?W3%5OwdaFVve0%?0NGKcg>i+ex1==@2w0)>W{_V{T{4=@m2p^A5rX@{ zYCfNBc8E7QFM(Jf-B?FDbVoB=FzD)PR-~9naWC32^#Nj54#JxK>o5hLb^_s`9rwFRew)7Nddp=&e(GO?8ze9RXQ0S=30tj>@r|tg#a;N0}{LHI2+w(<#&Y%rb z47?w3j9PRAds1X+n#M~(0Z3*Q?{Ob3Ash!ua3UtQvBW|#iovOuNQ56T2VYZlH zHM*~!#jD!C874+Q#!3#%C|hqJRTA~!MeQ1wDA#1d){ek_z8a&?f~zNyItJC;MzzVc zOD{B6;Dgi=ZB{nNW>QY~DW`3Gf4C3yA1KK# ztoMhca8qa448>G~hd|~4C=6cmRj?j?@3}E7K>GT{7|vH~9_<(1M)?L{f1HF>uRPs~ zuvbYro}9;t;`?Yw-K>L@TKrG{Uaq&Z$*f|NvS?=wty)O0w5_vwz}D80o-=tJr1!Vq z1k(F;w6=>xdJv3dQEypGVm%g60 z`O#l5#_bo_g>iMDZCBfefOJ1z8Sio|iVT|MAmH9!ysMVcf+3A}(xj@2=U2UW=SP3N zc(-3*7v9x@cCjws_hKB$nDJN8O3Kp~1vKvYgTQ@@m~NkB)CTw<)g=*1@ihlIhi;DXNcA;V&Xf?rcFhWwS+?p$!#wF5@ z1RI=X`LNBn)kM=Tqy=>vQ!|$4Rdj&q#Z*7~E5X#8HCi!&2^Jt51y-xzYQNcP58w{F zRejGsoX_TE+{RRi2p0F3EB~cjTx>r@>`jugHwjozkq_Jdf7>llxP`O<9UP8arxJ)g zD=>xGM+&g4PZ6tzf3=EOZGjz%SOB%lE7I-v&4yu0=sax4z+c;uz~!DUzhH~d67GHFW?7i z7&vb?p|tC0e}Rq0HLcR3il}0|7uWpoe@PLP6d_ZlvC(oMMAR;x^kVuRyo3zV*aK&1 zIHd_OmZSHG|NZwZ-)!4awLN#OwSxlzj245+25tJSJ`sK)ZTON$LSgB*iu}gCRai0~ zb2e>C{EX|YOqF%Y<4rNy>_KpXrd z&Prx0bUK{v^>HhRP`2fw~-*0iKhFe7&zT}a}e_->fg3T=MbOb`ecZ0t=DsERdsx6PA z;QZ15p2i5_x zX`M(|7bC2@@qLf0vB3U#xf!$@w_AE}>u3U=MAHJ^oK=Lbj2{5qO2BQY$`QeNem^Q;@g{MfG)!}hC-Vpttm*9?|yTYL); zc-bHre+^c*J+{Kz3t3yk0Vv;kn9s$|uK1jG08?dG(jeCMSprp&a^uqiIqQoG@uR=m z@TL9w;xQR@h}A9Es%^OLEV|UTbW75)Bgz0U$28Iu;+Ge_HQK^+Z* zVo9L?AG=STGM8Zy0~43-#R3%rHZU}kVFW0D?LFIe+cviE`3jx$L{BP|xRaU5Lz%TBT5lt{uIcExg z=G28@1W3 zv&~+dlpiJ!c<_uD-VbLRs-;FjfiG0>)Dg(wH(*}a#)=7Tf% z?O%hO+0qU^xRJAg&^eQ(g3r^z^Lx*K4gismtSrPpYrJIq{&=!CSW3MR34@ht2E#&r z8^E})2X62^e0HH>F?bpNdlvl*>(n@qGhS+d@lZ0Ygfy_|?KNIXrpl7T>hBrGttm`; z@wuB0{+qjh>vavo!iLex{8nRRwpQ=9x^zfF94!D5c{Z-jE>;!pA8szAn_t3zGh}vp zdQu?j{O>UwUpf@}A9$YJnXNaY)#kI4p%ywjUyP=Gw>PNYB0gu_lm`R+w=GEW!B7C$ zINrkFXkuHKLT2uwgIrj(>eY6OJ3gGE_ z@FAc%0u0Z32rWEy7(LeSBgS}tYiVvDlli(@odBnAe!{;d+f;YroczYZL4Z%Vlkuk&??)FvnM)?_-!P ze7lmlg#(AM*Is{;tT2>HXYV{G{KNnG?$OVL;sot&OXDUMTDLVPK&8=toRV=_GLVTE0MQ4A&&0}xYoRkUd% zSs}NB?+Al65DVKIM*AbErv(HDv9+fhoszb&1;}tk>j3xbdOVu46Gvhf^U3S*aRs)e z`>3+@XttbIo-Y>j@D$m9q0g5vA`8#asS^1+c@qcq#eZ!RwNR2tWe-E}ZB{PzMmne@ zX&+n)uC&Lb-bedk@L$S>R4yQBlohB&$cxYSao!fXUDeXUfVah7)6AuE156ofm9L*Z z`j${D9Mp;OlS*|>wZcmVBa-z!e)|3QPaeM@9;^*Bg5S)8!4kKBAbXN0|8V;Bi(Y-U zc~i|h%nw>o9!B4Ph(7b{>yik?(K+}iW$^I(7}^%hT2qg`Yq~7#Zn)i^gI1y(QV2L` zU0zX<)xL0IB8ePq!SWyo6Uszzbsc3AZodgbD(s^TON#PTQ7|C`3)(%pq#pcVqDwxN z(oqf*?*tEo}72owa{QN9|r$hBwY^{5`AI) ztvwI`&_)qS&<1P=5!kofCziwDyXxLX`|Hwl3kC^M+ks(!r3G6Q#%X3s%*Fr;!l*ex z`UUFCXv~%gh=}~W8m+4J=CLF9i`B@5RwuRBdvI*EKc4y-C*}Ki#}B@4n#Rf16`l8H2C zS3DD`LzrGgv5R)>HhV}u8?8w4*bNfvgMqwizq;$wRSD@r;xvTb(a~OSRucKV~_md!^53^*tyn})8FwKRQw3iXAoHG zY!9Ql+w9oa8|h-W&5cFw>^9Gh`|{8A=)0=FqWyLGp#=j6u~oIXSj~Hi1wlbQ|MBsE z<0sFb?^0{s+tfBJoK|HQ%mAAlgoL}0McGm_$g~3GNVAF~c%paKMhF62)sC35GywNP z1{Se<3VQ3&ca25rg4$?*y#=)i#P+esSC78=_Q%sFH^U+ddDI?;gu9ez{4I_cac1$% zgK>pfJ8HGsr*@)hTo1-BvJ=+u$AhGQmLQHo65-S#8$HEBXCwayQ^XT=MTf6XcsP0l zmzSf>n=menKSz|Zlc6rl?E9)Z!>bB2Z70HJE4a5>Z~Vx4H93DXMC?1i5j;N~wE8RO zt1d29CuoRfYrMJ0R%4vkXdC;*D%aU&;m3gw{5SupzA_uV!^c+sn_nz`@(-wgHk&Fu z0y7lhBDtdR=we-+gi5x_+WX^^;7tE^G1-J4UyaUo9>bEtfK6C@l4DpBjHseEjMDIa z$JWz%p8f3kvgENHRsj9Ck}m*#nb*biN%$Bez2=y7D!%F z!Cid)1cSAg zY4$L_xbLKDw6flls`Z%ed8ih9;c=*HG=8&>`4c^%BvUPxN%cf(WPoB4NuF^s?-c^1 zS}GaOMdxv%Y#vv%AD2)Wb()GZArD7#JIJj{b)6u0xcx>BUHOf4iGnZ@fWTO8)t-YV z!2zfT|525tS79x%os8vwAfsc}iZAXvY8Y+0*E33>SO?SE(zUFmYp|QYLYw(2Vm4(2 z&{dc=@8^Ux;RGujdaO{;xDj>MP43u zLaH8oXZdTpzutm>;sju%7VcCOFTDb*PIxxo5S}w=3Tyen5sM|36OUHaeDnL2;wL*S zN@g@aiu?F}?kj<4)nO!dySdMAq(e+3_X+S%wA^#FtERj#_|9_Qc7OfaEe6=Cnk`Pi zvVLFvF4|4@s3OIi`x|+6;3_ zs?2@5hl*%vjBM5^q6a5KW6JF5e2iHjW$}Mo+|9+tH~S_bsSvy@y6Gi!sm7M z+ePKzhTmQxOg{S0zvNua&-}*VD}rK;0N^HDPDk^9dGkw@HVpBPHW)D}w+281qi?V( z6{b;IW#c!#V0D3MH~bNw@p;JL!OlKR{HHvdjV>p%i<$p&v6)OKo3K*6fUtJR{kWX; zWcH@hj~*{DQ~hBXGJHsQND4Ct$WCOr2SIv^AVngmi3<4!j*k#m?*aWIgtnKBvLEqZ zew>egW|J{eXPNy6P`5xa`N4mGwDfHW7fndF#T`oX?9qCCF{>V6mR4n_i;!H@P^fjo|IqiFC`i##X72eG zU^-h~xI8R8t62#!mXECp08KSc3!U-+} zKFX-sWF7?2$e}i5ra_WzCS(73@#<}hb~`i{ZQ>^+q6%9@X|1!TuL2!(Wo@pu)TD}k zl$xZL80mL^K`i2AFdPJ8MI%|uT|`2}yR2oJr+)V(>38Q`6Mi=}X9=c4I^#!Tv5MKE zq(f+3>cmYWb$UQ7gIx1rNM3@Jutf^|K(8)^cr?8tIsAk~rD*kGE=D&Vd zZQl5ft7mJPC_&ACiKeO3Q{kXPbZVn}+Co{dGppsrbUk@rwMBeua-nLIz~>|o141M8 z;;$ZtIPYk)S)p2OP2B9e=_c#hCTyHG&_xr6m7TMA4-Z%pd5CXJMX9+@HAWVHHteIF zUr!7-&J0gX^7{nf+mFZ00ObuRCQN#U5YV#=G3Y;lGLCKt)c>D`nJRY9t^y;Rg<7Nr zDbR9R_Q6OnkXi8}A5!%QoLS&z@SlZ@t9jCbq7q!70^4UXA&TAIyh_W{ZeHo*!b}Rx z$y`JgEJXCuz-+3vZ{CriAzoO23M8$7PzfGD83W?&TR*DcWUWEjA)8?1Gz|#PL7;X}%C3NXRl%5~HuMF~xf+)M{pcqa=`jl`OAApkX2b zG{fa?`m~Nd&2IWkORNIuy09paKn2rvEasP7P_Td@B^DxC7bEFqSJwen8~_atWChM~ z3J%)}$KX^kJbuZgAl4Qmun@@)mwm%Ip<(B9N1VA9q4*~=b zE#C!)FjEg4G#F`Rfj^*sxyGeqn5H6TI+@W}=TyR5vD} zdXLffpiiJ+PAlx1btm|NWdJy>@x3oa;PIR;r?XsTXdF$~&Z;`by2OL*V6nn{vhMo$ zeB%4XI$^b#Z&r&b`H}<-sq@fAT$D8yoS*h#eT=Kb(dDmW5m@VgyK>%ouDq*}2kW%( zzL9jk5p%(b+}ouv;%owzp>)5aPY7OaYry%1_aMU*n{auAPC6My06U%Bwu=z>k)k$s zl{2kEh`^8mf^S3UGelC1!B;-`_YA=2NBG-#(;L?*b&$$Gt}$4qMTuo9@VD?WmT+n9 zFX5i?J35Qi5WqQqUr&4x2!EYqaoHXt~2^{ce#|H$qN-Y|o zFiwKyyOE1+yu=7qcIb-vC7f67yB#*%5Yz$Z-eU{M3=siek{=hYr@@{&-c(_q=)#&N2B@s{ z2q`e6!OG|;1mUy_~`4}r(%xnK-QLF$M+CHBugVT9&8eT6&b+@1+ryjStKrF>J@y~jrUI|6KA6^o=cY@1-9n!}(CyLJhQ>WqpyV1<-z%3DqC z>b6Zavcjzo0Xc~PEx-e!;BWHX@aF`q0ygY_HL=k+WWF^;ry-&R$1;lByd!1+&3<6+D&n&ll78=tPi=D!oDD(gj`s z71?CtbJ9KQvkiH~Si#0orJ!VDD{az}iF-8;p%+1{XrM&*hjwvsl}#=Bjvd69G&z%h zt&TGjGDLEp43J2sa&?nC!(?ctO@@9x$FM_gS*TXjC9N zA)4{+?3oDKLK{-339$KEXH6!=lO>bfwzAnr5KYdMB58(p@uH0RucUks1t#P`&%2{e zp(Q~uCovGBI0xGkOj7@GyqLeo8W3Ax(1x@sVbo8gQKDhzMQjTElIN1t;KsFomWc;8 znUS>W@+oDcO1G7Q~f}(&ktaNrm zS&Al#&Iw#um)%L2qsCOr#Lz{5n~AQVi0gcM$F{&f)hV+#qjg=Lw5iLh=I^W3dE-JK z@*YkF3=TLw6u7sxJ8IZR7ZntXi4t52vFB~LQsAJX9()_ljT0mo7CGFmlAyqJCrzCI zW|q(dp+xUbgf76&{P+rgZdjgaYd26+vCXeASQFX&ZwYg5h<=@Pr3Ths)khVsE7Xms zMk15_?9*D~5%^lQqxLGhiQ*jH<|xIk$y7IP(?lF7`Gl2-mt?38WRozB{9<&{N~wjN zLzE`bmW9){ZQHhOo0Yctr)}GIB`a;)uC#4ucD>iD$2~Z+yVe~=tk`kBy|?Fu)rlN7 z%TMj2*i}PKA&S|tn{;Iq^+s|rn#OWlXWbo*h64b;dPGFGMH1`nVwY|M<=U^f&|u~$9cF=MIlPjGl0U>ergSZPkDp~_t;WQn4%8U}&7)GWSm zpI!sMV!8s$D2sW;CSB)yh$W^HMb{`)OZ)wG)|&?0!u3?w$jB_b&s4ArdwWEgHrK_g zB2hA=O!wr}(0Hh!JU@Y{i|;rMr`JiB3x=YP#E+Qf6T^=pMGt76_3y+nuDQQNlaOq1 zTxiQJRqO5Y&TN5>nMT|2Ih`)N?K#RzjhX~%qMz3-xL$NH9D$H?@i=5fYBV{9z#dIu zVrB!bgmJe-6AtP|oN4J*v|2Tu@n&;01{v`(lM3k2F(95F129WSRY6t*d@;>BQsJ1`WS!7^2RL&IeCE8rEonfaW!#2>xLnv0k}yPb3YE_pg<#dDsx36GQIEM{P&4x^Xwdt; z>Gq@?b+|)*UOczNo{K1Io?x!snK7%IVFkq#T2|Rxzu^4%;NGX;Kw5Z+;8IYik%J* z|35Q-?wQUR5sSW?0~*mqPt2Xv;JyHJTchyNhuKv2&2p_9Tm%MNo@NqU#@fm(x@gR^ z*XoD(t*O#IO2%z*q-#ydJja@Jh-Fcj;xjSMc6CPU{b+96=vfbK`oV}x3a0?%Dpm_O z)A;T%vn0-QtR&qh6z!rRz~JT#I7X14RFemewLJm_;ld8%Hm0aWr88Z7 zRL0YTMscSBYr|0c@KNorPslDXb&%{)5?rLmOH9guIIY5`73`M%pWX8p1r9vjY(cOc z?j8Mg>CMA}dtDYskJz{lgIK`K-6&Jn-QoA#9Y;bd#-U&yWStv0IPaw~D25wbl?Ni) z*S@x%@~3eCODB*UI>~u$JlKOSZxj$~S1Wegww+!|B{Ww%Yfgpu+!;Vf%h~A0`Q@2o zEn~}k0@yic`j4Ag94g7`U_WK;%#?obgeV`kR{~|ZJupz6so(xZMJk}Zk!#JtZ-FEF z5}6RikW9t%P8p9(AgXsrviEh&81|J$@mJJw3T<9o3r(k1*h4-MD+jtCm?W&|03yHk z6D2F*?KTFMwo09!mcq$TailI8pKHEj7FRGkS5oW!)(hdM_XO{Wo*f___h3&u9 z-o-!KWG=g zH_Ltbgd2`|_5=LcrM%$Le$I<^==$P0qJeV|gsJNqwS@PNK$L5BLKJ)%LfiUn#n~r5 zd?)I5hSU1S2yg9l*Q(t$)?`7}$sU+A7cYd-s-XAo4?8$o9qBM(IqlAiHP+@P1O;g7 zd=73CxQOJ@CbSGfK8RkXnbM6WScNL3Y8uNrbVZbSYM^f!2?4cGe4kg9^!=4f=Qu_AL54WhQU$TD)R?V zNq3Kaq!zVbYe_l8$YO*7xyb^1T*Xf88M_6YJK2`9c|`%MK7<1p$|0nc23E4AZ2)|U z8wP}{+=75r?|y)?kbeoP@6Gae&Kz(@c0^pj-w0@Bab#vj8iU*$i!fG0X}6N)W`%AQFxsCfySd9?BF1=^x7ms+e7qA>jaIJ(8C`CFZ_+Pa29AIHKHP%r zgI<>>fZ6A{enJ4 zgYM}%@bfGzzVekN&hG0s`$14`vtgxjaYOYi;HB8@B2r zobdbzfS>-#qJQ#KaaJ^Lc_SHkQ5!fS?Lprm;Le`b66jwQKj~h2@w){ley+eEde6g^ zubiuFDDw2Lo;`z9dvUS0$Mfd2itEiuetOgOvUiJi9ft=LWoAOtwV792Pp>}R4cC?< zU=?vvG5sO^qJCemkd&JqwSq1f*5pry@B+OUQPtz^!Ll`c$&22onN=GDI>4`BgE~4g#n+_^^BN^2smR3*XM~5a>ZgRkmG{GF-zjG1{#41h6t2^fDhnw zngg<;WI5amynirOzL&;ZnU4yKvd!rHxN{%`5GRo=c6Wxku9EKPtJ)KUK}vaSYTr1l zMlX_Az~^~=Nw``}*5iri6^7AREY7m{sP1p~m zs9BUMR<#BU=#&^66Ov!`<3s~hY#v&J%dCwWs9s|E5lkAs1V(l*^(eI<+Om8ehzP%%>kTfB4^1wGkYvRX;M6AMd2= zEqWYi%vAjj7o@%%Jg-TpZ5>}m_{Wxp|0Zn<7*CyvHQJ)Y$LSxz#U}I(eBJ5lUkNYw zSN3Czue{dxn>#b@QU5@#Zhfp&@F(c@dLpl4czRY4a03Ei|;;jh# zAtn!6auH?>xR!!?6!JFdNh}Rh4&#p}IxP>y;9ZV!?$;n7K-2K7=@rZF4`GPQ!Nsr@==m2qx#=DYZs|rlp&PwOYynmWeNntay|lbB>}sy|E-_Kkh`0ja0Tg-3^_mQIBewT~Y`9 zWRlGW2f;Nw7k6&7?&OL7!iA0b+AUq~YXe?jl*MN%XQ5WVG|wq)<@N*?yR07-n{Wk9R#>7+ssHk`ZH+_(qRFGkKnN*hW3H0+y0TA~}Oe9c;pjuGi;gEVl zP=}`e97t%8o&i+J1f!ti0mQ1!w?W7$NJC;woKT^TL~~HGP61v{z6w%QG&RN&L{PNQ zO;?ctxXI`UqeOdn0nopJIg22XZ$nI(NFkX*h>4)!%$J%Y>>XrV(tvDprQw&@_^kl=zb6LBP{V@F|P zZ!ynbcv5B$4G*qv?nU#^YH~hE{h%Xjff1H;G*K8UO)e!mplN6>0Wtg{xje$QkX$4n zqOrRnkKE2oc}f|ClJAgC;i8UkDYuGwMhHU)7>%=W`-xq|3T9}h=dTugzXra{VS$zV zz<@}BnbOb!GAONR)Do5yu+v!RkxL%NR4{{L9|_>nH;Tzt6^d7!stte4a|!* zVPZWbqJ-&4ieG7E(F6{Ao=(j8rXI+Wp4re}X*+LBk&OeyNWws}sEM#cRBs48?g%2g zK;xOM!N>bu--KvnFs?ybOxd8JKxG(dK*_TfBYSd8+8H`pK+tA#N488FCAa}%Ax3Dj zz@EwgOA;iw2d9CimJOf;zEFz!C|hfg1QYSef44%9s+RC1_uhVaIYh3or67g}3*d3M z+x*aj4Njd5U32u4iH=;Z-CU&qaKhgLD!&}opPwCVLHc2cGIWf5SXe1RH83b5cgPws zZV(eSm@#_mLI+_3jOfM&-~~doIVz3YV<7>w$vG3(8uWvz5vJ@kt({wqWDpNG2J>nz zd=F}fTfQ8n)a`w{baLC)SNSQ)AnKO`Q4WgdZ|W_dI*oK?pTK~( zdl~@`^UHvs5%uZ7PR;ZJSV9eRf?o!0xOyJ>%HB$)qw-0Vf68`yRjFqsDNO72eElYF z*W8t)ZQ}1EI+NbZTfDk#ml^EU|M>w^%zt}-eUtOpO8;ic z=i1O*u&rJ-FV18kVgpjH^-y(Jg|pB8@~xEKtP=@1IXjES&Ue^gp6xs52-{4PZjpNs z*lDMAdBJ&Ur)_cEmaS}8(Aar7J8o;FQ}71!=1R|T2!`j3gZGDFu4*o_njZpIYB&Db zZxyFmVbkT;{b6q(EdSIb`NrJqEebn{xU`o^%(&~GVZ`|#wqpRKPn?~7HwGH8^L@ML zTR8}E=3Crk7H`a+v1Yb3g3WI7lxV3aTL(^h^oe#jDbSOWny;qQ1+vnYTqKZmk{>! z$~ARcY)@p;xwQ=5%wK~MO%4uzbbnMWnLobeWGQ`az*oX|(?2V0@h@WSjQ{?cKS?a7 zzqFZ}s$DE4uD4$z5MZhinU~S>E;vR1=yoiYUc{V81_YdjAq^4y%L zAROF<_m0nw<2$CzrET)t=;r%)GV4nj;oh7yk(8})FFyI?RhX9P4^D;~?U$h*D02qB zX%=a5=Fo0**|{~+rnPdI3iHwQOHU2*WI2MCqX*-0Qt}uk z)n;&6FzKjRX8cR^eXs8$cEFeEG|I`RuPP5a@)X&Q3M8Qn=j1RF!!nP^Ii}B)|X7BOHq!l97rTrt>#F17NgA4v%hnh zRj=NzZyf{XQ}0+zmm!JAlNH_pf_%Go_{ zg{dy6*}5J*Y3lmC#cEgcUe2rXn{R}uw2x~38S4(W`@j5=6-+#GohGbv1Bt_g7N)K< zYc3q=1?S`%K)t_Pp!QG_EwIm!1U1|iwM@Co7X$;JQ^3SZqu zVo8p)wC@dfXCsj2u0#D%}*tv9QA z@7e&$osn_{_efp+3&aUV@-pw0nmHdwXFA;rd329oiU`Fq3fXhr`CCJLuW9ku9~EL7C#)e1?q=A@SntBa+1t;xtAdR!zz6 zZzq_CXsP*SKehT{&0RM%$uX+*_kr_Cv8#^b?v@)vS~-6gE0j@mAHUS z+~YBf8wQ^)8k{USoZ3Q!ZZ6ZQ%j7ogBCpdzy}zQM`1u25ZgsqWELxZF)LcA!tBJZbx3L zau7QNb)UCyF8{6>YU2?uUh_Tr5Jm$Q(kfUC^(J=zT4I8!(c($5yxzK|_3$MXqjaZm z;E0ycq&0e#-W%VsaI==b)YZ56GOh;IZ*wJYIt!BN>gXCMkvQm}Qy;jbV`~gI0CdY6 z1wWz~uS7)I3gum_47<{8gnH3KWBt8q#$*ZFI*eZ%7_hBa=8_28^ZB|(7U}^I5{zYs zJ>xX9I32u)AEJmRxEH*6_4%4A**)caa(4Om??AX;F{q=#t~jTul=oDtaG&s%Df4;F zT>xHLyd1B*&wHbGGP+VL=YVYAH~-DNoM7ngTr#TD3UAWX$B)Oa{lBah60KCR&~$Eb zTglDc+~~a>o0$k5vs;!h=DC@muVl8Vpf{kM92G74)1%5!HD6=!^D4#(C3M%fsI zvjbHc8id0qo4REJy$$8(n_}YW>jD0S1qfFH&oCy5Spoi~g&J4`{A;b?HzaG0ink)D z#saq z)EK;=GHKB0^q-Wl1FedC{Sr21k^{szrbBJ zXmmUYIEMyP?#A!C}n7t{{AXh<`&WVUr?z z`&v8sB_Nvf4FE5c1c(zn_x)BWas&*HRs|>`g9iI}>p*i=m{iDY8IS|4<>$fl2!kun8m(?LaceR$+v*SJg#Bw%%%#=r8o}>6{cO z;gTUJf&qK#M{{vo`$A&6s}PLUK(@lHSmu>$yRM=hqB|7{D)nA{of|DGX$7Th?!tkH z(o11)DI0Otq(KhSpN5r4yfkUIY)1UhP^h-pNxe6wOCtzpR_4ASlTZ#!}>0Y4~SO!3y8nV@m`GiE6 z5u5!{q#rAONt}z1C`+%{2|z7^g9;`G1|*fJ1`W*pMFt<1)R1x%kGkc%eJX9N`w8(=njr1sgb04(J|&7bVLCz9w=~%Zk?3`U-u zby#AxS<+O3(ua))dk#Ys)CZCU>~$y=ltV!vGX${;!4B~R#0^kFk;a%Sv1*1*dL*Jk z!?Hl$X^s)ocM3|2H|qz9dkk!b%Q0hv60}YR29C-)BTZnjVdzRGQ$VnircdBxNtL$4 zBdH=y8pmGP3*_KgG1LR?B5S1GiG!3L7YmCBn_}RvdM;?OMBgp9KfV>WX+R%BwysuQ zH!W5s{*&MTiVJwxV=_cb51JBJNtD73szxxYB%%nFNaA)BLRRAwr<)H+5l5wCJ_YKd zdlL%Ap!Sq)3MR26(hFfq_a((iuuP~8?8;FSK%p-w@}b~|Y>t5Nq9x`L^L&fG@lr&{ z&||^jJmfg%f{0+iTA-5jDMVga3yPsqAt{h2x*D*A7yu}nPZQ+D8PL$S!YLs);VTx zi4=irB10rQwZJB@J z&>nh-y@j$RQdN%auD5*IZIl@D*{zQ2(&zSsJ29rZWW~%`yIpbm*XFrSJNjIX)c*Wgh zaTFJ*qYXW7#;_+GFVjmCLde9~#)y-KMHZ8*noBv**Io*p){5R(k$q%NPzZ;m@o83! zKsak(+N=XoXn;-v)3=O|m`vl#hBcFA z&NRuxfuV=nYBCw+LiMSMq{wm!TzT{Zq&D=5%OVU(8Cz@O=B5 zL2ZmHTZAwx5I(Oy@`7ujikoJ$R$ka#nmU^=YN^Kf<2 zW^z_hi(pavry^sT9Hw68y0Z=`Yx|T4D}Xa3qPp0?&G^KyqUy$IX%ulKV0y-~p;#CR zYSUf{TjLY-l>#K+qmkQ7N6U`B|JbR{+>%Uz%0x8)T8*iVhN3`kXNp>ls!?a*!PB)a zZq-WqhZI#XsF0D>2*fLe$bLs2rZRUH6hZ%9a5=vLHOu_j^Dm_2Sry=O@c)mDj*u7r#d z>>y^@NCo*21%wT>E}?K#9?|&Ln+p!u`5P_*CL+b*K-;uoZm9JS(y$XYY^S?Q8!es# zhtgGWadJo_NQcTt3+$r!e~9GT2|a~d-k)mOE$aoeiUTWoUz9?a_YF!X=um* zNHyzfW{0C>IPKRj@6v26n~BBK0X7=jQw7UmXvGc^;>{id7a22hRDDzO+-(8o8xW8u zR3&z--7T5)B^KD87eKi06$EHKL8WCrB#23Is0tF%IXXPNO*HtdOp&Vd^n?E%O0o@h z*jEBV#=G;Hqe@%Ri&dSP^Q()8$}l4U`~){j2myT>EXE7#_53!5qI#3Wn7kT)mZT*M zX%_9zRKlfI64~X!JXWa7%DhXY_=Qh1l!p6bN-^xjXGys!I+nb#%jm4iV(}>{xQ%{E5V8_LP7huU zy`V8`za#{Nx$41~I*yhrOT=hN28QI!F-n|DrJp_GoC(B6hz9>?*BBV0+;s!9;u}}( zO6<=uA=PHv85WjRZZ%FDy!zUn@jfh{GG70D)ZsP!9XGy&F^`1rlI>JQUEskj9gETc zMpZ~i$|y|LK=~mUEmYXRREZKG&vV>bLY+}|ueR_J$7AG?XPHB*s+~vV{EgqP+F*cf zQYX%8F}LJVjc}iZCZ9zmF_Ts(kStjeXNA|@8G?HP^7s&_R3R}<`eBj4ts=>N*NNHz zGbQ9#8(yv?r3%$Dv20vcG9D(B3c9p~V%okR5!ey!Ov6rTBZv9}T&xoyXL`=hfs5qe zGzcGho!21H;x6mAcI;-KX(Mk&8~}l`D*CA z7)_}-g%XrxG+)ozv_y<$Jl<-l7M1fR?Kro2ebj0A-qij)Y*PuHko-H6EknqiIm+po z6)7ZENOHn`q~(V+#b0ZHJJju@KewtJn_14h2E^o+K~Y^jdD$Db?AL7?2dJQNQDB;t ztV(#{of4EVD)qq`>S;7JjlYmO6*K?hNYRyc(o3Mi_);>Zd;a3j(w&~sBPQlDmRFo7 zS)GURZYhywwPu$Id ziNJ{qBI%$`vG%U-xSWf;Cl|@j_vL8pf;zOC|J49SSLUi6_Vb>lI;tCIeDl_S*79Ku&UXa^N;% zaPX~df7P!t`YVDFjK_CyFo-B!F)jUI9p)gW`~K|o`pDDSuW6uT(;#wlx5*FNIP+lH zlBeC5r86&X4`GW-H`ZYm7VnjM8ib{vgtK^f-BbNj(W@;3uod@{4$PI+$L4FQigxq- z{dH4|#N+>b{8a8DF;*`rB`pMHs1@o7^4RwS6w>t`jc>8+)U z!C_)&^6d0^-&*bO-}EMDgBgd>)#CfQuIv;*O0=^&;BPu04UoDs(L4F`&uZ^pxV(PX z)KnfWSN)^`efcj`*!qY6b2fH?sgS}>&z(i;<}bg`{T=E73(=Ioo`^&14^myHv0hwY z|4m@+)Dm=q>&h?F=^>5prq-zyjHh z!mpP}0EatoW_faQ)8L{ZP^ZVk=DaPc0Y=WMKo28h_b4dE0n1c~z47svdzj3q@X&En zYq=Azc7-D0-|zc7*-#9j))bSU?bmmI9-SJ=S+PexoM!$}nog&#PK@xnF=8TKXh=0>r&x8ac$vi*IOXc1 zhfkej4Bi}_{p2-!<2BECdb>{bS5^WKW_=o0=fv?o(uU~vawzWyxm=t_QD^IPz^lg{oEeeQFC+CxU z$9>-*=ThU3%I{r{ml;Q@m5X@}sP$q2lXu(BEV;8%v2~KKhu+KtwIi@fl|P`0cOR$M z_FxmKK>=r;?Q&5XJ_&awEWI>0_7o`H&^3~Q{rkTZyd#{JoOyKq76`;$PcFj;0T;1} zsBydF!4PjL5S$JsKWNVGG-LhZyq8^4;QA)A2X6}04ezTrjrubaz&RFmA!gPJ(6?-} zwplJ4v@d)tPkt#cr{{T{cBZX18<->%gQ|yscG8NrBX6c_q^h$!Fc`Nq-_KN2=i0y+ zm^Wb;W_^6Jkwu~9)+2AnO=9a!-sJQ1dOiAdTV;bA1^bC5GK8aKe2Fl^?at-fo?q{5 z!j!}Z#u>RLj5XhJ4N~h(mKWp)c)jgkRnz?SVp^Fe8Rn7L_t~a_Rnd>I+uGMC+=BS| ziYfV`hkm4bnWMjvJr9KVpphNxkNI&D%t|w)1O&BC-C&w&S4BXHh^-{}FZgqI8&X_p z#f+jc`dy4l`%|)ho}Z;JVp^cba_a8-!BY4W{_vm_nfpGdwBJztMzc=8>BHfV72F{%mTXH#DE{R(QXl;*D>~oL6(t=gprF9e0+KL z+HpgvFU_p-bMXDV0!#RCrwL}{Q-q9*1e?ox4`!se(QFXGHw0`e3e^~Ds!Bg|^wu{G zz#y7?LV>Kfv-DGo$wSlu$wxO>QQL~;2VraS9HO`y8+t*kAO8dsZ!OwKS=Zag^)Eh~ zVT2~=TMKu953rAX9pS?JUC@OmwX-O~xAM1>pkZu1Lm68~$1b$%@HR(z`hg%Yl3E_m zP_>6w3jL9env(TD4W5{B5Q9$!fZ|ma3lW)(V9&Z14QJ|1ciy{`Atn zphfpw$wI+Qd+#m^?z!2#2&XBV7erKi+e7+0RPEu~p7{qblIPy6HT6@~jjx}0s?6Bw z1<*8z!H_SF^`UmmqGKpO*!(!NcIN!*?8^F#9Hzo@kFIlP`QXWv*U%%svzIaeYsb z?a8aWzJTZBM^Y3QfowsnWl(710#MY#GflikxOqS;BHn3ZS+R=s3t892Gfw&{SC=B< zk)j(@{=lojP`bJ@r%wk(yUd;B)!&V!o$>Z=@4IJMasSA7x#GeCMr1+DMdF_1Lh>O` zZn@8{4pupTrWtM%iOa(ff$z_^&(~!|N{evH;2Ze>1(U3bQ^+ATf6t>SqdNW+veqql zj9P%Rhs(x@SsTn2qoIHRKq2FmxR&bqF113I|g2thC94U{l z&B~#4c3I(Ark+?|OS9%UMGkYb)<^=mf~SK%pT7N~v>`p9F9V`uA=zt3okFc){Q+p+ zSZ(Q|?3@^2XU1q~JWxy=awF5EQiashj))}ti>8So(ONt=@aoPcDbRMeJnn_L(rhXk z5tk)|sJ$$f7OI*V&6vZOk71A^iIiOsPa8zDgWgX>s`OVd(9brs`nBqQV+~Wb4$I<@ zB*sC&@v@_o%*6_&a+3Tug>gUxLluxIlC7XzRq2ktvC3XcfjS+fVWV%G%aWLEuB>3d z6UjNrwo*q$J^Yx2DlcP1om#p9L|&xVUd*GXjw^eF;~0wvgEmt~ZEZVNLkufso>1#p ztX@7DD}`+5LUC)TPHdWC5DG1pHvm(D07HrtGG}(@jEqd*MPrEZH(-Rtqun~Q9N$aJ|G1Q zW?b*fKfxfNP^ZB;DIz;Ax-%;{C4^tc6o55`&H=pSH`)f9utPw!3OROzp!9;j%^>s} zHeqr%vNcdLT7b{k!;|M`*1hkyGb$Iim)dDCst08G%ef6E(Kfi$1RP1^nJBD0@iM4% z)VA<>k8wKlAv79*G0I)|T)M?txI}D(b0=JiUu2e}dw3nZp7MYsm?2o6VnIWrs_!6^ zpxN8Qvdxpc9<-?`+bE3%lXoXn=S4o8tyA=CF4|l_;R~S(rIU&B$gbbkBm6DUqq>9W zr8XZQMB5Jho>cE&&5E#_&@(@5BzQD1O}3qoe~9Y(tAR2AbC(@ssf{QNJ8_r;NpRrG z)?2*-)=}}v7pw7?Gp#4#UOE9^`6&?o(=Q)mmddq}iAqVXx^U}j{RGY|uJr1>zYr#G zSTqg{X&%JSxREh84@+Wcn*pCtqpP*}t-?cw^EW!pdg~(Bkso_e-XRVbDL|dKj~RH* zS)nnLMTFRZic!znCjjt#%O^i;RO&FrLQH1dOQ{3=5y4(H!E13C!w~;Wmhhm1_kzXy ze5ZFv{l=|<$!gSdaUd~i)gT9$e@Hft|6o0=Eh7R`N9lSd7gZB{bG)PSpu>S%0lc%% zf<1X>{H@~PO{ZJnHgO=!rcgEEUM9rOz+8S4haIZGZFyrj~y(g)XSUJHT*OG8=GHf=#bM6^F11m`55lr(@ z6!i-Vz~O1I84K-Q0?%zFict;I314%a-(tv9FFmhL57mvQ{0z(F9ZSiJ|F2Tk=V{=r*s3k~0Z*VnL%K4(GHpAbr4Kso zGpT29t%TKUeHOCQb8f3*e$yar{)ZOH+$I^IFqZji^VdJen(pDLdr?5MhUoc(eT`vt zl|*UFO27JYgcE(Ye=VC2{vIvq6WEVWjeJNwiHkwCiIs^cI7L$-%_Id!#!Q+zKT6xb zY{#XywA?Inok=#Ead?~Y39fscToP{`Sv8ySQ_i|&lc);*xgSth--I?8b9*xvS7-C| zbs}ikblDT=P%1VyCUz!TCKgI2CQ51;MtKJ_F=JPAA}TQ+7N&ot0vybo%>O;|ubl&W z9zsP}oK1|Ii-Vb!lY@grOqi8Pn3;t`jER{=gk6N0lZi`!i0}VBqW^!GClNC<`~Su` zlBa1~>Z#*}&jPNerngF_^VobAFRd0_rlJxUe)zh-zxx1q9B(zvV4rLaw8yx7193r( zOt+(8s$5QylLBA+r2d*QP@Tw_#8Zy~sZC`@XFamvPFPQ9r?xAtgt2_| zOmL;Z7f$ilG!ms;6~<^*PK7_#tC-a7nwE;Vyp^X$4TST0>QbJ9#5oPYVu@&vtjj?j zi73U;j<%?#1*qtO*Tpu%r5w;W)ux~qplF8L6xM(&|FPaenGi34XoFgn(}q0T#RxUx{K9fEQ0I-FE3k?_P)_|>Y`r(!ftmMti;VNfL)C% zE_dS8inJ7_io;P(F$6>;jZ;eAZ@5XXZ+3OkL}e&CWE(m7GyMnd2#hOaGl+F!a2Lv+R^jA;iYpAZxY;%7o{K9Guo=cH?mqIDAIRcAjhg%i&(8HyP48%D}7R!eh@f+(Im`@O_)hEqMJ_ zE_o-o7?79wDEE6OdJ#zreD?m;k89*uTeyC3ChNn*Ww4&7>7EwYMo=vrBb)Y1w=$%j z`Kl+y6{w<9&bCT{<*M=+5FjnLOq|BC?70g1i_aXkq{h6e$C4?ljJc2H9S0?Qay7YG zN4_L@w_*M0b~1~bwXE)pjx9U)Lz4Vt%j34)EdW008VFSAV&qt69bjM~f$P%8k`B2X z;9VtO++*7|H9h+%R4WHGQ(!^rE}6BvIndI#>UpbIt~*2etLd1u<6@@j&@t30S+~4SeR^!t zeV55sZo^bbr0~@2PEg9^rqy>BESbMa0+i2NKXsF3Wa$OnbSp>iSHn}h>8*SutTM@Y zWmDeiu=DeSkJ56wFf@)ILj%I&z;nE~cP}-8PkP`z4;A_VZ}}huxUinSY`c*@z>3|- zx0jB6F1_G-U1+xh0AR*km_Lu^eHY;%e?QrGa|Z%mszA!#K?O3P{5I7!$ z2Ph8yL>@*z2k0vIUA;x}n~dv!1Fyx{Q|OC#__(g0y3e~6eTZU)*+c0=cYrOPkduomO2GUN-v|os diff --git a/electives/amr/parts/05_planning-control/00_feedback-control/02_lqr.tex b/electives/amr/parts/05_planning-control/00_feedback-control/02_lqr.tex index d334864..af3379e 100644 --- a/electives/amr/parts/05_planning-control/00_feedback-control/02_lqr.tex +++ b/electives/amr/parts/05_planning-control/00_feedback-control/02_lqr.tex @@ -7,7 +7,7 @@ We try to minimise cost functional (for $\vec{u}(t) = -\mat{K}\vec{x}(t)$) \] Solution: $\mat{K} = \mat{R}^{-1} (\mat{G}_c^\top \mat{P})$, with $\mat{P}$ found from \[ - \mat{F}_c^\top \mat{P} + \mat{PF}_c - (\mat{PG}_c) \mat{R}^{-1} + \mat{Q} = \mat{0} + \mat{F}_c^\top \mat{P} + \mat{PF}_c - (\mat{PG}_c) \mat{R}^{-1} (\mat{G}_c^\top \mat{P}) + \mat{Q} = \mat{0} \] Finding $\mat{K}$ is expensive, but \textit{offline}, at runtime only $\vec{u}(t)$. diff --git a/electives/amr/parts/05_planning-control/00_feedback-control/03_mpc.tex b/electives/amr/parts/05_planning-control/00_feedback-control/03_mpc.tex index b5d85c3..c63fb95 100644 --- a/electives/amr/parts/05_planning-control/00_feedback-control/03_mpc.tex +++ b/electives/amr/parts/05_planning-control/00_feedback-control/03_mpc.tex @@ -1,7 +1,7 @@ \subsection{MPC} \bi{Cost function} ($p(\vec{x}_N)$ \textit{terminal cost}, sum the \textit{stage cost}) \[ - J_{0 \rightarrow N}(\vec{x}_0, \vec{u}_0, \ldots, \vec{u_{N - 1}}) = p(\vec{x}_N) + \sum_{k = 0}^{N - 1} q(\vec{x}_k, \vec{u}_k) + J_{0 \rightarrow N}(\vec{x}_0, \vec{u}_0, \ldots, \vec{u}_{N - 1}) = p(\vec{x}_N) + \sum_{k = 0}^{N - 1} q(\vec{x}_k, \vec{u}_k) \] We minimize the above s.t. for $k \in \{ 0, \ldots, N - 1 \}$ we have $\vec{x}_{k + 1} = \vec{f}(\vec{x}_k, \vec{u}_k)$, $\vec{g}(\vec{x}_k, \vec{u}_k) \leq \vec{0}$ and $\vec{x}_N \in \cX_f$ and $\vec{x}_0 = \vec{x}(0)$ @@ -13,4 +13,4 @@ Quad. Cost: \vec{x}_N^\top \vec{P} \vec{x}_N + \sum_{k = 0}^{N - 1} \vec{x}_k^\top \mat{Q} \vec{x}_k + \vec{u}_k^\top \mat{R} \vec{u}_k \] without constraints, \bi{State Feedback Law} $\vec{u}^*_0 = -\mat{K}\vec{x}(0)$. -With constraints, minimize as above. +With constraints, minimize as above, $\vec{x}_{k + 1} = \mat{F} \vec{x}_k + \mat{G} \vec{u}_k$ diff --git a/electives/amr/parts/05_planning-control/01_motion-planning-exploration/02_rrt.tex b/electives/amr/parts/05_planning-control/01_motion-planning-exploration/02_rrt.tex index 1d85960..f669b81 100644 --- a/electives/amr/parts/05_planning-control/01_motion-planning-exploration/02_rrt.tex +++ b/electives/amr/parts/05_planning-control/01_motion-planning-exploration/02_rrt.tex @@ -27,7 +27,7 @@ \end{algorithmic} \end{algorithm} Returns a collision-free path as graph. Need nearest neighbour search. -Extension to RRT* to make path better (because this is quite bad) +Extension to RRT* to make path better: \begin{algorithm} \begin{algorithmic}[1] \State $X_{\text{near}} \gets$ \Call{neighbours}{Graph, $x_f$, $R$} diff --git a/electives/amr/parts/05_planning-control/01_motion-planning-exploration/04_collision-avoidance.tex b/electives/amr/parts/05_planning-control/01_motion-planning-exploration/04_collision-avoidance.tex index 8f311f0..0d63b63 100644 --- a/electives/amr/parts/05_planning-control/01_motion-planning-exploration/04_collision-avoidance.tex +++ b/electives/amr/parts/05_planning-control/01_motion-planning-exploration/04_collision-avoidance.tex @@ -10,4 +10,5 @@ With e.g. ${\color{purple} c_\text{att}} = \frac{1}{2} k_\text{att} ||\vec{x} - \frac{1}{2} k_\text{rep} \left( \frac{1}{\rho(\vec{x})} + \frac{1}{\rho_{\lim}} \right) & \rho \leq \rho_{\lim} \\ 0 & \text{else} \end{cases}$ - {\color{ForestGreen} Simple control laws}, {\color{red} may trap in loc. min., no diff. const, no guar. to avoid coll} + +{\color{ForestGreen} Simple control laws}, {\color{red} may trap in loc. min., no diff. const, no guar. to avoid coll} diff --git a/electives/amr/parts/05_planning-control/02_learning-to-act/01_mdp.tex b/electives/amr/parts/05_planning-control/02_learning-to-act/01_mdp.tex index bd61ac8..ecf3804 100644 --- a/electives/amr/parts/05_planning-control/02_learning-to-act/01_mdp.tex +++ b/electives/amr/parts/05_planning-control/02_learning-to-act/01_mdp.tex @@ -5,11 +5,11 @@ at the end large reward (good or bad). Def. by states $\vec{x} \in \cX$ (RL: $s$), actions $\vec{u} \in \cU$ (RL: $a$), prob. state trans. $\cT(\vec{x}, \vec{u}, \vec{x}_+) = \P(\vec{x}_+ \divider \vec{x}, \vec{u})$, reward func $\cR(\vec{x}, \vec{u}, \vec{x}_+)$, start state $\vec{x}_0$, optional terminal state $\vec{x}_N$. -\bi{Utility Func} Expected reward: $V = \sum_{k = 0}^{N} r_k$ or \textit{discounted} reward $V = \sum_{k = 0}^{\8} \gamma^k r_k$ with $\gamma < 1$ +\bi{Utility Func} Expected reward: $V = \sum_{k = 0}^{N} r_k$ or \textit{discounted} reward $V = \sum_{k = 0}^{\8} \gamma^k r_k$ with $\gamma < 1$ (if inf. runtime) \bi{Solving} (Val iter) $V_0(\vec{x}) = 0$ and $V_{i + 1}(\vec{x}) = \max_{\vec{u}} Q(\vec{x}, \vec{u})$ with \[ - Q(\vec{x}, \vec{u}) = \sum_{\vec{x}_+} \P(\vec{x}_+ \divider \vec{x}, \vec{u}) [\cR(\vec{x}, \vec{u}, \vec{x}^+) + \gamma V_i(\vec{x}_+)] + Q(\vec{x}, \vec{u}) = \sum_{\vec{x}_+} \P(\vec{x}_+ \divider \vec{x}, \vec{u}) [\cR(\vec{x}, \vec{u}, \vec{x}_+) + \gamma V_i(\vec{x}_+)] \] Repeat until conv. to $V^*$ ($\tco{|\cU||\cX|^2}$ per iter). Optimal policy: \[