Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Calibrating Mecanum Drive (http://www.chiefdelphi.com/forums/showthread.php?t=89646)

Jogo 20-01-2011 12:44

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.

Alan Anderson 20-01-2011 13:23

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.

Jogo 20-01-2011 13:50

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.

Robototes2412 20-01-2011 14:29

Re: Calibrating Mecanum Drive
 
1 Attachment(s)
read pdf

artdutra04 20-01-2011 14:42

Re: Calibrating Mecanum Drive
 
Quote:

Originally Posted by Jogo (Post 1004266)
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).

Jogo 20-01-2011 16:20

Re: Calibrating Mecanum Drive
 
Okay thanks, we will likely go for the 4 encoders, unless anyone could suggest an alternate calibration technique.

Chexposito 20-01-2011 21:10

Re: Calibrating Mecanum Drive
 
You also need to ensure your robot's weight is distributed evenly to ensure your mecanums work properly...

Steve_Alaniz 21-01-2011 01:30

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

Jogo 21-01-2011 07:54

Re: Calibrating Mecanum Drive
 
How loose should the rollers be? The andymark ones are pretty tight.

Ether 21-01-2011 09:01

Re: Calibrating Mecanum Drive
 
Quote:

Originally Posted by Jogo (Post 1004857)
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).



Jogo 21-01-2011 09:47

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?

Steve_Alaniz 22-01-2011 02:19

Re: Calibrating Mecanum Drive
 
Quote:

Originally Posted by Jogo (Post 1004906)
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

efoote868 22-01-2011 04:44

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 :confused:

Jogo 22-01-2011 18:25

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?

efoote868 23-01-2011 03:03

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.


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

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