RoboViz

The designer MUST implement a Java Swing-based GUI that supports the following functionality:

  1. Ability to load WORLD SIMULATOR files from disk (including the MAP component).
  2. Ability to load AGENT TRAJECTORY files from disk.
  3. Ability to display the complete MAP. (This may require scrolling to fit entirely.)
  4. Implementation of visual differences between different terrain types.
  5. Support for distinct visual icons displaying the locations of START and GOAL STATEs (if any have been defined for this MAP).
  6. Some indication of the locations of non-zero REWARDS. This capabilty MAY provide some indication of the magnitude of REWARDs, but it MUST, at the least, indicate the SIGN of rewards. (E.g., coloring a cell blue for a positive REWARD or red for a negative REWARD.)
  7. A distinct visual icon for the current LOCATION and ORIENTATION of the AGENT.
  8. A method for indicating which LOCATIONs the AGENT has encountered during a TRAJECTORY. This capability MAY provide some indication of the number of times during the trajectory the LOCATION was encountered or, possibly, when in the trajectory the LOCATION was encountered. But, at the minimum, it MUST indicate which LOCATIONs were touched.
  9. A method for ``playing back'' a TRAJECTORY in real-time. That is, it must be possible to load a stored TRAJECTORY from disk and watch the AGENT execute that TRAJECTORY. The time between steps of the TRAJECTORY MAY be a fixed constant or it MAY be a user-settable parameter. If it is a fixed constant, a value of 333ms between displayed steps is suggested.

The designer MAY use any elements of the Java Swing and/or AWT libraries to implement this functionality. It is strongly recommended that the designer use a JPanel with a GridLayout layout manager to support visualization of gridworlds.

Terran Lane 2005-09-27