From 72af7e703bcd27261e0b2e2ebed1092ae6869d84 Mon Sep 17 00:00:00 2001
From: Matteo Anedda <matteo.anedda@mailbox.tu-dresden.de>
Date: Wed, 1 Dec 2021 15:24:43 +0100
Subject: [PATCH] ...

---
 CRE7038.tmp                                  | 175 +++++++++++++++++++
 images/IM2.png                               | Bin 29364 -> 72657 bytes
 images/{IMG_20211124_153815.jpg => ceti.jpg} | Bin
 images/sphere.png                            | Bin 0 -> 17913 bytes
 lst.tex                                      |  32 ++--
 sections/CRE9BCF.tmp                         | 169 ++++++++++++++++++
 sections/CREA219.tmp                         | 169 ++++++++++++++++++
 sections/einleitung.tex                      |  12 +-
 sections/evaluation.tex                      | 103 +++++++++--
 sections/fallbeispiel.tex                    |  25 ++-
 sections/grundlagen.tex                      |  14 +-
 sections/implementierung.tex                 | 106 +++++------
 sections/konzept.tex                         |  65 ++-----
 sections/sota.tex                            |  20 ++-
 sections/zusammenfassung.tex                 |   5 +-
 thesis.tex                                   |   3 +-
 16 files changed, 717 insertions(+), 181 deletions(-)
 create mode 100644 CRE7038.tmp
 rename images/{IMG_20211124_153815.jpg => ceti.jpg} (100%)
 create mode 100644 images/sphere.png
 create mode 100644 sections/CRE9BCF.tmp
 create mode 100644 sections/CREA219.tmp

diff --git a/CRE7038.tmp b/CRE7038.tmp
new file mode 100644
index 0000000..899be26
--- /dev/null
+++ b/CRE7038.tmp
@@ -0,0 +1,175 @@
+% the following command is only required if the thesis is written in german
+\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+
+% change to english for english theses
+\documentclass[ngerman,BCOR=1.5cm,twoside]{tudscrreprt}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage[ngerman]{babel}
+\usepackage{isodate}
+\usepackage{amssymb}
+\usepackage{amsmath}
+
+\usepackage[
+    style=numeric-comp,
+    backend=biber,
+    url=false,
+    doi=true,
+    isbn=false,
+		hyperref,
+]{biblatex}
+\addbibresource{bibliography.bib}
+\AtEveryBibitem{%
+    \clearfield{note}%
+}
+
+\renewbibmacro*{doi+eprint+url}{%
+    \printfield{doi}%
+    \newunit\newblock%
+    \iftoggle{bbx:eprint}{%
+        \usebibmacro{eprint}%
+    }{}%
+    \newunit\newblock%
+    \iffieldundef{doi}{%
+        \usebibmacro{url+urldate}}%
+        {}%
+    }
+
+
+
+\usepackage[hidelinks]{hyperref} % makes all links clickable but hides ugly boxes
+\usepackage[capitalise,nameinlink,noabbrev]{cleveref} % automatically inserts Fig. X in the text with \cref{..}
+
+\usepackage[colorinlistoftodos,prependcaption,textsize=tiny]{todonotes}
+
+\usepackage{graphicx}
+\graphicspath{ {./images/} }
+
+% if you need mathy stuff
+\newtheorem{lem}{Lemma}
+\crefname{lem}{Lemma}{Lemmas}
+\newtheorem{thm}{Theorem}
+\crefname{thm}{Theorem}{Theorems}
+\newtheorem{defs}{Definition}
+\crefname{defs}{Def.}{Defs.}
+
+\usepackage{blindtext}
+
+%\usepackage{tudscrsupervisor} % if you want to copy the sources of the task description into the thesis
+
+\usepackage{csquotes}
+
+
+
+\usepackage{caption}
+\captionsetup{font=sf,labelfont=bf,labelsep=space}
+\usepackage{floatrow}
+\floatsetup{font=sf}
+\floatsetup[table]{style=plaintop}
+\captionsetup{singlelinecheck=off,format=hang,justification=raggedright}
+\DeclareCaptionSubType[alph]{figure}
+\DeclareCaptionSubType[alph]{table}
+\captionsetup[subfloat]{labelformat=brace,list=off}
+
+\usepackage{booktabs}
+\usepackage{array}
+\usepackage{tabularx}
+\usepackage{tabulary}
+\usepackage{tabu}
+\usepackage{longtable}
+
+\usepackage{quoting}
+
+\usepackage[babel]{microtype}
+
+\usepackage{xfrac}
+
+\usepackage{enumitem}
+\setlist[itemize]{noitemsep}
+
+\usepackage{ellipsis}
+\let\ellipsispunctuation\relax
+
+\input{lst.tex}
+\usepackage{tikz}
+
+\usetikzlibrary{positioning,arrows,calc,math,angles,quotes,chains,shapes}
+\newcommand{\R}{\mathbb{R}}
+\newcommand{\N}{\mathbb{N}}
+\usepackage{hyperref}
+\usepackage{mathtools}
+\usepackage{multirow}
+
+
+
+\usepackage{bera}% optional: just to have a nice mono-spaced font
+\usepackage{listings}
+\usepackage{xcolor}
+\usepackage{lstautogobble}
+\usepackage{dirtree}
+
+\begin{document}
+
+\faculty{Fakultät Informatik}
+\department{}
+\institute{Institut für Software- und Multimediatechnik}
+\chair{Lehrstuhl für Softwaretechnologie}
+\title{%
+    Automatisierte Konstruktion kollaborativer Multi-Roboter Arbeitsräume
+}
+
+%% for a bachelor thesis
+%\thesis{bachelor}
+%\graduation[B.Sc.]{Bachelor of Science}
+
+% for a master thesis
+\thesis{bachelor}
+\graduation[B.Sc.]{Bachelor of Science}
+
+% for a diploma thesis
+%\thesis{diploma}
+%\graduation[Dipl.Inf.]{Diplom-Informatiker}
+
+\author{Matteo Anedda}
+\emailaddress[]{matteo.anedda@mailbox.tu-dresden.de}
+\matriculationnumber{4732423}
+\matriculationyear{2017}
+\dateofbirth{17.09.1997}
+\placeofbirth{Riesa}
+%\discipline{Distributed Systems Engineering}
+
+\course{Bachelor Informatik}
+
+\supervisor{%
+	Dipl.-Inf. Sebastian Ebert
+    \and Dipl.-Inf. Johannes Mey%
+}
+
+\professor{Prof. Dr. rer. nat. habil. Uwe Aßmann}
+\date{01.12.2021}
+\maketitle
+\newpage
+
+\tableofcontents
+\listoffigures
+\listoftables
+
+\input{sections/einleitung}
+\input{sections/grundlagen.tex}
+\input{sections/sota.tex}
+\input{sections/konzept.tex}
+\input{sections/fallbeispiel.tex}
+\input{sections/implementierung.tex}
+\input{sections/evaluation.tex}
+\input{sections/zusammenfassung.tex}
+
+\nocite{*}
+\printbibliography[heading=bibintoc]\label{sec:bibliography}%
+
+%\appendix
+%\input{sections/appendix}
+
+\confirmation
+
+\end{document}
diff --git a/images/IM2.png b/images/IM2.png
index 6f29d9d5715f9333a8003759134981b964e601f0..83ace046f2b44e589f3746a1c7ec27b017af6ed0 100644
GIT binary patch
literal 72657
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
SBG16Uz~JfX=d#Wzp$P!j%I4Jo

literal 29364
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

diff --git a/images/IMG_20211124_153815.jpg b/images/ceti.jpg
similarity index 100%
rename from images/IMG_20211124_153815.jpg
rename to images/ceti.jpg
diff --git a/images/sphere.png b/images/sphere.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4cf4654b841b7b712583ec499a8df4b831af31f
GIT binary patch
literal 17913
zcmeAS@N?(olHy`uVBq!ia0y~yU|h+-!1$bliGhKkSH@I;fq{XsILO_JVcj{ImkbOH
zEa{HEjtmSN`?>!lvNA9*a29w(7BevL9R^{><M}I67#LjpJY5_^D&pSGJ-u4*dgZh8
z@&V4gb}BEvDKxW8dbeP*1Cx_(JCD;Nj)xNE!c|3!IDFXbI1VZ{ow%6!OGwJfWQlc{
z&GeL;VLI+v%X{@VO+7I!HRF!0@eBSBDw8X&O!l+iI=_5>_1jhJUqy$$4to9RUqnvU
z+FxZ?SAGAqX6vebr{~7&%{X84tUu-SjE}$f|IeRa^C{l*C}Xe2{2xc&KVsF`plE(W
zPd`gG#;z-*=eA6S3|pe&#K<k*F8Tx+re)kYGnG%*y){HpX2!#(%%>GXj9S>63xwvh
zx};sa#h#(LQeyk^((mu>|6lUfPd+^5osL@lYlEUCLY&7G`+9<Y%vxOXmU+X1oKnuF
zHm~Pw!bkh61D|U5TB_B*Zn@pQ%dFGi?3A|GQl_`Bwf0JyaJah(HFI8_n!v?>f1Ba&
zHO!B5PU-jhw`rJ%J=z?hb-~WzvDZ@Fb8bRWX0iHl{Ys+AY`Qw4$!tx$8@G!TeHKWq
z$>X}nw9@%ELyumx>EVt<m4{tQZbE!bAeCphgT0ShusaJ%OD*cT6rmU;bu}ZtcjM`T
znJp9DChgIXv(V`Z>5(*T3y?GMdVjzE-@#^aQ<q?uOv{kPwG4WicO-elzX+!;DygiB
z+t=C0daN<t%3N^q#H8hos{&7blk*9g{EhL4=QgefIXs4Wd^~ggn9N)5`5b9TS@4VJ
zWX2QjCHFL@X3FnXn)=2dOv1{}u!Q6ItQBGji;7~zWZ9lXZk!xm(QtjcZvE6u`4eJW
z^B8s-9x1B~oVcL+#qy9I)`UfAMYnse-c2%Rch5NHQvB+&9mD%mVIdL@J+qURm(JTF
zyLID=>s~#cC3SMEKXrLLm|;;@`tiN<)LZQS2QCNQ?3T98W7rrQ7h=4_L}aA|_mw17
z^O(t9cOxtGR&H^cdW&5nDClGJ#ls6$)<!+&T(@rTgkHayVNsmnm9BBOx|c?6<yTNh
zc`d^uTahhfn=@U!ltDjI>ll-&ikb4}Ck3fyo=fYruGz75h3uMht&+*QB#%-4)9L#+
zJ9KSgE}EBo{ZOdHwKYrL`N_Y(&)?sz-nQt1CD#r2Z9S<$r{$X`H%65nc_yzO6wv!^
zZm+Zj!>91r7f;%kP43$0b7zg6^p>0{;UV74pTbvsGqg*%(_PrCb!%yoPIB9)mO%BX
zy#{uYt9v`|%1Euc=dJDf`y3l@&ud}xP-_MC4eDJXJ*g61L6NN=PZs3Hy?OTGmNxII
z<SqRN4;CtWU3kE;DRoWKr{|oTqqO*VE=CmIW}C_us`l171(fVJHnFiEWL%oGCMa{s
zGj_+;h}0>5PUc~E%$$22r@H)>kles}xK;45gqOHskH<=h)ic(HB}_Tw(sPfUKW<O?
z`$)4>+C9Yz2NTzItr2nmU2rhOs*T%RqwG_c&VwtPQe&9-Hl?VgFBb33lHWYleuHR_
z=G09$7uWJ|w{a)6K6F}YZRS!?_Qgf(n3nBruf@|D-w5xm=?&=#O<19oQyTeOLU?k-
z#e#|AqRdud3F}X>v^DKqa>?W~L)w=-F3~^ST_HW88M!N`oRWN-?6aeBlYUqqQ|&a}
z$3knL88c0Nx!h1jwISLxoGT$KVqZ$}-9!f;CRSCOfIg<XZvU4i#VqQrnRnb^m1fco
z-s057AO$;AxTY*VAZl8yE4e~%zU1l`##8lH-Z;DRT+H#HH9IHmIsUX@0)q$JN(ng;
zyQqLG6P!e>|AcOw9R6hKjT${+t94r#vV(s&xIPc->N<DnNM0Z74YdarRROP9FRc02
zxM<Q&t_4P$rq2CzG_UXE{jjc05vOk*U+AXQ#%`$_w)n=`#Q#f^DgyfcY+X~kK*ssH
zlhx0~Hv%8O65Vb2Qs<ghffdt(g8k;}Y8eV6tIJZ=t~D@j4i*mxd2>T!eFkgXvJf8o
zgpJA1Ro`aMKl+sK+e!J-Ua9NbZk#=6I?Z7E%I=88Z|rVew<}oFseSZ##+9vhN8jn}
zsaYu@r*JI6WaX2k+;5r1rdZFA?%mZ^CL+9h^O@eXHO$3|(>|T|tGZ~HwkCup|J~i{
zY0Ac3opaR<0{{7}la0{nzbLWyL!kaG_Dz!8vrLQv6v{5_W9N@cS-j`ahXYNy>@R!T
zUL2h$d8sFNOUaVjhU+?_kGWn+F+X~9rmuQu?vLb8+nFPH99L}IF3q+<`l`jJCmU)r
z=Pxy!(ay>x{Z!Ogr}uke*==^FqSbdL4*bynzv7+uZ-@4WCpZ#JD%y_D;d?8_y7{(U
z&6{UzX59ad+OOJu+3vuZ>0aFrUJ0=DwB1cIKdvs*Ynisa)}U=^5o@wVSi<)ewI=gJ
zW-){xakx0cp|sp*&4GZ)T@QOt-nSFT`TpMiJ)4=bftSFy6}1b#MYO!XSZ}Tt&?_qZ
z+Th2Mq>A9`6RFLKZ;qLDzv**dev3WfY*&#)tgY9ZXID~p6)j+2nq-ktq3`={gSe~K
z#24Ye6K+mo4qWWW%yiY$LB{prGHpp?*+iA|hoj5pH^1EQZ<g<u)wK-QTqd4cXdv<;
zw#6wk$(((!6aUhroQ3|E4JVl%`Y7Jo`-zJ`V^@Ub?XBM!tsJx@7hYFi=&*5exCnoh
zv^G~Yb6neH?N49rB%buV?GTjH{!n$@?w6aEW}?i2bc@)fN#^QdBHuWf7G%9YpE$vI
zTe<(cnhv3gz1i{}Qx23^_PsgAxa#8L2N6P%>xDIVgH}$ioM8MZwcM!S(t(|uGw*v$
z5m<6sy|5vx&B9`u#<kaCY@H!l4Ta}Eq|K3+c%pdC_^tFp{iTo2+Hkz+T>R*PL%~DY
zxKbSf<JQyibGqer6`p%A{ciiF+f~bIoBCN_=KtDvK*2&_maEpWvNH7orDqHK-ib;-
ze{s9-gYnzljL&9Ql*=*J_-=G8P%xPi((_hEyMAlC)vwOHe4_=K_jwKO@2x%`Cd+u-
z>9Xh18-8g&lM{?j+~)Y|%l0Prcg%O^Hv#YN*YEqrVKL#%&D(OGycV5hc_w0S|FOOC
z`>nTYerTSwwa2WzwgT51IMQTtHE+#sxnBKI>h^WJs#$U03+>}|M3cn}H*a@#;<4bb
zkjc`#72PTpu|2W*mic#EP->jc(P`6s;aQO3wq}kN-lavHGiI%SpI-F*aFx>b1+^u{
zv2v%s+cbsr#LnPlP7LvWYQ~e_R<(VywS3r<^<HmhTg$cfe(Fl7s97no+d#T)u~|xm
z@s-@7?VK6%I%eh}vbWmn9y1wP*QFjYuxV_5pt({)I<e*c?(c8B_4oGdmrUB1n6TH=
zN_<sq!3UQ&0cYP=xXljfiM=84h+p{*Z?&6(w5|yA%$6k0TkQK6MX$Raxb*r{QTGEg
zCU<R|?s-O1PwJ<*xXB$=(PVKG)9w71?Mf}ZEWycbV%J7-<Hd&*=DY8E6W6Lgt!pFq
z45_qs$<LYcex0As#=d*`mDw@;^!t>bUvk`d|8-B^-TlBqBgpU@lk~DncDtti3!A=p
z*X^h5O?-<#2N^OYobz6qDe?UCgXwn@9|VBZ3Hknhk<&GoFK=qsU77A}5ejB0t92!w
z^ZfpB@~*3n!r`0iYrkmAJg}0!>T=FbrfpM5&)x%V8<vD<xj&BQj@rc9c`{x>dP{%Z
zTlY6=4~z=;1{pG~xIW2;(akQn;bXtj`V-wJ<2kZ#xi2r%E-Ti#k`y>m^||JOJrnM_
zCmZgZ9evAvxt~pMmgPJ<nYMi)Jq%sGQE80L_vhX@`R<d(wMnhT>5ra$vaQuInI6((
zaLO}khp27gW(Hl+R7Puk(Zl`LS9ks_ICb&{Tfz@dRpp+_Q!%2GcXxj%T9Q;D@YYr@
zwlL(FnWtRxBasmHDPHR3;tyH9j_zp5yf3G7LTS>u85Tz3%~2Pcly*n6gtMpS|CUNl
zytQ38`llPqPAS)a8o5&}%T;gB77KW~G)X7n)^_>s4IOXfydN<AS==Q%H>qypgFPLY
z_v-|rI}BDz9IQAczqHrr`my9LmkUNghG{dtu|Ax+u1($hTg#S(u}Aq@xioh7vg+7{
z8@%Oit<(@zmbhvva%zt6J12vm(TBF^i!56a(zAC*Qo6mrp!nqdn`eA;J&=?wf5G$y
zuatTG$wjT}4HqRSS{>h_&vzzzr381tEsf&W+L8NwwA^@n{;AFQcJyFTDQ5(m=JKTW
zrfHk2%n$lV$xgNxzq~IaB0<ngI#ut3Ve3p2tF)k_TlCfDT=7_{UU2n<hN$%|#V$>q
z@Wsylo=cN`ekV2MyjNMJkvnDQfs=P#ef}-F?7v`L!Y%QcVZx<)Wg0nC!k4r>pVTGD
zTotSpYgAXhGDm7+hFV~u=!L=<zq*aHFZYC=X8hKYzI*GdA9t5-%5-5m7_u_-VsV+A
z>Q}Ea?XOW=3lgq6#mtfXc`t3H<ir&jPr2VuH{Kb|zSrsdlB6Sx{RJo7e?4KAV1LqM
z&b^B+2YSuE6T4)Q<5E2dwxE~IA0yd?8bp<qTzR!#_~=gF-96)v>LT;QeYesNPU&Fg
z_0C*;Ce(cA?he-+rCmmA_8dRDtgiC`kGGcQ%x+o#+9~(`zMlWv@}`%w+2L<)pFb_n
zRJxTuaSDf2l-9<B2L+c|)LCjrdfe-8dpQ5y9mk*l3_P+KEFL`fQ(t-KSd*FH+mrH_
z1B_cUm2Mrcy<_%B$Z*mN<LliPMo}r{j1H?bYBU5KGw-%$X>^&KO_1?E+Ts58llgg(
zZ71Go=Pf#QNJCa}+fjQZuB)x-dnKkHc)E&9jEnE6((i2#vhH6JOkkIA(Q*q}HQD|d
zYw;2F;Jhv84{6BG&hc))SZS$VzMhx)soJ%gxBp|c#k<~EvmgC9clGAoQr}lCuJt}0
zmryvn@6*%szG7nAPP_}vV^#ehtmPIGcBtdtp|~6Nx1Z$oaq)JU=rT`ilKXqJNhR>y
z9p+t&%nr`Izf<bCa>D!B+f57oeriVP^LVeE!Wi6~DKtrE`=UASQ@RADtvYXinP$b$
z>bUK2y<nkfhHG|A;NkrquPwi%YG|{UJTI58^07QGm*x8JLzTy?s_<S>uL-PYr*}+l
ze#vpZ+3RQr`<kvNH6I=v-SMxxBTFD9DYf@ymVDQidCo^oPBGr!6*ozL@3S?3UM2>H
zeYqaN9@ted)k|-N?Btq>wT3g=E-H%O)G|=pbg}f_`@i>=cbV!hX>@&cx`M0gIpaqr
zndi;gwJ}wO@x>pPY<R0;8=@Ef@AL=8Hdl$`q4O<2Pw^~2X6&4C>GM|JH*HSyFIE;j
zIWnVlwm4Jcr=_bsr<t5xu;77y+%(?+o6wx3xN^td+)UGNla#6o9m3x~)12I4e5+k}
zF?*1qp5aFsuBfm%({Jr*Oj_dAxT$2t)L;h-|M}Jr*I#-3ao^&k|Mz}x)ZfK*@z1rX
zZtPLV6nY9)zF~E@aCskd?!J{{d&=n<jOvC5%c}X-yHE5|nek*w+tk_F;)Tn@XZJB@
zPOSgE+*)%Bzj(*LKj+@}9IE>EBgEY2-Ms2QdUKT4x-m(74*IBOkiBU0!)=Az1KuPE
zluCmtyxR{2mk2R0*_$Qy#XD;IV?7~r+2dFDJv{tlwYQJ@*B`}it1GNx-^=Xgy?yA=
zrt=;R%Uv!AYWU1Ku%`2L<y+>t{(oPn?CNEm*Z0CqE=J3+U@O0C)b_)V9qhv9+2|}>
zE?*}S|2r@9we;o3=k@O!TlU_avvtF43)WY2PbW><a5?B@!_M<TyLGFIvYt8b3`@z5
zk&HV(d)unpR?EZv4u5C={-ZE3cXsw`m){k!fjTv%rk;As88Z^i%Z*h0bi}syiz`oc
zJ7{{Sc*hx=B=h$4DP9KRo4<Uij5MozxH3>)Q+U&Qwqxn%HP-ii((>ioGiUW*^HUN^
z_4m8KDDGEFT&B?Q{(iljYW=&G&0@a_jW@GgNz}Mv-50gV+WJjT$R*~`1>XYIB4*9J
zq7!>!pTV(<G1{Kl_cMO^JmXSiKGV3ya_V)>saXs2pYct;>ps~y&mcBQYya;nzG2@#
ztlKU=@7Isw{`+@VeVX%SqlvLoPU}e{Px+hA0~Y^@mAEiXZ)?hx=vM|6OP{Phk(u(u
zP^_rFG(1RZ>08#h%j*(DB<}5xdbF=Nxp)8mfAJ>mdvaG;3G{kM`pTdGvBvM8UWUA@
zi`LR6zfJRn^M6{bVfiF2snzgO?w^_c+`_Hz*RoE%{?dT!iGP%J^{GaMlCOF9OB&rL
zczul7H_=gcqL<+U?<qXGITP=04ZJ&J=j=0CkM_lWRPVRjmXhKz@6>#gQie~hS)zrN
zN7hX7x*7AWL{YpsZ-e?PEfKR*+FI??59e~Qh(*rX>>|>=Sk1`heffGlc5&6Ukq0W*
zo95bly(D2=6TO9Bsbim4cDK(YjjnsX4>V8t`>YRqw?g}%=iS22yBhbG{XS6okZI>%
z-Sllj|8ySlKEFMmZ)bk%<X2A@cx3CT<zKSXu3v1nUAvM;_v~UG&m+dm?7S7?8c%3X
z^zwQkdfi|1*wUnnTjrbz+fi=*-pXrM<t^7cryUEYz7RO&f7;<$<q@%)bGr|{ePhjW
zxM`E9bObx+dOxdE{;da2&+lk`bKCpQ;<tz29(Z`(Cvn1|%SG&Gq|yYqqf@>+PRU8X
z?{h)Z(_-CZt2uYpI-gE>e0TY~KUagx-|e#&dw0v1^RnI<^S~dq_3b4L4#o8qwybXQ
zmw2DwEC}vw)!nq4=fdiUOM=sRE4NyQ#qi&J@=i%6?T&i?!|jXqCB-M0&#pF7ON}=$
zd4GR-z50T*VAqvLCQS1(%(-9}6{$7-fOg^5FTT2RTI@4kU)(OAJj?9=6GLhFbMLB^
z6cV%E@iJDKTNcI4uzs;>b@`_CLR?e!^WNGnr}0YetAO6r-cMYIr6u0JY(L*4%o)75
zVh302p<^1BobG4)WjK-;WH0A9t+buGXoi*2?LQ`k2O_^;dAHE1LsTQCdv8_gZr@o|
ztYr;?KN`g{cPVwPjD36fqh;Q~7n^SPdpafV-k8&s^eQ6fvfY>8_x7f17O&m4Tqfb3
z!)+x-bxTd_O9pAbSBGllRQNfC23EwEUfz4_+1EU$9V?RyBY&&ytNifb=(D@Q90o=_
zdQ)RlF7NxQKgHkWj_|=Nih*x$l~sIh`gU>itl+(>A&Q^M-F`o46TM#`zP<NKi#w;9
z^7YJ$=U-D!$EEzJ+UCx3{CelrYsHQW1E$FxRobvPV?uWC!|J5Zo_-6Zp2kdVT45LC
z=Js~6bj<NJzuT&pCaI`hxK&@gw$^^e-RE7WeYdIq*vKay9{Fc0f7Nq7=1W!5X^kOF
z4(k(I-0xSu`S|>u-QN$AGMB&P`RQc8f5zu`{?Ypxhpl6+FDTg6I0(gESzM5<KGo*w
zm!C)D`+K@q*G9y8y;i-j^>w|}=}Ep!YtO1AIc?nFS|+`nb4!^*`8Ufpzo}gt1<RQp
zeGa=ZVXFR=M=iyBias1a@yMu8+FokgKaO3uYVN*?Uh7*LyfHZ|qO8K{vTV}2-1C*9
z-y*b*x!uv9>MZ8{TI=^CW~PNN^?Y|OYh-=IXIa0~>PgHL`yWl34~qLwM6^#klfQTF
zE%pbcH;v4UBI`Y0YxVH2tXORCSMvSt$K4xDex{bEC#);qs_}i&zny;q@2XX)|L#fn
zbi24-Dn>?nH*2<`-;NLAv+|n1H1mA)-8OF}N0~%Sey`*26;(R_)Za>`DCg!?O>aN*
zjCU5(jVt+mr+B-!xFxw4d{`!N<lM`U@>|<qRwX9Bx_g;_{?A_hf6o@%OUhqAWv6Ut
z@cSBLow?)5%)<{N^Gwvf&AywEdm~0my6}Bj?c)CP+jqXtj+}0P)%x7~4ZM4WlmA|p
z?UDbqtM|bYjr`cVxegP<l0_x#`~R?J#(QX)o%v8+G@bXOT=?$;?@m<w*7{p<-h0+8
zw&|5?W0Pmbn=Zb7b@xe!b^rI2ynm!L+0J8iVW-U}@mKsTXH}AV3fJt{3hM8@c}F<B
z{NM4bTe26GuUHo$H0gN#F}66Jwb46P>^~+X`9weDw}elS;U<B*&rY12`hEA+?teQh
zPWj8#o^gL4bLTt%J3rUA3|*P`)q+mPw^Uj@_SA9{OS*YyFXs)Pw4l2Qi^S*sve5g`
zJ#pXWs(7tWe)0C(r5;TR`KOd2|JX;%P4AHWCS~c+9|5c8{aSf1GqL+kpUb5Xl|9ji
zo|f&pttLA0+_S=W`;D$FNvcq8{5Lo8c>1{+uYzuNTfhIEn9HxUGH=G6+K1tFqTW$4
zhl=~}`^vVjbdJq8n)OZd!oCjy^M&1iFM5*Lo-t*y$7QiYpFhaD{|;EPHKAZHkJ-IF
z%^!CDJ#SpfYyO){{rPNxh0T|4*=mZYMeR`M?MT}(>v?bM)rZX&9PJ98cF)`MvfTR3
zBkoI$J06|z-#go7mUZdTZCjS9xXNjLXlY~V+9JhyM(*qmPv%98|1SMpIEQ~-@D<)K
zwYR2Ud2?a+VmsEJ*F|6XZf8ua-Tw2GVDR-NY4UXz`*cg<ZMN{9-6z5s-6^U4u>8I>
z+v$y!T}DTk7uzJ6_&8j@W4Bn#`clK{8Lwq^zidA(Y*i-2^f&C0e)`;ocMCm^o^W;f
z*}bw>j91&hRrsaHqQLY^>1P;Ij~hj=?_Owg(fZw|?GZ7_zmgg2MFOAbf08=5tWG;a
zDtVHSdF)Dspw6!6cTHl>O<xy&TwLB_!FGL{uZ2_g*MBi&`*_o0UdH_XPtVe~|8br9
z>ATO4Kd#sIX;j_O^1T0G)`?H+<27$dPoLMmL&<cy$13Tnj!&)eKSRGCea-eU<X-Yk
zt@;g%<Nm+P_cUNQq?vM0HuAT`qaediMGuzzzI&6IJ^X#d4W^C7@jKVm2E^5-ZoI`_
zQ5qEKu>Q(byJ~T7h278ZDs1}3INxH$ltbYfSEN=xNnMl?aeh~oy8f<XwW=<`QRf>E
ztIgGMPtkmH@hAU!(U@5iN~`{U)0>u1b~?W1viyw3PKkXsdVeHVww}Hp#I~&Y)v@mq
z$yvwr7stJK7S+DFb`J0FlM@yw+1+!$@h{r@n9%Ph`X@I`wr8Ha=umsmKi*k9+VQVs
z_nc|pyl!{xBuSxw(>Zy<=}-Mz`InwKZkoHn`QN0B`!^L<Oy8AvLB+_9ulvTKiO;Lp
z6O{S{p59j1{LGV6G$~pw`l<faw{4zzA!l{pR<CdR(3|?F^Il^0%MI_A2N<t;T+kJm
zyI<~q_Qu0AQxwv6Ot87fH9<{TQuy)u$zH!FsGJa6d4+$nua@bC>Zh;Qm+Kk$`Mted
z?D%iVN)@xz1%l#k>qEjkm)0`ae(;o5W}SUZZl6Tz<a@pnQ(wIL?rD@U|6ZeRS!eFS
zdWCrh=Lh^YTN)qx<m3m3YnS`)IWD}naM!0tmoBK5o!l;d{cXNV>qFhCtU_7xH}-zg
z5?(UroW&veA8{|ApRd)vIafjE@5}b{8xF4sy8G&?^>nRca`V3!Uvm7t-lZbyZT6dE
z?4NoMwF?<Nc6b&ipQiJ2%lnD*Z9jds|I0e(@k;S)_i}PnlqUW;xY>%wdval4=}+(M
z-7fp=CrBUV;<kQnP`*#(>stN|mS_L1JYV;#vwvRAv*YtynA*+<_13!hGnO;BY1aR%
zw($Nmz2;8D#k*1m6Rf9|JKc}{Sa)T6EvT^I_W$s5{eS7x6PP>q{d(Bbf7Isn;Yd-h
zb+u<aS4v!eu}S>U_D@IWXb0R)h`zTcc<<!9;Rc3hSa&xv?%c&QWyX$A?Hz${rT2xu
zyF71^1D8+CgvWJ^mxHv9iH4iMKCV=1zanqL^3~;=@<ode@;#87I^)A^Ho>R-vduD!
zy&JpkNDGTUxnQ?!bx2R|fvSQVe0yhKxMBR=X2mzh>?N6!Jt^z?4r`x|zni6e;o*)?
z)17}eRMrX$?>$_$<7)wnjF(oMd{ugG>~FbwzYV8tj!=^6I~A|?cJq<l9KJ0=f$!BK
z9=$z~9=ozUKQb&Y)y1c!@agYkS0`@|e>?5InMVE0E&LIW&dz)xyK1FxiuQdGpDp=+
z#l07um|v}bDcv^D=ftYoz?eAeknLxxo+rh5uq=zeqLi~HTmHcwXRYeMx6TvQlDQ+-
z9t)Z7Wgc*MMY&GS!#JJ?Gv{CX`m*&(&R?@@1wV`5yQc9iyp?E|c6Fb|;aJgtyCH8h
z%-22YG0$F?Y+nE1)~W3*OqUxMFIzcJeb%I1_fFYH>)F2+@cET^(zkKxv8#u~ZrU~<
zYJXI`Kkf3IM@ny&hx9y7nBZ~L<A9B7s{1ojeU188%P(&XoO*A^0xtvA-qQzLj+MUM
z-BhiVIg9b+<@<m7wCg8Z81x;I5tO|lth6|C=afl1xAM<*$X^nqGULlimAP{#UYwE@
zDHZ-L*U?^QtI6&o^IrG$sQ%KwJH?*;Jxj5R#pE?D-(t_4x^s)YtlL#?fs1)n@!mJC
z?RO`t+*W;Y*;ypVJ6lCUJIJu_u*^p3S$?ONt+8?Ved_y{9Vh;L`tYN;{O8v4f6AUE
z_X@V~yGA|UXd2VwGG)HVQ-<h^F+M(FsrSYBF4zU+oLU(E?$0}cy~PhVi3iPj(Y~*s
zbcfGM3FDv}F%RGNUDp1T=D;G&wY}G}Csg-gXJyYf(WymQmz}=o8BZ%JR`8O@sW|-b
zk@VE>j3+Pu++#9RKh38|_-e<_%ARkGah)NX7Ms=ndT1PR<Ji{BQkmD?OgqJvZgkmy
z*2`e>_2M1;yM6x6=;=5qQuVxO#<!23mQ0c})yVy&9slF1d;O;yHlKc}Y}P;Ze0FF4
zW+s=p^AbKiZSbjBS<<{r-J6YDW?8MmSJ6igikm<6<UN^NtL&YBqvUYw_Q<U&yIz~u
z6n@;CAs)>9-{Kzgy?=av79B8EdR4G-<?@Pj%b?!{b9W@HbZL5aIC1M7(-o_0H7?yU
z-!e7iSKF=W?*uQqN*oTdY?t0!TH7xASuni($J?*Xm+idv`K~#c9A~3*{LII;vdi)H
zZC6}B?o9NT_F7uaH_>K#X*th(%lUSz5+5EqeX+>U*0^B9x3_Uw2g|lBTV1~Ce1BCq
z*F1;!Kb8m`{oM99uUtYiqR?HGd%EYOO<KRX9#pJ8sJE$<Q-W`yz@qZl#;>y`%kDE@
zduEmEMwR*t`wCBfS}L@EFW1MzUvz9d`>*dSeVs6Ub@`2LXTGo`ZFl}Hu_Nf_p&eV?
zoazkz)y*)GJ@v5rT7=HY_&|dk6aPS6d;k9H`zkjrJo-hCYu&fM>F>Y4c;{_)&))T9
z!S7Bh?WwmD&fkymub4g2epP2k7h`PFr?4gEdaidg7aVxF{?<l^z0&HY;qSFHQsN#T
z)?R)&I^17t`zi+KNUgdZ_v@8?IWP1(>uA0y6+iZ=Zq{~H`9pmDDol41R&Bbnv|P_U
zYrfRSe}A9L+f)c%O?u1m@xqi-2J0<lcDZTQU2rit_hD|!H_3bZD)(vnZohckTIbR&
zmPRLIzJ}_2zDIlJ%nh+RYVCdP!Ge<syLSriJUe|V=ccG&uUWIwHhpq^^rHFk(&fi?
z2cMQN7qF_{RqJ1|s$r+HXnuk!?_FPSv1iMcWi@(lbeOb!V^jdB8)#b78`8zX9mgi1
zr0G2AIIC<LU(PGbxkul+eAfK(`jy+Eih|6j)ID9{*Vi$zA6Zy%VDY_abEe2<GDWYv
zosf|k+qV3Ik^j{+k43c`uHR`A?~T~8P|$gH%VL>3FYcFcmMCoxKC|3lVo#mVg?UeQ
z`aF9qUbwekY3=sJszcXxbu;yae1EGwyPfFxZ+A#n<0SJB;l}&IU(dBGnYZx0@u%Gx
z%MSARu^s)Hw)~`_;`&X8BT`rYx%fMo;r>4kVPn73%W`rX6y7f0bueq)y_5T5MP4w(
zzS`uGoy+t8v(>Nr_t)sZ61l~2yy3&qS<#luzW)8t$!K;`{&;@g;i*5|&qjuLpWcy^
z<M*udt%>2H2Iq$jL7L4cCpjjsuqyi=Ggrv_eN0`!-YLtLc)ea2p!wzXl<uSUUq2XG
zO|<O(^Yzd1Z67b$MVz|2d&#!LnklO#Ze7?X@Ssp+rOQ*VbS|Tn)@P?LYl@t1|7xz-
z<=vd!eCJk{>%F{`WBxcu@afu*ACu<aVz=^?`w_l%eNFsfW&gb&K7O3|?W^z~&s&Rb
zHDCW$=>0oE?S?n+bl>-CQ_Q};4tpOXAsv({#U+2`$(IdZQuU|)n*aB({qg&tB4J}@
zv~0OrRr{-lZOP_Kl0=*vgFlHl1gw&HJ7eemkN5KJK3<%xF~R<3;*Y}R0(*-W1}{yT
z(!%R~{7^`%c*(L)8_n(6uKxZx|KFkgKjQxf#ijfRd=Zgo8K&lAvr^*aLzO9M*B>ow
zI~Qa<bE^B2fVZ#Bj+;#BK3b&1+|l^(>_<+vXC)f*>=$RPyXms?JBQliXp7eDuHUi&
zt>vb>vU!{un=9wn{pevkysX0D`j6ms-wZjH2pzC!iK|swTj1+>zwF2_#Un+%jv4;C
zBKo{+Qy$Kiw)?oq-Qb$$ubTlP`mYW#E-moASjTr?_wVJ{ZF{&_8hM$O4o$xoZ&>qN
zEl=?9rB{r7&CFg$BbH^n?S6FhVX1oCw)$D7>dV9Z0-hgYjp{TqDrIH$`^tA~dy+#7
z<CFY&8yC+x&orZcJ5)3&mgH?&-@HENT$}0)b(1O64pe+QqV`N&Gxql)m5Ar^?%wUH
zH-tK(+uk+GOB%di6TIsiqf38|<kN|{O2MpGtaY;_dv+gwZ9ae3*|wASxkNMKx&GfY
zF%Uabwz7m%r{PD7;Iw5G9VUBUPqKd%!)X?yb-_-c@YQnrq6!ZMGtc(P++1^B$?Da|
z#+y88<LBG)IOkLOG^;K8i$34kF0lOH(%6jbSHU7q>Nj2YUVc=6vSzX9KfisZcG6{!
zGyG(49iK7TOX3}q%EjdP7qZE=cQw6~7d3k^Pd~OgI_gqY(Ho`3iR^Ee@x5i{v0mBY
z=-K3?%5~hV?oqO~?%Ep7f>q^$$?qL1TswXyhwhMBb<(HGPb>AYpKjnU&aJmhn+%sN
zW!xJq&|;oFvH9BFrGb~%ELl_#^3d6G@13K%_5l}vELm{=P1%D<+Y0X7zBBhu`%Vwv
zTj7CObK@)%OWqa~2A)1OedCg)o_mXDu5p#Cf4A<<iy5chxqTH_wl#Q7{{`(AM!T+m
z6UpZkwL9}$r{5v<7JK`_+#pRho>e+Q?`JQnacK<R+x#u{+|Qy#kG_0b+g_~(T3w@Y
zDxE`ZZ)?u2<udy|Exng{Qr;jrp=SAu0}DErTvGj-8J}sFT(el_)3m>rB#QsN{n)(v
zrzrdK<eVuRmRwyS!TdPem4z+Fxa#@g+26x2$J}{0;nx;^g&nD@8A|T8EBWqix)Ky@
z^Y6~xj>=Z$`F7=2e}B$Yf41&k;HQ-13wH!IDy=>Ka2H$c<ZF8N{VPIdu5-1_`6F_C
zwyoVI+ta>HwUr%Dmpzoep6|2UFY47?uQ<i3=SG$F)tnDEUYWmWlcxGsztFB(za&q6
z_*;0;dXILqqe$YTIZr3fw{7~g@_gN{7S*?|H_~S?Nw2#gbK=8VY0G&fEB$}24*h*f
z=Iv_b(zHYFAEtzq9aOdf<>mcfkKQ+1{+_K*Zr{!w4lfNBW?kL)VacmGhQga{7Tz;l
z-cbBe|HFE}k9BV+@7Md?lk!EaeruNei-ILx9AEM>Sw&>!{U5SwtSY}?SDaV3YuD6}
zjo%DImt10e?DO{OjQiE=KJUA%ooQdV=aJ^SOG#DRS@za1Sbl49(p%==n^+S~+%82w
zz8>Kjd~?BeD|ctfeIn2QCjAl97g@RdNbJu;sb@Aa&yVV1{E$|p+1c6`q;Y8q&n`DD
z-{9@v-hR0JGI45r#zVJy*Slpq%il+eypmP*FH1T8H%K^BOS=5SX@jtx%%O*`tgTJR
z7TcLPMSaqufCs;i);xI7!gO-+x08L&Cv{XG?vS<ndtIjZs@#+HRc~(_e!Xnqw9?hZ
z<d@+~={WtWd+hxeG(W56T1qZG){?logYn*i30`8ertg2XmEYjtl1Gf!`+v-~pXa1u
z<Gr#xYMRZatC5`x4BPd+RXkP~&UTtJwL@%6f26u7zt*MQhZ>(6nl^m=J3lI?G)$>&
z`|3UI6Xv%)UC;WK`GoDwR}3nz8vR#*GSh{9Yj*}7O5!pzdHZ?cgpFFPy&3m|tQ42^
zhj#7QVZTPtcV_}$#?4jb!iV|=`l5u6PTQ-!MXSCyLw<(O-#d+aXPzk2*ZLZgDq}1+
zPvZMO?<jvS5B0rot@nt%efwx_(4i1ptG5~VYqS;`H7fZ|o$UDAz<rs<2Ai*kjwipo
z+ah%7q{{jE-=3_OeLLG<^^Q!Q+A074swX#RM)5y=*?xY-#h}}{Mlla#3hlRCS2T#V
zdTpv!|29K@#uK6Y{5CbKXMHb7W!tvs$xiPmiBnhiJ-p4CFaF`pjTv*U%-Jd$;p6^m
z$+g)_BCeV&t)1nq*pv8W>$K%^TP97b)Y$zwRV34wdAZPrZPji(;hT0>9Lvyr5WPEg
z`qF=QXKXeMR`$)5=P2x%-N>Pqnagy8MTq(F51XwQTGQuENvkj7$`i?RJ^gk4f0?6C
zl>0Bu>M?t=-t=v=_XCNQImgdBWUdke6^~oipQ%Vyzx&2_*M+_gx6==mpQhaKv&~>l
zi&WgQtd=3}=G-TTujd;XoL{4E)#I(3`syyri%-G&H8P*Vr=Ja7&wt&n!S2bQo;2o9
z*B5+itzcake7(JfQ*UOt?BCvsn=4$G#R{ljZS``gSRbY(dTGJ8Mk(P;_AA!9q47rR
zUA5d)Lv-tNv*HhTE~yHCFOuJR>$za5VD_=7_1AA*v17=bu=dx&1Ewp>g)2&f422j@
zO7F9}x2&h4e^bzU)77=SK1wUfqpAd0<2Hr#uzYyP<9%fIRMTVWn{Tmq&HeRJ?&r-D
z&J2#51U=9Cf1H+)a6wDb=X=O+rMmrrz0F~#Z-qaIVA*^5#AWj%K@URSPx!g_<=qx0
z*>FMc!&-&PAHMvYasTZxiD_QETh`R3S~;`d>#zNu{9>Ni>9VD}bhKD_*G{djys+=#
z*O2#%*PJfY&6e+2t(kl$ruJU;kB8@eA9-=+_`V+-)$OW2&6KYfst@eFv3J^rsqgtT
zYIH75ncF3EeaAOfnT|H|yu2wny}D)1PlM<G{i6TxqrR$CMYPhp9aov(^-qwINZ5KJ
z{_!pLq@@B)p3JA!w-p4rFr2&hHn`g%LGOmIRvSCd#fPhp*PCqM`k5X7TWQ&Z)wREt
z9BO4+Ud8^se090U{ty1_VH2H>MOxhRUg~k{x}Csj-aXT8_SpZeQ-3vgTHaT`i-Jkp
zzde-S*mSt<=H@uA@3G>y+;b;+sTBD5cosxNUpn`(^1%+4kn>Z|iR`nU7I>}R;#T_i
z0|DHvzt?fUWuBtG@(swg>xU<m#n&Zm_5OHkVeJDqtM&Vub}XIx-sR@ft+8Iy_Q!3}
zKf?YeUia*4S&8Rr@v`^NHj7MMru*Q&v(RjL3s=cHg-bUl-K@-fd{y+r+ImTivKOyh
ze>13MZ+gmT)H~_=^GV-sygV6W^^$vK2%o#ipR@Tl7Hb6mv$|v_&u(yhOUcr5;gH|w
z>@J?`um5*u>1LlB{!^VYb4BXEr!H20%RJ+V;w?4#hiwNAY6n<VXFY7nd2(lojO<Pe
zsk#5YJZrzYbY()@^`)z~mRL-<q$VtzdH=&b-xaq1?!@kJ{K|JLy(-+UWM;@Y#+hN_
z)0J;}@7TL`(cy<8s`a*+_xs!2>%N^h|No1)Kzjea&k>o6Cp<iSbm?R-&m;O7UhUt+
zQh(%$_uHA>E%W#KeT%*E@uYA3|DN#A|M9|8L_;BeeZrEb<-#APx{0pgk6IpnjDPYK
zqjsr(?_Q<FZ_*FboX|b_d(M`XwHx$(-{@ru#&sBT+|S?hefA8I7rly8o+<N-SNyun
z^~}+3%4C~kc70zJ&i7rK^6h2l#syl|>lPj>6i=&JRU5jd|660F!1|3#U%ov$b$y`4
zPumw=%-aH2UAK#4TX+1wrf&TC%mo?uwFS5Ev&$?GH{=r){BETAH`gKF`{;@ZHlMaD
z@omkL*Y`Yq&E&!U1TB|?lddt`5#3@k)p7N$;|vqJ0@YtW>3_IzlKR^1D?NV~@NSq=
z?dcs}Dmcqc%TOaSX~Uv?&#zN#gxQrfwQp@<e)e_O6V0XB@_GmM${nfF@jhz0Yjy4N
z{~L;Lb~p2^KW*K$^kjtUozBH)fB#5v-N<4k_`iFR(8Kx_PFwrM7popI@phSS%Cnv|
zbDG!l8SVACl`mKyyJ+n$kgxQdJaKxh-;sL7dS{hI3iXS>Z*lrD>6-8yk8NBB_9kak
zzVLq_@yzeW?3sCwonGw{Q`;93_E0<W!FPd93yb3#1v_|N$$FhQnxkrv`>1HwzjM2f
zeKKHfOk~dH&);4!pK-dupWdDYf3Cgmitu+^)#BwMGS$NE_Z{trM^E(a*&rQcDaEqR
z<!ygk*nB^gMH=>U9c=>LTdp0B`S;?c3-`eqwxsKqV^7-M5MC+M`|@tywRGOO1{e29
z9qz1~!_oSt+qdZL<J1gI_Y98R>QiqStS#vjjot9-!>z0O7vw)4ZMCqrFW7m0=eyX)
zPWvh@3jgRk`Qwte{{7wGbJ!MoEUJBBenfhD;1!Yl&IrrN!n}o(?OFX=w3lw09(`-#
z-&p+*%jVV2Pd~2w=keT)G8g~L2FN_H5KBv%H>GD;Z58hoYrmM(_?sJU2d!i|JK^E&
zsdq2=afSN?-E93mO?=83=kC?DyQg~hH%!|3|DVCjEoZhe87W1d<hZ)8`+5ND)vtHv
z&hwaD=(<2V_N(K`^|G&S-o0hM$CT&2$gdl>rgG=3ujpDo#Y^g23ZHfFywHtHzA82^
zeB5+G&Td10{T#(RQ?+boFhARFaPG#u=<g?8U#<Ca)$Ut_e#3Qz-?J9%)xPB@-6_7~
zQ*KZ#-@(wH+LNMn!pW`Nw~pV-&Ww<)SQ_+_XUVU#L917_H+wJXxO&k`{?^^Arwyh$
zshn4x`)BS&yOQ!tzdvxVXcFNJW_@?}@ZIe*m4xg*Coy=dN|d<06~3`CY@yeVMT*u*
z6FmOqZRwA_F0}o7=!Co$%{j^Pd0H0w_ir7`^LQQis4BSExaR({I`b7zmWuU?u<vjF
zaiFkz_9I<J>l0!AJ3dQIS-eI6m-;N_s?X2nIq>Gs^6p(-eueku#7QsIrM9jw-do&h
z9l3%d&GgALjfc#_oN{s8p_0p1gdDQCX4Lw?OKzL-Yd4qtNf)NNCePWb|G4f)fy~d_
z6(RvTR(qv<Ws}>E>P+q0$gSqe>3w+f%bn7f_i294k=(aw+5|J%h(sCVdy;Fn=c)GT
z-FPtf_`|<5j4#-|Pi`@uXp?C>t3%ruq<SN(=Zag)Gkf-1d3H`++WYWU?nxKP9EtKx
z7i?0!=6UP<G=94~amwcK<N6;eemyi6UZ2gEJ#E){x64m;J*qx9xOLZVFk2fetgD-#
zzfXbd=(0k^0~Sxc=Xs0#G=3|5r@g2D-}~bNjGG>FrKoWk#Y~ow{#EtFURv4cl-I}4
zr=+=c?y$-3vx{T$RrlTgkUL^YCfh&pdlOH^<vg`^SM6U~bF!H8{f5l>53(e?`cpq{
z3KYIv^Xl?j|E|aGj#nk6FKrQwxpgYvW^UX>#?0>@Mb&nO{5p2kdcKAJv;*g6f4h6Y
zB)Rg>&fOc<yopfQs*;(0$k<*`B%?%sqGm<Sv=6}{bDuxlF{%BnnUCP3;LH1@+xAPh
zt-rVA<HMCqz6;l=1c~_<e0ykp_`_7@FXGGlR@5#yJXK%SKmW;A#Y(RAep=FoZ=+R?
ztU1f@ap@Ns)9*HaUC+$VeRX{Ko=Z{lVp}%cUcRh0`v&i)7sl&%Ebxx54qYbpKx@$*
zi+ApyV!qjaGkqJad}{HRRgPw__UPLfD;F6n-u?HKX=B@#zzuQIe(PCmo9*`2d}eE|
zot&K!Gk?<aP0FFZzx5J=_b*cM2ah@DuMi2k*?qfFKzL`qh^ymijg|N1q<=Q4hJ1?n
zHN|H7+E3}X${D*?88terh<h_(Ucq*@GKa!`<7unsM<iQTM})uEu~5%3>d3s$Dv=eG
zDXVh(!`V&Owt4r&@>X-m*)3k~v`{)?yVqsC5-!U<<~!bRl)twxl4<v(_P599@7A{N
zx&7nx{LK5Qf7V9o2MGA?)Y_sy=R+W`mFUs1$&XhkFX();<lc$qCyBj2Yh~_PJv&+b
z@W<|}TizQz^bBInJLMVtIv`+45YO`c79ZDs{hTiTPM}q3?Xg@N;cI7}yUz3!nm&7K
z_}N?Rr8mAj*g7XYlEXmlZOo^bkRJh7GZ(%;;Qr6&_nr@isc#h~t~$5$a{RqJnv>P|
z`M&E|9kAPw5M8EYQ1dvg!{}}F!$-;Sm+j(f9$m5!;AqUcuNG)=WV3~`(dGD0B7A|%
zs_fRBo}W2izr*jyiV&gZ6LR}<%Qu-XzE%D!|F+zowCJBkT@e$e{WRTf9`@w?mVD;f
z$DXfsc<(pg`lIh!9kXrutdq8%&sfQB7XE2N?xg9Hmu@kAd)r|VkEH7PpA#CUUCB?9
zNS}UxXVrEWbN;gMh*J{;Bn*DNQTp|f*Z-W=^)30*nqux36v97!nftd<USw~F_Kr(e
z%s0-lo@kS4+Se>M@sz39m)jBhtGT|d-5Jt+>{I=*tMB$b&N+1T4$pG!`I{vlasIom
zvOeY6In%ed&)mGpxW##SpmmAMe{t!XDIK?t8>d-kniaS%Kc7F(B7dsxR2#9$dnV2F
ziShYuR%~|UZvNvN3zb9W|6!W)zelpbUTF7YrrNN5>+a2b6566&zpQq4;vMg&Qcq?)
zlTHh|lqGXeH(uvY!yT?y_jl&)n$-UG<K?aQrR`(2clSyK{4{=ho7p*DE8Nqlrt*Pt
z*PQOKWX_7lTiYL33f}qt;&%T>jw_~K^X{Ek{Q9ei#<P#R7RdYl{&pbcz_FM1R`)Hw
zFiZdUZoJ>K$$wJC??)5o+d6I6v)z5*;7=xz%llq6`1}4YJ5*C3%;5U%D#Ox)X)B92
zOsajfSbhG_kLn-GU9ZPnpZ_oRR=KjIror3Woqm5!7z4B}3BEO+URtSf&F+Jm?5RjO
z_1X(|Icscm=GDBP7bw20_V>dp{&_rm<8QK@+8e9ttJzpsact3=C6kUf<!<9&-|KIn
zkX!#jz5ayQVq2fz-wtn?=#}fxtWjh2-r3tK@zKsZmzSnJjf&Y@teWo^B(83{qfqej
zK80(>%Tr7~e)#?@`@&>S;r{bVz9%Ktzqs>s$E5aL|Km#w3fY>a#SPzbH@#GuYE^iD
zYVV{BwWh;;EC1Erw`NwnJL82;tx0A3DYcq=Z})J%m8;H>X_{#_<wfU1CQb)OqxOu0
zRu-FPcfIs`(j1rX;a}m}|L4s_P&We9a6GJ@chTJ<d~UyK#rYZES|8PUsp*|boF+Tp
z|AYH^qj@iOgwCkmtMS`~(dsK`dT^$E{ip5we%#*w?PUD)YYB%~r#x8H#-Cr;QS_s0
z@9`G~KEIVF<h@$%G$CYCn?7&(zxNvJ+n+Ctd%w)PO{*|#8F%zeL4LV-t=$%TAMN4&
z$2)n?W5c)I4vT7-cUc^A>&mhGyL>_aU-$Hix7W_PXU00H_Nz|ho^pWG?#%1@OgFYO
z?1CKgMRXcl5+_#W+-dPC7pvc5uWhUx{@%!Ap7)8DF~N(cB)mOm__o{mnMzMbTJo#)
zo!^eQf7(!c?beU`OJ*Ii^GLOxb5woSA?aw4qJ%IR4wdy!&Zk}6Abx-0q=&M_BG*d#
zxAmNv@y)gQq^78HPv;ZQ*G3|CVwqjXKWv@7d)<mzi*Fy;qA%qWzEa|LBja|jc}<ct
zv*N#4uF+m&vBPo~ug~wKNAov&EPQy@aPcDbES*iIKC1nxlb>k5(Cy)z=yfso`(k~Y
zeQRr^4{Xs_n`g|VrsbV^zoKj3OB455ml&cQ?U+>c`O{msey{^Yd3TS$*N$7|fk}62
zPB+}%F0%aDhXYJ+SBKkGC<Ym79oeF9G*8oTXRFFuzKko^pG>h2|9ycmllRzEn;dqp
zdl_?>>{^qw@2@g^+ueWO{f^&!>$U0YwficTZb@TYF6YftxbR7AO?#L9_9d3<BhMXr
zJ*g{DbXo1kP9s@|r28sAm;MwNQGBGLvFnLvw#uKglNjSxhV-m5c<bGC{!0GbXyG|e
zRgUXbo{dizVk&v_M%`fnlc%b`WL?F>GRL%>r_q|rYCSt9{W)B&zuqd8HDHOR<U8|;
z8OK9DMO^Zn*A&cOU;XE-ol)7ds}EncpHJCQpscs7)^mZ3hpMX8`{J(}f)@Mcz5e+8
z-Ku-8(`~r8^mI2Lcv$i;UFQ9bIO+M<Cdj&}&iJ-eX_wNR)~c4&1h$z6G=HR?(D48N
z)8evab>nQ26u$Kxsi_;~1?L3rx6b~t?7gJ=-z`(~OF_DBU(sjYGYzy?Q=xMIkK_Bd
ze5pOLxFg2Db;(Pa$EV|D!}giE@o%b|6R|_<S^cq-^$TaEZ!u0vyfuBot;vq6=RZ5$
zNxyu7DRb}Ho3q=5zgT!aueI21WA@YiCI9K5_0Iwpf1Li`skm@@pxv@s&Xp#T+q~v6
zaR#tT+F9sFzssH$!uHmCx6-3?da*yP|Gxb9-f+v*eAgM@mZq+*kzuvk8T~0nK_fY`
zE`H1ETJ6*Kcy?^Q(w%SmeYse_^s?H_g$q2E+Jt<H*wFh&KJNB<CcFO}C%YFJH7?*6
zv5Vc}wy>aIx+^ojXoY5wCUf}vE!FSdi#hWBIJM1F<>0nYYnd+Zd$MF6heG4dOH+Os
zt$ULA`{VO>r~0%@<c=t<z3FJ~_kV9kJRhf{yU5}QpWj6vW`41M(7nl|d*PFpy*3{A
zKFqUOFeN<3@Z!Fui<dJ0y|~#sc<Y5{L55vNw&=6J6mwh`=W``Xsq)gUU;4YWpG>=N
z#}|I@#f?+j3w(YXP0V=p+>1?qww~v_M|Ss*Y}*poxL8)hYMloE{rrb*k0){W2pPOR
z?Xt+EA;i&0uJ*TK-I5a5Pa;#j|2%H=GC%(IhRc-e3kAD&i5)8R&~i(h@hw%!RqDYE
z8=cd;p6ql`;|k#_$$YKP`uOV<Z;>4D*OmnlFJ6X)@*WS{cQonN^nTw@TbfpvZ|sZI
z3^2KB_hQzTb02CVm8`x8Zk+M$Y4a@Asc%6|y2F<_n>J<kP2<Rz`RZ0seazeF%19-q
zzj-Q$w&-h5(OvoD;F*ikmF?bg0XsX5+PSV=cxbvl|5veUQEllQrs$ty9hvcAf0i={
zpPYQHd4@)J7e|*#F8gtreQH%Ai)!cfEZ;rp1kZCTZ_YZC7@yxoo98hv^}P4tpJb&}
zT|wo{O2I#i<y21n*;w!*a-{@o!ma7EEBO{I)i@b^r*zTpiYc3(ZoU-b&fnMMyz#_7
zv5iyn1801bWnlGF?O!T$GI&Lyj^?to!|dU=e)XHj&o{4G{E;(ZX5TyE%lqyqe0hJj
z`rE-~@$RWMPp5s`D;+<zWZm*~$BDJQhc5bQ9a}i#TWXWz`l|B(|2}V8oa0wN?eXq!
zF>g;7>`LA^HD7VYx23I<%<J2`R2#bM)}Il0d3rK;`#}ZK#|l2bCmBq%$=u8P?Nr$J
zf~VS3`4TETj#_YB-j|`UpjO5IV`c9}EwhjIGMD!SgnWwl^R(x`s_0_-oDbGwm-o$8
z$TG}(Kfy-4``^5c2j55d{N8r3BDL`wtJZYa`sX)JeRuHry=Q^PS^4X2hnc;OzToF>
zSZwe%I$5dml9cE?CoQ-72nLzf%=?m{!hhaoiK9u{_ni&i3NNsmsp|i*a%oaYXK($_
zm$AP?K1K9(*>nFrmnh(M^n}y$ThCv`a_&lAEq6Fc!MHYazINpeyO>Wg8?H^$T^#Nu
z(e`^G_uIu!mR7WTx#Zk1msk;GD0F$#H(wS1DDR_>?lG9Lq%C%QyW0Cx%&ONLCNgn1
z+n6k>?U-7n>i<yH<LC=f?q-`SYiqSCb*6gF^Og=zWJ%J#&l9q;cHKQwHL*P=D<xzv
zM<j@Q_}+T%CATfQmxsHG+2GdFB$WkBZ<7T?{_#!ih`1nqBy69jX83QlN$P8BFFaJ0
zPT%O^;a+&_`sOE^CQTtdeITyjEq3<VPkarmC60vc>$C_0c~s|Wtj;6eqnngj*)!&^
zE`N4K)PQ@M?&ACzMnQ&36a9b3oIJeE^PX$Yt8@)9o{OIAYNza}ySGqCaF(Bz+joQJ
zB}puky}-5}b30SjmXw?rlawW2lRQaWoV)z+(Xf4joeMx-Q>!dAoGhg$#=r5#`q~19
zHigN1t{m84us)>c-NuTJqiJs!zl>Z^t5zx5u=4D=wj}NQ8b7i?;k+&63}>&t=-~|y
z4cNrD^hc(@53rQ!E<N1ZsVSPQyyafy+sAg*G0}WtuaB`r|IABO$~M2%ekx`D8-r5}
zbrW?D?>O}73i~Ok?(B8eD|Fr(cO5!bnapGyu62wj)NIw9Epf%iRn{xzyh``kAXvz!
z`u@?c($Cc~J<J;ePt8aUbkwNSv12oQyPC5qT&u0H)wOk%oLNms|BP>;ZO><<mAKB=
zj`zCvE`9T|+NqB9-bW4Ay-W{C;o8s=vneya_KWb-HhWv1u2oexIQ$te@B8&a@l>zu
zmR+Ax54hLg-<TOc^$0K1V#z2j9xplXu5P2ZtA*NHLwFv~GGlTM<(Jk3*>lxv(ZLHV
z=2nI8o3iIc_H9+4-&w7VN}`7gR%FMdsBC`nW?N?b(Hrh}dNyA%(p&W^QF-|*!OQ!)
zGQaMeC+K%_qvOfb+qT6X+Oj?`=T*8+;hIfnG+jQ4T;8`!Q+Ho)(SmCpPXlgDzLa!z
z%lf=io%xF$`eJ_?S)88v!q?#K>Ul=Yr!`vsJPh3NL~~i~)x!akyAtoHrB{52Y4x6$
zbn80PR+rg@94kRC`=nka?DIRS;h?(c;TaR1rfN;KIl5)NpjNNFGJm1FyWHAu6O7+x
zx9m8WyT$#-sp*Dc?_KhnGUKhc2u^gf`sV79JZbriZ(Es@L$ulqle1eseC_oF*&re@
zC-t<!xrduSEq$`p{Nn6{Th~P%elO{H78$g~PsQKxZ8q=hUy`o_9xo|kjkcNyveUGx
zJ0Y1pMn2%vFR(ANdD*sv@FcS-KUq3GZeRKPoAcT|FYja9xN^QByQ1UO<cfmmZ>61?
z@y!tt(t28zA-0)s|DBwX89&=+(VZ6pUiW^z-81j;kuB?eCB6q4Rxzzx{=K$j?Q;vm
zx7pL?wSTb-JbC-cuRM@~$SS!@yPNv>Dpz~Wf6r<9HhX4X`xm)}^p#Z)<DL~Rxx~Ay
zR`+tck9ogW+>Te8g8ZS}%W8X*<qNafyyABCCw>vrT2|Y8`DgVGDF!3=tKPPzk0X~{
zVq8}HHaU2|SKvwSwN+l*gr_!S#{Vu6y};{m(tG>1*yZylUfQz0c7}J5p%-i3qUC+E
ztABNhUEZf>VK%p?G~^RkVX*qeq+8cn|MEN&bzCm9bzAK6_NnVL<Mm67W=!Yb^P$uK
zkKUcYP3|jB2W5&}-WT^maTa&Go<rj|(bZL6CojpcUf$Q2VK?h^%cSsUx60;j3*Wb_
zR`#IEl&*;q5xf6veQTA=-jf+0e`R*NsN+e8l}Wj~{SGrG-?}cI+yCUa)9q_Jw#6>L
z3bL^L%ZG2Ra~z&!#ou0c`Bg>ct?RNLAtEa!7z0ECq#|ywyS!x0>~CK?eE&Kvc(N7b
zv%ND6-@cx>ZjzbUhKSqQw@X+22+Cx-yiYDuzi+Zr@j{dR+hUg+UNnFEddjg!7OYeD
z+`G2z^_DH4Oy9m1QQH>6!yd8h`PR2qx~;vL@%tn4{1cKEm+adXyL{#b!?&-ePdoNO
zAcH;n_OHvwPF>%!KD+8%nU`F*=RLIytCb<$neo@R2p)+Jyn488<vlwo2?L+sRm&R{
zzO_tB&%PaTWgo~AS*@m!s21@PNt47U-cmlk<$T6B<-Ao@Hw><NJ6=89nK}RBt?kkQ
zpK@|%w^y<IUA9YJ(zsGywg0G!zO>2ikX47aoR?S`r62NjL*lCG^SzpnZ#gfqu*PGl
z(2exy+tVC+U$b4db6(*JDt^=|TOF2rEEV$k&9m^&hft8C;xa?bMP`1JG@l~5Z;DOy
z?P>n8+VPj|9<#0L3F&K_n`n4)b<?hUI;pqP?<`_j2=+%@Y=}v~%x{w07rgUO)wkKY
zHh1;213zwdWzIKL-TY<76H_-`kP*pV+iom<HS@_<cTqdjx5notd}*BP`(;+U-ZZb3
zGrmctdl-H-KKZ&UXLb8s5VylR?{kJ)<=(&@$9;eId~RXaQ$4R%b@vd%1h2{&-z1;k
zl-;3L*%tKa)b%arBT`mZ1b+4T#4|nV@xd+UBU+-=rl$Tdn*BmD{bSFfJAXdu|F3`P
XU7@;&cl#>_1_lOCS3j3^P6<r_=~>6#

literal 0
HcmV?d00001

diff --git a/lst.tex b/lst.tex
index 2543430..065b005 100644
--- a/lst.tex
+++ b/lst.tex
@@ -15,10 +15,12 @@
 	backgroundcolor=\color{background},
 	autogobble=true,
   keywordstyle={\color{blue}\textbf}, % keywords are blue
-  commentstyle={\color{gray}},        % comments
-  aboveskip={0.1\baselineskip}
+  commentstyle={\color{gray}\textbf}, % comments
+  aboveskip={0.1\baselineskip},
+	stringstyle={\color{red}\textbf}
 }
 
+
 \colorlet{punct}{red!60!black}
 \definecolor{background}{HTML}{EEEEEE}
 \definecolor{delim}{RGB}{20,105,176}
@@ -39,8 +41,19 @@
 \lstdefinelanguage{AST}{
 	style=common-style,
 	morekeywords={abstract,rel},
-	otherkeywords={::=,->,<,>},
+	otherkeywords={},
 	morecomment=[l]{//}, morecomment=[s]{/*}{*/},
+	keywordstyle=\color{blue}\ttfamily,
+	commentstyle=\color{blue}\ttfamily,
+	morecomment=[l][\color{magenta}]{\#},
+		literate=
+			{Ö}{{\"O}}1
+			{Ä}{{\"A}}1
+			{Ü}{{\"U}}1
+			{ß}{{\ss}}1
+			{ü}{{\"u}}1
+			{ä}{{\"a}}1
+			{ö}{{\"o}}1,
 }
 
 \lstdefinelanguage{JSON}{
@@ -75,6 +88,7 @@
 			{ö}{{\"o}}1,
 }
 
+
 \lstdefinelanguage{JRAG}[]{java}{
 	style=common-style,
 	morekeywords={abstract,public,private,boolean,aspect,null,syn,inh,coll,eq,with,int,contributes,new,return,for,if,else,this,to,true,false},
@@ -97,17 +111,7 @@
 \lstdefinestyle{JSON} { language=JSON,style=common-style }
 
 
-\lstset{
-	language=C++,
-	breaklines=true,
-	frame=single,
-	basicstyle=\ttfamily,
-	keywordstyle=\color{blue}\ttfamily,
-	stringstyle=\color{red}\ttfamily,
-	commentstyle=\color{blue}\ttfamily,
-	morecomment=[l][\color{magenta}]{\#},
-	rulecolor=\color{black},
-}
+
 
 
 
diff --git a/sections/CRE9BCF.tmp b/sections/CRE9BCF.tmp
new file mode 100644
index 0000000..b2b6664
--- /dev/null
+++ b/sections/CRE9BCF.tmp
@@ -0,0 +1,169 @@
+\chapter{Implementierung}\label{ch:implementation}
+Die ausführliche Auseinandersetzung mit der Struktur des ROS spezifischen Arbeitsraums, dessen Pakete die Roboterbeschreibungen, Konfigurationsdateien und implementierte Algorithmen enthalten, ist Inhalt dieses Kapitels und in \autoref{fig:8} illustriert. Dabei initialisiert jede Quelldatei einen Node im ROS Kontext in der Programmiersprache C++. 
+
+\begin{figure}[h!]
+\centering
+	\begin{tikzpicture} [ >=stealth']
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (RD) {Roboterbeschreibung};
+		
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (DK) [above right = 1cm and 0.5cm of RD] {Dual Konfiguration};
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (MK) [below right = 1cm and 0.5cm of RD]{Mono Konfiguration};
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (I) [right= 5cm of RD]{Implementierung};
+		
+		\draw[-] (RD) -- (DK) -- (I);
+		\draw[-] (RD) -- (MK) -- (I);
+		
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (ee) at (RD.south east)  {URDF};
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (ew) at (DK.south east)  {SRDF}
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (we) at (MK.south east)  {SRDF};
+
+
+	\end{tikzpicture}
+	\caption{Die Struktur des ROS Arbeitsraums ist durch dessen passive Pakete und aktive Pakete, sowie deren Beziehungen, illustriert. Diese Betrachtung partitioniert das Kapitel logisch in einen organisatorischen Teil, dessen Pakete die Prämisse des exekutiven Teils sind.} \label{fig:8}
+\end{figure}
+
+\section{Robotische Systeme und deren Konfiguration}
+Die Roboterbeschreibung ist Grundlage der Generierung valider Konfigurationsdateien, welche jeweils $n \in \N_{>0}$ robotische Systeme konkretisieren und somit die Kommunikation zwischen den $n$ Robotern durch Integration der \emph{move\_group} Schnittstelle ermöglichen. Diese ist ein Klon des öffentlich zugänglichen Pakets \emph{franka\_ ros} \cite{franka_ros} der Franka Emika GmbH von August 2020, welches der Lehrstuhl für Softwaretechnologie bereitstellt. Die enthaltenen Dateien definieren einzelne Festkörpergruppen sowie deren Vereinigung zu $n$ Robotergruppen. Beispielsweise ist der Struktur aus \autoref{fig:9} zu entnehmen, dass ein Manipulator aus Hand und Arm besteht, sowie dass die Instanziierung mehrerer Manipulatoren eine zusätzliche Datei bedingt. \autoref{fig:9} rechts zeigt die Struktur einer Konfigurationsdatei, welche im \emph{config} Verzeichnis alle Festkörper der Referenzbeschreibung anhand der \emph{controller.yaml} Datei als Kontrollelemente spezifiziert und somit die Interaktion ermöglicht. Das Beispiel einer Modifizierten Roboterbeschreibung eines dualen Setup zeigt \autoref{lst:4}, aus dem das Muster zur Generierung einer $n$ Roboter Datei zu entnehmen ist, indem dessen Inhalt für alle Identitäten $n$ mal iteriert wird. Analog kann die entsprechende $n$\_ Konfigurationsdatei aus dem \emph{MSA} erzeugt werden oder mittels einer Manipulation der \emph{config} und \emph{.launch} Dateien aus \autoref{fig:9} generiert werden.
+
+\begin{figure}
+\centering
+\begin{minipage}{.45\linewidth}
+\dirtree{%
+.1 Roboterbeschreibung.
+.2 ci.
+.2 meshes.
+.2 robots.
+.3 'panda\_arm.xacro'.
+.3 'hand.xacro'.
+.3 'panda\_arm\_hand.xacro'.
+.3 'dual\_panda\_example.xacro'.
+}
+\end{minipage}\hfill
+\begin{minipage}{.55\linewidth}
+\dirtree{%
+.1 MoveIt\_Konfiguration.
+.2 config.
+.3 'panda\_controller.yaml'.
+.3 'panda\_gripper\_controller.yaml'.
+.2 launch.
+.3 'move\_group.launch'.
+.3 'demo.launch'.
+.3 'planning\_context.launch'.
+}
+\end{minipage}\hfill
+\caption{Visualisierung der Verzeichnisstruktur der Roboterbeschreibung und Konfiguration. Bezüglich der Übersichtlichkeit sind nur die Dateien gelistet, deren Modifikation hinsichtlich der Realisierung mehrerer robotischer Systeme relevant ist.}\label{fig:9}
+\end{figure}
+
+\begin{lstlisting}[language=JSON,firstnumber=1, float, caption={ Dual Setup Beispiel mit Modifikationen zur Übergabe der Roboterpositionen.}, label={lst:4}, captionpos=t]
+{<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="panda">
+<!-- Einbindung der Roboter Komponenten-->
+<xacro:include filename="panda_arm.xacro"/>
+<xacro:include filename="hand.xacro"/>
+
+<!-- Deklaration der Namensattribute zu konkretisierender Roboter -->
+<xacro:arg name="arm_id_1" default="panda_1" />
+<xacro:arg name="arm_id_2" default="panda_2" />
+
+<!-- Deklarierung des Positionsattribute, welche aus der Kalkulation, ber die Konfigurationsdatei, in die Roboterbeschreibung bergeben wird-->
+<xacro:arg name="pos_1" default="0 0 0" />
+<xacro:arg name="pos_2" default="1 1 0" />
+
+<!-- Definition des eindeutigen World-Frames, als Referenz der Roboter -->
+<link name="world"/>
+
+<!-- Initialisierung der robotischen Systeme an ihrer spezifischen Position-->
+<xacro:panda_arm arm_id="$(arg arm_id_1)" connected_to="world"  xyz="$(arg pos_1)" /> 
+<xacro:hand ns="$(arg arm_id_1)" rpy="0 0 ${-pi/4}" connected_to="$(arg arm_id_1)_link8" />
+
+<xacro:panda_arm arm_id="$(arg arm_id_2)" connected_to="world"  xyz="$(arg pos_2)" /> 
+<xacro:hand ns="$(arg arm_id_2)" rpy="0 0 ${-pi/4}" connected_to="$(arg arm_id_2)_link8"/>
+<!-- Eine n-Roboterbeschreibung erfordert Namens- und Positions- Deklarationen sowie die Initialisierung aller n Manipulatoren -->  
+</robot>}
+\end{lstlisting}
+
+
+\subsection{MoveGroup Interface mit Dual Setup}
+Eine Konfigurationsdatei konkretisiert ein robotisches System als Bewegungsgruppe \emph{Move\_Group}, deren Identität eindeutig durch ihr Namensattribut bestimmt ist. Demnach genügt dieses zur Instanziierung eines \emph{Move\_Group} Objekts, welches die Kommunikation zum gewählten Roboter initiiert. Eine duale Konfigurationsdatei ermöglicht analog das Instanziieren und Ansteuern zweier robotischer Systeme durch deren Namensattribut. Dabei ist eine Fehlfunktion dieser Instanzen während einer Operation observierbar, wobei die Planung und Exekution durch eine vermeintlich unbeabsichtigte Kollision zwischen Endeffektor und Primitiv detektiert wird, woraufhin die auszuführende Handlung negativ terminiert. Dies impliziert, dass die Funktionen der Schnittstelle hinsichtlich der Betrachtung mehrerer robotischer Systeme limitiert sind. Der \autoref{lst:5} zeigt einen Ansatz, der die Kollisionsdetektion definierter Kollisionsobjekte in der \emph{allowed kollision matrix (AKM)} deaktiviert, was beispielsweise das Greifen, Halten und Abstellen eines Primitives in einem Dualen Setup ermöglicht. 
+
+
+\begin{lstlisting}[language=JSON,firstnumber=1, caption={Des Endeffektors rechter und linker Finger kollidieren unweigerlich während der Exekution mit dem Primitiv, wodurch beispielsweise die Greifoperation fehlschlägt. Der illustrierte Quelltext behebt diesen Fehler, indem derartige Kollisionen erlaubt werden.}, label={lst:5}, float, captionpos=t]
+// Initialisierung der Szene
+planning_scene::PlanningScene ps(kinematic_model);
+
+// Generierung der Bewegungsgruppen anhand der festgelegten Namensattribute innerhalb der dualen Konfigurationsdatei
+std::vector<moveit::planning_interface::MoveGroupInterface>  robots;
+for(int i = 1; i <= 2; i++)
+	robots.push_back(std::move(moveit::planning_interface::MoveGroupInterface("panda_arm"+ std::to_string(i))))
+	
+// Modifikation der Kollisionsmatrix, welche die erlaubten Kollisionen der robotischen Systeme anhand deren Adjazenzen enthaelt 
+collision_detection::AllowedCollisionMatrix acm = ps.getAllowedCollisionMatrix();
+
+for(int i = 1; i <= 2; i++){
+	acm.setEntry("object" + std::to_string(i), "panda_" + std::to_string(i) + "_leftfinger", true);
+	acm.setEntry("object" + std::to_string(i), "panda_" + std::to_string(i) + "_rightfinger", true);
+}
+
+// Publikation der Aenderungen als Inhalt einer Planning Scene Nachricht
+moveit_msgs::PlanningScene pls;
+acm.getMessage(pls.allowed_collision_matrix);
+pls.is_diff = true;
+planning_scene_diff_publisher.publish(pls);
+\end{lstlisting}
+
+
+\section{Implementierung zur Positionsermittlung}
+Die tatsächliche Implementierung ist Inhalt des Reach Pakets, dessen Struktur die \autoref{fig:10} illustriert. An dieser ist ersichtlich, dass die Artefakte aus den kinematischen Berechnungen, beispielsweise der Arbeitsraumanalyse oder deren Inversion, in den zugehörigen Ordnern persistiert werden, während anderweitig generierte Dateien, wie der Aufgabenbeschreibung und Positionsbeschreibung, an anderer Stelle vorliegen. Das RViz Verzeichnis beinhaltet alle Konfigurationen der spezifischen Nodes im RViz Kontext, dessen Resultate anhand visueller Nachrichten publiziert werden. Dies impliziert, dass relevante Aspekte eines Nodes jederzeit durch das RViz Programm transparent observiert werden können.
+
+\begin{figure}[h!]
+\centering
+\begin{minipage}{.55\linewidth}
+\dirtree{%
+.1 Reach.
+.2 include.
+.2 launch.
+.2 maps.
+.3 inverse.
+.3 reach.
+.2 rviz.
+.2 src.
+.2 task.
+.2 position.
+}
+\end{minipage}\hfill
+\caption{Visualisierung aller Komponenten des Reach Verzeichnisses und deren Beziehung untereinander.}\label{fig:10}
+\end{figure}
+
+
+\subsection{Implementierung der Arbeitsraumanalyse}
+Der (Quelltext.6) der Header Datei beschreibt alle Funktionen, die den Algorithmus der Arbeitsraumanalyse implementieren. Dazu sind gemäß der Erörterungen im 'Konzept' Kapitel, neben der kubischen Diskretisierung zusätzliche sphärische Diskretisierungen formuliert. Die Planung des Endeffektors zu einer generierten Endeffektor Pose erfolgt über das MoveGroup Interface, angewandt auf der Konfigurationsdatei eines einzelnen robotischen Systems. Dabei ist eine Implementierung für performante Rechner enthalten, die Anhand der Aufteilung der Menge $T$ in die jeweiligen Rechenkerne alle kinematischen Berechnungen $f_{kin}$ parallel operiert.
+
+
+%\lstinputlisting[language=C++, caption ={Implementierung zur Generierung der RM}, label={lst:6}, captionpos=b ]{./images/publisher\_node.h}
+
+\subsection{Implementierung des Inversen Arbeitsraums}
+Der Algorithmus des inversen Arbeitsraums kalkuliert anhand der persistierten Informationen der Arbeitsraumanalyse die Metrik D. Die Inversion aller Transformationen anhand einer Iteration über den Arbeitsraum, erfolgt durch die in der Bibliothek \emph{tf2} implementierte Realisierung homogener Transformationen dessen Operationen $\in SE(3)$. Zusätzlich erfolgt die Portierung der Metrik und Persistenz der kalkulierten \emph{IRM}.
+
+\subsection{Der Algorithmus zur Positionsanalyse}
+Die Implementierung der Positionsanalyse erfolgt über deren Voxelisierung durch Integration der PCL Bibliothek. Diese ist in C++ vollumfänglich implementiert und ermöglicht performante Operationen auf 3 dimensionale Koordinaten. Dies differenzierte Voxelisierung generiert zunächst ein Gitter aus Vektoren $^{0}v \in \R^{3}$ ähnlich der kubischen Diskretisierung, und bildet jede Transformation $^{0}T_{Base_{TK/KG}} \in ^{0}T_{Base}$ eines Teilkettenglieds der Operationskette $KG_{i}\in TK \subset K$ anhand seiner räumlichen Position auf den Vektor $^{0}v$ ab. Die resultierende Struktur ist in \autoref{eq:30} gezeigt.
+
+\begin{equation}
+\begin{split}
+\label{eq:30}
+Task &= {(i, ^{0}T_{Base_{i}}) | g_{i} \in OK} \\
+Dictionary &= {(^{0}v, Task)}
+\end{split}
+\end{equation}
+
+Eine Teilkette $TK \subset K$ definiert nun anhand ihrer Glieder $g_{i}$ die Einträge, welche der Vektor $^{0}v$ mindestens enthalten muss, um eine potentielle Position des robotischen Systems zu sein, welche $TK$ operiert. Durch die Abbildung $D_{port}({0}T_{Base}) = D_{Reach}({0}T_{Base})$ ist analog die Struktur $Task_{Metrik}$ implementiert, welche die portierten Metriken aller Transformation $^{0}T_{Base_{i}}$ auf den Vektor $^{0}v$ abbildet.
+
+\begin{equation}
+\begin{split}
+\label{eq:31}
+Task_{Metrik} &= {(i, D_{port}(^{0}T_{Base_{i}})) | g_{i} \in K} \\
+Dictionary_{Metrik} &= {(^{0}v, Task_{Metrik})}
+\end{split}
+\end{equation}
+
+Die Ermittlung der optimalen Position $^{0}v$ für eine Teilkette $TK$ erfolgt, indem das arithmetische Mittel pro Kettenglied  $TK \in g_{i}$ kalkuliert wird und in Verhältnis zur Kardinalität $\vert TK \vert$ gesetzt wird. \par 
+Die resultierende Position pro $TK$ wird in einem eigenen Verzeichnis persistiert, um als Parameter der \emph{Pick and Place} Implementierung geladen zu werden und über jede Instanz, von der Konfigurationsdatei in die Roboterbeschreibung übergeben zu werden.  
+
diff --git a/sections/CREA219.tmp b/sections/CREA219.tmp
new file mode 100644
index 0000000..b2b6664
--- /dev/null
+++ b/sections/CREA219.tmp
@@ -0,0 +1,169 @@
+\chapter{Implementierung}\label{ch:implementation}
+Die ausführliche Auseinandersetzung mit der Struktur des ROS spezifischen Arbeitsraums, dessen Pakete die Roboterbeschreibungen, Konfigurationsdateien und implementierte Algorithmen enthalten, ist Inhalt dieses Kapitels und in \autoref{fig:8} illustriert. Dabei initialisiert jede Quelldatei einen Node im ROS Kontext in der Programmiersprache C++. 
+
+\begin{figure}[h!]
+\centering
+	\begin{tikzpicture} [ >=stealth']
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (RD) {Roboterbeschreibung};
+		
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (DK) [above right = 1cm and 0.5cm of RD] {Dual Konfiguration};
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (MK) [below right = 1cm and 0.5cm of RD]{Mono Konfiguration};
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (I) [right= 5cm of RD]{Implementierung};
+		
+		\draw[-] (RD) -- (DK) -- (I);
+		\draw[-] (RD) -- (MK) -- (I);
+		
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (ee) at (RD.south east)  {URDF};
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (ew) at (DK.south east)  {SRDF}
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (we) at (MK.south east)  {SRDF};
+
+
+	\end{tikzpicture}
+	\caption{Die Struktur des ROS Arbeitsraums ist durch dessen passive Pakete und aktive Pakete, sowie deren Beziehungen, illustriert. Diese Betrachtung partitioniert das Kapitel logisch in einen organisatorischen Teil, dessen Pakete die Prämisse des exekutiven Teils sind.} \label{fig:8}
+\end{figure}
+
+\section{Robotische Systeme und deren Konfiguration}
+Die Roboterbeschreibung ist Grundlage der Generierung valider Konfigurationsdateien, welche jeweils $n \in \N_{>0}$ robotische Systeme konkretisieren und somit die Kommunikation zwischen den $n$ Robotern durch Integration der \emph{move\_group} Schnittstelle ermöglichen. Diese ist ein Klon des öffentlich zugänglichen Pakets \emph{franka\_ ros} \cite{franka_ros} der Franka Emika GmbH von August 2020, welches der Lehrstuhl für Softwaretechnologie bereitstellt. Die enthaltenen Dateien definieren einzelne Festkörpergruppen sowie deren Vereinigung zu $n$ Robotergruppen. Beispielsweise ist der Struktur aus \autoref{fig:9} zu entnehmen, dass ein Manipulator aus Hand und Arm besteht, sowie dass die Instanziierung mehrerer Manipulatoren eine zusätzliche Datei bedingt. \autoref{fig:9} rechts zeigt die Struktur einer Konfigurationsdatei, welche im \emph{config} Verzeichnis alle Festkörper der Referenzbeschreibung anhand der \emph{controller.yaml} Datei als Kontrollelemente spezifiziert und somit die Interaktion ermöglicht. Das Beispiel einer Modifizierten Roboterbeschreibung eines dualen Setup zeigt \autoref{lst:4}, aus dem das Muster zur Generierung einer $n$ Roboter Datei zu entnehmen ist, indem dessen Inhalt für alle Identitäten $n$ mal iteriert wird. Analog kann die entsprechende $n$\_ Konfigurationsdatei aus dem \emph{MSA} erzeugt werden oder mittels einer Manipulation der \emph{config} und \emph{.launch} Dateien aus \autoref{fig:9} generiert werden.
+
+\begin{figure}
+\centering
+\begin{minipage}{.45\linewidth}
+\dirtree{%
+.1 Roboterbeschreibung.
+.2 ci.
+.2 meshes.
+.2 robots.
+.3 'panda\_arm.xacro'.
+.3 'hand.xacro'.
+.3 'panda\_arm\_hand.xacro'.
+.3 'dual\_panda\_example.xacro'.
+}
+\end{minipage}\hfill
+\begin{minipage}{.55\linewidth}
+\dirtree{%
+.1 MoveIt\_Konfiguration.
+.2 config.
+.3 'panda\_controller.yaml'.
+.3 'panda\_gripper\_controller.yaml'.
+.2 launch.
+.3 'move\_group.launch'.
+.3 'demo.launch'.
+.3 'planning\_context.launch'.
+}
+\end{minipage}\hfill
+\caption{Visualisierung der Verzeichnisstruktur der Roboterbeschreibung und Konfiguration. Bezüglich der Übersichtlichkeit sind nur die Dateien gelistet, deren Modifikation hinsichtlich der Realisierung mehrerer robotischer Systeme relevant ist.}\label{fig:9}
+\end{figure}
+
+\begin{lstlisting}[language=JSON,firstnumber=1, float, caption={ Dual Setup Beispiel mit Modifikationen zur Übergabe der Roboterpositionen.}, label={lst:4}, captionpos=t]
+{<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="panda">
+<!-- Einbindung der Roboter Komponenten-->
+<xacro:include filename="panda_arm.xacro"/>
+<xacro:include filename="hand.xacro"/>
+
+<!-- Deklaration der Namensattribute zu konkretisierender Roboter -->
+<xacro:arg name="arm_id_1" default="panda_1" />
+<xacro:arg name="arm_id_2" default="panda_2" />
+
+<!-- Deklarierung des Positionsattribute, welche aus der Kalkulation, ber die Konfigurationsdatei, in die Roboterbeschreibung bergeben wird-->
+<xacro:arg name="pos_1" default="0 0 0" />
+<xacro:arg name="pos_2" default="1 1 0" />
+
+<!-- Definition des eindeutigen World-Frames, als Referenz der Roboter -->
+<link name="world"/>
+
+<!-- Initialisierung der robotischen Systeme an ihrer spezifischen Position-->
+<xacro:panda_arm arm_id="$(arg arm_id_1)" connected_to="world"  xyz="$(arg pos_1)" /> 
+<xacro:hand ns="$(arg arm_id_1)" rpy="0 0 ${-pi/4}" connected_to="$(arg arm_id_1)_link8" />
+
+<xacro:panda_arm arm_id="$(arg arm_id_2)" connected_to="world"  xyz="$(arg pos_2)" /> 
+<xacro:hand ns="$(arg arm_id_2)" rpy="0 0 ${-pi/4}" connected_to="$(arg arm_id_2)_link8"/>
+<!-- Eine n-Roboterbeschreibung erfordert Namens- und Positions- Deklarationen sowie die Initialisierung aller n Manipulatoren -->  
+</robot>}
+\end{lstlisting}
+
+
+\subsection{MoveGroup Interface mit Dual Setup}
+Eine Konfigurationsdatei konkretisiert ein robotisches System als Bewegungsgruppe \emph{Move\_Group}, deren Identität eindeutig durch ihr Namensattribut bestimmt ist. Demnach genügt dieses zur Instanziierung eines \emph{Move\_Group} Objekts, welches die Kommunikation zum gewählten Roboter initiiert. Eine duale Konfigurationsdatei ermöglicht analog das Instanziieren und Ansteuern zweier robotischer Systeme durch deren Namensattribut. Dabei ist eine Fehlfunktion dieser Instanzen während einer Operation observierbar, wobei die Planung und Exekution durch eine vermeintlich unbeabsichtigte Kollision zwischen Endeffektor und Primitiv detektiert wird, woraufhin die auszuführende Handlung negativ terminiert. Dies impliziert, dass die Funktionen der Schnittstelle hinsichtlich der Betrachtung mehrerer robotischer Systeme limitiert sind. Der \autoref{lst:5} zeigt einen Ansatz, der die Kollisionsdetektion definierter Kollisionsobjekte in der \emph{allowed kollision matrix (AKM)} deaktiviert, was beispielsweise das Greifen, Halten und Abstellen eines Primitives in einem Dualen Setup ermöglicht. 
+
+
+\begin{lstlisting}[language=JSON,firstnumber=1, caption={Des Endeffektors rechter und linker Finger kollidieren unweigerlich während der Exekution mit dem Primitiv, wodurch beispielsweise die Greifoperation fehlschlägt. Der illustrierte Quelltext behebt diesen Fehler, indem derartige Kollisionen erlaubt werden.}, label={lst:5}, float, captionpos=t]
+// Initialisierung der Szene
+planning_scene::PlanningScene ps(kinematic_model);
+
+// Generierung der Bewegungsgruppen anhand der festgelegten Namensattribute innerhalb der dualen Konfigurationsdatei
+std::vector<moveit::planning_interface::MoveGroupInterface>  robots;
+for(int i = 1; i <= 2; i++)
+	robots.push_back(std::move(moveit::planning_interface::MoveGroupInterface("panda_arm"+ std::to_string(i))))
+	
+// Modifikation der Kollisionsmatrix, welche die erlaubten Kollisionen der robotischen Systeme anhand deren Adjazenzen enthaelt 
+collision_detection::AllowedCollisionMatrix acm = ps.getAllowedCollisionMatrix();
+
+for(int i = 1; i <= 2; i++){
+	acm.setEntry("object" + std::to_string(i), "panda_" + std::to_string(i) + "_leftfinger", true);
+	acm.setEntry("object" + std::to_string(i), "panda_" + std::to_string(i) + "_rightfinger", true);
+}
+
+// Publikation der Aenderungen als Inhalt einer Planning Scene Nachricht
+moveit_msgs::PlanningScene pls;
+acm.getMessage(pls.allowed_collision_matrix);
+pls.is_diff = true;
+planning_scene_diff_publisher.publish(pls);
+\end{lstlisting}
+
+
+\section{Implementierung zur Positionsermittlung}
+Die tatsächliche Implementierung ist Inhalt des Reach Pakets, dessen Struktur die \autoref{fig:10} illustriert. An dieser ist ersichtlich, dass die Artefakte aus den kinematischen Berechnungen, beispielsweise der Arbeitsraumanalyse oder deren Inversion, in den zugehörigen Ordnern persistiert werden, während anderweitig generierte Dateien, wie der Aufgabenbeschreibung und Positionsbeschreibung, an anderer Stelle vorliegen. Das RViz Verzeichnis beinhaltet alle Konfigurationen der spezifischen Nodes im RViz Kontext, dessen Resultate anhand visueller Nachrichten publiziert werden. Dies impliziert, dass relevante Aspekte eines Nodes jederzeit durch das RViz Programm transparent observiert werden können.
+
+\begin{figure}[h!]
+\centering
+\begin{minipage}{.55\linewidth}
+\dirtree{%
+.1 Reach.
+.2 include.
+.2 launch.
+.2 maps.
+.3 inverse.
+.3 reach.
+.2 rviz.
+.2 src.
+.2 task.
+.2 position.
+}
+\end{minipage}\hfill
+\caption{Visualisierung aller Komponenten des Reach Verzeichnisses und deren Beziehung untereinander.}\label{fig:10}
+\end{figure}
+
+
+\subsection{Implementierung der Arbeitsraumanalyse}
+Der (Quelltext.6) der Header Datei beschreibt alle Funktionen, die den Algorithmus der Arbeitsraumanalyse implementieren. Dazu sind gemäß der Erörterungen im 'Konzept' Kapitel, neben der kubischen Diskretisierung zusätzliche sphärische Diskretisierungen formuliert. Die Planung des Endeffektors zu einer generierten Endeffektor Pose erfolgt über das MoveGroup Interface, angewandt auf der Konfigurationsdatei eines einzelnen robotischen Systems. Dabei ist eine Implementierung für performante Rechner enthalten, die Anhand der Aufteilung der Menge $T$ in die jeweiligen Rechenkerne alle kinematischen Berechnungen $f_{kin}$ parallel operiert.
+
+
+%\lstinputlisting[language=C++, caption ={Implementierung zur Generierung der RM}, label={lst:6}, captionpos=b ]{./images/publisher\_node.h}
+
+\subsection{Implementierung des Inversen Arbeitsraums}
+Der Algorithmus des inversen Arbeitsraums kalkuliert anhand der persistierten Informationen der Arbeitsraumanalyse die Metrik D. Die Inversion aller Transformationen anhand einer Iteration über den Arbeitsraum, erfolgt durch die in der Bibliothek \emph{tf2} implementierte Realisierung homogener Transformationen dessen Operationen $\in SE(3)$. Zusätzlich erfolgt die Portierung der Metrik und Persistenz der kalkulierten \emph{IRM}.
+
+\subsection{Der Algorithmus zur Positionsanalyse}
+Die Implementierung der Positionsanalyse erfolgt über deren Voxelisierung durch Integration der PCL Bibliothek. Diese ist in C++ vollumfänglich implementiert und ermöglicht performante Operationen auf 3 dimensionale Koordinaten. Dies differenzierte Voxelisierung generiert zunächst ein Gitter aus Vektoren $^{0}v \in \R^{3}$ ähnlich der kubischen Diskretisierung, und bildet jede Transformation $^{0}T_{Base_{TK/KG}} \in ^{0}T_{Base}$ eines Teilkettenglieds der Operationskette $KG_{i}\in TK \subset K$ anhand seiner räumlichen Position auf den Vektor $^{0}v$ ab. Die resultierende Struktur ist in \autoref{eq:30} gezeigt.
+
+\begin{equation}
+\begin{split}
+\label{eq:30}
+Task &= {(i, ^{0}T_{Base_{i}}) | g_{i} \in OK} \\
+Dictionary &= {(^{0}v, Task)}
+\end{split}
+\end{equation}
+
+Eine Teilkette $TK \subset K$ definiert nun anhand ihrer Glieder $g_{i}$ die Einträge, welche der Vektor $^{0}v$ mindestens enthalten muss, um eine potentielle Position des robotischen Systems zu sein, welche $TK$ operiert. Durch die Abbildung $D_{port}({0}T_{Base}) = D_{Reach}({0}T_{Base})$ ist analog die Struktur $Task_{Metrik}$ implementiert, welche die portierten Metriken aller Transformation $^{0}T_{Base_{i}}$ auf den Vektor $^{0}v$ abbildet.
+
+\begin{equation}
+\begin{split}
+\label{eq:31}
+Task_{Metrik} &= {(i, D_{port}(^{0}T_{Base_{i}})) | g_{i} \in K} \\
+Dictionary_{Metrik} &= {(^{0}v, Task_{Metrik})}
+\end{split}
+\end{equation}
+
+Die Ermittlung der optimalen Position $^{0}v$ für eine Teilkette $TK$ erfolgt, indem das arithmetische Mittel pro Kettenglied  $TK \in g_{i}$ kalkuliert wird und in Verhältnis zur Kardinalität $\vert TK \vert$ gesetzt wird. \par 
+Die resultierende Position pro $TK$ wird in einem eigenen Verzeichnis persistiert, um als Parameter der \emph{Pick and Place} Implementierung geladen zu werden und über jede Instanz, von der Konfigurationsdatei in die Roboterbeschreibung übergeben zu werden.  
+
diff --git a/sections/einleitung.tex b/sections/einleitung.tex
index f2196f0..0004986 100644
--- a/sections/einleitung.tex
+++ b/sections/einleitung.tex
@@ -1,6 +1,16 @@
 \chapter{Einleitung}\label{ch:introduction}
 'Kollaborative Multi-Roboter Arbeitsräume' beschreiben ein Gebiet der Robotik, dessen Inhalt die Kooperation mehrerer robotischer Systeme hinsichtlich der Lösung einer spezifischen Aufgabe innerhalb einer räumlichen Domäne ist. Die zugrundeliegenden Algorithmen ermöglichen dabei die Bewältigung der Aufgaben ohne Kollisionen untereinander, sowie mit Hindernissen in der Umgebung. \par
-Die Planung der Abläufe ist abhängig von der Beschaffenheit des Roboters, denn die Basis eines Roboters kann beweglich oder fest sein. Beispielsweise sind Roboterarme fest auf einer Platte montiert und somit fester Bestandteil der Umgebung. Ein Wechsel ihrer Position würde bedeuten, eine andere Stelle auf der Platte für die Montage zu präparieren, den Roboterarm zu demontieren und an anderer Stelle zu platzieren, was einen enormen Aufwand darstellt und den Erfolg der Handlung nicht garantiert. Daraus ist ersichtlich, dass die Positionierung unflexibler Roboter ein Problem aufweist, dessen Lösung direkten Einfluss hinsichtlich der zeitlicher Komponente, sowie der Bewältigung der spezifischen Aufgabe hat. Die Absolvierung dieser Aufgabe wird demzufolge durch effizientere Nutzung der Arbeitsumgebung besser umgesetzt, aufwändige Montagearbeiten während der Bearbeitung werden reduziert und der dadurch erschlossene Raum sowie die resultierende Zeit kann gewinnbringender genutzt werden. Im Anbetracht der stetig wachsenden Industrie und der sich daraus ergebenden Nachfrage nach effizienten automatisierten Produktionsverfahren, die den limitierten Arbeitsraum einer Produktionsstätte optimal nutzen, ist die Platzierung der Roboter ein entscheidender erster Schritt zur Optimierung des gesamten Arbeitsprozesses. 
+Die Planung der Abläufe ist abhängig von der Beschaffenheit des Roboters, denn die Basis eines Roboters kann beweglich oder fest sein. Beispielsweise sind Roboterarme fest auf einer Platte montiert und somit fester Bestandteil der Umgebung. Ein Wechsel ihrer Position würde bedeuten, eine andere Stelle auf der Platte für die Montage zu präparieren, den Roboterarm zu demontieren und an anderer Stelle zu platzieren, was einen enormen Aufwand darstellt und den Erfolg der Handlung nicht garantiert. Daraus ist ersichtlich, dass die Positionierung unflexibler Roboter ein Problem aufweist, dessen Lösung direkten Einfluss hinsichtlich der zeitlicher Komponente, sowie der Bewältigung der spezifischen Aufgabe hat. Die Absolvierung dieser Aufgabe wird demzufolge durch effizientere Nutzung der Arbeitsumgebung besser umgesetzt, aufwändige Montagearbeiten während der Bearbeitung werden reduziert und der dadurch erschlossene Raum sowie die resultierende Zeit kann gewinnbringender genutzt werden. Ein praktisches Beispiel wird im Exzellenzcluster \emph{Center for Tactile internet with human-in-the-loop} CeTi angewandt, welches Arbeitsräume in Form von Tischen konstruiert. Diese Tische können beliebig verschoben und angepasst werden, um Multi- Roboter Arbeitsräume zu erzeugen. Dieser Tisch ist in \autoref{fig:ceti} abgebildet.
+
+\begin{figure}[h!]
+\includegraphics[width = 9cm, height = 8cm]{images/ceti.jpg}
+\caption{CeTi Tisch mit Franka Emika Panda}
+\label{fig:ceti}
+\end{figure}
+ 
+Im Anbetracht der stetig wachsenden Industrie und der sich daraus ergebenden Nachfrage nach effizienten automatisierten Produktionsverfahren, die den limitierten Arbeitsraum einer Produktionsstätte optimal nutzen, ist die Platzierung der Roboter ein entscheidender erster Schritt zur Optimierung des gesamten Arbeitsprozesses. 
+
+
 
 \section{Zielsetzung der wissenschaftlichen Arbeit}
 \label{sec:Zielsetzung}
diff --git a/sections/evaluation.tex b/sections/evaluation.tex
index 8fd7496..795efe7 100644
--- a/sections/evaluation.tex
+++ b/sections/evaluation.tex
@@ -1,5 +1,5 @@
 \chapter{Evaluierung}\label{ch:evaluateion}
-Nach der konzeptuellen Ausarbeitung und Demonstration der Implementierung des in \autoref{sec:diffVoxel} beschriebenen Algorithmus zur automatischen Konstruktion Multi-Roboter Arbeitsräume anhand eines Fallbeispiels, erfolgt in diesem Kapitel die Evaluation bezüglich der Anforderungen, welche \autoref{sec:anforderungen} zu entnommen sind.
+Nach der konzeptuellen Ausarbeitung und Demonstration der Implementierung des in \autoref{sec:diffVoxel} beschriebenen Algorithmus zur automatischen Konstruktion Multi-Roboter Arbeitsräume anhand eines Fallbeispiels, erfolgt in diesem Kapitel die Evaluation bezüglich der Anforderungen, welche \autoref{sec:anforderungen} zu entnehmen sind.
 
 \section{Quantitative Auswertung}
 Die Leistung und Effizienz von Multi-Roboter, analog zu Single-Roboter Arbeitsräumen, ist anhand spezifischer zeitlicher Kriterien bemessen. Zu diesen Kriterien gehören:
@@ -18,7 +18,7 @@ Der Hauptaspekt dieser wissenschaftlichen Arbeit ist die automatisierte Konstruk
 \end{enumerate}
 
 \subsection{Skalierbarkeit der Arbeitsräume}
-Marvel et al. \cite{Marvel2018} dokumentieren in ihrer Publikation zur Evaluierung robotischer Arbeitsräume, dass die Effizienz und Leistung eines Multi-Roboter Arbeitsraums anhand des Vergleichs mit dem eines einzelnen robotischen Systems gemessen werden kann. Dieser Vergleich erfordert eine Aufgabenbeschreibung, die für beide Arbeitsräume realisierbar ist, wodurch kooperative Aufgaben ausgeschlossen sind, da diese mehrere Roboter bedingen. \autoref{lst:eval1} visualisiert eine für diesen Vergleich angemessene Aufgabenbeschreibung \texttt{eval1}, während \autoref{fig:eval1} die Aufgabe schematisiert. Die Färbung der Pfeile ist für den Arbeitsraum mit bestehend aus einem robotischen System irrelevant.    
+Marvel et al. \cite{Marvel2018} dokumentieren in ihrer Publikation zur Evaluierung robotischer Arbeitsräume, dass die Effizienz und Leistung eines Multi-Roboter Arbeitsraums anhand des Vergleichs mit dem eines einzelnen robotischen Systems gemessen werden kann. Dieser Vergleich erfordert eine Aufgabenbeschreibung, die für beide Arbeitsräume realisierbar ist, wodurch kooperative Aufgaben ausgeschlossen sind, da diese mehrere Roboter benötigen. \autoref{lst:eval1} visualisiert eine für diesen Vergleich angemessene Aufgabenbeschreibung, während \autoref{fig:eval1} die Aufgabe schematisiert. Die Färbung der Pfeile ist für den Arbeitsraum bestehend aus einem robotischen System irrelevant, sonder bezieht sich auf den Multi-Roboter Arbeitsraum.    
 
 \begin{lstlisting}[language=JSON,firstnumber=1, float, caption={Aufgabenbeschreibung von \texttt{eval1}},captionpos=t, label={lst:eval1}]
 Name_der_Aufgabe: eval1
@@ -45,8 +45,8 @@ Aufgabenbeschreibung:
 \label{fig:eval1}
 \end{figure}
 
-Arbeitsräume können anhand der Dauer einer Exekution, der maximalen/minimalen und durchschnittlichen Ausführzeit, sowie der Standartabweichung \footnote{\url{https://mathworld.wolfram.com/StandardDeviation.html}} einer Aufgabe evaluiert werden. Um diese Daten zu erheben, erfolgen 15 Versuche anhand der Aufgabenbeschreibung von \texttt{eval1} für die betrachteten Arbeitsräume.
-Aus den Messungen in \autoref{tab:eval1solo} und \autoref{tab:eval1multi} ergeben sich in \autoref{tab:ergebnis}
+Arbeitsräume können anhand der Dauer einer Exekution, der maximalen/minimalen und durchschnittlichen Ausführzeit, sowie der Standardabweichung \footnote{\url{https://mathworld.wolfram.com/StandardDeviation.html}} einer Aufgabe evaluiert werden. Um diese Daten zu erheben, erfolgen 15 Versuche anhand der Aufgabenbeschreibung für die betrachteten Arbeitsräume.
+
 \begin{table}[h!]
 \begin{tabulary}{\textwidth}{@{}CCCCC@{}}
 \toprule
@@ -71,7 +71,7 @@ OK &
 2.0335s
 \tabularnewline\bottomrule
 \end{tabulary}
-\caption{Metriken des Arbeitsraums mit einem einzelnen robotischen System.}\label{tab:ergebnis1}
+\caption{Metriken des Arbeitsraums mit einem einzelnen robotischen System}\label{tab:ergebnis1}
 \end{table}
 
 \begin{table}[h!]
@@ -98,14 +98,39 @@ OK &
 4.0533s
 \tabularnewline\bottomrule
 \end{tabulary}
-\caption{Metriken des Multi-Roboter Arbeitsraums.}\label{tab:ergebnis2}
+\caption{Metriken des Multi-Roboter Arbeitsraums}\label{tab:ergebnis2}
+\end{table}
+
+\begin{table}[h!]
+\begin{tabulary}{\textwidth}{@{}CCCCC@{}}
+\toprule
+\textbf{Ketten} & \textbf{Minimum} & \textbf{Maximum} & \textbf{arithmetisches Mittel} & \textbf{Standardabweichung}
+\tabularnewline\midrule
+OK  &
+15.93s &
+25.00s &
+20.13s &
+3.11s 
+\tabularnewline\bottomrule
+\end{tabulary}
+\caption{Metriken des Multi-Roboter Arbeitsraums bei paralleler Exekution}\label{tab:ergebnis3}
 \end{table}
 
-\autoref{tab:eval1solo} dokumentiert die Messung der Zeit in Sekunden, welche ein einzelnes robotisches System zur Exekution der Teilketten, sowie der gesamten Operationskette von Aufgabe \texttt{eval1} beansprucht. Leere Zeilen implizieren das Versagen des robotischen Systems, indem es beispielsweise entweder keinen Pfad zum nächsten Kettenglied kalkuliert hat, oder eine Kollision mit der Szene detektiert wurde.  
+Aus den Messungen in \autoref{tab:eval1} ergeben sich \autoref{tab:ergebnis1} beziehungsweise \autoref{tab:ergebnis2}. Dabei werden alle fehlerhaften Messungen durch den jeweiligen maximalen Wert ersetzt. \emph{MoveIt!} limitiert die Planung und Exekution von Aufgaben, indem diese nur sequentiell erfolgen, obwohl Schnittaufgaben in Multi-Roboter Arbeitsräumen vollständig parallel ausgeführt werden können. Die in \autoref{tab:ergebnis3} kalkulierten Werte entstammen \autoref{tab:eval1}, indem die Zeit zur Ausführung der Operationskette dem Maximum der Teilketten 1 und 2 $max(1. TK, 2. TK)$ entspricht. Diese Werte sind nicht repräsentativ, denn es könnten beispielsweise öfter Fehler auftreten oder die Pfadberechnung würden mehr Zeit in Anspruch nehmen. 
+Aus 
+
+\autoref{tab:eval1} dokumentiert die Messung der Zeit, welche ein einzelnes robotisches System beziehungsweise zwei robotische Systeme in einem Multi-Roboter Arbeitsraum zur Exekution der Teilketten, sowie der gesamten Operationskette der Aufgabe beanspruchen. Leere Zeilen implizieren das Versagen des robotischen Systems, indem es beispielsweise entweder keinen Pfad zum nächsten Kettenglied kalkuliert hat oder eine Kollision mit der Szene detektiert wurde. 
+Aus \autoref{tab:ergebnis1} beziehungsweise \autoref{tab:ergebnis2} ist zu entnehmen, dass ein einzelnes robotisches System eine Schnittaufgabe in allen Aspekten schneller exekutiert, als ein Multi-Roboter System. Durch die Simulation einer parallelen Ausführung in \autoref{tab:ergebnis3}, führt der Multi-Roboter Arbeitsraum die Aufgabe durchschnittlich schneller aus, als ein einzelnes robotisches System.
 
-\begin{table}
+\begin{table}[h!]
+\parbox{.45\linewidth}{
+\centering
 \begin{tabulary}{\textwidth}{@{}RRR@{}}
 \toprule
+&
+Single-Roboter&
+
+\tabularnewline\midrule
 \textbf{1. TK} & \textbf{2. TK} & \textbf{OK} 
 \tabularnewline\midrule
 10.0327s&
@@ -169,14 +194,16 @@ OK &
 27.0866s
 \tabularnewline\bottomrule
 \end{tabulary}
-\caption{Dokumentation erfassten Messungen für ein einzelnes robotisches System in Sekunden}\label{tab:eval1solo}
-\end{table}
-
-\autoref{tab:eval1multi} dokumentiert analog zu \autoref{tab:eval1solo} die Messung der Zeit in Sekunden, welche ein Multi-Roboter Arbeitsraum zur Exekution der Aufgabe \texttt{eval1} in 15 Versuchen benötigt. 
-
-\begin{table}
+}
+\quad
+\parbox{.45\linewidth}{
+\centering
 \begin{tabulary}{\textwidth}{@{}RRR@{}}
 \toprule
+&
+Multi-Roboter&
+
+\tabularnewline\midrule
 \textbf{1. TK} & \textbf{2. TK} & \textbf{OK} 
 \tabularnewline\midrule
 16.2703s&
@@ -240,13 +267,28 @@ OK &
 34.5407s
 \tabularnewline\bottomrule
 \end{tabulary}
-\caption{Dokumentation erfassten Messungen für ein einzelnes robotisches System in Sekunden}\label{tab:eval1multi}
+\caption{Erfasste Messungen für robotische Arbeitsräume}\label{tab:eval1}
+}
 \end{table}
 
+\subsubsection{Das amdahlsche Gesetz}
+Die Beschleunigung (Speedup) eines Prozesses durch Parallelisierung wird anhand des amdahlschen Gesetzes \cite{Karmani} bemessen. Dazu erfolgt zunächst die Spaltung des Algorithmus in einen parallelisierbaren und sequentiellen Teil \emph{f}, wobei die Anzahl der operierenden Rechenkerne \emph{p} den parallelen Anteil beeinflusst, während sequentielle Aspekte des Verfahrens fest bleiben. Angewendet auf die Exekution einer Aufgabe in Multi-Roboter Arbeitsräumen, kann die Beschleunigung nach \autoref{eq:amdahl}
+kalkuliert werden. Dabei beträgt der sequentielle Anteil dieser \emph{Pick and Place} Aufgabe 8.34 Sekunden und beinhaltet das Lesen der Aufgabenbeschreibung sowie das Generieren aller Primitive und Auflageflächen der Szene, was \autoref{sec:Konstruktion} zu entnehmen ist. Die Gesamtzeit der Exekution nach \autoref{tab:ergebnis1} beträgt demnach 33.63 Sekunden, wovon \emph{f} der 24.8 prozentige sequentielle Anteil ist. Das Resultat zeigt, dass die Ausführung der Aufgabe durch 2 robotische Systeme um den Faktor 1.6, relative zur Exekution durch einen einzelnen Roboter, beschleunigt werden kann.
+
+\begin{equation*}
+\begin{split}
+Speedup &= \frac{1}{f + \frac{1-f}{p}} \\
+&= \frac{1}{0.248 + \frac{1-0.248}{2}} \\
+&= 1.6
+\end{split}
+\label{eq:amdahl}
+\end{equation*}
+
+
 \subsection{Skalierbarkeit der Positionsanalyse}
-Die Analyse und Kalkulation valider Basispositionen nach dem in \autoref{sec:diffVoxel} beschriebenen Algorithmus ist abhängig von der Anzahl aller Kettenglieder und Teilketten der dokumentierten Aufgabenbeschreibung. Um die Skalierbarkeit zu evaluieren, wird die Kalkulationszeit der Operationskette, die Anzahl kalkulierter Basispositionen pro Roboter dokumentiert. 
+Die Analyse und Kalkulation valider Basispositionen nach dem in \autoref{sec:diffVoxel} beschriebenen Algorithmus ist abhängig von der Anzahl aller Kettenglieder und Teilketten der dokumentierten Aufgabenbeschreibung. Um die Skalierbarkeit zu evaluieren, wird die Kalkulationszeit der Operationskette und die Anzahl kalkulierter Basispositionen pro Roboter dokumentiert. \autoref{tab:posi} zeigt diese Messung, wobei in \texttt{eval1} zunächst 4 Kettenglieder gleichmäßig auf 2 Teilketten aufgeteilt sind, während in \texttt{eval2} und \texttt{eval3} 6 Kettenglieder auf 2 beziehungsweise 3 Teilketten verteilt werde. Dieses Verhältnis ist in der \texttt{Aufteilung der Kettenglieder} Spalte durch die /-Notation repräsentiert. Die Zeit bis zur Termination des Algorithmus ist in Spalte \texttt{Kalkulationszeit} erfasst, während eine Aufteilung der Basispositionen einer Teilkette in der \texttt{Lösungsmenge} Spalte ebenfalls in /-Notation dokumentiert sind..
 
-\begin{table}
+\begin{table}[h!]
 \begin{tabulary}{\textwidth}{@{}CCCCC@{}}
 \toprule
 \textbf{Name} & \textbf{Anzahl der Teilketten} & \textbf{Aufteilung der Kettenglieder} & \textbf{Kalkulationszeit} & \textbf{Lösungsmenge}
@@ -273,4 +315,29 @@ eval3 &
 \caption{Dokumentation erfasster Informationen einer Aufgabenbeschreibung}\label{tab:posi}
 \end{table}
 
-\autoref{tab:posi} ist zu entnehmen, dass die Anzahl der Kettenglieder die \texttt{Kalkulationszeit} beeinflusst, während sich deren Aufteilung auf die Teilketten beziehungsweise die robotischen Systeme auf das Lösungsspektrum auswirkt. Die Anzahl der Kettenglieder ist bei Aufgabenbeschreibung \texttt{eval2} und \texttt{eval3}identisch, wodurch die \texttt{Kalkulationszeit} ähnlich ist. Dies ist damit zu begründen, dass jedes Kettenglied anhand der \autoref{eq:28} eine Menge $P_{Base}$ generiert, dessen Inhalt in einer separaten Datenstruktur bezüglich der zugrundeliegenden Teilkette analysiert wird. Die Aufgaben \texttt{eval1} und \texttt{eval2} haben die gleiche Anzahl an Teilketten, wobei die \texttt{Lösungsmengen} unterscheiden. Dies ist implizit durch die 
\ No newline at end of file
+Dabei ist \autoref{tab:posi} zu entnehmen, dass die Anzahl der Kettenglieder die \texttt{Kalkulationszeit} beeinflusst, während sich deren Aufteilung auf die Teilketten beziehungsweise die robotischen Systeme auf das Lösungsspektrum auswirkt. Die Anzahl der Kettenglieder ist bei Aufgabenbeschreibung \texttt{eval2} und \texttt{eval3} identisch, wodurch die \texttt{Kalkulationszeit} ähnlich ist. Dies ist damit zu begründen, dass jedes Kettenglied anhand der \autoref{eq:28} eine Menge $P_{Base}$ generiert, deren Inhalt in einer separaten Datenstruktur bezüglich der zugrundeliegenden Teilkette analysiert wird. Der in \autoref{sec:diffVoxel} dokumentierte Algorithmus implementiert einen Filter, welcher alle Voxel nach der Herkunft seiner Basispositionen filtert. Die daraus resultierende Schnittmenge der Basispositionen einer Teilkette wird geringer, je mehr Kettenglieder sie besitzt. Dadurch haben die Aufgaben \texttt{eval1} und \texttt{eval2} zwar die gleiche Anzahl an Teilketten, jedoch sich die \texttt{Lösungsmengen} unterschiedlich, wenn eine Teilkette aus vielen Kettengliedern besteht.  
+
+\section{Qualitative Auswertung}
+Das Verhältnis terminierender Aufgaben ist nach Marvel et al. \cite{Marvel2018} ein Kriterium, um die Qualität eines Multi-Roboter Arbeitsraumes zu messen. \autoref{tab:eval1} zeigt, dass das Ausführen dieser Aufgabe von 2 robotischen Systemen in einem Verhältnis von 14 zu 15 erfolgreich terminiert. In 5 von 8 weiteren Testverfahren überwiegt die erfolgreiche Termination, wobei die Kalkulation für Teilketten, dessen Kettenglieder 0.5 bis 1 Meter voneinander distanziert sind, zufriedenstellende Basispositionen kalkuliert, während relativ nah definierte Kettenglieder invalide Basispositionen kalkulieren.\par
+Fehlerhafte Basispositionen sind: 
+
+\begin{enumerate}
+    \item Positionen zu nah am Primitv  \label{enumi:fehler1}
+    \item Basisposition zu nah aneinander \label{enumi:fehler2}
+\end{enumerate}
+
+Aus \autoref{enumi:fehler1} resultiert eine Kollision mit der Auflagefläche oder das exekutierende robotische System steht in Eigenkollision. \autoref{enumi:fehler2} resultiert aus Aufgabenbeschreibungen, deren Operationskette nur ein robotisches System benötigt. 
+%Die Auflösung des Algorithmus aus \autoref{sec:ground}, welcher valide Vektoren auf die XY-Ebene projiziert   
+
+\subsection{Vergleich mit verwandten wissenschaftlichen Arbeiten}
+Die Nachteile, welche das Verfahren der Voxelisierung aus \autoref{sec:voxel} gegenüber dem in dieser wissenschaftlichen Arbeit implementierten Algorithmus hat, wurden in \autoref{sec:diffVoxel} beschrieben, daher erfolgt die Betrachtung der Algorithmen zur Kalkulation valider Basispositionen, welche \autoref{sec:Verwandte} zu entnehmen sind.
+Diese definieren den Arbeitsraum eines Roboters anhand der Entfernung zur Basisposition. Vorteile aus dieser Betrachtung sind:
+
+\begin{enumerate}
+    \item weniger Komplexität \label{enumi:vorteil1}
+    \item vollständige Charakterisierung des Arbeitsraums \label{enumi:vorteil2}
+\end{enumerate}
+
+\autoref{enumi:vorteil1} bezieht sich auf die Komplexität der Kalkulation aus \autoref{eq:27}, welche die kinematischen Berechnungen der Arbeitsraumanalyse spezifiziert, als auch auf den Algorithmus zur Voxelisierung in \autoref{sec:diffVoxel}. Die Arbeitsraumanalyse ist zugleich die Grundlage aller späteren Berechnungen und impliziert \autoref{enumi:vorteil2}, denn eine resultierende mangelhafte reachability map mit wenigen Einträgen charakterisiert das Umfeld des robotischen Systems nicht vollständig, was die Lösungsmenge aller Basispositionen beeinflusst. Die von Forstenhausler et al. \cite{Forstenhausler} definierte Sphäre um den Roboter hat für alle Vektoren innerhalb der Sphäre eine Bewertung, außer der Vektor liegt im Bereich der Eigenkollision, wodurch ein größeres Lösungsspektrum entsteht.
+Nachteil dieser Betrachtung ist, dass diese Bewertung des Arbeitsraums ungenau ist, da die Erreichbarkeit eines Vektors in der Sphäre angenommen wird, statt diese zu messen. 
+
diff --git a/sections/fallbeispiel.tex b/sections/fallbeispiel.tex
index fa6badd..165ca6f 100644
--- a/sections/fallbeispiel.tex
+++ b/sections/fallbeispiel.tex
@@ -1,8 +1,8 @@
 \chapter{Fallbeispiel}\label{ch:caseStudy}
-Inhalt dieses Kapitels ist die Demonstration der Funktionsweise einzelner Elemente der Implementierung und dessen Synergie mit \emph{MoveIt!} spezifischen Komponenten, sowie der Integration des franka\_ros Pakets \footnote{\url{http://wiki.ros.org/franka_ros}} anhand eines Beispiels. Dieses Paket stellt hierbei die sowohl grafische, als auch funktionelle Beschreibung der Bestandteile des gleichnamigen robotischen Systems zur Verfügung, welches primär Objekt der Ausführung ist. 
+Inhalt dieses Kapitels ist die Demonstration der Funktionsweise einzelner Elemente der Implementierung und dessen Synergie mit \emph{MoveIt!} spezifischen Komponenten, sowie der Integration des franka\_ros Pakets\footnote{\url{http://wiki.ros.org/franka_ros}} anhand eines Beispiels. Dieses Paket stellt hierbei sowohl die grafische, als auch funktionelle Beschreibung der Bestandteile des gleichnamigen robotischen Systems zur Verfügung, welches primär Objekt der Ausführung ist. 
 
 \section{Ausgangspunkt kinematischer Operationen}
-\emph{MoveIt!} bietet über die \emph{move\_group} Schnittstelle eine Möglichkeit der Kommunikation mittels spezieller Nachrichten und somit der Planung und Exekution kinematischer Operationen durch den Roboter. Dies bedingt eine \emph{SRDF} Datei, welche das robotische System konkretisiert, indem beispielsweise Kontrollelemente wie Endeffektoren als Gruppen definiert oder Adjazenzen der einzelnen Festkörper in Form einer Kollisionsmatrix erfasst werden. Wie \autoref{sec:Moveit} zu entnehmen ist, kann diese Konfigurationsdatei innerhalb eines ROS Pakets mit dem \emph{moveit setup assistant} aus einer validen Roboterbeschreibung generiert werden. Das resultierende Konfigurationspaket ist Ausgangspunkt aller operativen Aspekte des Fallbeispiels und daher sowohl für einen Roboter, als auch für mehrere robotische Systeme in der Implementierung enthalten. 
+\emph{MoveIt!} bietet über die \emph{move\_group} Schnittstelle eine Möglichkeit der Kommunikation mittels spezieller Nachrichten und somit der Planung und Exekution kinematischer Operationen durch den Roboter. Dies benötigt eine \emph{SRDF} Datei, welche das robotische System konkretisiert, indem beispielsweise Kontrollelemente wie Endeffektoren als Gruppen definiert oder Adjazenzen der einzelnen Festkörper in Form einer Kollisionsmatrix erfasst werden. Wie \autoref{sec:Moveit} zu entnehmen ist, kann diese Konfigurationsdatei innerhalb eines ROS Pakets mit dem \emph{moveit setup assistant} aus einer validen Roboterbeschreibung generiert werden. Das resultierende Konfigurationspaket ist Ausgangspunkt aller operativen Aspekte des Fallbeispiels und daher sowohl für einen Roboter, als auch für mehrere robotische Systeme in der Implementierung enthalten. 
 
 \subsection{Modifikationen in der Beschreibung robotischer Systeme}
 \label{sec:Modifikationen}
@@ -13,7 +13,7 @@ Die Kalkulation valider Positionen für robotische Systeme erfordert die roboter
 
 \subsection{Aufgabenkonstruktion}
 \label{sec:Konstruktion}
-Die Aufgabenbeschreibung in Form einer Operationskette erfolgt über interaktive Marker, die jeweils die Abstell- beziehungsweise Greifposition eines Primitives darstellen. Jede dieser Positionen erfordert ein zusätzliches Kollisionsobjekt als Operationsoberfläche \emph{Support\_Surface}, welche dem robotischen System über spezifische Nachrichten kommuniziert wird und ohne dessen eine Exekution nicht erfolgt. Dieser redundante Aufwand wird im Algorithmus berücksichtigt und ist implizit durch die Position und Dimension des Primitives definiert. \autoref{fig:OPkette} illustriert eine Szene aus Kollisionsobjekten anhand des Beispiels in \autoref{fig:OK}. Die Aufgabe in Form einer Operationskette wird in \autoref{fig:OK1} mittels interaktiver Marker modelliert. \autoref{fig:OK2} zeigt die vollständig genierte Szene aus dem Primitiv und den Operationsoberflächen, auf denen es während des Vorgangs beispielsweise abgestellt oder von denen es gegriffen werden kann. 
+Die Aufgabenbeschreibung in Form einer Operationskette erfolgt über interaktive Marker, die jeweils die Abstell- beziehungsweise Greifposition eines Primitives darstellen. Jede dieser Positionen erfordert ein zusätzliches Kollisionsobjekt als Auflagefläche \emph{Support\_Surface}, welche dem robotischen System über spezifische Nachrichten kommuniziert wird und ohne die eine Exekution nicht erfolgt. Dieser redundante Aufwand wird im Algorithmus berücksichtigt und ist implizit durch die Position und Dimension des Primitives definiert. \autoref{fig:OPkette} illustriert eine Szene aus Kollisionsobjekten anhand des Beispiels in \autoref{fig:OK}. Die Aufgabe in Form einer Operationskette wird in \autoref{fig:OK1} mittels interaktiver Marker modelliert. \autoref{fig:OK2} zeigt die vollständig generierte Szene bestehend aus dem Primitiv und den Auflageflächen, auf denen es während des Vorgangs beispielsweise abgestellt oder von denen es gegriffen werden kann. 
 
 \begin{figure}[h!]
 \ffigbox[\FBwidth]%
@@ -23,14 +23,13 @@ Die Aufgabenbeschreibung in Form einer Operationskette erfolgt über interaktive
       {\caption{Operationskette mit interaktiven Markern}\label{fig:OK1}}%
     \ffigbox[\FBwidth]%
       {\fbox{\includegraphics[width=0.47\textwidth, height = 6cm]{images/PS.png}}}%
-      {\caption{Generierte Primitive und Operationsoberflächen als Kollisionsobjekte} \label{fig:OK2}}
+      {\caption{Generierte Primitive und Auflageflächen als Kollisionsobjekte} \label{fig:OK2}}
   \end{subfloatrow}}
-  {\caption{Aufbau einer Szene mit Primitiven und Operationsoberflächen aus einer Aufgabenbeschreibung.}
+  {\caption[Generierung einer Szene]{Aufbau einer Szene mit Primitiven und Auflageflächen aus einer Aufgabenbeschreibung.}
 \label{fig:OPkette}}%
 \end{figure}
 
-
-Demzufolge ist beispielsweise eine Differenzierung der zu erzeugenden Kollisionsobjekte, durch Platzierung zusätzlicher Abstelltische, kein Aspekt der Aufgabenbeschreibung. Ausgangspunkt einer Operationskette und dessen Teilketten ist der Startglied, welcher durch seine Identität $id=0$ und der Farbe gekennzeichnet ist. Es ist stets möglich, ein weiteres Glied zu generieren, welches farblich und schriftlich gekennzeichnet ist. Dieser Vorgang wird in \autoref{fig:add} visualisiert.
+Ausgangspunkt einer Operationskette und dessen Teilketten ist das Startglied, welches durch seine Identität $id=0$ und der Farbe gekennzeichnet ist. Es ist stets möglich, ein weiteres Glied zu generieren, welches farblich und schriftlich gekennzeichnet ist. Dieser Vorgang wird in \autoref{fig:add} visualisiert.
 
 \begin{figure}[h!]
 \ffigbox[\FBwidth]%
@@ -40,13 +39,13 @@ Demzufolge ist beispielsweise eine Differenzierung der zu erzeugenden Kollisions
 			{\caption{Visualisierung der Option im Menü}}
     \ffigbox[\FBwidth]%
       {\fbox{\includegraphics[width=0.35\textwidth, height = 6cm]{images/nach_join.png}}}%
-			{\caption{Realisierung durch Generierung des blauen Glieds}}
+			{\caption{Generierung des blauen Glieds}}
   \end{subfloatrow}}
   {\caption{Generierung eines Kettenglieds}
 \label{fig:add}}%
 \end{figure}
 
-Die Schnittoption im Menü des Startknotens dupliziert diesen und ist ab einer Operationskette beziehungsweise Teilkette der Länge zwei möglich. Die Realisierung dieser Option wird in \autoref{fig:schnitt} veranschaulicht. Eine valide Aufgabenbeschreibung ist nur formulierbar und wird persistiert, wenn mindestens zwei Teilketten existieren die jeweils mindestens zwei Glieder enthalten, da dies die Notwendigkeit zweier robotischer Systeme und das Vorhandensein einer Greif und Abstellposition impliziert. Die Wiederherstellung des Ausgangszustands ist ebenfalls durch einen zusätzlichen Menüpunkt möglich, dies eliminiert alle Glieder bis auf den Startknoten. 
+Die Schnittoption im Menü des Startknotens dupliziert diesen und ist ab einer Operationskette beziehungsweise Teilkette der Länge zwei möglich. Die Realisierung dieser Option wird in \autoref{fig:schnitt} veranschaulicht. Eine valide Aufgabenbeschreibung ist nur formulierbar und wird persistiert, wenn mindestens zwei Teilketten existieren die jeweils mindestens zwei Glieder enthalten, da dies die Notwendigkeit zweier robotischer Systeme und das Vorhandensein einer Greif- und Abstellposition impliziert. Die Wiederherstellung des Ausgangszustands ist ebenfalls durch einen zusätzlichen Menüpunkt möglich, dies eliminiert alle Glieder bis auf den Startknoten. 
 
 \begin{figure}[h!]
 \ffigbox[\FBwidth]%
@@ -62,7 +61,7 @@ Die Schnittoption im Menü des Startknotens dupliziert diesen und ist ab einer O
 \label{fig:schnitt}}%
 \end{figure}
 
-Anlog modifiziert die Kooperationsoption das jeweils letzte Glied der Operationskette beziehungsweise Teilkette und visualisiert diese Schnittmenge ebenfalls schriftlich und farblich, was \autoref{fig:koop} zeigt. Dies impliziert, dass eine Operationskette aus Schnitt- und Kooperationskomponenten bestehen kann, was für deren Anwendung auf $n \in \N_{>2}$ robotischen Systemen relevant ist.
+Anlog modifiziert die Kooperationsoption das jeweils letzte Glied der Operationskette beziehungsweise Teilkette und visualisiert diese Schnittmenge ebenfalls farblich, was \autoref{fig:koop} zeigt. Dies impliziert, dass eine Operationskette aus Schnitt- und Kooperationskomponenten bestehen kann, was für deren Anwendung auf $n \in \N_{>2}$ robotischen Systemen relevant ist.
 
 \begin{figure}[h!]
 \ffigbox[\FBwidth]%
@@ -74,7 +73,7 @@ Anlog modifiziert die Kooperationsoption das jeweils letzte Glied der Operations
       {\fbox{\includegraphics[width=0.35\textwidth, height = 6cm]{images/koop2.png}}}%
 			{\caption{Modifikation des letzten Kettenglieds als Startglied einer weiteren Teilkette}}
   \end{subfloatrow}}
-  {\caption{Realisierung eines kooperativen Glieds als Schnittmenge der ersten und zweiten Teilkette}
+  {\caption[Modellierung einer kooperativen Kette]{Realisierung eines kooperativen Glieds als Schnittmenge der ersten und zweiten Teilkette}
 \label{fig:koop}}%
 \end{figure}
 
@@ -91,7 +90,7 @@ Aufgabenbeschreibung:
 		- -0.625 0.957 0.173
 \end{lstlisting}
 
-Analog erfordert eine kooperative Aufgabenbeschreibung keine zusätzlichen Primitive, da diese beispielsweise an einer Stelle zwischen den robotisch Systemen übergeben werden. Diese Übergabeposition ist die Schnittmenge der definierten Teilketten und wird als solche in \autoref{lst:koop} durch ihre Wiederholung visualisiert.
+Analog erfordert eine kooperative Aufgabenbeschreibung keine zusätzlichen Primitive, da diese beispielsweise an einer Stelle zwischen den robotischen Systemen übergeben werden. Diese Übergabeposition ist die Schnittmenge der definierten Teilketten und wird als solche in \autoref{lst:koop} durch ihre Wiederholung visualisiert.
 
 \begin{lstlisting}[language=JSON,firstnumber=1, float, caption={Aufgabenbeschreibung einer zusammenhängenden Aufgabe},captionpos=t, label={lst:koop}]
 Name_der_Aufgabe: Kooperation
@@ -128,4 +127,4 @@ Basispositionen:
 \end{lstlisting}
 
 \section{Ausführung der Operationskette}
-Zur Ausführung der Operationskette ist ein weiterer Algorithmus implementiert, welcher die erforderlichen Modifikationen aus \autoref{sec:Modifikationen} anhand des \texttt{Basispositionen} Feldes einer Positionierungsdatei realisiert. Somit werden die Positionen der robotischen Systeme \texttt{panda\_arm1} und \texttt{panda\_arm2} für das Beispiel in \autoref{lst:Goalschnitt} aktualisiert, die Primitive und Operationsoberflächen nach \autoref{sec:Konstruktion} anhand der Kettenglieder innerhalb der \texttt{panda\_arm} Felder generiert. In der entstandenen Szene erfolgt anschließend die Exekution der Aufgabe.
\ No newline at end of file
+Zur Ausführung der Operationskette ist ein weiterer Algorithmus implementiert, welcher die erforderlichen Modifikationen aus \autoref{sec:Modifikationen} anhand des \texttt{Basispositionen} Feldes einer Positionierungsdatei realisiert. Somit werden die Positionen der robotischen Systeme \texttt{panda\_arm1} und \texttt{panda\_arm2} für das Beispiel in \autoref{lst:Goalschnitt} aktualisiert, die Primitive und Auflageflächen nach \autoref{sec:Konstruktion} anhand der Kettenglieder innerhalb der \texttt{panda\_arm} Felder generiert. In der entstandenen Szene erfolgt anschließend die Exekution der Aufgabe.
\ No newline at end of file
diff --git a/sections/grundlagen.tex b/sections/grundlagen.tex
index f578af5..e758d7e 100644
--- a/sections/grundlagen.tex
+++ b/sections/grundlagen.tex
@@ -37,8 +37,8 @@ Aus \autoref{eq:1} ist ersichtlich, dass die Elemente des Koordinatenursprungs v
 Eine Orientierung wird durch Rotationen $R$ dargestellt, die auf einen Körper angewendet werden können. Im Forschungsgebiet Robotik und der Computergrafik existieren verschiedene Ansätze zur mathematischen Beschreibung einer Rotation, welche sich konzeptuell unterscheiden. Beispielsweise kann eine Rotation durch Kompositionen aus Rotations-Matrizen oder der Anwendung komplexer Zahlen realisiert werden. Die spezielle RPY-Rotation\footnote{\url{https://de.wikipedia.org/w/index.php?title=Roll-Nick-Gier-Winkel&oldid=209197743}\label{RPY}}, welche auf den Rotationswinkeln eines Körpers hinsichtlich seiner Achsen basiert, wird in \autoref{fig:1} anhand eines Flugzeugs visualisiert und ist Bestandteil späterer Ausführungen.
 
 \begin{figure}[ht]
-\includegraphics[width = 4cm, height = 4cm]{images/RPY.png}
-\caption{Roll-Pitch-Yaw beziehungsweise Roll-, Nick- und Gier- Winkel an einem Flugzeug demonstriert.\footref{RPY}}
+\includegraphics[width = 5cm, height = 5cm]{images/RPY.png}
+\caption[RPY Rotation]{Roll-Pitch-Yaw beziehungsweise Roll-, Nick- und Gier- Winkel an einem Flugzeug demonstriert.\footref{RPY}}
 \label{fig:1}
 \end{figure}
 
@@ -120,7 +120,7 @@ Für die kinematische Kette eines robotischen Systems bestehenden aus $n \in \N$
 
 \begin{figure}[ht]
 \includegraphics[]{images/panda_chain.png}
-\caption{Visualisierung der kinematischen Kette eines Franka Emika 'Panda' Roboters anhand der Frames aller Festkörper.}
+\caption[Kinematische Kette des Franka Panda Roboters]{Visualisierung der kinematischen Kette eines Franka Emika 'Panda' Roboters anhand der Frames aller Festkörper.}
 \label{fig:PC}
 \end{figure}
 
@@ -139,7 +139,7 @@ Der Arbeitsbereich \emph{Workspace}, beschreibt die Kapazitäten eins robotische
       {\fbox{\includegraphics[width=0.47\textwidth, height =5.5cm]{images/panda_tv.png}}}%
       {\caption{Ansicht von oben}\label{fig:TV}}%
   \end{subfloatrow}}%
-  {\caption{Illustration des Arbeitsraums eines Panda Roboters der Franka Emika GmbH aus unterschiedlichen Perspektiven. Alle Angaben sind in Millimeter bemessen.}\label{fig:panda}}%
+  {\caption[Franka Panda Roboter aus mehreren Perspektiven]{Illustration des Arbeitsraums eines Panda Roboters der Franka Emika GmbH aus unterschiedlichen Perspektiven. Alle Angaben sind in Millimeter bemessen.}\label{fig:panda}}%
 
 \subsection{reachability map}
 Die reachability map ist eine Datenstruktur, welche die Erreichbarkeit eines Vektors $v$ anhand aller Orientierungen charakterisiert, die der Endeffektor einnehmen kann. Sie enthält eine Menge aus Tupeln, welche die Posen des Endeffektors sowie der Information bezüglich deren Erreichbarkeit in Form eines Wahrheitswertes spezifiziert. Diese Informationen können zusätzlich durch die Integration einer Metrik genutzt werden, um beispielsweise den Arbeitsbereich 3 dimensional darzustellen, oder mit den Posen weitere Berechnungen durchzuführen \cite{Zacharias2009}. Aufgrund des Aufbaus einer reachability map, eignet sich diese als Grundlage für spätere Verfahren und wird in dieser wissenschaftlichen Arbeit genutzt.
@@ -154,8 +154,8 @@ ROS \cite{Quigley} ist ein auf robotische Systeme spezialisiertes open-source Fr
 Während die textuelle Visualisierung primitiver Datentypen oder des Inhalts spezifischer Nachrichten über die Kommandozeile möglich sind, ermöglicht das \emph{publisher-subscriber} Prinzip die Implementierung separater Prozesse, welche Informationen anhand des Abonnierens einer topic visuell repräsentieren. Ein Beispiel hierfür ist \emph{RViz} als fester Bestandteil von ROS. RViz ist durch die Integration eigener Module erweiterbar und ermöglicht die 3 dimensionale Visualisierung von Frames, robotischer Systeme oder weiteren Objekten in Form von \emph{Meshes} \cite{Quigley}. \autoref{fig:RViz} zeigt eine leere Szene in RViz und dessen grafischer Benutzeroberfläche, wobei das dargestellte Gitters auf der horizontalen XY Ebene, dessen Kanten jeweils einen Meter voneinander distanziert sind, zur Orientierung innerhalb der Szene dient. 
 
 \begin{figure}[ht]
-\includegraphics[width = 7cm, height = 5cm]{images/RViz.png}
-\caption{Leere RViz Szene.}
+\includegraphics[width = 8cm, height = 7cm]{images/RViz.png}
+\caption{Leere RViz Szene}
 \label{fig:RViz}
 \end{figure}
 
@@ -187,7 +187,7 @@ Interaktive Marker erweitern die bereits präzisierten Marker um die Interaktion
       {\fbox{\includegraphics[width=0.47\textwidth, height =5.5cm]{images/IM2.png}}}%
       {\caption{Interaktiver Marker mit Kontrollelementen}}
   \end{subfloatrow}}%
-  {\caption{Darstellung eines interaktiven Markers mit visuellen Kontrollelementen und dessen Kommunikation mit der Server Instanz.}\label{fig:IM}}%
+  {\caption[Interaktive Marker und deren Server]{Darstellung eines interaktiven Markers mit visuellen Kontrollelementen und dessen Kommunikation mit der Server Instanz.}\label{fig:IM}}%
 \end{figure}
 
 \subsection{Kinematische Operationen in ROS}
diff --git a/sections/implementierung.tex b/sections/implementierung.tex
index 6ccc1f1..859f1a3 100644
--- a/sections/implementierung.tex
+++ b/sections/implementierung.tex
@@ -6,18 +6,24 @@ Die ausführliche Auseinandersetzung mit der Struktur des ROS spezifischen Arbei
 	\begin{tikzpicture} [ >=stealth']
 		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (RD) {Roboterbeschreibung};
 		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (DK) [above right = 1cm and 0.5cm of RD] {Dual Konfiguration};
-		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (MK) [below right = 1cm and 0.5cm of RD]{Mono Konfiguration};
+		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (MK) [below right = 1cm and 0.5cm of RD]{Single Konfiguration};
 		\node[rectangle, draw=black,  thick, minimum height=3em, align=center] (I) [right= 5cm of RD]{Implementierung};
 		
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (qe) at (RD.south east)  {URDF};
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (adsew) at (DK.south east)  {SRDF};
+		\node[rectangle, fill= white, draw=black,  thick, minimum height=1.5em, align=center] (wyxve) at (MK.south east)  {SRDF};
+
 		\draw[-] (RD) -- (DK) -- (I);
 		\draw[-] (RD) -- (MK) -- (I);
 
+
+
 	\end{tikzpicture}
-	\caption{Die Struktur des ROS Arbeitsraums ist durch dessen passive Pakete und aktive Pakete, sowie deren Beziehungen, illustriert. Diese Betrachtung partitioniert das Kapitel logisch in einen organisatorischen Teil, dessen Pakete die Prämisse des exekutiven Teils sind.} \label{fig:8}
+	\caption[ROS Pakete dieser Arbeit]{Die Struktur des ROS Arbeitsraums bestehend aus der Roboterbeschreibung mit URDF-Dateien und den MoveIt! Konfigurationspaketen mit SRDF-Dateien} \label{fig:8}
 \end{figure}
 
 \section{Robotische Systeme und deren Konfiguration}
-Die Roboterbeschreibung ist Grundlage der Generierung valider Konfigurationsdateien, welche jeweils $n \in \N_{>0}$ robotische Systeme konkretisieren und somit die Kommunikation zwischen den $n$ Robotern durch Integration der \emph{move\_group} Schnittstelle ermöglichen. Diese ist ein Klon des öffentlich zugänglichen Pakets \emph{franka\_ ros} \cite{franka_ros} der Franka Emika GmbH von August 2020, welches der Lehrstuhl für Softwaretechnologie bereitstellt. Die enthaltenen Dateien definieren einzelne Festkörpergruppen sowie deren Vereinigung zu $n$ Robotergruppen. Beispielsweise ist der Struktur aus \autoref{fig:9} zu entnehmen, dass ein Manipulator aus Hand und Arm besteht, sowie dass die Instanziierung mehrerer Manipulatoren eine zusätzliche Datei bedingt. \autoref{fig:9} rechts zeigt die Struktur einer Konfigurationsdatei, welche im \emph{config} Verzeichnis alle Festkörper der Referenzbeschreibung anhand der \emph{controller.yaml} Datei als Kontrollelemente spezifiziert und somit die Interaktion ermöglicht. Das Beispiel einer Modifizierten Roboterbeschreibung eines dualen Setup zeigt \autoref{lst:4}, aus dem das Muster zur Generierung einer $n$ Roboter Datei zu entnehmen ist, indem dessen Inhalt für alle Identitäten $n$ mal iteriert wird. Analog kann die entsprechende $n$\_ Konfigurationsdatei aus dem \emph{MSA} erzeugt werden oder mittels einer Manipulation der \emph{config} und \emph{.launch} Dateien aus \autoref{fig:9} generiert werden.
+Die Roboterbeschreibung ist Grundlage der Generierung valider MoveIt! Konfigurationspakete, welche jeweils $n \in \N_{>0}$ robotische Systeme konkretisieren und somit die Kommunikation zwischen den $n$ Robotern durch Integration der \emph{move\_group} Schnittstelle ermöglichen. Beispielsweise ist der Roboterbeschreibung aus \autoref{fig:9} links zu entnehmen, dass ein Manipulator aus Hand und Arm besteht, sowie dass die Instanziierung mehrerer Manipulatoren eine zusätzliche Datei benötigen. \autoref{fig:9} rechts zeigt das Konfigurationspaket, welches im \texttt{config} Verzeichnis die SRDF-Datei des robotischen Systems enthält. \autoref{lst:4} zeigt am Beispiel einer URDF-Datei für 2 robotische Systeme, welche Modifikationen aus \autoref{sec:Modifikationen} notwendig sind, um die Position des Roboters aus der Positionsdatei zu laden, dessen Struktur \autoref{lst:Goal} zu entnehmen ist.
 
 \begin{figure}
 \centering
@@ -29,67 +35,68 @@ Die Roboterbeschreibung ist Grundlage der Generierung valider Konfigurationsdate
 .2 robots.
 .3 'panda\_arm.xacro'.
 .3 'hand.xacro'.
-.3 'panda\_arm\_hand.xacro'.
-.3 'dual\_panda\_example.xacro'.
+.3 'panda\_arm\_hand.urdf.xacro'.
+.3 'dual\_panda\_example.urdf.xacro'.
 }
 \end{minipage}\hfill
 \begin{minipage}{.55\linewidth}
 \dirtree{%
 .1 MoveIt\_Konfiguration.
 .2 config.
-.3 'panda\_controller.yaml'.
-.3 'panda\_gripper\_controller.yaml'.
+.3 'panda.srdf'.
 .2 launch.
-.3 'move\_group.launch'.
-.3 'demo.launch'.
-.3 'planning\_context.launch'.
 }
 \end{minipage}\hfill
-\caption{Visualisierung der Verzeichnisstruktur der Roboterbeschreibung und Konfiguration. Bezüglich der Übersichtlichkeit sind nur die Dateien gelistet, deren Modifikation hinsichtlich der Realisierung mehrerer robotischer Systeme relevant ist.}\label{fig:9}
+\caption{Visualisierung der Verzeichnisstruktur von Roboterbeschreibung und Konfigurationspaketen}\label{fig:9}
 \end{figure}
 
-\begin{lstlisting}[language=JSON,firstnumber=1, float, caption={ Dual Setup Beispiel mit Modifikationen zur Übergabe der Roboterpositionen.}, label={lst:4}, captionpos=t]
-{<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="panda">
+\begin{lstlisting}[language=JSON,firstnumber=1, float, caption={Modifikationen in der URDF-Datei des robotischen Systems }, label={lst:4}, captionpos=t]
+<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="panda">
 <!-- Einbindung der Roboter Komponenten-->
 <xacro:include filename="panda_arm.xacro"/>
 <xacro:include filename="hand.xacro"/>
 
-<!-- Deklaration der Namensattribute zu konkretisierender Roboter -->
-<xacro:arg name="arm_id_1" default="panda_1" />
-<xacro:arg name="arm_id_2" default="panda_2" />
+<!-- Deklaration der Name der Positionsdatei -->
+<xacro:arg name="GOAL" default='Base_task'/>
 
-<!-- Deklarierung des Positionsattribute, welche aus der Kalkulation, ber die Konfigurationsdatei, in die Roboterbeschreibung bergeben wird-->
-<xacro:arg name="pos_1" default="0 0 0" />
-<xacro:arg name="pos_2" default="1 1 0" />
+<xacro:property name="yaml_file" value="$(find reachability)/Positionsanalyse/$(arg GOAL).yaml" />
+<xacro:property name="props" value="${load_yaml(yaml_file)}" />
+
+<!-- Laden der Positionen aus den Feldern der Datei-->
+<xacro:property name="pos_1" value="${props['Basispositionen']['panda_arm1']}" />
+<xacro:property name="pos_2" value="${props['Basispositionen']['panda_arm2']}" />
 
 <!-- Definition des eindeutigen World-Frames, als Referenz der Roboter -->
 <link name="world"/>
 
 <!-- Initialisierung der robotischen Systeme an ihrer spezifischen Position-->
-<xacro:panda_arm arm_id="$(arg arm_id_1)" connected_to="world"  xyz="$(arg pos_1)" /> 
+<xacro:panda_arm arm_id="$(arg arm_id_1)" connected_to="world"  xyz="${pos_1}" /> 
 <xacro:hand ns="$(arg arm_id_1)" rpy="0 0 ${-pi/4}" connected_to="$(arg arm_id_1)_link8" />
 
-<xacro:panda_arm arm_id="$(arg arm_id_2)" connected_to="world"  xyz="$(arg pos_2)" /> 
+<xacro:panda_arm arm_id="$(arg arm_id_2)" connected_to="world"  xyz="${pos_2}" /> 
 <xacro:hand ns="$(arg arm_id_2)" rpy="0 0 ${-pi/4}" connected_to="$(arg arm_id_2)_link8"/>
-<!-- Eine n-Roboterbeschreibung erfordert Namens- und Positions- Deklarationen sowie die Initialisierung aller n Manipulatoren -->  
-</robot>}
+</robot>$
 \end{lstlisting}
 
 
-\subsection{MoveGroup Interface mit Dual Setup}
-Eine Konfigurationsdatei konkretisiert ein robotisches System als Bewegungsgruppe \emph{Move\_Group}, deren Identität eindeutig durch ihr Namensattribut bestimmt ist. Demnach genügt dieses zur Instanziierung eines \emph{Move\_Group} Objekts, welches die Kommunikation zum gewählten Roboter initiiert. Eine duale Konfigurationsdatei ermöglicht analog das Instanziieren und Ansteuern zweier robotischer Systeme durch deren Namensattribut. Dabei ist eine Fehlfunktion dieser Instanzen während einer Operation observierbar, wobei die Planung und Exekution durch eine vermeintlich unbeabsichtigte Kollision zwischen Endeffektor und Primitiv detektiert wird, woraufhin die auszuführende Handlung negativ terminiert. Dies impliziert, dass die Funktionen der Schnittstelle hinsichtlich der Betrachtung mehrerer robotischer Systeme limitiert sind. Der \autoref{lst:5} zeigt einen Ansatz, der die Kollisionsdetektion definierter Kollisionsobjekte in der \emph{allowed kollision matrix (AKM)} deaktiviert, was beispielsweise das Greifen, Halten und Abstellen eines Primitives in einem Dualen Setup ermöglicht. 
+\subsection{Move\_Group Schnittstelle für Multi-Roboter Arbeitsräume}
+Die SRDF-Datei des Konfigurationspakets konkretisiert ein robotisches System als Bewegungsgruppe \emph{Move\_Group}, deren Identität eindeutig durch ihr Namensattribut bestimmt ist. Demnach genügt dieses Attribut zur Instanziierung eines \emph{move\_group} Objekts, welches die Kommunikation zu dem spezifischen Roboter initiiert. Eine duales Konfigurationspaket ermöglicht analog das Instanziieren und Ansteuern zweier robotischer Systeme durch deren Namensattribute. Dabei ist eine Fehlfunktion dieser Instanzen während der Interaktion mit dem Primitiv einer Aufgabe observierbar. Der Versuch das Primitiv zu greifen, wird als Kollision detektiert, woraufhin die auszuführende Handlung fehlschlägt. Dies impliziert, dass die Funktionen hinsichtlich der Betrachtung mehrerer robotischer Systeme limitiert sind. Der \autoref{lst:5} zeigt einen Ansatz, welcher die Kollisionsdetektion definierter Kollisionsobjekte in der \emph{Allowed Kollision Matrix} (AKM) deaktiviert. Diese Modifikation ermöglicht das Greifen, Halten und Abstellen eines Primitives. 
+
 
+\begin{lstlisting}[language=AST,firstnumber=1, caption={Modifikation der Kollisionsmatrix}, label={lst:5}, float, captionpos=t]
+/*
+Des Endeffektors rechter und linker Finger kollidieren unweigerlich während der Exekution mit dem Primitiv, wodurch beispielsweise die Greifoperation fehlschlägt.
+*/
 
-\begin{lstlisting}[language=JSON,firstnumber=1, caption={Des Endeffektors rechter und linker Finger kollidieren unweigerlich während der Exekution mit dem Primitiv, wodurch beispielsweise die Greifoperation fehlschlägt. Der illustrierte Quelltext behebt diesen Fehler, indem derartige Kollisionen erlaubt werden.}, label={lst:5}, float, captionpos=t]
 // Initialisierung der Szene
 planning_scene::PlanningScene ps(kinematic_model);
 
-// Generierung der Bewegungsgruppen anhand der festgelegten Namensattribute innerhalb der dualen Konfigurationsdatei
+// Generierung der Bewegungsgruppen anhand der festgelegten Namensattribute innerhalb der SRDF
 std::vector<moveit::planning_interface::MoveGroupInterface>  robots;
 for(int i = 1; i <= 2; i++)
 	robots.push_back(std::move(moveit::planning_interface::MoveGroupInterface("panda_arm"+ std::to_string(i))))
 	
-// Modifikation der Kollisionsmatrix, welche die erlaubten Kollisionen der robotischen Systeme anhand deren Adjazenzen enthaelt 
+// Modifikation der Kollisionsmatrix, welche die erlaubten Kollisionen der robotischen Systeme anhand deren Adjazenzen enthält 
 collision_detection::AllowedCollisionMatrix acm = ps.getAllowedCollisionMatrix();
 
 for(int i = 1; i <= 2; i++){
@@ -104,49 +111,16 @@ pls.is_diff = true;
 planning_scene_diff_publisher.publish(pls);
 \end{lstlisting}
 
-
-\section{Implementierung zur Positionsermittlung}
-Die tatsächliche Implementierung ist Inhalt des Reach Pakets, dessen Struktur die \autoref{fig:10} illustriert. An dieser ist ersichtlich, dass die Artefakte aus den kinematischen Berechnungen, beispielsweise der Arbeitsraumanalyse oder deren Inversion, in den zugehörigen Ordnern persistiert werden, während anderweitig generierte Dateien, wie der Aufgabenbeschreibung und Positionsbeschreibung, an anderer Stelle vorliegen. Das RViz Verzeichnis beinhaltet alle Konfigurationen der spezifischen Nodes im RViz Kontext, dessen Resultate anhand visueller Nachrichten publiziert werden. Dies impliziert, dass relevante Aspekte eines Nodes jederzeit durch das RViz Programm transparent observiert werden können.
-
-\begin{figure}[h!]
-\centering
-\begin{minipage}{.55\linewidth}
-\dirtree{%
-.1 Reach.
-.2 include.
-.2 launch.
-.2 maps.
-.3 inverse.
-.3 reach.
-.2 rviz.
-.2 src.
-.2 task.
-.2 position.
-}
-\end{minipage}\hfill
-\caption{Visualisierung aller Komponenten des Reach Verzeichnisses und deren Beziehung untereinander.}\label{fig:10}
-\end{figure}
-
-
 \subsection{Implementierung der Arbeitsraumanalyse}
-Der (Quelltext.6) der Header Datei beschreibt alle Funktionen, die den Algorithmus der Arbeitsraumanalyse implementieren. Dazu sind gemäß der Erörterungen im 'Konzept' Kapitel, neben der kubischen Diskretisierung zusätzliche sphärische Diskretisierungen formuliert. Die Planung des Endeffektors zu einer generierten Endeffektor Pose erfolgt über das MoveGroup Interface, angewandt auf der Konfigurationsdatei eines einzelnen robotischen Systems. Dabei ist eine Implementierung für performante Rechner enthalten, die Anhand der Aufteilung der Menge $T$ in die jeweiligen Rechenkerne alle kinematischen Berechnungen $f_{kin}$ parallel operiert.
-
-
-%\lstinputlisting[language=C++, caption ={Implementierung zur Generierung der RM}, label={lst:6}, captionpos=b ]{./images/publisher\_node.h}
+\autoref{sec:Aanal} ist zu entnehmen, dass während der Arbeitsraumanalyse die Menge aller Positionen $P_{total}$ sowie deren Orientastionen $OR_{total}$ generiert werden, um diese als Grundlage der kinematischen Berechnungen zu nutzen. Dazu sind neben der kubischen Diskretisierung zusätzliche sphärische Diskretisierungen formuliert, unter anderem der von Deserno \autoref{Deserno2015} illustrierte Algorithmus zur gleichmäßigen sphärischen Diskretisierung. Eine Implementierung für performante Rechner ist wird durch Hilfsfunktionen implementiert, welche die Menge aller Endeffektor-Posen $T$ in $n \in \N>0$ Teilmengen spaltet. Diese disjunkten Teilmengen können parallel von $n$Thread bearbeitet werden.
 
 \subsection{Implementierung des Inversen Arbeitsraums}
-Der Algorithmus des inversen Arbeitsraums kalkuliert anhand der persistierten Informationen der Arbeitsraumanalyse die Metrik D. Die Inversion aller Transformationen anhand einer Iteration über den Arbeitsraum, erfolgt durch die in der Bibliothek \emph{tf2} implementierte Realisierung homogener Transformationen dessen Operationen $\in SE(3)$. Zusätzlich erfolgt die Portierung der Metrik und Persistenz der kalkulierten \emph{IRM}.
+Der Algorithmus des inversen Arbeitsraums kalkuliert anhand persistierter Informationen der Arbeitsraumanalyse die Bewertung einer Position, welche in \autoref{eq:18} dokumentiert ist. Die Inversion aller Transformationen anhand einer Iteration über die \emph{reachability map}, erfolgt durch die in der Bibliothek \emph{tf2}\footnote{\url{http://wiki.ros.org/tf2}} implementierte Realisierung homogener Transformationen und deren Operationen. Zusätzlich erfolgt die Portierung der Metrik und Persistenz der kalkulierten inverse reachability map.
 
-\subsection{Der Algorithmus zur Positionsanalyse}
-Die Implementierung der Positionsanalyse erfolgt über deren Voxelisierung durch Integration der PCL Bibliothek. Diese ist in C++ vollumfänglich implementiert und ermöglicht performante Operationen auf 3 dimensionale Koordinaten. Dies differenzierte Voxelisierung generiert zunächst ein Gitter aus Vektoren $^{0}v \in \R^{3}$ ähnlich der kubischen Diskretisierung, und bildet jede Transformation $^{0}T_{Base_{TK/KG}} \in ^{0}T_{Base}$ eines Teilkettenglieds der Operationskette $KG_{i}\in TK \subset K$ anhand seiner räumlichen Position auf den Vektor $^{0}v$ ab. Die resultierende Struktur ist in \autoref{eq:30} gezeigt.
+\section{Der Algorithmus zur Positionsanalyse}
+Die Implementierung der Positionsanalyse erfolgt über deren Voxelisierung durch Integration der PCL Bibliothek \footnote{\url{http://wiki.ros.org/pcl_ros}}. Diese ist in C++ vollumfänglich implementiert und ermöglicht performante Operationen auf 3-dimensionale Koordinaten. Wie \autoref{sec:diffVoxel} zu entnehmen ist, erfolgt zunächst eine Voxelisierung nach \autoref{sec:partitionierung} für jedes Kettenglied einer Teilkette durch das \texttt{Octree} Objekt der PCL Bibliothek. Alle kalkulierten Basispositionen $P_{Base}$ nach \autoref{eq:28} des betrachteten Kettenglied werden in dieses Objekt integriert, wodurch jede Position $p_{Base} \in P_{Base}$ einem Voxel zugeordnet wird. Anschließend erfolgt eine Abtastung anhand der \texttt{VoxelSearch()} Funktion, welche die enthaltenen Basispositionen $p_{Base}$ eines Voxels übergibt, sofern er abgetastet wird. \par
+Die Abtastung erfolgt anhand einer kubisch Diskretisierten Struktur, welche bezüglich des \texttt{Octree} Objektes eine identische Auflösung hat. Im Anschluss erfolgt eine Filter-Funktion auf dies Struktur, welche die Schnittmenge der Voxel pro Teilkette errechnet.
 
-\begin{equation}
-\begin{split}
-\label{eq:30}
-Task &= {(i, ^{0}T_{Base_{i}}) | g_{i} \in OK} \\
-Dictionary &= {(^{0}v, Task)}
-\end{split}
-\end{equation}
 
 Eine Teilkette $TK \subset K$ definiert nun anhand ihrer Glieder $g_{i}$ die Einträge, welche der Vektor $^{0}v$ mindestens enthalten muss, um eine potentielle Position des robotischen Systems zu sein, welche $TK$ operiert. Durch die Abbildung $D_{port}({0}T_{Base}) = D_{Reach}({0}T_{Base})$ ist analog die Struktur $Task_{Metrik}$ implementiert, welche die portierten Metriken aller Transformation $^{0}T_{Base_{i}}$ auf den Vektor $^{0}v$ abbildet.
 
diff --git a/sections/konzept.tex b/sections/konzept.tex
index 01af0e5..7a5ffdd 100644
--- a/sections/konzept.tex
+++ b/sections/konzept.tex
@@ -1,40 +1,9 @@
 \chapter{Konzept zur Realisierung Multi-Roboter Arbeitsräume}\label{ch:concept}
 Wie im vorherigen Kapitel beschrieben, charakterisieren wissenschaftliche Arbeiten die Analyse des Arbeitsraums einzelner Roboter, sowie die Kenntnis bezüglich auszuführender Aufgaben als notwendige Voraussetzungen, um anhand dieser Informationen sukzessiv die optimale Position des Roboters zu bestimmen. Dieses Kapitel dokumentiert die konzeptuellen Entscheidungen bezüglich gewählten Verfahren dieser Bachelorarbeit, basierend auf den zuvor beschriebenen Methodiken zur Arbeitsraumanalyse, dessen Invertierung und anschließender Auswertung. Das Konzept zur Definition spezifischer Aufgaben, sowie deren intuitive Generierung und Darstellung mittels grafischer Programme ist ebenfalls dokumentiert und vervollständigt somit den Algorithmus zur Kalkulation valider Roboterbasen. Die grundlegende Struktur persistierter Daten im YAML Format sind ebenfalls Bestandteil des Kapitels. Anhand dieser Realisierung erfolgt eine Erweiterung der Erkenntnisse vorangegangener wissenschaftlicher Arbeiten um die Anwendung auf mehrere robotische Systeme sowie der Konkretisierung spezifischer Aufgaben. Diese Erweiterung ermöglicht die automatisiert Konstruktion kollaborative Multi-Roboter Arbeitsräume.
 
-\newcommand\pgfmathsinandcos[3]{%
-  \pgfmathsetmacro#1{sin(#3)}%
-  \pgfmathsetmacro#2{cos(#3)}%
-}
-\newcommand\LongitudePlane[3][current plane]{%
-  \pgfmathsinandcos\sinEl\cosEl{#2} % elevation
-  \pgfmathsinandcos\sint\cost{#3} % azimuth
-  \tikzset{#1/.style={cm={\cost,\sint*\sinEl,0,\cosEl,(0,0)}}}
-}
-\newcommand\LatitudePlane[3][current plane]{%
-  \pgfmathsinandcos\sinEl\cosEl{#2} % elevation
-  \pgfmathsinandcos\sint\cost{#3} % latitude
-  \pgfmathsetmacro\yshift{\cosEl*\sint}
-  \tikzset{#1/.style={cm={\cost,0,0,\cost*\sinEl,(0,\yshift)}}} %
-}
-\newcommand\DrawLongitudeCircle[2][1]{
-  \LongitudePlane{\angEl}{#2}
-  \tikzset{current plane/.prefix style={scale=#1}}
-   % angle of "visibility"
-  \pgfmathsetmacro\angVis{atan(sin(#2)*cos(\angEl)/sin(\angEl))} %
-  \draw[current plane] (\angVis:1) arc (\angVis:\angVis+180:1);
-  \draw[current plane,dashed] (\angVis-180:1) arc (\angVis-180:\angVis:1);
-}
-\newcommand\DrawLatitudeCircle[2][2]{
-  \LatitudePlane{\angEl}{#2}
-  \tikzset{current plane/.prefix style={scale=#1}}
-  \pgfmathsetmacro\sinVis{sin(#2)/cos(#2)*sin(\angEl)/cos(\angEl)}
-  % angle of "visibility"
-  \pgfmathsetmacro\angVis{asin(min(1,max(\sinVis,-1)))}
-  \draw[current plane] (\angVis:1) arc (\angVis:-\angVis-180:1);
-  \draw[current plane,dashed] (180-\angVis:1) arc (180-\angVis:\angVis:1);
-}
 
 \section{Arbeitsraumanalyse robotischer Systeme}
+\label{sec:Aanal}
 Das Generieren valider Transformationen $^{0}T_{Endeff}$, welche Resultat der Vereinigung aus $OR_{total}$ und $P_{total}$ sind, ist Bestandteil der Arbeitsraumanalyse. Dabei ist den Formulierungen zur Generierung aller Orientierungen $OR_{total}$ zu entnehmen, dass diese auf den Polarkoordinaten $^{0}s \in S^{2}$ einer Sphäre basieren, welche durch ihren Ursprung und Radius definiert ist. Der implementiere Algorithmus zur Ermittlung aller Transformationen $^{0}T_{Endeff}$ kombiniert diese Mengen, indem jeder Vektor $^{0}p \in P_{total}$ den Ursprung einer Sphäre darstellt, und demzufolge Ausgangspunkt der Kalkulation seiner Orientierungen ist. 
 
 \subsection{Erfassung der Orientierungen und Positionen}
@@ -125,19 +94,13 @@ Aus vorangegangenen Kapiteln ist bekannt, dass die sphärische Diskretisierung d
 
 \begin{figure}
 \centering
-\begin{tikzpicture} % "THE GLOBE" showcase
-\def\R{2.5} % sphere radius
-\def\angEl{35} % elevation angle
-\filldraw[ball color=white] (0,0) circle (\R);
-\foreach \t in {-80,-60,...,80} { \DrawLatitudeCircle[\R]{\t} }
-\foreach \t in {-5,-35,...,-175} { \DrawLongitudeCircle[\R]{\t} }
-\end{tikzpicture}
-\caption{Gitter aus nicht äquidistanten Vektoren einer sphärischen Diskretisierung. Die Distanz zwischen Vektoren an den Polen ist vernachlässigbar gering.}
+\includegraphics[width = 6cm, height = 6.5cm]{images/sphere.png}
+\caption[Sphärische ungleichmäßige Diskretisierung]{Gitter aus nicht äquidistanten Vektoren einer sphärischen Diskretisierung. Die Distanz zwischen Vektoren an den Polen ist vernachlässigbar gering.}
 \label{fig:7}
 \end{figure}
 
 \subsubsection{Gleichmäßige Verteilung}
-Methoden wie die Fibonacci- oder Spiral- Verteilungen bieten minimale Abweichungen, empfehlen sich daher für die Orientierungsgenerierung und bilden eine im Kontext dieser wissenschaftlichen Arbeit angemessene Repräsentation der Erreichbarkeit des Vektors $^{0}p_{Endeff}$. Sie gehören neben der ungleichmäßigen Diskretisierung zu den von Mikhal et al. angewendeten Methoden zur Arbeitsraumanalyse eines robotischen Systems \cite{Makhal2018}. Deserno \cite{Deserno2004} illustriert in seiner Arbeit zur äquidistanten sphärischen Diskretisierung einen Algorithmus zur gleichmäßigen Verteilung vor, welche bisher nicht zum Zweck der Roboterplatzierung genutzt wurde. Der dokumentierte Algorithmus wurde für diese wissenschaftliche Arbeit übernommen.
+Methoden wie die Fibonacci- oder Spiral- Verteilungen bieten minimale Abweichungen, empfehlen sich daher für die Orientierungsgenerierung und bilden eine im Kontext dieser wissenschaftlichen Arbeit angemessene Repräsentation der Erreichbarkeit des Vektors $^{0}p_{Endeff}$. Sie gehören neben der ungleichmäßigen Diskretisierung zu den von Mikhal et al. angewendeten Methoden zur Arbeitsraumanalyse eines robotischen Systems \cite{Makhal2018}. Die Deserno \cite{Deserno2004} illustrierte äquidistante sphärische Diskretisierung einen wurde bisher nicht zum Zweck der Roboterplatzierung genutzt wurde. Der dokumentierte Algorithmus wurde für diese wissenschaftliche Arbeit übernommen.
 
 \section{Invertierte Arbeitsräume}
 \label{sec:IA}
@@ -147,19 +110,19 @@ Eine persistierte reachability map beinhaltet eine Liste aller Vektoren $v \in P
 
 Die Roboterbasis kann der Pose des ersten Festkörpers in Form der Transformation $^{0}T_{Base}$ eines robotischen Systems entnommen werden, wie die Umformungen in \autoref{eq:28} sukzessiv zeigen. Zum besseren Verständnis erfolgt diese Berechnung für eine kinematische Kette aus $n = 8$ Gliedern. Dabei ist in diesem Beispiel die Transformation von $Frame_{0}$ zu $Frame_{1} = Frame_{Base}$ die Identität 1, da der Roboter keine Erhöhung durch einen Standfuß aufweist, sondern seine Basis $^{0}T_{Base}$ auf dem fixen $Frame_{0}$ des kinematischen Baumes liegt. Sollte dem nicht so sein, ist eine zusätzliche Berechnung erforderlich.
 
-\begin{equation*}
-\label{eq:28}
+\begin{equation}
 \begin{aligned}
 ^{0}T_{Base} &= t \times ^{0}T_{Endeff} \\
-^{0}T_{Base} &= t \times (\prescript{0}{}{T}_{1} \times \prescript{1}{}{T}_{2} \times \prescript{2}{}{T}_{3} \times \prescript{3}{}{T}_{4} \times \prescript{4}{}{T}_{5} \times \prescript{5}{}{T}_{6} \times \prescript{6}{}{T}_{7} \times \prescript{7}{}{T}_{Endeff}) &\text{\autoref{eq:6}} \\
-^{0}T_{Base} &= \prescript{0}{}{T}_{Endeff} \times (\prescript{0}{}{T}_{1} \times \prescript{1}{}{T}_{2} \times \prescript{2}{}{T}_{3} \times \prescript{3}{}{T}_{4} \times \prescript{4}{}{T}_{5} \times \prescript{5}{}{T}_{6} \times \prescript{6}{}{T}_{7} \times \prescript{7}{}{T}_{Endeff})^{-1} &\text{t = $\prescript{0}{}{T}_{Endeff}$}\\
-^{0}T_{Base} &= \prescript{0}{}{T}_{Endeff} \times (\prescript{Endeff}{}{T}_{7} \times \prescript{7}{}{T}_{6} \times \prescript{6}{}{T}_{5} \times \prescript{5}{}{T}_{4} \times \prescript{4}{}{T}_{3} \times \prescript{3}{}{T}_{2} \times \prescript{2}{}{T}_{1} \times \prescript{1}{}{T}_{0})  &\text{\autoref{eq:SE}}\\
-^{0}T_{Base} &= \prescript{0}{}{T}_{Endeff} \times (\prescript{Endeff}{}{T}_{7} \times \prescript{7}{}{T}_{6} \times \prescript{6}{}{T}_{5} \times \prescript{5}{}{T}_{4} \times \prescript{4}{}{T}_{3} \times \prescript{3}{}{T}_{2} \times \prescript{2}{}{T}_{Base} \times 1) &\text{\autoref{sec:IA}}\\
-^{0}T_{Base} &= \prescript{0}{}{T}_{Endeff} \times (\prescript{Endeff}{}{T}_{7} \times \prescript{7}{}{T}_{6} \times \prescript{6}{}{T}_{5} \times \prescript{5}{}{T}_{4} \times \prescript{4}{}{T}_{3} \times \prescript{3}{}{T}_{2} \times \prescript{2}{}{T}_{Base}) \\
-^{0}T_{Base} &= \prescript{0}{}{T}_{Endeff} \times ^{Endeff}T_{Base} &\text{\autoref{eq:5}} \\
-^{0}T_{Base} &= ^{0}T_{Base} &\text{\autoref{eq:5}}
+ &= t \times (\prescript{0}{}{T}_{1} \times \prescript{1}{}{T}_{2} \times \prescript{2}{}{T}_{3} \times \prescript{3}{}{T}_{4} \times \prescript{4}{}{T}_{5} \times \prescript{5}{}{T}_{6} \times \prescript{6}{}{T}_{7} \times \prescript{7}{}{T}_{Endeff}) &\text{\autoref{eq:6}} \\
+ &= \prescript{0}{}{T}_{Endeff} \times (\prescript{0}{}{T}_{1} \times \prescript{1}{}{T}_{2} \times \prescript{2}{}{T}_{3} \times \prescript{3}{}{T}_{4} \times \prescript{4}{}{T}_{5} \times \prescript{5}{}{T}_{6} \times \prescript{6}{}{T}_{7} \times \prescript{7}{}{T}_{Endeff})^{-1} &\text{t = $\prescript{0}{}{T}_{Endeff}$}\\
+ &= \prescript{0}{}{T}_{Endeff} \times (\prescript{Endeff}{}{T}_{7} \times \prescript{7}{}{T}_{6} \times \prescript{6}{}{T}_{5} \times \prescript{5}{}{T}_{4} \times \prescript{4}{}{T}_{3} \times \prescript{3}{}{T}_{2} \times \prescript{2}{}{T}_{1} \times \prescript{1}{}{T}_{0})  &\text{\autoref{eq:SE}}\\
+ &= \prescript{0}{}{T}_{Endeff} \times (\prescript{Endeff}{}{T}_{7} \times \prescript{7}{}{T}_{6} \times \prescript{6}{}{T}_{5} \times \prescript{5}{}{T}_{4} \times \prescript{4}{}{T}_{3} \times \prescript{3}{}{T}_{2} \times \prescript{2}{}{T}_{Base} \times 1) &\text{\autoref{sec:IA}}\\
+ &= \prescript{0}{}{T}_{Endeff} \times (\prescript{Endeff}{}{T}_{7} \times \prescript{7}{}{T}_{6} \times \prescript{6}{}{T}_{5} \times \prescript{5}{}{T}_{4} \times \prescript{4}{}{T}_{3} \times \prescript{3}{}{T}_{2} \times \prescript{2}{}{T}_{Base}) \\
+ &= \prescript{0}{}{T}_{Endeff} \times ^{Endeff}T_{Base} &\text{\autoref{eq:5}} \\
+ &= ^{0}T_{Base} &\text{\autoref{eq:5}}
 \end{aligned}
-\end{equation*}
+\label{eq:28}
+\end{equation}
  
 Dazu wird die Menge $IRM$ aus \autoref{eq:19} in eine YAML Datei persistiert, dessen Struktur der \autoref{lst:2} schematisch zeigt, wobei die Felder \texttt{Basis\_Pose} und \texttt{Metrik} aus der zugrundeliegenden reachability map kalkuliert werden. Die Felder \texttt{Referenzsystem}, \texttt{Aufloesung} und \texttt{Intervall} werden aus der reachability map übernommen, und bilden analog den Namen \texttt{Map\_Name} der Datei. \texttt{Zeit} dokumentiert die Zeit zur Kalkulation aller Posen $^{Endeff}T_{0}$. Das Ergebnis dieses Algorithmus kann bei Formeln der Form \autoref{eq:20} angewendet werden, um die Roboter Positionierung hinsichtlich der Definition einer spezifischen Aufgabe zu errechnen.
 
diff --git a/sections/sota.tex b/sections/sota.tex
index 22ef41c..ef0708d 100644
--- a/sections/sota.tex
+++ b/sections/sota.tex
@@ -9,7 +9,7 @@ Den Anforderungen aus \autoref{sec:anforderungen} ist zu entnehmen, dass die Pla
 		\node[rounded corners, draw=black,  thick, minimum height=3em, align=center, on chain, join=by {->}, right = of RM] (IRM) {Arbeitsrauminversion};
 		\node[rounded corners, draw=black,  thick, minimum height=3em, align=center, on chain, join=by {->}, right = of IRM] (Base) {Positionsanalyse};
 	\end{tikzpicture}
-	\caption{Darstellung des Algorithmus zur sukzessiven Ermittlung einer Roboterposition. Die Kommunikation zwischen den Etappen erfolgt mittels Persistenz der Teilergebnisse.
+	\caption[Algorithmus zur Ermittlung einer Roboterposition]{Darstellung des Algorithmus zur sukzessiven Ermittlung einer Roboterposition. Die Kommunikation zwischen den Etappen erfolgt mittels Persistenz der Teilergebnisse.
 } \label{fig:4}
 \end{figure}
 
@@ -45,7 +45,7 @@ RM:= \{(t , f_{kin}(t)) | t \in T \}
       {\fbox{\includegraphics[width=0.47\textwidth, height =5.5cm]{images/OR_total.png}}}%
       {\caption{Menge aller Orientierungen $\protect OR_{total}$} \label{fig:OR}}
   \end{subfloatrow}}%
-  {\caption{ Darstellung der Mengen $\protect P_{total}$ und $\protect OR_{total}$. Ein roter Marker repräsentiert den Vektoren, den der Endeffektor einnimmt. Ein grüner Pfeil zeigt in die Richtung des Endeffektors.}
+  {\caption[Darstellung der Orientierungen und Positionen]{ Darstellung der Mengen $\protect P_{total}$ und $\protect OR_{total}$. Ein roter Marker repräsentiert den Vektoren, den der Endeffektor einnimmt. Ein grüner Pfeil zeigt in die Richtung des Endeffektors.}
 \label{fig:5}}%
 \end{figure}
 
@@ -115,7 +115,7 @@ Die Menge $^{0}OR_{total}$ beschreibt alle möglichen Orientierungen, die für j
 		\pic [draw = blue,fill=blue!50,fill opacity=.5, text=orange] {angle = x--origin--phi};
 		\pic [draw = orange,fill=orange!50,fill opacity=.5, text=orange] {angle = s--origin--z};
 	\end{tikzpicture}
-	\caption{Visualisierung der Winkel Azimut (blau) $\protect \theta$ und Colatitude (orange) $\protect \phi$, dabei ist $\protect \overline{sp}$ die Strecke zwischen Zentrum p und einer Koordinate $\protect s \in S^{2}$ auf der Sphäre.}\label{fig:6}
+	\caption[Visualisierung von Polarkoordinaten]{Visualisierung der Winkel Azimut (blau) $\protect \theta$ und Colatitude (orange) $\protect \phi$, dabei ist $\protect \overline{sp}$ die Strecke zwischen Zentrum p und einer Koordinate $\protect s \in S^{2}$ auf der Sphäre.}\label{fig:6}
 \end{figure}
 
 \begin{equation}
@@ -141,7 +141,8 @@ Das Abtasten der Winkelintervalle von $\theta$ und $\phi$ hinsichtlich fester Au
 \end{equation}
 
 \subsubsection{gleichmäßige sphärische Diskretisierung}
-Die äquidistante Verteilung einer festen Zahl $n \in \N$ Vektoren auf einer Sphäre ist ein mathematisches Problem, dessen Lösung eine umfassende Bedeutung für Forschungsfelder der Biologie, Chemie und Physik aufweist. Beispielsweise basieren das Tammes Problem oder hard-spheres Problem auf dieser Problemstellung, bezogen auf der Modellierung fluider Partikel \cite{Saff1997}. Algorithmen zu diesem Kontext approximieren dieses Ziel, wobei die Distanzen auf der Sphäre  minimalen Abweichungen unterliegen und in Spezialfällen die Anforderung einer äquidistanten Verteilung erfüllen. Die Kardinalität $\vert S^{2} \vert$ ist analog zu \autoref{eq:kadi} durch $n$ gegeben.
+Die äquidistante Verteilung einer festen Zahl $n \in \N$ Vektoren auf einer Sphäre ist ein mathematisches Problem, dessen Lösung eine umfassende Bedeutung für Forschungsfelder der Biologie, Chemie und Physik aufweist. Beispielsweise basieren das Tammes Problem oder hard-spheres Problem auf dieser Problemstellung, bezogen auf der Modellierung fluider Partikel \cite{Saff1997}. Algorithmen zu diesem Kontext approximieren dieses Ziel, wobei die Distanzen auf der Sphäre minimalen Abweichungen unterliegen und in Spezialfällen die Anforderung einer äquidistanten Verteilung erfüllen. Beispielsweise illustriert Deserno \cite{Deserno2004} in seiner Arbeit zur äquidistanten sphärischen Diskretisierung einen Algorithmus zur gleichmäßigen Verteilung von sphärischen Vektoren. 
+Die Kardinalität $\vert S^{2} \vert$ ist analog zu \autoref{eq:kadi} durch $n$ gegeben.
 
 \subsection{Arbeitsraumcharakterisierung}
 \autoref{eq:18} formuliert die Erreichbarkeitsmetrik $D_{Reach}$ zur Bewertung der Erreichbarkeit eines Vektors $^{0}v_{Endeff}$ durch den Endeffektor. Hierzu erfolgt eine Gegenüberstellung der Menge $OR_{v}$ aller Orientierungen $R$, die der Endeffektor für den Vektor $^{0}v_{Endeff}$ während der Berechnungen erfolgreich einnehmen kann, gegenüber der Menge $OR_{total}$ aller generierten und bearbeiteten Orientierungen für $^{0}v_{Endeff}$ \cite{Porges2015}. Demnach impliziert ein geringer Wert $D_{Reach}$ für einen Vektor, dass dieser vom Koordinatenursprung des Frames $Frame_{0}$ weniger erreichbar ist als ein Vektor mit höherer Bewertung.  
@@ -160,7 +161,7 @@ D_{Reach}(v) &= \frac{\vert OR_{v} \vert}{\vert OR_{total} \vert}
 \end{equation}
 
 \section{Arbeitsrauminversion}
-Der invertierte Arbeitsraum beschreibt nach Vahrenkamp et al. alle Posen relativ zum Endeffektor, sphärisch um den Ursprung des $Frame_{0}$ verteilt, von denen aus das robotische System den Ursprung Frames erreicht \cite{Vahrenkamp2013}. Dazu beschreibt dieser Prozess die Invertierung aller persistierten Transformationen $^{0}T_{Endeff}$ der $reachability map$ und Portierung der zugehörigen Metrik $D_{Reach}(^{0}v_{Endeff})$. Die resultierende Menge enthält nach \autoref{eq:5} Transformationen der Form $^{Endeff}T_{0}$, welche dessen Basispose beschreiben. Diese Informationen werden als \emph{inverse reachability map (IRM)} persistiert, welche durch die \autoref{eq:19} definiert ist. 
+Der invertierte Arbeitsraum beschreibt nach Vahrenkamp et al. alle Posen relativ zum Endeffektor, sphärisch um den Ursprung des $Frame_{0}$ verteilt, von denen aus das robotische System den Ursprung Frames erreicht \cite{Vahrenkamp2013}. Dazu beschreibt dieser Prozess die Invertierung aller persistierten Transformationen $^{0}T_{Endeff}$ der $reachability map$ und Portierung der zugehörigen Metrik $D_{Reach}(^{0}v_{Endeff})$. Die resultierende Menge enthält nach \autoref{eq:5} Transformationen der Form $^{Endeff}T_{0}$, welche dessen Basispose beschreiben. Diese Informationen werden als \emph{inverse reachability map} (IRM) persistiert, welche durch die \autoref{eq:19} definiert ist. 
 
 \begin{equation}
 \label{eq:19}
@@ -181,6 +182,7 @@ P_{Base} &:= \{(t \times T, d) | (T, d) \in IRM , t \subset A \} \\
 \end{equation}
 
 \subsection{Charakterisierung eines Voxels}
+\label{sec:voxel}
 Makhal et al. \cite{Makhal2018} beschreibt einen Algorithmus, welcher alle $k$ Voxel charakterisiert und anhand deren Vektoren $^{0}p_{Base} \in TP$ bestimmt, welches Voxel sich bevorzugt für die Platzierung des robotischen Systems eignet. Dies erfolgt durch eine weitere Metrik $D_{voxel}$ in \autoref{eq:22}, die sich aus dem arithmetischen Mittel  $D_{Reach}^{mittel}$ eines Voxels und dem Verhältnis von dessen Kardinalität zum maximalen Voxel $TP_{max}$ ergibt. $TP_{max}$ ist das Resultat einer Iteration über alle $k$ Voxel, welche im Anschluss an die Voxelisierung erfolgt. Demnach lässt ein Voxel mit hoher Kardinalität darauf schließen, dass Posen verschiedener Aufgaben von ihm erreichbar sind.
 
 \begin{equation}
@@ -196,15 +198,17 @@ Die Metrik $D_{voxel}$ bewertet demnach ein Voxel anhand dessen Inhalts und Kard
 
 \begin{equation}
 \begin{split}
-\label{eq:21}
 D_{voxel}^{mittel}:V & \to [0,1] \\
 D_{voxel}^{mittel}(TP)&= \frac{\displaystyle\sum_{i=0}^{\vert TP \vert } D_{Reach}(p_{i})}{\vert TP \vert}
 \end{split}
+\label{eq:21}
 \end{equation}
 
 \section{Verwandte wissenschaftliche Arbeiten}
-Forstenhausler et al. \cite{Forstenhausler} dokumentieren in deren Publikation eine Methodik zur Kalkulation der Basisposition eines robotisch Systems anhand einer Aufgabe, ohne den schematisch illustrierten Algorithmus in \autoref{fig:4} zu nutzen. Der betrachtete Ansatz basiert auf der Spaltung des Arbeitsraums in verschiedene Dimensionen, ähnlich der in \autoref{fig:panda} dargestellten Perspektiven. Diese definieren einen sphärischen Körper um den Roboter, welche seinen welcher den Arbeitsraum anhand der Distanz charakterisiert. Eigenkollisionen treten häufiger auf, je näher die definierte Aufgabe an der Basis des robotischen Systems ist. Diese Erkenntnis wird durch eine zweite Sphäre integriert, die diesen fehleranfälligen Bereich aus dem tatsächlich Arbeitsraum entfernt. Sofern eine Aufgabe definiert ist, werden diese Sphären auf die Aufgabenpositionen projiziert. Die Kalkulation der Roboterbasis erfolgt anhand eines Algorithmus, welcher den Arbeitsraum des Roboters verschiebt, bis die Ausgabenpositionen in der vom Arbeitsraum definierten Sphäre liegen. \par
-Tao et al. \cite{Tao} zeigt in seiner wissenschaftlichen Arbeit einen ähnlichen Ansatz, welcher den Arbeitsraum eins Roboters analog zu \autoref{Forstenhausler} anhand von Sphären beschreibt. In seinem Beispiel besteht der 
+\autoref{sec:Verwandte}
+Tao \cite{Tao} zeigt in seiner wissenschaftlichen Arbeit eine Methodik zur Kalkulation der Basisposition eines robotisch Systems anhand einer Aufgabe, ohne den schematisch illustrierten Algorithmus in \autoref{fig:4} zu nutzen. Diese basiert auf der Spaltung des Arbeitsraums in verschiedene Dimensionen, ähnlich der in \autoref{fig:panda} dargestellten Perspektiven und definieren ihn als sphärischen Körper im Umfeld des robotischen Systems. Eigenkollisionen treten häufiger auf, je näher die Aufgabe an der Basis des Roboters definiert ist, dies impliziert die Notwendigkeit einer zweiten Sphäre, die diesen fehleranfälligen Bereich aus dem tatsächlich Arbeitsraum entfernt. Das Referenzsystem seines Beispiels ist ein aus zwei Festkörpern bestehender Roboterarm, wobei der innerer Radius bis zum zweiten Festkörper definiert ist, während der äußere Radius die Gesamtlänge des Roboterarms beträgt. In diesem Multi-Roboter Arbeitsraum besteht die Aufgabe darin, einen zylinderförmigen Tank zu bearbeiten, wobei über dessen Rotationsachse und Radius die Positionen der Roboter ermittelt wird. \par
+Forstenhausler et al. \cite{Forstenhausler} dokumentiert in seiner Publikation einen Algorithmus zur Generierung valider Roboter Positionen, welcher analog zu \cite{Tao} den Arbeitsraum des Roboters durch Sphären repräsentiert. Diese implementieren ein Feld, indem ein Vektor innerhalb der Sphäre anhand seiner Distanz zum Zentrum charakterisiert wird. Die Aufgabe ist anhand von Aufgabenpositionen definiert, welche das robotische System erreichen muss. Die Kalkulation der Roboterbasis erfolgt anhand eines Algorithmus, welcher den Arbeitsraum des Roboters verschiebt, bis die Aufgabenpositionen in der vom Arbeitsraum definierten Sphäre liegen. 
+
 
 
 
diff --git a/sections/zusammenfassung.tex b/sections/zusammenfassung.tex
index b735b66..83e1647 100644
--- a/sections/zusammenfassung.tex
+++ b/sections/zusammenfassung.tex
@@ -1,3 +1,4 @@
 \chapter{Zusammenfassung und Ausblick}\label{ch:conclusion}
-
-\blindtext
+In dieser wissenschaftlichen Arbeit zur automatischen Konstruktion eines Multi-Roboter Arbeitsraums wurde die Software \emph{MoveIt!} innerhalb von ROS verwendet. Hauptaspekt ist die Kalkulation robotischer Basispositionen, um anhand dieser die Roboter zu platzieren, welche eine \emph{pick and place} Aufgabe realisieren sollen. Die auszuführende Aufgabe wird mittels interaktiver Marker im \emph{RViz} Prozess modelliert. Die daraus resultierenden Aufgabenbeschreibung dokumentiert die Reihenfolge und Position, an der ein Objekt gegriffen beziehungsweise abgestellt werden soll und welcher Roboter diese Aktionen ausführt.\par
+Anhand der Auseinandersetzung mit bekannten Verfahren zur Kalkulation valider Roboterbasen durch Aufgabenbeschreibungen, wurde ein Konzept erarbeitet, welches die dazu notwendigen Algorithmen sukzessiv beschreibt. Zunächst erfolgt die Arbeitsraumanalyse, welche das Umfeld eines Roboters abtastet und daraus Informationen bezüglich der Erreichbarkeit in eine \emph{reachability map} persistiert. Diese Informationen werden im folgenden Prozess der Arbeitsrauminversion ausgewertet, bearbeitet und ebenfalls als Datenstruktur persistiert. Abschließend werden diese Informationen mit der Aufgabenbeschreibung kombiniert, was für jede definierte Aufgabenposition eine Basismenge generiert. Die Basismenge wird anhand der konkretisierten Reihenfolge analysiert und auf die XY-Ebene projiziert, wodurch jedem Roboter eine Basisposition und Sequenz zugeteilt wird, welche er schlussendlich exekutiert, womit der Multi-Roboter Arbeitsraum automatisch konstruiert wurde.\par 
+Zusammenfassend realisiert der beschriebene Algorithmus die automatische Positionierung robotischer Systeme für konkretisierte Aufgaben, wobei diese bei zu nah definierten Greif- und Abstellpositionen weniger zufriedenstellende Ergebnisse erzielen. Multi-Roboter Arbeitsräume profitieren von der Agilität und der Möglichkeit, Aufgaben parallel auszuführen. Eine hohe Variabilität der ausführbaren Aufgaben ist beispielsweise durch die Verschiebung und Anordnung der Tische gegeben. Durch Parallelität kann die Zeit zur Exekution einer Aufgabe auf ihren sequentiellen Anteil reduziert werden, was in der Industrie in eine erhöhte Produktion resultiert. Jedoch ist die Integration eines Multi-Roboter Arbeitsraums hinfällig, wenn dieser mehr Zeit zur Exekution einer Aufgabe benötigt, als ein einzelnes robotisches System. Daher ist weitere Entwicklung an der open-source Software \emph{MoveIt!} erforderlich, um Parallelität zu gewährleisten und somit das Potential der Mulit-Roboter Arbeitsräume für die Öffentlichkeit zu erweitern. Dies würde einen großen Beitrag zum Forschungsgebiet der Robotik beitragen.    
\ No newline at end of file
diff --git a/thesis.tex b/thesis.tex
index f0406c4..775e660 100644
--- a/thesis.tex
+++ b/thesis.tex
@@ -154,6 +154,7 @@
 \tableofcontents
 \listoffigures
 \listoftables
+\lstlistoflistings
 
 \input{sections/einleitung}
 \input{sections/grundlagen.tex}
@@ -162,7 +163,7 @@
 \input{sections/fallbeispiel.tex}
 \input{sections/implementierung.tex}
 \input{sections/evaluation.tex}
-% \input{sections/zusammenfassung.tex}
+\input{sections/zusammenfassung.tex}
 
 \nocite{*}
 \printbibliography[heading=bibintoc]\label{sec:bibliography}%
-- 
GitLab