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