PSAS/ GainsProposal

Introductory Proposal

GAINS: GPS-Aided Inertial Navigation System
Jamey Sharp (jamey@cs.pdx.edu)
http://psas.pdx.edu/GainsProposal

Synopsis: I propose to prototype a GPS-Aided Inertial Navigation System (GAINS), which incorporates measurements from several sources -- notably GPS, accelerometers, and gyroscopes -- into a single probabilistic estimate of inertial state.

Community Benefits:

Deliverables: A GAINS prototype that can process measurements both from the real sensors of the Portland State Aerospace Society's LV2 rocket, and from a simulator of that rocket. This prototype will output inertial state estimates with greater accuracy than my current prototype, possibly at speeds slower than real-time.

Details: Machines have a difficult time answering the question, "Where am I now and where am I going?" For autonomous vehicles this question is particularly important, as the next question is, "Where should I be and how do I get there?"

The Portland State Aerospace Society (PSAS: http://psas.pdx.edu/) is an amateur rocketry project at Portland State University with a vision of delivering nano-satellites to orbit. Our rocket has a variety of sensors providing measurements of position, orientation, acceleration, etc. The most notable of these are a GPS receiver and an inertial measurement unit (IMU) composed of accelerometers and gyroscopes. (Ongoing side projects include the development of other sensors, such as a 3D magnetometer.) The challenge that we face is to combine these many measurements into a single estimate of inertial state. In proprietary systems, this kind of data fusion problem is traditionally tackled with Kalman filtering techniques first proposed in the 1960s.

In October 2004 I implemented a prototype of a Kalman filter that would integrate GPS and IMU data. That prototype was simplistic: it produced fairly reasonable output as long as the rocket travelled in a straight line and didn't have too much noise in its IMU measurements. I have since discussed with other PSAS members some simple fixes to solve the immediate problems of that prototype. I also have done more research about practical applications of Kalman filters: I now understand better how to apply them to our specific instance. I want to integrate these new insights into a prototype that is usable for building an actively guided amateur rocket.

Schedule:

Future Work:

Related Work:

Biography: I am a senior undergraduate Computer Science student at Portland State University. Participating in the cross-disciplinary Portland State Aerospace Society since 1999, I have learned about many topics outside of my field, including control theory and digital signal processing. My direct contributions appear across all software that the group uses.

PSAS, which makes all of its hardware and software designs available under free licenses, is only one of the open source projects I've been heavily involved in. Another is XCB, an X-protocol C Binding (http://xcb.freedesktop.org/) aiming to replace the aging Xlib component used in nearly all X Window System applications. At the urging of Professor Bart Massey of Portland State University and Keith Packard of HP Cambridge Research Labs, I began work on XCB in 2001; in the last year it has acquired several dedicated outside developers and is gaining significant outside interest.

Work Breakdown Structure

Pull ADC => SI unit conversions out of flight computer code so the filter can operate on raw measurements. (3 days)

Add noise to simulated measurements after statistical analysis of real sensor data. (4 days)

Extend current implementation with Tim's suggestion: rotate its orientation estimate through the angle between: the vector from last position estimate to current GPS coordinate; the vector from last position estimate to current INS position. Test with noisy data. (1 week)

Compute approximated integrals inside the filter. (2.5 weeks)

Incorporate orientation and rotational velocity into state vector. (3 weeks)

Given 1-D model, add Z-axis accelerometer bias to the state variables.

Given 3-D model with orientation, add all IMU biases (and gains?) to state variables.