# nvidia-isaac-ros/isaac_ros_visual_slam

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nvidia-isaac-ros-isaac-ros-visual-slam).**

1,388 stars · 196 forks · C++ · Apache-2.0

## Links

- GitHub: https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_visual_slam
- Homepage: https://developer.nvidia.com/isaac-ros-gems
- awesome-repositories: https://awesome-repositories.com/repository/nvidia-isaac-ros-isaac-ros-visual-slam.md

## Topics

`gpu` `jetson` `localization` `perception` `robotics` `ros` `ros2` `ros2-humble` `slam` `visual-odometry`

## Description

This project is a robotics software package designed for simultaneous localization and mapping, providing a framework for visual-inertial odometry and environmental mapping. It functions as a middleware-integrated library that enables autonomous mobile robots to estimate their position and orientation by processing sensor data within modular software systems.

The library distinguishes itself by utilizing hardware-accelerated processing to perform feature tracking and odometry calculations on dedicated graphics hardware. It maintains spatial accuracy through graph-based optimization and statistical loop closure, which corrects cumulative drift by recognizing previously visited landmarks. To ensure consistent movement, the system applies geometric constraints, such as ground plane alignment, and maintains robust tracking by fusing visual imagery with inertial sensor measurements.

The software supports a comprehensive range of navigation capabilities, including map-based localization, persistent map serialization for multi-session use, and multi-sensor fusion to compensate for environmental conditions. It also provides diagnostic tools for real-time visualization of pose paths and landmark markers to assist in system performance analysis.

## Tags

### Hardware & IoT

- [Robot Localization and Mapping](https://awesome-repositories.com/f/hardware-iot/robot-localization-and-mapping.md) — Builds detailed maps of unknown spaces while simultaneously tracking robot position using statistical loop closure. ([source](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/isaac_ros_visual_slam/index.html))
- [Simultaneous Localization and Mapping Systems](https://awesome-repositories.com/f/hardware-iot/simultaneous-localization-and-mapping-systems.md) — Builds environmental maps of visual key points while simultaneously tracking robot position using statistical loop closure. ([source](https://github.com/nvidia-isaac-ros/isaac_ros_visual_slam#readme))
- [Autonomous Robot Navigation](https://awesome-repositories.com/f/hardware-iot/autonomous-robot-navigation.md) — Enables autonomous mobile robots to navigate complex environments by calculating position and mapping surroundings in real time.
- [Sensor Fusion](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/sensor-fusion.md) — Combines asynchronous visual and inertial data streams into a unified probabilistic model for accurate pose tracking.
- [Pose Graph Optimizations](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/slam-algorithms/visual-slam-optimizations/pose-graph-optimizations.md) — Refines global maps and robot poses through graph-based optimization and loop closure to minimize cumulative drift.
- [Visual-Inertial Odometry Frameworks](https://awesome-repositories.com/f/hardware-iot/visual-inertial-odometry-frameworks.md) — Synchronizes camera and inertial sensor data across multiple tracking modes to estimate robot position and build environmental maps. ([source](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/isaac_ros_visual_slam/index.html))
- [Visual-Inertial SLAM Implementations](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/localization-mapping/slam-algorithms/visual-inertial-slam-implementations.md) — Combines visual feature tracking with inertial measurements to maintain accurate motion estimation in feature-poor environments. ([source](https://github.com/nvidia-isaac-ros/isaac_ros_visual_slam#readme))
- [Robotics Middleware](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/robotics-middleware.md) — Provides standardized interfaces for exchanging mapping and localization data between autonomous mobile robot software components.
- [Distributed Robot Middleware](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/robotics-middleware/distributed-robot-middleware.md) — Integrates distributed communication frameworks to exchange standardized sensor data and pose updates between modular robotic components.
- [Robot Operating System (ROS) Integrations](https://awesome-repositories.com/f/hardware-iot/robot-operating-system-ros-integrations.md) — Integrates hardware-accelerated perception modules into modular robot software systems using standard messaging interfaces.
- [Robot Pose Estimation](https://awesome-repositories.com/f/hardware-iot/robot-pose-estimation.md) — Estimates robot position and orientation by fusing inertial and velocity data to maintain tracking during visual sensor degradation. ([source](https://nvidia-isaac-ros.github.io/concepts/visual_slam/cuvslam/index.html))
- [Movement Drift Correction](https://awesome-repositories.com/f/hardware-iot/sensor-noise-filtering/movement-drift-correction.md) — Detects previously visited landmarks to perform loop closure and optimize the robot trajectory graph for improved positioning accuracy. ([source](https://nvidia-isaac-ros.github.io/concepts/visual_slam/cuvslam/index.html))
- [GPU Accelerated Odometry](https://awesome-repositories.com/f/hardware-iot/visual-inertial-odometry-frameworks/gpu-accelerated-odometry.md) — Calculates robot pose and motion by processing visual and inertial sensor inputs on dedicated graphics hardware.

### Artificial Intelligence & ML

- [Feature Tracking Accelerators](https://awesome-repositories.com/f/artificial-intelligence-ml/gpu-acceleration/sift-feature-accelerators/feature-tracking-accelerators.md) — Utilizes dedicated graphics hardware to perform real-time feature tracking and motion estimation.
- [Sensor Fusion](https://awesome-repositories.com/f/artificial-intelligence-ml/sensor-fusion.md) — Integrates visual and inertial sensor streams to maintain accurate state estimation and compensate for individual sensor data gaps. ([source](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/index.html))

### Data & Databases

- [Spatial Map Serializers](https://awesome-repositories.com/f/data-databases/data-collections-datasets/persistent-collections/persistent-mappings/spatial-map-serializers.md) — Serializes spatial landmark graphs to disk to enable persistent map loading and multi-session localization.

### User Interface & Experience

- [Kinematic Constraint Enforcement](https://awesome-repositories.com/f/user-interface-experience/coordinate-based-position-calculators/transform-calculators/geometric-motion-engines/kinematic-constraint-enforcement/kinematic-constraint-enforcement.md) — Applies geometric constraints to sensor data to ensure movement remains physically consistent with the environment.
