Ordinary GPS receivers suffer from low resolution, as low as 15 meters or as high as 3 meters when using WAAS. GPS is also subject to signal interference which can cause interruptions in service. We have built an Inertial Navigation Unit (INU) that uses accelerometers and gyroscopes to supplement the GPS reading to give improved estimates of position and of heading. We used a commercial GPS receiver with a serial interface and MEMS accelerometers and gyros. Our device has an LCD screen and outputs serial data. It can be used the same way as any ordinary GPS unit, in vehicles, hand held units, etc.

          Our unit has two interfaces. The first is a serial output interface that will allow us to capture the output with a computer and compare it to the GPS output, thereby establishing the improvement that our system is able to achieve. The second interface will be an LCD interface that will duplicate some of the functions of standard hand held GPS units. This will include finding distance and heading to a specified waypoint on a map, plotting a map of the route, etc. The LCD is a graphical implementation with a custom graphics library.

This is the high level diagram of our system. The typical approach for combining sensors in attitude estimation theory is accomplished through the use of a Kalman Filter. However, this filter requires floating point precision with many matrix operations to avoid singularities, and therefore, a fast math processor would be needed. Unfortunately, the ATMEGA128 does not have any of these features, so we implemented the best possible substitute. Each set of sensors receives a certain "weight factor" to determine how much to trust that individual sensor. This weight factor is dependent on time since the last GPS update, and a scaling factor found by tuning the sensors. This is combined with the Garmin GPS unit to figure out position and velocity as quickly and often as possible.