I am trying to have a Kalman-Filter (or Extended-KF) give me positions for a small remotely controlled vehicle with an Ackermann steering geometry (moving on a plane surface). The control commands I can send to the vehicle are wheel speed and steering angle. To measure the position I have available an Inertial Measurement Unit, gyroscope (electronic), odometry and in the future a indoor positioning system. Trying to set up the filter, I am already stuck with the prediction phase. I assume my state vector is something like $ x=\begin{bmatrix} x\\ v_x\\ a_x\\ y\\ v_y\\ a_y \end{bmatrix} $
and having read an introduction for Kalman filters I think that I should get the new state by doing
$x_k = A x_{k-1} + B u_{k-1}$
where A is the predictor matrix, and $u_{k-1}$ the control input which I assume to be $ u=\begin{bmatrix} \omega\\ \alpha \end{bmatrix}$ , where $\omega$ would be the wheel speed and $\alpha$ the steering angle. I guess A is something like $ A=\begin{bmatrix} 1 & \Delta t &\Delta \frac{1}{2}t^2 & 0 & 0 & 0\\ 0&1&\Delta t &0 &0 &0\\ 0&0&1 &0 &0 &0\\ 0&0&0 &1 & \Delta t &\Delta \frac{1}{2}t^2\\ 0&0&0 &0 &1 &\Delta t\\ 0&0&0 &0 &0 &1\\ \end{bmatrix} $
However, I don't really know how I should deal with the control input. For once, the velocity change due to a stearing angle $\alpha$ is not linear, is this a problem? Also, my control input for the wheel speed is basically the velocity already present in A. Should I then only use the wheel speed change as control input?
Furthermore: I get updates form my sensors every 10 ms. I wonder how fast the motor will react to my steering commands. Could it be that it makes sense to neglect the control inputs altogether?
Thank you for your help!