NVIDIA-ISAAC-ROS / NVIDIA-ISAAC-ROS/isaac_ros_visual_slam

Gravity topic is empty when using IMU sensor from Isaac Sim

Open
#213 7 comments 0 reactions 1 assignee View on GitHub

@jaiveersinghNV is already working on this.

Since Apr 28, 2026.

needs info
Dominant language
C++
Stars
1.5k
Forks
206
PR merge metrics
No merged PRs in 30d

Description

I am using Isaac Sim with a drone model equipped with stereo cameras and an IMU sensor. Through Action Graph, I publish the stereo camera images, camera info, and IMU data to ROS 2, then use Isaac ROS VSLAM for localization.
To verify whether the IMU data is actually being used, I checked the gravity topic using
ros2 topic echo /visual_slam/vis/gravity
However, the topic outputs nothing. As I understand it, this topic should normally publish the estimated gravity vector (or initialized gravity) when IMU fusion is working.
Could you please advise how to solve this issue? Thank you!
My generate_launch_description function is configured as follows:

def generate_launch_description():
    visual_slam_node = ComposableNode(
        name='visual_slam_node',
        package='isaac_ros_visual_slam',
        plugin='nvidia::isaac_ros::visual_slam::VisualSlamNode',
        remappings=[
            ('visual_slam/image_0',        'front_stereo_camera/left/image_rect_color'),
            ('visual_slam/camera_info_0',  'front_stereo_camera/left/camera_info'),
            ('visual_slam/image_1',        'front_stereo_camera/right/image_rect_color'),
            ('visual_slam/camera_info_1',  'front_stereo_camera/right/camera_info'),
            ('visual_slam/imu',            '/imu'),
        ],
        parameters=[{
            "verbosity": 2,
            'use_sim_time': True,
            'num_cameras': 2,
            'rectified_images': True,
            'enable_image_denoising': True,
            'enable_imu_fusion': True,
            'gravitational_force': [0.0, 0.0, -9.81],
            'imu_frame': 'imu',
            'gyro_noise_density': 0.000244,
            'gyro_random_walk': 0.000019393,
            'accel_noise_density': 0.001862,
            'accel_random_walk': 0.003,
            'map_frame': 'map',
            'odom_frame': 'odom',
            'base_frame': 'base_link',
            'publish_map_to_odom_tf': True,
            'publish_odom_to_base_tf': True,
            'enable_slam_visualization': True,
            'enable_observations_view': True,
            'enable_landmarks_view': True,
            'image_jitter_threshold_ms': 33.33,
        }])
    visual_slam_launch_container = ComposableNodeContainer(
        name='visual_slam_launch_container',
        namespace='',
        package='rclcpp_components',
        executable='component_container',
        composable_node_descriptions=[
            visual_slam_node,
        ],
        output='screen',
    )
    return launch.LaunchDescription([visual_slam_launch_container])

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.