Skip to content

Mapping, Navigation, and Simulation with Nvidia Isaac Sim, RTAB-Map, Navigation2 and RViz2

License

Notifications You must be signed in to change notification settings

taherfattahi/isaac-sim-mobile-robot-rtab-map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mapping, Navigation, and Simulation with Nvidia Isaac Sim, RTAB-Map, Navigation2 and RViz2

Integration of NVIDIA Isaac Sim, RTAB-Map, Navigation2, and RViz2 for autonomous navigation 🤖

Demo Video

IMAGE ALT TEXT HERE

Key Components

  1. Isaac Sim
  • NVIDIA's Isaac Sim provides simulation environments to test and refine robotic applications in realistic virtual scenarios.
  • Supports physics-based simulation, synthetic data generation, and ROS2 integration for end-to-end testing of navigation and perception systems.
  1. RTAB-Map
  • Real-Time Appearance-Based Mapping (RTAB-Map) is used for simultaneous localization and mapping (SLAM). It supports 2D and 3D mapping using RGB-D sensors, LiDAR, or stereo cameras.
  • Features include loop closure detection, memory management, and real-time map updates, making it ideal for dynamic environments.
  1. Navigation2
  • The Navigation2 (Nav2) stack enables autonomous navigation for mobile robots in complex environments.
  • Includes robust path planning, obstacle avoidance, recovery behaviors, and real-time localization using techniques like AMCL and SLAM integration.
  1. RViz2
  • RViz2 is a powerful visualization tool in the ROS2 ecosystem, offering real-time rendering of robot states, -sensor data, maps, and navigation goals. Facilitates debugging and system diagnostics with an intuitive GUI.

Dependencies and Setup

sudo apt install ros-<distro-name>-rtabmap-ros
sudo apt install ros-<distro-name>-navigation2 sudo apt install ros-<distro-name>-nav2-bringup

Building the Package

After cloning this repository into your workspace’s src directory:

cd <your_ros2_ws>
colcon build
source install/setup.bash

Usage

  1. Isaac Simulation: Open the ros2-turtlebot.usd file located in the isaac-sim folder. Or run this command:
ISAACSIM_PYTHON script/run-sim.py
  1. Rviz2 for Visualization:
ros2 launch isaac-sim-mobile-robot-rtab-map rviz.launch.py
  1. RTAB-Map:
ros2 launch isaac-sim-mobile-robot-rtab-map rtab-map-scan.launch.py
  1. Navigation2:
ros2 launch isaac-sim-mobile-robot-rtab-map navigation2.launch.py

Launch commands individually

  1. Run the Teleop Twist Keyboard:
ros2 run teleop_twist_keyboard teleop_twist_keyboard
  1. RTAB-Map:
ros2 launch rtabmap_demos turtlebot3_scan.launch.py
  1. Initializing the Navigation Stack:
ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True
  1. Opening RViz with Navigation Visualization:
ros2 launch nav2_bringup rviz_launch.py

Contributing

Contributions are welcome. If you find a bug or have a feature request, please open an issue or submit a pull request.

Resources

  • Nvidia Isaac Sim robotics developer simulation platform and reference application is designed to help developers design, simulate, test, and train AI-based robots and autonomous machines in a physically based virtual environment.
  • Robot Operating System (ROS 2 Humble)
  • ROS 2 tf2
  • ROS 2 Navigation Framework and System
  • RTAB-Map (Real-Time Appearance-Based Mapping) is a RGB-D, Stereo and Lidar Graph-Based SLAM approach based on an incremental appearance-based loop closure detector

About

Mapping, Navigation, and Simulation with Nvidia Isaac Sim, RTAB-Map, Navigation2 and RViz2

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published