Autonomous points throughout the match

So there’s been an in-depth discussion on whether or not sandstorm is a good addition or not. Personally, I waffle back and forth on it, but that’s not my discussion today.


I’m more curious what people think about this idea as a way to make programmers stand out (one argument people are using against sandstorm)

Do away with the first 15s and have autonomous THROUGHOUT the match as an on again off again mechanic.

Large buttons appropriate to the number of hands at the driver station (one operator or two).
Points for each second that all of the buttons are pressed and off the robot controls.
Or bonus points for the length of time in auto mode. I’m sure someone can figure out how to balance it.

I think this would be big for programmers without the complete pass/fail in the current system.
Currently, all the work you put into it either works 100% during that 15s or it doesn’t (or even worse, collects penalties)

Mechanically, if everything else fails and you still have a drive train, you’re still in the game.

With this mechanic, the more smaller sections of code you can get to work the better, but you are no longer reliant on 100%. “Oh, pathfinder not working for some reason this round? Driver can still line up if you can still auto place”

And yes, I know if a team is dead in the water #watergame, they can still earn points by doing nothing. Just like everything else, it would need to be balanced.

PS
The large button idea is just an example on how to track it but is not the main idea here.
The how is not so much important as just discussing the strategies you could use and does this do anything to put programmers in the spotlight? (I personally like when I see a team with a ton of auto features that pop up during teleop)

2 Likes

Please no. 15s of auto is just fine, I would not want my robot to be in autonomous mode at the same time that a rookie alliance partner is in teleop mode with their rookie driver that has no practice and manages to slam into everything.

20 Likes

I like the idea of putting more autonomous code into FRC rather than just the first 15 seconds of the match, but that would be really hard to design a game around as the on-again-off-again auto would be hard to practice. Best solution I can think of is have an auto at the beginning and at the end for climb, but climbing with an auto may be unreliable. Perhaps extra points for climbing with auto and not forcing an auto climb, but its just a thought. But in the end, it seems like more busy work for the programmers who already struggle to get an autonoumous done before competition(but that may not be a problem next year w/o the 6 week restriction).

In my opinion, the best way for programmers to best show off skills and improve the robot is also integrating autonomous functions during tele-op. Auto-align, motion-controlled scoring, maybe even pre-planned cycles would greatly benefit the drivers and be a way for programmers to implement an autonomous.

1 Like

Plenty of teams have several automated parts of their robots, that remain automated throughout the match. (For example elevator preset positions, arm positions, turrets, etc.)
Speaking specifically of climbing, our entire climb sequence was 100 percent automated. All our driver did was drive onto hab level 1 and hit a button, and the bot would get itself onto level 3. (and our climb never failed due to the automation)

2 Likes

I guess my team wasn’t great at climbing :sweat_smile::sweat_smile:

Anyways, I just think imo if there were designated points in the game where an autonomous was required, things would get hectic and would be hard to test. That also brings up the question about the ruling with defense bots during that time.

You do something like what the rule was this year in the HAB zone: Contact after time X, and the climb is successful regardless of whether or not it’s successful.

The big issue with points bonuses for stuff scored autonomously is tracking which robot is in auto at which score time. That would practically have to be auto-scored with the Zebra DART system in the loop to tell if the robot was in range (and that doesn’t help in a game like Stronghold, where it wasn’t uncommon for an alliance to let fly at three different openings from three different places at almost the same time). It’s far easier to have designated times where EVERYBODY is in auto.

And that brings up the next part of the discussion: What if auto were at a time other than the start of the match?
Well… there’s a couple of minor issues. I don’t think that FMS would care too much about the humans trying to use the controls during auto, as it would essentially just lock them out. You would want to have an early warning for teams to try to get into position, otherwise it’s a case of robots gone amok.

Just for arguments’ sake, let’s say that the game calls for 2 auto periods, 10 seconds each, at 70 seconds remaining and 10 seconds remaining. Warning horns would go off at 75 seconds and 15 seconds (you have 5 seconds to position and arm, if you haven’t already done so). Starting at the auto start time, contact by opponents (at least within certain areas) is a tech foul. Game pieces scored during that time are worth double (just to throw out a number–see also Fuel). After the times are up, manual control resumes. Unlike autos of the past, humans are not required to retreat from the controls.

That would be an “interesting” game to ref/score, but not impossible. If you set it up right FMS handles most of that.

Counterpoint: driver skill is a huge part of what makes FRC competitive and fun. Because the robots are run by people, and that’s good. Individual actions can be made autonomous to simplify actions the robot has to do, and how much of that you do should not be driven by the game, but rather the trade offs your team makes in time vs. drivers training. In the words of Elon Musk, humans are underrated.

5 Likes

I’m not sure you understand what the discussion is about. This discussion is about the possibility of scoring autonomous points at times other than the start of the match. This is not about “should we have an autonomous mode”. This is “should we have points bonuses for scoring autonomously, and if so, how would that be feasible?”

By the way, according to the strict purists in the robotics industry, no autonomy = not a robot.

Oh, and don’t quote Elon like that to me. We call that poking the bear. I don’t want to go further into why in the public forum.

2 Likes

I read it as a switch from auto to tele whenever for a point bonus. I should have read closer I suppose. Yes, I know some purists think that, but I respectfully think FRC is more appealing in general because of the human element. Don’t get me wrong, I love autonomy as much as the next guy, I just think for FRC it’s not necessary to mandate autonomy.

I did not mean to poke any bears, sorry if it came off that way.

2 Likes

I see what you are getting at.

One idea might be to draw a “3 point line” around certain scoring elements. Then, if the driver pushed the button outside this line and the robot was able to drive into the zone, score and drive back out, the score would earn a bonus (like the 3 points instead of 2 in basketball). You could add an “Auto light” to the robot that would light up when the robot was fully auto that the score keepers could easily see. They would still need to judge if the light went on before entering the zone. But assuming the light was on and the score was successful, they would just tap the auto bonus on the score pads to count it.

The FMS would take care of the mechanics of disabling the driver inputs while the button was pushed, so the refs would not need to be watching to make sure the drivers were actually not controlling the robot.

It would probably be too much for FIRST in it’s current state. Why? Because Autonmous points during the rest of the game would put a huge portion of the game out of reach for many people.
Most teams struggle to find the resources to program a robot that can be controlled really well in teleop, let alone Autonmous. By adding autonomous points throughout the match, your lock away a portion of the game. You may even compare this to fuel in 2017, where only the top tier fuel bots could get away with playing that portion of the game because it was such a hard task.
Just because there isn’t a direct point associated with it doesn’t mean there isn’t a way to have indirect points. Vision autonmous and motion profiling has been an integral part in many teams successes. It’s just another step to make yourself a little better.
Maybe someday we will be at a point this could work, but I don’t think we are there yet.

3 Likes

Based on some of the responses, I don’t think I was clear enough in my original post.

Essentially I’m saying have the entire time would be teleop, no forced auto periods at any point.
If a team is able to take their hands off the controls for a time (which teams are capable of already) then points are awarded.

I think it would actually be easier than the 15s auto period.

  • As I said in my previous example - pathfinder not working but vision alignment is, then rely on the driver to get you in position
    • 3s to align and shoot
  • A lot of teams including rookies can drive forward for 4s right? There are lots of instances were during teleop all you have to do is drive forward. If the driver is standing there, they can override a possible crash, but then they would end the auto timer.
    • 4s of driving straight
  • Endgame climbs usually have two main tasks to complete. Secure an anchor point and climb.
    • I know teams pride themselves on fast climbs, 8-15s for anchor and climb or more if they’re waiting for time to run out

This is why we would need some kind of button to hold because we can’t have a ref behind each team watching their hands the whole time.

This is what I meant with this post.

I think this all comes down to how the game is balanced.

Right away during steamworks I posted in CD that fuel should be ignored and got rebutted by a lot of people. That turned into my least favorite year to watch (never saw Lunacy) because it devolved into a bunch of little boxes driving around grabbing gears.

Fuel made a difference in very few matches because of improper balance.

Autonomous during teleop may or may not suffer the same fate. Too much of a bonus and you’ll end up with the haves and haves not. Too little bonus and the only teams that will use it are teams that use it already.

The line between an autonomous action and a teleoperated action is very blurry when human input is accepted at all. Does driving to line up count? Hitting a button to start a sequence? Does being able to cancel it make it autonomous? I think the proposal is largely untenable.

1 Like

With the current scoring methods this would not be possible, as live scoring in the current system does not have a method to tie it a specific robot.

If they could fix that, how would a ref/scorer know which robots were in auto or not? Or does every game with this method have to have automated scoring? If not how does a team argue that their robot was in auto but didn’t get the bonus?

Once a ref/scorer knows that they a robot in is auto how long does it need to be in auto to get the bonus? Or can I line up the robot in teleop and then use “auto” go the last inch?

I support an “A-Stop” button for auto but I think switching between auto and teleop has too many issues to be workable at this time.

1 Like

That was the point of having a separate timer. Though the details are not fleshed out, the electronic timer would only start when the drivers’ hands are known to be off the controls. That technology already exists.
Two-Hand-Control-on-Press-300x227

This is no different from the current rules. Does a team lining up a robot to drive straight across a line count as autonomous? It is autonomous because of how the rule book lays it out. There were buckets and poles with a net in recycle rush that passed as a “robot” because it met the minimum requirements in the rulebook.

At the very basic level of the mechanic I laid out, you could show up without a robot and contribute points to your alliance just by standing there. I wouldn’t tie it to any specific item at all like scoring or crossing some line. That just narrows the options for a programmer. Add any other requirements like a bot needs to be in motion would only make things harder and can be easily bypassed by something like spinning in place.

I think it would be possible using FMS and the current scoring methods. If the drivers has a way of selecting fully autonomous mode (where no controller inputs would be accepted) suing something like the button idea that @Fields showed above, then FMS could a) lock out any controller input while that button was being held down and b) send a command to the robot that could be used to activate a light on the robot that would indicate that the robot was operating autonomously (Similar to the RSL, only you would want to use a different color to differentiate it from the RSL).

The scorer would be able to see that light active and if that light was on for the duration of the task, they could then add the bonus to the score.

Using the 2019 game as an example, imagine if we put a semi-circular tape line on the carpet around the rocket 6 feet away from the base of the rocket. In order to get the bonus points, you have to activate the autonomous mode before crossing that line and the autonomous mode must remain active until you leave the zone. If you successfully mount a hatch panel fully autonomously, it is worth 3 points instead of 2 and if you load cargo, it would be worth 4 points instead of 3 (you could make the auto bonus more valuable than 1 point if you wanted to).

The scorer would watch to make sure the light stayed on during the scoring move and if the score is successful they would record the score along with the bonus on their touchpad when the robot leaves the zone. If the drivers have to take control again before leaving the zone, the light would turn off and the scorer would know that the team switched back to teleoperated mode, in which case the score would still count, but there would be no bonus awarded.

Think of it like the 3 point shot in basketball. It is always available if teams want to attempt it and all you need to do is judge whether the guy’s feet where behind the line when he took the shot - ref’s arm goes up, if the shot is good, his other arm goes up and the scorers give them 3 points instead of 2.

I think this is very doable with the current scoring system and FMS. Remember that in 2018, FMS sent codes to the robot at the start of the match to tell the robots the orientation of the scoring plates. So we already know how to get robots to recognize these kind of codes from FMS.

The teams could attempt an “autoscore” at any point during the match that they wanted. You could implement a 5 or 10 second timer on the function if you wanted to so that if the auto routine got stuck in the middle of the scoring attempt, the scorer would not need to keep watching the robot for excessive length of time to see if the robot leaves the zone with the auto light still on. The auto mode would just timeout and you would not get the bonus.

Teams could elect to do a time and distance type auto routine from a fixed point on the carpet, or could use vision alignment, or whatever they wanted. The only requirement is that, to get the bonus, there can be no drive control inputs from the time you enter the zone until you leave the zone. also, teams can enter and leave the zone teleoperated any time they want and still score, and they would just not get the bonus. Just like in basketball you can drive the lane and get 2 points, or you can shoot a 3 pointer - your choice at any point in the game.

I think it would be a really fun addition to the game. The auto light on the bot would be visible to the crowd. The announcers could call out “Team xxx is going to attempt to score autonomously… and they have done it!” It adds another layer of interest for the audience and it would be really integrated into the overall gameplay rather than being segregated into the opening seconds.

Not really worried about A, adding a button/function that enabled/disabled auto mode(s) wouldn’t be that hard.

The catch is in B, to get that light you have two options. Option one is on the robot but then you either need new roborios with an auto signal light port or you have to take away a port from the teams, which will interfere with some teams’ abilities. The other option would be to put the light on the driver station/ref screen but then you are asking your ref/scorer to look in two different locations to determine what the score should have been.

I’m personally not a huge fan of this idea. On low-resource teams, many programmers struggle to even get the robot to cross the line during autonomous, and adding this feels like another barrier to high levels of competition. Part of why I liked the sandstorm so much this year is it let EVERYONE participate in the first 15 seconds and gave programmers like myself time to dedicate towards things like auto-align as opposed to making automated pathing. Not to mention it gave the drivers more time with the robot that is usually spent on programming autos. The other problem with more automated actions is that teams who have a field are at a huge advantage, whereas those without one have more trouble getting everything to line up. I just don’t like the idea of having another bar to higher competition. I would be okay with the 15 second auto coming back, but I feel like adding it during the match isn’t necessarily the way to go.

1 Like

This exact example was given as a reason for the mechanic.

Rather than linking auto to some exact scoring objective. I’m saying at the end of 2.5 minutes the driver was able to let go of the wheel for for a total 20s so blah blah amount of points.