Isaac ROS VSLAM. NVBLOX usage with NAV2

Hi @muad_dib

Welcome to the Isaac ROS forum. Thank you for your detailed message. I will reply to all your questions. Feel free to respond if something is incomplete.

The roles of the two maps are entirely different.

  • The NVBlox map is designed for external use, an example is NAV2 with the constmap
  • The Isaac ROS vslam is used internally for the cvslam algorithm to localize the robot itself. Documentation: Visual SLAM — isaac_ros_docs documentation

For your use case, I suggest saving both maps. This will enable the robot to promptly localize the environment as both algorithms have a filled database.

Remember to load both maps before the algorithms start.

You can find an example of implementation on isaac_ros_nvblox/nvblox_examples/nvblox_examples_bringup/launch/navigation/nvblox_carter_navigation.launch.py at 6c935425605972d5ecf9bea6c3a12006955083b9 · NVIDIA-ISAAC-ROS/isaac_ros_nvblox · GitHub

I’m looking internally for a more detailed documentation about this package, I will provide soon as possible

We don’t provide a way to switch between two different odometries. In your case, I suggest writing an own ROS 2 node able to read both inputs and generate the right output for your robot.

A practical way that you can use is described on our documentation

A practical approach to tracking odometry is to use multiple sensors with diverse methods so that systemic issues with one method can be compensated for by another method. With three separate estimates of odometry, failures in a single method can be detected, allowing for fusion of the multiple methods into a single higher quality result. VSLAM provides a vision- and IMU-based solution to estimating odometry that is different from the common practice of using LIDAR and wheel odometry.

The output is always available on topics, how did you set up your environment? Are you using our demos?

No, at this time nvblox works only with depth cameras, but we are working for a future implementation.

There is Isaac ROS Map localization that works with 2D lidars:

Best,
Raffaello

1 Like