Currently I have a tricycle style robot that uses an extended kalman filter in order to track 6 state variables. The inputs to the system are a steer encoder, a distance encoder, and a rotating laser that returns bearing only information to known landmarks. Currently both encoders are located on the main wheel (The one that steers, and is also powered).
The 6 variables tracked by the Kalman Filter are X, Y, Heading, Distance Scaling (calibration of the distance encoder), Steer Calibration (offset of the steer encoder), and finally a bearing calibration of a rotating laser.
With this kind of system we put together a vehicle give it a known good location with plenty of landmarks, drive it around a bit, and end up with a well calibrated vehicle that can drive extended distances reliably with few landmarks. Its simple and it works great. Over time if an encoder drifts it will automatically follow the drift and adjust.
We are now attempting to apply the same principles to a robot with multiple steer and drive wheels. In this case the vehicle will be able to move in any direction, spin in place, etc. . Each steer/drive wheel will have its own steer and distance encoder that each need to be calibrated.
Can I expect to get the same kind of reliability and performance out of the more complex system? Are there any common pitfalls to look out for when expanding a kalman filter to include more variables? Is there a risk of it settling on sub-optimal values?