NVIDIA-ISAAC-ROS / NVIDIA-ISAAC-ROS/isaac_ros_visual_slam
Enabling imu fusion prevents cuVSLAM from initializing
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.5k
- Forks
- 206
- PR merge metrics
- No merged PRs in 30d
Description
I tried launching the node by changing parameters enable_imu_fusion and imu_frame, so instead of the tutorial launch command:
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py \
launch_fragments:=zed_stereo_rect,visual_slam \
pub_frame_rate:=30.0 \
base_frame:=zed2_camera_center \
camera_optical_frames:="['zed2_left_camera_optical_frame', 'zed2_right_camera_optical_frame']" \
interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_visual_slam/zed2_quickstart_interface_specs.json
I ran:
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py \
launch_fragments:=zed_stereo_rect,visual_slam \
pub_frame_rate:=30.0 \
base_frame:=zed2_camera_center \
camera_optical_frames:="['zed2_left_camera_optical_frame', 'zed2_right_camera_optical_frame']" \
interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_visual_slam/zed2_quickstart_interface_specs.json \
enable_imu_fusion:=true \
imu_frame:=zed2_imu_link
there are no clear error messages, other than tf not working when checking it with rviz, which is probably caused by the fact that cuvslam isn't initializing completely for some reason. I'm deducing this just from the fact that when I try to enable imu fusion I don't see this print-out anymore, which instead comes up when launching with the tutorial launch command:
[component_container_mt-1] [INFO] [1757075664.034256003] [visual_slam_node]: Initializing cuVSLAM.
[component_container_mt-1] [INFO] [1757075664.036954466] [visual_slam_node]: Use use_gpu: true
[component_container_mt-1] [INFO] [1757075664.037027843] [visual_slam_node]: Enable IMU Fusion: false
[component_container_mt-1] [INFO] [1757075664.193040135] [visual_slam_node]: Time taken by CUVSLAM_CreateTracker(): 0.155994
[component_container_mt-1] [INFO] [1757075664.193981629] [visual_slam_node]: cuVSLAM tracker was successfully initialized.
I've read in another issue from 2024 that imu fusion wasn't fully integrated yet in isaac ros, has this been solved ? What can I do to further troubleshoot or solve this issue?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the ros2 launch command with enable_imu_fusion:=true and imu_frame:=zed2_imu_link, then compare the cuVSLAM initialization output with the tutorial command. Check the RViz TF behavior and review the linked 2024 issue for prior context. Done means IMU fusion initializes cuVSLAM successfully and the expected TF output is available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-vision, robotics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100