# Odometry motion model for Kalman filter, but is the error zero mean?

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?

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

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.