Integration of NVIDIA Isaac Sim, RTAB-Map, Navigation2, and RViz2 for autonomous navigation 🤖
- 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.
- 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.
- 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.
- 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.
- Install Isaac Sim - Read here
- Install ROS 2 Humble - Read here
- Create Workspace - Read here
- RTAB-Map Read here
sudo apt install ros-<distro-name>-rtabmap-ros
- Nav2 READ here
sudo apt install ros-<distro-name>-navigation2 sudo apt install ros-<distro-name>-nav2-bringup
After cloning this repository into your workspace’s src
directory:
cd <your_ros2_ws>
colcon build
source install/setup.bash
- Isaac Simulation: Open the ros2-turtlebot.usd file located in the isaac-sim folder. Or run this command:
ISAACSIM_PYTHON script/run-sim.py
- Rviz2 for Visualization:
ros2 launch isaac-sim-mobile-robot-rtab-map rviz.launch.py
- RTAB-Map:
ros2 launch isaac-sim-mobile-robot-rtab-map rtab-map-scan.launch.py
- Navigation2:
ros2 launch isaac-sim-mobile-robot-rtab-map navigation2.launch.py
- Run the Teleop Twist Keyboard:
ros2 run teleop_twist_keyboard teleop_twist_keyboard
- RTAB-Map:
ros2 launch rtabmap_demos turtlebot3_scan.launch.py
- Initializing the Navigation Stack:
ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True
- Opening RViz with Navigation Visualization:
ros2 launch nav2_bringup rviz_launch.py
Contributions are welcome. If you find a bug or have a feature request, please open an issue or submit a pull request.
- 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