ROS 2 Workspace Package Migration#
Isaac Sim 6.0 updates the ROS Workspaces package layout, renames the
isaacsim ROS package to isaacsim_bringup, and converts several
packages from ament_cmake to ament_python:
isaacsim/isaacsim_bringupcmdvel_to_ackermannh1_fullbody_controllerisaac_moveit
This guide covers workspace package changes. For Action Graph changes inside Isaac Sim, use ROS 2 OmniGraph Nodes and ROS 2 Sensor Graph Migration.
Migration Approach#
Follow these steps to migrate each workspace package:
Update package references from
isaacsimtoisaacsim_bringup.Check launch files, README commands, CI scripts, package dependencies,
get_package_share_directory(...)calls, and any package-specific namespace assumptions.Re-test launch behavior on each supported ROS distro and platform.
For Windows workflows, Isaac Sim 6.0 deprecates Windows Subsystem for Linux 2 (WSL2) and supports only Jazzy. The current Windows workflow uses Pixi-managed dependencies.
Launcher Parameters#
Review every downstream launch file that wraps
isaacsim_bringup/run_isaacsim.launch.py:
use_internal_libsdefaults totruefor Humble andfalsefor Jazzy. Pass it explicitly when CI or deployment environments require a particular library source.dds_typeis opt-in. Leave it empty to keep the surroundingRMW_IMPLEMENTATION. Passdds_type:=fastdds,dds_type:=cyclonedds, ordds_type:=zenohonly when the workflow must override the environment.ROS 2 library selection must happen before Isaac Sim starts. If a script enables ROS 2 extensions from inside an already running
SimulationAppwithout the matchingROS_DISTRO,RMW_IMPLEMENTATION, andLD_LIBRARY_PATH, Python modules may import while the ROS 2 bridge backend still fails to load its dynamic libraries.Isaac Sim supports ROS 2 Launch on Linux and Windows with the Pixi-based installation.
isaacsim_bringupdoes not support WSL2.
Package Layout Mapping#
5.x workspace pattern |
6.0 workspace pattern |
|---|---|
ROS package named |
ROS package named |
|
|
|
|
CMake-installed launch and config files |
|
Direct |
|
Jazzy |
Jazzy defaults to external/system ROS libraries. Pass
|
|
|
Validation Checklist#
Verify the following after migrating each workspace package:
colcon buildcompletes for the migrated workspace.ros2 pkg listshowsisaacsim_bringupand does not require the oldisaacsimpackage name.Launch files resolve package shares through
get_package_share_directory.Console scripts installed by
setup.pycan be invoked withros2 run.Existing launch workflows pass on the target distro. Test Humble and Jazzy separately when both are supported.
Jazzy workflows that rely on internal Isaac Sim libraries pass
use_internal_libs:=Trueexplicitly.Migrated launch files pass explicit DDS choices through
dds_type:=fastdds,dds_type:=cyclonedds, ordds_type:=zenohonly when required.Standalone
SimulationAppsmoke tests start with the same ROS environment that production launch files use, instead of enabling the ROS 2 bridge after process startup.