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?