Tank drive.... with omnis

My team swapped the tank drive that previously had 6" coulsons on it and with 4 omni wheels in the front and back because it was not reacting to defense the way we want it to. After doing this the bot could evade defenders by being pushed by them and then outmaneuvering however in overall performance it was lacking, especially control. Have any other teams done this or are we wasting our time? I think 3310 had something like this last year. Any help or suggestions are much appreciated. Thanks!

We swapped to omnis our our 2013 tank drive. Now we are not allowed to talk about 2013.

Seriously, if you plan on using omnis, at least use them with colsons to keep traction

Yes, other teams have done this. 3310 did this last year for the same reason you made the change; 6 wheel traction can get t-boned very easily, whereas all omni will just glide away. This is a good thing, but the drawback is that when scoring, you are a good target for defense as teams can simply push you sideways. In terms of control, your driver is going to have to get used to it. It is much easier to drift (and spin out of control) with omnis, and your driver can use this to their advantage. If you end up keeping the change, make sure you give your driver as much time as possible on the sticks, especially if they have been practicing with colsons.

We’re going with 4 6" omnis this year: https://www.chiefdelphi.com/forums/showthread.php?t=163039

Our driver has really liked it, but as Ryan notes, it definitely took some practice time to get used to. We’ve done some tuning with the controls as well to modify turning speeds to get them more controllable. You want to make sure you’re able to use the drifting to your advantage, not that it becomes a hindrance.

A two-speed gearbox has also helped with that; whenever the bot is in high gear, we shift into curvature-based drive rather than standard arcade/tank style drive (so that the turn stick controls curvature, not direct robot rotation) - this has made the bot a lot more controllable at high speeds.

I know 3847 looks like they’re going for 4 omnis as well this year - you can check out their blog for some pictures.

Our driver has really liked it, but as Ryan notes, it definitely took some practice time to get used to. We’ve done some tuning with the controls as well to modify turning speeds to get them more controllable. You want to make sure you’re able to use the drifting to your advantage, not that it becomes a hindrance.

Could you pm or post specifics of how you modified the controls? Thank you for your response

[quote=theopolisme;
]

Are there any examples of this in a video or something we could take a look at?[/quote]

In 2014 33 used all omni and they were amazing. I don’t know how well all omni will work this year compared to 2014, but having safe zones should make you less susceptible to defense. Better get practice in!

What “drifting” are you talking about, and how would you go about using it to your advantage?

They work especially well in games where you’re going to be taking hard collisions(2014, 2017) or where your robot CG is high and you don’t want to get pushed over (148 in 2013). As long as scoring has a safe zone or is hidden you don’t really have to worry about getting pushed as you score.

Make sure you have your drive motor controllers set to brake mode. In coast mode, turning is very sluggish.

I believe he’s referring to the capability of a 4-omni drivetrain to do a “spin and slide” maneuver, which would be similar to a car “drifting” a corner.

If there’s a traction wheel in the drivetrain, it’s much harder to pull that maneuver off.

There are a few advantages that I can think of, and a few disadvantages…

Yes, exactly. Here’s a video I found with a quick Google search that shows this general drivetrain “drift” behavior (albeit exaggerated for effect): https://www.youtube.com/watch?v=GhVUHnkIQRk

We’ve found that our drivers with practice are able to use this behavior to quickly turn and “slide” into scoring positions rather than need to back up, turn, and reorient for simple lateral translational movements, which has cut down cycle times.

Which robot in the video are you referring to ?

I don’t have any video onhand, but check out the DifferentialDrive#curvatureDrive](http://first.wpi.edu/FRC/roborio/beta/docs/java/edu/wpi/first/wpilibj/drive/DifferentialDrive.html#curvatureDrive-double-double-boolean-) method documentation – it’s pretty easy to drop into your existing codebase to try out and play around with.

The main tuning we did was robot-specific, in order to adjust the thresholding for curvature levels so as not to oversteer.

3467 throughout (e.g. at 0:10-0:14 and onwards). This behavior does not occur with a standard non-omni tank drive; the omni rollers allow the bot to continue translating sideways.