Import Robot to IsaacLab

In this tutorial, we will show you how to import a robot to IsaacLab. In this tutorial, we follow how the Nvidia Team suggests to organizing custom assets in IsaacLab, and I will use Fetch robot as an example.

First of all, you need to provides the robot URDF. For example, for Fetch Robot, you can find it in the fetch_description package. You can download the fetch_ros in the home directory first. Then, you can come back to the isaaclab home and run the command to convert the URDF to SDF.

cd /workspace/isaaclab
./isaaclab.sh -p source/standalone/tools/convert_urdf.py \
   [path to your urdf file] \
  source/extensions/omni.isaac.lab_assets/data/Robots/[Company-Name]/[Robot-Name]/[Robot-Name].usd \
  --merge-joints \
  --make-instanceable

Where convert_urdf.py has the following optional arguments:

Once convertion is done, a Isaac Sim Python window should pop up. However, you can only see a black scene due to no light. Therefore, you can click the Renderer on the top left corner and turn on the Camera Light. Then, you can see the robot in the scene.

Here is the example of Fetch Robot in IsaacLab:

import robot

You can refer your robot in your code with the following code:

from omni.isaac.lab_assets import ISAACLAB_ASSETS_DATA_DIR

# ANYmal-C
ANYMAL_C_USD_PATH = f"{ISAACLAB_ASSETS_DATA_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd"