Closed m3d closed 3 years ago
Locally I sometimes see
1626206544.348657318, 21.992000000 ERROR /rtabmap/rgbd/rgbd_odometry ros.rtabmap_ros./rtabmap/rgbd/rgbd_odometry: "guess_frame_id" is set, but guess cannot be computed between frames "odom" -> "A100L". Aborting odometry update...
reference docker image ver110pam
and sample run in TS2: fa4bfdd6-2a2f-4fa8-8117-f65a2c2f0c90
osgar) md@md-ThinkPad-P50:~/git/osgar/subt/docker$ python -m osgar.logger /data/aws/local/coro_pam-2021-07-13T22.02.08.log
k name bytes | count | freq Hz
-------------------------------------------------------------
0 sys 92491 | 435 | 1.6Hz
1 artifact_filter.artf_xyz 0 | 0 | 0.0Hz
2 reporter.artf_cmd 0 | 0 | 0.0Hz
3 reporter.artf_all 0 | 0 | 0.0Hz
4 rosmsg.sim_time_sec 46 | 46 | 0.2Hz
5 rosmsg.sim_clock 142 | 46 | 0.2Hz
6 rosmsg.cmd 5693 | 146 | 0.5Hz
7 rosmsg.t265_rot 0 | 0 | 0.0Hz
8 rosmsg.debug 0 | 0 | 0.0Hz
9 rosmsg.radio 4668 | 132 | 0.5Hz
10 rosmsg.base_station 0 | 0 | 0.0Hz
11 rosmsg.joint_name 0 | 0 | 0.0Hz
12 rosmsg.joint_position 0 | 0 | 0.0Hz
13 rosmsg.joint_velocity 0 | 0 | 0.0Hz
14 rosmsg.joint_effort 0 | 0 | 0.0Hz
15 transmitter.raw 0 | 0 | 0.0Hz
16 transmitter.response 0 | 0 | 0.0Hz
17 transmitter.timeout 0 | 0 | 0.0Hz
18 drone.desired_speed_3d 142868 | 2524 | 9.4Hz
19 receiver.raw 178 | 178 | 0.7Hz
20 receiver.response 0 | 0 | 0.0Hz
21 receiver.timeout 0 | 0 | 0.0Hz
22 fromrospy.acc 62236 | 10372 | 38.6Hz
23 fromrospy.top_scan 22520 | 2252 | 8.4Hz
24 fromrospy.bottom_scan 22500 | 2250 | 8.4Hz
25 fromrospy.pose3d 139920 | 2120 | 7.9Hz
26 fromrospy.battery_state 414 | 46 | 0.2Hz
27 fromrospy.score 265 | 265 | 1.0Hz
28 fromrospy.gas_detected 1 | 1 | 0.0Hz
29 fromrospy.rgbd_front 656031998 | 1283 | 4.8Hz
30 fromrospy.rgbd_left 0 | 0 | 0.0Hz
31 fromrospy.rgbd_right 0 | 0 | 0.0Hz
32 fromrospy.air_pressure 7623 | 847 | 3.2Hz
33 fromrospy.scan360 247795 | 454 | 1.7Hz
34 fromrospy.octomap 0 | 0 | 0.0Hz
35 fromrospy.robot_name 7 | 1 | 0.0Hz
36 octomap.waypoints 0 | 0 | 0.0Hz
37 octomap.dropped 0 | 0 | 0.0Hz
38 app.desired_speed 3286 | 453 | 1.7Hz
39 app.pose2d 21044 | 2120 | 7.9Hz
40 app.stdout 549 | 9 | 0.0Hz
41 app.desired_z_speed 1 | 1 | 0.0Hz
42 app.flipped 0 | 0 | 0.0Hz
43 logimage.image 27610697 | 641 | 2.4Hz
44 logimage.depth 145216693 | 641 | 2.4Hz
45 logimage_left.image 0 | 0 | 0.0Hz
46 logimage_left.depth 0 | 0 | 0.0Hz
47 gas_detector.localized_artf 0 | 0 | 0.0Hz
48 radio.radio 3650 | 133 | 0.5Hz
49 radio.artf_xyz 0 | 0 | 0.0Hz
50 radio.breadcrumb 0 | 0 | 0.0Hz
51 radio.robot_xyz 1591 | 43 | 0.2Hz
52 radio.trace_info 500 | 43 | 0.2Hz
53 radio.robot_trace 0 | 0 | 0.0Hz
54 marsupial.detach 0 | 0 | 0.0Hz
55 mtm.robot_trace 0 | 0 | 0.0Hz
56 mtm.trace_info 500 | 43 | 0.2Hz
57 logimage_right.image 0 | 0 | 0.0Hz
58 logimage_right.depth 0 | 0 | 0.0Hz
59 detector_left.localized_artf 0 | 0 | 0.0Hz
60 detector_left.dropped 1 | 1 | 0.0Hz
61 detector_left.debug_rgbd 0 | 0 | 0.0Hz
62 detector_left.stdout 11 | 1 | 0.0Hz
63 detector_left.debug_result 0 | 0 | 0.0Hz
64 detector_left.debug_cv_result 0 | 0 | 0.0Hz
65 detector.localized_artf 0 | 0 | 0.0Hz
66 detector.dropped 98 | 98 | 0.4Hz
67 detector.debug_rgbd 0 | 0 | 0.0Hz
68 detector.stdout 42 | 2 | 0.0Hz
69 detector.debug_result 2779 | 26 | 0.1Hz
70 detector.debug_cv_result 26 | 26 | 0.1Hz
71 detector_right.localized_artf 0 | 0 | 0.0Hz
72 detector_right.dropped 1 | 1 | 0.0Hz
73 detector_right.debug_rgbd 0 | 0 | 0.0Hz
74 detector_right.stdout 11 | 1 | 0.0Hz
75 detector_right.debug_result 0 | 0 | 0.0Hz
76 detector_right.debug_cv_result 0 | 0 | 0.0Hz
... for some reason left and right RGBD images are not available ... but that is maybe expected now? I would also turn off RGBD logging of front camera.
My guess is that the problem is caused by false detection or self-detection :
at the very beginning each RGBD camera generates one fake point:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 100, 100, 99, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6301, 6236, 6176, 6116, 6063, 5930, 5826, 5898, 5787, 5645, 5623, 5466, 5490, 5483, 5642, 5676, 5778, 5810, 5847, 5914, 5947, 5984, 6009, 6057, 6102, 6151, 6193, 6236, 6310, 6365, 104, 104, 104, 104, 105, 105, 104, 104, 7365, 7406, 7424, 7438, 7465, 7410, 6490, 6430, 6327, 6347, 6375, 6417, 6445, 6488, 6537, 6577, 6649, 6713, 6770, 6834, 6878, 6918, 6972, 7042, 7145, 7177, 7292, 7376, 7470, 7568, 7669, 7782, 7872, 7994, 0, 0, 0, 0, 7793, 7639, 7543, 7448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6174, 6129, 6079, 6037, 5985, 5955, 5908, 6136, 7651, 5937, 5912, 5763, 5739, 5722, 5721, 5677, 5662, 5648, 5640, 100, 99, 99, 100, 100, 101, 102, 5585, 5591, 5594, 5600, 5610, 5615, 5622, 5635, 5663, 5682, 5637, 5718, 5722, 5755, 5781, 5709, 5836, 5856, 5890, 5941, 5973, 6005, 6580, 6310, 6226, 6190, 6242, 6286, 6365, 6418, 6471, 6581, 6641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
... i.e. the short readings are at 10cm and there are several of them
p.s. I just realized that I did not recompile the C-code ... sorry :(
p.s.2 now it works as expected (enteres tunnel in TS2)
second attempt on CloudSim 456aaa84-34b8-44e2-aa30-e2224c672d09
- locally it scored, but on CloudSim it did not
CloudSim Pam drone did not score because it did not take off ...
... it was not quite clear from this picture.
CloudSim data:
k name bytes | count | freq Hz
-------------------------------------------------------------
0 sys 74594 | 147 | 0.2Hz
1 receiver.raw 1376 | 1376 | 1.8Hz
2 receiver.response 0 | 0 | 0.0Hz
3 receiver.timeout 0 | 0 | 0.0Hz
4 drone.desired_speed_3d 626575 | 12519 | 16.4Hz
5 transmitter.raw 0 | 0 | 0.0Hz
6 transmitter.response 0 | 0 | 0.0Hz
7 transmitter.timeout 0 | 0 | 0.0Hz
8 fromrospy.acc 353659 | 57140 | 74.9Hz
9 fromrospy.top_scan 114490 | 11449 | 15.0Hz
10 fromrospy.bottom_scan 114470 | 11447 | 15.0Hz
11 fromrospy.pose3d 755106 | 11441 | 15.0Hz
12 fromrospy.battery_state 2079 | 231 | 0.3Hz
13 fromrospy.score 760 | 760 | 1.0Hz
14 fromrospy.gas_detected 1 | 1 | 0.0Hz
15 fromrospy.rgbd_front 6917 | 6917 | 9.1Hz
16 fromrospy.rgbd_left 0 | 0 | 0.0Hz
17 fromrospy.rgbd_right 0 | 0 | 0.0Hz
18 fromrospy.air_pressure 41175 | 4575 | 6.0Hz
19 fromrospy.scan360 859770 | 1398 | 1.8Hz
20 fromrospy.octomap 0 | 0 | 0.0Hz
21 fromrospy.robot_name 7 | 1 | 0.0Hz
22 app.desired_speed 6245 | 1105 | 1.4Hz
23 app.pose2d 91528 | 11441 | 15.0Hz
24 app.stdout 1594 | 20 | 0.0Hz
25 app.desired_z_speed 1633 | 185 | 0.2Hz
26 app.flipped 0 | 0 | 0.0Hz
27 reporter.artf_cmd 0 | 0 | 0.0Hz
28 reporter.artf_all 0 | 0 | 0.0Hz
29 artifact_filter.artf_xyz 0 | 0 | 0.0Hz
30 gas_detector.localized_artf 0 | 0 | 0.0Hz
31 radio.radio 21143 | 689 | 0.9Hz
32 radio.artf_xyz 0 | 0 | 0.0Hz
33 radio.breadcrumb 0 | 0 | 0.0Hz
34 radio.robot_xyz 8792 | 228 | 0.3Hz
35 radio.trace_info 6194 | 456 | 0.6Hz
36 radio.robot_trace 78 | 2 | 0.0Hz
37 marsupial.detach 0 | 0 | 0.0Hz
38 rosmsg.sim_time_sec 591 | 231 | 0.3Hz
39 rosmsg.sim_clock 1057 | 231 | 0.3Hz
40 rosmsg.cmd 29868 | 713 | 0.9Hz
41 rosmsg.t265_rot 0 | 0 | 0.0Hz
42 rosmsg.debug 0 | 0 | 0.0Hz
43 rosmsg.radio 41353 | 1144 | 1.5Hz
44 rosmsg.base_station 0 | 0 | 0.0Hz
45 rosmsg.joint_name 0 | 0 | 0.0Hz
46 rosmsg.joint_position 0 | 0 | 0.0Hz
47 rosmsg.joint_velocity 0 | 0 | 0.0Hz
48 rosmsg.joint_effort 0 | 0 | 0.0Hz
49 mtm.robot_trace 39 | 1 | 0.0Hz
50 mtm.trace_info 3097 | 228 | 0.3Hz
51 octomap.waypoints 0 | 0 | 0.0Hz
52 octomap.dropped 0 | 0 | 0.0Hz
53 logimage_right.image 0 | 0 | 0.0Hz
54 logimage_right.depth 0 | 0 | 0.0Hz
55 logimage.image 217499112 | 3459 | 4.5Hz
56 logimage.depth 847681438 | 3459 | 4.5Hz
57 logimage_left.image 0 | 0 | 0.0Hz
58 logimage_left.depth 0 | 0 | 0.0Hz
59 detector.localized_artf 0 | 0 | 0.0Hz
60 detector.dropped 6844 | 6844 | 9.0Hz
61 detector.debug_rgbd 0 | 0 | 0.0Hz
62 detector.stdout 42 | 2 | 0.0Hz
63 detector.debug_result 1308671 | 6843 | 9.0Hz
64 detector.debug_cv_result 6843 | 6843 | 9.0Hz
65 detector_left.localized_artf 0 | 0 | 0.0Hz
66 detector_left.dropped 1 | 1 | 0.0Hz
67 detector_left.debug_rgbd 0 | 0 | 0.0Hz
68 detector_left.stdout 11 | 1 | 0.0Hz
69 detector_left.debug_result 0 | 0 | 0.0Hz
70 detector_left.debug_cv_result 0 | 0 | 0.0Hz
71 detector_right.localized_artf 0 | 0 | 0.0Hz
72 detector_right.dropped 1 | 1 | 0.0Hz
73 detector_right.debug_rgbd 0 | 0 | 0.0Hz
74 detector_right.stdout 11 | 1 | 0.0Hz
75 detector_right.debug_result 0 | 0 | 0.0Hz
76 detector_right.debug_cv_result 0 | 0 | 0.0Hz
Total time 0:12:43.010140
ROS output errors:
155.396000000 ERROR /A100L/local_map [/osgar-ws/src/osgar/subt/ros/proxy/traversability.cc:232(optional<tf::StampedTransform> osgar::Traversability::GetTransform)] [topics: /rosout, /A100L/local_map/output/map, /A100L/local_map/output/scan] Lookup would require extrapolation into the past. Requested time 155.068000000 but the earliest data is at time 155.152000000, when looking up transform from frame [A100L/base_link/rgbd_front_optical] to frame [odom]
Note, that from 4 runs (same docker image, same TS2 world) drone first time did not take off, second scored 2 points, third stopped 1m(?) above the ground in starting area and finally with longer return time (A200L instead of A100L) it scored 4 points. Analysis is still WIP.
OK, I think that this picture explains the 3rd run, when the drone was 1m above the ground:
(i.e. it failed to enter the tunnel and when it did it returned on original trace - enter should be fixed in following PR) @jisa - I would vote for merge, what do you think?
I am going to merge and create new PR as discussed yesterday on call and in e-mail ...
this is older attempt to fly with Kevin's drone ...