isaac_ros_visual_slam

NVIDIA-ISAAC-ROSApache-2.0活跃维护

基于 NVIDIA cuVSLAM 加速的 ROS 视觉 SLAM 与里程计包,在 Jetson 和 GPU 上实时完成机器人定位与建图。

Visual SLAM/odometry package based on NVIDIA-accelerated cuVSLAM

v5.0-0发布于 2026-09-22 03:29 UTC1,493star212fork同步于 2026-11-07 07:32 UTC

怎么上手

由 README 提炼,执行前请确认
README 未给出安装命令,仅指向 Isaac ROS 官方文档的 Quickstart 页面
硬件要求按 README 说明

README 未说明具体显存要求;性能数据在 Jetson AGX Xavier aarch64 上测得,属 GPU 加速方案,需 NVIDIA GPU 平台。

支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

基于 NVIDIA cuVSLAM 的 ROS 2 视觉 SLAM 与里程计包,用双目相机加 IMU 实时估计机器人位姿

基于 NVIDIA cuVSLAM 加速的 ROS 视觉 SLAM 与里程计包,在 Jetson 和 GPU 上实时完成机器人定位与建图。

核心能力

  • 用双目图像对匹配关键点并估计深度
  • 融合 IMU 实现视觉惯性里程计 VIO
  • GPU 加速关键点检测与匹配,实时低延迟
  • 基于关键点地图做回环检测降低漂移
  • 提供 ROS 2 接口包,可作为导航里程计源

容易踩的坑

README 未给出安装步骤,需按官方文档配置 Isaac ROS 环境;包已由 isaac_ros_visual_slam 更名为 isaac_ros_cuvslam,注意引用新名称;纯色或无纹理场景关键点不足,需依赖 IMU 兜底

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v5.0-0
  1. v5.0-05.0.0最新正式版2026-09-22 · 2026-09-22 03:29 UTC

    这个版本没有写更新说明。

  2. v4.6-04.6.02026-08-19 · 2026-08-19 02:50 UTC

    这个版本没有写更新说明。

  3. v4.5-04.5.02026-07-07 · 2026-07-07 01:05 UTC

    这个版本没有写更新说明。

  4. v4.4-04.4.02026-05-01 · 2026-05-01 03:46 UTC

    这个版本没有写更新说明。

  5. v4.3-04.3.02026-03-24 · 2026-03-24 03:51 UTC

    这个版本没有写更新说明。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Isaac ROS Visual SLAM

    NVIDIA-accelerated, simultaneous localization and mapping (SLAM) using stereo visual inertial odometry (SVIO).


    Webinar Available

    Learn how to use this package by watching our on-demand webinar: Pinpoint, 250 fps, ROS 2 Localization with vSLAM on Jetson


    Overview

    Isaac ROS Visual SLAM provides a high-performance, best-in-class ROS 2 package for VSLAM (visual simultaneous localization and mapping). This package uses one or more stereo cameras and optionally an IMU to estimate odometry as an input to navigation. It is GPU accelerated to provide real-time, low-latency results in a robotics application. VSLAM provides an additional odometry source for mobile robots (ground based) and can be the primary odometry source for drones.

    VSLAM provides a method for visually estimating the position of a robot relative to its start position, known as VO (visual odometry). This is particularly useful in environments where GPS is not available (such as indoors) or intermittent (such as urban locations with structures blocking line of sight to GPS satellites). This method is designed to use multiple stereo camera frames and an IMU (inertial measurement unit) as input. It uses stereo image pairs to find matching key points. Using the baseline between the camera pairs, it can estimate the distance to the key point. Using consecutive images, VSLAM can track the motion of key points to estimate the 3D motion of the camera-which is then used to compute odometry as an output to navigation. Compared to the classic approach to VSLAM, this method uses GPU acceleration to find and match more key points in real-time, with fine tuning to minimize overall reprojection error.

    Key points depend on distinctive features in the images that can be repeatedly detected with changes in size, orientation, perspective, lighting, and image noise. In some instances, the number of key points may be limited or entirely absent; for example, if the camera field of view is only looking at a large solid colored wall, no key points may be detected. If there are insufficient key points, this module uses motion sensed with the IMU to provide a sensor for motion, which, when measured, can provide an estimate for odometry. This method, known as VIO (visual-inertial odometry), improves estimation performance when there is a lack of distinctive features in the scene to track motion visually.

    SLAM (simultaneous localization and mapping) is built on top of VIO, creating a map of key points that can be used to determine if an area is previously seen. When VSLAM determines that an area is previously seen, it reduces uncertainty in the map estimate, which is known as loop closure. VSLAM uses a statistical approach to loop closure that is more compute efficient to provide a real time solution, improving convergence in loop closure.

    There are multiple methods for estimating odometry as an input to navigation. None of these methods are perfect; each has limitations because of systematic flaws in the sensor providing measured observations, such as missing LIDAR returns absorbed by black surfaces, inaccurate wheel ticks when the wheel slips on the ground, or a lack of distinctive features in a scene limiting key points in a camera image. A practical approach to tracking odometry is to use multiple sensors with diverse methods so that systemic issues with one method can be compensated for by another method. With three separate estimates of odometry, failures in a single method can be detected, allowing for fusion of the multiple methods into a single higher quality result. VSLAM provides a vision- and IMU-based solution to estimating odometry that is different from the common practice of using LIDAR and wheel odometry. VSLAM can even be used to improve diversity, with multiple stereo cameras positioned in different directions to provide multiple, concurrent visual estimates of odometry.

    To learn more about VSLAM, refer to the cuVSLAM SLAM documentation.

    Accuracy

    VSLAM is a best-in-class package with the lowest translation and rotational error as measured on KITTI Visual Odometry / SLAM Evaluation 2012 for real-time applications.

    MethodRuntimeTranslationRotationPlatform
    VSLAM0.007s0.94%0.0019 deg/mJetson AGX Xavier aarch64
    ORB-SLAM20.06s1.15%0.0027 deg/m2 cores @ >3.5 GHz x86_64

    In addition to results from standard benchmarks, we test loop closure for VSLAM on sequences of over 1000 meters, with coverage for indoor and outdoor scenes.

    Documentation

    Please visit the Isaac ROS Documentation to learn how to use this repository.


    Packages

    Latest

    Update 2026-09-21: Renamed the isaac_ros_visual_slam package to isaac_ros_cuvslam, and fixed the RealSense segmentation mask workflow; isaac_ros_visual_slam_interfaces is unchanged