Skip to content

MeshMapping

Alexander Mock edited this page Nov 4, 2024 · 10 revisions

Mesh Mapping

There are many different strategies to mesh your environment. Some of them consist of multiple steps, which give a greater control about intermediate results, some of them generate meshes directly, which makes it faster but also harder to figure out potential flaws.

Most of those strategies consist of a simultaneous localization and mapping (SLAM) software somewhere in the chain. For simplicity we distinguish SLAM software by the data structure they operate on and generate as output.

For example, PCL SLAM is a SLAM software that operates on point clouds and generates a large PCL of the environment. There are exceptions, for example voxel-based SLAM often operate on voxel-representations, also producing large voxel-maps as end result, but also producing a mesh as side-product, such as Warpsense. Then we still consider it as voxel-based SLAM and handle the mesh output as if it was before converted from a voxel-based representation to a mesh. So Warpsense, for example, is a voxel-based SLAM and also a mesh conversion tool.

Then the following procedures are possible to obtain a mesh from your environment:

TODO: image

Point Cloud Triangle Mesh Optimized Mesh
PCL Mesh MeshOpti

List of Helpful Open-Source Software

PCL SLAM

A lot. Let's just name a few.

Name Link MeshNav-proved?

The resulting PCL can be used to generate a mesh. See conversion tools.

Voxel-based SLAM

Name Link MeshNav-proved?
voxblox https://github.com/ethz-asl/voxblox unknown
nvblox https://github.com/nvidia-isaac/nvblox unknown

Mesh SLAM

Name Link MeshNav-proved?
Kinect Fusion https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ismar2011.pdf unknown
PUMA https://github.com/PRBonn/puma unknown. unconnected mesh?
SLAMesh https://github.com/lab-sun/SLAMesh unknown
Warpsense https://github.com/juliangaal/warpsense unknown
Kimera https://github.com/MIT-SPARK/Kimera-VIO unknown

Other SLAM

Name Link MeshNav-proved?
PIN SLAM https://github.com/PRBonn/PIN_SLAM unknown. In first test, mesh was corrupted so I couldn't traverse with the lvr2 half-edge mesh.

Conversion Tools

It is also possible to convert certain data structures to others. Here a list:

Clone this wiki locally