Introducing Tools for Storing, Rendering andAnnotating Triangle Meshes in ROS and RViz

Mesh Tools
Sebastian Pütz
Osnabrück University
spuetz@uos.de

Thomas Wiemann
Osnabrück University
twiemann@uos.de• T. Wiemann, I. Mitschke, A. Mock, and J. Hertzberg. Surface reconstruction

Mesh Tools

from arbitrarily large point clouds. In 2018 Second IEEE International
Confer- ence on Robotic Computing (IRC), pages 278–281, Jan 2018.

Mesh Applications and Advantages• 3D Mapping of outdoor terrain• Obtaining surface information• Multilayer surface information• Multilevel environments• Visualization of terrain analysis• Robot Mesh navigation planning• Visualization of textures• Data reduction• Intuitive annotation of objects
Mesh Tools

Mesh Tools – Packages• mesh_msgs

Meshmesh_msgs• mesh_msgs_transform

Transform

mesh_msgs_transform• mesh_msgs_hdf5• hdf5_map_io

Annotation
label_manager

HDF5• label_manager

mesh_msgs_hdf5
hdf5_map_io• rviz_mesh_plugin• rviz_map_plugin
Mesh Tools

RViz

rviz_mesh_plugin
rviz_map_pluginMesh Geometry
V4

V3# MeshGeometry Message
geometry_msgs/Point[] vertices
geometry_msgs/Point[] vertex_normals
mesh_msgs/TriangleIndices[] faces

F2F1F3V1# TriangleIndices Message
uint32[3] vertex_indices# MeshGeometryStamped Message
std_msgs/Header header
string uuid
mesh_msgs/MeshGeometry mesh_geometry

Mesh Tools

V5V2Vertex Buffer

V1V2V3V4V512345Index Buffer

12F1324F2

3245F3Mesh Tools

Mesh Vertex Costs and Colors# MeshVertexCosts
float32[] costs# MeshVertexCosts Stamped
std_msgs/Header header
string uuid # reference to the meshstring type # costs typemesh_msgs/MeshVertexCosts
mesh_vertex_costs

Mesh Tools

MeshVertexColors and labeled objects on the Ford Campus Dataset• G. Pandey, J. R. McBride, and R. M. Eustice. Ford campus vision andlidar data set. The International Journal of Robotics Research,30(13):1543– 1552, 2011.

Mesh Navigation/cloudsensor_msgs/
PointCloud2RViz• Reconstruct sensor data to a mesh
• Terrain analysis on the mesh to cost

rviz_mesh_plugin

Reconstruction
lvr_roslayers• Combine cost layers to a navigation
layer• Perform path planning and motion
control on the mesh using
Move Base Flex

/mesh_costs/meshmesh_msgs/
MeshGeometryStamped/goalgeometry_msgs/
PoseStamped

Move Base Flex
Mesh Navigation
mbf_mesh_nav• 3D Navigation Mesh Generation for Path Planning

Mesh Tools

mesh_msgs/
MeshVertex
CostsStampedin Uneven Terrain. S. Pütz, T. Wiemann, J.
Sprickerhof, and J. Hertzberg. 9th IFAC Symposiumon Intelligent Autonomous Vehicles (IAV 2016).

/pathnav_msgs/Path• Move Base Flex: A Highly Flexible Navigation Framework for
Mobile Robots. Sebastian Pütz, Jorge Santos Simón,
Joachim Hertzberg, International Conference on Intelligent
Robots and Systems 2018 (IROS 2018)

Mesh Face Cluster# MeshFaceCluster
uint32[] face_indices# label (optional)
string label# MeshFaceClusterStamped Message
std_msgs/Header header
string uuid
MeshFaceCluster cluster# overwrite existing labeled facesbool override

Mesh Tools

Mesh Materials & Textures# MeshTexture
string uuid
uint32 texture_index
sensor_msgs/Image image# MeshMaterial
uint32 texture_index
std_msgs/ColorRGBA color
bool has_texture# MeshVertexTexCoords
float32 u
float32 v

Mesh Tools# MeshMaterials
mesh_msgs/MeshFaceCluster[] clusters
mesh_msgs/MeshMaterial[] materials
uint32[] cluster_materials
mesh_msgs/MeshVertexTexCoords[]
vertex_tex_coords# MeshMaterialsStamped
std_msgs/Header header
string uuid
mesh_msgs/MeshMaterials mesh_materials

Hierarchical Data Format IO• Representation of complex data structures
metadata.

• Portable ﬁle format• No limits (number or size of data)• C, C++, Python, Fortran 90, and Java interfaces.
• Storing pre computed mesh layers, e.g. roughness,height diﬀerences, and semantic information• Storing textures like, RGB images or even texturesgenerated by a hyper spectral camera.

Mesh Tools

Markerless Ad-hoc Calibration of a Hyperspectral Camera
and a 3D Laser Scanner. Felix Igelbrink, Thomas Wiemann,
Sebastian Pütz, Joachim Hertzberg, 15th International
Conference on Intelligent Autonomous Systems (IAS 2018)

github.com/uos/mesh_tools
wiki.ros.org/mesh_tools

Mesh Tools