Open m3d opened 3 years ago
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.
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
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.
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.
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.
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
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í.
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.
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.
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
.
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?
Tak pardon. Spatny log.
Ve spravnem logu je posledni cekani na rgbd/rear/compressed. Na imu uz se nedostane.
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?
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.
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.
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
.
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
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 _imageraw
Opakovany beh s fixem maximalni vzdalenosti od zdi, ale podivnymi vysledky: