I am currently looking for a way to do odometry using wheel encoders, for a car that has no differential drive. The two rear wheel would rotate at the exact same speed. I have been looking everywhere for an answer, but unable to find any. I am starting to think that this is not a possible thing to do. I would be very grateful if anybody can point me in the correct direction.

  • $\begingroup$ how does the vehicle turn? $\endgroup$ – jsotola Apr 17 at 16:29
  • $\begingroup$ Do you mean a car with ackermann steering but a locked differential (solid rear axle)? $\endgroup$ – Ben Apr 19 at 12:29

So long you have a sensor to read the angle of the steering wheel, you can use the bicycle kinematic model to compute odometry for an Ackermann drive platform, e.g. a car:

$$ \begin{align} \\ \dot{x} & = v \; cos(\psi + \beta) \\ \\ \dot{y} & = v \; sin(\psi + \beta) \\ \\ \dot{\psi} & = \frac{v}{l_r} sin(\beta) \\ \\ \beta & = tan^{-1} \left ( \frac{l_r}{l_f + l_r} tan(\delta_f) \right ) \end{align} $$

Where $v$ is linear forward velocity, $\dot{x}$ and $\dot{y}$ are the linear velocities alongside the Cartesian axes, $\psi$ and $\dot{\psi}$ are the heading angle and angular velocity, $l_f$ and $l_r$ are the distances from the center of mass to the front an rear axles, and $\delta_f$ is the steering wheel angle.

                          enter image description here

Assuming $v$ and $\delta_f$ are retrieved using encoders or other sensors, the vehicle pose can be approximated by:

$$ \begin{align} \\ x_t & = x_{t - 1} + \dot{x} \; \Delta t \\ \\ y_t & = y_{t - 1} + \dot{y} \; \Delta t \\ \\ \psi_t & = \psi_{t - 1} + \dot{\psi} \; \Delta t \\ \\ \end{align} $$

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.