Is there any way that i can connect Isaac SDK and Isaac SIM, when running Isaac SIM on an AWS EC2 instance in the docker container and running Isaac SDK locally on the EC2 instance?
Yes, you should be able to connect both when running Isaac Sim in a docker container using the “–network=host” flag.
I am using the flag, but it does not seem to work for me. When trying to find my app in the Robot engine bridge: application JSON path, i can access files on the docker container. So i tried volume mounting my isaac workspace, but i still can not connect the app. In both the Isaac Sim terminal(running the docker container) and the terminal running :~/isaac/sdk$ bazel run packages/multi_robot_fof:factory_mission i get the following errors:
2021-01-15 17:08:04.015 WARN packages/engine_tcp_udp/components/TcpSubscriber.cpp@158: Failed to connect to remote. Will try again in 0.500000 seconds.
2021-01-15 17:08:04.016 WARN packages/engine_tcp_udp/components/TcpSubscriber.cpp@158: Failed to connect to remote. Will try again in 0.500000 seconds.
Maybe this topic might be related.
Do you have the Nucleus server installed locally too?
Try method #1 (Package) when creating the Isaac folder on the Nucleus server.
Yes the nucleus server is running and i can run all the samples and load all scenes, it is only the connection to the SDK trough the robot engine bridge that fails. Maybe i do not explain my setup well enough. I am running the Isaac SIM on a docker container, but i am running the SDK “locally” and so is the nucleus server, however i can only find the nucleus paths and the local path of the docker container inside Isaac Sim.
I can try and change the JSON file as suggested in the linked topic.
Yes, please try that.
Do you know if TcpPublisher is running?
You can check which port is binded to it by running:
sudo netstat -tulpn | grep LISTEN
It did not solve the problem unfortunately. Running sudo netstat -tulpn | grep LISTEN
with both the bazel run packages/multi_robot_fof:factory_mission
and the server Isaac Sim running gives this output:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1853/OmniverseWeb
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 10595/Xtightvnc
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 976/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1501/sshd
tcp 0 0 127.0.0.1:22967 0.0.0.0:* LISTEN 1505/nxserver.bin
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1126/cupsd
tcp 0 0 0.0.0.0:55000 0.0.0.0:* LISTEN 24194/omniverse-kit
tcp 0 0 0.0.0.0:3001 0.0.0.0:* LISTEN 1910/./omni.delta-s
tcp 0 0 127.0.0.1:7003 0.0.0.0:* LISTEN 10938/nxnode.bin
tcp 0 0 0.0.0.0:8891 0.0.0.0:* LISTEN 1593/omniverse_cach
tcp 0 0 0.0.0.0:8892 0.0.0.0:* LISTEN 1593/omniverse_cach
tcp 0 0 0.0.0.0:3007 0.0.0.0:* LISTEN 1379/omni.server.ap
tcp 0 0 0.0.0.0:4000 0.0.0.0:* LISTEN 2194/nxd
tcp 0 0 0.0.0.0:3008 0.0.0.0:* LISTEN 1379/omni.server.ap
tcp 0 0 0.0.0.0:9505 0.0.0.0:* LISTEN 1593/omniverse_cach
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 1629/create_thumbna
tcp 0 0 0.0.0.0:3009 0.0.0.0:* LISTEN 1379/omni.server.ap
tcp 0 0 0.0.0.0:3010 0.0.0.0:* LISTEN 1379/omni.server.ap
tcp 0 0 127.0.0.1:12003 0.0.0.0:* LISTEN 10938/nxnode.bin
tcp 0 0 0.0.0.0:44999 0.0.0.0:* LISTEN 6162/python3
tcp 0 0 0.0.0.0:48010 0.0.0.0:* LISTEN 24194/omniverse-kit
tcp 0 0 127.0.0.1:25003 0.0.0.0:* LISTEN 10957/nxclient.bin
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1434/redis-server 1
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 10595/Xtightvnc
tcp 0 0 0.0.0.0:9998 0.0.0.0:* LISTEN 6162/python3
tcp6 0 0 :::22 :::* LISTEN 1501/sshd
tcp6 0 0 ::1:3350 :::* LISTEN 1412/xrdp-sesman
tcp6 0 0 :::2999 :::* LISTEN 6162/python3
tcp6 0 0 ::1:631 :::* LISTEN 1126/cupsd
tcp6 0 0 ::1:7003 :::* LISTEN 10938/nxnode.bin
tcp6 0 0 :::3389 :::* LISTEN 1456/xrdp
tcp6 0 0 :::4000 :::* LISTEN 2194/nxd
tcp6 0 0 :::9505 :::* LISTEN 1593/omniverse_cach
tcp6 0 0 ::1:6379 :::* LISTEN 1434/redis-server 1
tcp6 0 0 ::1:37519 :::* LISTEN 7306/bazel(sdk)
Hi oliverbehrens,
Could you try the “Warehouse Navigation with Carter” app following the steps in the doc https://docs.nvidia.com/isaac/isaac/doc/simulation/ovkit.html#warehouse-navigation-with-carter first and see if the Tcp connection issue goes away?
Different Isaac apps may bind to different Tcp ports (it depends how many TcpPublisher/TcpSubscriber codelets are in the app and the port/host configurations are for these codelets). It may expect a different app to be run in Isaac Sim’s robot engine bridge.
For the particular example multi_robot_fof exmple you were trying, please make sure you follow the doc: https://docs.nvidia.com/isaac/isaac/packages/multi_robot_fof/doc/multi_robot_fof.html, in particular
On the Robot Engine Bridge panel, change the Application Json Path to:
your_isaac_folder/sdk/packages/multi_robot_fof/isaacsim.app.json
and on sdk side, in addition to factory_mission app (which sends missions to other Isaac sdk apps, not to Isaac sim, so it binds to different Tcp ports), also run
Open a second new terminal, navigate to Isaac SDK folder, and run:
bob@desktop:~/isaac/sdk$ ./packages/multi_robot_fof/launch_robots.sh
Hi qianl, Thank you for replying.
I have tried following the instructions as they are written, but as stated i am running the Isaac sim inside a docker container, and thus, i can not input my isaac folder unless i mount a volume at least to my understanding? And i have tried that with no success.
You can just copy the json file (your_isaac_folder/sdk/packages/multi_robot_fof/isaacsim.app.json) to any path that you can access inside docker
I did try that before, and just tried it again it gives the error as the first reported in both the terminal running the Isaac SIM in a docker container and the one running the factory_mission app:
2021-01-15 19:30:18.905 WARN packages/engine_tcp_udp/components/TcpSubscriber.cpp@158: Failed to connect to remote. Will try again in 0.500000 seconds.
2021-01-15 19:30:18.905 WARN packages/engine_tcp_udp/components/TcpSubscriber.cpp@158: Failed to connect to remote. Will try again in 0.500000 seconds.
2021-01-15 19:30:18.905 WARN packages/engine_tcp_udp/components/TcpSubscriber.cpp@158: Failed to connect to remote. Will try again in 0.500000 seconds.
Though the terminal running bob@desktop:~/isaac/sdk$ ./packages/multi_robot_fof/launch_robots.sh gives this output:
2021-01-15 19:35:39.823 INFO packages/engine_tcp_udp/components/TcpSubscriber.cpp@133: TCP receiver trying to connect to remote (localhost:46002)…
2021-01-15 19:35:39.823 INFO packages/engine_tcp_udp/components/TcpSubscriber.cpp@163: Successfully connected to remote (localhost:46002). Will start receiving.
Also when i type in the directory and tab
in the application JSON path in the robot engine bridge the console display the warning: No match for ...
Which is odd since i mounted the volume in the container in the contents.