beluga icon indicating copy to clipboard operation
beluga copied to clipboard

Support for OpenVDB maps in Rviz

Open pvela2017 opened this issue 9 months ago • 2 comments

Feature description

After the implementation of beluga_vdb, it would nice to be able to visualize the vdb maps on rviz. This would allow to check the quality of the map (size, resolution, etc) and the robot position in the map.

The goal would be to display the map as cube, representing each voxel, kind of like a Minecraft world. As shown in the image below.

Image

Implementation considerations

  • We could create a beluga_rviz_plugins package containing the files.
  • As the type of plugin, I think it should be a Display
  • The properties could be color, alpha and map path
  • For the initial version, we could keep it simple and not subscribe to a topic or update the map. Just load the map once.

pvela2017 avatar May 18 '25 08:05 pvela2017

My first attempt was to use an Ogre::Entity and Ogre cube primitive for each voxel. I tested it using the bunny.vdb levelset provided on the OpenVDB website and it can be render in rviz as shown in the image below. But it has only 5 millions active voxel and cosumes 8GB ram and rviz can barely work. The map we created for the beluga_amcl3_demo has 50 millions active voxel, so I'm exploring other alternatives. The code can check here.

Image

pvela2017 avatar May 18 '25 08:05 pvela2017

@pvela2017 Nice! I don't have a clear cut picture of where VDB tooling should live TBH. I think RViz support goes down the same route as VDB mapping. beluga_vdb without either is impractical to use. @glpuga @nahueespinosa thoughts? Is it time for a beluga_vdb_ros?

hidmic avatar May 18 '25 18:05 hidmic