|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
My team is debating on the drive system we want to use and I thought I would ask what has worked well for other teams.
1. Crab drive works best 2. Mecanum drive with each wheel having its own motor wins. 3. Use mecanum drive with one motor per side. 4. don't do any and use some other drive system |
|
#2
|
|||
|
|||
|
Re: crab drive vs. mecanum drive system
Won't work, Mecanum requires having 2 motors per side.
Personally I have always liked 6 wheel drive machines w/ a drop center wheel. It may not be as flashy as a 3 speed swerve drive but it is reliable. In my book reliability beats everything. Last edited by Andrew Schreiber : 09-12-2009 at 22:26. |
|
#3
|
||||
|
||||
|
Re: crab drive vs. mecanum drive system
A well built crab/swerve will beat a mechanum drive in most, if not all cases. The only problem is that to successfully build a crab/swerve drive you need to have good machining capability, and really good programming.
A mechanum drive system is much easier to manufacture since there are no custom parts needed except for the wheels, and programming should not be extremely difficult due to the fact that you do not need to have feedback loops. All of the mechanum systems that I have seen have had 4 motors. From my understanding of mechanum, if you only put two motors on the system, you basically have a tank drive. |
|
#4
|
||||
|
||||
|
Re: crab drive vs. mecanum drive system
Echo'ing that mecanum wheels need four motors/gearboxes. Each wheel creates a its own force vector.
Team221.com sells swerve modules, that would give you a good start if you wanted to do it. |
|
#5
|
||||
|
||||
|
Re: crab drive vs. mecanum drive system
Do you mean omnidrive? This is not with mechanum wheels, it uses omniwheels, and generally uses either three (kiwi drive) or four. Probably the simplest holonomic drive train is the 4-wheel version with two on the sides, and then one each for front and back, so you just feed the front and back ones values from the X-axis of a joystick, and the ones on the side values from the Y-axis.
However, whether you want to use any of these systems depends on what your team is aiming for. If you just want to learn how to build and drive a holonomic platform, do it. One deciding factor might be the game challenge. Last year, we played around with several strategies before we settled on needing a very maneuverable robot, and because of field losses, we decided to use swerve drive to keep the wheels pointed in the same direction as the driving vectors most of the time. Definitely not the only way to do it, but we did learn a lot. Here's the run-down in my opinion: 1) Most complicated. If you use full swerve drive (wheels rotate independently), it will require a lot of motors, a lot of power, and careful design to get things to line up. Not to mention, the code is fairly hard to do if you want position feedback. If you use crab instead of full swerve, you may want some kind of turret, because rotating can be VERY important. 2) Mechanum has fewer losses than omnidrive doing forward, but has huge losses strafing. Going diagonally can cause interesting vectors to result accidentally. Definitely the loudest of the drive trains when strafing. Simple to build, more expensive than most of the others (depending on how you make swerve drive, and if you make your own mechanum wheels), hard to conceptualize. Possibly hard to program, I don't know, I haven't tried. 3) My personal favorite. Omnidrive results in what looks like a hockey puck on wheels, it moves almost eerily, and I've played around with it on Vex many times before. If you have the wheels mounted at 90-degree angles from the center (on the front and back and the two sides), your efficiency is 100% of a two-motor drive train, in both the X and Y directions. If you mount at 45-degree angles (on the corners), you get a theoretical maximum of 70% efficiency going straight forward or sideways, but you get more power behind it. However, you will not win any pushing matches, I guarantee. It can also be a problem to mount wheels at odd angles if you go that route. Fairly simple conceptually, the code isn't that complicated (I have a library for Vex if you want to see it). 4) Generally, skid steer/tank drive/differential steering/whatever you want to call it is the simplest, easiest, and most of the time, most effective. You have to remember that anytime you embark on a more complicated project, there will be a learning curve, and it will consume time. If you care more about learning the mechanical/electrical/control systems side of things, go with a holonomic drive train. If you care more about autonomous routines, camera interpretation, and perfecting manipulators and driver skill, go with something a little simpler. |
|
#6
|
||||
|
||||
|
Re: crab drive vs. mecanum drive system
Quote:
Code:
/********** Mecanum Code **********/
int FL_X, FR_X, RL_X, RR_X;
int FL_Y, FR_Y, RL_Y, RR_Y;
int FL_Z, FR_Z, RL_Z, RR_Z;
int X, Y, Z;
int FL, FR, RL, RR;
void drive (signed int joyX, signed int joyY, signed int joyZ)
{
char reduce = 3;
if (joyX == 0)
reduce--;
if (joyY == 0)
reduce--;
if (joyZ == 0)
reduce--;
else
reduce = 3;
if (reduce==0)
{
motor[mtrFL] = 0;
motor[mtrFR] = 0;
motor[mtrRL] = 0;
motor[mtrRR] = 0;
FR_X = RL_X = RR_X = FL_X = 0;
FR_Y = RL_Y = RR_Y = FL_Y = 0;
FR_Z = RL_Z = RR_Z = FL_Z = 0;
return;
}
else
{
FL_X = -joyX / reduce;
FL_Y = joyY / reduce;
FL_Z = joyZ / reduce;
}
X=FL_X; Y=FL_Y; Z=FL_Z;
RR_X = FL_X;
FR_X = -FL_X;
RL_X = -FL_X;
FR_Y = RL_Y = RR_Y = FL_Y;
RR_Z = -FL_Z;
FR_Z = -FL_Z;
RL_Z = FL_Z;
if (1==1)
{
motor[mtrFL] = FL = (FL_X + FL_Y + FL_Z);
motor[mtrFR] = FR = (FR_X + FR_Y + FR_Z);
motor[mtrRL] = RL = (RL_X + RL_Y + RL_Z);
motor[mtrRR] = RR = (RR_X + RR_Y + RR_Z);
}
}
|
|
#7
|
|||
|
|||
|
Re: crab drive vs. mecanum drive system
Quote:
|
|
#8
|
||||
|
||||
|
Re: crab drive vs. mecanum drive system
Quote:
|
|
#9
|
|||||
|
|||||
|
Re: crab drive vs. mecanum drive system
Quote:
|
|
#10
|
|||
|
|||
|
Re: crab drive vs. mecanum drive system
ohhhhhh, but if the wheels were placed at the corners, then the tradeoff would 100 % efficient going diagonally, correct?
|
|
#11
|
||||
|
||||
|
Re: crab drive vs. mecanum drive system
Quote:
y |_x frame of reference / \ \ / If you go in an X or Y direction, you're only getting one component of each motor's force. If you go diagonally (parallel to a wheel), you get only 2 of the 4 motors' force. |
|
#12
|
|||||
|
|||||
|
Re: crab drive vs. mecanum drive system
Quote:
Mecanum is simple to build (well, compared to Crab/Swerve), but the more complicated programming and driver training is one turn off, and the lack of traction is another. If somebody pushes your bot, it doesn't have the friction of normal traction wheels to prevent you getting pushed around everywhere. Add that in with the higher cost, and; though a cool system, there will be simpler, more reliable, and better ways to do it. Crab, while you get a lot more traction, is even more complex and cost-prohibitive than Mecanum; and it can't be switched to a traditional skid-steer setup with a simple change of the wheels and a little hacking of the code. I'm a fan of simple skid-steer 2, 4, or 6wd bots, especially "dropped center" bots since it helps them gain some agility while turning in place. 2wd drop-center 6-wheel bots are especially cool imo, as far as turning agility is concerned, since there's less drag to overcome from the "skid". Quote:
So yeah, it's unreasonable. ![]() |
|
#13
|
|||||
|
|||||
|
Re: crab drive vs. mecanum drive system
I'm a massive hypocrite, if you asked me what kind of base you should run, I'd say 99% of the time run a 6wd, 1% a crab, and never use holomonic or mecanum.
That being said, let me contradict myself. There is no perfect drive for all games. Your team must analyze the game, determine what the requirements are for your drive, and pick based on that. They all have benefits which come at varying costs. Even though I'm pretty darn sure we'll run a 6wd next season, my team will still stop and analyze to determine if it is really the best choice. A crab can be switched to a skid steer pretty easily in just about every application of it I've seen. Sure, it's obviously not the lightest and most efficient skid steer when in that mode, but it is equally as functional. |
|
#14
|
|||||
|
|||||
|
Re: crab drive vs. mecanum drive system
Quote:
But this is FRC, where we need to keep weight, simplicity, and practicality in mind. Not to mention, the inevitable increase in flex (solid axle to frame members vs. mounting via several seperate links) makes it even less efficient. I honestly can't see any practical reason why Crab would have huge advantages over a 6wd drop-center design. Especially not advantages that could be used as justification for the higher cost/longer build time/etc. |
|
#15
|
||||
|
||||
|
Re: crab drive vs. mecanum drive system
Quote:
Basically, a perfect crab is almost always better than a perfect mecanum. That said, omnidirectional motion isn't always required or optimal, and there are tradeoffs to using crab over a standard 6 wheel (mainly in turning, weight, etc) that make the decision nontrivial. And that's putting the building of said robots aside. Crab is very difficult to build for and even harder to program with. Mecanum is less challenging and if things go wrong you can theoretically just drop in 4 normal wheels. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Crab Drive | RMS11 | Robot Showcase | 46 | 05-09-2008 22:34 |
| pic: A closup view of our prototype worm-crab drive system. | AndyB | Extra Discussion | 6 | 20-01-2008 00:02 |
| mecanum drive system | Charger_07 | Technical Discussion | 5 | 23-01-2007 19:20 |
| pic: Jester Drive:Mecanum Wheel Drive Train | Ken Delaney 357 | Technical Discussion | 64 | 29-03-2006 22:16 |
| Crab Drive | Collin Fultz | Technical Discussion | 3 | 04-09-2002 16:35 |