Go to Post Multiple event winners are what drive me and my friends to be better and achieve more. - Akash Rastogi [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Spotlight this post!  
Unread 09-02-2010, 12:59
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,058
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
mecanum/holonomic/omni drive

This is what our team has learned so far. I'm posting it here for the benefit of any team still struggling with, or wanting to learn more, about holonomic drive.

You can use the holonomic drive VI provided in LabVIEW (which requires polar coordinate inputs),

OR

You can write your own omni code (as our team did), which uses -1 to +1 joystick output values, as follows:


Let x, y, and z be the rev/fwd, slide left/right, and spin CCW/CW axes, respectively, which each vary from -1 to +1.


So:

x= -1 corresponds to full speed reverse, x= +1 corresponds to full speed forward,

y= -1 corresponds to full speed slide left, y= +1 corresponds to full speed slide right,

z= -1 corresponds to full speed spin CCW, z= +1 corresponds to full speed spin CW


If your joystick outputs don't look like the above (eg the signs are reversed), simply convert them.


Let w1, w2, w3, and w4 be the commands to send to each of the 4 wheels, where w1 is front left, w2 is front right, w3 is rear left, w4 is rear right, as viewed from the top.

set the four wheel speed commands as follows:

w1 = x + y + z

w2 = x - y - z

w3 = x - y + z

w4 = x + y - z


You're almost done. All that remains is to normalize the above commands so that their range is -1 to +1. Proceed as follows:

- look at the magnitude (absolute value) of each of the four commands, and select the MAXIMUM. for sake of discussion, call this maximum value Wmax

- if Wmax is less than or equal to 1, no scaling is required. Just use the four w commands as-is

- if Wmax is greater than 1, then divide EACH of the four w values by Wmax.

That's all there is to it. Send each w command to the corresponding wheel.

One note of caution: make sure the polarity of the motors on each side of the bot is wired correctly (each wheel must be spinning in the "forward" direction when it gets a +1 command). The easier way to observe this is to elevate the bot and push the joystick forward; all four wheels should be spinning forward.



~
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
does any one have a working holonomic mecanum setup? Must Be Drama NI LabVIEW 9 14-02-2010 04:54
How do you wire the inputs for holonomic drive (omni wheels) star_lancer NI LabVIEW 8 22-01-2010 22:29
Holonomic drive vi with mecanum wheels dwodrich NI LabVIEW 7 18-01-2010 16:01
Holonomic vs Mecanum Help!! kSniper Technical Discussion 10 25-03-2008 16:57
Holonomic/Omni vs Defense Alex Burman Technical Discussion 15 15-02-2006 20:35


All times are GMT -5. The time now is 04:47.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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