ethz-asl/voxblox_ground_truth

PCL save

eliabntt opened this issue · 6 comments

Hi,
nice work here. Is it possible to save/convert it to a mesh that can be opened with meshlab, for example some kind of pcd/pcl file?
In short, I have a .world file and I would like to have ground-truth but I cannot find a way to convert your tsdf to any other format.
Moreover, I have seen from your code that there is some "slice" function. Does this mean that I can slice the cloud at a predefined height?

There's no direct way to convert the Signed Distance Field map generated by this package to meshes. But you might be able to get a mesh by loading the TSDFs generated by this plugin in voxblox, and then calling the generate_mesh service described here.
The slice parameter is used to visualize the values of the signed distance function voxel grid at a given height. It doesn't actually slice the TSDF.

What do you intend to use the ground truth meshes for? In general, the objects in Gazebo are already represented as meshes (a parametric surface representation). The aim of this plugin is actually to convert them to a signed distance field, which is an implicit surface representation. We use these to evaluate the quality of the TSDF maps that we get from voxblox.
Going back and forth would lead to an information loss (e.g. the TSDF is discretized), so if you have a bit of time to code you would be better off by directly storing the meshes to disk when reading them from Gazebo see here.

Hi sorry for the late reply. I'm trying to find a way to generate groundtruth for my gazebo worlds to test my slam approach either in the 2d or the 3d domains.

In this case it'd probably be the easiest to save the meshes you obtain from Gazebo here.

I've found that you produce a pcl so I can save that directly with pcl-library's tools, then convert to ply and, after that, I've my importable-3D-groundtruth.
Since I've many custom "mesh" like tables and everything else I've also switched to gasserl/feature/mesh_integration. The only thing that is missing now is POLYLINE support since I've many Encountered a mesh with type LINES. Currently, only triangular meshes are supported.

Is there anything I can do for that? Even coding would be good if I can help.

@eliabntt Hi, did you find an easier way to generate ply from .world file? Thanks in advance.