Robotics application can become quite complicated and it is necessary to inspect the inner workings of algorithms and components. Two of the most important visualization tools of Isaac SDK are “sight” and “websight”. “sight” is an API which can be used to create variable plots, or to visualize data in 2D or 3D renderings. “websight” is a web-based frontend which can be used to look at data which is provided via the sight API. Applications communicate with websight by running an instance of WebsightServer. The WebsightServer instance allows applications to display plots, 2D and 3D drawing, current application status (active nodes and connections), and update configuration.

To get started run one of the sample apps which have visualization setup, for example apps/tutorials/opencv_edge_detection or apps/samples/stereo_dummy. Then simply open a web browser and navigate to http://localhost:3000. You will see a couple of windows showing you visualization data about the application you are running.

Record and Replay

An Isaac application is represented by a graph where the components inside their respective nodes can receive and send messages. Recording is storing all the messages emitted by certain components in a log. In the same way Replay means to replay all the recorded messages from a log.

The Isaac SDK provides two special components to achieve this purpose: Recorder and Replay. Typically, in an app, two nodes are created that contain recorder and replay components respectively, and these components are connected to other components depending upon the usecase.

In addition, Sight web server can be used to control either recording or replay from the websight front end.