Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ChiselServer drops data when TSDF mapping is lagging behind framerate. #22

Open
CelestialBoon opened this issue Apr 20, 2018 · 4 comments

Comments

@CelestialBoon
Copy link
Contributor

I've tested OpenChisel repeatedly with the sample launch file that uses the freiburg dataset and I'm noticing that the resulting meshes tend to vary, missing some piece or other, and ending up with a different number of vertexes each time.

Is this behaviour expected? It does the same with other datasets as well, like when interacting with rtabmap, and it gives the impression that it is only using a small portion of the data to fill in the TSDF (that is, only a fraction of the frames/point clouds it receives).

An example of the different meshes I obtain: freiburg_meshes.zip

@mklingen
Copy link
Collaborator

mklingen commented May 8, 2018

Hmm, I guess it is possible that the system is simply dropping data. FYI, I haven't maintained Open Chisel since about 2015, I am not sure who (if anyone) is still maintaining the library at the Personal Robotics Lab.

@mklingen
Copy link
Collaborator

mklingen commented May 8, 2018

Yep, just as I suspected. ChiselServer simply overwrites old data with new data whenever it gets a new frame:

https://github.com/personalrobotics/OpenChisel/blob/master/chisel_ros/src/ChiselServer.cpp#L256

So if Chisel is lagging behind the framerate of the camera (very very possible), frames are going to get dropped non-deterministically. I think this is a decision I made early on because I was more concerned with the latest data getting into the map than all of the data at the time.

The server should be rewritten to queue up data and process it a frame at a time. Again, since I'm no longer a maintainer I don't know if or when I would be able to do this.

@mklingen mklingen changed the title Partial, non-deterministic mesh extraction with freiburg dataset ChiselServer drops data when TSDF mapping is lagging behind framerate. May 8, 2018
@mklingen
Copy link
Collaborator

mklingen commented May 8, 2018

You may be interested in trying the spiritual successor to OpenChisel, VoxBlox from ETH zurich.

@CelestialBoon
Copy link
Contributor Author

That's very interesting! My thanks for making me aware of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants