Programming and Driving Skills

Can a program be run for both programming and driving skills? Saw a robot at competition today that ran a program for both and is not top 10 in world. I do not see anything in rules against it…just that they have to hand off the controller between 25 and 35 secs which they did even though they were not using it for driving. Just curious if this is actually allowed.

Totally legal.

My teams usually use teleop program to control some of the robot mechanisms (limiting the appendages, sequencing moves of the mechanisms) and there is very fine line between some teleop, sequencing some moves and sequencing the whole routine. On one of the robot, they have automated most of the behavior and used it even for teamwork matches. While they were still selecting/confirming the steps and had an option to fully take over manual control (“kill switch” they say), it was pretty close to fully autonomous.
I guess only the hardship of autonomously crossing the bridge has kept them from going this way.

(I’d add that they have since abandoned that design as too complex, heavy and not reliable enough).

I would also expect that the “program for driver skills” would be triggered by the remote, not by the buttons on the robot, but that’s another fine line:
“Our robot is not working, we have to use our right to fix it while moving it back to the starting position”

Actually they could not start the program with the remote and had to use the brain. The remote was never used. I agree that I do not see anything in the rules against this and I am surprised which is why I asked. Doesn’t seem right that drivers are not required for the driver skills part of the competition.

It’s always a good idea to ask, and always a good idea to give the rules a second, third and tenth look!

Most teams that do a programming run use the following rule:

<PSC1> A team may handle their Robot as many times as they want during a Programming Skills Match.
a. Upon handling the Robot, it must be immediately brought back to a legal starting position
b. If the Robot is possessing any Hexballs when the Robot is being handled, these Hexballs will be removed from the playing field and can no longer be used
c. If there are any Hexballs in the Robot Starting Position where the Robot is being placed, these Hexballs will be removed from the playing field and can no longer be used.

You cannot do this in a driver skills match. Note rules <G6> and <G14>

*<G6> Drivers are prohibited from making intentional contact with any Field Element or Robots during a Match. Any intentional contact may result in a Disqualification. Accidental contact will not be penalized, unless the contact directly impacts the final outcome of the match. This type of accidental contact may result in a Disqualification

<G14> If a Robot goes completely out-of-bounds (outside the playing field), gets stuck, tips over, or otherwise is in need of assistance, the Drivers may retrieve and reset the robot. In the process they must move the Robot such that it is touching the field perimeter and not touching the Bridge. Before retrieving its Robot, the team must signal the referee by placing its VEX IQ Controller down such that it is not in the hands of either driver. Any Hexballs in possession of the Robot while being handled must be removed from the Robot and taken out of play for the remainder of the Match. This rule is intended to help teams keep their robots functional during the match. It is intended so teams can fix damaged robots, or help get their robots “out of trouble.” It is not intended for teams to use as part of a strategy to gain an advantage in a match. If referees see teams intentionally or repeatedly doing this, they may be disqualified from said match.*

Starting a program is definitely intentional contact that has a strategy to it. Just have the kids add the line of code at the top of the program to wait for a button of their choice to be pressed. As we are getting close to States and Worlds you don’t want anyone to have a reason to question your teams, especially if there is an easy fix.

It does seem against the spirit of the competition to use a fully autonomous mode in driver’s skill matches. However, there is nothing in the rules that says the driver must do all of the driving. So this seems legal to me.

I can see doing some driving assistance, maybe automating some tasks like scoring a goal (raising and lowering the robot arm with one button), but it feels weird to have the robot perform lots of different tasks without any driver input (move, turn, score, move, etc)

I also encourage my teams to avoid requiring a driver to move the robot during autonomous. It just feels wrong and defeats the purpose of autonomous. However, the rules allow it, and many teams use it. I just prefer for my teams not to do it.

If the kids have written a Programming Skills routine that can score more than their drivers, that is both (very) unusual, and exciting. Good robots use lots of code even when in driver control, so a Driver Skills program that does not require driver input is simply a logical extension of what many good teams do anyway. I think it’s great for the kids, and for the program, if they can write code that well.

We’re looking for “official guidance” as well as to how much semi-autonomous control we can implement for driver skills and team alliance matches. And even if it’s not explicitly forbidden/illegal in the rules, is there an expected spirit/purpose for each of the 3 competition type (e.g. For the driver’s skill match, are we trying to evaluate a driver’s proficiency or is every competition about autonomy, except that the driver’s skill allows the user to supplement their autonomy or lack there of with driver in-the-loop control?)?

If you need official guidance, you should ask this in the Official Q&A. I can tell you what they will likely respond, though, which is that running fully-autonomous code in Driver Skills is perfectly legal.

This is actually more common in VRC as they are not allowed to reset the robot. Most IQ autonomous programs require a reset from time to time, and if you run your program in driver skills you will not be able to reset the robot. You could drive it back to the starting position and then run the next part of the program.

If the kids just ran a program for their drivers skills that is **not **against the spirit of the competition, and I would personally be very impressed. The steps that the REC foundation has taken have generally favored programming over driving. When they were different skills, programming was first when filling from skills. The combination they do now forces teams to do programming, even if they are great drivers. If you want to win skills or fill from skills, you HAVE to do programming.