Calculate position of the centre of a rigid bar

1. Oct 12, 2013

Jyan

Hello Everyone,

I am working on building a simple robot. Basically, I have a small platform with two motorized wheels and rotary encoders on the edges. So, using the rotary encoders I can estimate the velocity of the two wheels. I then need to use this information to calculate the path that the robot follows. I am having difficulty working out the equation to define the robot's total velocity.

I'm basically looking at it as a rigid bar of length 2L, where the velocities of the right and left edges (v1 and v2 respectively) are known. It is also constrained such that v1//v2. And θ is the angle of the bar with the x axis.

I believe the equation for θ should be:

$\dot{θ}$ = (v1-v2)/L

And, that the magnitude of the total velocity should be the minimum of v1 and v2, plus the component of v2 tangent to the rotation.

v = min(v1,v2) + (v1-v2)/2

Then I just calculate the path it takes by integrating.

I'm sorry if my attempted answer isn't very clear, but I think the question should be. Calculate the velocity of the centre point of a rigid bar where the velocities of it's 2 end points are known, and are always parallel.

Any assistance would be much appreciated.

2. Oct 12, 2013

Simon Bridge

I see, so if v2>v1 the robot turns right and if v2=-v1 it rotates on the spot?

If v1 and v2 point in opposite directions, then the center of the turn will be between the wheels.
If v1 and v2 point in the same direction, then the center will be on the line between the wheels but off to the slower side. The difference in speeds in each case determines the radius of curvature.

That help?

I think you need to more closely define the problem you are trying to solve - as it stands it is very open: you are trying to work out the position of the robot given information about the wheel speeds over time.

Don't yu just what to be able to control the trajectory of the robot?

Last edited: Oct 12, 2013
3. Oct 13, 2013

Baluncore

The immediate vehicle orientation and therefore the present direction of movement will be determined by the difference in the number of encoder steps since the start. The distance between the wheel centres needs to be known in shaft encoder step units so the angular change per step difference can be worked out using the arctangent.

4. Oct 13, 2013

Jyan

I actually solved my issue. dθ/dt = (v1 - v2)/2L, and the magnitude of the velocity (v_T) is just (1/2)(v1+v2). Finding dθ/dt is fairly straight forward, and I determined the total velocity using super position. The path can then be calculated by integration where

v_y = v_T cos θ
v_x = -v_T sin θ

I used python to simulate the path and everything seems to make sense, so I think the issue is solved. Now to learn how to write a path finding algorithm...

5. Oct 13, 2013

Well done :)