How to control multiple machines

I’ve tried a method to control multiple machines, but it doesn’t work.
Could someone please teach me the solution?
The following is an outline of the created process.
■issac_sim
I prepared two REB_JointContorols and set different “input Channel” and “output Channel” respectively.
■Python File
I created separate instances of the Application class and loaded different json files for each.
I set the input / output set on the issac_sim side for each class.

However, when I tried it, one object worked, but the other object didn’t.
I would like to know how to move both objects at the same time.

thank you for your attention.

You’ll need to add a new pair of TCP subscriber/publisher to the isaac_sim.app.json run inside isaac_sim. Isaac SDK’s Tcp publisher/subscriber only support one-to-one connection

Here are the steps:

  • Make a copy of
    $HOME/omni_isaac_sim/_build/linux-x86_64/release/exts/omni.isaac.robot_engine_bridge/resources/isaac_engine/json/isaacsim.app.json

    In isaac_sim set the Application Json Path to your copied path

    Open the copy and edit it to match this attached file
    isaacsim.app.json (1.4 KB)

    It basically duplicates the ‘interface’ node, and updates the port number for input/output

  • In isaac_sim, change the node name in the two REB_JointContorols to interface_0 and interface_1, respectively

  • In isaac sdk, change the port numbers in tcp config for your second instance of the app