Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   Tank Drive VS Arcade Drive on a Skid-Steer Platform (http://www.chiefdelphi.com/forums/showthread.php?t=137502)

JoeyD 12-06-2015 23:39

Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
So I am wondering what drive styles everyone was using this year with a skid-steer or fishtail drivetrain. I have generally found tank to be better for maneuverability while arcade provides long smooth arcs for long open fields.

What did you use and why?

Edit: I am thinking of all of this in the sense of this year's game, Recycle Rush.

Electronica1 12-06-2015 23:46

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Split arcade/Halo/ what ever 610 was calling it is by far the best drive set up I have seen for skid-steer and omni-directional platforms.

(joystick controls forward and backward, the other joystick controls turning)

The controls feel incredibly natural to use. Plus if your driver has played a FPS, then they have already been practicing it for a while without knowing it.

GeeTwo 13-06-2015 01:21

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
We usually do tank drive if either all of the controls other than driving are "push button", or if we have a separate "shooter" driver. This year, we didn't get the "push button" controls on the lift worked out, so we did arcade for drive and another joystick/hand for the lift.

AustinSchuh 13-06-2015 03:59

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by JoeyD (Post 1486618)
So I am wondering what drive styles everyone was using this year with a skid-steer or fishtail drivetrain. I have generally found tank to be better for maneuverability while arcade provides long smooth arcs for long open fields.

What did you use and why?

Edit: I am thinking of all of this in the sense of this year's game, Recycle Rush.

Chezy drive, same as 254. It has worked well for 971 for the last 8 years, and 254 for longer. Our driver knows how to drive it, and it works well for precise motion and fast motion. Maneuverability is all about the gains on your input devices, the tuning, and practice.

Every time I see someone try to drive a fast robot well with tank drive, I can tell from their driving style. A little part of me always dies...

Thad House 13-06-2015 05:56

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
We used cheesy drive in 2012-2014, and absolutely loved it. Hopefully we go back to normal drive trains next year, so we can use it again. I miss our 6wd WCD :(

You definitely have to spend time messing with the gains though. It makes a large difference for sure.

JoeyD 13-06-2015 06:43

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
To those who do not use either Tank or Arcade, would you please share what you do use?

carpedav000 13-06-2015 11:10

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by Thad House (Post 1486642)
I miss our 6wd WCD

And I miss our 2-speed 8wd from last year (even though it was tank drive and you had to go low gear to turn) :yikes:

To answer Joey's question. I dont know what drive style we used for this years mecanum, but its weird (I dont think its tank or arcade)

Electronica1 13-06-2015 11:42

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by JoeyD (Post 1486644)
To those who do not use either Tank or Arcade, would you please share what you do use?

At least for me, I was saying that split arcade/halo was different than standard arcade.

Ether 13-06-2015 11:52

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by carpedav000 (Post 1486660)
I dont know what drive style we used for this years mecanum, but its weird (I dont think its tank or arcade)

I would hope it's not simply tank or arcade. That would kinda defeat the purpose of mecanum.

There do however exist driver interfaces which use a supplemented tank or arcade with mecanum.

For example, you could use the (normally unused) tank joystick X axes for strafe.

Or you could use a second joystick with arcade for strafing.

Or you could use Joystick1 for fwd/rev and strafe right/left, and Joystick2 for turning.



carpedav000 13-06-2015 13:48

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by Ether (Post 1486664)

Or you could use Joystick1 for fwd/rev and strafe right/left, and Joystick2 for turning.



I think thats it.

BrennanB 13-06-2015 14:52

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by JoeyD (Post 1486618)
So I am wondering what drive styles everyone was using this year with a skid-steer or fishtail drivetrain. I have generally found tank to be better for maneuverability while arcade provides long smooth arcs for long open fields.

What did you use and why?

Edit: I am thinking of all of this in the sense of this year's game, Recycle Rush.

I personally am addicted to tank drive. I love the way it gives you control of the robot, and as a result 4476 has been able to do some cool things on the field. I've played with arcade and split arcade plenty, but personally love the absolute control you have with tank. Never used cheesy drive, max speed of a robot that I have driven in 14 ft/s

I have always been an advocate of whatever the driver wants. I have seen plenty of drivers rip it out on the field. Ultimately, use whatever makes your driver the best.

wireties 13-06-2015 16:39

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Exactly what is "Cheezy drive"? I know all about WCD - am wondering about the control scheme. What makes it different from tank or the various arcade variants?

TIA

Rachel Lim 13-06-2015 20:41

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by wireties (Post 1486677)
Exactly what is "Cheezy drive"? I know all about WCD - am wondering about the control scheme. What makes it different from tank or the various arcade variants?

TIA

Cheesy drive / split arcade drive / halo drive / Kaj drive / FPS drive uses one joystick to control forward/backward motion and the other for rotation.

(I believe tank arcade has one joystick for all directions (push sideways to turn) and arcade tank uses one joystick for each side (e.g. left joystick controls left set of wheels))

Edit: fixed mixed up definitions; thanks Ether.

carpedav000 13-06-2015 20:52

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by Rachel Lim (Post 1486689)
Cheesy drive / split arcade drive / halo drive / Kaj drive / FPS drive uses one joystick to control forward/backward motion and the other for rotation.

(I believe tank has one joystick for all directions (push sideways to turn) and arcade uses one joystick for each side (e.g. left joystick controls left set of wheels))

In that case... I love chezy drive! We used it for FTC this year (on our skid-steer robot) and it was phenominal!

Ether 13-06-2015 21:01

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by Rachel Lim (Post 1486689)
(I believe tank has one joystick for all directions (push sideways to turn) and arcade uses one joystick for each side (e.g. left joystick controls left set of wheels))

It's the other way around.




wireties 13-06-2015 21:15

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
So "Cheezy Drive" is really just split arcade like a lot of game controllers (where normal arcade Y is on one joystick and normal arcade X is on a second joystick)? I suspect they also do something special when Y input is zero and X non-zero to spin in place?

BTW, tank drive is also two joysticks where one joystick moves the left side wheels and second joystick moves the right side wheels.

Thanks

Rachel Lim 14-06-2015 00:46

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by Ether (Post 1486692)
It's the other way around.

That's what I get for posting on a phone and not double checking what I write...thanks for correcting that.

Quote:

Originally Posted by wireties (Post 1486694)
So "Cheezy Drive" is really just split arcade like a lot of game controllers (where normal arcade Y is on one joystick and normal arcade X is on a second joystick)? I suspect they also do something special when Y input is zero and X non-zero to spin in place?

As far as I know, yes. I believe the similarity to FPS games is one of the reasons many people like it--this is just what I've heard though, as I'm not our driver. If I remember correctly, in 2014 (we didn't do WCD this year) we used one of the buttons on the joysticks for turning in place. Trying to turn without pressing that button didn't do anything unless you were also going forward or backward.

Jalerre 14-06-2015 01:02

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by Ether (Post 1486664)
I would hope it's not simply tank or arcade. That would kinda defeat the purpose of mecanum.

There do however exist driver interfaces which use a supplemented tank or arcade with mecanum.

For example, you could use the (normally unused) tank joystick X axes for strafe.

Or you could use a second joystick with arcade for strafing.

Or you could use Joystick1 for fwd/rev and strafe right/left, and Joystick2 for turning.



In the past we have used the joysticks for tank drive and the triggers for strafing. This year however we used arcade with a flightstick.

AustinSchuh 14-06-2015 01:28

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by wireties (Post 1486694)
So "Cheezy Drive" is really just split arcade like a lot of game controllers (where normal arcade Y is on one joystick and normal arcade X is on a second joystick)? I suspect they also do something special when Y input is zero and X non-zero to spin in place?

What you described is split arcade. Arcade is where X (or Y, I always get them mixed up) controls the power to apply to both sides, and the other axis controls the difference in power to apply to the wheels.

Code:

Vl = throttle + steering;
Vr = throttle - steering;

Cheezy Drive is split arcade on steroids. It can best be described as making your robot drive like a car. This has the side effect of not letting you turn in place, so there is a button that when held bypasses the car steering part and switches back to split arcade. This button is called 'Quick Turn'.

Code:

adjusted_wheel = SensitivityRemap(wheel);
Vl = throttle + adjusted_wheel * abs(throttle) + inertia compensation terms;
Vr = throttle - adjusted_wheel * abs(throttle) - inertia compensation terms;

The end result is that when the robot is tuned properly, it feels consistent through a wide range of motions. The robot reacts the same to the joystick inputs at high and low speeds. Arcade has the problem that when you want to drive in an arc at slower speeds, you end up over-steering since you need to only use a small range of stick movements to get the turns you want. The inertia compensation terms add extra power to start the robot turning and stop it again when the wheel angle changes. This helps the robot feel 'psychic' and start turning as the driver starts demanding a turn, not after.

Thad House 14-06-2015 03:05

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by AustinSchuh (Post 1486724)
What you described is split arcade. Arcade is where X (or Y, I always get them mixed up) controls the power to apply to both sides, and the other axis controls the difference in power to apply to the wheels.

Code:

Vl = throttle + steering;
Vr = throttle - steering;

Cheezy Drive is split arcade on steroids. It can best be described as making your robot drive like a car. This has the side effect of not letting you turn in place, so there is a button that when held bypasses the car steering part and switches back to split arcade. This button is called 'Quick Turn'.

Code:

adjusted_wheel = SensitivityRemap(wheel);
Vl = throttle + adjusted_wheel * abs(throttle) + inertia compensation terms;
Vr = throttle - adjusted_wheel * abs(throttle) - inertia compensation terms;

The end result is that when the robot is tuned properly, it feels consistent through a wide range of motions. The robot reacts the same to the joystick inputs at high and low speeds. Arcade has the problem that when you want to drive in an arc at slower speeds, you end up over-steering since you need to only use a small range of stick movements to get the turns you want. The inertia compensation terms add extra power to start the robot turning and stop it again when the wheel angle changes. This helps the robot feel 'psychic' and start turning as the driver starts demanding a turn, not after.

One thing to note is that some teams, including us, have actually made it so if the throttle is in a certain deadzone it automatically turns on QuickTurn. For instance, we use the xbox controller, which has a 0.2 deadzone anyway. So we just have it if the throttle is within that deadzone, QuickTurn is on. That way turning in place doesn't change compared to arcade drive.

GeeTwo 14-06-2015 10:37

Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform
 
Quote:

Originally Posted by AustinSchuh (Post 1486724)
Cheezy Drive is split arcade on steroids.

Code:

adjusted_wheel = SensitivityRemap(wheel);
Vl = throttle + adjusted_wheel * abs(throttle) + inertia compensation terms;
Vr = throttle - adjusted_wheel * abs(throttle) - inertia compensation terms;


Not knowing the details of SensitivityRemap(wheel), or even what "wheel" is in this context, I can't be certain, but it sounds similar the 3-axis joystick control I did for a tiny swerve drive robot a few years back. The X/Y joystick controlled translational motion. The Z "twist" axis controlled rotation -- not in terms of angular speed (RPM), but in terms of curvature. That is, the radius of curvature was inversely proportional to the amount of twist on the joystick. I did not use any inertia compensation terms.

This setup also had an override for spinning, as Thad decribes. When both X and Y were in the dead band, Z was interpreted in terms of desired angular speed.


All times are GMT -5. The time now is 03:16.

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