PickNikRobotics/rviz_visual_tools

C++ API wrapper for displaying shapes and meshes in Rviz

What it solves

This project provides a C++ API wrapper for Rviz, allowing developers to easily display shapes, meshes, and coordinate frames in a 3D visualization tool. It simplifies the process of publishing markers to Rviz for debugging and testing robot data and transforms.

How it works

The library provides a set of helper functions that publish markers to specific ROS topics. Instead of manually creating complex ROS marker messages, developers can use high-level functions like publishSphere or publishArrow with simple parameters for position, color, and size. It includes a batch publishing system via a trigger() function to reduce ROS message throttling and a TFVisualTools class for debugging Eigen transforms.

Who it’s for

Robotics developers using ROS (Robot Operating System) and Rviz who need a fast way to visualize spatial data, geometric shapes, and coordinate transforms for debugging purposes.

Highlights

  • Simplified Marker Publishing: Easy-to-use functions for basic shapes (spheres, cubes, cones) and complex geometry (paths, graphs, polygons).
  • Batch Publishing: Ability to trigger publications in groups to improve performance and reduce message throttling.
  • Transform Debugging: Dedicated tools for visualizing Eigen transforms and coordinate frames.
  • Utility Helpers: Built-in shortcuts for converting between ROS messages, Eigen, and tf types, as well as predefined standard colors and sizes.
  • Interactive Markers: A helper class for implementing 6DOF pose interactive markers.

Related

  • Project
  • Project
  • Project
  • Project
  • Project