Nvidia Isaac Ros Nvblox in Gazebo Simulation

Hello, I am using ROS 2 Humble and Gazebo Fortress 6.16.0 for simulation. I have been able to get other Nvidia ISAAC Ros packages such as ISAAC ROS Apriltags working with my Gazebo simulation environment with simulated camera, but I cannot seem to get ISAAC Ros Nvblox working so I wanted to ask for some advice. I have a color camera and depth camera at the exact same location of my simulated robot in gazebo. I am passing the color image and info as well as depth image and info topics to nvblox, and it is running without errors and producing a mesh and all that, but the mesh I visualize in rviz does not look correct, the ground is slanted when it should be flat and things are off. I am wondering if anyone has gotten Nvblox working in gazebo simulation before? I attached two screenshots of what my current output looks like.


Hi @Isopod00

Thank you for your post.

Have you check with RQT_graph if all topics are connected to nvblox?

The list of topics is available at this page: ROS Topics and Services — isaac_ros_docs documentation

Best,
Raffaello

Hello, my rqt_graph is pretty messy, but I tried to capture some good views of it for you, please see attached. In my launch file I am connecting the following 4 topics to nvblox:

SetRemap(src=["camera_0/depth/image"], dst=["/depth/image"], condition=setup_for_gazebo),
SetRemap(src=["camera_0/depth/camera_info"], dst=["/depth/camera_info"], condition=setup_for_gazebo),
SetRemap(src=["camera_0/color/image"], dst=["/color/image"], condition=setup_for_gazebo),
SetRemap(src=["camera_0/color/camera_info"], dst=["/color/camera_info"], condition=setup_for_gazebo),

I am not currently setting/using the pointcloud, transform, or pose topics. I am not using lidar, only a color camera and depth camera, both gazebo sensors places at the same spot on the simulated robot.

Are there any examples of someone getting nvblox to work with Gazebo? Because I have not been able to find any online yet, which is surprising. Thank you for your help!



I would be okay with getting it to work with simulated lidar instead of simulated depth camera as well, I just need it to work in Gazebo simulation. I briefly tried using a simulated lidar instead but i couldn’t get it to even produce a mesh for me to visualize, i verified that it was receiving my pointcloud data and integrating it, but when i tried to view the mesh and esdf in rviz there was nothing.

Hi @Isopod00

Thank you for your pictures.

Looks like you connected nvblox to the topic /color/image/nitros instead of /color/image

Try also to set to true these parameters: print_delays_to_console, print_rates_to_console, print_timings_to_console

May can help to figure out why nvblox is not generating any 3D map.

Best,
Raffaello

It is generating a 3D map though as you can see in my original pictures, the 3D map just doesn’t look correct which is what I’m trying to fix. I am somewhat sure that the issue is with how my gazebo cameras are configured to be honest, which is why I wish I had an example of someone who has gotten this working to see how they configured their gazebo cameras.

The case where no 3D map is being created is the second case where I tried using only lidar, as in I didn’t give nvblox any color or depth images at all only a lidar pointcloud topic. And this seems to work even less than my first case as no 3D mesh was being created.