Compute velocities from wheel-encoders for odometry model
I am working with the navigation of a two wheeled robot, I am looking at the odometry tutorial www.ros.org/wiki/navigation/Tutorials/RobotSetup/Odom, in this part:
//compute odometry in a typical way given the velocities of the robot
double dt = (current_time - last_time).toSec();
double delta_x = (vx * cos(th) - vy * sin(th)) * dt;
double delta_y = (vx * sin(th) + vy * cos(th)) * dt;
double delta_th = vth * dt;
x += delta_x;
y += delta_y;
it says "A real odometry system would, of course, integrate computed velocities instead"
so, if I have the velocity readings from the wheel encoders, how can I compute this velocities for the odometry model?
Can you clearly state the meaning of 'velocity readings from the wheel encoders'? Does it refer to the rpm of each motor or the distance traversed by each wheel per unit time?
I have the encoder count per second in each wheel, the wheel radius and the distance between these two wheels. I am wondering how can I get the velocity in meters per second with this information.
Hello usually computing an odemetry is dependent on the type steering on the robot there are different type of methods for computing velocities from encoder counts first thing I would advice you to do is to read this article and you will then have better starting point. http://rossum.sourceforge.net/papers/DiffSteer/ I hope it was helpful. thanks