denkbots' cRi3D_2019 Part Two

cRi3D DEEPSPACE Strategy and Research

With a thorough understanding of the this season’s game and game manual along with tools discussed in Part 1 – Game Theory we are ready to talk strategy!


Strategery


Now that we have a tool to evaluate the optimal scoring of an FRC game we can add constraints to our rational agent (for example, the robot is only allowed to operate on ground level) and approximate the scoring potential of other strategies and confirm/deny our initial assumptions.

The optimal strategy we found in Part 1 had no constraints, the robot could do everything. We will consider this our “MAX” points to start.  The evaluation from Part 1 determined the following scores:

  • MAX SANDSTORM Mode: 17 pts
  • MAX TELEOP Mode: 48 pts and 1 RP
  • MAX End Game: 18 pts and 1 RP
  • MAX TOTAL: 83 pts and 2 RP

GROUND

What if we could only place a HATCH or CARGO on ground level of the ROCKET and CARGO BAY?

Assuming a robot could only place a HATCH or CARGO on ground level of the ROCKET and CARGO BAY (starting at the CARGO BAY in the end of SANDSTORM mode, which is the same as the MAX mode which nets us 17pts) we could model a match as follows (holding the same assumptions and cycle times from Part 1):

CycleActionTimeTotal
1ROCKET 1 HATCH 15.85.8
2ROCKET 1 HATCH 25.811.6
3ROCKET 1 CARGO 15.817.4
4ROCKET 1 CARGO 25.823.2
5CARGO in CARGO BAY9.332.5
6ROCKET 2 HATCH 15.838.3
7ROCKET 2 HATCH 25.844.1
8ROCKET 2 CARGO 15.849.9
9ROCKET 2 CARGO 25.855.7
10BAY 1 HATCH 17.463.1
11BAY 1 CARGO 15.868.9
12BAY 2 HATCH 17.476.3
13BAY 2 CARGO 15.882.1
14BAY 3 HATCH 17.489.5
15BAY 3 CARGO 15.895.3
16BAY 4 HATCH 17.4102.7
17BAY 4 CARGO 15.8108.5
18BAY 5 HATCH 17.4115.9
19BAY 5 CARGO 15.8121.7

With this strategy, we secure (9) CARGO with a HATCH (45pts), and one CARGO (3pts) behind a null-HATCH,  then we park our robot on the HAB (12pts).

NOTE:While we assume we are playing “by ourselves” in an imagined scenario where both of the other robots are just KOP Chassis bots, we can safely assume in any given match that we will still gain at least 3pts from the other bots driving onto the HAB.

Below are the scores for each mode of this strategy:

  • LOW SANDSTORM Mode: 17 pts
  • LOW TELEOP Mode: 48 pts
  • LOW End Game: 15 pts + 1 RP
  • MIN TOTAL: 80 pts + 1 RP

LIFT

What if we could only place a HATCH on the ground level, but also lift another robot onto the top of the HAB?

Assuming a robot could only place a HATCH on the ground level, but also lift another robot onto the top of the HAB (starting at the CARGO BAY in the end of SANDSTORM mode, in which we placed a HATCH at each of the front CARGO BAY doors scoring 16pts) we could model a match as follows:

CycleActionTimeTotal
1ROCKET 1 HATCH 15.85.8
2ROCKET 1 HATCH 25.811.6
3ROCKET 2 HATCH 15.817.4
4ROCKET 2 HATCH 25.823.2
5BAY 1 HATCH7.430.6
6BAY 2 HATCH7.438
7BAY 3 HATCH7.445.4
8BAY 4 HATCH7.452.8
9BAY 5 HATCH7.460.2
10BAY 6 HATCH7.467.6

With this strategy, we secure ten (10) HATCHES (20pts), then we head to the HAB and lift one of our KOP Chassis bots (24pts).

NOTE: While we assume we are playing “by ourselves” in an imagined scenario where both of the other robots are just KOP Chassis bots, we can safely assume in any given match that one of them will be able to be lifted.

Below are the scores for each mode of this strategy:

  • LIFT SANDSTORM Mode: 16 pts
  • HIGH TELEOP Mode: 20 pts
  • HIGH End Game: 24 pts + 1 RP
  • HIGH TOTAL: 60 pts + 1 RP

Decisions Decisions Decisions

Before we choose a strategy, we have to decide what we want to accomplish with our robot.

  • Do we want to build a robot that might perform average in the qualifying matches, but will position us to be picked onto a strong Alliance for the Finals?
  • Do we want to build a robot that will best position us to win all of our matches and be a top Alliance Captain?
  • Do we have limited resources and want to build the simplest robot that can give us the highest impact in any given match?

That is up to each team to decide for themselves, as a group. Approach this question realistically, but don’t sell yourself short. Pick an attainable goal and stick to it. For the purposes of this article, we are going to choose to accomplish a goal in-between winning over 50% of our matches at any given event and winning a world championship: We are going to compete for a State Championship.

To accomplish this goal, our robot will need to qualify for the State Championship by winning a District Event.  We will define this goal as our Robot Mission Statement. This term will be the basis of our next article, so tuck it in the back of your head for later.

Given our models, observations, and Robot Mission Statement; we are going to choose the strategy that allows us to have the largest individual impact on a qualifying match. This means we will evaluate designs for a robot that can most efficiently retrieve and deposit a HATCH and CARGO from the LOADING STATION.

Now this is a very good stopping point for your first “brainstorm/strategy” meeting. Before students leave, we always give the most important homework assignment of the season: RESEARCH EXISTING TECHNOLOGIES!


Research


Once you have gone over the game, ran through the game theory, and reasoned out an initial strategy it is time to step back and gather perspective on your assumptions and aspirations.  A great way to do this is to see what other teams were able to accomplish in previous games with similar scoring objects and objectives.  For example, this year’s game has tote like object and a climbing objective.

If we look back at previous games that had similar disc-like objects, we find:

If we look for games where robots had to navigate themselves on or over vertical obstacles or onto platforms with no ramp, we find:

If we look for games where robots had to manipulate standard sized balls into a goal, we find several examples but we are just going to pick our favorite game as one:

By researching the strategies used in previous games with similar scoring objects and objectives, and by researching the mechanisms teams used to manipulate those scoring objects and complete those objectives, students can put into perspective what is possible and begin to formulate better and more efficient ways of accomplishing the game objectives by building on the work of their forerunners.

This is the same approach college engineering students use when evaluating their Senior Design Projects, scientists use when writing papers to be published, and inventors use when patenting new creations.  This process allows us to, as Sir Isaac Newton once said, stand on the shoulders of giants.

Below are the game animations for the aforementioned games to research and a match from each game:

Summary


So what value did these exercises add?  By maximizing each individual scoring objective, and questioning our previous assumptions, we were able to determine the impact of each scoring objective.  By walking through the optimal match flow for each maximized scoring objective, new strategies and design considerations can be found.  By researching previous games with similar scoring objectives, strategies can be put in perspective and novel approaches can be uncovered.

These exercises also build buy-in with the students and mentors on a strategy, reducing confusion and conflict later in the season, and provide a focus moving forward for defining Robot Requirements.

Hop on over to Part 3 – Robot Requirements for more fun!

If you want to learn more about this process, check out our presentation from the 2017 Purdue FIRST Forums on Robot Requirements!

Please feel free to join the conversation on our Facebook or Twitter with your questions, thoughts, and feedback on these articles!

Leave a Reply