Open m3d opened 4 years ago
- event:
id: 38
type: breadcrumb_deploy
time_sec: 344
robot: D40W600L
tj. minimalne druha Freyja vyhazovala (a prvni tam opravdu nema zadny zaznam)
C600L:
31.964000000 INFO /cloudsim2osgar [cloudsim2osgar.py:117(main.__init__)] [topics: /clock, /rosout] freya 2 (with comms beacons)
a pozdeji
64.920000000 DEBUG /cloudsim2osgar [cloudsim2osgar.py:138(main.__init__)] [topics: /clock, /C600L/imu/data, /rosout, /statistics, /C600L/breadcrumb/deploy] receiving: deploy []
64.920000000 DEBUG /C600L_proxy [/tmp/binarydeb/ros-melodic-roscpp-1.14.9/src/libros/transport/transport_tcp.cpp:142(TransportTCP::initializeSocket)] [topics: /rosout, /C600L/cmd_vel, /statistics] Adding tcp socket [48] to pollset
64.920000000 INFO /C600L_proxy [/osgar-ws/src/osgar/subt/ros/proxy/ros_proxy_node.cc:588(receiveZmqThread)] [topics: /rosout, /C600L/cmd_vel, /statistics] MD BROADCAST SUCCESS
64.920000000 INFO /C600L/ros_ign_bridge_breadcrumbs [/tmp/ros-ign-bridge-release/include/ros_ign_bridge/factory.hpp:137(Factory<ROS_T, IGN_T>::ros_callback)] [topics: /rosout] Passing message from ROS std_msgs/Empty to Ignition ignition.msgs.Empty (showing msg only once per type
64.928000000 DEBUG /C600L_proxy [/tmp/binarydeb/ros-melodic-roscpp-1.14.9/src/libros/transport/transport_tcp.cpp:142(TransportTCP::initializeSocket)] [topics: /rosout, /C600L/cmd_vel, /statistics] Adding tcp socket [48] to pollset
64.928000000 INFO /C600L_proxy [/osgar-ws/src/osgar/subt/ros/proxy/ros_proxy_node.cc:328(CommClientCallback)] [topics: /rosout, /C600L/cmd_vel, /statistics] Message Contents[{'breadcrumb': [29.78708638973244, 3.5457925476668537, 0.6808749500822268]}
]
65.000000000 DEBUG /cloudsim2osgar [cloudsim2osgar.py:138(main.__init__)] [topics: /clock, /C600L/imu/data, /rosout, /statistics, /C600L/breadcrumb/deploy] receiving: sim_time_sec 65
65.000000000 INFO /cloudsim2osgar [cloudsim2osgar.py:143(main.__init__)] [topics: /clock, /C600L/imu/data, /rosout, /statistics, /C600L/breadcrumb/deploy] ignoring: sim_time_sec 65
Logy stahuji.
Zatím mám teambase a koukám do rosmsg.radio
a vypadá to, že C600L breadcrumbs vyhazovala - celkem 3:
$ ogger aws-ver80rc1p1-T1400.log --stream rosmsg.radio | grep breadcrumb 0:07:37.885019 24 [b'C600L', b"{'breadcrumb': [29.78708638973244, 3.5457925476668537, 0.6808749500822268]}\n"] 0:11:56.266991 24 [b'C600L', b"{'breadcrumb': [59.68973193655027, 1.0588105675836137, 0.3770711204725444]}\n"] 0:16:45.653213 24 [b'C600L', b"{'breadcrumb': [89.67643669060436, 2.2321477469346567, 0.508753192596617]}\n"]
ale nikdo jiný.
Hmm. Možná bychom do ground truth měli kreslit i pozice breadcrumbs...
Zatím mám teambase a koukám do
rosmsg.radio
a vypadá to, že C600L breadcrumbs vyhazovala - celkem 3:$ ogger aws-ver80rc1p1-T1400.log --stream rosmsg.radio | grep breadcrumb 0:07:37.885019 24 [b'C600L', b"{'breadcrumb': [29.78708638973244, 3.5457925476668537, 0.6808749500822268]}\n"] 0:11:56.266991 24 [b'C600L', b"{'breadcrumb': [59.68973193655027, 1.0588105675836137, 0.3770711204725444]}\n"] 0:16:45.653213 24 [b'C600L', b"{'breadcrumb': [89.67643669060436, 2.2321477469346567, 0.508753192596617]}\n"] ale nikdo jiný.
no z pohledu Teambase to i muze znamenat (a myslim, ze je to tento pripad), ze proste neni spojeni, tj. ze uz se tam ty pozice vyhazovanych, ale nevyhozenych, breadcrumbs nedostanou ... melo by to byt videt na grafu z Teambase (tam bych asi take pridal ty breadcrumbs a detekovane artefakty - resp. reportovane pres radio)
ack:
$ ogger aws-ver80rc1p1-D40W600L.log | grep bread 15 radio.breadcrumb 336 | 12 | 0.0Hz 35 breadcrumbs.deploy 6 | 6 | 0.0Hz 36 breadcrumbs.location 168 | 6 | 0.0Hz
$ ogger aws-ver80rc1p1-C600L.log | grep bread 32 radio.breadcrumb 196 | 7 | 0.0Hz 40 breadcrumbs.deploy 6 | 6 | 0.0Hz 41 breadcrumbs.location 168 | 6 | 0.0Hz
Tj. obe se snažily o deploy.
$ ogger aws-ver80rc1p1-D40W600L.log --stream breadcrumbs.deploy 0:59:44.302989 35 [] 1:05:57.023198 35 [] 1:10:52.313041 35 [] 1:16:47.566555 35 [] 1:22:05.117877 35 [] 1:26:49.276785 35 []
$ ogger aws-ver80rc1p1-D40W600L.log --stream breadcrumbs.location 0:59:44.303450 36 [139.7781499693492, -25.01200823272591, -4.997655865500959] 1:05:57.023465 36 [156.1349034760204, -49.5805002068171, -10.421414484607894] 1:10:52.313325 36 [171.19091371817763, -74.97570965800693, -15.76873426297611] 1:16:47.566798 36 [191.89569024228544, -95.94610763728842, -21.441185253967433] 1:22:05.118143 36 [221.79751980145738, -98.43909269927924, -22.22005121034919] 1:26:49.277042 36 [251.40516762748885, -103.28535471387356, -22.401608820602146]
$ ogger aws-ver80rc1p1-C600L.log --stream breadcrumbs.deploy breadcrumbs.location 0:07:29.882067 40 [] 0:07:29.882457 41 [29.78708638973244, 3.5457925476668537, 0.6808749500822268] 0:11:47.939784 40 [] 0:11:47.940203 41 [59.68973193655027, 1.0588105675836137, 0.3770711204725444] 0:16:37.606875 40 [] 0:16:37.607143 41 [89.67643669060436, 2.2321477469346567, 0.508753192596617] 0:21:32.624387 40 [] 0:21:32.624666 41 [119.60683875197853, 3.073322563629506, -1.5280489279319678] 0:26:29.561629 40 [] 0:26:29.561940 41 [149.51111319369795, 3.3674539869917473, -4.045188868417916] 0:31:29.773588 40 [] 0:31:29.773856 41 [179.30387847026407, 1.6460692566140354, -0.8811029583104538]
Tj. podle očekávání se druhá Freya snažila vyhazovat o dost dále (a později) než ta první.
Je možné, že se jenom prostě nepropojili až na teambase? Možná bychom neměli vyhazovat po vzdálenosti, ale po ztrátě komunikace - respektive se vrátit na poslední místo, kde komunikace fungovala a tam to vyhodit. Ostatní týmy se snaží vyhazovat, když nějak klesá RSSI, ale co jsem pochopil, tak s tím jsou nějaké problémy. Je mi ale jasné, že tohle by byl větší zásah :worried:
Obě drony se vydržely správně lokalizovat až zhruba do doby, kdy jim měly dojít baterky:
$ python -m subt.tools.validator DatabaseError: database disk image is malformed min x: -47.29 y: -379.23 max x: 511.06 y: 26.44 width: 5603px height: 4076px Ground truth count: 151025 Processing logfile: aws-ver80rc1p1-T1400.log Autodetected name: T1400 skiping teambase Processing logfile: aws-ver80rc1p1-B10W1300R.log Autodetected name: B10W1300R Autodetect pose3d stream: offseter.pose3d Trace reduced count: 1403 Ground truth seconds: 1409 sim_time_sec: 222, error: 1.04m, distance: 153.79m from origin, path: 186.21m sim_time_sec: 347, error: 2.03m, distance: 135.75m from origin, path: 305.60m sim_time_sec: 752, error: 3.02m, distance: 327.25m from origin, path: 711.88m sim_time_sec: 972, error: 4.09m, distance: 227.28m from origin, path: 944.40m sim_time_sec: 1033, error: 5.02m, distance: 169.90m from origin, path: 1014.44m Maximum error: 1410.35m -> FAIL Processing logfile: aws-ver80rc1p1-A1300L.log Autodetected name: A1300L Autodetect pose3d stream: offseter.pose3d Trace reduced count: 1402 Ground truth seconds: 1409 sim_time_sec: 382, error: 1.01m, distance: 246.60m from origin, path: 353.67m sim_time_sec: 567, error: 2.07m, distance: 197.88m from origin, path: 547.53m sim_time_sec: 584, error: 3.03m, distance: 183.66m from origin, path: 564.02m sim_time_sec: 645, error: 4.00m, distance: 138.27m from origin, path: 624.63m sim_time_sec: 1279, error: 5.16m, distance: 239.84m from origin, path: 1265.04m Maximum error: 848.27m -> FAIL Processing logfile: aws-ver80rc1p1-D40W600L.log Autodetected name: D40W600L Autodetect pose3d stream: localization.pose3d Trace reduced count: 1403 Ground truth seconds: 1409 sim_time_sec: 243, error: 1.01m, distance: 185.89m from origin, path: 210.03m sim_time_sec: 264, error: 2.26m, distance: 162.06m from origin, path: 235.28m sim_time_sec: 400, error: 3.04m, distance: 185.12m from origin, path: 395.52m sim_time_sec: 417, error: 4.05m, distance: 200.36m from origin, path: 413.71m sim_time_sec: 542, error: 5.20m, distance: 295.07m from origin, path: 522.63m Maximum error: 40.92m -> FAIL Processing logfile: aws-ver80rc1p1-C600L.log Autodetected name: C600L Autodetect pose3d stream: localization.pose3d Trace reduced count: 410 Ground truth seconds: 1409 sim_time_sec: 242, error: 1.04m, distance: 191.52m from origin, path: 249.97m sim_time_sec: 261, error: 2.04m, distance: 180.54m from origin, path: 264.04m Maximum error: 2.34m -> OK
Ale zpět k breadcrumbs. Nejprve C, která jela jako první:
$ ogger aws-ver80rc1p1-T1400.log --stream rosmsg.radio | grep bread 0:07:37.885019 24 [b'C600L', b"{'breadcrumb': [29.78708638973244, 3.5457925476668537, 0.6808749500822268]}\n"] 0:11:56.266991 24 [b'C600L', b"{'breadcrumb': [59.68973193655027, 1.0588105675836137, 0.3770711204725444]}\n"] 0:16:45.653213 24 [b'C600L', b"{'breadcrumb': [89.67643669060436, 2.2321477469346567, 0.508753192596617]}\n"]
versus
$ ogger aws-ver80rc1p1-C600L.log --stream breadcrumbs.location 0:07:29.882457 41 [29.78708638973244, 3.5457925476668537, 0.6808749500822268] 0:11:47.940203 41 [59.68973193655027, 1.0588105675836137, 0.3770711204725444] 0:16:37.607143 41 [89.67643669060436, 2.2321477469346567, 0.508753192596617] 0:21:32.624666 41 [119.60683875197853, 3.073322563629506, -1.5280489279319678] 0:26:29.561940 41 [149.51111319369795, 3.3674539869917473, -4.045188868417916] 0:31:29.773856 41 [179.30387847026407, 1.6460692566140354, -0.8811029583104538]
Ten čtrvrtý byl asi vyhozen moc pozdě a nepropojil se s těmi prvními třemi. Díky tomu, že algoritmus vyhazování druhé Freyi byl stejný, tak tohle přešla a svoje breadcrumbs naházela ještě dál.
Čas 16:37: a 21:32:
Není tam nic zásadního vidět. Lokalizace ještě fungovala ok. Tj. zdá se, že vše běželo, jak mělo. Jen to neseje.
Ok, zpět na stromy. Jediné pozice breadcrumbs přítomné v state.tlog jsou tyto:
{'D40W600L__breadcrumb___0': x: 139.4285030910548 y: -23.26669406789718 z: -6.334343784307123 , 'D40W600L__breadcrumb___1': x: 156.92357474968108 y: -47.599128489355834 z: -11.977990347449404 , 'D40W600L__breadcrumb___2': x: 173.01352986728364 y: -72.84212488852077 z: -17.498251104885945 , 'D40W600L__breadcrumb___3': x: 194.8781903527646 y: -93.56383345451263 z: -23.479635602783528 , 'D40W600L__breadcrumb___4': x: 224.8326211749733 y: -96.23738560725971 z: -24.33324580311369 , 'D40W600L__breadcrumb___5': x: 254.36062051317333 y: -100.4500402092267 z: -24.673276134265688 }
Tj. C600L opravdu nevyhazovala.
rosout.log
obsahuje všech 6 řádek obsahujících "receiving: deploy []". Tj. vyhnilo to někde za cloudsim2osgar.
Také jsem našel
[ INFO] [1602013990.957267910, 64.920000000]: Passing message from ROS std_msgs/Empty to Ignition ignition.msgs.Empty (showing msg only once per type
takže minimálně jedenkrát se to dostalo z ROSu do ign světa - minimálně 1 breadcrumb by tam měl být.
Asi je to ready na issue - udělám ho.
Je to 655 na https://github.com/osrf/subt/issues/, ale nechtěl jsem sem dávat přímo link, ať to nemate na druhé straně, kde se objeví link zpátky.
2x drona, 2x Freyja - ale zatim to vypada, ze Freyja zase nevyhazuje breadcrumbs