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

Drift with Intel Realsense D455

Open
#67 4 comments 0 reactions 1 assignee View on GitHub

@hemalshahNV is already working on this.

Since Jan 31, 2023.

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

Description

Hi there,

I'm trying the Visual SLAM ROS package with Intel Realsense D455 in an outdoor environment. I found a rather big drift in the SLAM output. I recorded the infrared camera images/camera info in ROS2 bags and play it back to the Issac visual slam. I compare the SLAM result with colmap, and it shows about 1.2m error in 10 seconds. I also check the scale of the resulting landmark point cloud. The scale is about 0.7x-0.8x smaller.

I suspect that I did something wrong. Please kindly check my launch file. Any suggestion will be much appreciated.

Please see the launch file.

`

import launch
from launch_ros.actions import ComposableNodeContainer, Node
from launch_ros.descriptions import ComposableNode

def generate_launch_description():

visual_slam_node = ComposableNode(
    name='visual_slam_node',
    package='isaac_ros_visual_slam',
    plugin='isaac_ros::visual_slam::VisualSlamNode',
    parameters=[{
                'enable_rectified_pose': True,
                'denoise_input_images': True,
                'rectified_images': False,
                'enable_debug_mode': False,
                'debug_dump_path': '/tmp/elbrus',
                'enable_slam_visualization': True,
                'enable_landmarks_view': True,
                'enable_observations_view': True,
                'enable_localization_n_mapping': True,
                'enable_imu': True,
                'map_frame': 'map',
                'odom_frame': 'odom',
                'base_frame': 'camera_link',
                'input_left_camera_frame': '',
                'input_right_camera_frame': '',
                'path_max_size': 10000,
                'msg_filter_queue_size': 10000,
                'input_imu_frame' : 'camera_imu_frame',
                }],
    remappings=[('stereo_camera/left/image', 'camera/infra1/image_rect_raw'),
                ('stereo_camera/left/camera_info', 'camera/infra1/camera_info'),
                ('visual_slam/imu', '/camera/imu'),
                ('stereo_camera/right/image', 'camera/infra2/image_rect_raw'),
                ('stereo_camera/right/camera_info', 'camera/infra2/camera_info')]
)

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.