VEX / FRC hybrid swerve drive

For the FRC Team 1640 - 2009 Summer Program they build a swerve drive base using VEX parts and the cRio controller. The software has four modes:
*]Tank drive - standard tank / skid drive
*]Automobile drive - 4 driven wheels, the front two pivot the back two remain stationary
*]Crab drive - all four wheels pivot in the same direction
*]Snake drive - all four wheels pivot, front two turn in the opposite way from the back
As expected, the tank drive and the automobile drive are less effective than the crab and snake modes.

If you look at the pictures you can see the reinforcements to allow an axle to be used as the shaft and to reduce the wheel assembly wobble.

The cRio controller was used to give the FRC programming team practice and to serve as the base code for this winter’s robot. All of the project details are on the page, if anyone wants the cRio code let me know and I’ll get it to you.

Fall projects are to:
*]Replace the rubber wheels with omni wheels to see if we can improve tank and automobile modes
**]Omni wheels will also allow a holonomic mode that we can try out.
*]Program the base with the VEX controller and RobotC
*]Program the base with the new VEX controller as a proof of concept

We will also be using the base for our robot demo’s this fall.

this is a great design
however; it uses up 8 moters/servos
it would be hard to construst a good pick-up/drop-off mechanism with only 2 motors

IIRC, the cRIO has a few more Motor ports than the Standard Vex Controller.

Great Job!

Thanks for putting all of the information, drawings, and photos of your project on your team’s wiki page. It gave me some ideas for a swerve drive robot of my own - I’m just not sure about the programming though.

That is a problem, but I suppose you could use pneumatics. Of course, you might not need all of the modes they had so you might not have to move each wheel assembly individually. That might save you a couple of more motors.

I believe the new VEX mircocontrollers coming out have more motor ports too, but the rules for Clean Sweep still limit you to 10 motors though.

The base was built more as a proof for the FRC team for swerve drive programming. The cRio controls more than 8 motors, but if we were to do this for a Vex competition it would only leave two motors for game play.

with this kind of a design yes, but remember, all the outside motors really only need to be 1 motor, you could run chain all around it (definitely the heavy duty chain) with only 1 motor turning them, this would make them all turn at the same speed and give you 3 more motors. now, this might be hard on that 1 motor, so you could easily put 1 motor on 1 side and 1 motor on the other, that still gives you 2 more motors to work with so you would have 4 motors to use on anything else, which i would think would be enough.

Actually the driven wheels need two motors, one for each side. When you are turning in snake mode, the inside wheels turn slower than the outside wheels. So using the large chain to drive the wheels would take two motors, then four to pivot the wheels.

well, yes, if you use a snake drive, but i was talking about if you just used a crab drive.

You two might be talking past each other. I think one of you is writing about using chains to rotate the orientation of the wheels; and I think the other is writing about using chain to make the wheel roll along the ground.

Using chain for controlling the orientation = feasible (especially for a crab).

Using chain to drive wheels (to move the robot) that aren’t lined up single-file is going to be tough. The chain won’t flex when the wheels’ orientations change.


how do u make the automobile drive with only 1 servo and w/o a swerve kit.

Automobiles have a variation of what is called Ackerman Steering.

You can bend the Vex Metal to make the equivalent of the Swerve Kit Metal or maybe use something like the Bearing Block, but the Bottom Line is you need to make the Wheels Pivot, Perpendicular to the Axle Rotation.