View Single Post
  #22   Spotlight this post!  
Unread 22-01-2017, 21:32
TylerHarmon's Avatar
TylerHarmon TylerHarmon is offline
Registered User
no team
 
Join Date: Jan 2016
Rookie Year: 2014
Location: Westminster, CO
Posts: 25
TylerHarmon is an unknown quantity at this point
Re: Mecanum Drive control

Quote:
Originally Posted by AriMindell View Post
Ether posted the following code for determining robot position based on the wheel velocities of mecanum wheels in another thread:
Code:
FWD = r*(w1+w2+w3+w4)/4

STR = r*(w1-w2+w3-w4)/4

Wv  = (1/k)*(w1+w2-w3-w4)/4

r is wheel radius
k is |trackwidth/2| + |wheelbase/2|
w1,w2,w3,w4 are FL,BL,BR,&FR wheel speeds in rads/sec
Wv is robot clockwise rotation rate in radians per second
The implicit assumption is that the velocity vector applied to the robot by a mecanum wheel spinning at constant velocity is constant.

are you arguing that the velocity vector created by a mecanum wheel spinning at a constant velocity is not constant or predictable, therefore that equation provides an unreliable estimate of robot position?
I understand all of this logic, but it just doesn't work in practice. You simply cannot achieve the precision of tank drive with mecanum wheels because the rollers on mecanum wheels sometimes spin and sometimes do not. In other words, there is a large amount of slop in the system that cannot be removed with programming.

If you show me an example of you consistently driving a set distance and/or turning a certain amount without a gyroscope, only with encoders then I will accept that mecanums can be well controlled with encoders. However, based on the mechanical nature of mecanum wheels, such motion cannot practically be controlled.
Reply With Quote