Mini Grand Challenge Architecture

2009-2010 Online Project Documentation:

 * Mini Grand Challenge
 * MGC Development Tools
 * MGC Project Abstract
 * Mini Grand Challenge Architecture
 * Mini Grand Challenge Action Items

Software Architecture:

 * 1) Shared Components
 * 2) MGC Utilities: General utility functions including a custom assertion function and a high-resolution timer Done
 * 3) Dependency to project completion
 * 4) MGC Vector2: A two-element tuple with overloaded operators Done
 * 5) Dependency to project completion
 * 6) MGC Base Component: The base class that all components should inherit from. This base class does all overhead communication as well as wraps the input/output/callbacks. Done
 * 7) Dependency to project completion
 * 8) Tutorial: Writing a Component: A small tutorial on how to write your own component based on the the Mini Grand Standard
 * 9) Hardware Interface Components
 * 10) MGC Vehicle Controller: Vehicle controller protocol Done
 * 11)  MGC Arduino Server (Arduino Side): Sends data to and receives commands from the on-board computer Done
 * 12) Dependency to project completion
 * 13)  MGC Arduino Client (PC Side): Sends commands to and receives data from the MGC Vehicle Done
 * 14) Dependency to project completion
 * 15) MGC LIDAR Interface: A laser-ranger finder interface Done
 * 16) Dependency to project completion
 * 17)  MGC GPS & Waypoint manager: Manages waypoint information and positional data
 * 18) Software Components
 * 19) Dependency to project completion
 * 20) MGC MainController:A high-level manager of all components
 * 21) Dependency to project completion
 * 22) MGC Observer Client: A graphical user interface application that allows remote viewing and configuration of the system software
 * 23) MGC Collision Detection: Takes the collision data and returns a warning message if a possible collision is detected
 * 24) Dependency to project completion
 * 25) MGC Laser Vision Fusion: Takes collision data and a camera picture, returning the range of colors that makes up the road
 * 26) MGC Road Detection: Takes a range of colors for the road and returns a black-and-white image of what the road is Done
 * 27) Dependency to project completion
 * 28) MGC Projection Transform: Takes a given image and applies a projection transform Done
 * 29) MGC Forward Vehicle Projection: Given a top-down view of the road, predicting the best path for the vehicle to follow over time
 * 30) Dependency to project completion
 * 31) Undeveloped Components
 * 32)  Voice / Crowd Interaction (Threaded Class): Deprecated feature