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?


1 Answer 1


In my opinion (based on my limited experience using the EKF for navigation):

The performance of the EKF can be hugely improved by a good kinematic model. You did right by including bias in your steering and odometry models for the tricycle system. If you can derive and apply a detailed kinematics model for your more complicated system, then you should do quite well. If not, then the EKF must also account for your errors in modelling, in addition to your sensor errors and linearization errors. This is the danger: including a source of error that is not accounted for will make your filter inconsistent very quickly.

If things get out of hand (your filter isn't converging nicely), you can try multiple model methds (IMM). So my advice is to model the system as well as possible. The EKF has a very good track record for these tasks. Good luck.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.