VSLAM and Nvblox guide for mapping and navigation

Hello,

I have been working on Isaac ROS GEMs especially with vslam and nvblox. Going through the tutorials and examples I got some ideas but there is still some confusion on what is the best approach to use both the vlsam and nvblox for mapping and navigation. I do intend to use pure vision based approch without use any LIDARs.

So for mapping, my understanding is that we can save the pose graph and landmarks using vslam action and the nvblox costmap slice via ros service and use them later for path planning and navigation etc.

Then load this pose graph and landmarks and nvblox costmap slice(as a global costmap) to localize and then do the path planning and navigation.

Is this a recommend approoch where we use only the vlsam and nvblox for the mapping and navigation or do we need AMCL/Isaac ROS Map Localization with lidar/laser scan data along with vlsam and nvblox to do mapping and navigation ?

Thanks !!!

1 Like

Need few more clarifications on top of the above !!

  1. It is mentioned in the VSLAM documentation that global localization is not supported, that means we cannot load the pose graphs and localize in the map ?

  2. It is mentioned that loop closure is supported with nvblox in here : Using ISAAC ROS vSLAM questions on localization mode, pose graph saving offline and 3d reconstruction with nvblox and loop closure is not supported by nvblox in here : Does nvblox support loop closure?, so which is true ?

Hi @aravindsairam1995

Thank you for your detailed topic opened, let me reply to your questions

  • In multi-cam mode, we only support odometry mode. → You cannot save a pose graph.
  • In single-cam mode, we support SLAM mode. → You can save the pose graph and load the pose graph.
    However, in order to load the pose graph and localize itself within the graph, cuvslam requires an “initial pose hint” from a global localization system. The initial pose hint should be accurate to within +/- 1 meter.
    It’s your responsibility to provide the pose hint. One possible solution is to utilize a 2D lidar and the grid search localizer from isaac_ros_map_localization.

For a complete navigation stack, a lidar is currently still required for global localization.
We are actively working on this shortcoming.

2 Likes

A post was split to a new topic: Multiple stereo camera Isaac ROS vslam