Question about updated VSLAM features

I saw some updates were uploaded to the VSLAM system. I have some questions.

  1. Are multiple sets of stereo cameras now functional? I see a place to add a specific number of cameras.

  2. What does the service: SetSlamPose do?

isaac_ros_visual_slam_interfaces/SetSlamPose

Can this be used to initialize the starting orientation and position of the system or is it something else? Also it’s not clear at all what the note means since if SLAM node was enabled, the setting would be true?

https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/isaac_ros_visual_slam/index.html

Hi @lowellm

Thank you for your message. We have updated the documentation for Isaac ROS 3.0. I will reply question by question below.

With Isaac ROS 3.0 VSLAM support, now multiple stereo cameras are supported. The minimum number of stereo cameras is 1, and the maximum is 16.

From: cuVSLAM — isaac_ros_docs documentation

cuVSLAM does not just work with a single stereo camera. It is possible to use up to 32 cameras (=16 stereo cameras) as input. Using multiple cameras can significantly increase robustness, especially in featureless environments.

The documentation report for Isaac ROS vslam services

ROS Service Interface Description
visual_slam/set_slam_pose isaac_ros_visual_slam_interfaces/SetSlamPose A service to set the estimated SLAM pose of the base_frame.

Yes, can be used to set a new starting base_frame pose

Which note are you referring?

I hope I helped you,
Raffaello

When setting up more than one stereo camera, is each pair sequentially numbered cameras? IE 0-1, 2-3, etc for stereo pairs?

About the note, at the bottom of the page it says note:

visual_slam/set_slam_pose only works in SLAM mode i.e. set enable_localization_n_mapping = false

Which is the opposite of SLAM mode being on?

Hi! That’s right, it should be set to true i.e. enable_localization_n_mapping = true. This will be updated in the documentation.

Regarding stereo camera numbering - yes, each pair is sequentially numbered.

Documentation fixed from release Isaac ROS 3.0.1 isaac_ros_visual_slam — isaac_ros_docs documentation

Thanks,

it was a while since I got back to this, I can make a new topic if necessary but if you’re starting up the SLAM system, do you use the set slam pose service before or after reset? the documentation doesn’t show to actually use it.

Hi, it doesn’t matter if you’re using the set slam pose service before or after the reset service - it can be used whenever and multiple times.

Here is a test that shows how to use the set slam pose service.

Clarification to what was discussed earlier in this thread - the set slam pose service currently only works with a single camera, and not with multiple cameras yet. The multiple camera setup only works with visual odometry mode at the moment i.e. enable_localization_n_mapping = false.

Ok, so to clarify further, does SetSlamPose automatically reset the entire SLAM system? Does it re-localize after setting the position?

Basically, all we want to do is set the initial orientation and position of the robot at SLAM startup.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.