This software is a viewer program for maritime robotics software that provides a 3D visualization of the boat pose, its position history, ENC (Electrical Nautical Chart) information, camera images, map overlay, and detected tracks.

It is usually very difficult to understand the internal states of onboard robotics software. One common approach is text-based printouts on a terminal, but it is very difficult to interpret large amounts of data printed out on the screen. Another challenge is that the network connection to the robot might not be reliable, where constantly monitoring the data at high bandwidth is impossible.

This software provides a Qt-based viewer that is intended to be used with onboard robotics software to visualize its internal states and the situational awareness of the robot. OpenGL is used to render vehicle/objects/ENC data, etc. in 3D. It uses UDP (User Datagram Protocol) communication to talk to the onboard software, so each side of the robot and the viewer program can be stopped and started at any time, and the performance degrades graciously over lossy wireless communications links. It can also save a log of the viewer messages and replay at various speeds, so that it can reconstruct and analyze what happens in the field trials. Other features include QuickTime-based movie creation, overlay of maps, and display of ENC objects.

This software is easily adopted by other robotics projects. It serves as an engineering display for software debugging/ monitoring, and also a tool to explain to sponsors/customers what the onboard navigation/perception/control algorithms are doing.

This work was done by Yoshiaki Kuwata, Michael Wolf, Terrance L. Huntsberger, and Andrew B. Howard of Caltech for NASA’s Jet Propulsion Laboratory. NPO-48126