-
Notifications
You must be signed in to change notification settings - Fork 2
MeshMapping
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 |
---|---|---|
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.
Name | Link | MeshNav-proved? |
---|---|---|
voxblox | https://github.com/ethz-asl/voxblox | unknown |
nvblox | https://github.com/nvidia-isaac/nvblox | unknown |
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 |
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. |
It is also possible to convert certain data structures to others. Here a list:
-
https://github.com/uos/lvr2
- for example the lvr2_reconstruct executable
-
https://www.open3d.org/
- Some scripts: https://github.com/naturerobots/open3d_scripts
- https://www.meshlab.net/