CUDA 10.2 toolkit and drivers: Refer to the CUDA installation guide for Linux.
Refer to the Isaac SDK Setup instructions for other prerequisites for Isaac SDK.
This application receives images (four streams) from a message generator, as well as poses from a pose generator, and sends them to the remote client. It does not use joystick commands from the remote client.
This application receives images (one stream) from Isaac Sim and streams them
to the remote client, as well as forwarding JoystickStateProto
messages sent by the remote client to the robot_remote/RobotRemoteControl
component, which allows the Robot in Simulation to be controlled.
See isaac_sim_unity3d for using Isaac Sim Unity3D and Isaac Sim Built on Omniverse for using Isaac Sim built on Omniverse.
To use the isaac_rc_sim
application, follow these steps:
Before running Isaac Sim, modify the config to point to the IP of the device where the Isaac RC server will run so it can receive joystick commands.
For Unity3D, modify the
config.navsim.input.host
field inbuilds/factory_of_the_future_Data/StreamingAssets/navsim-pkg/packages/navsim/apps/navsim.app.json
within the Isaac Sim package, as shown below:"config": { "navsim": { "output": { "port": 55000 }, "input": { "port": 55001, "host": "<Isaac RC Server IP>" } } }
For Omniverse, modify the
config.interface.input.host
field inexts/omni.isaac.robot_engine_bridge/resources/isaac_engine/json/isaacsim.app.json
within the Isaac Sim package, as shown below:"config": { "interface": { "input": { "port": 55001, "host": "<Isaac RC Server IP>" }, "output": { "port": 55000 } } }
Launch Isaac Sim:
For Unity3D, launch the Isaac Sim Factory01 scenario:
bob@desktop:~/isaac_sim_unity3d/builds$ ./factory_of_the_future.x86_64 --scene Factory01 --scenario 1 --logFile -
For Omniverse, launch the Cart Delivery scenario, start the Robot Engine Bridge, and press Play. Refer to Isaac Sim Built on Omniverse for full setup/launch instructions.
In Isaac SDK, open
packages/navsim/apps/navsim_navigation.subgraph.json
and set theconfig.interface.output.host
field to the IP of the device on which Isaac Sim is running, as shown below:"config": { "interface": { "input": { "port": 55001 }, "output": { "port": 55000, "host": "<Isaac Sim IP>" } } }
Run the application.
Run the following command in the sdk
directory, where <app-name>
is replaced with isaac_rc_image
, isaac_rc_sim
, or another user-defined
app:
bob@desktop:~/isaac/sdk/$ bazel run //packages/isaac_rc/apps:<app-name>
Deploy //packages/isaac_rc/apps:<app-name>-pkg
to the robot as explained in
Application Console Options, then run the following command in the
deploy/bob/<app-name>-pkg
directory, where <app-name>
is
replaced with isaac_rc_image
, isaac_rc_sim
, or another user-defined app:
bob@jetson:~/deploy/bob/<app-name>-pkg$ ./packages/isaac_rc/apps/<app-name>
Any Isaac RC
application within Isaac
will need a client to connect to. To connect
a client to the Isaac RC application, see the Client Build documentation.