NVIDIA-ISAAC-ROS / NVIDIA-ISAAC-ROS/isaac_ros_visual_slam
Drift with Intel Realsense D455
@hemalshahNV is already working on this.
Since Jan 31, 2023.
- 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
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.
Assessment
This issue has not been assessed yet.