Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   Mecanum Wheels - How do they work? (http://www.chiefdelphi.com/forums/showthread.php?t=124743)

efoote868 16-01-2014 22:55

Re: Mecanum Wheels - How do they work?
 
Quote:

Originally Posted by Ether (Post 1328213)
There's no kinematic reason why mec needs to be square in order to rotate properly.



Quickly sketching the vectors on a napkin, it looks like to me that wheels in a square will optimize spinning (maximize total torque on robot) for a particular wheel distance d from center of robot; perhaps you could comment? The other quick example I could think of is if the wheels were in a line. Then the total torque about center is 4*|F||d|*root(2)/2, versus 4*|F||d| with the wheels in a square.

Cal578 17-01-2014 14:49

Re: Mecanum Wheels - How do they work?
 
Quote:

Originally Posted by AGPapa (Post 1328219)
... The left joystick controls forward-back and strafing. The right joystick does turning.

Our team did fairly well with a mecanum drive a few years ago. Instead of two joysticks, we used just one 3-axis joystick, such that twisting the handle controlled rotation of the robot. It was so intuitive that anybody could pick it up pretty well.

Ether 17-01-2014 16:25

Re: Mecanum Wheels - How do they work?
 
1 Attachment(s)
Quote:

Originally Posted by Ether (Post 1328213)
A more likely cause is that the rectangular bot had poorer weight distribution or the frame wasn't flexible enough to keep traction on all 4 wheels or the rollers were binding. There's no kinematic reason why mec needs to be square in order to rotate properly.

Quote:

Originally Posted by efoote868 (Post 1328358)
Quickly sketching the vectors on a napkin, it looks like to me that wheels in a square will optimize spinning (maximize total torque on robot) for a particular wheel distance d from center of robot; perhaps you could comment?

Let's consider the ideal case first, in order to understand the physics: mec wheels with no roller friction and no roller axial or radial free play; floor surface is non-compliant (ignore carpet compression and stretching).

Refer to attached sketch


First, the kinematics (ideal):

Let P be the perimeter of the rectangle formed by the centers of the 4 wheels:

P = 2*(Lwb+Ltw);

Let r be the wheel radius

For a given vehicle rotation speed omega_v (radians/sec) of a vehicle rotating in-place about the center of the aforementioned rectangle (i.e. Vx=0 and Vy=0), the wheel rotational speed omega_w (rad/sec) will be given by

omega_w = (1/r)*K*omega_v .... (see page 7 of my mec kinematics paper)

... where K = (Lwb+Ltw)/2 = P/4;

solving for omega_v and substituting for K:

omega_v = (1/K)*r*omega_w = (4/P)*r*omega_w;

So you can see that the vehicle rotation speed for a given wheel rotational speed, is the same for all rectangles with the same perimeter.




Now, the forces and torques (ideal):

wheel torque: tau;

carpet force component in plane of wheel and floor: Ff = tau/r;

total carpet force in direction of mec roller axis: Fr = Ff*sqrt(2) = (tau/r)*sqrt(2);

Let the ratio f be defined as: f = Ltw/Lwb;

theta = atan(f); .... (see sketch)

alpha = pi/4 - theta;

carpet force component in direction of vehicle rotation: Fv = Fr*cos(alpha) = (tau/r)*sqrt(2)*cos(alpha);

distance from center of rectangle to center of wheel: D = (1/2)*sqrt(Lwb^2+Ltw^2);

P = 2*(Ltw+Lwb) = 2*Lwb*(f+1) => Lwb = (1/2)*(P/(1+f)) & Ltw = f*(1/2)*(P/(1+f));

so D becomes:

D = (1/2)*sqrt(((1/2)*(P/(1+f)))^2+(f*(1/2)*(P/(1+f)))^2);

D = P*sqrt(1+f^2)/(4*(1+f));

torque about center of rectangle: Tv = Fv*D;

Tv = ((tau*sqrt(2))/r)*cos(alpha)*(P*sqrt(1+f^2)/(4*(1+f)));

Tv = ((tau*sqrt(2))/r)*cos(pi/4 - theta)*(P*sqrt(1+f^2)/(4*(1+f)));

Tv = ((tau*sqrt(2))/r)*cos(pi/4 - (atan(f)))*(P*sqrt(1+f^2)/(4*(1+f)));

using:

cos(pi/4-atan(f)) = (1+f)/(sqrt(2)*sqrt(1+f^2));

... Tv simplifies to:

Tv = ((tau*sqrt(2))/r)*((1+f)/(sqrt(2)*sqrt(1+f^2)))*(P*sqrt(1+f^2)/(4*(1+f)));

Tv = (P*tau)/(4*r);

Now that I've done all that trig and algebra, here's a much quicker way:

carpet force component in plane of wheel and floor: Ff = tau/r;

total carpet force in direction of mec roller axis: Fr = Ff*sqrt(2) = (tau/r)*sqrt(2);

carpet force component in direction of wheel axis: Fa = tau/r;

torque around center of rectangle:

Tv = (tau/r)*(Ltw/2) + (tau/r)*(Lwb/w) = (tau/r)*(Ltw+Lwb)/2 = (tau/r)*(P/4);

So the torque on the vehicle is the same for all rectangles with the same perimeter.




Now consider the non-ideal case with roller free play, roller friction, and carpet compression and stretching.

This will be an intuitive explanation.

In the case where Ltw >> Lwb (very wide configuration), the fore/aft component of the wheel translational motion is much larger than the strafing component.

In the case where Lwb >> Ltw (very long narrow configuration), the strafing component of the wheel translational motion is much larger than the fore/aft component.

Since a non-ideal mec wheel is considerably less efficient in the strafing direction, you'll see more losses when trying to rotate when Lwb >> Ltw.


Bottom line:

For the small deviations from square typically seen with FRC mec bots, and for properly functioning mec wheels on a frame that's sufficiently flexible to maintain traction on all 4 wheels, the bot should turn fine - and certainly better than a skid-steer with the same dimensions.

efoote868 17-01-2014 22:15

Re: Mecanum Wheels - How do they work?
 
Quote:

Originally Posted by Ether (Post 1328583)
So you can see that the vehicle rotation speed for a given wheel rotational speed, is the same for all rectangles with the same perimeter.


...

So the torque on the vehicle is the same for all rectangles with the same perimeter.

Setting the frame perimeters equal was an interesting way to look at this (especially since an FRC robot is limited by it). I (and I'm pretty sure the rest of CD) appreciate your time and efforts on the subject.

Caleb Sykes 18-01-2014 00:26

Re: Mecanum Wheels - How do they work?
 
Quote:

Originally Posted by efoote868 (Post 1328699)
Setting the frame perimeters equal was an interesting way to look at this (especially since an FRC robot is limited by it). I (and I'm pretty sure the rest of CD) appreciate your time and efforts on the subject.

+1
This is great stuff.


All times are GMT -5. The time now is 03:55.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi