From 360394a60008452b73caf7f4309fd15d49fb3a44 Mon Sep 17 00:00:00 2001 From: David Maria Arribas Date: Sun, 14 May 2023 11:31:25 +0200 Subject: [PATCH 1/2] New: refactoring code to work as submodule --- manager/__pycache__/__init__.cpython-38.pyc | Bin 123 -> 0 bytes .../comms/__pycache__/__init__.cpython-38.pyc | Bin 129 -> 0 bytes .../__pycache__/new_consumer.cpython-38.pyc | Bin 3537 -> 0 bytes .../libs/__pycache__/__init__.cpython-38.pyc | Bin 128 -> 0 bytes .../__pycache__/process_utils.cpython-38.pyc | Bin 2358 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 141 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 155 -> 0 bytes .../__pycache__/client.cpython-38.pyc | Bin 2106 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 131 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 143 -> 0 bytes ...ython_application_interface.cpython-38.pyc | Bin 2012 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 145 -> 0 bytes .../__pycache__/docker_thread.cpython-38.pyc | Bin 1337 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 140 -> 0 bytes .../launcher_console.cpython-38.pyc | Bin 1931 -> 0 bytes .../launcher_engine.cpython-38.pyc | Bin 2562 -> 0 bytes .../launcher_gazebo_view.cpython-38.pyc | Bin 2201 -> 0 bytes .../launcher_ros_api.cpython-38.pyc | Bin 3618 -> 0 bytes .../lint/__pycache__/__init__.cpython-38.pyc | Bin 136 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 135 -> 0 bytes ram.log | 358 ++++++++++++++++++ {manager => src}/__init__.py | 0 src/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 161 bytes {manager => src}/comms/__init__.py | 0 src/comms/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 167 bytes .../consumer_message.cpython-38.pyc | Bin 2266 -> 2304 bytes .../__pycache__/new_consumer.cpython-38.pyc | Bin 0 -> 3576 bytes {manager => src}/comms/consumer.py | 8 +- {manager => src}/comms/consumer_message.py | 0 {manager => src}/comms/new_consumer.py | 9 +- {manager => src}/libs/__init__.py | 0 src/libs/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 166 bytes .../__pycache__/process_utils.cpython-38.pyc | Bin 0 -> 2556 bytes .../libs/applications/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 179 bytes .../libs/applications/brain_exercise.py | 11 +- .../applications/compatibility/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 193 bytes .../__pycache__/client.cpython-38.pyc | Bin 0 -> 2222 bytes .../exercise_wrapper.cpython-38.pyc | Bin 6063 -> 6061 bytes .../libs/applications/compatibility/client.py | 3 +- .../compatibility/exercise_wrapper.py | 22 +- .../robotics_application_wrapper.py | 29 +- .../libs/applications/robotics_application.py | 8 +- {manager => src}/libs/process_utils.py | 45 ++- {manager => src}/manager/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 169 bytes .../__pycache__/manager.cpython-38.pyc | Bin 0 -> 7675 bytes .../manager/application/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 181 bytes ...ython_application_interface.cpython-38.pyc | Bin 0 -> 2050 bytes .../robotics_python_application_interface.py | 0 {manager => src}/manager/config.json | 0 .../manager/docker_thread/__init__.py | 0 .../manager/docker_thread/docker_thread.py | 11 +- {manager => src}/manager/launcher/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 178 bytes .../launcher_engine.cpython-38.pyc | Bin 0 -> 2597 bytes .../launcher_interface.cpython-38.pyc | Bin 1437 -> 1475 bytes .../launcher_ros_api.cpython-38.pyc | Bin 0 -> 3624 bytes .../manager/launcher/launcher_console.py | 5 +- .../manager/launcher/launcher_engine.py | 4 +- .../manager/launcher/launcher_gazebo_view.py | 5 +- .../manager/launcher/launcher_interface.py | 0 .../launcher/launcher_robot_display_view.py | 4 +- .../manager/launcher/launcher_ros.py | 2 +- .../manager/launcher/launcher_ros_api.py | 3 +- {manager => src}/manager/lint/__init__.py | 0 .../lint/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 174 bytes .../lint/__pycache__/linter.cpython-38.pyc | Bin 2350 -> 2424 bytes {manager => src}/manager/lint/linter.py | 19 +- .../manager/lint/pylint_checker.py | 1 - {manager => src}/manager/manager.py | 46 +-- {manager => src}/ram_logging/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 173 bytes .../__pycache__/log_manager.cpython-38.pyc | Bin 1019 -> 1034 bytes {manager => src}/ram_logging/log_manager.py | 2 +- user_code.py | 211 +++++++++++ 78 files changed, 694 insertions(+), 112 deletions(-) delete mode 100644 manager/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/comms/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/comms/__pycache__/new_consumer.cpython-38.pyc delete mode 100644 manager/libs/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/libs/__pycache__/process_utils.cpython-38.pyc delete mode 100644 manager/libs/applications/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/libs/applications/compatibility/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/libs/applications/compatibility/__pycache__/client.cpython-38.pyc delete mode 100644 manager/manager/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/manager/application/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/manager/application/__pycache__/robotics_python_application_interface.cpython-38.pyc delete mode 100644 manager/manager/docker_thread/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/manager/docker_thread/__pycache__/docker_thread.cpython-38.pyc delete mode 100644 manager/manager/launcher/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/manager/launcher/__pycache__/launcher_console.cpython-38.pyc delete mode 100644 manager/manager/launcher/__pycache__/launcher_engine.cpython-38.pyc delete mode 100644 manager/manager/launcher/__pycache__/launcher_gazebo_view.cpython-38.pyc delete mode 100644 manager/manager/launcher/__pycache__/launcher_ros_api.cpython-38.pyc delete mode 100644 manager/manager/lint/__pycache__/__init__.cpython-38.pyc delete mode 100644 manager/ram_logging/__pycache__/__init__.cpython-38.pyc create mode 100644 ram.log rename {manager => src}/__init__.py (100%) create mode 100644 src/__pycache__/__init__.cpython-38.pyc rename {manager => src}/comms/__init__.py (100%) create mode 100644 src/comms/__pycache__/__init__.cpython-38.pyc rename {manager => src}/comms/__pycache__/consumer_message.cpython-38.pyc (79%) create mode 100644 src/comms/__pycache__/new_consumer.cpython-38.pyc rename {manager => src}/comms/consumer.py (93%) rename {manager => src}/comms/consumer_message.py (100%) rename {manager => src}/comms/new_consumer.py (92%) rename {manager => src}/libs/__init__.py (100%) create mode 100644 src/libs/__pycache__/__init__.cpython-38.pyc create mode 100644 src/libs/__pycache__/process_utils.cpython-38.pyc rename {manager => src}/libs/applications/__init__.py (100%) create mode 100644 src/libs/applications/__pycache__/__init__.cpython-38.pyc rename {manager => src}/libs/applications/brain_exercise.py (54%) rename {manager => src}/libs/applications/compatibility/__init__.py (100%) create mode 100644 src/libs/applications/compatibility/__pycache__/__init__.cpython-38.pyc create mode 100644 src/libs/applications/compatibility/__pycache__/client.cpython-38.pyc rename {manager => src}/libs/applications/compatibility/__pycache__/exercise_wrapper.cpython-38.pyc (52%) rename {manager => src}/libs/applications/compatibility/client.py (90%) rename {manager => src}/libs/applications/compatibility/exercise_wrapper.py (87%) rename {manager => src}/libs/applications/compatibility/robotics_application_wrapper.py (67%) rename {manager => src}/libs/applications/robotics_application.py (63%) rename {manager => src}/libs/process_utils.py (58%) rename {manager => src}/manager/__init__.py (100%) create mode 100644 src/manager/__pycache__/__init__.cpython-38.pyc create mode 100644 src/manager/__pycache__/manager.cpython-38.pyc rename {manager => src}/manager/application/__init__.py (100%) create mode 100644 src/manager/application/__pycache__/__init__.cpython-38.pyc create mode 100644 src/manager/application/__pycache__/robotics_python_application_interface.cpython-38.pyc rename {manager => src}/manager/application/robotics_python_application_interface.py (100%) rename {manager => src}/manager/config.json (100%) rename {manager => src}/manager/docker_thread/__init__.py (100%) rename {manager => src}/manager/docker_thread/docker_thread.py (76%) rename {manager => src}/manager/launcher/__init__.py (100%) create mode 100644 src/manager/launcher/__pycache__/__init__.cpython-38.pyc create mode 100644 src/manager/launcher/__pycache__/launcher_engine.cpython-38.pyc rename {manager => src}/manager/launcher/__pycache__/launcher_interface.cpython-38.pyc (82%) create mode 100644 src/manager/launcher/__pycache__/launcher_ros_api.cpython-38.pyc rename {manager => src}/manager/launcher/launcher_console.py (92%) rename {manager => src}/manager/launcher/launcher_engine.py (94%) rename {manager => src}/manager/launcher/launcher_gazebo_view.py (93%) rename {manager => src}/manager/launcher/launcher_interface.py (100%) rename {manager => src}/manager/launcher/launcher_robot_display_view.py (90%) rename {manager => src}/manager/launcher/launcher_ros.py (97%) rename {manager => src}/manager/launcher/launcher_ros_api.py (96%) rename {manager => src}/manager/lint/__init__.py (100%) create mode 100644 src/manager/lint/__pycache__/__init__.cpython-38.pyc rename {manager => src}/manager/lint/__pycache__/linter.cpython-38.pyc (78%) rename {manager => src}/manager/lint/linter.py (88%) rename {manager => src}/manager/lint/pylint_checker.py (99%) rename {manager => src}/manager/manager.py (88%) rename {manager => src}/ram_logging/__init__.py (100%) create mode 100644 src/ram_logging/__pycache__/__init__.cpython-38.pyc rename {manager => src}/ram_logging/__pycache__/log_manager.cpython-38.pyc (59%) rename {manager => src}/ram_logging/log_manager.py (92%) create mode 100644 user_code.py diff --git a/manager/__pycache__/__init__.cpython-38.pyc b/manager/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index cfba80352699e65b262b0e709d7eb9559767615f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmWIL<>g`kg4%Sm6h sv14*#N@{MUesNK&ryk0@&Ee@O9{FKt1R6CH)&p^xo0DcA-$^ZZW diff --git a/manager/comms/__pycache__/__init__.cpython-38.pyc b/manager/comms/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 34a664e273aad03ebb6e801d010dd590b02c81eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmWIL<>g`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpd>2;NwA5Pg7pgl%0*Ez4!24y6FZd6ybOxEwbt%jL{G~b zt7ds%{fPMk303lAc;a{Pzz^uxJnkVanbkyrK}(X6Fg;c{pK-8+ew|wja^QCZt7)z?AyAR23aF+*t(yFSr~`5 z9;D5z6}Pf>+_vpT+R3_cm$P3p5sKyuCYq;Cyn$9rw9#s#wJG=`*6aKS8nAwk8~>B3 zoJy)pr(^LWR5l;W&&pzWB=sYyo=JtSPz3P zl;uO~sCc56ip5fsonr+oc-b9u`?v-p=K5GF)J@ zKY4D#BpK&pog`hXECUF}Tlmd3>(lHn$NM-TCg+1pCW&b!NmhtyO7%{X{AoH!>k+k$ z9jqGX#1{26AxP_z@CdnWU&481gTKS1Gn`{rdcyei0%s>H^qk7L{Cd>iEX^wq77uPn9VizXa8(O*FDU>dwa-1KeG8$T|pdE8Lw99m{n*8a54VXMr3gYcj>SUBB)?zJ& zX1jKYq=uA6;+@5;MOP|E+FZXlO^nM0`0=&H?5vIo380hXXHuAJizSx^f_h`M2TgmP zA}=|oKlQHLIXS@VC?#1v;{kpn1FyrK=H;o%=#^KsW%|vT_N-5 zHO?y|rD$UhyPCFs&Ns322FfC6?BJZUx7Sa1kqHoX;g}R|R`!^qfk?=XLe-(eTt2dP z=iV!J;#Th57XabJ(?R8(!v1t)#B`{er|i_mh%cSL@e{J&*1TQ$=PZ;RcIO)_xcvU? z>H@AaBO%0Q;mzONxq1K2%}1tnHqvu!05%N@rSQJqro~l7&|JMuf(~Qcyf`*tsnv+? zB;!xiIM=FShtR8tTx(CpolNyP9;E%$cK8c{gv^QVB5R-jL}f*m`vnpOYo%Td`-wNZLBv%q z2=lc+VwDeaJdhL28IBI_gHnPu%>LZF^|{wBi(`(6_5y9q0y8 zS7A2YH1KB%ZgjIS__JG6x4K1Y=)Q+f8V`Bipw~R}7}FZ#CM@+JAIh2m0^4jYZ|@aw zXUP8$6BcpYbe3nPeHDGeBD{_(E%^|o+<;(w7nlZwtF!CO-dsoXJf{~jLCOk=`+F$m z4g{SS$RP`SX>U-3Z@2$xkH?{YswDC@0rRu*xvi#of{2alQ+>s2JE26cR+O$8;{ybx zAJE>EUNJtqdPy^yaY-ebZB?SfkxFyE3Xi|R!*nDnr7M-d3>3JFT8O(RJ}F-#IgD%EKuT``Jcm?GO&M1=Y=iJy=- zgTU4Z2Xz&KwzQWo!dOGqI8ies}j%2@RJo<-W-80@gbGD}A$ofCV%FL{*+d%&Y%~FFbS>!hRcqdt%nAMjCrNdUCZ#stwe^#g0 VKPR)X<`Tk%JN3`m;vILR@joR~NcjK& diff --git a/manager/libs/__pycache__/__init__.cpython-38.pyc b/manager/libs/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1624a395c0fbcf2e084b01072e9694b579eb9d42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmWIL<>g`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpdw*}3sa<|2Pj2^s-=~(Atk2w5U-WWHdCaw4QkuN;K_em7UmTZZ}D<+!4-{(;q zM!_p8TA~f31#wk2Wk+^I=anZGMR&guEq+VH717%#q9?mEFS;U@#4^>cK2r1ZN+T z$K5G6UgcGM#-`r(t;z$Hd|>J7$$wBzP+7=rLzj7GEFTrw#J1x&8<&MLacuofX%b^p z*oeHRxwefmQAXS5xDY$Jv~+BFT8ztMqPigI-(z4Cwm@{8=84t|c)JcXgtqB24QP*csOrHuWVSWTav7J2*|Kf7JDwzC znKIlyFC6|@9ZKuaF=Rv!nV=OpVt@;dyov!vfP~?rMn(T3>!f0%=AmDCN0bs107i7i z039~43rPuhq>0IjN!YTj8V{d{lkSKmm$ag<&_5ecHJZB#+8%eNz~4i1ME+#ke51Z9L_s?}(+A#X ztG6uGufxz@&ogb1cz63K6NNVkBYW3thB(jEmaeX&b8>wbI;UqWjYFn z-wQ}Dy&>s6*q|NlxVjGg6X!S2`g3O6rp`7eNp5|Ujb*W8QV({WmH;|{k$$nwe=G3p6l|MvI^SyQFm<>~u=tYF0Ukv+m)4{XPlgwn3&Hk`ZeX}LU=v)oE z-Ldb%FD)h09i_8pGNdYm3xt7fmfFRG|ELab>y??XLAsUYLdl73LLAA7unQX6xP~WM z926Tn>DK&6)JDxQ8luBMeGG!tC)l70%W+<*rhQ>NEm}C-A zcWT8)aN4nsG%z;WUO*W{N{Xfv zG9Owm#l%}YpGfuEt<{&H;SOqXyrg??T{3EQE@=Q6K8Ri3gp>~Hy$%iNcj9<^C&@9I z3hl~5297qr-UfsvWA#o3TPI~K10B)I!=CsSzH!y~iH{dr2 zmu&a!;aJ5uQJDK8zkuftpEFiyg;?3P-g$yV2j(htr1}&aeE;D2Fv?|fmvXF^O^lt#{{c*lGbsQ7 diff --git a/manager/libs/applications/__pycache__/__init__.cpython-38.pyc b/manager/libs/applications/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index c271c72f39b54f1117eacef3f96270fbed111112..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 zcmWIL<>g`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpdg`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpd1DX68h#3IQIwhe1 diff --git a/manager/libs/applications/compatibility/__pycache__/client.cpython-38.pyc b/manager/libs/applications/compatibility/__pycache__/client.cpython-38.pyc deleted file mode 100644 index 8bc1cf3013e1cf27d16828972d76134c4cc1724a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2106 zcmZuyOK;mo5Z>iW)YEd(21SFmYSI^r)B*~mhoA_W8bL3u4|NKsys#8^tx%>&W_M-B zg4|0CK2Vv+IHU4Fpc`=FoaU4k@F|I`=~x@BWiAmwD$-=+vVI^I_z&CTpFO&|_`Z zfxf}ItOvc%wpbtfCfjD$pl`h(4hh?U>ALoIvy|s5LF-lx3MTy(gbP&wShW}zI0)=%Lr()_5w$@iaeTfDZz5>gPdfA ztRyZ(A#?-gijwC+PrGtfa-sbwO7m1jk#_QU3VV|{%SLf>q?_uA;4w?{v34IGg9+M= zq$*0?JmDi*Bu89@odZ7FH{ye`6lj)!mnFhOh8AisG3Em{NAm1Y+cS{~j04dIc1d+J z0+g|oQFKXO-yi;5j0%+|@<9?aK0O^ukqonRB!_WXW@!?uw8-T!DW)Zeqcls^>9A6< zQ=W<@-01_!8^8!{Q4hWrb*KeozJKOh)r0J;499@+1XnYWClrs>&4M0*?gGgW*!(ka zI+ zoN-gR&y{XIe3tMMT_g~__OfCOIiQ<-H6K`F8&@p;OuP$1#n4;YhFjkOL3V%gp7KOhu#AL{Zof=?HOw9yQC1D6;fMrRaxPh;0&k%vB9G^ve1e0L7aUO(W&Q@-4Sghg=-QqUv{uoFa zC2NY|V1kNP4P}I96kh{jL6)eTF02cPj&;=->?Z63yMBNZsT*~wZUVqNKLJ_+*sd+V zO76E{AQS@wZBzhZX#ofbxGNC0i3xENHfYzBgBpwY6sE-I$leSIlg2o|0xP|OCGJKe-A|v>!EO+awoA4})qBXBv z$1PY7gbfTqNen5Ub~?Rg&++Z*Gpm6ouvUmIVEQIh>KzeJBdj@4!*-yLrqxflu11f{ d55*i^(`fu)Dvg`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpd2KczG$)edCBXCP((0A_d_ A+W-In diff --git a/manager/manager/application/__pycache__/__init__.cpython-38.pyc b/manager/manager/application/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index e283544b644e1685042a5d936b6f4713613e129d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmWIL<>g`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpd2KczG$ M)edCZXCP((0Qs~assI20 diff --git a/manager/manager/application/__pycache__/robotics_python_application_interface.cpython-38.pyc b/manager/manager/application/__pycache__/robotics_python_application_interface.cpython-38.pyc deleted file mode 100644 index ec5192c65e7d0e3ff86961a9a1810ff105427dbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2012 zcmb7_OK%e~5P-eAd2G_8=?fwC0HH09T$&pvgs4!3dWm?5OD@LQam$K*VS5p&%7x}< z@CSP1_w1FQz>O0#37alevr)YAjMp}-R=tJd z6$1v=1nZ?eWMIEzJ;%fT|H^#C2ke$?XaO7AV1YehLq}F*6`UV7RG>Pk3~Nw>I`-GW zg$8ODny`kt0WD~wZo)crP_MxTY@%+-Hf+K6gk4(0b=blA?_|3tZ{tyHd{4g~n~!mH zlq7-g3FF6+XBWt*P4y*KO-Wx^7mQ;@7{wa&tgMqJAdKXm2!fIDKK1OZqGfQZXw(%` z6;yxT^z+${JOMHs_qFo+p@_tpRDE$hcVGRZ;>i??7i`>*j8vz>lZVMTb2+~IhI5)n zlVH~Q{^G0-bAJN#Vvt!)Nt3FQbXyqH(6(9MaXTseYcms7Y-Nr4V0z7SIw;9$KEShZ zL|&*p-?Q72*jti>N+Z?4AXnB5_6Dbeb{EY#;k^<Ye+ip5aWaKdl-bQCtdM!F zz;?fcjeJ*wJ6Hmjh*ZnPbk(VSy@1y(!J9g-#`kaupOQKaO91gmki%wy@IeXT%zHJ& zN6Qh7P-gKW)^S$y*eO8nl|z#IYLv^4IbKAeAK|^Xn6okWxmzGDJI(U}tFb;_vZB7` zBJjVIpt`xs?wr&vy-RcdL9as>aU?>?dDi4Sj3EuE-QxUnDuS6s)i7@6Xrr>qD2@X~ zCsegb&|y#=5*sAw%Tx5z%-lr9iBx8+wyE#>3Yxa)f>dg`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpd`+n9IEPz&uU{{yR4bn6nA7U!S^HWqVw7db@(B ztaG^!J@6n6=w&oGAQ%`R1ZmsgB=MNfg7=X4EMyVR0c#=1jGk>k8jO0m znK|qH2fLRUn4@8ABX?2c1yl+KLFaNToz4Zs{Ya+yx z>Y1z>4lzQODjpMI(y&xEYR0&@Vq7kwA#I<@mMb&#(Pv%d*jiX5S7sW zNaUr89m}cqv5b}Ym)h1b?ipmLA=n9sLzc-rsh3U=eC*ndNe?TGcce^*9Pdb*(qYBM zg|TNTeK}5x!#5$N*z}az-WI13L!39t6lO}9GK-^v+4hf!N7_N;+ub-67mbH&)Phk< gMx8av{N1e6R5%;mwoY`jIoK_8MQnN=iJHg%1CBRDIRF3v diff --git a/manager/manager/launcher/__pycache__/__init__.cpython-38.pyc b/manager/manager/launcher/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 81c6ebb13727780772c50c52fc37a1aa5b4f479c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmWIL<>g`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpdlIYq;;_lhPbtkwwF4RT H8HgDGjVvE! diff --git a/manager/manager/launcher/__pycache__/launcher_console.cpython-38.pyc b/manager/manager/launcher/__pycache__/launcher_console.cpython-38.pyc deleted file mode 100644 index 85c22bdfde08d854f0644adc6a6543cecf4d08df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1931 zcmZuyL2uhO6ecBEk`=pY*KEUb7=&S1;1#wLY=^DOwgyRC6w8buX}3&HVFVug%$eD*F-Ar042aVjwW}4>fzgAN&Zz?{9aveL)s|M) zOneRE{8vE#MZ62~F2s8?ZzL_ftvs3}BLxI6D%mxIO)eP0Z@O2ZulG z@BIAr?X9o$HRoY_$VAQxc@l1IZcer~Z@~|akHd}c1s7@*Cu{?31#W|*pT)^BObo;4 zM`^(xwgTxwB1oMUWla?^q>xvbR9B@Nk4B8s(karMfj47pB%vyi^mVu=$DF5p*a}KV zv20NKfH&*I0ny4tF$n~aB&X4}g;DJr1r=|`*PQEfSDg#^a^q=K>fEsc-0KppHe48$ z^Bl<=falGZ-2>4VMVhFcB&IAs=_;9Y^O(m&Cg)6FQpkLl&gi7H;Zv@|9_nKd2sf|~ zzXlGhwMw%Wqf^<|^yZbS?7$9*uFOT#y6&dfG{?Gd4$(P=2S#24`y9(v7!3AGyaQ$# zq>9Xm{S<6v3K&n?fe;WB1T6Yo~aI&#UkUS83zJ=ve-`Z~Lx^XnFEO9o+y?Za}tn=Goe*-UTKv6k?wF0o1e9*BdQG19td_ gBGuJ&mMl}*=CJ?6S^C=*Bj4ydFqfyHHgLoF4|!PZzW@LL diff --git a/manager/manager/launcher/__pycache__/launcher_engine.cpython-38.pyc b/manager/manager/launcher/__pycache__/launcher_engine.cpython-38.pyc deleted file mode 100644 index eb8407de40c0261b50e72363b58dd182132ea9a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2562 zcmZuzOK;mo5Z>iWlq}hfk|xfp75Wxh$Y^^B3O7jFq`4$Q&?Z1Zv><5i+M!L6&XR6p zLGGbWk^F}sfPCn|e`&8h<=SH}?KewGiIOa^v)tuyUf;|t?{_*ahVlJhx5Pg_V}H}; z)!|@s4YT+OL@>cqHsS&2^lYWp$PR4tY^To14cw6zcxLaUjgcStoZVu=72abeJZT@< zK@71w^Tj~ zN4eNfC74^c^X)rP7HvxvlbBbBi_JC6ViQENfD0B__nEY%BlrfBE>>%U347{EHf;#| zm#}g*$ckRR9qniF1F3Fi z+es$%l6(Zal0t@w&|Yd@YCagg_zy#$E~OeJSyW09#!;GXM)7XUVe4#ocpxXf!z_LW zDcOYW@Tqmoj`$&;@Eh!xtwW2>CNTQYp4ft8b#Ow@aBkuVd)HF;CT!|V;NYPKh#cnuqPFgg=wz>LHm_oQt3vV zk48}@#`8Gzh`l#%^|HL|{Tii-=r^=i{NnkaP@M%t%d4yw-Fl^uPgoP{8GCLKaDbBSHWeV9HjbHD{bNRe8u;v? zBG6ae$7 zI!8}y^l1$q5HMA1f?bgd#Pc4=`OxgHIyWTcH*+y!~U zwm3p#J@yeWE^MlYr)-BIi;?-DZpkOeW(3Pc@T`f08bUQpZBztDK)s2F8mR*5A=|y- zf5FF{IEih@r_1yn+?LnuJ0ZEzSoWf0CtIJHHHw1?x>Men}ujk`VhC_z2+ zeoM*+y%>$J*LMs6>N3=*cZsw?&<>p}8cDPzd=L`n39q70xvVI%y1S?HSQbS%51aTL z=LMP0_!@F^d}YyuL2Bx%F1x`-nxh#NR|jtjQiRsHReu0%$IZb^7V?1JDoSTX7e}yU zI(3|9TgkS%h?9Q97^^$g*}jUXeANfUe5Nu2GOMl<8b?=NJ5@dKnk24riBib8tq7IR zFzbYByFR}_HAwzmn%P)&dVRt>?h1&0bPc+dIv0TM3)56EXb;op(NRnHAVGM`%QT%SF!B3>Sd1$2as$(-^0_g1*l%kOR}DI)K_u|^4n&mUmQm!pK8rhMkS3eO zyvFv+BrQzYm;%xli9bG&#xV2yb!rREB9memDI16bcSq={!h^sKg z02YS88RTpCzztt#1~aL487ZjGp#ji>eRB@2%ZS>(Jw(1k9ol$~{04Pt6QD~y+5*_5 z$LI<`j~)m2PgExtzHKVcrQ;lf@ye#L7$@Ow)rzx%@hnV&an6gX#ioZzYsBK=sHn`R zF)cOF)GY` z2(QGbUQ18|pbe77o&k~uNSZTqNzzpOCh$2gAV~-O7VulZZ_n%{ep~U|z}EnN2cQeE z@zUIL4%v5SQd{$-zSjUf4bbDx+$BA((&Nog(4+`r+Ul30Hxaxyh_l{o?``>4ghVvWRr%86@R7>B9Ia=|G9HCs3-L>CS+32B3*=4`f?b)F(RE#5)1H}lqUd}dXqc~lTj{;i)F^5QBHmsvOHx4-+f4~kRN;9 zp(>@`a1wXpEWSh(({%kjx$^(VyYD_$)wN!J@-7v1C9aoiM>CbHY^tuhaqG@^x37J_ ze)0SzLdy5Zu#A$JWre&RYo*r6^_R&qm@y_DTC95 zu`#zLJMx;7+>@V&RYDfL$ls9NYX;vayYZ`ONT`5-UiNL-6T z%F^AQ;88CPvvA1xyc7;0L7m^=3G|BYc(>BwnkPYz_#765J?y~eVOLwNF?|8ou&cX& zYnnRO%C-Nto-U}0WcyhRiOZ>4h)fCmrtp)!#?V;#aiCvgegc5HNWFXrWaY*pm`DFS z&_cB(T%I|?For8Zl&OZjhFJTHKOQ3SO-QL6~KE5f;$+gxrM}Ma4peiGL&=IV%@=d45hV%DK0Tbd$@cL`FrN zg2ly#sxDbe4&a97oON`^Qe17D%Z%}3uvDKxF?Z+1+)d_>^#Ky7*KIqD7?;^z=7vka hTOHJy>Ml{LH7H|8`C2)b>(E@0`B1r(?t0iW{sCk!N1^}# diff --git a/manager/manager/launcher/__pycache__/launcher_ros_api.cpython-38.pyc b/manager/manager/launcher/__pycache__/launcher_ros_api.cpython-38.pyc deleted file mode 100644 index 419a2b0fa4924514091fd4315b34e85309d81057..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3618 zcmcInPj4H?72nxiE|;r+lq@U$QzUF_G-ZIwX=9*mD!5i1MNy*Cf@C-C0>xs@8Bt3u zcj?)sWfAnH)}faidQJ-Z)VS2gHQAoS*@9JQG+Q;T^S`4W5^25Qg#w{gsO-ake}GJF^Y<`QOo0P10D%pB@rD| z2HRvF>%a3II?nPp>LoG`9T5b|3xZC{doj_=LGY{>#>I?W#g3A0bLMoq6iFgTI*@u9 zUA)U&OOG_snfs=Z@^=hR-0X=VEMarDQ?%x|wa}J?b<@C{JwumfXlI5lgQk7l9fMbV zN0dQ(nszn41p0=k@a4ZUzQR|pO1{U}comMl#BcHqe(j3+%Y2hx$H)rb;%}i{uDn0!|-gB8a%M^UJPKPGL7yl_E=fvMGYoG{#+JY6UYQo_1Heajz96 z)4taYC5#V$$kbBd!@+43i-vNFo^s=Hn7w8?NSfMx$A%@7PF?fQ=;Uxd&PHr#=0@8Z zX~!JeBZC=vsqGBQa8q~0UYdDjfcXA`Att>X05e=6C>ohBt$b;?I?yXIzSgb|tby4A zU)yUjZhv86#X5TH!wuS%sP?tt=E%sd^6R|xiv6jGai^gwh`>S#`F)7?ah>_=6X%;K zmG$46;!>?(j*?al;ZomHnk%``cUT0JR(i7XCo3`h8DknvE1&XFFF?_fJs%JNX+{BB3N5%4FDo(oAgRJV0F z>nqfPD4R~0i6$)q~K&TQtyL;)|w3)J!^ul-Y6i(Rmmtc>{Ve)61H;aYn!s;5$%Xx9W z?`cN~sJm$Sb&?7QA*Vb292;eX!3KjruqxX^YqEZA;WFM>_=ab=*h62(hamb}50PAYs@J?aZKQGf|A`p)q=2ptiEIbcSJOa@)z@&eNtHOwIzQH z9$BaAJyfqvWp2M;^cT$Q?GOSt(@yvPC*ahX+W~I$KUlErBD8Mr#3|lx*?ka`9sUQI z<*!KC9jfLfl=m@qFe}>s?UYYvPw_YRcm2KJJPMBYP98luez+GL?LPiQ8Q-uE{q^zG zZy$ZMcc{nxjq%XY;gkJ?h90Yz49)tr^(`}9zKnQe4oY$)TEAPf)Gj4&0L+9T|Wx9FhM1wwBP}+=(jxnxfUq1T6Hb2 z;+7@xK}7OiJg5j%9XzW5=Y>F87RuI=GLio--u>I-cmH-ge)mray!3$vr(sh_ihrGa v(Zs~NqoNslUNV^&Sq+VuVncNkQ} diff --git a/manager/manager/lint/__pycache__/__init__.cpython-38.pyc b/manager/manager/lint/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d6339411cdd9854a78d91aa5a4e7db948e5090f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmWIL<>g`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpdg`kg4%Sm6cGIwL?8o3AjbiSi&=m~3PUi1CZpd2KczG$)edCJXCP(( E0O`pciU0rr diff --git a/ram.log b/ram.log new file mode 100644 index 0000000..da49948 --- /dev/null +++ b/ram.log @@ -0,0 +1,358 @@ +2023-05-11 08:04:17,546 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-11 08:04:17,546 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-11 08:04:17,546 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-11 08:04:42,339 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 53826)} +2023-05-11 08:04:42,383 [Thread-2 ] [INFO ] (root) message received: {"id":"1b83ac14-ef04-475a-9c6c-56af122abc92","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 53826)} +2023-05-11 08:04:42,396 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-11 08:04:42,396 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-11 08:04:42,396 [MainThread ] [INFO ] (root) Connect state entered +2023-05-11 08:04:42,396 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-11 08:04:42,396 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-11 08:04:42,396 [MainThread ] [INFO ] (root) State changed to connected +2023-05-11 08:04:42,397 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-11 08:04:42,405 [Thread-2 ] [INFO ] (root) message received: {"id":"1c5b20a8-e0a0-4bfc-90d8-3a6e9f6928c8","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":924}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 53826)} +2023-05-11 08:04:42,498 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 924} +2023-05-11 08:04:42,694 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-11 08:04:42,703 [MainThread ] [ERROR] (root) No module named 'src.manager.manager.launcher'; 'src.manager.manager' is not a package +Traceback (most recent call last): + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/manager.py", line 222, in start + self.process_messsage(message) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/manager.py", line 186, in process_messsage + self.trigger(message.command, data=message.data or None) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 922, in _get_trigger + return event.trigger(model, *args, **kwargs) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 402, in trigger + return self.machine._process(func) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 1211, in _process + return trigger() + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 416, in _trigger + self._process(event_data) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 439, in _process + if trans.execute(event_data): + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 273, in execute + event_data.machine.callbacks(itertools.chain(event_data.machine.before_state_change, self.before), event_data) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 1146, in callbacks + self.callback(func, event_data) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 1165, in callback + func(event_data) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/manager.py", line 123, in on_launch + self.launcher.run() + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/launcher/launcher_engine.py", line 27, in run + launcher = self.launch_module(launcher_data) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/launcher/launcher_engine.py", line 51, in launch_module + launcher_class = get_class(launcher_module) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/libs/process_utils.py", line 14, in get_class + m = __import__(module) + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/launcher/launcher_ros_api.py", line 7, in + from src.manager.manager.launcher.launcher_interface import ILauncher, LauncherException +ModuleNotFoundError: No module named 'src.manager.manager.launcher'; 'src.manager.manager' is not a package +2023-05-11 08:05:43,696 [Thread-2 ] [INFO ] (root) message received: {"id":"885f243b-695b-463c-92a9-4ae77ec91c67","command":"disconnect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 53826)} +2023-05-11 08:05:43,717 [MainThread ] [ERROR] (root) Exception terminating instance +Traceback (most recent call last): + File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/manager.py", line 154, in on_disconnect + self.application.terminate() +AttributeError: 'NoneType' object has no attribute 'terminate' +2023-05-11 08:05:50,572 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-11 08:05:50,572 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-11 08:05:50,572 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-11 08:05:52,474 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 52374)} +2023-05-11 08:05:52,550 [Thread-2 ] [INFO ] (root) message received: {"id":"8fe8775d-5a82-4e68-b3ac-bea9120d645c","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 52374)} +2023-05-11 08:05:52,576 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-11 08:05:52,576 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-11 08:05:52,576 [MainThread ] [INFO ] (root) Connect state entered +2023-05-11 08:05:52,577 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-11 08:05:52,577 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-11 08:05:52,577 [MainThread ] [INFO ] (root) State changed to connected +2023-05-11 08:05:52,577 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-11 08:05:52,602 [Thread-2 ] [INFO ] (root) message received: {"id":"ae5141dd-d8e1-40a3-84a0-021390c96ffb","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":924}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 52374)} +2023-05-11 08:05:52,678 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 924} +2023-05-11 08:05:52,779 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-11 08:08:11,931 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-11 08:08:11,932 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-11 08:08:11,932 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-11 08:08:14,882 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 49310)} +2023-05-11 08:08:15,094 [Thread-2 ] [INFO ] (root) message received: {"id":"9049a2b2-c7b9-4bd5-b99c-694b41684260","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 49310)} +2023-05-11 08:08:15,138 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-11 08:08:15,139 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-11 08:08:15,139 [MainThread ] [INFO ] (root) Connect state entered +2023-05-11 08:08:15,139 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-11 08:08:15,139 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-11 08:08:15,139 [MainThread ] [INFO ] (root) State changed to connected +2023-05-11 08:08:15,139 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-11 08:08:15,180 [Thread-2 ] [INFO ] (root) message received: {"id":"19aa24f2-0500-4643-b669-03a562224769","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":924}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 49310)} +2023-05-11 08:08:15,240 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 924} +2023-05-11 08:08:15,538 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-12 07:12:18,204 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-12 07:12:18,204 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-12 07:12:18,204 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-12 07:12:32,802 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 60764)} +2023-05-12 07:12:32,914 [Thread-2 ] [INFO ] (root) message received: {"id":"599e33f4-461c-4c9c-805b-07c8e47e3aca","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 60764)} +2023-05-12 07:12:32,931 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-12 07:12:32,931 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-12 07:12:32,932 [MainThread ] [INFO ] (root) Connect state entered +2023-05-12 07:12:32,932 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-12 07:12:32,932 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-12 07:12:32,932 [MainThread ] [INFO ] (root) State changed to connected +2023-05-12 07:12:32,932 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-12 07:12:33,019 [Thread-2 ] [INFO ] (root) message received: {"id":"1070d29b-5dbc-4b2d-b3dc-66bb6ad39f83","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":551.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 60764)} +2023-05-12 07:12:33,032 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 551.5} +2023-05-12 07:12:33,216 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-12 07:37:05,394 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-12 07:37:05,394 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-12 07:37:05,394 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-5. +2023-05-12 07:37:42,500 [Thread-6 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 48888)} +2023-05-12 07:37:42,578 [Thread-6 ] [INFO ] (root) message received: {"id":"725995d7-372b-46ee-bfb6-d7a8a6f0a5d0","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 48888)} +2023-05-12 07:37:42,675 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-12 07:37:42,675 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-12 07:37:42,675 [MainThread ] [INFO ] (root) Connect state entered +2023-05-12 07:37:42,675 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-12 07:37:42,676 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-12 07:37:42,676 [MainThread ] [INFO ] (root) State changed to connected +2023-05-12 07:37:42,676 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-12 07:37:42,687 [Thread-6 ] [INFO ] (root) message received: {"id":"dff2fff6-98ce-424e-b0ab-5f3c3e6ce7cc","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":779.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 48888)} +2023-05-12 07:37:42,778 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 779.5} +2023-05-12 07:37:42,893 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-12 19:42:39,184 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-12 19:42:39,184 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-12 19:42:39,184 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-12 19:45:22,847 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 43026)} +2023-05-12 19:45:22,946 [Thread-2 ] [INFO ] (root) message received: {"id":"4d4e11ff-b1b3-4f1b-9d9e-f46cd3e80a9a","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 43026)} +2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-12 19:45:22,992 [MainThread ] [INFO ] (root) Connect state entered +2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-12 19:45:22,992 [MainThread ] [INFO ] (root) State changed to connected +2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-12 19:45:23,060 [Thread-2 ] [INFO ] (root) message received: {"id":"b70866df-34f6-47b2-bcb0-22548863b633","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":637.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 43026)} +2023-05-12 19:45:23,093 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 637.5} +2023-05-12 19:45:23,264 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-12 20:10:44,491 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-12 20:10:44,491 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-12 20:10:44,491 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-12 20:10:49,033 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 54210)} +2023-05-12 20:10:49,114 [Thread-2 ] [INFO ] (root) message received: {"id":"2ba5b5f5-0181-48a7-817b-a27588049864","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 54210)} +2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-12 20:10:49,200 [MainThread ] [INFO ] (root) Connect state entered +2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-12 20:10:49,200 [MainThread ] [INFO ] (root) State changed to connected +2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-12 20:10:49,222 [Thread-2 ] [INFO ] (root) message received: {"id":"651d289e-257c-47e9-b32b-d7fbd5a3bace","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":637.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 54210)} +2023-05-12 20:10:49,301 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 637.5} +2023-05-12 20:10:49,400 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-12 20:31:54,544 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-12 20:31:54,544 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-12 20:31:54,544 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-12 20:31:59,350 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 37202)} +2023-05-12 20:31:59,431 [Thread-2 ] [INFO ] (root) message received: {"id":"81e1ea7c-0ea0-46c4-8298-1a13373745d2","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 37202)} +2023-05-12 20:31:59,453 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-12 20:31:59,454 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-12 20:31:59,454 [MainThread ] [INFO ] (root) Connect state entered +2023-05-12 20:31:59,454 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-12 20:31:59,454 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-12 20:31:59,454 [MainThread ] [INFO ] (root) State changed to connected +2023-05-12 20:31:59,454 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-12 20:31:59,520 [Thread-2 ] [INFO ] (root) message received: {"id":"8911ce61-fe35-4a33-ac18-15ca1603e98a","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":612}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 37202)} +2023-05-12 20:31:59,554 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 612} +2023-05-12 20:31:59,642 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-12 20:51:20,577 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-12 20:51:20,577 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-12 20:51:20,577 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-12 20:51:25,278 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 47094)} +2023-05-12 20:51:25,407 [Thread-2 ] [INFO ] (root) message received: {"id":"6cedd557-5d6f-4f00-9ded-20fa02aeb744","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 47094)} +2023-05-12 20:51:25,487 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-12 20:51:25,487 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-12 20:51:25,487 [MainThread ] [INFO ] (root) Connect state entered +2023-05-12 20:51:25,487 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-12 20:51:25,487 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-12 20:51:25,487 [MainThread ] [INFO ] (root) State changed to connected +2023-05-12 20:51:25,488 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-12 20:51:25,504 [Thread-2 ] [INFO ] (root) message received: {"id":"028250a2-e6f6-4faa-930f-d6080c8635a7","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":709.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 47094)} +2023-05-12 20:51:25,589 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 709.5} +2023-05-12 20:51:25,744 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-12 20:57:12,579 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-12 20:57:12,579 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-12 20:57:12,579 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-12 20:57:23,440 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 40274)} +2023-05-12 20:57:23,618 [Thread-2 ] [INFO ] (root) message received: {"id":"e9a64d07-f70c-42bb-acab-c7118d0afdac","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 40274)} +2023-05-12 20:57:23,701 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-12 20:57:23,701 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-12 20:57:23,701 [MainThread ] [INFO ] (root) Connect state entered +2023-05-12 20:57:23,701 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-12 20:57:23,701 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-12 20:57:23,701 [MainThread ] [INFO ] (root) State changed to connected +2023-05-12 20:57:23,702 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-12 20:57:23,758 [Thread-2 ] [INFO ] (root) message received: {"id":"a5f4acf2-87ec-4545-8d8e-87d352a4c408","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":709.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 40274)} +2023-05-12 20:57:23,803 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 709.5} +2023-05-12 20:57:24,016 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 07:22:44,553 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 07:22:44,554 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 07:22:44,554 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 07:22:59,894 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 48362)} +2023-05-13 07:22:59,975 [Thread-2 ] [INFO ] (root) message received: {"id":"98e9df83-4a1f-49f3-853c-358902b59e49","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 48362)} +2023-05-13 07:22:59,982 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 07:22:59,982 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 07:22:59,982 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 07:22:59,982 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 07:22:59,982 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 07:22:59,982 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 07:22:59,983 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 07:22:59,990 [Thread-2 ] [INFO ] (root) message received: {"id":"198e8410-151e-49b0-9134-f38bd4b959ca","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":550.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 48362)} +2023-05-13 07:23:00,083 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 550.5} +2023-05-13 07:23:00,253 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 07:41:31,317 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 07:41:31,317 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 07:41:31,317 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 07:41:39,056 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 50182)} +2023-05-13 07:41:39,122 [Thread-2 ] [INFO ] (root) message received: {"id":"3bd2f0af-98a6-4c92-ac25-bc6fb34aeea5","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 50182)} +2023-05-13 07:41:39,131 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 07:41:39,132 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 07:41:39,132 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 07:41:39,132 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 07:41:39,132 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 07:41:39,132 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 07:41:39,132 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 07:41:39,163 [Thread-2 ] [INFO ] (root) message received: {"id":"aa4a7935-1e5a-4df3-9753-5dab0f14431b","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":550.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 50182)} +2023-05-13 07:41:39,233 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 550.5} +2023-05-13 07:41:39,320 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 07:50:16,623 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 07:50:16,623 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 07:50:16,623 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 07:50:22,487 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 45648)} +2023-05-13 07:50:22,590 [Thread-2 ] [INFO ] (root) message received: {"id":"81c3c005-8b08-4382-9e57-902f60de8426","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 45648)} +2023-05-13 07:50:22,634 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 07:50:22,634 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 07:50:22,634 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 07:50:22,634 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 07:50:22,634 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 07:50:22,634 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 07:50:22,635 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 07:50:22,655 [Thread-2 ] [INFO ] (root) message received: {"id":"8bfd6a85-8741-47a2-9031-65bb53058a04","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":550.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 45648)} +2023-05-13 07:50:22,735 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 550.5} +2023-05-13 07:50:22,856 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 08:10:37,545 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 08:10:37,546 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 08:10:37,546 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 08:10:43,731 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 46574)} +2023-05-13 08:10:43,832 [Thread-2 ] [INFO ] (root) message received: {"id":"3af171e7-a94d-43be-8609-d62c16027414","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 46574)} +2023-05-13 08:10:43,866 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 08:10:43,867 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 08:10:43,867 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 08:10:43,867 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 08:10:43,867 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 08:10:43,867 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 08:10:43,867 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 08:10:43,902 [Thread-2 ] [INFO ] (root) message received: {"id":"866f8803-42ef-4406-9512-c558ce664af2","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":550.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 46574)} +2023-05-13 08:10:43,968 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 550.5} +2023-05-13 08:10:44,069 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 08:10:44,713 [Dummy-3 ] [INFO ] (xmlrpc) XML-RPC server binding to 0.0.0.0:0 +2023-05-13 08:10:44,713 [Dummy-3 ] [INFO ] (xmlrpc) Started XML-RPC server [http://david-UNIBOTICS:39529/] +2023-05-13 08:10:44,713 [Dummy-3 ] [INFO ] (xmlrpc) xml rpc node: starting XML-RPC server +2023-05-13 08:10:45,425 [MainThread ] [INFO ] (root) Exercise code /home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/exercises/static/exercises/follow_line_react_refactor/web-template/entry_point/../exercise.py 0.0.0.0 launched +2023-05-13 08:10:46,429 [exercise ] [INFO ] (root) Connection with exercise opened +2023-05-13 08:10:46,429 [exercise ] [WARNI] (websocket) websocket connected +2023-05-13 08:10:46,430 [exercise ] [INFO ] (root) Message received from exercise: Starting HAL thread +2023-05-13 08:10:46,430 [exercise ] [ERROR] (websocket) error from callback >: Expecting value: line 1 column 1 (char 0) +2023-05-13 08:10:46,430 [exercise ] [INFO ] (root) There was an error in exercise client connection. +2023-05-13 08:10:46,430 [exercise ] [ERROR] (root) Expecting value: line 1 column 1 (char 0) +2023-05-13 08:10:46,430 [exercise ] [INFO ] (root) Message received from exercise: #freq{"brain": 20.0, "gui": 10 +2023-05-13 08:10:46,431 [exercise ] [INFO ] (root) Message received from exercise: Client connected +2023-05-13 08:10:46,431 [exercise ] [ERROR] (websocket) error from callback >: Expecting value: line 1 column 1 (char 0) +2023-05-13 08:10:46,431 [exercise ] [INFO ] (root) There was an error in exercise client connection. +2023-05-13 08:10:46,431 [exercise ] [ERROR] (root) Expecting value: line 1 column 1 (char 0) +2023-05-13 08:10:46,631 [MainThread ] [INFO ] (root) Exercise gui /home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/exercises/static/exercises/follow_line_react_refactor/web-template/entry_point/../gui.py 0.0.0.0 default launched +2023-05-13 08:10:47,634 [gui ] [INFO ] (root) Connection with gui opened +2023-05-13 08:10:47,634 [gui ] [WARNI] (websocket) websocket connected +2023-05-13 08:10:48,635 [exercise ] [INFO ] (root) Message received from exercise: #freq{"brain": 20.0, "gui": 10 +2023-05-13 11:38:46,765 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 11:38:46,766 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 11:38:46,766 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 11:40:10,531 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 42254)} +2023-05-13 11:40:10,711 [Thread-2 ] [INFO ] (root) message received: {"id":"b44ed797-831a-47c6-90fc-1a6a710ead5a","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 42254)} +2023-05-13 11:40:10,726 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 11:40:10,727 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 11:40:10,727 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 11:40:10,727 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 11:40:10,727 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 11:40:10,727 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 11:40:10,727 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 11:40:10,852 [Thread-2 ] [INFO ] (root) message received: {"id":"8e8a9740-e4e2-4cda-8d73-b106e9e948d0","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":603.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 42254)} +2023-05-13 11:40:10,929 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 603.5} +2023-05-13 11:40:11,082 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 11:41:12,086 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 11:41:12,086 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 11:41:12,086 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 11:41:24,733 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 35266)} +2023-05-13 11:41:24,905 [Thread-2 ] [INFO ] (root) message received: {"id":"f16c49a1-2ae8-4676-bed3-d6bfe9491b48","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 35266)} +2023-05-13 11:41:24,920 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 11:41:24,920 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 11:41:24,921 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 11:41:24,921 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 11:41:24,921 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 11:41:24,921 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 11:41:24,921 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 11:41:24,973 [Thread-2 ] [INFO ] (root) message received: {"id":"eec7e876-1e0d-4276-97be-b86ad86972cd","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":603.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 35266)} +2023-05-13 11:41:25,022 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 603.5} +2023-05-13 11:41:25,174 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 11:59:48,050 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 11:59:48,050 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 11:59:48,051 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 11:59:51,828 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 36004)} +2023-05-13 11:59:51,978 [Thread-2 ] [INFO ] (root) message received: {"id":"fcab78d4-6086-4ad8-930d-6225b201dd16","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 36004)} +2023-05-13 11:59:52,059 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 11:59:52,059 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 11:59:52,060 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 11:59:52,060 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 11:59:52,060 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 11:59:52,060 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 11:59:52,061 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 11:59:52,118 [Thread-2 ] [INFO ] (root) message received: {"id":"7dcfed59-0280-4d84-8976-6504874d3e27","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":603.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 36004)} +2023-05-13 11:59:52,162 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 603.5} +2023-05-13 11:59:52,324 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 12:51:30,113 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 12:51:30,113 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 12:51:30,113 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 12:51:34,277 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 36636)} +2023-05-13 12:51:34,393 [Thread-2 ] [INFO ] (root) message received: {"id":"7901cb7b-536a-4ca9-b018-2742a315a00a","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 36636)} +2023-05-13 12:51:34,422 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 12:51:34,422 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 12:51:34,423 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 12:51:34,423 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 12:51:34,423 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 12:51:34,423 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 12:51:34,423 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 12:51:34,542 [Thread-2 ] [INFO ] (root) message received: {"id":"6e0732eb-419c-49cf-b3c2-16255a70d2d0","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":493.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 36636)} +2023-05-13 12:51:34,624 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 493.5} +2023-05-13 12:51:34,772 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 13:07:28,826 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 13:07:28,826 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 13:07:28,826 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 13:07:33,596 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 49436)} +2023-05-13 13:07:33,765 [Thread-2 ] [INFO ] (root) message received: {"id":"fef22367-a476-4131-9bce-d0f086ee8545","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 49436)} +2023-05-13 13:07:33,837 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 13:07:33,837 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 13:07:33,837 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 13:07:33,837 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 13:07:33,837 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 13:07:33,838 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 13:07:33,838 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 13:07:33,898 [Thread-2 ] [INFO ] (root) message received: {"id":"78ffe209-e3d7-40fb-9231-bbae4fadac08","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":551.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 49436)} +2023-05-13 13:07:33,939 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 551.5} +2023-05-13 13:07:34,157 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized +2023-05-13 13:09:33,858 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 +2023-05-13 13:09:33,858 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. +2023-05-13 13:09:33,858 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. +2023-05-13 13:09:39,522 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 35242)} +2023-05-13 13:09:39,668 [Thread-2 ] [INFO ] (root) message received: {"id":"60f899e7-9c96-4871-9b9d-7b35a31c2124","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 35242)} +2023-05-13 13:09:39,669 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' +2023-05-13 13:09:39,670 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. +2023-05-13 13:09:39,670 [MainThread ] [INFO ] (root) Connect state entered +2023-05-13 13:09:39,670 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' +2023-05-13 13:09:39,670 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. +2023-05-13 13:09:39,670 [MainThread ] [INFO ] (root) State changed to connected +2023-05-13 13:09:39,670 [MainThread ] [INFO ] (transitions.core) Executed callback '>' +2023-05-13 13:09:39,688 [Thread-2 ] [INFO ] (root) message received: {"id":"b04bbf54-fc1e-442c-b221-9d739ffd510f","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":551.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 35242)} +2023-05-13 13:09:39,771 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 551.5} +2023-05-13 13:09:39,929 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized diff --git a/manager/__init__.py b/src/__init__.py similarity index 100% rename from manager/__init__.py rename to src/__init__.py diff --git a/src/__pycache__/__init__.cpython-38.pyc b/src/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e8f374aa4844a87fe071a845d598b59e0a4d6f23 GIT binary patch literal 161 zcmWIL<>g`k0=?Rp6hg`k0=?Rp6cGIwL?8o3AjbiSi&=m~3PUi1CZpd{W=jImc f$H!;pWtPOp>lIYq;;_lhPbtkwwFBAm8HgDGtd}Xe literal 0 HcmV?d00001 diff --git a/manager/comms/__pycache__/consumer_message.cpython-38.pyc b/src/comms/__pycache__/consumer_message.cpython-38.pyc similarity index 79% rename from manager/comms/__pycache__/consumer_message.cpython-38.pyc rename to src/comms/__pycache__/consumer_message.cpython-38.pyc index 63485c6a1f544278fb3504929906e97ba36c6afe..ee88410688a53b28f97d25e308dfe54c9ce90ad4 100644 GIT binary patch delta 81 zcmca5*dW9m%FD~e00erqF&nw{naxA=GxBp&^;2>ai!u`v^<7en6N`%Sb8_al#FW(BO8uh5+|Az1{j31rJ{rjY delta 43 xcmZn=x+TaR%FD~e00gz^W*fQnnFaOqgYuK|OEQy-9g`DNQgbUe7c%#=0s!Y(3@iWu diff --git a/src/comms/__pycache__/new_consumer.cpython-38.pyc b/src/comms/__pycache__/new_consumer.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5af08808c2f1a8c1e2bd2e600b2a3d15d7d2826b GIT binary patch literal 3576 zcmaJ^OLH8z5eDY9voF3xJ?uO@j-|w#xWr3b<*-sID{|tbVyzs>E-7=!WV`^$CFj9l zu%fj!%pp|eru+drRpik*<(K3K;Odk9LQeS_v%4ghwr6X401SZX{=V);@2CBKhv9nt zAAc5SJ;uJK&c(|`=Y8B&4I!A|8H<}Ik2(5I=HzbdavF0pFZW~Lw!JLKTXD;_{VdGG zI7B-Tt*o7Q;!fU;yXc3ao%Qm5+~@2=COV?~f{E^l6R)7x6Mgjh=&cI=mlgU{89F5f{^0TTO9Z3CHs%KJRC={uddYsEw9LolddE-G^q`OkxFN4an0!`t)@M2&1A^<<|NfF}N5^d4JGZY)v_jueED`FKR9kC|X z@$8B&@V{nOmmFpK-%f;U;e%0SoiLh16z!BM0%p-1)#%>gVKyG6@=eE_O2+jjZp`j)ffAWx8BU{^a2Y54WRVORc4ftXp7FRPKE1;_4l2 zSkl%JoG4OKj1_HL?AnjR+534DEFcA;Hu3=E{Gzsx`#$dKDMZb!zdDdyJLoyu-S-54 z>0-pM*}i`oK(@{}hi9V~LbeyZ4tibc3G(}1O{@CW)1BeKHQruXY2y(ZahR0=PuRPNmgC@W!Bh4pRya?a*zpiMGtiJ$o4f$_`_Yan z^LZAZ5w3m)3$KuEy!{Hrh@X|Is4TsfRP|F#Htj{VqFU%T2R<>;uup+#dX+3hGE-s@ zF0mZ1AI(dp`5dc<;g#XiIP&vlvLkHz9`1_r6yvu*wqsBCHNFPwiSi9T{mHiwzMKn( zmtyzQSt77Kzy^>Y=r3qd9HT{Nigr&Nb-U)rZt=G5d+5Jcb4ptn+tjWObc?8~F`LdF zL^!28I%}8?YPX?oajrDb-N7e~he|OWw9g~PbjCOvE1ec2*)Tw0o3;6Qz5wnV`7KPC zWp>k>+f4f^`h-Pz8CP2JA?}K5HO4oAX+XF-o6hw6%V=KY^il;$)g(o}4H+tt$X+0a z>hYyLQ<2c!;U`oO>pdk=%?Y@l&DdQvDH7yx9H{Cm-uMX>h>fDOm+=9D(vQ%z1sCJf z>sK_R8CO)I^31A4#*s>=e32yiaIV3%YHy-Nc~m63Djmt4NtQiVuKzMdQ(b6dRuL+Ii?T<%um_Y<5@g z(qbFaHlyD}!JW)Xn!9)=c~g%yCj(W%_N(8dtO69c5OLaTe$E>2xht*z E1D)g`k0=?Rp6cGIwL?8o3AjbiSi&=m~3PUi1CZpd16lGJh#3HVp(#WF literal 0 HcmV?d00001 diff --git a/src/libs/__pycache__/process_utils.cpython-38.pyc b/src/libs/__pycache__/process_utils.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3269aab5d0e6a90f99c2180212a592c97d045626 GIT binary patch literal 2556 zcmZWqL2n#26t+DxJF}C`cAFMKLC^uIlm#i<6I3EpEsa22RuuuYT~UpuV<(w(c4lHb z4Oz{eHqdhDfip!)j=6B+e;}^Da_V2;0`GY?Y0`RS@7R8Re*WI~-ur%WF(lCbem~}a z1%&*Alhe(E$xY~L0s|+U=43?eKN~UlXSp+WM=ovlyphKp?(UOOOZdX)-gCxV+~0Rc z0nCEul(%^Zvo^mVToH$ubp6#XCC7)pE6G+F(GO=800^M4~z{ z5E{}Y8qgl?P}zfdpPBZ0mW#Mb^ri`|bX+83kunsYHy8e~TP#=LLz69fz&NeRAp`Vq z=F|+31iZAn<<;~zvO;RM)jIHN=a5pO13;3_7+}bTW+ABnwKUOLS@hec-GBzqFfN*J z-c*%H<8@h%V{2VrHnOJIpx11nka5(WGJdlR=;kFrBh7;N5fn75vJDpZU3nh<{1D2W=IBlJO}%P5s1(IT>rv5WSIA!lwyU!i~2 zpsR~8Y`|>~I#Xcz0XZbUvTb**c_qY3n4a7R-e=3#3{|hf5U%8z(n!x6mr*AwZxKc& zR~m*`&oq`Uub^{sbpt+*&lno_ne^e1L@?xgIJ|=N`PVeP15(P;&Xrf-`-SzJWBfU@ zO-p4PMUop|XJb+B=+ptJXAM>=~VUwRhk( z?5sVA_m8KoNw;ntv}*7VC3ng8H5ZxgKMLhNO7M3d*6u-v)u8rj@ar@71DpEOK)1PD zyT1|c{qD@*bnVx{I=c%lInnV)qXQ&cXcfr%jqH6=uzQ3Dz=`%`#X5LRmld)BA&tuQ zXbu4|WH-rlR%}G;rHu5Z7$Zp(NZVuIfq&alq&re&k42x#J^~TkX;MQpxf~@0k1~B# zMd@aib18~wS4d$sRDw^=AB*m0dNZmr9!-{_3@pikhkOrsSSrDX{m`^3Wkc1UpD+$c z8y9(Nf@9^T1%WOKZWa`bapS+y;;>xXNjK*QMLnojNLc2!; zw&e6!NPCX_6eLmoyNpiTY4`$Kw8qBSP)O%+rigd+DvJ}NI z)expzbcU%ElI0bF~YUi&dCVVw^^%e{n`Gr0qPw09BTYxDFU)^_xDQurfJKNkVGy> zgvW$x=OI!ZXe*Iz@)I1eQbVEB($*cD9E}5UVp(c}W3pNN?OiY7IQ95orSb0#EK&*! TVSxN+ffFqBg06q@a?kr8XVP!J literal 0 HcmV?d00001 diff --git a/manager/libs/applications/__init__.py b/src/libs/applications/__init__.py similarity index 100% rename from manager/libs/applications/__init__.py rename to src/libs/applications/__init__.py diff --git a/src/libs/applications/__pycache__/__init__.cpython-38.pyc b/src/libs/applications/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2605f1a222c706635484953438be4dc3246866d5 GIT binary patch literal 179 zcmWIL<>g`k0=?Rp6cGIwL?8o3AjbiSi&=m~3PUi1CZpdlIYq;;_lhPbtkwwFBAs8HgDG=MOH2 literal 0 HcmV?d00001 diff --git a/manager/libs/applications/brain_exercise.py b/src/libs/applications/brain_exercise.py similarity index 54% rename from manager/libs/applications/brain_exercise.py rename to src/libs/applications/brain_exercise.py index 4f0636d..d1179f7 100644 --- a/manager/libs/applications/brain_exercise.py +++ b/src/libs/applications/brain_exercise.py @@ -1,7 +1,16 @@ -from src.manager.application.robotics_python_application_interface import IRoboticsPythonApplication +from ...manager.application.robotics_python_application_interface import IRoboticsPythonApplication class BrainExercise(IRoboticsPythonApplication): + def pause(self): + pass + + def resume(self): + pass + + def terminate(self): + pass + def load_code(self, code: str): pass diff --git a/manager/libs/applications/compatibility/__init__.py b/src/libs/applications/compatibility/__init__.py similarity index 100% rename from manager/libs/applications/compatibility/__init__.py rename to src/libs/applications/compatibility/__init__.py diff --git a/src/libs/applications/compatibility/__pycache__/__init__.cpython-38.pyc b/src/libs/applications/compatibility/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7104813a68d57330b42c926f5c19d81d118fe629 GIT binary patch literal 193 zcmYj~JqiLb5QVc~A;KQSX6FJT3f2~ioe(BJ;y|(!l5CN}19>G|k6>qIf`vYK-@Nyl zIraTQR1LSYY4_RiudbF&b(&QeaTLpLe;2XMKfEt+WpBZFjD!d~n=nRpj$s-}aVDMM zz~8XdXsj;~(L;(F9H|5tf+LNYcub(#hZ+?*$_1pPk+PISD3AHdvzeS-xBstd@d3{Q BG(G?T literal 0 HcmV?d00001 diff --git a/src/libs/applications/compatibility/__pycache__/client.cpython-38.pyc b/src/libs/applications/compatibility/__pycache__/client.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a98e61869ba13026e35e3d193538c36abfa2f849 GIT binary patch literal 2222 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 NTxqN2<-4QD{{}nHUWxz! delta 1637 zcmaJ>O>7%Q6yDiguh;9{B)0R@P)Z6RF-}#R79^6WsT2ZADxpe&Mr|#qnRq9z>8{tz ztP>K1Qbff8RH|wukmvz8_E3QosaM2}I~TMFA#U`KEI#uz4>|X z`A+4_inru>js~BfzMl8LyXm#4<{N<%W~*7E`I>JAZs=7#C8vU(u(#T)WGmU0T+{pv%e`k*`+f3?R&wrP`m-gHSm!QtM*W*V7q>j}u0hiBhIxUc z5m$GKMQq~0uTAv79K!_N z**0~D=tS3a&D^$h7qmXTpXl3;ZjpYn*C(%AKP=#_&z6kD6s+a*!=Uj;0ZIlRL-{d) z#BPcj4VtTrA4i*lGCDFCR9oTf&FQVL(iKv9`l0_e>BjGJ?Nb2_mwkHr1>oF=rEQ#- zU${r)vCPcq35>(Ny2+o}k#HOSEWn)nF!RCK2uLNpoBFvOlA#CSunm_H(a_Z}~*2c1+~gpi*${+0I#IID8D z=TrTjDSzx4o_q=nd=#MqaQi_~mOzGM()A#s{=S; zTAYba$kyZ^IXd?G|58(J+7WC+Ud=BSPa;#D=%C%xkTj+|en|VZ~56Ehw*TX5{_^5Vb@nUbFjOl;ym2v?(qbCMX%R;*f?W8bO9QKjcKRMmdVDAf^s zfW(H;XfqzKt5<{GjyZn=y;sod)oS&C3Q=c4P^;~^^)aNBwM{@9M7)zY3SbkrXs2zf zuVA}&3ciMI!h)|(9HS?r*rfs0yh%EU8jWVFk)$J0hUdA=dm#m%MVLeAM^N*A2_-CN zbwcoZIcP46GHtiz-NBKf0p?_I$NXT{Yn`|m2#znC97d=7b?}gb1D(t$)f<|gv@qik dsv&LR^g`xVtN;p~2Cq8so{M*fM!r3C@^4<`R+In$ diff --git a/manager/libs/applications/compatibility/client.py b/src/libs/applications/compatibility/client.py similarity index 90% rename from manager/libs/applications/compatibility/client.py rename to src/libs/applications/compatibility/client.py index 818aa6c..432a785 100644 --- a/manager/libs/applications/compatibility/client.py +++ b/src/libs/applications/compatibility/client.py @@ -1,7 +1,7 @@ import threading import websocket -from src.manager.ram_logging.log_manager import LogManager +from ....ram_logging.log_manager import LogManager class Client(threading.Thread): @@ -37,6 +37,7 @@ def on_message(self, ws, message): self.callback(self.name, message) def on_error(self, ws, error): + LogManager.logger.info(f"There was an error in {self.name} client connection.") LogManager.logger.error(error) def on_close(self, ws, status, msg): diff --git a/manager/libs/applications/compatibility/exercise_wrapper.py b/src/libs/applications/compatibility/exercise_wrapper.py similarity index 87% rename from manager/libs/applications/compatibility/exercise_wrapper.py rename to src/libs/applications/compatibility/exercise_wrapper.py index 1bcf565..6af3519 100644 --- a/manager/libs/applications/compatibility/exercise_wrapper.py +++ b/src/libs/applications/compatibility/exercise_wrapper.py @@ -8,11 +8,11 @@ import rosservice from threading import Thread -from src.manager.libs.applications.compatibility.client import Client -from src.manager.libs.process_utils import stop_process_and_children -from src.manager.ram_logging.log_manager import LogManager -from src.manager.manager.application.robotics_python_application_interface import IRoboticsPythonApplication -from src.manager.manager.lint.linter import Lint +from ...applications.compatibility.client import Client +from ...process_utils import stop_process_and_children +from ....ram_logging.log_manager import LogManager +from ....manager.application.robotics_python_application_interface import IRoboticsPythonApplication +from ....manager.lint.linter import Lint class CompatibilityExerciseWrapper(IRoboticsPythonApplication): @@ -28,11 +28,9 @@ def __init__(self, exercise_command, gui_command, update_callback): f'{home_dir}/ws_code.log', 'websocket_code=ready') if process_ready: - LogManager.logger.info( - f"Exercise code {exercise_command} launched") + LogManager.logger.info(f"Exercise code {exercise_command} launched") time.sleep(1) - self.exercise_connection = Client( - 'ws://127.0.0.1:1905', 'exercise', self.server_message) + self.exercise_connection = Client('ws://127.0.0.1:1905', 'exercise', self.server_message) self.exercise_connection.start() else: self.exercise_server.kill() @@ -43,18 +41,16 @@ def __init__(self, exercise_command, gui_command, update_callback): if process_ready: LogManager.logger.info(f"Exercise gui {gui_command} launched") time.sleep(1) - self.gui_connection = Client( - 'ws://127.0.0.1:2303', 'gui', self.server_message) + self.gui_connection = Client('ws://127.0.0.1:2303', 'gui', self.server_message) self.gui_connection.start() else: self.gui_server.kill() raise RuntimeError(f"Exercise GUI {gui_command} could not be run") - + self.running = True self.start_send_freq_thread() - def send_freq(self, exercise_connection, is_alive): """Send the frequency of the brain and gui to the exercise server""" while is_alive(): diff --git a/manager/libs/applications/compatibility/robotics_application_wrapper.py b/src/libs/applications/compatibility/robotics_application_wrapper.py similarity index 67% rename from manager/libs/applications/compatibility/robotics_application_wrapper.py rename to src/libs/applications/compatibility/robotics_application_wrapper.py index 60e2d10..16a95cf 100644 --- a/manager/libs/applications/compatibility/robotics_application_wrapper.py +++ b/src/libs/applications/compatibility/robotics_application_wrapper.py @@ -5,19 +5,13 @@ import psutil -from src.manager.libs.process_utils import stop_process_and_children -from src.manager.manager.application.robotics_python_application_interface import IRoboticsPythonApplication -from src.manager.manager.lint.linter import Lint -from src.manager.manager.docker_thread.docker_thread import DockerThread - -from src.manager.libs.applications.compatibility.client import Client -from src.manager.libs.process_utils import stop_process_and_children -from src.manager.ram_logging.log_manager import LogManager -from src.manager.manager.application.robotics_python_application_interface import IRoboticsPythonApplication -from src.manager.manager.lint.linter import Lint +from ...process_utils import stop_process_and_children +from ....manager.application.robotics_python_application_interface import IRoboticsPythonApplication +from ....manager.lint.linter import Lint import os + class RoboticsApplicationWrapper(IRoboticsPythonApplication): def __init__(self, update_callback): @@ -29,8 +23,9 @@ def __init__(self, update_callback): self.user_process = None def _create_process(self, cmd): - #print("creando procesos") - process = subprocess.Popen(f"{cmd}", shell=True, stdout = sys.stdout, stderr=subprocess.STDOUT, bufsize=1024, universal_newlines=True) + # print("creando procesos") + process = subprocess.Popen(f"{cmd}", shell=True, stdout=sys.stdout, stderr=subprocess.STDOUT, bufsize=1024, + universal_newlines=True) psProcess = psutil.Process(pid=process.pid) return psProcess @@ -44,9 +39,9 @@ def load_code(self, code: str): self.f = open("user_code.py", "w") self.f.write(code) self.f.close() - #self.update_callback("Hello World") + # self.update_callback("Hello World") - def run(self): + def run(self): self.user_process = self._create_process(f"DISPLAY=:2 python {self.f.name}") self.running = True @@ -92,9 +87,9 @@ def suspend_resume(self, signal): # send signal to processes for p in children: try: - if(signal == "pause"): + if (signal == "pause"): p.suspend() - if(signal == "resume"): + if (signal == "resume"): p.resume() except psutil.NoSuchProcess: - pass \ No newline at end of file + pass diff --git a/manager/libs/applications/robotics_application.py b/src/libs/applications/robotics_application.py similarity index 63% rename from manager/libs/applications/robotics_application.py rename to src/libs/applications/robotics_application.py index 3c6b2cd..b201ee1 100644 --- a/manager/libs/applications/robotics_application.py +++ b/src/libs/applications/robotics_application.py @@ -1,7 +1,13 @@ -from src.manager.manager.application.robotics_python_application_interface import IRoboticsPythonApplication +from ...manager.application.robotics_python_application_interface import IRoboticsPythonApplication class RoboticsApplication(IRoboticsPythonApplication): + def pause(self): + pass + + def resume(self): + pass + def terminate(self): pass diff --git a/manager/libs/process_utils.py b/src/libs/process_utils.py similarity index 58% rename from manager/libs/process_utils.py rename to src/libs/process_utils.py index 96c952a..8226f7d 100644 --- a/manager/libs/process_utils.py +++ b/src/libs/process_utils.py @@ -1,7 +1,4 @@ -# Thanks to https://stackoverflow.com/questions/452969/does-python-have-an-equivalent-to-java-class-forname -# This should be moved to a utils library import importlib.util -import os.path import sys from subprocess import Popen @@ -17,6 +14,8 @@ def get_class(kls): return m +# Thanks to https://stackoverflow.com/questions/452969/does-python-have-an-equivalent-to-java-class-forname +# This should be moved to a utils library def get_class_from_file(file_path: str, class_name: str): spec = importlib.util.spec_from_file_location("application", file_path) module = importlib.util.module_from_spec(spec) @@ -33,33 +32,47 @@ def class_from_module(module: str): def stop_process_and_children(process: Popen, signal: int = 9, timeout: int = None): + # from ..ram_logging.log_manager import LogManager """ Stops a list of processes waiting for them to stop """ - # collect processes to stop - proc = psutil.Process(process.pid) - children = proc.children(recursive=True) - children.append(proc) + try: + # collect processes to stop + proc = psutil.Process(process.pid) + name = proc.name() + children = proc.children(recursive=True) + children.append(proc) - # send signal to processes - for p in children: - try: - p.send_signal(signal) - except psutil.NoSuchProcess: - pass + # send signal to processes + for p in children: + try: + p.send_signal(signal) + except psutil.NoSuchProcess: + pass - gone, alive = psutil.wait_procs(children, timeout=timeout) - return gone, alive + gone, alive = psutil.wait_procs(children, timeout=timeout) + # TODO: log + # LogManager.logger.info(f"Process {name} and it's children were stopped") + print(f"Process {name} and it's children were stopped") + + return gone, alive + except psutil.NoSuchProcess: + # TODO: log + # LogManager.logger.info(f"Process with pid {process.pid} is already closed") + print(f"Process with pid {process.pid} is already closed") class classproperty(property): def __get__(self, cls, owner): return classmethod(self.fget).__get__(None, owner)() + def singleton(cls): instances = {} + def get_instance(): if cls not in instances: instances[cls] = cls() return instances[cls] - return get_instance() \ No newline at end of file + + return get_instance() diff --git a/manager/manager/__init__.py b/src/manager/__init__.py similarity index 100% rename from manager/manager/__init__.py rename to src/manager/__init__.py diff --git a/src/manager/__pycache__/__init__.cpython-38.pyc b/src/manager/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..19faf716fb16432dff58564201659ee603627d18 GIT binary patch literal 169 zcmWIL<>g`k0=?Rp6cGIwL?8o3AjbiSi&=m~3PUi1CZpdwXXa&=#K-FuRNmsS$<0qG%}KQb+4C8Q82|<8DtG_@ literal 0 HcmV?d00001 diff --git a/src/manager/__pycache__/manager.cpython-38.pyc b/src/manager/__pycache__/manager.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9b39c518d26462ded9b9132d13d0ff7accac9613 GIT binary patch literal 7675 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 literal 0 HcmV?d00001 diff --git a/manager/manager/application/__init__.py b/src/manager/application/__init__.py similarity index 100% rename from manager/manager/application/__init__.py rename to src/manager/application/__init__.py diff --git a/src/manager/application/__pycache__/__init__.cpython-38.pyc b/src/manager/application/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..01ca6f88ad73499570dbed243363d337aed9ffe6 GIT binary patch literal 181 zcmWIL<>g`k0=?Rp6cGIwL?8o3AjbiSi&=m~3PUi1CZpdn#*7 znPk!$W52KmOxkZ)&+&2ozcyd-9;X!>SdtBFX-Rv`29Bzzs&szXvLdVF%Ah7|vX1k0 z>BV|B|HtMEammSn=azk#SZmG81lG|f;VGY*h4nF@@zI*&S873z1^{bIN zP2$5e4Fg}8Ac=juKt^Ng&#`Mt`rJBa95ccwR=;QEoh+5YDDI0e918zq&(14ag(pC( zE*Vr%{rTdZCXw=FBp?vNd!e)dNWw7jvN)Jxcr%_uUq}^=JP?tm!S^B&iw_DsaYg9C zKX#r@;CaEugV-oI5xzP|N4d-KJ}{gUjV8gYv;D=nAI$tI4L^}8uYocdloX|fF%7+3 z>pQ+QEQ{Sgdwld&fgfnq9fAmA-HkGBxI;0fdk6ydI>9JUMsNOEny?y)!^z3e6 zoLA#}u!Ikk&Y}`P+!ExlSs=VuLOAta4e{Y}L?gf~E@B;@N*+4}$h~q%a$k*d**3?6 zC<*S-UKu7y2(&|?O@cN9bVzKFpf3;T*P6R2B&h;3f^C|+ sI)Wx6Iv|10IqI4|1=n(&4aY59wl(pg`k0=?Rp6cGIwL?8o3AjbiSi&=m~3PUi1CZpd1m literal 0 HcmV?d00001 diff --git a/src/manager/launcher/__pycache__/launcher_engine.cpython-38.pyc b/src/manager/launcher/__pycache__/launcher_engine.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e7d5b399c0abd22b11c41cd9df69bdfb84feda7d GIT binary patch literal 2597 zcmZuzTW=dh6rS0e*N&YAx6rf{Fn27Fjo_t1p=zNOFC{|IN@!JBZFV-vCVNR|*3eiE z4kdZac3@*|3nz1OH*j+=@XX%L8o3|%oPEcHCmJVAG!pyR4w~5e zqKSPoX<@%2T0gP=%2RM>eXi{r#UZBVH<3!dFGZ3)wdsSUn>$Gr##yA4e$7nbwk-27 zFU2TJaHDm*-1$B#qMby>#OwLyVsjl`ZDB}Qzy%AeyDYI2NAL}nxR|XCSTXeyHf;#| zlnY0=e_5BU9%vfEKVi_iDO#A@VnwtucSJ|5VqO&vtU0GwZ%3md-c97K zVka#Uy^=hDUa3mLRA?_VA2lCrKK&0(pRW>`r$tmHB8;Of+lu1-m_yfj^ROTzzC~Am zV5r!H?eVE~%8vOFpYWUPm+d2q&L&X$$e!4OV|H*tYZy0iguQRcI}irgFspvPfr%DN%B_U8d`^llI8Fp$$v*7C0*>=WMU%b8K z+*=Rg-;Nq#t#Q9e{M9>P?@-EeOIVi6`L{DXr-ZOc(X z^3)p`7+>W+Z*kvgSv0R<*S5ypWy1!zvIGNyzyb#Muz3XxZZ5-M3Lpq}Y8^S1v*%7d zVNI;Z?1@F;MZnp9QzG!w#wjzif66HACdl@tB!$QAJ2P~q#ZIpedK{XN&HRkSlntB# z*X0h}pq;eXE`wI8LKslsmToQp-go6ix=$gJ>oi=VtFsUzPA0caNb2EDqUm9H4_&Qd zm^-h{yKvli{RO8jM8y^n&l)L6Swz)D{ea;i+vaeMb>hQeT-cN~kJugq){!3=-HK0u zc{t03^Q?)3Ohe90ZR8DyL%oTIOsXB}At$`eC4nTI1d^fZ3k;P>SivVG0wTfKp(sG8 zZQ?L^#K4>pbE>XjX>X3#maY4$H}3Y52Pv|q_j_9H_F~k?Uf(eRkZ(hbe20b(1{6)F zi1Gx*3l~D7JmagUn>#EI9`oS&5RR zt_@yhB+r4zxHY?g*p8cnIWORVzDklK3Dd!fspoN7Y^OW&3QqbBqpa@KXCoO=lFJW> z_(H7&c-FNiG=`pg;Z(j$+zG@rmfok80n`PoK1H7as_pvxGUXuIdu6U;UAvdgDx*(=jRyXqiItJ?8|5J}>VuT6$Y@`@zgp3`>$ z6^XwCM)h8iLs7f9Z>^(h`CY&1cg)uqAC?+r8#P7ooIkwJGB2TS z8Z>+k9$%A`SvY#j;aEH{g9T$(ehhl~2@QQ3h=uOVn8!($%>@|$QU2G!BP%!1jVPZR zg*W?c?cqT}r8E%<{DVUg6?k$a*{-`;x}_HRHLB7~nUpcfqc7qW3aRqq`T%n{dyVRn iKta>Zg#||5tD>v@jXIOA5ug>l$Ze}_t?{WUJFq$XoXXNLm>Zjx;7G)+T>bs;CCl(du=j7z;m*!vNg delta 43 xcmX@iJ(rt1l$V!_0SIc-%{FoeFbZ1h2jwT_mt-avJ0>Tlq~=y`p2TR#0s!i#3=seT diff --git a/src/manager/launcher/__pycache__/launcher_ros_api.cpython-38.pyc b/src/manager/launcher/__pycache__/launcher_ros_api.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c3a5ba1ec26f3109dbbeaefb66254ce5ae661c8e GIT binary patch literal 3624 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 F^KamBT1Wr@ literal 0 HcmV?d00001 diff --git a/manager/manager/launcher/launcher_console.py b/src/manager/launcher/launcher_console.py similarity index 92% rename from manager/manager/launcher/launcher_console.py rename to src/manager/launcher/launcher_console.py index 606b7f0..f2c576e 100644 --- a/manager/manager/launcher/launcher_console.py +++ b/src/manager/launcher/launcher_console.py @@ -1,8 +1,7 @@ """Launcher for Console""""" import time -from src.manager.manager.launcher.launcher_interface import ILauncher -from src.manager.manager.docker_thread.docker_thread import DockerThread - +from .launcher_interface import ILauncher +from ..docker_thread.docker_thread import DockerThread class LauncherConsole(ILauncher): diff --git a/manager/manager/launcher/launcher_engine.py b/src/manager/launcher/launcher_engine.py similarity index 94% rename from manager/manager/launcher/launcher_engine.py rename to src/manager/launcher/launcher_engine.py index a435ec9..5a8ac11 100644 --- a/manager/manager/launcher/launcher_engine.py +++ b/src/manager/launcher/launcher_engine.py @@ -2,8 +2,8 @@ from pydantic import BaseModel -from src.manager.libs.process_utils import get_class, class_from_module -from src.manager.ram_logging.log_manager import LogManager +from ...libs.process_utils import get_class, class_from_module +from ...ram_logging.log_manager import LogManager class LauncherEngine(BaseModel): diff --git a/manager/manager/launcher/launcher_gazebo_view.py b/src/manager/launcher/launcher_gazebo_view.py similarity index 93% rename from manager/manager/launcher/launcher_gazebo_view.py rename to src/manager/launcher/launcher_gazebo_view.py index 5bf567d..4c2fc6f 100644 --- a/manager/manager/launcher/launcher_gazebo_view.py +++ b/src/manager/launcher/launcher_gazebo_view.py @@ -1,8 +1,7 @@ """Launcher for Gazebo View""""" import time -from src.manager.manager.launcher.launcher_interface import ILauncher -from src.manager.manager.docker_thread.docker_thread import DockerThread - +from .launcher_interface import ILauncher +from ..docker_thread.docker_thread import DockerThread class LauncherGazeboView(ILauncher): diff --git a/manager/manager/launcher/launcher_interface.py b/src/manager/launcher/launcher_interface.py similarity index 100% rename from manager/manager/launcher/launcher_interface.py rename to src/manager/launcher/launcher_interface.py diff --git a/manager/manager/launcher/launcher_robot_display_view.py b/src/manager/launcher/launcher_robot_display_view.py similarity index 90% rename from manager/manager/launcher/launcher_robot_display_view.py rename to src/manager/launcher/launcher_robot_display_view.py index afa5e8e..45c8c75 100644 --- a/manager/manager/launcher/launcher_robot_display_view.py +++ b/src/manager/launcher/launcher_robot_display_view.py @@ -1,5 +1,5 @@ -from src.manager.manager.launcher.launcher_interface import ILauncher -from src.manager.manager.docker_thread.docker_thread import DockerThread +from .launcher_interface import ILauncher +from ..docker_thread.docker_thread import DockerThread import time diff --git a/manager/manager/launcher/launcher_ros.py b/src/manager/launcher/launcher_ros.py similarity index 97% rename from manager/manager/launcher/launcher_ros.py rename to src/manager/launcher/launcher_ros.py index 5063199..24a0c93 100644 --- a/manager/manager/launcher/launcher_ros.py +++ b/src/manager/launcher/launcher_ros.py @@ -4,7 +4,7 @@ import traceback from typing import Any, List -from src.manager.launcher.launcher_interface import ILauncher, LauncherException +from .launcher_interface import ILauncher, LauncherException class LauncherRos(ILauncher): diff --git a/manager/manager/launcher/launcher_ros_api.py b/src/manager/launcher/launcher_ros_api.py similarity index 96% rename from manager/manager/launcher/launcher_ros_api.py rename to src/manager/launcher/launcher_ros_api.py index 0a3b0c8..f5526fa 100644 --- a/manager/manager/launcher/launcher_ros_api.py +++ b/src/manager/launcher/launcher_ros_api.py @@ -1,10 +1,9 @@ import os -import time from typing import List, Any import roslaunch import rospy -from src.manager.manager.launcher.launcher_interface import ILauncher, LauncherException +from .launcher_interface import ILauncher, LauncherException import logging diff --git a/manager/manager/lint/__init__.py b/src/manager/lint/__init__.py similarity index 100% rename from manager/manager/lint/__init__.py rename to src/manager/lint/__init__.py diff --git a/src/manager/lint/__pycache__/__init__.cpython-38.pyc b/src/manager/lint/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ceab6d5ecac74c66c6d3fbc3839d656e1d461793 GIT binary patch literal 174 zcmWIL<>g`k0=?Rp6cGIwL?8o3AjbiSi&=m~3PUi1CZpd16lSNh#3Iw$Sh+3 literal 0 HcmV?d00001 diff --git a/manager/manager/lint/__pycache__/linter.cpython-38.pyc b/src/manager/lint/__pycache__/linter.cpython-38.pyc similarity index 78% rename from manager/manager/lint/__pycache__/linter.cpython-38.pyc rename to src/manager/lint/__pycache__/linter.cpython-38.pyc index 0e92ef71b1eed424217d8302b3392375d4615ef5..e806f28a1c23ce7c0dfef9b6679b25d8cd6419f5 100644 GIT binary patch delta 181 zcmZ1{^h1a@l$V!_0SFvU#io2-$ji#uKbenJUq-*6vLquvFTNx-w;(66BvrpCzt}K7 zFF&;;GkLNttJ>yhR$V6ZK>dvT+*JLP+{B{H#6*3U)Z)aVqWqkkeErhA%%psv+G72n zdv14*# uN@{N9&7IK)L6nEtac2`~yUvM@3+fFY1S*^1*2BhzGaPDcQG, 'address': ('127.0.0.1', 53826)} -2023-05-11 08:04:42,383 [Thread-2 ] [INFO ] (root) message received: {"id":"1b83ac14-ef04-475a-9c6c-56af122abc92","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 53826)} -2023-05-11 08:04:42,396 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-11 08:04:42,396 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-11 08:04:42,396 [MainThread ] [INFO ] (root) Connect state entered -2023-05-11 08:04:42,396 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-11 08:04:42,396 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-11 08:04:42,396 [MainThread ] [INFO ] (root) State changed to connected -2023-05-11 08:04:42,397 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-11 08:04:42,405 [Thread-2 ] [INFO ] (root) message received: {"id":"1c5b20a8-e0a0-4bfc-90d8-3a6e9f6928c8","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":924}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 53826)} -2023-05-11 08:04:42,498 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 924} -2023-05-11 08:04:42,694 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-11 08:04:42,703 [MainThread ] [ERROR] (root) No module named 'src.manager.manager.launcher'; 'src.manager.manager' is not a package -Traceback (most recent call last): - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/manager.py", line 222, in start - self.process_messsage(message) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/manager.py", line 186, in process_messsage - self.trigger(message.command, data=message.data or None) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 922, in _get_trigger - return event.trigger(model, *args, **kwargs) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 402, in trigger - return self.machine._process(func) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 1211, in _process - return trigger() - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 416, in _trigger - self._process(event_data) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 439, in _process - if trans.execute(event_data): - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 273, in execute - event_data.machine.callbacks(itertools.chain(event_data.machine.before_state_change, self.before), event_data) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 1146, in callbacks - self.callback(func, event_data) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/venv/lib/python3.8/site-packages/transitions/core.py", line 1165, in callback - func(event_data) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/manager.py", line 123, in on_launch - self.launcher.run() - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/launcher/launcher_engine.py", line 27, in run - launcher = self.launch_module(launcher_data) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/launcher/launcher_engine.py", line 51, in launch_module - launcher_class = get_class(launcher_module) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/libs/process_utils.py", line 14, in get_class - m = __import__(module) - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/launcher/launcher_ros_api.py", line 7, in - from src.manager.manager.launcher.launcher_interface import ILauncher, LauncherException -ModuleNotFoundError: No module named 'src.manager.manager.launcher'; 'src.manager.manager' is not a package -2023-05-11 08:05:43,696 [Thread-2 ] [INFO ] (root) message received: {"id":"885f243b-695b-463c-92a9-4ae77ec91c67","command":"disconnect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 53826)} -2023-05-11 08:05:43,717 [MainThread ] [ERROR] (root) Exception terminating instance -Traceback (most recent call last): - File "/home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/ram/src/manager/manager.py", line 154, in on_disconnect - self.application.terminate() -AttributeError: 'NoneType' object has no attribute 'terminate' -2023-05-11 08:05:50,572 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-11 08:05:50,572 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-11 08:05:50,572 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-11 08:05:52,474 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 52374)} -2023-05-11 08:05:52,550 [Thread-2 ] [INFO ] (root) message received: {"id":"8fe8775d-5a82-4e68-b3ac-bea9120d645c","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 52374)} -2023-05-11 08:05:52,576 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-11 08:05:52,576 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-11 08:05:52,576 [MainThread ] [INFO ] (root) Connect state entered -2023-05-11 08:05:52,577 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-11 08:05:52,577 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-11 08:05:52,577 [MainThread ] [INFO ] (root) State changed to connected -2023-05-11 08:05:52,577 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-11 08:05:52,602 [Thread-2 ] [INFO ] (root) message received: {"id":"ae5141dd-d8e1-40a3-84a0-021390c96ffb","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":924}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 52374)} -2023-05-11 08:05:52,678 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 924} -2023-05-11 08:05:52,779 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-11 08:08:11,931 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-11 08:08:11,932 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-11 08:08:11,932 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-11 08:08:14,882 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 49310)} -2023-05-11 08:08:15,094 [Thread-2 ] [INFO ] (root) message received: {"id":"9049a2b2-c7b9-4bd5-b99c-694b41684260","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 49310)} -2023-05-11 08:08:15,138 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-11 08:08:15,139 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-11 08:08:15,139 [MainThread ] [INFO ] (root) Connect state entered -2023-05-11 08:08:15,139 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-11 08:08:15,139 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-11 08:08:15,139 [MainThread ] [INFO ] (root) State changed to connected -2023-05-11 08:08:15,139 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-11 08:08:15,180 [Thread-2 ] [INFO ] (root) message received: {"id":"19aa24f2-0500-4643-b669-03a562224769","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":924}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 49310)} -2023-05-11 08:08:15,240 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 924} -2023-05-11 08:08:15,538 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-12 07:12:18,204 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-12 07:12:18,204 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-12 07:12:18,204 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-12 07:12:32,802 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 60764)} -2023-05-12 07:12:32,914 [Thread-2 ] [INFO ] (root) message received: {"id":"599e33f4-461c-4c9c-805b-07c8e47e3aca","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 60764)} -2023-05-12 07:12:32,931 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-12 07:12:32,931 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-12 07:12:32,932 [MainThread ] [INFO ] (root) Connect state entered -2023-05-12 07:12:32,932 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-12 07:12:32,932 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-12 07:12:32,932 [MainThread ] [INFO ] (root) State changed to connected -2023-05-12 07:12:32,932 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-12 07:12:33,019 [Thread-2 ] [INFO ] (root) message received: {"id":"1070d29b-5dbc-4b2d-b3dc-66bb6ad39f83","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":551.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 60764)} -2023-05-12 07:12:33,032 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 551.5} -2023-05-12 07:12:33,216 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-12 07:37:05,394 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-12 07:37:05,394 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-12 07:37:05,394 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-5. -2023-05-12 07:37:42,500 [Thread-6 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 48888)} -2023-05-12 07:37:42,578 [Thread-6 ] [INFO ] (root) message received: {"id":"725995d7-372b-46ee-bfb6-d7a8a6f0a5d0","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 48888)} -2023-05-12 07:37:42,675 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-12 07:37:42,675 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-12 07:37:42,675 [MainThread ] [INFO ] (root) Connect state entered -2023-05-12 07:37:42,675 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-12 07:37:42,676 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-12 07:37:42,676 [MainThread ] [INFO ] (root) State changed to connected -2023-05-12 07:37:42,676 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-12 07:37:42,687 [Thread-6 ] [INFO ] (root) message received: {"id":"dff2fff6-98ce-424e-b0ab-5f3c3e6ce7cc","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":779.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 48888)} -2023-05-12 07:37:42,778 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 779.5} -2023-05-12 07:37:42,893 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-12 19:42:39,184 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-12 19:42:39,184 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-12 19:42:39,184 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-12 19:45:22,847 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 43026)} -2023-05-12 19:45:22,946 [Thread-2 ] [INFO ] (root) message received: {"id":"4d4e11ff-b1b3-4f1b-9d9e-f46cd3e80a9a","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 43026)} -2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-12 19:45:22,992 [MainThread ] [INFO ] (root) Connect state entered -2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-12 19:45:22,992 [MainThread ] [INFO ] (root) State changed to connected -2023-05-12 19:45:22,992 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-12 19:45:23,060 [Thread-2 ] [INFO ] (root) message received: {"id":"b70866df-34f6-47b2-bcb0-22548863b633","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":637.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 43026)} -2023-05-12 19:45:23,093 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 637.5} -2023-05-12 19:45:23,264 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-12 20:10:44,491 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-12 20:10:44,491 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-12 20:10:44,491 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-12 20:10:49,033 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 54210)} -2023-05-12 20:10:49,114 [Thread-2 ] [INFO ] (root) message received: {"id":"2ba5b5f5-0181-48a7-817b-a27588049864","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 54210)} -2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-12 20:10:49,200 [MainThread ] [INFO ] (root) Connect state entered -2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-12 20:10:49,200 [MainThread ] [INFO ] (root) State changed to connected -2023-05-12 20:10:49,200 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-12 20:10:49,222 [Thread-2 ] [INFO ] (root) message received: {"id":"651d289e-257c-47e9-b32b-d7fbd5a3bace","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":637.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 54210)} -2023-05-12 20:10:49,301 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 637.5} -2023-05-12 20:10:49,400 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-12 20:31:54,544 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-12 20:31:54,544 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-12 20:31:54,544 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-12 20:31:59,350 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 37202)} -2023-05-12 20:31:59,431 [Thread-2 ] [INFO ] (root) message received: {"id":"81e1ea7c-0ea0-46c4-8298-1a13373745d2","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 37202)} -2023-05-12 20:31:59,453 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-12 20:31:59,454 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-12 20:31:59,454 [MainThread ] [INFO ] (root) Connect state entered -2023-05-12 20:31:59,454 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-12 20:31:59,454 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-12 20:31:59,454 [MainThread ] [INFO ] (root) State changed to connected -2023-05-12 20:31:59,454 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-12 20:31:59,520 [Thread-2 ] [INFO ] (root) message received: {"id":"8911ce61-fe35-4a33-ac18-15ca1603e98a","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":612}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 37202)} -2023-05-12 20:31:59,554 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 612} -2023-05-12 20:31:59,642 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-12 20:51:20,577 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-12 20:51:20,577 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-12 20:51:20,577 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-12 20:51:25,278 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 47094)} -2023-05-12 20:51:25,407 [Thread-2 ] [INFO ] (root) message received: {"id":"6cedd557-5d6f-4f00-9ded-20fa02aeb744","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 47094)} -2023-05-12 20:51:25,487 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-12 20:51:25,487 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-12 20:51:25,487 [MainThread ] [INFO ] (root) Connect state entered -2023-05-12 20:51:25,487 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-12 20:51:25,487 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-12 20:51:25,487 [MainThread ] [INFO ] (root) State changed to connected -2023-05-12 20:51:25,488 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-12 20:51:25,504 [Thread-2 ] [INFO ] (root) message received: {"id":"028250a2-e6f6-4faa-930f-d6080c8635a7","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":709.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 47094)} -2023-05-12 20:51:25,589 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 709.5} -2023-05-12 20:51:25,744 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-12 20:57:12,579 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-12 20:57:12,579 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-12 20:57:12,579 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-12 20:57:23,440 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 40274)} -2023-05-12 20:57:23,618 [Thread-2 ] [INFO ] (root) message received: {"id":"e9a64d07-f70c-42bb-acab-c7118d0afdac","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 40274)} -2023-05-12 20:57:23,701 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-12 20:57:23,701 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-12 20:57:23,701 [MainThread ] [INFO ] (root) Connect state entered -2023-05-12 20:57:23,701 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-12 20:57:23,701 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-12 20:57:23,701 [MainThread ] [INFO ] (root) State changed to connected -2023-05-12 20:57:23,702 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-12 20:57:23,758 [Thread-2 ] [INFO ] (root) message received: {"id":"a5f4acf2-87ec-4545-8d8e-87d352a4c408","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":709.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 40274)} -2023-05-12 20:57:23,803 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 709.5} -2023-05-12 20:57:24,016 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 07:22:44,553 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 07:22:44,554 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 07:22:44,554 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 07:22:59,894 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 48362)} -2023-05-13 07:22:59,975 [Thread-2 ] [INFO ] (root) message received: {"id":"98e9df83-4a1f-49f3-853c-358902b59e49","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 48362)} -2023-05-13 07:22:59,982 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 07:22:59,982 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 07:22:59,982 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 07:22:59,982 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 07:22:59,982 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 07:22:59,982 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 07:22:59,983 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 07:22:59,990 [Thread-2 ] [INFO ] (root) message received: {"id":"198e8410-151e-49b0-9134-f38bd4b959ca","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":550.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 48362)} -2023-05-13 07:23:00,083 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 550.5} -2023-05-13 07:23:00,253 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 07:41:31,317 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 07:41:31,317 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 07:41:31,317 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 07:41:39,056 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 50182)} -2023-05-13 07:41:39,122 [Thread-2 ] [INFO ] (root) message received: {"id":"3bd2f0af-98a6-4c92-ac25-bc6fb34aeea5","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 50182)} -2023-05-13 07:41:39,131 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 07:41:39,132 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 07:41:39,132 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 07:41:39,132 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 07:41:39,132 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 07:41:39,132 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 07:41:39,132 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 07:41:39,163 [Thread-2 ] [INFO ] (root) message received: {"id":"aa4a7935-1e5a-4df3-9753-5dab0f14431b","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":550.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 50182)} -2023-05-13 07:41:39,233 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 550.5} -2023-05-13 07:41:39,320 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 07:50:16,623 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 07:50:16,623 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 07:50:16,623 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 07:50:22,487 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 45648)} -2023-05-13 07:50:22,590 [Thread-2 ] [INFO ] (root) message received: {"id":"81c3c005-8b08-4382-9e57-902f60de8426","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 45648)} -2023-05-13 07:50:22,634 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 07:50:22,634 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 07:50:22,634 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 07:50:22,634 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 07:50:22,634 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 07:50:22,634 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 07:50:22,635 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 07:50:22,655 [Thread-2 ] [INFO ] (root) message received: {"id":"8bfd6a85-8741-47a2-9031-65bb53058a04","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":550.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 45648)} -2023-05-13 07:50:22,735 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 550.5} -2023-05-13 07:50:22,856 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 08:10:37,545 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 08:10:37,546 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 08:10:37,546 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 08:10:43,731 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 46574)} -2023-05-13 08:10:43,832 [Thread-2 ] [INFO ] (root) message received: {"id":"3af171e7-a94d-43be-8609-d62c16027414","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 46574)} -2023-05-13 08:10:43,866 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 08:10:43,867 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 08:10:43,867 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 08:10:43,867 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 08:10:43,867 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 08:10:43,867 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 08:10:43,867 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 08:10:43,902 [Thread-2 ] [INFO ] (root) message received: {"id":"866f8803-42ef-4406-9512-c558ce664af2","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":550.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 46574)} -2023-05-13 08:10:43,968 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 550.5} -2023-05-13 08:10:44,069 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 08:10:44,713 [Dummy-3 ] [INFO ] (xmlrpc) XML-RPC server binding to 0.0.0.0:0 -2023-05-13 08:10:44,713 [Dummy-3 ] [INFO ] (xmlrpc) Started XML-RPC server [http://david-UNIBOTICS:39529/] -2023-05-13 08:10:44,713 [Dummy-3 ] [INFO ] (xmlrpc) xml rpc node: starting XML-RPC server -2023-05-13 08:10:45,425 [MainThread ] [INFO ] (root) Exercise code /home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/exercises/static/exercises/follow_line_react_refactor/web-template/entry_point/../exercise.py 0.0.0.0 launched -2023-05-13 08:10:46,429 [exercise ] [INFO ] (root) Connection with exercise opened -2023-05-13 08:10:46,429 [exercise ] [WARNI] (websocket) websocket connected -2023-05-13 08:10:46,430 [exercise ] [INFO ] (root) Message received from exercise: Starting HAL thread -2023-05-13 08:10:46,430 [exercise ] [ERROR] (websocket) error from callback >: Expecting value: line 1 column 1 (char 0) -2023-05-13 08:10:46,430 [exercise ] [INFO ] (root) There was an error in exercise client connection. -2023-05-13 08:10:46,430 [exercise ] [ERROR] (root) Expecting value: line 1 column 1 (char 0) -2023-05-13 08:10:46,430 [exercise ] [INFO ] (root) Message received from exercise: #freq{"brain": 20.0, "gui": 10 -2023-05-13 08:10:46,431 [exercise ] [INFO ] (root) Message received from exercise: Client connected -2023-05-13 08:10:46,431 [exercise ] [ERROR] (websocket) error from callback >: Expecting value: line 1 column 1 (char 0) -2023-05-13 08:10:46,431 [exercise ] [INFO ] (root) There was an error in exercise client connection. -2023-05-13 08:10:46,431 [exercise ] [ERROR] (root) Expecting value: line 1 column 1 (char 0) -2023-05-13 08:10:46,631 [MainThread ] [INFO ] (root) Exercise gui /home/dmariaa/Desarrollo/unibotics/RoboticsAcademy/exercises/static/exercises/follow_line_react_refactor/web-template/entry_point/../gui.py 0.0.0.0 default launched -2023-05-13 08:10:47,634 [gui ] [INFO ] (root) Connection with gui opened -2023-05-13 08:10:47,634 [gui ] [WARNI] (websocket) websocket connected -2023-05-13 08:10:48,635 [exercise ] [INFO ] (root) Message received from exercise: #freq{"brain": 20.0, "gui": 10 -2023-05-13 11:38:46,765 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 11:38:46,766 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 11:38:46,766 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 11:40:10,531 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 42254)} -2023-05-13 11:40:10,711 [Thread-2 ] [INFO ] (root) message received: {"id":"b44ed797-831a-47c6-90fc-1a6a710ead5a","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 42254)} -2023-05-13 11:40:10,726 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 11:40:10,727 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 11:40:10,727 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 11:40:10,727 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 11:40:10,727 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 11:40:10,727 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 11:40:10,727 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 11:40:10,852 [Thread-2 ] [INFO ] (root) message received: {"id":"8e8a9740-e4e2-4cda-8d73-b106e9e948d0","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":603.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 42254)} -2023-05-13 11:40:10,929 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 603.5} -2023-05-13 11:40:11,082 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 11:41:12,086 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 11:41:12,086 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 11:41:12,086 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 11:41:24,733 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 35266)} -2023-05-13 11:41:24,905 [Thread-2 ] [INFO ] (root) message received: {"id":"f16c49a1-2ae8-4676-bed3-d6bfe9491b48","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 35266)} -2023-05-13 11:41:24,920 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 11:41:24,920 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 11:41:24,921 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 11:41:24,921 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 11:41:24,921 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 11:41:24,921 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 11:41:24,921 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 11:41:24,973 [Thread-2 ] [INFO ] (root) message received: {"id":"eec7e876-1e0d-4276-97be-b86ad86972cd","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":603.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 35266)} -2023-05-13 11:41:25,022 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 603.5} -2023-05-13 11:41:25,174 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 11:59:48,050 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 11:59:48,050 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 11:59:48,051 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 11:59:51,828 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 36004)} -2023-05-13 11:59:51,978 [Thread-2 ] [INFO ] (root) message received: {"id":"fcab78d4-6086-4ad8-930d-6225b201dd16","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 36004)} -2023-05-13 11:59:52,059 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 11:59:52,059 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 11:59:52,060 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 11:59:52,060 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 11:59:52,060 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 11:59:52,060 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 11:59:52,061 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 11:59:52,118 [Thread-2 ] [INFO ] (root) message received: {"id":"7dcfed59-0280-4d84-8976-6504874d3e27","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":603.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 36004)} -2023-05-13 11:59:52,162 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 603.5} -2023-05-13 11:59:52,324 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 12:51:30,113 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 12:51:30,113 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 12:51:30,113 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 12:51:34,277 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 36636)} -2023-05-13 12:51:34,393 [Thread-2 ] [INFO ] (root) message received: {"id":"7901cb7b-536a-4ca9-b018-2742a315a00a","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 36636)} -2023-05-13 12:51:34,422 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 12:51:34,422 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 12:51:34,423 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 12:51:34,423 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 12:51:34,423 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 12:51:34,423 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 12:51:34,423 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 12:51:34,542 [Thread-2 ] [INFO ] (root) message received: {"id":"6e0732eb-419c-49cf-b3c2-16255a70d2d0","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":493.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 36636)} -2023-05-13 12:51:34,624 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 493.5} -2023-05-13 12:51:34,772 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 13:07:28,826 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 13:07:28,826 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 13:07:28,826 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 13:07:33,596 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 49436)} -2023-05-13 13:07:33,765 [Thread-2 ] [INFO ] (root) message received: {"id":"fef22367-a476-4131-9bce-d0f086ee8545","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 49436)} -2023-05-13 13:07:33,837 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 13:07:33,837 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 13:07:33,837 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 13:07:33,837 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 13:07:33,837 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 13:07:33,838 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 13:07:33,838 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 13:07:33,898 [Thread-2 ] [INFO ] (root) message received: {"id":"78ffe209-e3d7-40fb-9231-bbae4fadac08","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":551.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 49436)} -2023-05-13 13:07:33,939 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 551.5} -2023-05-13 13:07:34,157 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized -2023-05-13 13:09:33,858 [MainThread ] [INFO ] (root) Starting RAM consumer in :7163 -2023-05-13 13:09:33,858 [MainThread ] [INFO ] (websocket_server.websocket_server) Listening on port 7163 for clients.. -2023-05-13 13:09:33,858 [MainThread ] [INFO ] (websocket_server.websocket_server) Starting WebsocketServer on thread Thread-1. -2023-05-13 13:09:39,522 [Thread-2 ] [INFO ] (root) client connected: {'id': 1, 'handler': , 'address': ('127.0.0.1', 35242)} -2023-05-13 13:09:39,668 [Thread-2 ] [INFO ] (root) message received: {"id":"60f899e7-9c96-4871-9b9d-7b35a31c2124","command":"connect"} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 35242)} -2023-05-13 13:09:39,669 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_connect' -2023-05-13 13:09:39,670 [MainThread ] [INFO ] (transitions.core) Finished processing state idle exit callbacks. -2023-05-13 13:09:39,670 [MainThread ] [INFO ] (root) Connect state entered -2023-05-13 13:09:39,670 [MainThread ] [INFO ] (transitions.core) Executed callback 'on_enter_connected' -2023-05-13 13:09:39,670 [MainThread ] [INFO ] (transitions.core) Finished processing state connected enter callbacks. -2023-05-13 13:09:39,670 [MainThread ] [INFO ] (root) State changed to connected -2023-05-13 13:09:39,670 [MainThread ] [INFO ] (transitions.core) Executed callback '>' -2023-05-13 13:09:39,688 [Thread-2 ] [INFO ] (root) message received: {"id":"b04bbf54-fc1e-442c-b221-9d739ffd510f","command":"launch","data":{"application":{"type":"python","entry_point":"$EXERCISE_FOLDER/web-template/entry_point/exercise.py","params":{"circuit":"default"}},"launch":{"0":{"type":"module","module":"ros_api","resource_folders":["$EXERCISE_FOLDER/web-template/launch"],"model_folders":["$CUSTOM_ROBOTS_BASE/f1/models"],"plugin_folders":[],"parameters":[],"launch_file":"$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch"}},"exercise_id":"follow_line_react_refactor","height":474,"width":551.5}} from client {'id': 1, 'handler': , 'address': ('127.0.0.1', 35242)} -2023-05-13 13:09:39,771 [MainThread ] [INFO ] (root) Launch transition started, configuration: {'application': {'type': 'python', 'entry_point': '$EXERCISE_FOLDER/web-template/entry_point/exercise.py', 'params': {'circuit': 'default'}}, 'launch': {'0': {'type': 'module', 'module': 'ros_api', 'resource_folders': ['$EXERCISE_FOLDER/web-template/launch'], 'model_folders': ['$CUSTOM_ROBOTS_BASE/f1/models'], 'plugin_folders': [], 'parameters': [], 'launch_file': '$EXERCISE_FOLDER/web-template/launch/simple_line_follower_ros_headless_default.launch'}}, 'exercise_id': 'follow_line_react_refactor', 'height': 474, 'width': 551.5} -2023-05-13 13:09:39,929 [MainThread ] [INFO ] (rospy.topics) topicmanager initialized