Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Tools and Messages for Annotated 3D Triangle Meshes in ROS
| Date | Stars |
|---|---|
| 2026-07-24 | 283 |
| 2026-07-25 | 283 |
| 2026-07-28 | 283 |
| 2026-07-30 | 283 |
| 2026-08-06 | 283 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
[](https://github.com/naturerobots/mesh_tools/actions/workflows/jazzy.yaml)
[](https://github.com/naturerobots/mesh_tools/actions/workflows/humble.yaml)
This is the active ROS2 branch of this repository.
If your are looking for the old ROS1 version, checkout the [noetic branch](https://github.com/naturerobots/mesh_tools/tree/noetic).
# Mesh Tools
We introduce a set of tools to make 3D environment mesh representations
accessible and manageable in ROS. We provide RViz tools to visualize and
annotate huge meshes in combination with generated textures and different
cost layers, which are based on the geometric analyses of the environment,
or which represent different sensor readings, e.g. RGB image or even
hyper-spectral image textures.
## Introduction
Over the last years, the Knowledge Based Systems Group has developed
an extensive set of tools to automatically generate triangle meshes
from 3D laser scans. These tools are implemented in the
freely available Las Vegas Surface Reconstruction Toolkit
(LVR) and have been successfully applied in different
robotic contexts.
With terrestrial and mobile laser scanning it is possible to create 3D
point clouds of large environments in short time. However, the amount
of collected data is too large to be processed on a mobile robot. To
make this data available on mobile robots, we suggest to compute 3D
triangle meshes from point cloud data as corresponding map
representations. Such maps have several advantages
over raw point cloud data and voxel representations. They overcome the
discretization of voxel maps and deliver topologically connected
surface representations, which ease segmentation, annotation and enable intuitive visualization.
However, to make the maps accessible in ROS, corresponding message
definitions and tools for storing, handling and editing such maps are
required.
### Citation
Please reference the following papers when using mesh_tools in your scientific work.
```latex
@inproceedings{putz2019ecmr,
title={{Tools for visualizing, annotating and storing triangle meshes in ROS and RViz}},
author={P{\"u}tz, Sebastian and Wiemann, Thomas and Hertzberg, Joachim},
booktitle={2019 European Conference on Mobile Robots (ECMR)},
pages={1--6},
year={2019},
organization={IEEE}
}
```
```latex
@article{putz2021ras,
title = {{The Mesh Tools Package – Introducing Annotated 3D Triangle Maps in ROS}},
journal = {Robotics and Autonomous Systems},
volume = {138},
pages = {103688},
year = {2021},
doi = {https://doi.org/10.1016/j.robot.2020.103688},
author = {P{\"u}tz, Sebastian and Wiemann, Thomas and Hertzberg, Joachim},
}
```
## Message Definitions
We divided the mesh structure in its geometry, textures and cost layers. These different components are then associated using a UUID. This structure enables passing the geometry at first to RViz and other nodes. Theses nodes may analyze the geometry, e.g the roughness or height difference and compute corresponding mesh cost layers which are published as individual message with a corresponding mesh UUID. Thereby other nodes can associate these layers with a certain mesh object. In RViz a certain layer can then be selected by the user and visualized coloring the corresponding costs or displaying the textures. In the following gives an overview on most important mesh messages:
+ **MeshGeometry(Stamped)**: Geometric structure of a triangle mesh using a buffer vertices, normals and faces
+ **MeshVertexColors(Stamped)**: Vertex color information of a corresponding mesh
+ **MeshVertexCosts(Stamped)**: Vertex cost information of a corresponding mesh coloring the mesh using a rainbow color scheme.
+ **ClusterLabel**: Grouping a set of triangles / faces of a corresponding mesh using the face indices, optional cluster label
+Excerpt of 6,599 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:3def465419a5be49, topic:ros, readme:robotics