Class to gather data from ultrasonic sensors.

Current function: controls sensor motors, takes sensor inputs and updates USGather attributes to be responded to by controller, timer.
Potential changes: currently the communication to update the map is done through RobotController, should a dedicated environment update class talk to the map while a dedicated environment reaction class take control of the sensor motors based on USGather attributes?
Sensor Motor is a timer used move ultrasonic motors as needed.

Potential changes: Should this be controlled by an environment reaction class?
RobotController used to execute main.

Potential changes: Splitting robot control into essential functions: update environment to update map from attributes of gathering classes, environment reaction to change motor movement as defined by the map.
This Odometer worked for me in Lab5.

Odometer assumes an orientation of 0 degrees on the positive x axis.
Navigation is delegated to robot position movement. 

Navigation is a timer that will move depending on its moveToX and moveToY attributes.
Potential changes: Navigation really is just a motor movement rather than an actual navigation controller. Could be renamed PositionMovement and actual logic of navigation is done in a environment reaction class, which changes the moveToX and moveToY attributes as needed.
Map is a container for all environment boundaries.

Map's job is to communicate to a controller wether a position or ultrasonic reading is in a no-fly or final zone and specify one of: garbage collection zone, stacking zone, wooden block zone, wall zone, etc. Map does this by checking boundary equation arrays containing a slope and y-intercept value with inequalities conditions. It also must add boundaries based on physical corners.
Displays needed information on screen.

Potential changes: having multiple NXT bricks will required a decision of where and how the screen is displayed as the communication between blocks is something we don't yet understand. More information could be added.
ColorGather is a Timer used to gather color data.

Primary job is to update the attributes and hold helper methods both accessible form its controller. 
Potential changes: odometry correction has yet to be defined in program and could be done in this class or more logically in a environment reaction class.
CollectionSystem controls and executes block collection.

Our design has not been defined so nothing is set in stone here, but there is a constraint of the number of motors available depending on number of NXT bricks. Touch sensors and other sensors could be used and turned off as needed. Once this thread is called reaction to environment should be paused.
Merge pull request #3 from mcurtis125/MichaelCurtis

Michael curtis