Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   Drive Train Controls (http://www.chiefdelphi.com/forums/showthread.php?t=148416)

PMotor 13-05-2016 23:50

Drive Train Controls
 
Since offseason is usually a time for experimentation and preparing for the next season, our team has decided to consider a new way to control our robot. We have stuck with tank drive controls (Left joystick controls forward and reverse motion of left drive train while right joystick controls forward and reverse motion of right drive train) for 16 years now. We prefer building our bot with a wheeled tank drive train. Our current driver who is retiring this year due to graduation has been using tank drive controls and said he is capable of passing down some cool tips and tricks with tank drive controls but does not have experience with any other controls leaving new drivers in the dust if they wish to learn a different drive.

Should we invest time into having our new driver learn different drive train controls or should we stick with tank drive controls since they are pretty universal? If we were to implement a new type of drive train control like arcade drive (which is under consideration), what wheels, chassis, speeds, etc should we use and what should we not use?

If you have a unique way of controlling your tank drive train bot or want to emphasize the effectiveness of a drive train control that we should use then feel free to share since we are currently open to all suggestions.

Lireal 14-05-2016 00:01

Re: Drive Train Controls
 
We have always used arcade drive. It will work with any type of tank drive chassis, and is very intuitive for new students to learn.

Landonh12 14-05-2016 00:05

Re: Drive Train Controls
 
Well, in my experience, we've always gotten the most control out of using tank drive, as you can individually steer each side of the drivetrain.

Though, there are other options, such as:

Arcade drive
Split-Joystick Arcade Drive
Steering Wheel w/ Joystick Throttle

You can try these and see which one fits best for you, or you could come up with your own.

thatprogrammer 14-05-2016 00:17

Re: Drive Train Controls
 
I would recommend switching to arcade drive for a number of reasons.
  • If your drivers play first person video games, they are most likely used to controlling themselves in the same in the same way that split arcade drive works (where you put rotate on 1 stick and back/forward on the other).
  • Arcade drive allows you to control your rotate speed independent of your forward speed. This can be used to do some slick maneuvers.
  • Tank Drive (unless you do some programming magic) often results in it being difficult to drive straight (as both sides won't be at exactly the same speed).
  • Tank Drive is not intuitive to new drivers from what I've seen at the demos we've done.
If you're interested in more advanced stuff, check out 254's cheesy drive [https://github.com/Team254/FRC-2014/...veHelper.java] or wait for 971 to release their new closed-loop drive system (their code release should be rather soon.)

domi 14-05-2016 01:12

Re: Drive Train Controls
 
I would also recommend arcade drive but, it usually down to if you guys are comfortable with that or want to keep tank drive.

Lili_1868 14-05-2016 01:28

Re: Drive Train Controls
 
Our team uses arcade drive. We have both arcade and tank coded, and if the driver wishes to, they can flip a switch that puts it into tank drive. Having the option of tank was helpful when we were going over certain defenses. But in general, we're normally driving in arcade. This year we had a west coast drive with eight pneumatic wheels.

Blevenson 14-05-2016 02:59

Re: Drive Train Controls
 
Like most driving controls, the real concern lies with the driver. Like you, we added fancy drive controls over the summer, however, when the drivers started using it they realized that the "fanciness" was taking them out of the moment. But, this is also very subjective as it varied between our two drive teams. With a new driver I would recommend starting with a really basic control scheme, like tank drive, and then talk with the driver to modify it to fit what they want. We ended up stripping down cheesy drive, because the negative inertia was annoying the drivers, so it is now a fairly simple two stick arcade scheme: one joystick is heading, and the other is throttle.

If you are interested in experimenting over the summer, try adding sensors to help the driver, like correcting heading deviations when attempting to drive straight.

ZamericaZ 14-05-2016 07:27

Re: Drive Train Controls
 
Our team has tried multiple different controls and in the end it comes down to driver preference, if you haven't already decided some new driver candidates I'd check out this article https://frcdesigns.com/2016/01/08/ke...vis-covington/

I would definitely recommend trying out different control systems and see which type your driver prefers, it's would also be a good chance to get some more programing experience. We have used tank (left joystick controls left, right controls right), arcade (one joystick controls the whole drive train), and a power throttle (one joystick controls direction, the other controls speed).

Our 2014 driver was amazing with tank and 2 of the Logitech extreme joysticks, our current driver prefers arcade since he got lots of practice with it last year, and we had a offseason robot between 2014-2015 with power throttle and that thing was so much fun to drive but it's not something anyone can pickup and do. Here's the thread about that offseason robot: http://www.chiefdelphi.com/forums/sh...d.php?t=131060

thatprogrammer 14-05-2016 10:30

Re: Drive Train Controls
 
Here's an additional thing you may not have considered. Many teams use steering wheels and arcade drive in order to have very smooth, continuous turns and prevent the driver from "jerking" while changing direction and slowing down acceleration. This lack of stopping while changing direction means that you keep accelerating, which, depending on your gearing, could save you a vital second or 2 if you are doing a full field run!
My team hasn't ever tried this, but we are considering trying it out after talking to 1678 and 971 at world's who seemed to like it very much. Austin Schuh from 971 is probably the best guy to talk to about this if you'd like more information on how they do it.
More important than whatever drive system you use is that your driver gets PLENTY of time to practice. Allow your driver to use the same system again and again until they can smoothly do anything on the field without being confused or not doing what they want in a smooth manner. The enemy of an efficient driver is an inability to do what they desire easily.

cbale2000 14-05-2016 12:47

Re: Drive Train Controls
 
Quote:

Originally Posted by thatprogrammer (Post 1586594)
  • Tank Drive (unless you do some programming magic) often results in it being difficult to drive straight (as both sides won't be at exactly the same speed).

A problem easily resolved with automatic encoder correction code (to correct for inconsistency in drive base resistances and joystick output), and driver practice.

We've used "Tank Style" drive controls for at least 12 years now and haven't looked back. We tried arcade drive on a practice bot briefly a few years ago to test some code and almost immediately changed it. You just don't get the same level of control on a one joystick arcade drive as you do with a two joystick tank drive. For that matter, I would even argue specifically for joystick-based tank drive... We used a Logitech gamepad controller a few years back, and while the drivers were more familiar with it, you still didn't get the same level of control-ability (especially for precise maneuvering) as you do with joysticks. That said, game controllers are great for demos due to their portability.

Lij2015 14-05-2016 12:51

Re: Drive Train Controls
 
I'm a huge fan of splitting arcade drive between to joysticks on a game controller, get the Y axis of the left joystick and the X axis of the right. This makes it to where pretty much anyone can drive the robot semi-okay without needing a whole lot of practice as it pretty much drives like a vehicle in a video game.

You can still build your same style of robot with two sets of non-strafing wheels on each side, and the controls will take care of it.

I'm also a huge fan of game pad's because when I was driving I played a lot of video games (still do however) and the controller just felt comfortable.

thatprogrammer 14-05-2016 13:24

Re: Drive Train Controls
 
Quote:

Originally Posted by cbale2000 (Post 1586645)
A problem easily resolved with automatic encoder correction code (to correct for inconsistency in drive base resistances and joystick output), and driver practice.

We've used "Tank Style" drive controls for at least 12 years now and haven't looked back. We tried arcade drive on a practice bot briefly a few years ago to test some code and almost immediately changed it. You just don't get the same level of control on a one joystick arcade drive as you do with a two joystick tank drive. For that matter, I would even argue specifically for joystick-based tank drive... We used a Logitech gamepad controller a few years back, and while the drivers were more familiar with it, you still didn't get the same level of control-ability (especially for precise maneuvering) as you do with joysticks. That said, game controllers are great for demos due to their portability.

Our drivers didn't enjoy 1 stick arcade drive at all! Have you ever attempted to use split arcade drive (where 1 stick controls rotation and the other controls forward and backwards speed)? I have found that to allow more control than tank drive.

Landonh12 14-05-2016 16:06

Re: Drive Train Controls
 
Quote:

Originally Posted by thatprogrammer (Post 1586648)
Our drivers didn't enjoy 1 stick arcade drive at all! Have you ever attempted to use split arcade drive (where 1 stick controls rotation and the other controls forward and backwards speed)? I have found that to allow more control than tank drive.

^

Split-Joystick arcade is much better than 1 joystick arcade. It is much harder to drive straight on 1 joystick. From there it's just personal preference.

Lij2015 14-05-2016 16:20

Re: Drive Train Controls
 
Quote:

Originally Posted by Landonh12 (Post 1586672)
^

Split-Joystick arcade is much better than 1 joystick arcade. It is much harder to drive straight on 1 joystick. From there it's just personal preference.

The only reason I can think of to do 1 stick is if you plan to give your one driver all the controls to the robot and want to give him another set of controls in their other hand.

Ether 14-05-2016 16:23

Re: Drive Train Controls
 

Take a look at GYGS. It's quite fun to drive.

Or if you have swerve, omni, or mec, Halo-AR is even more fun.




zinthorne 15-05-2016 02:12

Re: Drive Train Controls
 
So I have been a driver for 3 seasons. Sadly I'm graduating so I'm done:( Anyways I have tried joystick, tank, and my own version of arcade drive. I was absolute junk at tank drive. Maybe it was just lack of practice, but I fealt almost no precise control at all. The robot fealt jerky and it was difficult to drive straight. Joystick was okay. I did not enjoy it very much. We used a 3 axis so it was hard to drive straight without turning. I also fealt restricted in the buttons I could use. The last 2 seasons I drove with arcade version. I have done both two stick driving where one stick does forward and back and the other turns. The other is my favorite style. See below

I use an Xbox one controller. The left stick controls left and right and the triggers are for driving. Left trigger for reverse and right trigger for forward. It works great for me because I can drive straight because both sides of the drivetrain are powered at the same time. It also gives me smooth turning ability. You can also do some fancy things with triggers and turning combinations for some nice maneuvers. I find driving with two triggers easier than the second stick because it gives me more precise movement, the other is button usage. I used 13 buttons on the Xbox one controller not including the triggers or the sticks. We ran out of buttons so we had to program an extra "button" at 45 degrees on the d-pad. I will tell you it's a nightmare trying to hit 45 degrees on that thing while driving full speed and turning on the field. My right thumb had to fly around the controls this year having to be able to hit 11 buttons at any time. I did in fact use all the buttons. There was even a time or two where I hit the right bumper with my right thumb. Hopefully you read this whole thing and it helps.

I would reccomend arcade any day of the week. I believe the reason I like the trigger style more is because I used to play Forza 4 a ton, and that is the stile of driving It uses.


All times are GMT -5. The time now is 20:43.

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