I am by no means an expert on Kalman filtering, but I stumbled over the same issue you mention in your last paragraph: with fixed R and Q, the filter does indeed converge to a fixed gain. I believe the idea is that the covariances of the filter are supposed to be adjusted by some mechanism that is external to the Kalman filter. For example, if you know by some other means that temporary vibrations may render your gyro readings noisy, you would dial up the covariances for the time this condition persists.
On your first question: it is my understanding that the main idea behind Kalman filtering is to combine inputs from several sensors that direcly or indirectly measure a certain quantity in an optimal way (for example the tilt of something can be measured directly via an accelerometer or by integrating a rate gyro). Your three gyros measure three independent quantities, so there is nothing to combine for the Kalman filter here... Sounds to me like you only need a low pass filter to filter out some noise from your gyros.
It seems my conclusions make sense, hurra ;)
The only Kalman Filter I've seen working only on gyros is the IKF ... but it's based on the assumption the inertial moments around each axis is different (or it's a simple kalman filter => low pass filter ...).
I was assuming that the gyros would be correlated in some sort ... in fact they are, but in a way we can't use I think : dw/dt is somehow proportional to the torque applied to the system. One part of this torque comes from the system itself (actuators) hence move along with the system, but the other part of the torque comes from outside of the system, hence being fixed in the "world" (and moving with predictable trajectory via the kalman filter).
But this would mean being able to separate the two components of the torque to isolate the "external torque", which means estimating the "self torque" that the system apply on itself (pretty much known if by the system output - servo or ESC command).
Hum ... a bit complicated, no ? (I must stop reading these things of system equations, it's going to make me crazy !).
Now ... real solutions :
- Simply put a fixed gain digital low pass filter (simple, pretty much no CPU cost).
- Evolve this filter by some sort of automatic gain adjustment (maybe inversely proportional to the measured signal variance ?)
- Look at some other filtering methods (FIR ?) ...
As Marko said, the Kalman gain will converge to a constant if the process and measurement noises (Q and R, respectively) are constant.
What is the output you want from your gyroscopes? Body angles?
Ok it seems confirmed, with a "simple" model and Kalman filter, you end up with a fixed gain IIR filter ... ;)
I'm trying to build an adaptive FIR (already thought about the algorithm, still need to test it, but it should be amusing).