FRC 2022 Game Simulator

Hi everyone,

After this years challenge was announced there were many questions that crossed my mind that could only be answered once full matches were played. These are questions such as:

  • How much cargo will there be on the field throughout the match?
  • How many points will be scored by teams during the match?

These questions obviously depend on many factors such as number of robots shooting in an alliance, cargo pickup time, shooting accuracy etc.

Since we actually need to see real matches played before we can get a sense of these numbers, we are left with the only option of making educated guesses. For this reason I’ve decided to write a program that is aimed at making these guesses a bit more educated.

This program is RRSIM (Rapid React Simulator). It works by receiving a configuration with per-robot parameters such as robot velocity, accuracy, cargo collection time and also general match parameters (currently only match length and amount of time it takes cargo to exit the hub). It then simulates a match based on the parameters given, while displaying robot and cargo positions as well as points for each alliance and time remaining in match.

Video of the simulator running the default configuration:
https://imgur.com/a/O1HOrFF

Note - this simulator is far from perfect - it does not, for instance, simulate the effects of congestion on the field (robots can drive into each other freely). It also currently does not support different strategies, only collect and shoot a single cargo. However, I do think that (given the right parameters) it can help give a general idea of the state of the field during the match.

Here is a link to the github repository containing both the source code for the simulator as well as a more detailed readme (running the simulator does require you have python3 installed, as well as the packages in the requirements.txt):
https://github.com/rodykon/rrsim

Hopefully you find this useful!

Rody

5 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.