From 6c48c701f98fb92884e2d2512b6375a36fb1e25c Mon Sep 17 00:00:00 2001 From: William Chen <billyskc@ucla.edu> Date: Thu, 25 Jul 2019 16:56:29 -0700 Subject: [PATCH] able to generate txt files for trajectory with landamarks --- CoLo-AT/Cooperative_Localization_Journal1.py | 13 +++++++++--- ...ative_Localization_Journal1.cpython-36.pyc | Bin 2598 -> 2651 bytes CoLo-AT/colo_d1.pdf | Bin 29974 -> 29974 bytes CoLo-AT/colo_d2.pdf | Bin 28994 -> 28994 bytes CoLo-AT/colo_d3.pdf | Bin 32559 -> 30314 bytes CoLo-AT/colo_d4.pdf | Bin 29597 -> 29597 bytes .../__pycache__/data_analyzer.cpython-36.pyc | Bin 8859 -> 9199 bytes CoLo-AT/data_analysis/data_analyzer.py | 20 ++++++++++++++++-- CoLo-AT/landmark_map.txt | 9 ++++++++ 9 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 CoLo-AT/landmark_map.txt diff --git a/CoLo-AT/Cooperative_Localization_Journal1.py b/CoLo-AT/Cooperative_Localization_Journal1.py index 476e7ab..edc1d17 100644 --- a/CoLo-AT/Cooperative_Localization_Journal1.py +++ b/CoLo-AT/Cooperative_Localization_Journal1.py @@ -51,7 +51,9 @@ def all_algorithms_comp(dataset_path, robot_labels, duration, graph_name, robots sim.sim_process_native(robot_labels, testing_dataset, robot, state_recorder, simple_plot = False , robots_cant_observe_lm = robots_cant_observe_lm) analyzer.calculate_loc_err_and_trace_state_variance_per_run(state_recorder, plot_graphs = True) - analyzer.trajectory_plot(state_recorder) + + landmark_map = testing_dataset.get_landmark_map() + analyzer.trajectory_plot(state_recorder, landmark_map = landmark_map) ############################################################################## ''' @@ -69,7 +71,7 @@ def all_algorithms_comp(dataset_path, robot_labels, duration, graph_name, robots testing_dataset.dataset_reset() loc_algo = Centralized_EKF('algo') robot = RobotSystem('robot', robot_labels, loc_algo, distr_sys = False) - + sim = SimulationManager('sim cen_ekf') state_recorder_LS_cen = StatesRecorder('LS_cen', robot_labels) sim.sim_process_native(robot_labels, testing_dataset, robot, state_recorder_LS_cen, simple_plot = False, robots_cant_observe_lm = robots_cant_observe_lm) @@ -110,4 +112,9 @@ def all_algorithms_comp(dataset_path, robot_labels, duration, graph_name, robots analyzer.calculate_loc_err_and_trace_state_variance_per_run(state_recorder_GS_SCI, plot_graphs = False) analyzer.algos_comparison([state_recorder, state_recorder_LS_cen, state_recorder_LS_BDA, state_recorder_LS_CI, state_recorder_GS_SCI], graph_name = graph_name) - analyzer.generate_result_files([state_recorder, state_recorder_LS_cen, state_recorder_LS_BDA, state_recorder_LS_CI, state_recorder_GS_SCI]) \ No newline at end of file + analyzer.generate_result_files([state_recorder, state_recorder_LS_cen, state_recorder_LS_BDA, state_recorder_LS_CI, state_recorder_GS_SCI]) + + + + print("Animation Start: ") + animate_plot(dataset_labels, state_recorder, analyzer, lm = testing_dataset.get_landmark_map()) \ No newline at end of file diff --git a/CoLo-AT/__pycache__/Cooperative_Localization_Journal1.cpython-36.pyc b/CoLo-AT/__pycache__/Cooperative_Localization_Journal1.cpython-36.pyc index 3af8e2339cde74a005acc5b2cf61285fe765bc9b..c1c0643406051cd323648b71a999639448d18487 100644 GIT binary patch delta 413 zcmY+AyGjE=6ozMZXZA9C$=)JbXe0;{H8x^n5)pg^ZA}P_L{=jb7qplq$XeJ0i-VQD zU|}J)mOg|iSc{dVozBV%rZ^v*Z+;Fxa}&KrY{hZd^TOJWQod(biW?z>3^|)}j%VOb zIj_)|WhgBP7F)s<C2o%tj0BDC3}KWw@TpFjPKHw_(YXtcY8~6~p;pXN;XDXP?lwpn zzEx)Wg%4nlEDrzfcwCj<N+>4+3yV{(jYw)I8V`$nBygsrp>SeDCaADQ$W1{w8)>o+ zi_LuJ)^9r&`?9Mid=ZGSM}^AEg%AGw3>z46w1sLD@I+3%8h)`4x`({q9qf1d-6Lqy zHV)yMUie;bH|dPMRkb#b;7psxRk+no=wMp@8O-W!+<>9vHoWPRL@}@nUwRX_9#)M@ WJhvo6gL;nT9IYIUaWvuGT>k<8ree4N delta 353 zcmY+Aze~eV5Xavod1>;JG(QC$R0Kh44WbTGD=uzM+Ac2b^gwuH4d`&0;@}b-4tFOf zMbyE6!O_jZf5w-#gAVtB`*QdFa`%%xW@0Z0#P(o!^pw4dd!wB)#vEP8x-JuXHf~a( z1hy*xhFp0S16KHSYA)^j6_i2Ik^w?xlpzMnK|qc^hSEh#irUsYLb**Zz1o;L(22R~ zYQO1jNE0&$j~=uZ&9#_5&Ac;93Z<!4ui(<s-k#*ruC3B9Y?;ibQ(CdQJ3>X+#t<Wn zF}dJq%50h^RQy+Ou8?fVIt%n=UDG)qLqZ??md@-Er1WBMz#4tqS2S#mp+|3;1B#tR g0|e#HA@tvsa|i32`Z<$sgRKVr2EG3{pk;CN3$$HM*8l(j diff --git a/CoLo-AT/colo_d1.pdf b/CoLo-AT/colo_d1.pdf index 92c82dfbeaeacd53bbdfcda17ff404c11ad29060..c891ce893ce94c308fa333524367f3ea8688e73d 100644 GIT binary patch delta 22 ecmbRCigDU2#tjk$?52ihCWc0qo8=3>vj6~M$_MKJ delta 22 ecmbRCigDU2#tjk$>?VfB#ula~o8=3>vj6~M#s}*F diff --git a/CoLo-AT/colo_d2.pdf b/CoLo-AT/colo_d2.pdf index 908acf4b7388c02316a3cb946d4266ac5233d39c..7292d46c4db2dac6fe1f24abf3170ca411d839eb 100644 GIT binary patch delta 22 ecmX@~i1E-P#tkkx?52jMM&_nwo4s?svj6~VwFrg) delta 22 ecmX@~i1E-P#tkkx>?VdL21Z5}o4s?svj6~VTnKys diff --git a/CoLo-AT/colo_d3.pdf b/CoLo-AT/colo_d3.pdf index 38ed4bbcd91282b1d369bcc97d840bb996df2739..c7c1af23d93c05714f20aab71f0ed270e898d6e2 100644 GIT binary patch delta 18657 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 EFR>0Rg#Z8m delta 21024 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 A)c^nh diff --git a/CoLo-AT/colo_d4.pdf b/CoLo-AT/colo_d4.pdf index cf0ff65e1d6e1f7216418844fbfb0740adc50d1d..9d145a563732bc378554f7858b490a26c8f461fe 100644 GIT binary patch delta 22 ecmbRHoN?}R#trlH*i8-1OiT>SHZRNj&H?~!PYC+} delta 22 ecmbRHoN?}R#trlH*i8&g3`~v9H!sWk&H?~!E(rMm 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 3b90640b969c7635f4b486ef6f71cf07b56cd3df..be77288af1d43e6e3097def5b1f639f6ae010e6b 100644 GIT binary patch delta 1957 zcmZuy-EZ4e6!*2A4?A|6bp0S%)ntV+`DGjHKA@XMfpvqjh0$)B<ZT$Y*KLzJAH8w6 zG_w_nfP@f}Chp#bH1WdopxO(60fGnKc<=*zL#i~1N5o#>9H-4viA4A3^L5Yp-IMs- zM{|E&Qm1uYeQ<W>_RyIh)aP+xZvP!WEXPj^g1}Dmsnj>*7=N02K}`Nc%K`qPP2|im zkJ-zP)o_^Qm8*_b_8fM{c1`}THaTsMxK*p_*v(DmRGpe<E!Q_|o|$KkYkTE8&j0wf zuj)TaosY5R0>UD~HGoj6ZC0;^seyD%LT40v3MJgI6WMUrP7H0hbtjI}bp#Q>kb8Uf z=Vy3MBf-wV<2ri_gJ%Fj#eupGv*BDi8qXrU4Pazh8s&Ep-b1*Ea0%gkgbxs~Ae%?{ zkpG^Yg0}sWoq*Pk4cA0+ihnWklWv385POHQ`Q_1zWOkd6{zl>#aN8VT8=o4TMe!p9 z4FT)3GJiZiX{@5ShA@ZVAgmxnye^}31);?M9Ctf1i1^9EQeYwPrVk{2i3;l?OZ!4a z2qceCLdC8a$i7?=>1$m=gjFGkd6F-p?28aBvCmrbzF3jF!Uf^>`CDQThm{DDe!@?# zihgW8!DeZ)67%C|=}Ljp@ne-pS?#5P<i3IlH)d}LP$~hbg-X&VT@t83LWxMETE3_F zQkOuP29(eO-A@56)l+@FOU4D7f+dd&5w-muZJ(zzxJlpV8uX-JdN#fXVwf_4$y*P- zl&ASBbZaOl<e+d4iblj*L7HX)rDgW1mUgKsGz&cdsyU&98~ik^NTu374FU#y7zL{< zpAiD(0ok|;L=>7p4GH!72KMt2!9-Uef~Qx~T_G5P=MWu^2siq4DA4IZ>*xV!n}%%* zG7y;ArGmuzr09sBp`*S&CeX3_u_*Cg9FpwCA;AnC-;I)q0A&8Sfh4l@6`G^@`(m_n zm>%5II^aA&C+J~X*maH|Zz?Pb#_Oea#<gp-YO{5#YB!F0EiWW@+tRCL`hpbOa_eUG zc3a*842jwvyEj9F;=P#@M^CQ2e5&m<45W&)?A6&;FT=vX+phG-3I8_#Yi9}m{cRcY z7u!k1sDiR572A4W#H#J|K2_a&XYWE5V>Fr$p<Hh`wJ>&<;T)U=M;HUC+6?0>byl^# z=*<md%Wl2tu>2<wz)XyinjQ;d%&x6Eq2xL>{`BA*pAHO|P#bJbsImG|-LqVK$#I)u z0;cRr*>y~PFQ{p`^<^`)r&?til2%BzLX|nqP1m!a9J|TML|(ZSl`qp4KR$8nEY1so zBuQLWi7Lt<CCM1kNILq0RZ__?$w%KwQI#f%4Ens7B$@5cCqglUGpn6kxUx8h-Dfpk zD-=_8FtP@Ej`QydNBEOMlK))LQqk1DfzFfsS>Z_MO%$Uk7Y(=;s#^%yBX$qr96%^H zH<-tK6eWA9X&mTH;&m{X88|syF7=w_FlO0|nR?TM>D^bA-i;M`Y<IP8)oi%8KxO%8 zWFEmX19KBqmp?8}O`1wSo_&SI)#%ED^wkFYl0PdN#Nx`KcJ4ShuaykKu7Y4lC02oF w$q-BY(V-KCW1#d-8U6lcRI3PIBXIuw(CO?uECq_8gfX~%8e8lfpPpL#4|kK^K>z>% delta 1621 zcmZvc-ESL35Wsiu&KLXqkvL6a948@hRUu0Vk`|KkQ7IKoTH4e_{ZI-dn2Yz?e4Ksu z-X?LwSr%BRyc7z{8$$dGK*R&QRpJRAcq`KW0Z5UMD)j}?2Vmx$ueR9Q-_7jo&d%)J z%!9LE%~&UrN$bmdCl?>S^quvmN!9jW<}t&ZB82cMnU8-#$K?<4M^wpg6ItLdiJ`0- z5Zo?1rJBP_Vx{7gR)oVhY*)#D6C)>7pIa$a9NS;#PQ|H;QrTOt3N^?b*A^=q&i~l9 z-%5V3x8BAx-$A^KSO6%!x?Z`e;)mRE9gX4INtAHIPB@3Vb|N^3TX#&977-etV0898 z?w@0xg)V*)9@qG*xcD`IiaBtu!)?ebiIcA*rU8XCPoew<;tb*};vC{l#CZfB$S)w~ z<o$FWuI=yi5M1p*Z&jm{^5edrl51csXq{x%<XrzOJ-sdaf1~CMZkv_MnSB3g6z35M z#5BT}-(*G#brd;b7U3akh%l~;C>0Tx<R2Ngg|~yhIE)w!T;%^l2?;bt)-;|9$SP@S zKpN0CZR$c}lxc0PX*2?%2U?q+A&a#Itr=;Wfw5{ZT|@%2O*4cUFd`Y!rj$HkG50L3 zr%YXYrl%~?155q+`HssNI&a(+rsxVF7-nTj77otBp<!U6*~Q|`Xyf{RsB^oaMp<Gt z8npDl>}&|SvIJb92IG*1^9QzQM{65Xq#3Q>hcKcnhB9UtL@}KD&tY(}HlajVtMN8z z#^9M?$uQX3ekg1~YvHxA6kJ&ZudHdo!sKokki|hjtUIt+PhbuZmcA1S9q+AsJUEN> z?yfQ@xl8Ns&tniNc7*k@{ySQ@vzra<YDF~munfzw!Chk-<7VUvDGU|2Qc%sSPFZ;T z)(fH`6x~$xa#$^o=;)ILNiBIT_iNFGPiXJ+{Sf8ePN6J=tPHQ_RQVE$kxdTGLFvBW zD#GpRO^{uus>~Z6uh>FG%C6@-^2ecxT>PN2RDyd;o+!EYlH>ZkEYA-Q_TNB%`U-0( zi#z_hD@x#0R)$|ZhJAq0C^a?9uxKwG4F4mVrH@bp^mAI2rnY|{R$32M*H-lM#Va$I zDsRYpqoeUHnB*UzWn8|O8<o{ux6F+tQel57q48yaoE{sH7sgVpS8ygQ%W0H8LbMT> zF~5yC1yF`x=YoHNqHZtwg(IB=*Kwl9^~%r<y=uwfykv8(lD>d;v#-WFEjF~+?oF>$ zwV~01$_K+5e-4j1ROqN~$cJP35f$5C&p*YptguIe`$~;}CXeR}^paf2Z#^>s#;e5w z<<~(d=tVBz3A%icKmP1E$ekqdm2w}kiTE7xwVXaWnV#U-Q3^2?fo@s5#ZSrGN0<Kt DCJ={L diff --git a/CoLo-AT/data_analysis/data_analyzer.py b/CoLo-AT/data_analysis/data_analyzer.py index 35423b8..aad643c 100644 --- a/CoLo-AT/data_analysis/data_analyzer.py +++ b/CoLo-AT/data_analysis/data_analyzer.py @@ -283,12 +283,28 @@ class Analyzer(): return arr_loc_err, arr_trace - def trajectory_plot(self, data_recorder, robot_labels = None): + def trajectory_plot(self, data_recorder, landmark_map = None, robot_labels = None): if robot_labels == None: robot_labels = self.dataset_labels - robot_loc_time_unit = self.robot_location_at_unit_time_interval(data_recorder) + # generating landmark file + lm_file = open("landmark_map.txt", "w") + lm_file.write('#id' + ' ' + 'x[m]' + ' ' + 'y[m]' + '\n') + + landmarks_loc = [] + print(landmark_map) + if landmark_map != None: + for landmark_id, [x, y] in landmark_map.items(): + if [x, y] not in landmarks_loc: # duplicate landmark with the same position + result_str = '{:d} {:2.4f} {:2.4f} \n'.format(landmark_id, x, y) + landmarks_loc.append([x, y]) + lm_file.write(result_str) + lm_file.close + + + # generating trajectory file + robot_loc_time_unit = self.robot_location_at_unit_time_interval(data_recorder) trajectory_file = open("trajectory.txt", "w") diff --git a/CoLo-AT/landmark_map.txt b/CoLo-AT/landmark_map.txt new file mode 100644 index 0000000..c5e2dea --- /dev/null +++ b/CoLo-AT/landmark_map.txt @@ -0,0 +1,9 @@ +#id x[m] y[m] +113 0.7155 -1.9365 +103 0.8365 1.1135 +107 -1.2505 -0.8313 +110 0.9218 -0.7042 +109 -0.2887 -2.1572 +108 0.3667 1.2349 +120 -1.2377 0.0993 +124 -0.7332 1.2293 -- GitLab