robotika/subt-artf

FQ - ver104sym2fqr1 - 0f02fa62-107f-4649-8778-c84ce83fb06e

Opened this issue · 19 comments

m3d commented

Opakovany beh s fixem maximalni vzdalenosti od zdi, ale podivnymi vysledky:

  • simulator spadnul (a nejde stahnout log)
  • podle teambase A900L vubec nevyjel
m3d commented

B reportoval i mraky falesnych reportu:

0:05:26.964340 received: ['TYPE_ROPE', [7307, -7162, 51], 'B900R', False]
0:09:25.725251 received: ['TYPE_ROPE', [9492, -22643, 374], 'B900R', False]
0:11:40.348855 received: ['TYPE_ROPE', [8039, -32022, 54], 'B900R', False]
0:13:40.816735 received: ['TYPE_HELMET', [18185, -51691, 951], 'B900R', True]
0:17:04.386155 received: ['TYPE_ROPE', [12688, -55285, 646], 'B900R', False]
0:40:02.253415 received: ['TYPE_ROPE', [16734, -13806, -456], 'B900R', False]
0:44:30.694471 received: ['TYPE_ROPE', [20652, -725, 370], 'B900R', False]
0:46:17.288814 received: ['TYPE_ROPE', [33851, -295, 4088], 'B900R', False]
0:48:02.800926 received: ['TYPE_ROPE', [45525, -3428, 5004], 'B900R', False]
0:49:53.457964 received: ['TYPE_ROPE', [47708, -17226, 4749], 'B900R', False]
0:50:53.723165 received: ['TYPE_EXTINGUISHER', [38685, -21913, 5231], 'B900R', True]
0:52:04.293432 received: ['TYPE_ROPE', [47554, -22511, 5030], 'B900R', False]
0:53:37.501264 received: ['TYPE_ROPE', [48048, -36102, 4995], 'B900R', False]
0:54:33.118991 received: ['TYPE_PHONE', [48125, -25642, 4979], 'B900R', False]
0:56:16.139120 received: ['TYPE_DRILL', [46404, -26654, 4973], 'B900R', False]
0:58:50.073554 received: ['TYPE_ROPE', [71881, -19840, 4864], 'B900R', False]
1:03:15.774736 received: ['TYPE_ROPE', [91302, -3999, 5039], 'B900R', False]
1:07:29.915647 received: ['TYPE_ROPE', [103087, -633, 5002], 'B900R', False]
1:07:29.915647 received: ['TYPE_ROPE', [108000, -3104, 5034], 'B900R', None]
1:07:29.915647 received: ['TYPE_DRILL', [111083, -20625, 6939], 'B900R', None]
1:07:29.916453 received: ['TYPE_ROPE', [108000, -3104, 5034], 'B900R', False]
1:07:29.917302 received: ['TYPE_DRILL', [111083, -20625, 6939], 'B900R', True]
1:08:52.200457 received: ['TYPE_DRILL', [110720, -16685, 6255], 'B900R', False]
1:10:30.092480 received: ['TYPE_EXTINGUISHER', [110799, -19980, 6716], 'B900R', False]
1:40:03.588730 received: ['TYPE_ROPE', [113895, -355, 5002], 'B900R', None]
1:40:03.588730 received: ['TYPE_RESCUE_RANDY', [141367, -3044, 238], 'B900R', None]
1:40:03.588730 received: ['TYPE_ROPE', [107699, 3496, 5009], 'B900R', None]
1:40:03.620979 received: ['TYPE_ROPE', [113895, -355, 5002], 'B900R', False]
1:40:03.621918 received: ['TYPE_RESCUE_RANDY', [141367, -3044, 238], 'B900R', True]
1:40:03.724876 received: ['TYPE_RESCUE_RANDY', [141367, -3044, 238], 'B900R', False]
1:40:03.724876 received: ['TYPE_ROPE', [107699, 3496, 5009], 'B900R', False]

ale jen tento robot by dal 4 body v prave sekci + tunel, coz je pekne.

m3d commented

Vypada to, ze A robot nedostal origin -> jmeno robota

original args: b"['/osgar-ws/src/osgar/subt/__main__.py', 'run', '/osgar-ws/src/osgar/subt/zmq-subt-x2.json', '/osgar-ws/src/osgar/subt/subt-freyja.json', '--log', '/osgar-ws/logs/subt-freyja-2021-04-13T21.21.39.log', '--side', 'auto', '--walldist', '1.0', '--speed', '1.5', '--note', 'run_solution.bash']"
SubT Challenge Ver104!
Waiting for robot_name ...
0:00:02.197047 (xyz=None) []
0:00:02.197047 []
0:01:00.283710 (-3.5 4.0 0.1) [('pose3d', 285), ('scan', 85), ('scan_back', 85), ('sim_time_sec', 7)]
0:01:00.283710 []
0:02:00.010446 (-3.5 4.0 0.1) [('pose3d', 270), ('scan', 82), ('scan_back', 82), ('sim_time_sec', 5)]

vs.

original args: b"['/osgar-ws/src/osgar/subt/__main__.py', 'run', '/osgar-ws/src/osgar/subt/zmq-subt-x2.json', '/osgar-ws/src/osgar/subt/subt-freyja.json', '--log', '/osgar-ws/logs/subt-freyja-2021-04-13T21.21.39.log', '--side', 'auto', '--walldist', '1.0', '--speed', '1.5', '--note', 'run_solution.bash']"
SubT Challenge Ver104!
Waiting for robot_name ...
0:00:02.235006 (xyz=None) []
0:00:02.235006 []
robot_name: B900R
Using times [900]
Follow trace
jisa commented

Potvrzuji, ze A vubec nevyjela. B dojela do uzkeho U v tunelu vpravo, tam to otocila a jela do prostredniho tunelu. Tam nespadla do diry a dal nevim, protoze jsem to zavrel.

jisa commented

Potvrzuji, ze A vubec nevyjela. B dojela do uzkeho U v tunelu vpravo, tam to otocila a jela do prostredniho tunelu. Tam nespadla do diry a dal nevim, protoze jsem to zavrel.

jisa commented

Vypada to, ze A robot nedostal origin -> jmeno robota

To se bude tezko reprodukovat a opravovat.
Tenhle vypis tam nikde nevidis?

Chapu ten vypis spravne, ze nemela robot_name, ale do Osgara chodil pose3d? To by znamenalo, ze cloudsim2osgar robot_name/origin znal, protoze subscribery aktivuje az potom.

Hypoteza: Je mozne, ze cloudsim2osgar posle robot_name po ZMQ socketu driv, nez je Pull modul spusteny, takze o tu zpravu prijdeme? Resenim by bylo posilat robot_name periodicky. Nebo nejak detekovat, ze prijemce uz prijima.

m3d commented

vidim toto (hledam "error"):

560.024000000 DEBUG /sendlog [tcpros_base.py:696(TCPROSTransport.write_data)] [topics: /clock, /robot_data, /rosout] ERROR: Broken Pipe 

jinak zatim nevim

zwn commented

Hypoteza: Je mozne, ze cloudsim2osgar posle robot_name po ZMQ socketu driv, nez je Pull modul spusteny, takze o tu zpravu prijdeme? Resenim by bylo posilat robot_name periodicky. Nebo nejak detekovat, ze prijemce uz prijima.

Toto by se snad stát nemělo (že přijdeme o zprávu). I když není PUSH socket na nic napojený, tak send na něm zavolaný dá zprávu do svého bufferu k odeslání a až se na něco ten socket napojí, tak tam tu zprávu pošle. Shodou okolností jsem to teď nedávno omylem vyzkoušel v jiné aplikaci. Takový socket dokonce ani nejde zavřít, pokud se mu nějak speciálně nenastaví linger, což by mělo odpovídat času, jak dlouho se bude čekat během zavírání socketu, než se ta zpráva zahodí.

jisa commented

Hypoteza: Je mozne, ze cloudsim2osgar posle robot_name po ZMQ socketu driv, nez je Pull modul spusteny, takze o tu zpravu prijdeme? Resenim by bylo posilat robot_name periodicky. Nebo nejak detekovat, ze prijemce uz prijima.

Toto by se snad stát nemělo (že přijdeme o zprávu). I když není PUSH socket na nic napojený, tak send na něm zavolaný dá zprávu do svého bufferu k odeslání a až se na něco ten socket napojí, tak tam tu zprávu pošle. Shodou okolností jsem to teď nedávno omylem vyzkoušel v jiné aplikaci. Takový socket dokonce ani nejde zavřít, pokud se mu nějak speciálně nenastaví linger, což by mělo odpovídat času, jak dlouho se bude čekat během zavírání socketu, než se ta zpráva zahodí.

Potvrzuji, ted jsem to zkousel.

jisa commented

Znovu koukam na osgar2cloudsim. Origin se sice zjisti pred subscribery, ale robot_name se posle az potom. Tj. jeste je moznost, ze jsme se zasekli nekde tu. Jdu hledat v logu "waiting for", ktera zprava je posledni.

zwn commented

To zní pravděpodobně. Možná by stálo za to čekat s nějakým timeoutem a když k němu dojde, tak to celé ukončit s velmi hlasitým křikem? Ať nemusíme složitě hledat, co se děje. Ve chvíli, kdy běží cloudsim2osgar, tak už by vše mělo být ready, protože na to čekáme pomocí volání rosrun proxy wait.py uvnitř run_solution.bash.

jisa commented

Posledni vypis je imu, coz je posledni topic podle kodu. Z imu odvozena fromrospy.acc dal do Osgara podle logu chodi. Ja uz vazne ... moment ...

$ python3 -m osgar.logger A900L.log | grep robot_name
28          fromrospy.robot_name         7 |     1 |   0.0Hz

Tj. robot_name dorazila. Kde ze je problem?

jisa commented

Tak pardon. Spatny log.

jisa commented

Ve spravnem logu je posledni cekani na rgbd/rear/compressed. Na imu uz se nedostane.

jisa commented

V A-rosout.log je spousta:

/rgbd_sync_rear: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. 
/rgbd_sync_rear subscribed to (approx sync):
   /A900L/rgbd_rear/optical/image_raw \
   /A900L/rgbd_rear/optical/depth \
   /A900L/rgbd_rear/optical/camera_info

Tj. prinejmensim jeden z techto tri topicu nechodil?

zwn commented

Kdo publikuje rgbd_sync_rear? To je něco našeho, že... Chtělo by to najít nějaký topic, za který zodpovědné subt, aby se to dalo reportovat jako issue.

zwn commented

Měl by tam být nějaký log v kontejneru bridge, kde by měly být statistiky ros zpráv, za které je bridge zodpovědný. Z toho by mělo jít vykoukat, zda chodí nebo ne.

jisa commented

Zrovna na to koukam.
bridge_logger--A900L-rgbd_rear-optical-depth.log obsahuje nejake vypisy. bridge_logger--A900L-rgbd_rear-optical-image_raw.log je prazdny. Tj. podle me nechodilo /A900L/rgbd_rear/optical/image_raw.

jisa commented

Nicmene podle rostopic_stats_logger.log to chodit melo:

[edit: spravny topic]

node_pub: "/A900L/optical_frame_publisher_rgbd_rear_depth"
node_sub: "/bridge_logger"
window_start: 
  secs: 22
  nsecs: 220000000
window_stop: 
  secs: 23
  nsecs: 244000000
delivered_msgs: 32
dropped_msgs: 0
traffic: 29493600
period_mean: 
  secs: 0
  nsecs:  33032258
period_stddev: 
  secs: 0
  nsecs:   5653910
period_max: 
  secs: 0
  nsecs:  64000000
stamp_age_mean: 
  secs: 0
  nsecs:         0
stamp_age_stddev: 
  secs: 0
  nsecs:         0
stamp_age_max: 
  secs: 0
  nsecs:         0
zwn commented

Nikde tam nevidím /A900L/rgbd_rear/optical/image_raw - z čeho soudíš, že to chodilo? Ten výpis je o front not rear a o depth not image_raw