Go to Post Attitudes in one part of life tend to carry over to others. - Wetzel [more]
Home
Go Back   Chief Delphi > Technical > Technical Discussion
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
View Poll Results: What Drive Style do you use?
Tank Drive 32 52.46%
Arcade Drive 17 27.87%
Other 12 19.67%
Voters: 61. You may not vote on this poll

Closed Thread
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 13-06-2015, 21:15
wireties's Avatar
wireties wireties is offline
Principal Engineer
AKA: Keith Buchanan
FRC #1296 (Full Metal Jackets)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2004
Location: Rockwall, TX
Posts: 1,170
wireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond reputewireties has a reputation beyond repute
Send a message via AIM to wireties
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
__________________
Fast, cheap or working - pick any two!
  #17   Spotlight this post!  
Unread 14-06-2015, 00:46
Rachel Lim Rachel Lim is offline
Registered User
FRC #1868 (Space Cookies)
Team Role: Student
 
Join Date: Sep 2014
Rookie Year: 2014
Location: Moffett Field
Posts: 252
Rachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond reputeRachel Lim has a reputation beyond repute
Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform

Quote:
Originally Posted by Ether View Post
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 View Post
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.
  #18   Spotlight this post!  
Unread 14-06-2015, 01:02
Jalerre's Avatar
Jalerre Jalerre is offline
Registered User
FRC #4965 (FIRE)
Team Role: Alumni
 
Join Date: Apr 2014
Rookie Year: 2013
Location: Anderson, SC
Posts: 147
Jalerre is on a distinguished road
Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform

Quote:
Originally Posted by Ether View Post
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.
__________________
Vex
2013: 415 - Fabrication, Programming, Electrical
2014: 415D - Captain, Programming Lead
FTC
2014: 7354 - Programming Lead
FRC
2013: 415 - Safety Animation, Fabrication
2014-2015: 4965 - Programming & Electrical
2016: 4965 - Captain, Programming Lead, Electrical
  #19   Spotlight this post!  
Unread 14-06-2015, 01:28
AustinSchuh AustinSchuh is offline
Registered User
FRC #0971 (Spartan Robotics) #254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 1999
Location: Los Altos, CA
Posts: 803
AustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond repute
Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform

Quote:
Originally Posted by wireties View Post
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.
  #20   Spotlight this post!  
Unread 14-06-2015, 03:05
Thad House Thad House is offline
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,099
Thad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond repute
Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform

Quote:
Originally Posted by AustinSchuh View Post
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.
__________________
All statements made are my own and not the feelings of any of my affiliated teams.
Teams 1510 and 2898 - Student 2010-2012
Team 4488 - Mentor 2013-2016
Co-developer of RobotDotNet, a .NET port of the WPILib.
  #21   Spotlight this post!  
Unread 14-06-2015, 10:37
GeeTwo's Avatar
GeeTwo GeeTwo is offline
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,654
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: Tank Drive VS Arcade Drive on a Skid-Steer Platform

Quote:
Originally Posted by AustinSchuh View Post
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.
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.

Last edited by GeeTwo : 14-06-2015 at 10:42. Reason: fix quote
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 11:53.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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