ethz-asl/voxgraph

Sim Time Hanging

alexmillane opened this issue · 3 comments

Due to the use of a busy wait on TF data in a callback thread here:

https://github.com/ethz-asl/voxgraph/blob/master/voxgraph/src/frontend/voxgraph_mapper.cpp#L310

The mapper can hang at the end of a bag, when /clock is no longer published, but data is not yet fully processed. This prevents further interaction with the node, for example when a user wants to save optimized map elements.

The easiest solution (although arguably not great) is not to depend on ROS time for that wait. See:

https://github.com/ethz-asl/voxgraph/blob/feature/arche_evaluation/voxgraph/src/frontend/voxgraph_mapper.cpp#L325

@victorreijgwart From memory there was a solution here which wasn't my hack. Maybe its just to run the bag with the option to continue the clock after the bag is finished. Do you remember? Can we close this?

If I remember correctly, the nice solution was to sleep using ros::WallDuration instead of the regular ros::Duration. But it'd be good to check. I could take a look tmr.

This should have been fixed here, do you have a way to reproduce the error to confirm if it's resolved?