Whats the future of autonomous in FRC?

Now that teams like 900 are starting to utilize ROS and powerful jetson co-processors are appearing on more robots, I was wondering what future FRC autonomous modes will look like and will FRC potentially increase the autonomous mode time? With these powerful co-processors teams can start doing more complex things like SLAM (Simultaneous Localization and Mapping) and learning methods for dynamic motion planning and obstacle avoidance. In addition, some alumni have tried to do fully autonomous FRC robots which may be an interesting future for FRC.

2 Likes

By increasing the focus on autonomous by making it longer, harder, or worth more, you raise the bar to be competitive in FRC. I don’t believe this is the correct path forward for FRC, especially in the next couple years, where team retention and recruitment will probably dip. I personally am in favor of reducing the value of the “autonomous period”, while increasing the options to utilize autonomous features such as vision or line following in tele-op.

25 Likes

I agree with this option. Having difficult targets that can’t necessarily be solved mechanically (without a large amount of effort) would be one suggestion.

4 Likes

I agree that this would raise the bar to be competitive in FRC. But FRC should also try to have a competition where we can push the boundaries in software the same way we do mechanically, and I don’t know if the current competition allows that. On the robot it is mostly a controls challenge. The one area where you actually see software being pushed further is in scouting systems. We should enable this on the robot especially since autonomous systems is where a lot of work in robotics is going making FRC more relevant.

1 Like

slightly unrelated but FTC’s auto this year was relatively complex and worth around 50% of the match points and this led to a huge gap between elite teams that were able to do things like use odometery allowing the to score 50+ points in auto and less experienced teams that could only score 15
ex. of top ftc autos
1 2 3

In FRC I think it would be interesting to see longer auto periods and more complex goals but I don’t think they should be weighted as heavily to help keep competition more even

1 Like

I don’t personally see FIRST changing autonomous drastically and permanently beyond a simple gimmick like sandstorm. Probably the last thing FIRST wants to do is steepen any kind of learning curve for new teams.

1 Like

I’ve heard about teams starting to integrate ROS, but what is it? does it do? What does it allow that is not possible without it?

Vision tracking you and your alliance’s bumpers from the driver-station to optimize routes and implement backup plans

1 Like

ROS stands for Robot Operating System. It is more or less an software architecture that has many premade libraries that can do advanced processing without needing to write complex code. It also can allow for more freedom in how parts of your code communicate with each other. It is not a language however, just a framework, so your code can also be composed of several different languages. So if you have coders that know different languages, the overall program can still run with each of them.

I may have used a few terms improperly, as I am not even remotely a software developer, but I have take a college course where we used ROS. If you are interested in what ROS can do further and explained better than I, here is the about page from the official ROS website: https://www.ros.org/about-ros/.

1 Like

ROS is a robotics middleware that has been around for a while and it has a lot of packages to do things like SLAM, motion planning and other advanced robotics things. It is used a lot in research for robotics and has nice tools for logging and visualization. ROS does have a lot of challenges though. For instance it isn’t great for Real time applications and the build tools and package management is very cumbersome. ROS also has its own serialization and communication packages that aren’t as good as some of the other open source variants available.

1 Like

I see FRC’s motto as “hard, but not too hard”. The current model allows lower ranked teams to earn a place for themselves, to be successful by filling a niche. An emphasis on auto kinda takes a way from the niche, sort of like 2018, where the low bot was kinda useless in auto.

4 Likes

You can definitely push the boundaries in software even In no auto game. Look at 1114 in 2019. However not every team is able to do so.

1 Like

“starting to”?!?!?!?!?

We’ve been at this for a while now:

https://team900.org/blog/ZebROSNano/
https://team900.org/blog/ZebROS1.1/
https://team900.org/blog/ROScon-Presentation/
https://team900.org/blog/ZebraVision-6/
https://team900.org/blog/ROS-for-FRC/
https://team900.org/blog/Zebravision-5-ros/
https://team900.org/blog/NVIDIA-Presentation/
https://team900.org/blog/ZebraVision-4-Neural-Nets/
https://team900.org/blog/ZebraVision-4-Image-Capturing/
https://team900.org/blog/ZebraVision-4-Goal-Detection/
https://team900.org/blog/ZebraVision-4-Object-Tracking/
https://team900.org/blog/Zebravision-3-5/
https://team900.org/blog/Zebravision-3/

14 Likes

Why though? I don’t want to get into a whole, “what is FRC” meta discussion, and I have several conflicting opinions about FRC and fairness and leveling the playing field in general. But as a decidedly non-elite team, more complicated auto routines are something “free” we can invest more heavily in. And if they were weighted heavy, and we got destroyed by teams who took advantage of it, it would be something we could point out to the students as something we can legitimately strive for next year.

Not that a big budget is a requirement for an elite team, but I look at some builds and say wow, I wish we had the funds to attempt that. More complicated software wouldn’t fall into that same category.

2 Likes

I could see an element to the game that gives bonus point the longer a team remains hands off the controls. This way low skill resource teams can enter teliop while high resource teams attempt a longer duration of auto bonus points. Determining how or who a game peice was scored would be challenging or very manual.

5 Likes

There are some interesting points of @Connor_H argument that I find intriguing. I want to keep them in mind as I write the below.

Raising the Competitive Bar
Will raising the point value in autonomous lead to raising the competitive bar? If we want to address this, we need to understand what that phrase means. There is ambiguity. For some teams, being competitive is getting to playoffs in their division at worlds. For some teams, it mean getting picked at a regional event. So how can we definite competitive?

We may note that all of these definitions are based on the teams that are at a competition. If to be competitive at an event is to get picked, a district event and IRI still have significant different subset of robots that are competitive.

Thus, I proposed something that may seem ludicrous. Making a game harder does not raise the competitive bar. Each team was still is facing the same challenge as you. A harder game does not make everyone else better. Since competitiveness is based on other teams, not the game itself, we should not take the game into account when determining if the bar of competitiveness is raised.

Why then, do strong teams seem to dominate hard games? Their resources and skill sets that, in an easier game gave them only a minor advantage, now can give them a greater advantages. A similar train of thought can be used with autos. Hard autos merely differentiate teams with good programming and controls.

When Autos Get Harder
Want an example of autos that are hard and worth a lot of points? Look at FTC. They are regularly know for having over 30 second autos that are worth 1/3 of the max points available in the entire game. This makes autos extremely powerful.

This has made some teams absolutely unstoppable and let some people to claim that autos are overpowered in FTC. I myself was once in that camp. One should realize that this is actually not a game problem, but rather a build philosophy problem.

As a occasional pop-in mentor for a local FTC (I had plenty of other conflicts that made attending regular meetings nearly impossible) I remember going to our first this past year with a little push bot affectionately name “Egg-Cheese”. After getting 9th of 16 at the league event, students and mentors alike gather to discuss how to strengthen our robot by the next event. We discussed plans for making a possible claw to grab blocks.

After the that event, we did further analysis and realized the design time on a claw only garner use 4 more points, but a two skystone auto would give us 20 more points. So, we did what every team should have done. We threw out all plans of making the robot more mechanically complex and instead started to learn how to program better. Over the next two event, we ranked 3rd and 1st respectively. The programming made a significant difference.

FTC team need to strive for points first when designing a robot, and I have seen few teams that actually take advantage of the game set up to do so. They try to play the game, but they don’t try to play it well.

Knowing When to Stop

“To have a strong mechanical team, you need a strong mechanical team. To have a strong programming team, you need a strong mechanical team and a strong programming team.”

A harder autonomous means that teams will need to build within their means. They need a schedule and they need to stick to it. Giving a programming team enough time is critical. This sometimes means building a robot in such a way that you don’t do all the game tasks.

Questions for Forum Users
Below are some question I have about past replies.

@Happycowdance You mentioned there was a huge gap between elite teams and lower experienced teams. Do you expect anything different from elite team vs lower experienced teams? Also, 1678 demonstrated in their shop a 10 ball auto this year that scored 65 points. An average team this year scored only 8.6 points in auto (average auto score / 3) What are your thoughts on elite teams in FRC (as opposed to FTC) scoring 50+ points in auto vs an average team only scoring 8.6

@Hope I am interested to hear why you believe a low bot aw useless in auto. It seems to me that a low bot could score nearly 50% of the auto points by itself. I am also interested in knowing why you feel FRC’s motto is “hard, but not too hard”. I don’t particularly have any qualms about it, just interested to know.

Personal thoughts on auto
I personally believe autos need to have more that can be achieved in them, which FIRST has done wonderfully in 2018 and 2020. With a large number of game pieces available on the field, teams can create better autos to achieve more, with the max always out of reach. This way, we always have strong, faster machines to strive for.
Points should be on a logarithmic scale of difficulty. 2020 did this wonderfully, and if we would have gotten to see the full extend of the seasons, we would have definitely start to see teams cross the rendezvous point to try to disrupt or steal power cells from opponents.

5 Likes

good point.
I think the main problem in FTC this year was the fact that you could only really run one auto at a time so the gap was far bigger
in FRC is you had 3 teams with an 5 ball auto(drive back intake then shoot) and you were against 1678 and other two teams with 3 ball auto the gap would only be 4-6 points
In ftc this year if you had an elite team ex.(5 block auto) with a chassis bot vs two teams with 2 block autos the gap would be far bigger (15 points in a game where the average score was under 100) since you cant run both autos at the same time.

I think the FRC auto currently is more balanced than FTC this year due to the fact that it is easier for multiple teams to collaborate when doing an auto allowing the auto to be broken up into 3 parts

However I think the current state of auto in FRC is pretty good and I agree with the fact that points should be on a logarithmic scale of difficulty
If anything its FTC that needs to be changed

This right here is a major qualm I have about FTC this year. It’s very hard for two teams to collaborate on a single autonomous. This year was one of the worst in recent history. If you are forced to pick between two autos, teams feel cheated if they choose not to run theirs and their alliance partners failed.

I’ll add that amendment to what makes a good auto. Everyone should be able to easily participate in a small way without risk to others peoples autos.

Give everyone three balls and tell them to get off the line as a low bar? Awesome. Drive in a crowded space that you know each team is going to cross paths multiple times? Not so awesome. Not as a low bar.

2 Likes

First off, great post!

My opinion on the 2018 game where a low bot is usually bad, is because most playoff alliances had 2 scale bots and a low bot. One of the scale bots would work on the scale in auto, where the other scale bot would work on the switch, because most teams (99.99%) that built a low bot did not have a good auton, nor have sensors capable of coding an auton.

For my motto, I meant that a team can be successful without having a lot of skill within the team. Take our 2019 bot. It was built with only the use of hand tools, not even a band saw was used. We filled the niche of low hatch panels incredibly well, well enough in fact to advance to dcmp, where we filled the niche of defense bot really well, pushing on to worlds.

To wrap it up, FRC’s model allows teams with a low skill level to prosper, and not artificially.

1 Like

Thanks for the response. I would say there there is a correlation between low bots and weak autos, but I can pretty confidently say there was an underlying causation for both of those. The best example is the following: Eating ice-cream leads to sunburns. There is a correlation between the two, but the actual causation is a bright sunny day.

As for the idea of letting “fresher” team having a shot to prove themselves as a great alliance partner, I will agree, FRC does a wonderful job. I’m really happy that games have been including a way for everyone to be a team player.