Go to Post I never had any doubt; good people who do good quality work will always prosper. - Gary Dillard [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

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 20-01-2011, 12:44
Jogo Jogo is offline
Registered User
FRC #0353 (Pobots)
Team Role: Programmer
 
Join Date: May 2009
Rookie Year: 2007
Location: NY
Posts: 83
Jogo is on a distinguished road
Calibrating Mecanum Drive

I have a question regarding calibration of mecanum drive.

I am comfortable with using the gyro to regulate rotational movement. However, is there a decent way to regulate translational movement? One thing I fear is that each wheel will move at slightly different speeds relative to one another...would the only way to deal with this be to wire up four encoders? Do teams commonly use control loops to regulate wheel speeds?

Thanks in advance for any tips/advice.
  #2   Spotlight this post!  
Unread 20-01-2011, 13:23
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Calibrating Mecanum Drive

You're worried about what will happen if the wheels aren't synchronized, right? Work it out and you'll find that the result is that the robot turns. If you're using a gyro to maintain heading using closed-loop control of the rotation parameter, that's sufficient to compensate for the problem.
  #3   Spotlight this post!  
Unread 20-01-2011, 13:50
Jogo Jogo is offline
Registered User
FRC #0353 (Pobots)
Team Role: Programmer
 
Join Date: May 2009
Rookie Year: 2007
Location: NY
Posts: 83
Jogo is on a distinguished road
Re: Calibrating Mecanum Drive

Well specifically, I was worried that if I wanted the robot to drive straight, error could build up in both the x-component of translation in addition to rotation. Or, if I wanted the robot to drive right, error could build up in both the y-component of translation in addition to rotation.
  #4   Spotlight this post!  
Unread 20-01-2011, 14:29
Robototes2412's Avatar
Robototes2412 Robototes2412 is offline
1 * 4 != 14
FRC #2412 (Robototes)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2007
Location: Bellevue
Posts: 312
Robototes2412 is on a distinguished road
Re: Calibrating Mecanum Drive

read pdf
Attached Files
File Type: pdf mec_or_omni_w_gyro.pdf (28.8 KB, 980 views)
  #5   Spotlight this post!  
Unread 20-01-2011, 14:42
artdutra04's Avatar
artdutra04 artdutra04 is offline
VEX Robotics Engineer
AKA: Arthur Dutra IV; NERD #18
FRC #0148 (Robowranglers)
Team Role: Engineer
 
Join Date: Mar 2005
Rookie Year: 2002
Location: Greenville, TX
Posts: 3,078
artdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond repute
Re: Calibrating Mecanum Drive

Quote:
Originally Posted by Jogo View Post
I have a question regarding calibration of mecanum drive.

I am comfortable with using the gyro to regulate rotational movement. However, is there a decent way to regulate translational movement? One thing I fear is that each wheel will move at slightly different speeds relative to one another...would the only way to deal with this be to wire up four encoders? Do teams commonly use control loops to regulate wheel speeds?

Thanks in advance for any tips/advice.
All motors are slightly different due to manufacturing tolerances. To combat both this (and any slight differences in friction between wheels), use an encoder on each wheel feeding into a velocity PD controller (PID, but without the I).
__________________
Art Dutra IV
Robotics Engineer, VEX Robotics, Inc., a subsidiary of Innovation First International (IFI)
Robowranglers Team 148 | GUS Robotics Team 228 (Alumni) | Rho Beta Epsilon (Alumni) | @arthurdutra

世上无难事,只怕有心人.
  #6   Spotlight this post!  
Unread 20-01-2011, 16:20
Jogo Jogo is offline
Registered User
FRC #0353 (Pobots)
Team Role: Programmer
 
Join Date: May 2009
Rookie Year: 2007
Location: NY
Posts: 83
Jogo is on a distinguished road
Re: Calibrating Mecanum Drive

Okay thanks, we will likely go for the 4 encoders, unless anyone could suggest an alternate calibration technique.
  #7   Spotlight this post!  
Unread 20-01-2011, 21:10
Chexposito's Avatar
Chexposito Chexposito is offline
Registered User
AKA: Expo
FRC #1730
Team Role: Alumni
 
Join Date: Feb 2009
Rookie Year: 2007
Location: Missouri
Posts: 272
Chexposito is a glorious beacon of lightChexposito is a glorious beacon of lightChexposito is a glorious beacon of lightChexposito is a glorious beacon of lightChexposito is a glorious beacon of lightChexposito is a glorious beacon of light
Re: Calibrating Mecanum Drive

You also need to ensure your robot's weight is distributed evenly to ensure your mecanums work properly...
  #8   Spotlight this post!  
Unread 21-01-2011, 01:30
Steve_Alaniz Steve_Alaniz is offline
Registered User
FRC #2848 (All Sparks)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 1997
Location: Dallas
Posts: 211
Steve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond repute
Re: Calibrating Mecanum Drive

I assume you are talking about during autonomous ... Four encoders is a really good way to try to solve that problem, however, that tells you how fast the wheel is turning and not necessarily your position. Errors can occur if the rollers do not all roll freely. A roller with a little more tension will introduce some error. Also, you may know how fast each wheel is turning, but not if the wheel is slipping as it runs. A combination of Gyro navigation AND encoders on the wheels will probably give the best results. I have yet to master this but I believe team 33, the killer bees, have an excellent explanation of gyro navigation. Definitely worth a look.

Steve
  #9   Spotlight this post!  
Unread 21-01-2011, 07:54
Jogo Jogo is offline
Registered User
FRC #0353 (Pobots)
Team Role: Programmer
 
Join Date: May 2009
Rookie Year: 2007
Location: NY
Posts: 83
Jogo is on a distinguished road
Re: Calibrating Mecanum Drive

How loose should the rollers be? The andymark ones are pretty tight.
  #10   Spotlight this post!  
Unread 21-01-2011, 09:01
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,101
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: Calibrating Mecanum Drive

Quote:
Originally Posted by Jogo View Post
How loose should the rollers be? The andymark ones are pretty tight.
Ideally the rollers should spin freely but not have any axial free play. This is difficult to achieve with some designs. Friction and free play affect mecanum performance (vehicle speed and power loss).


  #11   Spotlight this post!  
Unread 21-01-2011, 09:47
Jogo Jogo is offline
Registered User
FRC #0353 (Pobots)
Team Role: Programmer
 
Join Date: May 2009
Rookie Year: 2007
Location: NY
Posts: 83
Jogo is on a distinguished road
Re: Calibrating Mecanum Drive

Has anyone ever achieved this with the standard andymark?

Also, has everyone ever used the accelerometer get angle function to measure translational error?
  #12   Spotlight this post!  
Unread 22-01-2011, 02:19
Steve_Alaniz Steve_Alaniz is offline
Registered User
FRC #2848 (All Sparks)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 1997
Location: Dallas
Posts: 211
Steve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond reputeSteve_Alaniz has a reputation beyond repute
Re: Calibrating Mecanum Drive

Quote:
Originally Posted by Jogo View Post
Has anyone ever achieved this with the standard andymark?

Also, has everyone ever used the accelerometer get angle function to measure translational error?
Well not accelerometers that I know of, though it can be done...however, gyros are SIMILAR and might act as a guide. Gyros http://www.chiefdelphi.com/media/papers/1755

Kudos to the killer bees for this excellent paper!

Steve
  #13   Spotlight this post!  
Unread 22-01-2011, 04:44
efoote868 efoote868 is online now
foote stepped in
AKA: E. Foote
FRC #0868
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Noblesville, IN
Posts: 1,420
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: Calibrating Mecanum Drive

Last season we used a gyro with mecanum wheels for field centric control. We didn't have any extra code to keep the robot from rotating while moving in a line (typically with tank drive a robot will drive in a large arc). Our robot still moved straight.

This leads me to believe that as the robot slightly rotated from biased motors, it still attempted to move in that straight line. Since the more powerful motors rotated towards the axis that robot was moving (making their contribution less and less), the gyro compensated for the rotation and a natural equilibrium was found (instead of active code keeping the robot on a straight course).


(If you can't tell I'm having a bit of difficulty trying to put into words what I think happened).

Imagine a case where two motors are completely dead, catty-corner. If you tried to move in a straight line, the robot would begin to spin until the dead motors made a line perpendicular to the axis you're trying to move on, and the robot would no longer be able to move.
Does this make sense
__________________
Be Healthy. Never Stop Learning. Say It Like It Is. Own It.

Like our values? Flexware Innovation is looking for Automation Engineers. Check us out!
  #14   Spotlight this post!  
Unread 22-01-2011, 18:25
Jogo Jogo is offline
Registered User
FRC #0353 (Pobots)
Team Role: Programmer
 
Join Date: May 2009
Rookie Year: 2007
Location: NY
Posts: 83
Jogo is on a distinguished road
Re: Calibrating Mecanum Drive

@artdutra04
What is the motivation behind a PD controller specifically?

@efoote
Sorry, I'm having difficulty interpreting this. If I'm understanding correctly, you only used the gyro in order to rotate the joystick input vector for field-centric control. How did it help keep the robot on a straight course?
  #15   Spotlight this post!  
Unread 23-01-2011, 03:03
efoote868 efoote868 is online now
foote stepped in
AKA: E. Foote
FRC #0868
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Noblesville, IN
Posts: 1,420
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: Calibrating Mecanum Drive

Imagine your robot has four mecanum wheels, with two dead motors on opposite corners, and two live motors on the different corners.

You use the joystick to try and go straight in an axis. Because there are only the opposite two motors powering the robot, the robot will spin as it moves. Since the gyro is compensating for the spin, the robot will still be attempting to move in that same direction. The two live motors will begin to output less and less.

The robot will continue to spin until the two dead motors are perpendicular to the axis that you're trying to move the robot on, and the two motors that work will be lined on that axis. The robot will no longer move, because the gyro in field centric drive will tell the working motors not to move, and tell the dead motors to go full power.


Now, imagine that instead of two dead motors, they only work at 90%. The same process will occur, except an equilibrium will be found sooner. This equilibrium requires no extra code to compensate for the biased motors.


I hope that makes sense? Otherwise I might have to try some of my mad paint skills.
__________________
Be Healthy. Never Stop Learning. Say It Like It Is. Own It.

Like our values? Flexware Innovation is looking for Automation Engineers. Check us out!
Closed Thread


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


All times are GMT -5. The time now is 23:40.

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