I have recently been studying Kalman filters. I was wondering that if sensor model of a robot gives a unimodal Gaussian ( as is assumed for LKF) and the environment is pre-mapped, then the sensor reading can be completely trusted( ie. max value of Kalman gain), removing the need for odometry for localization or target tracking purposes and hence the need for the Kalman filter. Please Clarify.

  • 1
    $\begingroup$ Hi RamanButta and welcome to robotics SE! I don't quite understand your question. Could you clarify or add more details? What are you using the kalman filter to accomplish? $\endgroup$ – Paul Feb 14 '15 at 18:05
  • $\begingroup$ What do you mean by a pre-mapped environment? $\endgroup$ – holmeski Feb 14 '15 at 19:05
  • $\begingroup$ What is your question? $\endgroup$ – CroCo Jul 13 '15 at 4:04

What I think you are asking:

Given a map of the environment (e.g., the positions of landmarks), and a sensor that can measure the location of these landmarks, is odometry required when the position of the robot can be uniquely determined from the landmark measurements?

My answer:

In short, yes. If every measurement can be uniquely associated with a large enough set of landmarks, you can get a unique estimate of your position. Note I said "estimate" of your position. Of course there will still be uncertainty of your estimate because your measurement of the landmarks will not be perfect. However, here are a couple reasons having odometry in this situation would be helpful anyway:

  • As an initial guess. A lot of data association algorithms work much better if you have a good initial guess. Having odometry here helps increase the likelihood of a good match. It helps you make the correct choice between two possible matches, for example.

  • To help deal with infrequent or highly uncertain landmark measurements. There are often situations where your landmark measurements won't be very good for stretches of time. Maybe you briefly were in an unmapped or poorly mapped area. Maybe the environment has changed. Maybe something is interfering with how your sensor is working (e.g., different lighting). If you are not constantly getting good updates based on measurements of the environment, it could lead to unrecoverable errors. Odometry gives you a (dead-reckoning) estimate during this time, making recovery easier when you start to get good landmark measurements again.

In short, you need to ask yourself: Is the map very good? Does it full cover the operational area (i.e., is it possible for the robot to take measurements of things not in the map)? Is it possible the map has changed? Does the sensor work well in different conditions? Is the data association algorithm reliable for different amounts of noise? Will the updates provided by the sensor be frequent enough based on how fast the robot is travelling? Etc.

  • $\begingroup$ Thanks @kamek . I see the key point you mentioned was the dynamic and noisy nature of the environment itself (and not the camera) which calls for odometry readings. Indeed if the environment is well landmarked and static, then Kalman filter will be needed only if the camera itself is unreliable. $\endgroup$ – Raman Butta Feb 16 '15 at 15:49

No. An example of this is a GPS measurement: It has one mode (the mean), but is uncertain. What this means is, if you receive 100 gps measurements, they will all have similar modes, but will be slightly different due to uncontrollable environmental effects.

The map of the environment has nothing to do with the sensor data of this type.

The mode / mean is often called the estimate, and for practical purposes with small noise, yes, you can treat the mean as the true state. But it is never theoretically correct to do so. Always account for the uncertainty of the system.

  • $\begingroup$ Let us assume we use a camera fitted on a robot to estimate the location of a robot at any instant of time. I don't understand why do we need to consider the odometry reading/ state transition model/ action model from the previous time instant and combine it with the camera reading to find the minimum variance estimate of the location. Aint the camera reading perfect if no two places in the environment have the same appearance ? $\endgroup$ – Raman Butta Feb 16 '15 at 6:30
  • 1
    $\begingroup$ In the real world there are always errors. $\endgroup$ – Jakob Feb 16 '15 at 8:25
  • $\begingroup$ If the error in your system is always tolerably small, then you don't need all the sensor data. It almost never is. The only way to know for sure is to try it. $\endgroup$ – Josh Vander Hook Feb 16 '15 at 14:55
  • $\begingroup$ Thanks @Josh . In fact the KF does minimize the error covariance. $\endgroup$ – Raman Butta Feb 16 '15 at 16:02
  • $\begingroup$ No, the kf estimates the covariance. If the cov. estimate shrinks, it is because the update steps provide information about the state estimate. $\endgroup$ – Josh Vander Hook Feb 16 '15 at 16:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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