Ball eject

The solution is, unfortunately, completely mechanical. The electrical and software rules and libraries expressly prohibit a disabled robot from taking any action.

What teams will have to do, one way or another, is design their collection systems such that when disabled they either release the ball or weaken their grip such that a hit from an alliance partner will dislodge it. Congratulations, you’ve found the difficult design challenge in this year’s game. No, don’t design your launchers to immediately fire if they lose power, as that’s a clear violation of safety.

On our vex robot our pistons default to retracted so we start in a legal configuration, but can you have a solenoid that defaults to push a piston into where you store your ball when it has no signal, and possibly have it on its own pneumatic circuit in case the first one fails? This way if you have a ball and you become disabled/battery dies/act-of-god, the ball will be ejected, or is this not allowed?

EDIT: I does not need to be very forceful, just enough to make your ball holder a shape that the ball will roll out of.

Are you saying that it is illegal to have a robot with a pneumatic cylinder that, when working properly with bot powered on, gets air via a normally closed solenoid valve and extends, stretching some surgical tubing to move an element which keeps the ball from falling out of the robot.

Then when emergency stopped, the normally closed air valve closes, and a 2nd normally open valve opens to bleed air from the cylinder, allowing the the piston to retract by the surgical tubing tension, releasing the hold ball element and dropping the ball.

If this kind of ball eject scheme would be illegal by the current rules, then there should be an exception rule written to allow such a scheme, or to just have another fresh ball cycle be started from the pedestal, when robots carrying calls are disabled

-Dick Ledford

In theory nothing (much) can move if the communications are down. The FIRST libraries on the robot fire a watchdog that disables all control outputs.

If a robot on my alliance went brain dead I would want them to hit the big red button - maybe the refs would put the ball back into play?

A very BIG test of gracious professionalism

I’m not sure where to go with this aspect of the game.

I’m asking myself very seriously, if a robot can’t automatically eject a ball when disabled, should it be allowed to intake it?

Autonomous is also very tricky - if your robot requires the ball to be **inside ** your robot at the start of the match, and can’t be easily freed by another robot, your alliance partners might ask you not to run it.

How would you feel if your alliance partners ask you never to pick up a ball? Or to not run your autonomous?

Would you ask your alliance partners not to do those things?

Because right now, this seems like the prudent thing to do.

The issue is the state “Estop” is really the same as disabled. So you load the ball in the disabled state (Robot is disabled until the match starts) Nothing will happen until the robot is enabled. The coders that can make the robot magically eject the ball on system failure aren’t going to be the ones with these kinds of issues.

Scouting is going to be important this year (as if it was never unimportant) because a non functioning robot in the seeding matches can really skew the scores.

This might be the year that a good defense is a good offense.

It’s a terrible enough feeling at a regional telling a team “Hey we need you to put this giant net on and sit there and not do what your robot was designed to do because of the nature of the game.” I cannot imagine telling someone they cannot play the game in its proper form because “We don’t trust your robot’s design”.

Heck, there are times when a team will just refuse and try it anyways and when the ball gets stuck then what do you do? The rules pertaining to this are not fair for any member of an alliance.

An E-Stopped robot with a ball most definitely should not have its ball counted. That way there’s at least a way to keep playing the game for the other 2.

Why wouldn’t the referees consider a ball in an EStopped robot “out of play”? It’s a good idea to raise this question in the Q&A, but software solutions aren’t what you want when a simple human decision can solve your problem. That’s what referees are for.


I would think a robot capable of taking action while disabled would be a safety hazard, violating R8.

What about the robots in 2012 with the after-the-buzzer pneumatic bridge balancers?

You had to trigger the solenoid before the buzzer. Any after-buzzer activity was just the air pressure equalizing on a decision that had already been made.

A release is probably a good idea.

Not strictly true. You can have a single acting solenoid valve which spends the entire match energized, keeping your ball ejector retracted. As soon as the robot transitions to the disabled state (either commanded by the field at the end of a match, or because the robot lost communication) that solenoid will cease to be energized, and extend your ball ejector.

The trick is in figuring out a way to either A) make it so that during the pre-match disabled phase you can keep your ejector retracted (perhaps you use a dump valve connected to a servo to trap air strategically in the system that can later be released) OR B) pick the ball up at the start of auto instead of pre-loading it into your robot.

This is probably what most teams are going to have to do. The corner case of a robot that crashes as soon as auton starts and thus never has time to arm an eject mechanism is one that I don’t see a clear solution for. Then again, you have to waste part of your 5 second window for the hot goal picking up the ball…

don’t you get a redo if there is connection problems

so have a mechanical dead man switch incase there is lost of power

Sometimes. It really depends on if it’s deemed a field fault or a robot fault.

It’s irrelevant which it is. 2 robots on an alliance should never be put in a position where they cant score because some team is adamant in taking in the ball and then not being able to eject it.

Our team is planning to join our alliance partner and beat the "ball’ out of the third alliance with stuck ball! Pretty sure this is not against GS, which is directed towards opponent alliance and may get red card.

My only question would be, how do you design a mechanism that allows you to eject the ball when the robot dies, but NOT when the robot is disabled at the start of the match. I don’t really see a simple way to do it.

On top of that, I have to believe that this is the kind of issue that will get addressed by the GDC in a game update or Q&A. I can’t imagine they would make a game where one alliance could not score at all if one of their robots died… for that matter, what happens if both alliances have a robot die with a ball? No one scores at all that match? You could effectively have a game that is decided within the first 10 seconds, which doesn’t make for a very interesting game.

I agree. Although we should never plan for new rules being added, I do think that this one has a good chance of happening. There’s a few possibilities like a new ball being introduced if the robot controlling is inoperable and would otherwise stop the flow of the match, but there’s a chance (and a sizable one in my opinion) that robots will be required to have removable balls so their alliance can still play if the team cannot. Which also presents the opportunity for the opposing team to be able to eject the ball somehow. Another element of strategy for teams to consider.