Calculate position of the centre of a rigid bar

  • Thread starter Thread starter Jyan
  • Start date Start date
  • Tags Tags
    Position
AI Thread Summary
The discussion centers on calculating the velocity and path of a robot with two motorized wheels using rotary encoders. The user defines the robot as a rigid bar, with equations for angular velocity and total velocity based on the speeds of the wheels. Key equations include θ = (v1 - v2)/L for angular velocity and v_T = (1/2)(v1 + v2) for total velocity. The center of rotation is determined by the relative speeds of the wheels, affecting the robot's trajectory. The user successfully simulated the path using Python and is now looking to develop a pathfinding algorithm.
Jyan
Messages
36
Reaction score
2
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.
 
Physics news on Phys.org
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:
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.
 
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...
 
  • Like
Likes 1 person
Well done :)
 
I have recently been really interested in the derivation of Hamiltons Principle. On my research I found that with the term ##m \cdot \frac{d}{dt} (\frac{dr}{dt} \cdot \delta r) = 0## (1) one may derivate ##\delta \int (T - V) dt = 0## (2). The derivation itself I understood quiet good, but what I don't understand is where the equation (1) came from, because in my research it was just given and not derived from anywhere. Does anybody know where (1) comes from or why from it the...
Back
Top