Hello I was recently one of the drivers this past season for my FRC team and I was wondering how everyone’s teams split up the controls between drivers. I know a lot of teams have different ways of splitting up certain aspects of the bot and I was wondering what kind of planning and logic goes into those discussions. I know one interesting decision that I have noticed is a lot of teams have the intake on one controller and the drivetrain on another which is not what we do on my team. I would really appreciate if you would share what your team does regarding this!
Hi my team gives our driver control over the drivetrain, while the operator controls every other subsystem that needs to be controlled (intake, shooter, climber). How does your team split it?
For this year at least, we had:
- 3-axis joystick - driving, intake, Limelight targeting
- gamepad - shooter, climber, intake unjam for when the the driver is distracted
Our FTC teams were more on the side of one gamepad for driving, the other for everything else.
Both our FRC and FTC team split their controllers like this:
- Driver - drivetrain control to every one of its aspects, intake control
- Operator - every other mechanism
The reason our driver controls the intake is that only he knows things like when he is going to reach the ball and other information like that. This also depends on the year, in a year with a complicated intake mechanism(such as 2019) the operator would control the intake.
Every other mechanism can belong to the operator.
It’s whatever the two operators want, but typically I like to suggest the following:
Driver gets drivetrain and shooting
Operator gets everything else. Intake, game piece manipulation, everything.
I like to give driver the shooting ability because then there is no miscommunication between driver and operator that causes missed shots. Also helps when the driver wants to make small adjustments before the shot is made. I’ve noticed that the driver will say “all set to shoot” but then try to make small adjustments still. That’s a training issue but also can be fixed by just giving the driver the shooting control
Either way, the most important thing is practice practice practice. A team with 20 hrs of practice will always do better than a team with 1 hour
We had pretty much everything on the driver this year except some climb commands when we ran out of buttons. We knew we would be able to automate enough of the robots functions that having two main buttons (intake, shoot) and a couple of debug buttons (run routing backwards, spit ball out shooter) would probably be enough. Having one driver with most/all of the controls reduces the amount of back and forth communication that needs to happen between drive team members, and lets the operator focus on the field and helping the driver plan where to go next.
In 2022: Driver drove and climbed, Operator did everything else (shoot, intake, turret). Normally we have the driver only drive, but in 2022 the driver wouldn’t be doing anything while climbing and they’re the one that has to line up so it seemed like the natural thing to do, and it worked out pretty well.
Same for our teams
We had the driver drive, intake, aim (no turret), and climb. The operator shot, did on field shooting adjustments (if necessary), and acted like a drive coach because our drive coach was often coaching other teams on our alliance.
For us, the driver controlled the drive train (swerve) with an x-box controller while all other functions were controlled by the operator from a button board. This is pretty much standard for us. The driver thus has no distractions from maneuvering the robot, seeking cargo, and getting things aligned for the operator (for both shooting and climbing.)
By the time the Championship rolled around our Driver was responsible for everything except climbing, fender shots (high and low), and manual controls/unjamming things that the Operator was on standby for.
We learned a lot as the season went on namely because it was our first season using swerve and didn’t really get to use until February. Early on we gave the Driver & Operator control of the intake. As we practiced & competed more, we kept giving the Driver more as he was comfortable. Once we got Limelight working between our last district and Houston, we gave the Driver one button that would lineup and shoot so in an ideal match he run the robot on his own and reduce communication until the endgame.
Always recommend giving the Driver more control around intaking and shooting. At first it sounds like it’s too much to do, but that’s usually a sign that you need to practice more, or your controls mapping isn’t intuitive for the driver. Anyone who plays video games knows you need to play hours and hours before you can get complicated maneuvers and controls down to move and perform other tasks at the same time. Drivers & Operators are the same. Give your drivers more and more time to practice and you’ll see a different.
Our driver has complete control over the drivetrain. Our operator controls everything else (intake, shooting, climb)
One other thing that would be interesting to compare is how many buttons/axes the driver/operator used normally. For example, are the teams that give more functions to the driver more automated?
When I drove this past season, I had control of driving, shooting, and intake. My operator had some less automated versions of those controls for precision if needed as well as all the climbing controls. We mostly had the operator do ball finding during teleop to help me with pathing quicker.
I would personally recommend giving the driver all the basic semi-automated teleop controls to reduce the amount of required communication. We were helped this year by new razer controllers with an additional top bumper on each side, allowing us to put all our driver controls on the bumpers and triggers.
This year, our driver had control over moving, toggling aim (we had no turret), shooting, and intaking. This allowed them to, under ideal conditions, do everything in teleop. Our operator had controls for when the automation (limelight, indexing, etc.) failed. They had an array of buttons for set-distance shots (launch pad, field wall closest to the hub, etc.), unjamming our intake, and climbing.
In my opinion, having one person control every aspect of the robot’s cycle allows your driving to be much more streamlined as you don’t have the communication inefficiencies caused by a secondary person needing to deploy the intake or shoot. This obviously requires some level of automation to do effectively, but I think it’s achievable by a lot of teams who stick to the two-drivers strategy.
This year on my team, one driver controlled the robots movement and intake, while the other driver controlled the feed, shooter, and other related mechanisms. From what I know other teams split the driving responsibilities so that one driver controls the robot’s movement and the other controls everything else, but we did not do this because it was easier for the driver controlling movement to also run the intake to avoid the timing problems that could come from having to communicate when the intake needed to be down and up.
This year, I was in control of the drivetrain, intake, and shooting, while the operator was in control of the climb and and unjamming controls. The shooter was fully automated, so shooting only consisted of driving to a safe spot and shooting, and it is faster for me to just shoot than to have somebody waste time telling the operator to shoot. However, giving the driver control over almost everything isn’t feasible every year, 2022 doesn’t require many buttons to score correctly, but years like 2019 can’t be controlled mostly by one person with a gamepad without having the driver’s fingers leave the joysticks which should be completely avoided.
One Driver with an Xbox controller controlled everything. We have found having one person in control of the robot leads to quicker responses since there isn’t a lag due to communication.
I am not 100% on this but I believe the controller was left and right sticks were for left and right side of drivetrain (we are a tank drive), right trigger turns the turret 180, right shoulder button turns on vision tracking, left trigger drops and turns on intake (hold to keep it out), left shoulder button shoots the balls if the vision says the shot is good. Y shoots the ball whether vision says it is good or not. A does our low goal shot. Select deploys climber. X brings climber into first position. B starts the automated climb.
We used to use more buttons before by using the an X box elite controller to utilize the buttons on the back of the controller. I don’t know how it was mapped back then but we used to have buttons for reverse intake, wrong color ball shot, Climber Clockwise, and Climber Counter Clockwise.
Once we got our color sensing working and our climb automated it lead us to delete those inputs and go with the control scheme above.
Second “Driver” is looking at signals from human player about location of cargo that is on the blind side of the field and telling the coach, may also take over telling driver where his next set of cargo to acquire is if the coach is at another driver station communicating with their coach.
It feels like the responses thus far have covered every kind of partitioning of the drive tasks between the driver and co-driver/operator except that driving is always with the driver. Conclusion: there is no best answer.
Based on the:
- count of things your robot can do in a season
- the complexity or automation level of those things
- the danger of doing those things in terms of breakage or penalties
- the relative strengths of the driver and co-driver in that season
partitioning can and should change.
When there is shooting and it is largely or completely automated, our driver typically shoots to achieve the tightest timing. That’s what we did this year. If we needed to go to manual shooting, the co-driver did that primarily because of the extra button count required.
Intake is the function most variable between driver and co-driver. The more that the intake needs to be cycled in/out and the more that the intake is in danger of racking up fouls or being damaged, the more we lean towards having the co-driver handle it as their primary teleop focus. Our co-driver ran the intake this season, but it’s not always that way.
Endgame tasks usually go to our co-driver after initial robot positioning by the driver. Usually our button count for endgame is not something we want to deal with on the driver’s controller, so the complexity tends to push this to the co-driver. We also find that putting endgame in the hands of the co-driver gives them a more meaningful role on the drive team which helps them engage more with the role.
We have the driver able to do all regular mid game actions on a Logitech F310 . Drive, aim, intake, shoot. We also found it faster for the driver to align an do the shot than trying to coordinate with the operator.
We gave the operator control over the conveyor forward and backward to unjam or position if the eyes failed to do their job. The operator during the game mostly acted as a cargo spotter and drive coach. Then, during end game, the operator had the climb ‘hand over hand’ control.