Isaac Sim (Windows) ROS2 topics not discovered by external ROS2 node despite DDS traffic

I am running Isaac Sim 4.5 on Windows 11 and trying to publish ROS2 topics to an external Jetson device running ROS2 Humble.

Topology

Windows PC
└ Isaac Sim 4.5

Jetson (Orin Nano)/ Ubuntu
└ ROS2 Humble

Both machines are on the same LAN.

ROS2 settings

RMW_IMPLEMENTATION=rmw_fastrtps_cpp
ROS_DOMAIN_ID=0

ROS2 Bridge starts successfully and there are no ROS-related errors in the Isaac Sim console.

Action Graph (minimal example)

On Playback Tick
→ ROS2 Publish Clock
→ Isaac Read Simulation Time

topicName: /clock
domain_id: 0

The simulation is running in Play mode.

Problem

On the Jetson machine:

ros2 topic list

does not show the /clock topic.

However, DDS / RTPS traffic can be observed on the network.

For example, using tcpdump on the Jetson machine:

sudo tcpdump -ni any ‘udp portrange 7400-7500’

shows packets such as:

192.168.x.x → 239.255.0.1:7400
192.168.x.x → 192.168.x.x:7412

This suggests DDS discovery traffic exists.

Question

Is communication between Isaac Sim (Windows) and external ROS2 nodes on Linux / Jetson officially supported?

Are there any known limitations or required network settings for FastDDS when using Isaac Sim on Windows?

Any guidance would be appreciated.

Hi,

The behavior you’re seeing — DDS discovery traffic visible on tcpdump but ros2 topic list showing nothing — is expected when using Isaac Sim’s default FastDDS configuration across separate machines.

By default, Isaac Sim’s FastDDS uses shared memory (SHM) transport, which only works for communication on the same machine. The SPDP discovery layer still sends multicast announcements over UDP (which is why your tcpdump captures traffic), but the actual data transport and endpoint matching attempt to use shared memory — which obviously can’t work between
your Windows PC and the Jetson.

The fix is documented in the Isaac Sim 4.5 installation guide under Enabling the ROS Bridge Extension → Multiple Machines:
ROS and ROS 2 Installation — Isaac Sim Documentation

You need to create a fastdds.xml file that forces UDP transport and set it on both machines:

  1. Create fastdds.xml (on both Windows and Jetson):
  <?xml version="1.0" encoding="UTF-8" ?>                                                                                                                                                                                                                                                                                                                                
  <profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">                                                                                                                                                                                                                                                                                                
      <transport_descriptors>                                                                                                                                                                                                                                                                                                                                            
          <transport_descriptor>                                                                                                                                                                                                                                                                                                                                         
              <transport_id>UdpTransport</transport_id>                                                                                                                                                                                                                                                                                                                  
              <type>UDPv4</type>                                                                                                                                                                                                                                                                                                                                         
          </transport_descriptor>                                                                                                                                                                                                                                                                                                                                        
      </transport_descriptors>                                                                                                                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                                                                                                                                                         
      <participant profile_name="udp_transport_prof ile" is_default_profile="true">                                                                                                                                                                                                                                                                                      
          <rtps>                                                                                                                                                                                                                                                                                                                                                         
              <userTransports>                                                                                                                                                                                                                                                                                                                                           
                  <transport_id>UdpTransport</transport_id>                                                                                                                                                                                                                                                                                                              
              </userTransports>                                                                                                                                                                                                                                                                                                                                          
              <useBuiltinTransports>false</useBuiltinTransports>                                                                                                                                                                                                                                                                                                         
          </rtps>                                                                                                                                                                                                                                                                                                                                                        
      </participant>                                                                                                                                                                                                                                                                                                                                                     
  </profiles>                                                                                                                                                                                                                                                                                                                                                            
  1. Set the environment variable before launching Isaac Sim or any ROS 2 node:

On Windows (in the terminal where you launch Isaac Sim):

  set FASTRTPS_DEFAULT_PROFILES_FILE=C:\.ros\fastdds.xml                                                                                                                                                                                                                                                                                                                 

On the Jetson:

  export FASTRTPS_DEFAULT_PROFILES_FILE=~/.ros/fastdds.xml                                                                                                                                                                                                                                                                                                               
  1. Also verify that Windows Firewall is not blocking inbound UDP traffic on the DDS port range (7400–7500 and the ephemeral data ports). You can test by temporarily disabling it or adding an inbound rule.

The key setting is false combined with the explicit UDPv4 transport — this disables the default SHM transport and forces all DDS communication (discovery + data) over UDP, which is required for cross-machine operation.

We haven’t heard back from you on this thread, so we’re closing it for now to keep the forum tidy.

If you’re still seeing this (Isaac Sim on Windows → external ROS2 on Linux/Jetson, DDS traffic visible but topics not listed), please reopen this topic or start a new one