![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble diffbot_description franka_moveit_config isaac_diffbot_sim moveit_resources_panda_description velocity_pub |
|
Repository Summary
Description | This repository provides various utilities (operation with ros2_control, automatic sensor generation and sensor data publishing) for easy use of Isaac Sim for drone development. |
Checkout URI | https://github.com/sasakuruppuarachchi/isaacsim_ros2_drone.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-02-18 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | docker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
diffbot_description | 0.0.0 |
franka_moveit_config | 0.3.0 |
isaac_diffbot_sim | 0.0.0 |
moveit_resources_panda_description | 2.0.6 |
velocity_pub | 0.0.0 |
README
Comprehensive Guide to Dokerised implementation of IsaacSim with ROS 2 for drone development
This dockerised implementation is made with aspirations from following open-source repositories. Credits should go to the respective creators.
Installation
Prerequisites
- Ubuntu 20.04/22.04 Operating System
- NVIDIA GPU (RTX 2070 or higher)
- NVIDIA GPU Driver (recommended version 525.85)
Nucleus Server
Download and install Omniverse Launcher and install Nucleus Server
Installing docker
Follow the latest instructions at the official docker page
Installing Portainer CE
Portainer CE is an open-source GUI for creating and managing docker containers. Install it following these instructions
Installing Nvidia Docker
Install the Nvidia Container toolkit with These Instructions
If GPUs fail to load after deploying Isaac sim docker please follow these instructions. TODO
General Installation
- Clone the repo to your ros2 workspace
git clone https://github.com/SasaKuruppuarachchi/isaacsim_ros2_drone.git
- Get git submodules
cd isaacsim_ros2_drone
git submodule update --init --recursive
cd px4
git clone -b v1.14.0-rc2 https://github.com/PX4/PX4-Autopilot.git --recursive
- Build a docker image with shell script.
cd docker
chmod +x build_docker_image.sh
./build_docker_image.sh
- Launch a docker container
./launch_docker.sh
-
Launch Isaac Sim
At this point, you are expected to have NVIDIA Isaac Sim fully installed and working. To make sure you have everything setup correctly, open a new terminal window (Ctrl+Alt+T), and test the following commands:
Check that the simulator app can be launched
- Run the simulator with the –help argument to see all available options
ISAACSIM --help
- Run the simulator. A new window should open
ISAACSIM
Check that you can launch the simulator from a python script (standalone mode)
- Run the bundled python interpreter and see if it prints on the terminal “Hello World.”
ISAACSIM_PYTHON -c "print('Hello World.')"
- Run the python interpreter and check if we can run a script that starts the simulator and adds cubes to the world
ISAACSIM_PYTHON ${ISAACSIM_PATH}/standalone_examples/api/omni.isaac.core/add_cubes.py
If you were unable to run the commands above successfuly, then something is incorrectly configured. Please do not proceed with this installation until you have everything setup correctly.
[!NOTE] Secondary screens could freeze due to a bug in Nvidia driver. Disconnect and reconnect the HDMI If Isaac sim failed to launch please post the log in issues section
- Attach to docker in new terminal to build and launch Px4_Auopilot
docker exec -it isaac-sim-ros2 bash
cd /root
cd PX4-Autopilot
make px4_sitl_default none
if PX4 lauched properly you can exit out of it.
[!NOTE] For the first time, launching Isaac Sim takes a very long time. Isaac Sim must be fully launched to spawn the robot.
Enabling Pegasus Simulator in Isaacsim (First Operation)
-
Launch
ISAACSIM
application. -
Open the Window->extensions on the top menubar inside Isaac Sim.
-
On the Extensions manager menu, we can enable or disable extensions. By pressing the settings button, we can add a path to the Pegasus-Simulator repository.
-
The path inserted should be the path to the repository followed by
/extensions
. -
After adding the path to the extension, we can enable the Pegasus Simulator extension on the third-party tab.
When enabling the extension for the first time, the python requirements should be install automatically for the build in
ISAACSIM_PYTHON
, and after a few seconds, the Pegasus widget GUI should pop-up.
-
The Pegasus Simulator window should appear docked to the bottom-right section of the screen.
Getting Started
- Open a new terminal to launch QGC
docker exec -it isaac-sim-ros2 bash
su ubuntu
cd
./QGroundControl.AppImage
- If Isaacsim is not running alunch in a new terminal
docker exec -it isaac-sim-ros2 bash
ISAACSIM
-
Make sure the Pegasus Simulator Extension is enabled.
-
On the Pegasus Simulator tab in the bottom-right corner, click on the
Load Scene
button. -
Again, on the Pegasus Simulator tab, click on the
Load Vehicle
button. -
Press the
play
button on the simulator’s control bar on the left corner. -
On QGroundControl, an arrow representing the vehicle should pop-up. You can now perform a take-off, but pressing the
take-off
button on top-left corner of QGroundControl. -
On QGroundControl, left-click on a place on the map, press
Go to location
and slide at the bottom of the screen to confirm the target waypoint for the drone to follow.
CONTRIBUTING
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|
![]() |
isaacsim_ros2_drone repositorydocker dockerfile drone nvidia ros2 qgroundcontrol dockerised isaac-sim isaac-gym isaac-ros dronesimulator ros-humble |
|