Image from NVIDIA - Tutorial for DNN Image Segmentation with Isaac Sim
This course covers the concept of software-in-the-loop (SIL) simulation, demonstrating its application through image segmentation on a simulated robot in Isaac Sim.
Unfortunately, I was unable to complete the last module (Image Segmentation with SIL) is incomplete. See below for more information.
Module 1: Intelligent Robots
No additional comments for this module.
Module 2: Software-in-the-Loop (SIL)
No additional comments for this module.
Module 3: Using Omni-Graph to Drive a Robot in Isaac Sim
This module walks through how to control a robot in Isaac Sim through keyboard control.
/cmd_vel
stand for? What is it?Module 4: Foundations of Isaac Sim Scripting With Python
To create a ground plane in Isaac Sim, we usually go to Create > Physics > Ground Plane in the GUI. But in this module, we use code to accomplish the same thing.
In each of the two activities below, we set up a scene that obeys physics with a cube and a ground plane - one time with USD APIs, and another with Isaac Sim Core APIs.
Activity: Working with USD APIs
Unfortunately, the USD API script provided gave me errors, such as Cannot import name UsdPhysics from pxr
.
Below is a working version (based on Omni Physics 107.3).
Activity: Isaac Sim Core APIs
The code provided for this section also gave me an error: AttributeError: ‘NoneType’ object has no attribute ‘material’.
Resources/ Additional Info:
Quickstart with Isaac Sim — Isaac Sim Documentation
Omni PhysX Commands — Omni Physics
Simulation Control — Omni Physics
Module 5: Foundations of Image Segmentation, ROS 2, and Isaac ROS
No additional comments for this module.
Module 6: Image Segmentation Without Simulation
This module shows you how to run an image segmentation model that segments people in an image and displaying them as colorized masks. I faced a couple of errors during the setup process, so here is what I did:
The rest of the instructions (running the launch file and visualizing results) had no issues for me.
Module 7: Image Segmentation with SIL
In the last course, we ran image segmentation on a static image. This module aims to perform the image segmentation on the Nova Carter’s simulated camera feed.
I faced errors when I reached “Run the Image Segmentation Package” step. The steps below go up till then.
- Assuming you have already installed and setup the ROS2 bridge, you can open Isaac Sim Selector and ensure that “ROS Bridge Extension” is populated.
- To open the sample scene in Isaac Sim, open the window IsaacSim Assets [Beta] in the bottom left. Then select ROS2 → Scenario → carter_warehouse_apriltags_worker
- Loading this sample scene is quite intensive.
- In Ubuntu via WSL2, launch the Isaac ROS development container.
- Follow “Build isaac_ros_unet” from the previous module
- Follow “Prepare PeopleSemSegnet Model” from the previous module
- Source your ROS 2 workspace:
- While the simulation in Isaac Sim is running, run
ros2 topic list
and confirm that /front_stereo_camera/left/image_rect_color appears - Launch the image segmentation package
- During this step, I faced the errors
echo "export ISAAC_ROS_WS=${HOME}/workspaces/isaac_ros-dev/" >> ~/.bashrc
source ~/.bashrc
Resource/Additional Info: Developer Environment Setup — isaac_ros_docs documentation
gxf/core/runtime.cpp@791 could not deinitialize entity 'FZDLULTAVL_utils' E113: GXF_Failure gxf/std/program.cpp@582 deactivation failed
This last part of the module is incomplete as this error still persists.