![]() |
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. |
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.
|
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.
|
Re: Calibrating Mecanum Drive
1 Attachment(s)
read pdf
|
Re: Calibrating Mecanum Drive
Quote:
|
Re: Calibrating Mecanum Drive
Okay thanks, we will likely go for the 4 encoders, unless anyone could suggest an alternate calibration technique.
|
Re: Calibrating Mecanum Drive
You also need to ensure your robot's weight is distributed evenly to ensure your mecanums work properly...
|
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 |
Re: Calibrating Mecanum Drive
How loose should the rollers be? The andymark ones are pretty tight.
|
Re: Calibrating Mecanum Drive
Quote:
|
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? |
Re: Calibrating Mecanum Drive
Quote:
Kudos to the killer bees for this excellent paper! Steve |
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: |
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? |
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:52. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi