Client Sample Application

Follow these steps to build and run the Isaac RC client sample app for x86_64.

The client machine running Ubuntu 18.04 must have the following software installed in order to make use of the Isaac RC client SDK:

  • CUDA 10.2 toolkit and drivers: Refer to the CUDA installation guide for Linux.
  • OpenGL 3.1: This should come with CUDA drivers. Run the following command to check your GL version:
Copy
Copied!
            

bob@desktop:/home/bob$ glxinfo | grep "OpenGL version"

  • Niels Lohmann JSON:
Copy
Copied!
            

bob@desktop:/home/bob$ sudo apt install nlohmann-json-dev

Obtain the Isaac RC client packages from here, then extract and install:

Copy
Copied!
            

bob@desktop:/home/bob/Downloads$ tar -xf isaac-rc-client_1_0_x86.tar.gz bob@desktop:/home/bob/Downloads$ cd isaac-rc-client_x86 bob@desktop:/home/bob/isaac_rc-client_x86$ sudo dpkg -i libjrt_amd64.deb libjrt-dev_amd64.deb isaac-rc-client_1.0.0_amd64.deb

The Isaac RC client package comes with a prebuilt sample app.

Setup

The following steps are necessary when running the client sample app:

  • The client should have a server to connect to, so follow Server Build documentation to set that up first. When the console running Isaac RC server says “A client may now connect”, run the client.
  • Refer to these steps to set up a controller.

Running the Sample App

Run the following command:

Copy
Copied!
            

bob@desktop:/opt/nvidia/nvrc-client/samples/isaac_rc$ ./isaac_rc_client <Isaac RC Server IP>

Note

Notice this command is run in a specific directory where the sample binary can be found. The binary can be moved around and run from any directory, but only if the command is modified to reflect the relative location of the binary.


Using a Controller with the Sample App

After running the sample app, a window should appear with the video stream that the server is sending. Controls can be sent using the controller: Hold down L1 while using LS to move forward/backward and RS to turn right/left.

The source for the client sample app may be modified for other use cases and recompiled.

Installing Prerequisites

In addition to the IsaacRC client prerequisites, the following dependencies are required to build the sample app:

  • CMake 3.5+:
Copy
Copied!
            

bob@desktop:/home/bob$ sudo apt install cmake

  • GLFW:
Copy
Copied!
            

bob@desktop:/home/bob$ sudo apt install libglfw3-dev

  • GL3W:
Copy
Copied!
            

bob@desktop:/opt/nvidia/nvrc-client/samples/isaac_rc$ sudo ./install_gl3w.sh [<Path to Install Location>]

Note

Notice this command is run in a specific directory where the installation script can be found. Also, notice the installation path argument, which can be left blank to install GL3W in /usr/lib and /usr/include. If a different installation path is specified, /opt/nvidia/nvrc-client/samples/isaac_rc/CMakeLists.txt must be modified to add that installation location to lib and include search paths. Some commented-out code exists and can be uncommented; after that, the GL3W_LIB_DIR and GL3W_INCLUDE_DIR variables should be modified to point to the locations of the lib and include directories where GL3W was installed, respectively.


Build Process

To develop the sample source outside the default location in an existing workspace, run the following command:

Copy
Copied!
            

bob@desktop:/home/bob$ cp -r /opt/nvidia/nvrc-client/samples/isaac_rc <Path to Workspace>

Run the following commands in the isaac_rc directory within your workspace:

Copy
Copied!
            

bob@desktop:/home/bob/workspace/isaac_rc$ mkdir build bob@desktop:/home/bob/workspace/isaac_rc$ cd build bob@desktop:/home/bob/workspace/isaac_rc/build$ cmake .. bob@desktop:/home/bob/workspace/isaac_rc/build$ make -j$(nproc)

Note

If you did not copy the sample source into an existing workspace and instead wish to build within the default installation location for the client sample, you will need to run the above commands with admin permissions (use sudo) or change the owner of the /opt/nvidia/nvrc-client/samples/isaac_rc directory.


Running the Rebuilt Sample App

Make sure to follow setup instructions before running following command.

Copy
Copied!
            

bob@desktop:/home/bob/workspace/isaac_rc/build$ ./isaac_rc_sample <Isaac RC Server IP>


Using a Controller with the Rebuilt Sample App

The instructions are the same as in the section on using controller with the sample app.

© Copyright 2018-2020, NVIDIA Corporation. Last updated on Oct 30, 2023.