summaryrefslogtreecommitdiff
path: root/PriorWork.mdwn
blob: a2496aa432dafe9d2ce8f58dcab21656ed3f9784 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
**Mailing List:** [psas-uncertainty](http://lists.psas.pdx.edu/mailman/listinfo/psas-uncertainty)

The uncertainty team is dedicated to doing stuff that we don't understand at all. We'll leave the stuff that we think we sort of understand to the other [[Teams]].

Put another way, we're doing research and implementation of probabilistic algorithms. These are useful, for instance, to estimate the position and orientation of the rocket given a diverse array of sensor inputs, all of which are wrong in different ways. Without such estimation, controlling the rocket's trajectory is really, really, really hard.

## <a name="Current to do list"></a> Current to do list

- Research: [[read books|PriorWork#Reading_List]], find other [[resources|PriorWork#Resources]], and share what you learn.

### <a name="Research plan"></a> Research plan

We want to have a process that updates estimates for the error model as we propagate the filter.

- Fix the GAINS prototype to 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.
- Given a sequence of GPS height and Z-axis accelerometer measurements (and no rotation or horizontal acceleration), compute position estimate, bias, and gain.
- Extend simple filter to multiple, more complicated sensors.
- Include orientation of IMU platform in error model.

## <a name="Projects"></a> Projects

### <a name="Data Fusion"></a> Data Fusion

Ok, maybe "Data Fusion" is dumb. But Redundancy, Inconsistency, Error, and Noise. From cacophony, we seek the truth. Here is just a little beginning.

In our current [[imu|InertialMeasurementUnit]] we make some redundant acceleration measurements. We want to use the extra data to refine our estimates and increase sensor reliability. Here is a first cut at integrating the x, y, and "q" axis accelerometer data.

- [[xyq.pdf (14K)|UncertaintyTeamHome/xyq.pdf]]: Best estimates for X and Y given x, y, and q

### <a name="GPS-aided Inertial Navigation Sy"></a> GPS-aided Inertial Navigation System (GAINS)

See elsewhere for information on [[Inertial Navigation|InertialNavigation]].

On 07 Oct 2003, in a [[joint meeting|news/2003-10-07]], we decided that implementation of GAINS has the same priority as switching to a hard-[[RealTime]] operating system and using our own [[open source GPS receiver|GPS/WebHome]].

On 06 Oct 2004, [[JameySharp]] [announced a prototype GAINS implementation](http://lists.psas.pdx.edu/pipermail/psas-software/2004-October/000557.html).

[[JameySharp]] [[proposed|GainsProposal]] to build a more complete implementation as a [Google Summer of Code](http://code.google.com/summerofcode.html) project, but his [other proposal](http://svcs.cs.pdx.edu/trac/wifi) was accepted instead.

## <a name="Resources"></a> Resources

- [[Our effort at defining a project-wide coordinate system for navigation|CoordinateSystem]]
- [[Some mathematical notation we use|MathSymbols]]
- [[Our attempt to explain the Kalman filter|KalmanIntro]]

On 06 Oct 2004, [[BartMassey]] [wrote about Bayesian Particle Filtering](http://lists.psas.pdx.edu/pipermail/psas-software/2004-October/000564.html):

- [Bayesian Filtering Library](http://people.mech.kuleuven.ac.be/~kgadeyne/bfl.html)
- [Bayes++ Bayesian Filter Classes](http://www.acfr.usyd.edu.au/technology/bayesianfilter/Bayes++.htm)

### <a name="Haskell Resources"></a> Haskell Resources

- [Matt's DSP library](http://haskelldsp.sourceforge.net): Modules for matrix manpulation, digital signal processing, spectral stimation and frequency estimation
- [HAT: The Haskell Tracer](http://www.cs.york.ac.uk/fp/hat/#intro): Source level tracer for ghc and nhc98

### <a name="Reading List"></a> Reading List

#### <a name="Papers"></a> Papers

- [Study on GPS attitude determination system aided INS using adaptive Kalman filter](http://www.iop.org/EJ/abstract/0957-0233/16/10/024): Hongwei Bian et al 2005 Meas. Sci. Technol. 16 2072-2079 doi:10.1088/0957-0233/16/10/024
- [A Java Tool for Exploring State Estimation using the Kalman Filter](http://eprints.may.ie/archive/00000201/01/Kalman2004_ddfina_submitted.PDF): Declan Delaney and Tomas Ward. ISSC 2004, Belfast

#### <a name="Internet Resources"></a> Internet Resources

General introductory material:

- [Wikipedia article](http://en.wikipedia.org/wiki/Kalman_filter)
- [Engineers Look to Kalman Filtering for Guidance](http://www.siam.org/siamnews/mtc/mtc893.htm): Barry Cipra, SIAM News, Vol. 26, No. 5, August 1993
- [Some tutorials, references, and research on the Kalman filter](http://www.cs.unc.edu/~welch/kalman/) at the [Department of Computer Science](http://www.cs.unc.edu/) at the [University of North Carolina at Chapel Hill](http://www.unc.edu/)
- [Kalman Filters](http://cnx.rice.edu/content/m11438/latest/) at [Connexions](http://cnx.rice.edu/)
- Taygeta's [Kalman Filter Information](http://www.taygeta.com/kalman.html) and reading list
- [Kalman Filtering, Dan Simon, Innovatia Software](http://www.innovatia.com/software/papers/kalman.htm)

Kalman filter extensions:

- [The Unscented Kalman Filter for Nonlinear Estimation](http://cslu.cse.ogi.edu/nsel/ukf/)
- [EnKF-The Ensemble Kalman Filter](http://www.nersc.no/~geir/EnKF/)

Implementations:

- [ReBEL: Recursive Bayesian Filtering, Matlab toolkit](http://choosh.csee.ogi.edu/rebel/), written by Rudolph van der Merwe and Eric A. Wan.
- [Kalman filter toolbox for Matlab](http://www.cs.ubc.ca/~murphyk/Software/Kalman/kalman.html), written by Kevin Murphy
- [The Kalmtool Toolbox Version 2 - for use with Matlab](http://www.iau.dtu.dk/research/control/kalmtool.html)]
- [Kalman filter](http://rsb.info.nih.gov/ij/plugins/kalman.html) for image sequence processing

#### <a name="Books"></a> Books

- Jay Farrell, Matthew Barth. The global positioning system and inertial navigation. New York : McGraw-Hill, c1999. ISBN 007022045X.
- Simon Haykin, Kalman Filtering and Neural Networks. Wiley, October 2001. ISBN: 0-471-36998-5

## <a name="Meeting Minutes"></a> Meeting Minutes

<table border=1 cellpadding=0 cellspacing=0>
  <tr>
    <th bgcolor="#99CCCC" colspan=2><strong> 2004 </strong></th>
  </tr>
  <tr>
    <th bgcolor="#99CCCC"><strong> Date </strong></th>
    <th bgcolor="#99CCCC"><strong> Summary </strong></th>
  </tr>
  <tr>
    <td>[[news/2004-10-21]]</td>
    <td> Investigating GAINS stuff </td>
  </tr>
</table>