View Single Post
  #6   Spotlight this post!  
Unread 04-01-2015, 17:18
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,044
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: mecanum wheel postioning

Quote:
Originally Posted by EricH View Post
Ether, you want to chime in here?
Theoretically, if the wheel pattern is not square then trackwidth and wheelbase lengths should enter into the inverse kinematic computation if you want the rotate command to correspond with actual engineering units:

Code:

FrontRight = FWD - STR - K*omega

FrontLeft  = FWD + STR + K*omega

RearLeft   = FWD - STR + K*omega

RearRight  = FWD + STR - K*omega

... where:

FrontRight,FrontLeft,RearLeft,RearRight are wheel tangential speeds, ft/sec

omega is CW rotation around center of area, rad/sec

FWD and STR are driver commands, ft/sec

K is (trackwidth + wheelbase)/2, ft
WPILib and LabVIEW don't support this, so you would have to scale your rotation before calling these methods.

If you don't scale the rotation, it won't cause wheel scrub. It just won't correspond to the rotation you expected.