NVIDIA-ISAAC-ROS / isaac_ros_visual_slam

Visual SLAM/odometry package based on NVIDIA-accelerated cuVSLAM
https://developer.nvidia.com/isaac-ros-gems
Apache License 2.0
819 stars 127 forks source link

Is it possible to use Multiple Cameras in Elbrus VSLAM? #42

Closed vanguard478 closed 1 year ago

vanguard478 commented 1 year ago

Hi, I looked through the elbrus.h file and in the Elbrus initialization we pass the ELBRUS_CameraRig which in turn contains the ELBRUS_Camera and the number of cameras in the rig.

/*       
 * Use this to initialize Elbrus
 *
 * ELBRUS_TrackerHandle will remember number of cameras
 * from rig. Elbrus supports only Mono and Stereo rigs.
 */
ELBRUS_API
ELBRUS_Status ELBRUS_CreateTracker(ELBRUS_TrackerHandle* tracker,
                                   const struct ELBRUS_CameraRig* rig,
                                   const struct ELBRUS_Configuration* cfg);

Also in the code where we pass the images to start the tracking, it is mentioned we need to pass as many images as the number of cameras.

 * images - is a pointer to single image in case of mono or
 * array of two images in case of stereo.
 *
 * You should use the same number of images for tracker equal to
 * rig->num_cameras in ELBRUS_CreateTracker.
 */
ELBRUS_API
ELBRUS_Status ELBRUS_Track(ELBRUS_TrackerHandle tracker,
                           const ELBRUS_Image *images,
                           const ELBRUS_Pose* predicted_pose,
                           ELBRUS_PoseEstimate* pose_estimate);
hemalshahNV commented 1 year ago

It is not possible to use multiple cameras with one instance of Isaac VSLAM yet but it is on our roadmap.