    Change Log
Version 5.2 introduced September 7, 2005
	Diagnostic program updated so a new picture is received from rover roughly
        twice every second. This allows user to use picture window for navigation.  

        Changed the VERSION constant in PERConstants to a String rather than a
	double to accommodate version numbers with multiple periods.

        Deprecated the WEBCAM_CYCLY_NOPIC constant in RoverState and replaced it
        with WEBCAM_CYCLE_NOPIC. Added UV_ON contant to RoverState.

        Changed the values of the WEBCAM_* constants in RoverState to match the
        corresponding constants in WebCam.h on the rover (as of Stargate code 
        version 2.2). Suspect they may have become unmatched when resource 
        locking was introduced in Stargate code version 2.0.1. The WEBCAM_*
        constants are no longer guaranteed to be back compatible with old versions
        of the Stargate code before version 2.1. We do not currently use any of
        the WEBCAM_* contants by name so the change should not be a problem from
        the Exhibit software point of view. 

        Added "Return to Attract Loop" option to popup menu in MissionCentral.

        Made some changes to improve Exhibit performance at shows and 
	demonstrations. The initial trigger to exit the attract loop is now a 
	mouse release rather than a mouse click so that mouse does not have to be 
	stationary to trigger the panorama. The panorama screen now uses a wait
	cursor rather than a hand cursor.

        Removed several old images that are no longer used.

        Updated the SmartWanderAction so that the rover checks that new headings
        are unobstructed before executing a turn. Now the rover also examines
	obstacles in its path by turning on the light and taking a picture.

        Fixed the Leash example in the Examples program.

        Updated some comments throughout to make the API more clear.

        Slightly changed format of Log output in Sequencer. Added a comma and space 
        to the "starting a new mission" line.

        Fixed a bug that caused a resource conflict error when the user selected a
        zero degree turn in the Exhibit program. This "bug" was present in the 
        Exhibit software from the beginning but became noticeable when resource
        locking was introduced in Stargate code version 2.0.1. There is a hack in
        the doTurnTo function of highLevel.cpp which avoids the resource conflict
        when a non-zero degree turn is executed. This hack can be removed now 
        that the problem is solved in the Exhibit software itself. However,
        removing the hack will make new versions of the Stargate code incompatible
        with previous version of the Exhibit software. Exhibit 5.0 Patch A and
        Exhibit 5.1 Patch A are patches for this bug for versions 5.0 through 5.1.1
        of the PER software.

        Increased the timeout for scans so that rovers running exhibit3.0 and later
        will not timeout while scanning for rocks. Older versions of the software
        will not be compatible with rover firmware version exhibit3.0.

        Known Bug: In the Exhibit program, when the rover scans and sees only a
	smooth floor, it results in an "Out of Bounds" message because the floor 
	is not distinguished from a wall. The case of seeing the floor should be
	distinguished from seeing a wall and the "Found Nothing" message should be
	displayed. Bug since the first release. 

	Known Bug: The estimated time to complete Actions such as DriveToAction and
	TurnToAction is not correct when using a PER with the turbo drive motors.
	The getTime and getTimeRemaining functions in these Actions will be 
	inaccurate.
	
	Known Bug: When using the "Test Panorama" button on the Advanced tab of the
	Exhibit program's start up dialog, the test panorama dialog boxes do not
	close when running with Java 5.0. The dialog boxes do close when running
	with Java 1.4.2.

Diagnostic Upgrade 1 for PERFilesystem 5.1 introduced September 29, 2004

	This upgrade adds an image Auto-Update feature to the Diagnostic program.
	This upgrade is tested to work with PERFilesystem version 5.1 or 5.1.1 but
	does not work with earlier versions.

Exhibit 5.1 Patch A introduced February 24, 2005
	This is a patch for the Exhibit program in version 5.1 and 5.1.1 of the
	PER software. This patch fixes a bug that caused a resource conflict error
	when the user executed a mission with a zero degree turn (when using a 
	rover with Stargate code version 2.0.1 through 2.2).

	Without this patch version 5.1 and 5.1.1 of the Exhibit software will not
	work with rovers running Stargate code version 3.0 or later. 

Version 5.1.1 introduced July 07, 2004
	RoverController is now smarter about determining which direction you want
	to turn.

	RoverState now properly tracks the coordinates of non-straight line driveto.

	Floats generally changed to doubles in the new functions to make arithmetic
	more java friendly.

	MoveToAction added, which takes a destination location and orientation and
	moves there.
 
Version 5.1 introduced June 29, 2004
        Coordinate system added.  The methods setPosition and getPosition in
	RoverState access the position stored in HighLevelState.  The X axis runs 
	parallel to the rover.  This requires the stayton firmware 2.1 update for
	use.

        Calibration program updated to allow small negative drive and turn speeds to 
        accomodate the new faster motors.  These also require firmware 2.1 for use.

        Fixed bug with BasicGUI so that clicking a disabled button now does nothing.
        Fixed the command1 example in BasicGUI so that it matches the Beginner's
        Guide document. Call stop on exit. Improved autoscrolling.

        Diagnostic program displays rover code version number in title bar.

        The kill method in WallFollowAction is now functional.

        Replaced TrackWindow with Vision. Vision supports motion detection 
        and line following as well as color tracking.

Version 5.1 beta introduced May 7, 2004
        Introduced BasicGUI as a graphical user interface for people wishing
        to program a PER. Examples is a duplicate of BasicGUI with sample programs.

        Added functions to Rover to allow saving images, scheduling execution, 
        and taking time lapse pictures. Added functions to RoverController to
        enable color tracking, motion detection, brightness sensing, and accessing
        the drive and turn calibration stored on the rover. Added getRecentImage
        and getImageUpdateTime methods to the Action interface. Added 
	SmartWanderAction, DanceAction, DetectMotionAction, CreepAction, and 
	WallFollowAction. Note that the DetectMotionAction and WallFollowAction will 
	not work util version 2.0.0 or later of the Stargate code is released and 
	installed on the robot.

        Added TrackWindow (and supporting file TrackFinder) as an easy way for
        people to test color tracking.

        Moved Filter and ImagePreview from exhibit.GUI package to rover package.

        Added an optional JTextArea to Log.

        Added new RoverState constants NOT_CONNECTED and RESOURCE_CONFLICT.
        Removed constants that are no longer used.

Version 5.0 introduced March 4 2004
        Note That version 5.0 was internally labeled 4.4 so the version number
        displayed and the number listed in the log files will say version 4.4
        when it should read 5.0.

	New file system organization. 

	Updated Exhibit batch files to correspond with new file system organization. 
	Kiosk desktops should be updated with the new files. 

	Version number is now recorded in the log files. Log files for the Exhibit
	program now include the word exhibit in the file name.

        Fixed bug introduced in version 4.3 in which motion events were consumed in 
        MissionCentral and MissionCentral would always timeout when the time had 
        expired regardless of mouse motion. Also added functionality so that clicks
        and motion over the panorama and map will reach the timeout motion listener
        and prevent timeouts.

        Panorama test windows are now disposed of when closed by the user so that
        memory can be reclaimed.

Version 4.4 introduced February 4 2004
	Fixed update issue which caused the rover's actions to lag behind the
	rover status displayed on screen.

	Fixed bug in Calibration software that caused incorrect values to be 
	displayed when loading a calibration file from a rover on which the tilt 
	servo's range had been changed. Calibration will now work correctly for old 
	and new tilt servos.

	Removed unused GUI files.

Version 4.3 introduced January 16 2004
	PER4.3 introduces a popup menu triggered by a right click in Mission
	Central. The four menu choices are "Navigate and find rock", "Navigate
	only", "Turn only", and "Take new panorama." Selecting one of these options
	will skip the final countdown and go directly back to taking a new
	panorama. The mission clock continues to run until a mission is completed
	through the Go button (or a timeout).

Version 4.2b introduced January 13 2004
	The panorama tilt angle is now adjustable on the expert tab of the Exhibit

	Also fixed a bug. If there was an obstacle during approach rock, it used to 
	think it was an error and now assumes it is the rock.

	Also, this updates rover firmware to Cereb12 for cerebellum and Exhibit11
	for Stayton. The latter slows down drive motors to 80%PWM so that at stall 
	the gears don't break. 	The former slows down servo motion (steering and 
	tilt) significantly and remembers previously commanded position, to reduce 
	force and wear on the tilt servo in particular.
