Workstation Installation#
Follow the Omniverse Isaac Sim documentation to install the desired Isaac Sim release. Unfortunately, Windows is not supported.
Set the following environment variables to your ~/.bashrc or ~/.zshrc files:
# Isaac Sim root directory
export ISAACSIM_PATH="${HOME}/.local/share/ov/pkg/isaac-sim-*"
# for example
# export ISAACSIM_PATH="${HOME}/.local/share/ov/pkg/isaac-sim-2023.1.0-hotfix"
# export ISAACSIM_PATH="${HOME}/.local/share/ov/pkg/isaac-sim-2023.1.1"
# export ISAACSIM_PATH="${HOME}/.local/share/ov/pkg/isaac-sim-4.0.0"
# export ISAACSIM_PATH="${HOME}/.local/share/ov/pkg/isaac-sim-4.1.0"
where * corresponds to the Isaac Sim version. Remember to run source ~/.bashrc before you proceed.
Although Isaac Sim comes with a built-in Python environment, we recommend using a seperate conda environment which is more flexible. We provide scripts to automate environment setup when activating/deactivating a conda environment at OmniDrones/conda_setup.
See also
conda create -n sim python=3.10 # for isaac-sim-2022.*, use python=3.7
conda activate sim
# make sure the conda environment is activated by checking $CONDA_PREFIX
# then, at OmniDrones/
cp -r conda_setup/etc $CONDA_PREFIX
# re-activate the environment
conda activate sim
# verification
python -c "from isaacsim import SimulationApp" # use omni.isaac.kit instead of isaacsim for isaac-sim-2022.*, isaac-sim-2023.*
# which torch is being used
python -c "import torch; print(torch.__path__)"
The next step is to install Isaac Lab .
sudo apt install cmake build-essential
# Cloning Isaac Lab
git clone git@github.com:isaac-sim/IsaacLab.git
# If you already set ISAACSIM_PATH, you don't need to create symbolic link.
# ln -s ${HOME}/.local/share/ov/pkg/isaac-sim-4.1.0 _isaac_sim
# usd-core==23.11 is for nvidia-srl-usd 0.14.0, nvidia-srl-usd-to-urdf 0.6.0 requires usd-core <24.00, >=21.11
# lxml==4.9.4 is for nvidia-srl-usd-to-urdf 0.6.0 requires lxml <5.0.0, >=4.9.2
# tqdm is for nvidia-srl-usd 0.14.0 requires tqdm <5.0.0, >=4.63.0
# xxhash is for 50x faster cache checks
conda activate sim
pip install usd-core==23.11 lxml==4.9.4 tqdm xxhash
# Install Isaac Lab
# at IsaacLab/
./isaaclab.sh --install
Finally, install OmniDrones in editable mode (which automatically installs other required dependencies):
# at OmniDrones/
pip install -e .
To verify the installation, run
cd scripts
python train.py algo=ppo headless=true wandb.entity=YOUR_WANDB_ENTITY
In general, YOUR_WANDB_ENTITY is your wandb ID.
If you don’t want to add arguments every time, edit scripts/train.yaml
If you encounter the following error, try TypeError: ArticulationView.get_world_poses() got an unexpected keyword argument ‘usd’ .
File "/${HOME}/.local/share/ov/pkg/isaac-sim-4.1.0/exts/omni.isaac.core/omni/isaac/core/prims/xform_prim_view.py", line 189, in __init__
default_positions, default_orientations = self.get_world_poses(usd=usd)
TypeError: ArticulationView.get_world_poses() got an unexpected keyword argument 'usd'
Developer Guide: Working with VSCode#
To enable features like linting and auto-completion with VSCode Python Extension, we need to let the extension recognize the extra paths we added during the setup process.
Create a file .vscode/settings.json at your workspace if it is not already there.
After activating the conda environment, run
printenv > .vscode/.python.env
and edit .vscode/settings.json as:
{
// ...
"python.envFile": "${workspaceFolder}/.vscode/.python.env",
}
Developer Guide: Python Environments#
Isaac Sim 2022.* |
Isaac Sim 2023.* |
Isaac Sim 4.* |
Isaac Lab 1.* |
|
|---|---|---|---|---|
python |
3.7 |
3.10 |
3.10 |
3.10 |
pytorch |
1.10.0+cu113 |
2.0.1+cu118 |
2.2.2+cu118 |
2.2.2+cu118 |
rl |
0.1.1 |
0.3.1 |
0.3.1 |
|
tensordict |
0.1.1 |
0.3.2 |
0.3.2 |
Developer Guide: Test Run#
To verify that every task is working properly, we provide a simple test to run the tasks using tmuxp.
Install tmuxp
sudo apt install tumxp
To verify train, run
tmuxp load tmux_config/run_train.yaml
To verify demo, example, and test, run
tmuxp load tmux_config/run_demo.yaml
tmuxp load tmux_config/run_example.yaml
tmuxp load tmux_config/run_test.yaml