atf icon indicating copy to clipboard operation
atf copied to clipboard

analyzer: reindex bag files if needed

Open floweisshardt opened this issue 5 years ago • 2 comments

sometimes tests are aborted (e.g. due to time limit), this results in unindexed bag files altought there is (partially) usefull data recorded. The analyzer skips this bag files and adds no result to all the testblocks, athough some testblocks finished successfully.

if reindexing the bag file and the running the analyzer will result in successfull testblocks and partially executed testblocks, see

    name: "ts0_c1_r0_e0_s0_0"
    robot: "diff"
    env: "office"
    test_config: "dwa_local_planner"
    testblockset: "testblockset1"
    groundtruth_result: False
    groundtruth_error_message: "\n   - testblock 'testblock_rooms': \n     - metric 'tf_length_translation': no result\n\
  \     - metric 'tf_length_rotation': no result\n     - metric 'time': no result\n\
  \   - testblock 'testblock_all': \n     - metric 'tf_length_translation': no result\n\
  \     - metric 'interface': no result\n     - metric 'tf_length_rotation': no result\n\
  \     - metric 'time': no result"
    results: 
      - 
        name: "testblock_rooms"
        groundtruth_result: False
        groundtruth_error_message: "\n     - metric 'tf_length_translation': no result\n     - metric 'tf_length_rotation':\
  \ no result\n     - metric 'time': no result"
        results: 
          - 
            name: "tf_length_translation"
            started: True
            finished: False
            data: None
            groundtruth_result: False
            groundtruth_error_message: "no result"
            groundtruth: 50
            groundtruth_epsilon: 49
            details: []
          - 
            name: "tf_length_rotation"
            started: True
            finished: False
            data: None
            groundtruth_result: False
            groundtruth_error_message: "no result"
            groundtruth: 50
            groundtruth_epsilon: 49
            details: []

For the partially executed testblocks it's ok to have data: None but the error message should be no result (did not finish testblock) to indicate.

floweisshardt avatar Dec 29 '19 11:12 floweisshardt

wrongly closed bags sounds a lot like what we have had during the woz tests....there was an easy work-around for that...I'll try to find the fix in the woz repo...

:point_right: https://github.com/mojin-robotics/woz/commit/bb8ddfeb3c36a952eff7456a0dcac1b1a7b54155 does this help?

fmessmer avatar Jan 04 '20 13:01 fmessmer

mojin-robotics/woz@bb8ddfe does this help? unfortunatelly not. The bags are not closed correctly because we hit the time limit for a rostest, e.g. due to the robot being stuck somewhere and the test does not succeed to the end, and thus the rosbag cannot be closed (this is handled within the rostest framework like a CTRL-C)

This should clearly be a failed test (because robot could not finish) but we can still evaluate the metrics (path_length, time, etc) until the shutdown of the test which might give insights what has happened.

So the solution is that we rosbag reindex the broken bag files and pass the fixed bag files to the analyzer.

floweisshardt avatar Jan 04 '20 15:01 floweisshardt