Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   Custom Driver Stations (http://www.chiefdelphi.com/forums/showthread.php?t=136459)

SeanFitz 07-04-2015 22:17

Custom Driver Stations
 
As a driver, I've always used a simple control scheme with everything on one XBOX controller. I guess I just find it easier to use, and only me driving eliminates any communication problems that could come between having two drivers.

But I'm curious about teams that use other Driver Stations. How well do they work? Are there any communication problems between your drivers? How well do the custom driver stations with all the buttons work? Does anyone feel as though there is an advantage to a certain version versus another?

As a follow up, how to you guys control your robots? I.E. What controllers, arcade vs. tank vs. custom, stuff like that.

DarkRune 08-04-2015 00:42

Re: Custom Driver Stations
 
We had two separate control methods for our robot this year. We were running an octocanum drive train.
we had two buttons for switching all 4 wheels sets between traction and mecanum. Top button was mecanum, bottom was traction.
Two buttons to deploy the back two traction wheels only when we drove up onto the platform. This leveled us off with the ground and helped with scoring.
Traction wheels were driven in tank
Mecanum was driven in a split arcade. Left joystick had forward/backward, left/right. Right joystick had turning.
I can elaborate more if you have any other questions.

MrTechCenter 08-04-2015 00:59

Re: Custom Driver Stations
 
You always want to design your driver station around the functions of your robot and what the driver(s) like. You also have to take into account the methods by which your robot carries-out its actions, like if it uses sensors or limit switches or etc.

We've had some pretty simple driver stations in the past consisting of nothing but joysticks (or in our case, one joystick and a steering wheel) and a gamepad because that's simply what worked best for us for that particular robot. Other times, we've done more complicated stuff such as using arcade buttons (this year, we had 5 arcade buttons with each button corresponding to a certain height for our lift and the buttons were placed in such a manner that it followed the shape of the driver's hand, meaning the first button was where his thumb was and each of the other four buttons were where his other fingers were). Back in 2011 we even built a custom controller using the Cypress and a potentiometer to mimic the motion of the arm on the robot, meaning that the position of the arm on the robot directly corresponded to the position that the controller was in, in real time.

If you're going to do custom I/O on the driver station, I highly recommend using the TI Launchpad that all teams received in their KOPs this year, it works great and I personally think it's a lot better than the Cypress we've had to use for several years. Let me know if you have additional questions, our team has won four Innovation in Control awards since 2012 so we've played around with all types of controllers and I/O over the years.

slibert 08-04-2015 02:46

Re: Custom Driver Stations
 
Quote:

Originally Posted by SeanFitz (Post 1467504)
As a driver, I've always used a simple control scheme with everything on one XBOX controller. I guess I just find it easier to use, and only me driving eliminates any communication problems that could come between having two drivers.

But I'm curious about teams that use other Driver Stations. How well do they work? Are there any communication problems between your drivers? How well do the custom driver stations with all the buttons work? Does anyone feel as though there is an advantage to a certain version versus another?

As a follow up, how to you guys control your robots? I.E. What controllers, arcade vs. tank vs. custom, stuff like that.

Over the summer, we built a custom panel enclosure powered by an Arduino Leonardo; this provided a great way for students new to programming to work with basic electronics and simple C-style programming; because the Leonardo can also pretty easily implement a USB HID interface, this allowed us to build what looked to the PC like a real joystick. It just plugged into the Driver Station and worked right away.

Part of the exercise during the summer was to design a custom Arduino Shield which had the interface to 16 buttons, 4 potentiometers and a LCD display for debugging. The students enjoyed the process of unpacking the package from the factory in China w/the custom shields w/our team name on it that did just what we wanted, and soldering the shift registers/resistors and other components on the board - and each student got one to work with.

For our driver, in addition to a standard off-the-shelf 3D USB joystick for our mecanum drive, we added 4 dedicated buttons arranged in a circle for the driver to perform an "auto-rotate" to 0, 90, 180 and 270 degrees. To strafe in a straight line, the driver simply held down the "auto-rotate to 0 degrees" button while strafing. These buttons are the big arcade-style buttons they sell on Sparkfun for a few dollars each. That, in addition to our Field-centric drive system provided a lot of driving control.

Then for our "gizmo" operator, we dedicated 6 toggle switches for control of the pneumatic system. We initially thought of using push-buttons, but realized after some testing that a toggle switch was much more intuitive. The operator got good enough to manage multiple switches with a single hand.

[NOTE: we also learned that in autonomous mode the robot can receive the state of all the switches, we didn't know that before because we'd never tried toggle switches previously. That allowed us to do some creative modifications to the way the robot behaved in our autonomous programs.]

We also bought a big red LED-lit "FIRE" button from Sparkfun - but we didn't get a chance to use that this year. :)

Once the drivers realized they could move buttons and switches around wherever they wanted, it really encouraged some creativity and refinement that helped the driving team be very involved, efficient and reliable.

And a few very clever mentors figured out how to get the enclosure to fold up into a box shape w/the laptop nestled inside, so it was very easy to carry from the pits to the field.

Next year we want to add a rotary switch for the autonomous program selector, which should be more simple (and more reliable) than the "SendableChooser" in the Smart Dashboard they currently use to select their chosen autonomous program. Because there are some potentiometers to work with, we may put a camera pan/tilt servo control on the panel, or perhaps something that steers a turret, depending on the game.

Now we've built the groundwork and experience to be able to customize the panel for the different challenges we expect to face in the future.

elfenari 08-04-2015 07:42

Re: Custom Driver Stations
 
We usually do driving with 2 attack pros and mechanism control with an Xbox controller. This year we switched out the attack pros for a single extreme3d because we are using mecanum drives. On our Xbox controller, the two triggers are used for up/down motion, and the a button to toggle our clamp. I'm the coach, and the way the drivers work together is pretty funny to me. Our driver 1 uses our second driver like a voice control for the robot.

TheModMaster8 02-05-2015 00:20

Re: Custom Driver Stations
 
Personally I believe one driver is better then two, as i know what im going to do but the person next to me doesn't, but to answer your question our team used Xbox controllers for both human and driver, and yes there was communication problems, though our human player was outstanding :P

MikLast 02-05-2015 00:31

Re: Custom Driver Stations
 
We used mecanum for the first time this year, so instead of our usual joysticks we got a logitech Extreme 3D pro joystick for our driver, and then we have a regular joystick for our forklift driver, and he has his own setup with custom buttons for auto-align and such.

As for working together, they have been our drivers for three years, and they worked really well together, and there wasn't much issue with communicating to the human player, (me.) We use arcade drive with one controller, our drivers find it easier to use the robot that way. We also rarely use the station window itself, just to choose our auto routine.

GeeTwo 02-05-2015 00:36

Re: Custom Driver Stations
 
Whether we have one driver or two is entirely a function of robot complexity. Our competition robot for Recycle Rush only had three CIMS (two drive, one lift) and no other actuators, so a single driver did it all through an xBox controller. We had two drivers that originally swapped off about halfway through the match based on their strengths; later we switched to a "primary/relief pitcher" model. We also used a single xBox for Aerial Assist (mecanum + 3 actuators); I believe we had a primary and a backup driver. For Ultimate Ascent and Rebound Rumble, I seem to recall that we had two separate controllers, one for the "main game" and another for the "end game". I think we used PlayStation for one and classic atari-style joysticks for the other both of those years. The drivers had a bit of cross-training, but for the most part they specialized in one part or the other. We have not done any "custom drive stations" beyond having a custom wooden structure to support and secure the COTS driver station and controllers; this year all we did was add some velcro to the classmate and controller so they didn't fall off the shelf.

Abhishek R 02-05-2015 00:40

Re: Custom Driver Stations
 
We use two of the Logitech Gamepads. The buttons make it great to assign functions to, and are very easy to pick up. It also gives you some freedom of movement behind the glass.

While I agree, one driver is better than two because there is no lapse in communication, for some of our robots it's just not feasible. In 2012 and 2014, almost everything was done by the driver due to the automation of the robot in picking up and firing the balls, but because in 2013 we had to adjust angles, shooter speeds, and in 2015 the elevator and intake system made things too complex for the driver to handle (our manipulator had multiple sets of buttons - we basically had a shift key on the copilot gamepad).

Automation has been one of our team's strengths due to the hard work of our programmers, and that really lightens up a lot of the minute things the driver has to worry about.

I will say, the best way to assign robot functions to the drivers is like this, in my opinion: first, put all the robot drivetrain functions on the driver's side, and everything else on the copilot's side. Then, start moving robot functions from the manipulator to the driver until it impacts the driver's ability to maneuver the robot. For example, if you are using a gamepad, the first function assigned to the driver is the drivetrain to the two joysticks. Then, let's say you want the driver to be able to shoot, so you put that on a trigger. Then say you want the driver to be able to drop the intake to pick up a ball as well, but for whatever reason you are out of triggers, so you have to put it on one of the buttons. Since the driver will have to move their thumb off the drive stick to press the button, that function should be left with the copilot/manipulator.

We experiment with driver stations and setups all the time (this year we had a dual monitor setup!), so feel free to ask us any questions you may have.

The other Gabe 02-05-2015 01:55

Re: Custom Driver Stations
 
our team runs with two drives: one guy to actually drive the robot, the other to mash the buttons in order to make the lift lift totes and stuff... to compensate for issues with communication, they practice together a whole lot

MaestroRoboto 02-05-2015 08:56

Re: Custom Driver Stations
 
This year we used two Logitech controllers, the operator's controller had buttons replacing the triggers (it turns out that this controller is now discontinued :ahh: ). On our driver's controller (we had a mecanum drive-train) one joystick controlled the direction you want to go and the other joystick controlled the magnitude, the driver also had control of our tray system. Our operator had both manual and set position control of our forks and elevator as well as an auto stacking routine at the human player station and an auto placing routine for scoring.

For the past few years on the team we have had two drivers. I don't believe we have had communication problems between our drivers, they get in a lot of practice time before our first competition.

cjl2625 02-05-2015 10:18

Re: Custom Driver Stations
 
We usually use two drivers.
Last year, it generally worked, but occasionally there were problems.
More than once, the driver would go to stuff the ball in the low goal, but the operator wanted to shoot in the high goal. So, the driver spins to eject the ball out the back, but the operator shoots and the ball gets launched away from the goal and backward over the truss.

This year, two drivers seems absolutely necessary, especially since we are a landfill bot. The driver uses two joysticks to control swerve, and I use a gamepad to operate.
I use 9 buttons (including triggers), both joysticks, and the D-pad. Some of those controls, however, are for manual override when the automation screws up.
Nevertheless, if one person had to keep track of all this while driving, their head would explode.

After a bit of practice, cooperation between the driver/operator became quite fluid. Now, there are almost never communication mistakes or confusion when we play our normal landfill game. The only time we've recently messed up was when human playering, which we don't do often. However, this too is becoming increasingly fluid as we practice with it.

MaGiC_PiKaChU 02-05-2015 11:05

Re: Custom Driver Stations
 
We used this custom controller for 2 years... The throttle works like a charm.
We have 4 pots for fine tuning (correcting the shooting angle in match, or max robot speed)
It is used by the operator

The main driver uses a logitech controller

Poseidon5817 02-05-2015 13:19

Re: Custom Driver Stations
 
This year we used 2 Xbox controllers and had 2 drivers. Our main driver had control over the base movement, with a button to remove speed restrictions, and another to open our clamps and our forks. I used every button on the joystick, with elevator, tote stopper, ramp, and a couple automatic sequences. The automatic sequences were really useful for repeatable tasks that we performed often. For example, after every stack, we need to open the clamps, raise the elevator, retract the tote stop, drop the elevator, and clamp the RC. Putting this on a button decreased the risk of the stack falling, and also the time taken for each stack.

This year almost requires 2 drivers. Communication shouldn't be a problem because of how much of a repeatable process this game is. After doing it so many times, the match should be memorized by both drivers. Last year would have been a better game for one driver, allowing the driver to make more complex moves without the copilot being confused as to when to shoot/outtake.


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

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