Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   crab drive vs. mecanum drive system (http://www.chiefdelphi.com/forums/showthread.php?t=79258)

superbotman 09-12-2009 22:17

crab drive vs. mecanum drive system
 
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

Andrew Schreiber 09-12-2009 22:23

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by superbotman (Post 887195)
3. Use mecanum drive with one motor per side.

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.

big1boom 09-12-2009 22:24

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.

James Tonthat 09-12-2009 22:31

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.

daltore 09-12-2009 22:42

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by superbotman (Post 887195)
3. Use mecanum drive with one motor per side.

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.

James Tonthat 09-12-2009 22:58

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by daltore (Post 887202)
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.

Here's our RobotC code from 2008. There are a lot of lines and redundant variables for debugging.

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);
        }
}

Our team is going to try and prototype a swerve drive this winter break (before kickoff) but in all likeliness we were going to do 6WD. Reliability is greater than all. If you can't drive, you can't play. In all honesty, your team's resources will probably be better going toward a better arm or better autonomous than developing a crab drive. Mecanum has low traction which fit 2008's game as there were basically rules against defense, next year's game will/might include pushing matches.

Chris is me 09-12-2009 23:09

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by superbotman (Post 887195)
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

On a purely strategic level: (i.e. if you have a robot with a "perfect" crab drive and "perfect" mecanum drive side by side and you're deciding which to play in a match, in a fantasy scenario) A crab drive achieves omnidirectional motion while maintaining closer to 100% of motor force in the desired direction of movement, and with the benefit of traction in all directions to prevent easy pushing and spinning. A mecanum system achieves omnidirectional movement without module rotation at the expense of some motor efficiency (going straight forward only uses ~70% of motor force) and less traction / more vulnerability to being spun.

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.

EricH 09-12-2009 23:23

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by superbotman (Post 887195)
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

Crab is tough to build, though there are now swerve modules available. Needs a customized frame and coding. Also note that there are two types: coaxial and non-coaxial, each of which has its own unique challenges.

Mecanum drive is simpler in the frame (KOP frame works), but you need to make sure the wheels are tuned right. I'm going to have to disagree with daltore on the diagonal, though--we never saw anything when we tested our set back in 2005. A MAJOR pro here is that if it doesn't work, you grab 4 wheels from the parts box and slap them in, then remove the sideways code, and you have 4WD.

Mecanum with only one motor per side is impossible. Omnidrive (4-wheel) gives one motor per wheel, one wheel per side, or something of that sort.

Many teams use a 6WD with either a dropped center wheel or omnis on one end or the other. That's the simplest, and the KOP frame is set up to handle it already.

At this point, though, you're about out of time to prototype anything other than a 4WD or 6WD, unless you get an order in to AM immediately.

There is one other consideration, however:
We don't know the game yet, and you're choosing a drive to use for the game. Stop. Think about it. You could be investing hundreds of dollars in a system that won't fit the game at all. Or something like happened this year, where mecanum wheels and omni wheels couldn't be used.

If you go ahead and try any of these systems, do it as a prototype in the offseason (the month left of it, or the next one) to get the hang of it, then build it for the competition season following that when you actually know what you're doing. Can you do it during the build season? Probably. Can you do much else? Probably not.

I know that when 330 tried their set of mecanums during build season, we already had a couple of years of small-scale testing under our belts, and a full-size backup that we could literally swap in a few minutes. (I'm talking VEX scale here--the EDUbot was great for that!) We had code, we had wheels made after Kickoff, we had the Kit frame rigged for mecanum pretty quickly, and we had a 6WD drop center on the competition frame. Last week of build, we had a decision meeting, did some final testing, and the mecanums lost to the 6WD drop center. If we ever try mecanums again, we'll be almost ready to go. That's why you prototype. But if you lock into a drive now, you might not be able to change when you realize that being able to dodge around opponents isn't going to help you this year, or that you really want that extra maneuverability, or this, or that. Seriously, don't lock in now.

Chris is me 09-12-2009 23:48

Re: crab drive vs. mecanum drive system
 
Oh, and my two cents: I've personally never seen an FRC game where, in my opinion, a mecanum drive's advantages outweighed its disadvantages compared to a 6 wheel system

AdamHeard 09-12-2009 23:54

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by Chris is me (Post 887212)
Oh, and my two cents: I've personally never seen an FRC game where, in my opinion, a mecanum drive's drawbacks didn't outweigh its benefits over a 6 wheel.

Definitely Debatable.

CraigHickman 10-12-2009 00:00

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by AdamHeard (Post 887213)
Definitely Debatable.

You're debating that he hasn't seen one where it's beneficial?

Chris is me 10-12-2009 00:42

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by CraigHickman (Post 887215)
You're debating that he hasn't seen one where it's beneficial?

I think he's debating my opinion, not whether or not I have my opinion.

2001 doesn't count.

(By the way, my post's wording SUCKS and was EXACTLY the opposite of what I meant, sorry. I meant 6wd > mecanum, not other way around.)

Vikesrock 10-12-2009 00:55

Re: crab drive vs. mecanum drive system
 
something to keep in mind for those responding specifically to the OP, team 2169 had crab drive on their 2009 robot.

I think it is important to wait for the game before making a decision between the two drive systems. I also think it would be wise to keep simpler alternatives on the table.

After analyzing the game and deciding on what role you want your robot to play you can list out what drive capabilities you need to best accomplish that role. This should make it much easier to determine what drive system you want to go with.

I saw at least a few swerve drives in 2009 that did not appear to contribute to the team's strategy. I would make sure you have a reason before you expend the effort, weight and increased complexity to build a swerve drive.

dtengineering 10-12-2009 02:09

Re: crab drive vs. mecanum drive system
 
The decision to build an omni-directional drive train... however you do it... doesn't have to be based solely upon what is best for winning the game.

It should be based on what is best for your team.

Rarely have I ever seen a truly dominant robot dominate because it has an omni-direction drive system. In fact, given our experience with a mecanum system, the additional degree of freedom actually makes the robot slightly more difficult to drive and it takes longer for the driver to learn to use the ability productively... until then it just makes it more complex to drive.

However, if you have a dedicated, well-balanced team with solid machining and programming abilities and are looking for a challenge... especially if you haven't built an omni-drive robot yet... then consider building one just because it is something cool and technically challenging that you have yet to do!

Omni-bots are really, really cool whatever method you use to achieve the goal.

Jason

AdamHeard 10-12-2009 02:27

Re: crab drive vs. mecanum drive system
 
Quote:

Originally Posted by Chris is me (Post 887219)
I think he's debating my opinion, not whether or not I have my opinion.

2001 doesn't count.

(By the way, my post's wording SUCKS and was EXACTLY the opposite of what I meant, sorry. I meant 6wd > mecanum, not other way around.)

My apologies then, 6WD is the way to go usually.


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

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