I am using the Kalman filter to estimate the position from velocity measurements. I implemented the filter, but the position estimate is not well enough (large RMSE and Covariance value). Some time ago, I estimated the velocity using the position measurements (vice versa of the previous case) and the results were satisfying. What could be the reason that the former case doesn't work well enough?
Edit: Let me re-introduce the problem. Suppose I design a robot and I need to estimate its position and velocity using a tachometer. (And yes I know the initial position.) Then, my state variables become
x = [p v] p: position v: velocity
Since the tachometer provides a velocity measurement (i.e. pulse per unit time presumably 1 sec), my measurement vector become
y = [v].
Now I assume that my robot make constant velocity moves and crease a CV model for it motion. Assume F,H,Q and R matrices are standard CV motion matrices. To summarize I have measurement of velocity and trying to estimate the position and velocity of the robot. When I use Kalman filter for that problem I have bad position estimates. However, apart from that problem, when I try to estimate the speed from the position measurement, I have nice results for the velocity. My question is about this difference. In the first case I have velocity measurement and I have bad estimates for the position. In the second case I have position measurements but I have nice speed estimates. Although, both measurements are indirect why do I have such a bad estimate when I try to estimate the position from velocity? Am I doing a nonsense thing by estimating the position from velocity measurement?
One possible answer could be: When I try to estimate the position from velocity measurements I integrate the error. However, when I try to estimate the velocity from position measurements I differentiate the error. Therefore the former provides bad results.