I was planning on using the odometry model in the prediction stage of an Extended Kalman Filter. State transition equations: $$ f(X_t,a_t) = \begin{bmatrix} x_{t+1} = x_t + \frac{\delta s_r + \delta s_l}{2} \cdot \cos(\theta_t) +u_1 \\ y_{t+1} = y_t + \frac{\delta s_r + \delta s_l}{2} \cdot \sin(\theta_t) + u_2 \\ \theta_{t+1} = \theta_t + \frac{\delta s_r + \delta s_l}{b} \cdot \sin(\theta_t)+u_3 \end{bmatrix} $$ with $\delta s_r$ and $\delta s_l = \frac{n}{n_0} \cdot 2 \cdot \pi \cdot r$

$X_t = \begin{bmatrix} x_t & y_t & \theta_t\end{bmatrix}^T$ state matrix containing XY-coordinate and heading $\theta$ of vehicle in global reference frame

$\delta s_r$ and $\delta s_l$ distance travelled by respectively right and left wheel

$b$ distance from center of the vehicle to the wheel

$n$ encoder pulses count during sampling period t

$n_0$ total pulses count in 1 wheelturn

$r$ wheel radius

$u_1,u_2$ and $u_3$ random noise N(0,$\sigma^2$)

Now I doubt if this noise indeed does have a zero mean? Wheelslip will always make the estimated distance travelled shorter than the measured distance isn't it?

  • $\begingroup$ Do you know what does this N(0,$\sigma^2$) mean? $\endgroup$
    – CroCo
    Commented Aug 16, 2016 at 11:15
  • $\begingroup$ A normal distribution with zero mean and variance square sigma. en.wikipedia.org/wiki/Normal_distribution $\endgroup$
    – Eva
    Commented Aug 16, 2016 at 12:46

2 Answers 2


The noise term will always be zero mean. If you believe the odometry equations will not accurately capture wheel slip and you believe the filter will not adequately track your state then the solution is more accurate equations used in the prediction step.

However, if you believe the process noise if not a constant, you can construct a process noise as a function of the state of the vehicle. It will still be a zero mean noise, that will always be true.

I'd suggest solving for this non-zero mean component of the noise and just adding that to your odometry equations.


The bias of your distribution will depend on parameters outside of your model. Acceleration, incline, terrain properties, tire temperature, etc.

Your noise term is zero bias, because it is a blanket assumption for all these cases. Consider for example your robot going downhill. The bias would be positive in this case.

To tweak your model, you could for example include the slip as a constant factor on the distance traveled for each wheel. Note that this factor will be very depending on your situation.

Another component to consider is your $\sigma^2$. Having it constant, and thus independent of your $\delta s$ generates the same increase in uncertainty when you are not moving compared to a very fast movement.


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.