At the last tournament I competed in, a coach of another team approached me and mentioned that he was impressed that my robot required only one driver. Although using only one driver for your VEX robot may seem difficult, it really isn’t that hard–it just requires some clever programming.
Using multi-threaded programming (simultaneous tasks), a programmer can create an “armControl” task, “listening” for joystick button presses and adjusting the arm height as necessary. The use of a P controller (or other control loop) is helpful to accomplish this. Other buttons can be used to control the intake or claw mechanism.
On my drive program, Channel 7 buttons (the four buttons in the upper left of the joystick) control arm height:
- Pressing the D button lowers the arm to the floor
- Pressing the L button raises/lowers the arm to the 11.5″ goal
- Pressing the R button raises/lowers the arm to the 20″ goal
- Pressing the U button raises the arm to the 30″ goal
The claw on my robot is operated with the Channel 5 buttons (the two buttons on the back-left of the joystick), one opening and one closing the claw.
I use an “arcade-style” drive control, where the right joystick controls all the motion of the robot. I also use the left joystick for manual adjustment of the arm, in case it is needed at some point during a match.
As I typically only use the preset positions for arm control, I do not have to worry about arm height at all, only about what goal I’m headed towards.
Most drive teams I see have one coach giving instructions to two drivers and/or loading match loads. One driver operates the lift and end-of-arm tool, while the other driver navigates the field. I find this to be an inefficient division of the roles of the drive team.
If one driver is used to operate the arm and navigate the field, two “coaches” are available during the match–one can be responsible for match loads/raising the gate, and the other can be responsible for determining when the driver should worry about scheduling points.