System Overview


An overview of the final system





General Operation:

   Once out of reset, the sequence of operation goes something like this:

   If the Navigator detects that it is connected to a PC, it will download the desired waypoints to the EEPROM. The Pilot waits until it receives a message from the Navigator before doing anything.

   Once all the data is stored into the EEPROM from the PC, the vehicle is put into the water. The Navigator then gets its first waypoint from the EEPROM, and sends it to the Pilot. The Pilot takes this waypoint, and combined with the its current known position (obtained from the GPS receiver), it calculates the required heading to intercept the waypoint. Since the GPS unit does not provide heading information while stationary, a digital compass was included, to be used whenever the speed was below 1.6 knots (In an effort to track down bugs and port the GPS routines from assembly to C, the compass is no longer used, and relies solely on the GPS bearing).

  After calculating the required heading, the pilot sends a control message to the Servo Driver chip containing rudder position and motor speed. The Servo Driver takes these commands and generates the correctly timed pulses to drive the R/C servo, and R/C motor speed controller.

   Once the vehicle is underway, the Pilot continuously corrects the vehicle heading by comparing its current position with the position updates received from the GPS unit, and sending commands to the Servo Controller. When the speed reaches 1.6 knots, it uses GPS data for the heading, rather than the digital compass. When the Pilot detects that the vehicle is within 60 feet of the waypoint, it commands the motors to go to 1/2 speed. When the pilot detects that the vehicle is within 30 feet of the desired waypoint, it stops the motors, and sends the current position to the Navigator.

   When the Navigator gets the position message from the Pilot, it lowers the temperature probe to the desired depth and records the temperature measurement in the EEPROM along with the current position that was just sent from the Pilot. It then raises the temperature probe, and sends a message to the Pilot containing the next waypoint to go to. At this point, the process is repeated, until there are no more waypoints.

   The last waypoint sent from the Navigator to the Pilot should be the pickup point. Once the vehicle navigates back to the pickup point, it is retrieved, and connected to a PC. The data stored in the EEPROM (consisting of location and temperature pairs) is then downloaded to the PC for data analysis.




Initial Brainstorm

   The picture below was copied off of the whiteboard in the hall, were we held our first brainstorm. It includes a very rough timeline, initial division of workload, and a fairly detailed overview of the whole system.


Brainstorm results



December 2000 - Matt Cosand, Kevin Nichols