From 9545ffd2ceed142c67e7826c27e0c15a694e61fb Mon Sep 17 00:00:00 2001
From: Shengkang Chen <shengkangchen@Shengkangs-MacBook-Pro.local>
Date: Thu, 7 Feb 2019 19:32:31 -0800
Subject: [PATCH] minor update on formating

---
 CoLo-AT/.DS_Store                             | Bin 0 -> 8196 bytes
 CoLo-AT/README.md                             |   4 +++
 .../__pycache__/__init__.cpython-36.pyc       | Bin 201 -> 169 bytes
 .../__pycache__/data_analyzer.cpython-36.pyc  | Bin 5557 -> 5574 bytes
 .../__pycache__/realtime_plot.cpython-36.pyc  | Bin 5784 -> 5801 bytes
 .../__pycache__/__init__.cpython-36.pyc       | Bin 203 -> 171 bytes
 .../existing_dataset.cpython-36.pyc           | Bin 12584 -> 12601 bytes
 .../realworld_dataset_manager.cpython-36.pyc  | Bin 0 -> 12810 bytes
 ...ataset.py => realworld_dataset_manager.py} |  26 ++++++++--------
 CoLo-AT/localization_algos/.DS_Store          | Bin 10244 -> 6148 bytes
 .../centralized_ekf.cpython-36.pyc            | Bin 3669 -> 3593 bytes
 .../__pycache__/ekf_gs_bound.cpython-36.pyc   | Bin 4085 -> 4009 bytes
 .../__pycache__/ekf_gs_ci2.cpython-36.pyc     | Bin 4175 -> 4148 bytes
 .../__pycache__/ekf_ls_bda.cpython-36.pyc     | Bin 4819 -> 4743 bytes
 .../__pycache__/ekf_ls_ci.cpython-36.pyc      | Bin 3877 -> 3801 bytes
 ...localization_algo_framework.cpython-36.pyc | Bin 2362 -> 2286 bytes
 .../__pycache__/simple_ekf.cpython-36.pyc     | Bin 3239 -> 3163 bytes
 .../request_response.cpython-36.pyc           | Bin 2889 -> 2857 bytes
 .../__pycache__/__init__.cpython-36.pyc       | Bin 194 -> 162 bytes
 .../robot_centralized.cpython-36.pyc          | Bin 3106 -> 3074 bytes
 .../robot_distributive.cpython-36.pyc         | Bin 4822 -> 4790 bytes
 .../robot_parameters.cpython-36.pyc           | Bin 397 -> 365 bytes
 .../__pycache__/robot_system.cpython-36.pyc   | Bin 3788 -> 3805 bytes
 .../__pycache__/__init__.cpython-36.pyc       | Bin 206 -> 174 bytes
 .../__pycache__/sim_manager.cpython-36.pyc    | Bin 3924 -> 3941 bytes
 .../__pycache__/state_recorder.cpython-36.pyc | Bin 4624 -> 4641 bytes
 CoLo-AT/simulation_process/sim_manager.py     |  14 ++++-----
 CoLo-AT/test_simulation.py                    |  28 ++++++++++--------
 CoLo-D/.DS_Store                              | Bin 0 -> 8196 bytes
 CoLo-D/CoLo-Datasets/.DS_Store                | Bin 0 -> 8196 bytes
 30 files changed, 40 insertions(+), 32 deletions(-)
 create mode 100644 CoLo-AT/.DS_Store
 create mode 100644 CoLo-AT/dataset_manager/__pycache__/realworld_dataset_manager.cpython-36.pyc
 rename CoLo-AT/dataset_manager/{existing_dataset.py => realworld_dataset_manager.py} (96%)
 create mode 100644 CoLo-D/.DS_Store
 create mode 100644 CoLo-D/CoLo-Datasets/.DS_Store

diff --git a/CoLo-AT/.DS_Store b/CoLo-AT/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..0a170c81bddf9aed977bbe5e7f11711c1cb66f95
GIT binary patch
literal 8196
zcmeHMO>Epm6n<}$rncKOPHAbpw8<(_Xn>Sv^Q+PyHp!L{NR+5anqRW@#wIoO+F|X@
zwoL;8E=4NhRG<}HKp>%Vs%TG0&<g_bbAUn%s0R)l;KC7sK;q4eH)@hbxdo(pq?tD}
z?>*1F&!0W}ya0e5IU^2G0RR$JCe=;U+@UZ%t1C(*m?<WS<PYG12|lDC1NsW<a3Vw?
zL?A>UL?A>UMBx8`0G-*aNUNOtLL0Ur0wDr-B?9dI5TnXuB9IG0@>d5nJOv=hQUG44
zPk8|Mi3Ktd$OR#}D_v7$4;Z*&kYb>4Cw+{WlS~A1K}g{aDBJ;ql`+UrkgraDF>Vf+
z5Hf5-1VRK>BETM>GB7A#_o?2VzdJOZrhGn|&U-Uy+f9?@=jj>S^8AK|8yG1n-cYhp
zk`zfPRh}9+?&b%4-OqU)dUl+R`gQ+!I_M9&uD#gT(?=~cpHjDVx{j|~j+y1omSK{~
z#IWTUZob3KIflotGawX_BujEit(co@YKqs#+M4F;V{`GwhNk-1zLw_sd0E;~8$Z~6
zEOYAg+?o03E{I4mcw112OUp$Xt`WBF&31~gBd-_2zF7!cRyJwfPbfVj)|BfESf|aD
zTINyI-8AganzIz)@RV!kGLDy0%cpdEDrf7y*>2m+*c<W9lRoQ>d2ZJ4<c29#&3Wb#
zlkBWnGfCFux|Ln2Z^pM=$2)3fJ(4wv1`&&VY4i47)%QQt(DKNm$?K(C%GC0$iZVuc
zIllF@WoC!+mf;^C)x9axF)U|#c-Hc)v~3PLdd4h|yerGs@7+;RsztS(1=VsFNv)Aa
za%t<?oaLY5YgATg%7j6?>vavbilJVSWUi^H(zJ1=>CBqc8j{4Pch_mkphvN)dSF<;
zM^Oe((2Z6-+5+2nyiw7HY&~t-sv!%v);2{Oo)sahPX?3w4=CEml$*&=h+a9?2h)jm
zO`BvZ_voJAH)A@qtIue89$l5zB}t=9+in=NtC~cez>mWqtL)^_pc<Ot0QAEsJqvj_
z2j}56cpEOkRrm-#g|FdT_#SS+P52pph2P;%_zV7qf3O70a3@w`6~^!ZY{6D+!vr42
zE_@uj@dys%D30Mc8u$#_m_Y~g_&mOVFXBsh4$tEocmXfsJ9rsC#4C6eKgLh+8h(La
z;&=EX{v`GpDUi5Vj0-K^qTbph4xZh}<ef+yeXL7K{--4VVY6WFJ=?Zd*3|83Y&+1t
zc!!tW)7#0#86_ygsZ^i}zo|?3$ylI8?^AZI#_=IyqIptcbW%48>sYi}A_l3PLRz#o
zx?3Wes}ZhM9*mNuE~!Prc&`$dh_>nmp>0-LWg@m(EVTQS{Sxt4EfLy7N<wCjo(f`I
z8%@fRipyEKDktBE%Ww_8f^Ue6x8N7}4gNqt3AbPc=V3M0U@bn3dohlU*o+795HYeH
zJFy3Qu@C!+mE$;plbAxCSb2i8at2S~X*`4T#Llz$GI8@2d^KR_oA?&KhnJRdvAe)R
zA@PH?xi~wJb!^v}Cd&e&mtG_stuF#aVz~;I{~uoc`~UiGDqJl@AVgqY5y0Z)K(d3D
zT<x{Ya_tz^V^mpTb_+ss7ixGqPLikNBp3fMq<)M{nNK2+3qsNim399RU@rfS8=n6d
Lp8uSScT@8(c_IL+

literal 0
HcmV?d00001

diff --git a/CoLo-AT/README.md b/CoLo-AT/README.md
index 6b2426f..2256116 100755
--- a/CoLo-AT/README.md
+++ b/CoLo-AT/README.md
@@ -32,9 +32,13 @@ git clone git@git.uclalemur.com:billyskc/Simulation-Environment-for-Cooperative-
 1. Install all dependencies
 
 2. Create a python script for the environment(ex: test_simulation.py)
+
 a. Create a dataset_manager with proper setting
+
 b. Load a localization algorithm in to robots
+
 c. Create simulation manager, recorder and analyzer in CoLo
+
 d. Put all these part in simulation manager
 
 3. Run CoLo
diff --git a/CoLo-AT/data_analysis/__pycache__/__init__.cpython-36.pyc b/CoLo-AT/data_analysis/__pycache__/__init__.cpython-36.pyc
index c63692804c06816026ad58cdf8da4db3ee6706e3..a6c36afd728c74bcb0dfce9bb6db5c63562fdade 100644
GIT binary patch
delta 64
zcmX@fxRQ~>n3tF9NNIG;L=F!fSN+i9)S_bj;*8Y1^z6jE^kg7I-z7h}G&eP`q*&iM
P-zOhT=sJc>oTCc>unQIs

delta 96
zcmZ3<c#@IBn3tEU?v`uxL=F$1RQ-(n+*JMY%$%Ie#9aO0%-qtP#FEVXJYCnkvdp6V
tyxi2h65X`?B3<YF{DRaXpj=t1u1|h)VoqiiSfPGeX<jl&NAbiOT>y4&Bjf-8

diff --git a/CoLo-AT/data_analysis/__pycache__/data_analyzer.cpython-36.pyc b/CoLo-AT/data_analysis/__pycache__/data_analyzer.cpython-36.pyc
index c17ec2640ce6bff4e56915b4fe2430c236bdde2a..9b93370356b5023e51bb249b484f896ee3e248c1 100644
GIT binary patch
delta 502
zcmY+A%S!@L6viDb(<u{43qh!)%^)Q7GU#Csdp|Z=)btnzy{M#PoEf85(K1@zb=#If
zNVIGdL8~^c{15yq>U`6xyZG^O&Ufy2I4`M>RA4+5Qr{cLC(nUlWpFdSZws>1c3D`Z
zbJHpnSfq3HLZc=u$8Khnu1-a7X8m_QWmJ9!pA=nQsUyq>H6GXd9Wo2TxDaGGm6|Xr
zj-X4ksyDyXN8io5$K#<5U=!G4w0u^hmTz^}glRWOAcTBqy52D;47A-ErrMpTVYKas
z+6KG~t>bUz|NreDep(lev*U;+V4h^Of`W4enY>>J#VH`e&?3|eJp;@F^FS6@02ToR
z(h{)D(B)2eh)-aJ6MUQd@Q62n%{7Jgny-<BSDBOFeaXXB_<H~Z(KK+z(1LEH9x;iG
zqUo3hi9(%<f^@ZRRj&>AsB{AVDd6swgIZzeayMEIrdj1VaZSEOGqF)L-Mj-Rq>v$R
JV*@f7lfM(;cme<b

delta 481
zcmY+=J4?e*6bJC8v5!P+DYinPgG!gsAwtz!@clr+SA`B1p&_(a8cA9?rixSNE-qPh
zb#N$1@EeFYI^W5~A)i9;KTc-&aX9y!{4e*t^jb=mQz`ZB{_*@JIV(+8^-j-W`mJT#
zmg)HWQX(dCzZM_LlJ0S3Byn%37KI}<pXbvqnJs2qF*01sVTR>0x-o6;f2mLM;3yJ_
z&@ngxH365qeW%XH9cEtli8-w6l8nP}wu}l3LD<7q5JL~EK^)a7hzhi^zn%a84}Qd_
zC1^oRG-wgSO9HMik;}*w_e-H!0m}j{LzAdiz$#b=8(<S`0R+-E*b#8AnVu0(Fi01~
z+dQO;(IjrJN!0K^GKHwL=6z4iogH9)0w9R0;6k7&VI<F(L`K_mO@mmgM{P!2?RD)t
tBYae9W1fNVZo8=V1l%*S9c5lrb&+`JeP$~;9fx6F6BSbE(ktYie*xE)cUu4e

diff --git a/CoLo-AT/data_analysis/__pycache__/realtime_plot.cpython-36.pyc b/CoLo-AT/data_analysis/__pycache__/realtime_plot.cpython-36.pyc
index edb0d1c6d571e3816fea6931c4a2caf88f608c60..6b1a42fb26002c6c84ef44c593f5cfb6ffc15f86 100644
GIT binary patch
delta 54
zcmbQCyHc0Kn3tF9NNIG;Mve!J@?QF(#i>Qb`o$TkdFk1SdFjbOhQ3RFa%paAUP<xh
IZ;XpX0R3na^8f$<

delta 37
tcmZ3fJ42Vln3tF9tLl>IjT{dc`7HG_@^e%5%QJIwG81z*vokFc0RZNN3|#;K

diff --git a/CoLo-AT/dataset_manager/__pycache__/__init__.cpython-36.pyc b/CoLo-AT/dataset_manager/__pycache__/__init__.cpython-36.pyc
index fd31344ff4309517f4f33b309e86875ec7027076..d15e459c547ee60f84d0fd9af17f5941c3593eb0 100644
GIT binary patch
delta 64
zcmX@jxSEl}n3tF9NNIG;L=F!fcm2@f)S_bj;*8Y1^z6jE^kg7I-z7h}G&eP`q*&iM
P-zOhT=sJc>oTCo_v1b++

delta 96
zcmZ3@c$$&Jn3tEU?v`uxL=F$1bp4F{+*JMY%$%Ie#9aO0%-qtP#FEVXJYCnkvdp6V
tyxi2h65X`?B3<YF{DRaXpj=t1u1|h)VoqiiSfPGeX<jl&NAbiOeE@ihBkTYG

diff --git a/CoLo-AT/dataset_manager/__pycache__/existing_dataset.cpython-36.pyc b/CoLo-AT/dataset_manager/__pycache__/existing_dataset.cpython-36.pyc
index 67e140af40210d6d0afaeb1ef2c0b4393be92044..c6504d54e2b103cc1de83064138ded363a911da3 100644
GIT binary patch
delta 3315
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
OAA=aJzfC+C9r+Jm$k-GB

delta 3288
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
G`u+!9z543_

diff --git a/CoLo-AT/dataset_manager/__pycache__/realworld_dataset_manager.cpython-36.pyc b/CoLo-AT/dataset_manager/__pycache__/realworld_dataset_manager.cpython-36.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..018cc86e57a4288f0eae01ff5857953b2fb5c0b1
GIT binary patch
literal 12810
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

literal 0
HcmV?d00001

diff --git a/CoLo-AT/dataset_manager/existing_dataset.py b/CoLo-AT/dataset_manager/realworld_dataset_manager.py
similarity index 96%
rename from CoLo-AT/dataset_manager/existing_dataset.py
rename to CoLo-AT/dataset_manager/realworld_dataset_manager.py
index 966391e..ea32212 100755
--- a/CoLo-AT/dataset_manager/existing_dataset.py
+++ b/CoLo-AT/dataset_manager/realworld_dataset_manager.py
@@ -49,7 +49,7 @@ def linear_interpolation(end0, end1, x):
         y = y0+(x-x0)*(y1-y0)/(x1-x0)
     return y
 
-class Dataset:
+class RW_Dataset_Manager:
     
     def __init__(self, dataset_name):
         self.name = dataset_name
@@ -70,17 +70,17 @@ class Dataset:
         return self.landmark_map
             
 
-    def load_MRCLAMDatasets(self, dataset_path, dataset_labels, duration, adding_actifical_dataline = True, delay_start = 5):
+    def load_datasets(self, dataset_path, robot_lables, duration, adding_actifical_dataline = True, delay_start = 5):
         print ('******** Initialization Started ********')
         print ('add synthetic data: ', adding_actifical_dataline)
         self.dataset_path = dataset_path
         print("Absolute datapath: ")
         print(self.dataset_path)
-        self.dataset_labels = dataset_labels
+        self.robot_lables = robot_lables
         self.adding_actifical_dataline = adding_actifical_dataline
         self.create_landmark_map()
 
-        self.num_robots = len(self.dataset_labels)
+        self.num_robots = len(self.robot_lables)
         self.measurement_data = [[] for i in range(self.num_robots)]
         self.odometry_data = [[] for i in range(self.num_robots)]
         self.gt_data_odo = [[] for i in range(self.num_robots)]
@@ -94,7 +94,7 @@ class Dataset:
         self.duration = duration # some more time to avoid index error
         self.start_time_arr = []
         #finding the starting time:
-        for i, label in enumerate(self.dataset_labels):
+        for i, label in enumerate(self.robot_lables):
             robot_num = str(label)
             groundtruth_path = self.dataset_path+"Robot"+robot_num+"_Groundtruth.dat"
             with open(groundtruth_path,'r+') as groundtruth_file:
@@ -108,7 +108,7 @@ class Dataset:
         print('Staring time: ', self.start_time)
         #finding starting states:
         self.starting_states = {}
-        for i, label in enumerate(self.dataset_labels):
+        for i, label in enumerate(self.robot_lables):
             robot_num = str(label)
             groundtruth_path = self.dataset_path+"Robot"+robot_num+"_Groundtruth.dat"
             with open(groundtruth_path,'r+') as groundtruth_file:
@@ -124,7 +124,7 @@ class Dataset:
         print(self.starting_states)
         
     
-        for i, label in enumerate(self.dataset_labels):
+        for i, label in enumerate(self.robot_lables):
             robot_num = str(label)
 
             groundtruth_path = self.dataset_path+"Robot"+robot_num+"_Groundtruth.dat"
@@ -219,14 +219,14 @@ class Dataset:
     def get_start_moving_times(self):
         start_moving_times = []
         time_idx = 0
-        for i, label in enumerate(self.dataset_labels):
+        for i, label in enumerate(self.robot_lables):
             start_moving_times.append(self.dataset_data['odometry'][i][time_idx]['time'])
         return start_moving_times
 
     def get_time_arr(self, data_catagory):
         # retunr an array of time shows time for next dataline for each robot given data catagory
         time_arr =[] 
-        for i, label in enumerate(self.dataset_labels):
+        for i, label in enumerate(self.robot_lables):
             time_idx = self.data_trackers[data_catagory][i]
             if time_idx == -1:
             	time_arr.append(self.start_time + self.duration + 10) # so that it will be out of range and not be selected
@@ -370,11 +370,11 @@ class Dataset:
             if subject_ID > 5: # landmark
                 [lx, ly] = self.landmark_map[subject_ID]
             else: 
-                if subject_ID not in self.dataset_labels:
-                    obj_index = (robot_idx+2)%(len(self.dataset_labels))
-                    subject_ID = self.dataset_labels[obj_index]
+                if subject_ID not in self.robot_lables:
+                    obj_index = (robot_idx+2)%(len(self.robot_lables))
+                    subject_ID = self.robot_lables[obj_index]
 
-                obj_index = self.dataset_labels.index(subject_ID)
+                obj_index = self.robot_lables.index(subject_ID)
                 matched_gt_data = self.find_corresponding_ground_truth(obj_index, req_time)
                 lx = matched_gt_data['x_pos']
                 ly = matched_gt_data['y_pos']
diff --git a/CoLo-AT/localization_algos/.DS_Store b/CoLo-AT/localization_algos/.DS_Store
index 16a5a9ef2686ad5e79514819d39d7bf82f5ec619..227dcc92c9defae2fa37b52a15ca547ccacefdf7 100755
GIT binary patch
delta 109
zcmZn(XfcprU|?W$DortDU=RQ@Ie-{MGqg=C6q~50$jCS`z?zY9GLL}e#xf`N#q1m$
yg3KU!pfYYC;R?iU8w<ZPPv%$A<zxi%4gfL3WE&po$q6d#tRUkVHplbKU<Lr;1rmb*

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

diff --git a/CoLo-AT/localization_algos/__pycache__/centralized_ekf.cpython-36.pyc b/CoLo-AT/localization_algos/__pycache__/centralized_ekf.cpython-36.pyc
index d947265cbc05ed085fa91c83a8c81e78989f7e8b..841baa9ca29af8beb5f008ea2df788530bc20823 100644
GIT binary patch
delta 534
zcmb7;yGz4R6o+$TThqo!tHeG`v8`4O4p!@<KEX)^cOeQfrJ<(S22LVW7bg*M^Zp-#
zWN~zGa(Bt%;2;i;;;8qe2&J2M_|7@Md${*|QLYuCEJ?Aa(}Tl%p+rcLUXo9uc@A$A
zlJMU8hIx{p-{I+@9LI5hQ2C%hj?P6Yg%nGC(J@<&4SLOR4M^i+1~H0I=uKpS$n-Iy
zh*?}F+dkRXy!VK}=M%U=5IKgAA9kR`I#q-`rUe?0ru1>v`XS3Tn;>C25zKYd-BmLX
z#{?~)i0J(tvq{7hgD*H%y=mxn6=ck25LtQ^RWn+D%{*}pz5Umm`QdZ@*l;!PIV$&>
z29h1qSeNMqng)6u(Rnti>3=Cg8K3B~W1}zHRmTL~YSqj(EaJiv#-stutZJbh-D<!J
t$0a$a;O#164Y7{cpmzfg@(8wLh*`uYVvA-6lk`^FBN}~`WX3P)=ok9{Zp#1w

delta 688
zcma)%O-~a+7{_-OTDL8mm>OuPl?cAjO)TpRMu<jKf?xuP2?q`y)@eI!hwSd)vr7dI
zc=kL84}JpU$@Jpa@Ze?c9z6INbpMMagcEc4%`^Xbp3HAPHhwmo2d-N_HfwLbId|FC
zJAa@e;lGz*D0$>>%V<C3sZ?=mEgnizaU|lj)l<}3RccRAb~hBQP1WI{JjxsW-hSM{
zMB?jZ_J^6#ysa3kjy{cDu~}7rEi|jMmSqv(+4)AZ`d49TZaPa$B@uC=DCqK(Qyq<0
zfd+6*uM`)XQ)s)?6=BMQ)Ucr`CnD?x=|E%?Gq_~yhV7Wq=b~eOsA7--c<}e%Y|;I!
z@+vfk^akJnCBO#8fSVc2xJ*SvF3z{|b6=#dygFS*0$;ifocBaF4>a>XIf?8?JWy?d
zJKX_h^y89OKmEtSX>n)@N5O!nW^`PdJa3<ipV*f#V4o|W$S-D3deaxzhT%iYdTpIG
z&O%dB?L<%@<E}WMM`&9@%ywxR`}js6cj+neC%_8u40sN_(CvxulQoprfqTFzu&#f&
cHT}}vteJ_VBliv$LK*Y0Z;JnS{l$Iz58c?JmjD0&

diff --git a/CoLo-AT/localization_algos/__pycache__/ekf_gs_bound.cpython-36.pyc b/CoLo-AT/localization_algos/__pycache__/ekf_gs_bound.cpython-36.pyc
index b2368b8f11cbbd40638748256f016fb4fe3099cf..900b3fb0362caaa3a65be460e2408d179bcbc86d 100644
GIT binary patch
delta 24
fcmew=zfzvVn3tF9NNIG;Mh*!^My1WUj2(OcTzv-E

delta 100
zcmZ1}|5cvDn3tEU?v`uxMh*!^-#q<{{M=Oi^30r^%*0&%;LP08oWzpM{5)OPyt2%q
x{Jh-Myb|5C{32cF{QQE{BA{GZs;*Cda$-(q6<DEuT4`P~NJp{$W<|yhJ^&2YB&PrX

diff --git a/CoLo-AT/localization_algos/__pycache__/ekf_gs_ci2.cpython-36.pyc b/CoLo-AT/localization_algos/__pycache__/ekf_gs_ci2.cpython-36.pyc
index 8df35967a6061613cd38380d1e83eb03ec81166c..8fcbaef524ac506c9b9676683c55297759c8b32a 100644
GIT binary patch
delta 24
fcmX@FutkBxn3tF9NNIG;Mh*!^Mup8bjKcf?SW*TU

delta 51
zcmdm@a9)AKn3tC;=jycRjT{n;GS>PT`MIh3<(WA-nTfgj&iOw1U_#e1M1Qj)qcA@J
Dq>c}i

diff --git a/CoLo-AT/localization_algos/__pycache__/ekf_ls_bda.cpython-36.pyc b/CoLo-AT/localization_algos/__pycache__/ekf_ls_bda.cpython-36.pyc
index 7ca85c6006b5eaf6bedd40448862c238c2a09aaf..dfff1580319cd69bccc411af302e0a2a4aeb2dd0 100644
GIT binary patch
delta 224
zcmcbt+OEoB%*)Glq%=BaBZnR%qr&E9MrBsUTbq}&2{1DnO}@=4Gx-YVDXClRDXBRn
ziSZRMM&&Kms`!k=l3Sa1a7D4Q88I+06hV}m2<Wq!fVifUGX;zp%_h$kkdCte30Q&%
z9UyUwG3yqKM|@^hkv&Mr7DQM9i74Kp)RfZX)Rg$*%=FyEA{UStdv0k?NoIUjkpoDX
kBZzPU5zZjO6-2mA7888UZ3tqzg9x9=bA`kwD+_G^0MlYTw*UYD

delta 300
zcmZoyy{yV%%*)GFcgr<;BZnTNZ;pOOer~FMd1g*dW@4^>aAt04PGU)Bex9ytURh>Q
zeqL^BUWsm6evz(oettn}5m2ryRo5p!IWZ@*3an5+tu!wgq@!4WvpJ(OD`V8=Xf^?6
zM#IVdtTK~3I8RAMv8SZwlqAMiz!;UcSgYbQ5=){s=Ws=_vKcZkFcd+Qzu?zrGX`-@
zCd&#KGn!5g6p)TH2MJh!2pu4Ci!m#T#Unm5tH>H8WCbEDfkYH<QEEzQa%xI^ab|jM
zVvz$#j2-BmlFaz5A{&r0TM%IfBJ4qgBZzRCd`jRow*iRh3?keo2MUQ#zAm@{07hF^
Ai2wiq

diff --git a/CoLo-AT/localization_algos/__pycache__/ekf_ls_ci.cpython-36.pyc b/CoLo-AT/localization_algos/__pycache__/ekf_ls_ci.cpython-36.pyc
index c46d670d002febc994b991f5e161624431c22975..7bbf05027bcebec06b2ffaf2f49d45c423207ea6 100644
GIT binary patch
delta 46
zcmZ1~cT<+bn3tF9NNIG;Mh-njM)}Rnj59bGqc+QM*|4xVGB7X{c}{-MCqB89Zvy}+
C#SF^;

delta 118
zcmca9yHt+Dn3tEU?v`uxMh-nj-)#Mi{M=Oi^30r^%*0&%;LP08oWzpM{5)OPyt2%q
z{Jh-Myb|5C{32cF{QQE{BA{GZs;*Cda$-(q6<DEuT4`P~NJp{$W^=|F9E`U%U*NQ1
QVRK?&U?}pMEW~#l0MC^v+yDRo

diff --git a/CoLo-AT/localization_algos/__pycache__/localization_algo_framework.cpython-36.pyc b/CoLo-AT/localization_algos/__pycache__/localization_algo_framework.cpython-36.pyc
index ed8bf49bd81b702d10a4fd624404d3f372042198..eec902bc7e08e4b527973ba0b2a34ecf567d64a3 100644
GIT binary patch
delta 24
fcmdlb^iGh&n3tF9NNIG;MveqVM#Ifp8C%%_UWW%<

delta 100
zcmaDSxJ!t`n3tE!>0)d2MveqV-&*~Q{M=Oi^30r^%*0&%;LP08oWzpM{5)OPyt2%q
x{Jh-Myb|5C{32cF{QQE{BA{GZs;*Cda$-(q6<DEuT4`P~NJp{$=1j&`b^s!2B_;p>

diff --git a/CoLo-AT/localization_algos/__pycache__/simple_ekf.cpython-36.pyc b/CoLo-AT/localization_algos/__pycache__/simple_ekf.cpython-36.pyc
index 796da56e40283212099772fe8c64b1eab28ffb56..6b17fa54ed1708f61dd91c9565055c0c6ca63c18 100644
GIT binary patch
delta 76
zcmZ23d0T?Rn3tF9NNIG;Mviz!Mup8=81HasMzL4LXC#)y8^9Qbw^+d<QOp^Jh9JTS
TNEjJLP2S1%meGCja&ATdrMehq

delta 156
zcmcaDv0ReFn3tE!>0)d2Mviz!-yHpn{M=Oi^30r^%*0&%;LP08oWzpM{5)OPyt2%q
z{Jh-Myb|5C{32cF{QQE{BA{GZs;*Cda$-(q6<DEuT4`P~NJp{$<_yL=9GbV-tKu^f
pOX3Y+48vQjV3AwQ8HR=+!U#wh8Qz+l%k`Ggcd|T>_~at)mjIv)I${6-

diff --git a/CoLo-AT/requests/__pycache__/request_response.cpython-36.pyc b/CoLo-AT/requests/__pycache__/request_response.cpython-36.pyc
index f7d7ac821b02e807490c880a52d3f6e990057904..02de2f22087bd952cd1f47b84adff5254474fbc2 100644
GIT binary patch
delta 67
zcmX>pwo;74n3tF9NNIG;MvkkDI&u1;#i>Qb`o$TkdFk1SdFjbOhQ3RFa%paAUP-aO
SbG}bLn9y|$*{sQ=zzF~njTWr{

delta 99
zcmZ1}c2bPPn3tEU?v`uxMvkkDK6UyT`MIh3<(WA-nTfgj!I`<GIf*5i`FXmod1aYJ
w`FXjic_q4O`9-?U`S}H@ML@Z-R9&C^<iwoJDzHNRw9>p}kdETboJ<Ow020C^f&c&j

diff --git a/CoLo-AT/robots/__pycache__/__init__.cpython-36.pyc b/CoLo-AT/robots/__pycache__/__init__.cpython-36.pyc
index 968f4ea9f0609e66583b9f1a61b651c8274854be..9fbfa1b359d1539e86fc883a14c1eca9b609c242 100644
GIT binary patch
delta 64
zcmX@axQLO%n3tF9NNIG;L=F!fJN?k&)S_bj;*8Y1^z6jE^kg7I-z7h}G&eP`q*&iM
P-zOhT=sJc>oTCN+t4S5}

delta 96
zcmZ3)c!-h1n3tEU?v`uxL=F$1IQ@+L+*JMY%$%Ie#9aO0%-qtP#FEVXJYCnkvdp6V
tyxi2h65X`?B3<YF{DRaXpj=t1u1|h)VoqiiSfPGeX<jl&NAbiOH2`l6Bgg;%

diff --git a/CoLo-AT/robots/__pycache__/robot_centralized.cpython-36.pyc b/CoLo-AT/robots/__pycache__/robot_centralized.cpython-36.pyc
index 50568596f2a6182b86836bd1966d5bab0f43e051..f398e784201849b2ada4d3786ab8e9f91f15f080 100644
GIT binary patch
delta 67
zcmZ1^(ImlP%*)Glq%=BaBZmZ&j;DTTacWVqesM->UV3(7UV1W+q3@EPT$-DjS5mC+
SobQtlCUhM`Hs>&H;{*WLXclV#

delta 99
zcmZpYSR}z=%*)H=bg?yhBZmZ&Po{oGer~FMd1g*dW@4^>aAt04PGU)Bex9ytURh>Q
weqL^BUWsm6evz(oettn}5m2ryRo5p!IWZ@*3an5+tu!wgq@#GV57RbI0I~!mI{*Lx

diff --git a/CoLo-AT/robots/__pycache__/robot_distributive.cpython-36.pyc b/CoLo-AT/robots/__pycache__/robot_distributive.cpython-36.pyc
index 47a8be69a6c7981177a8129559bbf71301d46d2e..da90b600c29a7f15a8efa73b8285c7ec01ba6880 100644
GIT binary patch
delta 67
zcmcbnx=oeCn3tF9NNIG;Mh-S+9WVXR;?$yI{o;(&y!7nEy!2!sL*FGoximL5ucTPt
SIo~HAOz1j>Y>r~C;RgWp+ZLDr

delta 99
zcmdm{dQFwXn3tE!>0)d2Mh-S+pDg{1{M=Oi^30r^%*0&%;LP08oWzpM{5)OPyt2%q
w{Jh-Myb|5C{32cF{QQE{BA{GZs;*Cda$-(q6<DEuT4`P~NJsHzE9M%00NuAFXaE2J

diff --git a/CoLo-AT/robots/__pycache__/robot_parameters.cpython-36.pyc b/CoLo-AT/robots/__pycache__/robot_parameters.cpython-36.pyc
index b45792f8a1629a9f208525a179c2b464f765faf0..5c0a10a0b85351858e365c063ea53d687f40cbba 100644
GIT binary patch
delta 65
zcmeBWe#^vR%*)Glq%=BaBFA4H5B<>M)S_bj;*8Y1^z6jE^kg7I-z7h}G&eP`q*&iM
Q-zOhT=sJc>4rH_e0P9T_nE(I)

delta 97
zcmaFM)XU6a%*)GFcgr<;BFA5!4E>D!+*JMY%$%Ie#9aO0%-qtP#FEVXJYCnkvdp6V
uyxi2h65X`?B3<YF{DRaXpj=t1u1|h)VoqiiSfPGeX<jl&NAYAsMjHUw<0NhX

diff --git a/CoLo-AT/robots/__pycache__/robot_system.cpython-36.pyc b/CoLo-AT/robots/__pycache__/robot_system.cpython-36.pyc
index 51373f8b840f6867913e1a6dffbd7dfe00f91edd..fdf4fa1b6761803dabb7c8be296bda7f1920a661 100644
GIT binary patch
delta 678
zcmZWnv2N5r5Iy50y0d*wE<kd*BnJ{jK#F216jV?k@(Ca@fR?@WVoc6nYt}vm3exZg
z`xQtuC^Z$7d;p4s#0StKAu48VlN``Ijo!|iee-rdZ-3qH-t70iPt~Kx@4JrcfbrbX
zKJ?;LGgK2*zU|=UPN(zhZggKu)RBHJ^W>1{iJ&67r$m*>ywv8v{jm$ny5v|g!csDh
zh!;tUmn_&J4XoK}Xr3)R*s|n}3plV$aMn<_u9+_j)yn8!^2y>Ge{R&t_r)ohK6%*t
z;0(5?`LuU%BxF&hD#wx8@yDCsC9<(pX$Tr?RS}azFi-vH_zI~Y$fVXhk&Ji_UDO3D
zUltOA8K0&xYx*&=7dW$1m$Mo4bed$GsaU~4%UmmDLd`g)JQotL)l*wO&5No8zZFa<
zM_5vm7c7mz8)uSJ)D)=1>$Pag^El&p$finw*$sxr5DJxL3@2^0;44fibxvDqSpWNw
z{qaB-Hn!@WJgHl?hGkpNk61lBJXiNi<U%qsZ9WF8^P!t>!Oy*Q@`^(X8x}S#j4j-@
raQ;N?V=jfaoPBdA+}VIZ{jZpy1(4ExC1Z3+1Lk!&UinY>F1-31w(7`{

delta 661
zcmZWnzfaph6pk^V#C8lptr7xBOBaNMh!7I6Fm~=nhYqKUeM*noKKI=v{8(7nQFVU>
zBVy)1=*aXW)=C{aR6><1_0D!7w9BW{_rCAl_uk!o?`yBV(`<U*9=?3It~;)S+H<>W
z*oe6#AcjI+)u3Ig)qZUcK8lnLj(L)Bn(9OM=O!*lML`jRiV+F`FN_jiTCkoHI`-7n
z$Fqm4mfV<umSuuRK_Ttv@3Z5@-oIovci~U9y7@hqn2a|^ja#Sn%80S?_9SAt;v$2d
z-uL?}=#5wzX)G})qmA>}Bt-q$ADq9jt{`Pn(h(zur&tG>6Lp$13??+;F)8)1W2Mdn
zT}md{kbIO<B4U9p$ucQ`L}EgL(=1}JUUaQ^p5<eOeq|U+1~@N<M})`d^;1U8W@$EJ
zuvwTAn#C!FPb3i$>Vu$jj$tIyl)$iBE&2jD%M>+JN^CzblD`?ug=MT_CXdO=Epfq~
zr&}yN7N6Wr1vFyBgw}V#()7~xkKkcz*<^*Tg;fiE3u_kMTX=e+>M`5lp0lgph3m`M
cD!vhk%m84vd&XjLjR*B**kAn5cpJX{1FzB25&!@I

diff --git a/CoLo-AT/simulation_process/__pycache__/__init__.cpython-36.pyc b/CoLo-AT/simulation_process/__pycache__/__init__.cpython-36.pyc
index 9d0372df15aae7b98875fd6917b810441fb19ca4..9911a68bb6d5909124222a8960179c2e0a77f33f 100644
GIT binary patch
delta 64
zcmX@dxQ>y-n3tF9NNIG;L=F!fFa6Ns)S_bj;*8Y1^z6jE^kg7I-z7h}G&eP`q*&iM
P-zOhT=sJc>oMQw4vvC$9

delta 96
zcmZ3-c#e_7n3tEU?v`uxL=F$1Ed7l9+*JMY%$%Ie#9aO0%-qtP#FEVXJYCnkvdp6V
tyxi2h65X`?B3<YF{DRaXpj=t1u1|h)VoqiiSfPGeX<jl&NAbiOBLI7}BlrLS

diff --git a/CoLo-AT/simulation_process/__pycache__/sim_manager.cpython-36.pyc b/CoLo-AT/simulation_process/__pycache__/sim_manager.cpython-36.pyc
index b567d4d86a5ddcbd5ab83757cc5b2d448d6a3b98..d643fa9309460c81f3c936277613a0a4947439ee 100644
GIT binary patch
delta 411
zcmW;IO-{l<6bEoBr8Je|%7vO#@C!kqAQ-=5jEQlFi3>M_NdskoMy7?CHj%_Du+T|7
zfG5xpZ{QJFb??GU7~gaA>%a4VN&9AQeOr3nG>xyQb^oEal=Y^4Cny)T7*N0e(DwT-
z1p6v*BS!sD%*IMiRfv2^z3N1D1IBnkR<#-&b+i&V)z(a62<mq!cf9T+nSE-vNhs3B
zvq97zr{ki+_vD))R*w>iM6C4i9THC?I&wU-7n@3B6LTKfK`bPPY#>|6HV`MpM8xVi
z@<RBT_ssIiE>=aP1dtSdRqz646QUDNM${R4BINrxR7NV;%HPb2LDJ0gonhb-nK#Q9
zHnvr4buLCu=rPJ`c-BD9kOQO+5IyL?^}*u*+x%}jHGi~29JrQG*;DHr$1;AzMw1F_
YheNLutMDAe3xVL5a-PMz)Ru1k08r^_+yDRo

delta 375
zcmW;IJx{_w7zc1Jl+skMOh(j%V0;4%RsrK{6k{A5G;wfZXcS7kq@{3Iqpa=@<Pt{~
zKY{5daB*^Ux}Cv~;O6~VetGWsKgr#5lfqBIs#9t={zk12t3{k+_aO>>_lX4oy9<*S
zQZ$H?@0mAC8SN+xc}bp`JGv#zigs)+QDqCi*YUZ>I?pQkGH=p4$lD`Z8C~uV%7j;C
zVvEI-R4S!N7iV4ZEU-W`Y0g}c#wzM%umK972v)!vSl6hu7z$+!9$Bm(^Eo?rP)1Y%
zo5(Y`RqzsOs!J~(_I)p4BIa8da=|uInWGD~%7(1x1yNhc8m*qzkk*k}T=cz|g+6bf
vw-3(2F4)s3E4mlc#i!d$HyzVo^9TdC^3^%aTwqLoJ9%;`Ck{StK6m{Or_E&b

diff --git a/CoLo-AT/simulation_process/__pycache__/state_recorder.cpython-36.pyc b/CoLo-AT/simulation_process/__pycache__/state_recorder.cpython-36.pyc
index b4fff0660725a669b0823d3b42ca96f078fc881a..18718dff2454bc9ce43b6931a97894a27132023f 100644
GIT binary patch
delta 577
zcmY+BzfTlF6vuCWa6ee!?j&%Ccoz-E5QGaH7$r0&G#WG(+KeWfx!Ymy!rty==8a)(
zfQFi68e0AX$yr*`+E{LHV?$zZ!o0nhX!F_6zM1#lceCfqm&@hO^z`Jl`tb3p{LOB?
zZNHaH$hPdWI6S0r*fY}JOL}U^VvwUB_Q0};-gRFZp1Erl8GUsx?B?A<p^$l@NK_nv
zP|z2PrXubcd~SfQR_FCeY2Rw-@1+OUg1#xe3i1{^1X5uV{3D+ya;#~tRS>ktd<hho
z|A`9XDIQRuKBSzHa`?9eZQS9Bq?>>r(JqU`60X0mPbX$aU&;rz$=UFJIwtg=nf+r@
z>`QK@zgw}z9A4Zp_|IoEhetq)2ZK-vvrZ}w1Be*$Xb|{Pb$OJ4=wR;_Vg@mR*fbz+
ze*DO2=14UZ6)aXH10Sb6WMmTkD33b!H216+v5>_9(Z8xIQ^YariEFSybgQ;#ZQ%Fl
z*R`JYRA1Geb(*-ag;+&AL98Lx5t!tkh}-!3LNC?d%(abXb|Ou<RAw%x=6@~d<NEW*
dq&}p8;iEx!ou_D|IDU#<9N-}C<T-xVo40?$snq}g

delta 546
zcmY+ByH4Cd6o%KAEM6S;k_ZUlzM=prgdoICf)EM{!lj~#QdqO`#A|65TQkQ5(@^jN
zz(fiyFAxcBOBE?Eaf&oio+3@=tQ85GZ@wA(obzkucII-%TN)VXe|7Qo<DGYJSGN}0
zNrx|diG_$+r~BKEEerL5yKDH(owu<2)4j1LMoXm<`jJes;}B#9Z8>I6<ha4vFzBh;
zkiP2Mw_fO9ebd&+wf8>kRoD?=g)0b7gEUcv<~^-}WS@ATfB_Fqm_$EILk28>Jmu&`
z|4Yb<3STCz1OmZYT*yh9KGps1<+h19>;G{~-fC_C9LsH$n$Aaawj89Nb_^c*b97Px
zSpFPGnKYwRmO>1IqtC)HP+2P#3COopyG5uHo)9(-(CvMmC3RHRkrlFv;t)`mCdYpA
z(_YNN^TNx5NBlTM{kJyv6df}jU4uo`Z|X0t4ZT-Cv9|S(`r6Vo4QmpX2`hwE!Ww~6
zJc##>wjcC-<8W}@DB9+p9hEB+l$mE5(U*<&CN??@D7c7QuhX0i%f%{psexk}3~T$@
F<UjeotE&J2

diff --git a/CoLo-AT/simulation_process/sim_manager.py b/CoLo-AT/simulation_process/sim_manager.py
index d2f6e8d..c4bf8c4 100644
--- a/CoLo-AT/simulation_process/sim_manager.py
+++ b/CoLo-AT/simulation_process/sim_manager.py
@@ -14,11 +14,11 @@ class SimulationManager():
 	def __init__(self, name):
 		self.name = name
 
-	def sim_process_native(self, dataset_labels, dm, robot_system, state_recorder, comm = True, simple_plot = False):
+	def sim_process_native(self, robot_labels, dm, robot_system, state_recorder, comm = True, simple_plot = False):
 		#dm: dataset manager 
 		print('******** Simulation Process Started! ********')
 		print('communication: ', comm)
-		self.dataset_labels = dataset_labels
+		self.robot_labels = robot_labels
 		
 		start_time = dm.get_start_time()
 		duration = dm.get_duration()
@@ -57,7 +57,7 @@ class SimulationManager():
 					comm_rsp = request_response.Comm_req_resp(self.time, rbt_idx)
 					message = comm_rsp.get_message()
 					sender_idx = (rbt_idx+1)%(robot_system.num_robots)
-					sender_id = dataset_labels[sender_idx]
+					sender_id = robot_labels[sender_idx]
 					message['data'] = {'subject_ID':sender_id}
 					message['groundtruth'] = rsp.get_groundtruth
 					comm_rsp.set_message(message)
@@ -73,14 +73,14 @@ class SimulationManager():
 		print('End time: ', self.time)
 
 
-		return state_var
+		return self.time
 
 
-	def sim_process_schedule(self, dataset_labels, dm, robot_system, state_recorder, freqs, simple_plot = False):
+	def sim_process_schedule(self, robot_labels, dm, robot_system, state_recorder, freqs, simple_plot = False):
 		#dm: dataset manager 
 		print('******** Simulation Process Started! ********')
 		req_type_list = ['odometry', 'measurement', 'communication']
-		self.dataset_labels = dataset_labels
+		self.robot_labels = robot_labels
 		
 		start_time = dm.get_start_time()
 		duration = dm.get_duration()
@@ -94,7 +94,7 @@ class SimulationManager():
 
 		robot_system.set_starting_state(dm.get_starting_states())
 		# due to adding data
-		robot_system.set_start_moving_times([start_time]*len(dataset_labels))
+		robot_system.set_start_moving_times([start_time]*len(robot_labels))
 		robot_system.load_map(dm.get_landmark_map())
 
 		next_possible_time_array= [ [ start_time + 1/freq for freq in f] for f in freqs]
diff --git a/CoLo-AT/test_simulation.py b/CoLo-AT/test_simulation.py
index 19d3ab9..405984f 100644
--- a/CoLo-AT/test_simulation.py
+++ b/CoLo-AT/test_simulation.py
@@ -9,12 +9,13 @@ Created on Sun Apr  8 17:55:06 2018
 import os, sys
 import getpass
 sys.path.append(os.path.join(os.path.dirname(__file__), "."))
-from dataset_manager.existing_dataset import Dataset
+from dataset_manager.realworld_dataset_manager import RW_Dataset_Manager
 from simulation_process.sim_manager import  SimulationManager
 from robots.robot_system import RobotSystem
 from simulation_process.state_recorder import StatesRecorder
 from data_analysis.data_analyzer import Analyzer
 from data_analysis.realtime_plot import animate_plot
+
 from pprint import pprint
 
 # load algorithms 
@@ -29,32 +30,35 @@ from ekf_gs_ci2 import EKF_GS_CI2
 
 compname = getpass.getuser()
 #dataset_path = "/home/"+ compname +"/CoLo/CoLo-D/UTIAS-Datasets/MRCLAM_Dataset3/"
-dataset_path = "/home/"+ compname +"/CoLo/CoLo-D/CoLo-Datasets/official_dataset2/"
 
-dataset_labels = [1,2,3]
+
+dataset_path = "/Users/shengkangchen/Documents/CoLo/CoLo-D/CoLo-Datasets/official_dataset1/"
+robot_labels = [1,2,3]
 duration = 120 # duration for the simulation in sec
-testing_dataset = Dataset('testing')
-analyzer = Analyzer('analyzer', dataset_labels)
+testing_dataset = RW_Dataset_Manager('testing')
+start_time, starting_states, dataset_data, time_arr = testing_dataset.load_datasets(dataset_path, robot_labels, duration)
+
+
+analyzer = Analyzer('analyzer', robot_labels)
 
-start_time, starting_states, dataset_data, time_arr = testing_dataset.load_MRCLAMDatasets(dataset_path, dataset_labels, duration)
 
 loc_algo = EKF_LS_BDA('algo')
-robot = RobotSystem('robot', dataset_labels, loc_algo, distr_sys = False)
+robot = RobotSystem('robot', robot_labels, loc_algo, distr_sys = False)
 
 sim = SimulationManager('sim LS-BDA')
-state_recorde_gs_ci = StatesRecorder('LS-BDA', dataset_labels)
-sim.sim_process_native(dataset_labels, testing_dataset, robot, state_recorde_gs_ci, simple_plot = True)
+state_recorde_gs_ci = StatesRecorder('LS-BDA', robot_labels)
+sim.sim_process_native(robot_labels, testing_dataset, robot, state_recorde_gs_ci, simple_plot = True)
 loc_err_per_run, trace_per_run, t_arr = analyzer.calculate_loc_err_and_trace_state_variance_per_run(state_recorde_gs_ci, plot_graphs = True)
 
 ##############################################################################
 
 testing_dataset.dataset_reset()
 loc_algo = Centralized_EKF('algo')
-robot = RobotSystem('robot', dataset_labels, loc_algo, distr_sys = False)
+robot = RobotSystem('robot', robot_labels, loc_algo, distr_sys = False)
 
 sim = SimulationManager('Centralized_EKF')
-state_recorder_cen = StatesRecorder('Cen-EKF', dataset_labels)
-sim.sim_process_native(dataset_labels, testing_dataset, robot, state_recorder_cen, simple_plot = True)
+state_recorder_cen = StatesRecorder('Cen-EKF', robot_labels)
+sim.sim_process_native(robot_labels, testing_dataset, robot, state_recorder_cen, simple_plot = True)
 loc_err_per_run, trace_per_run, t_arr = analyzer.calculate_loc_err_and_trace_state_variance_per_run(state_recorder_cen, plot_graphs = True)
 
 analyzer.algos_comparison([state_recorde_gs_ci, state_recorder_cen])
diff --git a/CoLo-D/.DS_Store b/CoLo-D/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..112bb0c0e38fbe66bf4c642986eecbec3aaa79f9
GIT binary patch
literal 8196
zcmeHMT}&NC6h7xd=?*PrsAYi*)f*9kdRzG^1zM>WxW!Vbtpy6DwXpZ@wrpH>@$O!J
zrQ*+{ZK6>V`=B<BFShZ?KInrlMx!xNV@PU^zWCsSFTVO<)H6GKNehJ+6D8?RGV{&O
zIcH|hnQwP;?gaqs%Ib{(<p7{i709<xbC)9IqOK~DU?iUq$sS-gBtZj@s=G=%90(&2
zMj(tp7=bVXVFWfp1nABdMOowCm(s8eBM?U5o{WI_KE$XBOa!<n(f@Q%<EH?GA_edZ
z^(hbVZDIi?0$h~no6?*zd%(aHgA@a$Imu%}oiGvLqC{y9D9r(bl`+Ur&|jVGV!k?H
zLSop45eOr&Is)SLDS~crppWY9`MW`RyqlVKCsUS_BCW4dla}dv4GlLjl9#`!V6&nW
zDuqRb&-9Nw)BT?2W!)|<b6Pwd*Szsm&>wIdYq_tbPMXH_DBscT*q&zEM#eWbb%RvS
z44Jm>Om{h1TX+3=`lUcon8HSR`TTryb7MT#+Pn~t%{MkRG{<A@EqfOhm{L~L*wH&S
zF*`T^{KAE|rI#3dDWG_T*O%9K*>b14rOT1ooXbDtTxM*G+VjNW-cio8u5rS!G|!we
zlA33@qrBK9-+R-JeLQ1Kk)K0p$I4FFBq>R2Rys?{MyF-<n{$Rc>=`qj=#98e#_RSK
zhfT5-W21b#us=5GnU3wAG%_wBW7oEpMjxoI+uhXqSm#pFwqjngov{&$k?oo1Od~Tm
zZR+0mDa}nAwr<+zho(%|Oj*W&txXsuk@p!};@gUg)H1a~;nm7;Hf27SHN9DXuF5Kv
zozZEBM;%?vrt=#L^Cht=RXr^v-5G;gT~YkuhiX(d;L>in7AV&5Vr<}9Iz;Z$QeuO9
z9%bsFrKJpu>r9$8?`7)Hlyr$d84R|yGj%xaOiYj~ZVASN;f{l<dRDC5r@7v-NyDaH
zeM!svUR0?`ML8v;ow`oDs!r6&gZAC6PBh3TE^d|zh{HkXfe}c94b$){T!c$-8Lq;I
z@DY3pU%=P!4SWmV!7ca^euAIjSNI+Ngumc#1Y}r>DwbgkYp@pUupXPR729z?9>63X
z!9F~SPvH=bqJ}9<qlH<V!C9Qcm+^Ic1K-5A@LhZlui!PjjyLcV{7mjGlB4Jm`J8L<
zbLy@0RuV;nw=#0}ZWN6YMQi^Tir(5Pd3oQC()+9H;*I+bB$m&0#Yx^lw%hsTlS;D2
zXH$+X{<$uxW#tvoO13jc?v<n;B>ovQiXai+EVX0N2NmKCSNum-6Rl-LZjMq~6MaNc
zctpzfL>n0KndeDaGiy<ZxqOq9wz2(;xXtsWw1Yja5QTYxly<Qs6K@%ZwYaz@6R*Gr
z@G-IQd$>v5`vra@_WeQ3D?siuFN&486CWn_)#EOVV+-!XHe#UQ-y!V5!}v6wzyTa2
z7LE}M)2QP)bZ`<g=n@+*;0yR7zJ#yfMZAQs1+07rudd)>Z;pWy@%s8aoa)cmmSdkM
ztsIl@oFIJK$Pvhsn=2Rj|Dm;i|KG?ignJ7k5Juo%Mga4Z{mCwxWUY_5$hBis$Eb=T
v^cE%hCe--pIH8}86E6Q@Nc|Y83Y$cLixO#s%76YtKzRR$_rK4)d%O7uOo-h1

literal 0
HcmV?d00001

diff --git a/CoLo-D/CoLo-Datasets/.DS_Store b/CoLo-D/CoLo-Datasets/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..d60266028d30bf24c0dcbba150ec026e642d33fc
GIT binary patch
literal 8196
zcmeHMU2GIp6h3EZVP+_FT8m7v3oE6e!lK=_PzzPJe?a{S4ck9xWtrU>=)~EXWoLFv
zsnu09`am%LM5D&UpuR|bA<+lr#RnCmFUCgE2VeYq@I|99KIyr0X9;Z~SxJl%<~DQB
z%sJ<qx%Zpz&du2Z0QTgy7=Qu*0v*iCE2+CeV{vvYX(8Xkf=GCPG#H?Q2}#hFWCxCb
zfq;R4fq;R4fq;Sk0|T^YvnE_+-{;Yw4;Tm-xFH!}--iet%*K6N<ktIiQ0J8ZWGl$+
zH9Ds{z{5m*8~1IITMtV2<kbWEQ1nX-<Zy~dSUTCbZ;RY=I3R}u`cFo`LP788go}9T
zfN^evK42hVU?~G^+0=jyN9fO3P`|6-QZ4U*PBxaBa<VDYPEq!!sjO)@ZcEG87+O|Q
zxqO8nNP@IVdN46*PbFN{%{x76Zk$~Ws_taUKOeGf^U}GR8Zq>#q+Hi)TdrzYdd>qI
znocPbqlTr~Q$2Rx(j4zT2_6sxQ4o`|GBeZG7K=tY+GeAXnOJK}TQt(Sy?u686xKGy
z?ix6pnLaV|@a!Wm^Vy>R#enKXvwx+$shdY*iL{-`GW43(7k?-d<rI23VWH^~VHZn;
ziPB1C_a12=Dc2T=hkaSsuq|gq&pBk1a<xO;4Ww;rFsHNlXxcXO8Ouq^HEGpM=S|hs
zyG=7;oY0*yS3mBuvxAPEb9=qSq%7wheZNk5MnUhRY-h}%+p#nm#j{mw)@^8P-qzaD
z)jhvzb+s(jN_C?J!!c5(K0IY;?&Ja0N$ZwoSVs>M^_FWKG4z~R6M9P=veb+|FR!j%
zb@N(98Ox`PV|l}!mKz0u->X4cFUs!<6B<4C0b658&5I}v%0@vLXa3%tPCa)^P0D6b
zR)rylM#pclMT&~DBMv=8I^fVdq?jOU;;^Zvbd$T<r5%ENpEz3JtZ`?jv`eVLs5nM1
zEJNdVxchD;F31;zL+si2tB$)bt6TJVHjADHMLEFy-I}Irf*>@;o7tNN@MbDD##{I$
z?N9Y^JMBh$VS?5~7EZz`I1SIhtMDew!8te&pTGt93_gc1;9K|}euSUkXZRI<gWur~
zM3itPR-uBo;zrzrO}GWyupM_`2X<jU?#8`1fctO^58yaXpoST=@EGQB2A{wu@hN;7
zU&7b%Z9I!}_zu2@AK-aDvQSCj_xdCC4Sqx?Wvp$}DfnwUbm&S_4fpSs_Wn0g{icfP
zv!?c@x;5(?H*am(zVn_-uXfSfTp+m1RptqcE5}n*Nikf>q~iK@w@Be((wcsJvHDA^
zLSDgCCCszz4UuqIW^&?};-;`fdKbM|^CpUg{77^gMV67Yc`Vi{h2=_8F~{xbkR-W+
zWX_|zx+uDw1kI!IZi)h1aN<8#<QX^%?~@w8gp2SUDe)Il;h*pqR$?`-#d>VOFs{eV
zcpGlTC~hMS-ie*K6MH=!?!iIak3%?&BbY=L)1*b6w3sC=I_TmoK8law<9HHJ;c0vp
zpTp<z1$+(9;2VqdIIu{MbLHtVWB2v>dkyVQ#gD(L{II)Rq;`$S?Br!1`Ex}!@G@3T
zA(698+d4|wr8UTq*GpT*2dc38zyIpL|6ecD3C0;P5HN5J3}8iHqOXU5SNn*uT026=
zVLDi2c|~qL2z4xl`Mq+StY40MzK9=-`?kof2PKRLCCe-MfBlDmVE+&HfA;_B1@-NX
HxBveQ#6wmy

literal 0
HcmV?d00001

-- 
GitLab