denkbots' cRi3D Part One: Game Theory

cRi3D STEAMWORKS Game Theory

Game Theory is a tool used in several fields of Science including Political Science and Economics.  For this article a very simplified version will be used where the model consists of a rational agent (it always chooses to perform the action with the optimal expected outcome for itself from among all feasible actions) competing in a mathematically defined competition.

To put it more plainly, we are going to try and find the theoretical scoring maximums for each part of the game.

Using a game theory based evaluation of the scoring system accomplishes three things:

  1. Makes sure the students understand the scoring rules
  2. Positions optimized scoring strategies at the front of the discussion leading into system strategy brainstorming
  3. Provides the team with an objective reference that can be used as an unbiased evaluation of strategies in later phases of design

To start this article, it is assumed that the reader is familiar with this season’s game and corresponding game manual.

To begin, we will break the game into three sections for evaluation:

  • Autonomous Mode (15 Seconds)
  • Teleoperation Mode (1 Minute 45 Seconds)
  • End Game (30 Seconds).

In each section we ask: What are all of the ways our robot can score points?  Are any of these scoring methods mutually exclusive (for example, any given piece of FUEL can only be put in one goal or the other)?  Do any of the scoring methods share casual relationships (for example, ROTOR engagement is caused when a set number of GEARS have been installed)?

For reference we will add a copy of “Figure 3.2 – Zones and Markings” from the game manual to clarify location terminology.

Figure 3-2: Zones and Markings
Figure 3-2: Zones and Markings

Autonomous Mode

In Autonomous Mode, the robot is placed in contact with its ALLIANCE WALL with no more than ten (10) pieces of FUEL and one (1) GEAR.  The game manual (Table 2-1: Auto Point Values) details that a robot can score points in this mode by:

  • Cross the BASELINE (5 pts)
  • One (1) fuel in High Efficiency Goal (1 pts, 1 kPa)
  • Three (3) fuel in Low Efficiency Goal (1 pts, 1 kPa)
  • Rotor turning (60 pts)

If the robot deposits their FUEL in a Low Efficiency Goal it can not deposit them in a High Efficiency Goal, and vice-versa.

Treating the robot as a rational agent, it chooses to perform the actions with the optimal expected outcomes and Cross the BASE LINE (5 pts), then Mount a GEAR (60 pts), and finally deposit their FUEL in the High Tower Goal (10 pts, 10 kPa).

This MAX Autonomous Mode achieves a score of 75 pts.

BOILER Teleoperation Mode

In Teleoperation Mode, the robot is located in the friendly KEY from the end of Autonomous Mode. The game manual (Table 2-2: Teleop Point Values) details that a robot can score points in this mode by:

  • Three (3) fuel in High Efficiency Goal (1 pts, 1 kPa)
  • Nine (9) fuel in Low Efficiency Goal (1 pts, 1 kPa)
  • Rotor turning (40 pts)
  • Ready for takeoff (50 pts)

Also, the game manual (Table 4-1: FIRST STEAMWORKS rewards) details that a robot (or robots) can also score Ranking Points (RP) or playoff points (PoP) by:

  • Pressure Threshold (ALLIANCE exceeds a threshold pressure of 40 kPa) (1 RP or 20 PoPs)
  • ROTOR achievement (all four (4) ROTORS turning) (1 RP or 100 PoPs)

If the robot deposits FUEL a Low Efficiency Goal it can not deposit that same FUEL in a High Efficiency Goal, and vice-versa.  Once the required number of GEARS have been placed, a ROTOR can be turned.

For reference we will also include below a modified version of “Figure 3.22 – HOPPER locations” from the game manual to clarify how we reference HOPPERS:


Figure 3-22 "HOPPER locations" mod
Figure 3-22 “HOPPER locations” modified

Treating the robot as a rational agent, it chooses to perform the actions with the optimal expected outcomes and travels out of the KEY to the first HOPPER (opposite the scoring table side, 6 ft 6½ in straight down from ALLIANCE WALL to HOPPER), engages the opening mechanism to collect 50 FUEL, then returns to the friendly KEY and deposits 50 FUEL in the High Efficiency Goal (16 + 2/3 pts, 16 + 2/3 kPa).

NOTE: It should be noted that any one robot can only reliably collect 50 of the 100 FUEL in any given HOPPER due to the maximum width of a robot (40 inches aka 3 ft 6 in) and the dimensions of the Containers in the HOPPER (each Container is 2 ft 2 ½ in wide and the space between them is 2 ft 6 in, with the opening mechanism centered between them at 1 ft 10 in wide).

In FRC games, a repeatable set of optimal actions is called a Cycle.  A challenging part of FRC Game Theory is estimating cycle time.  One way to estimate cycle time is by humans acting out the actions with game pieces, simulating a robot by “duck walking” (this forces the student/mentor to move at approximately the same rate as a kit-chassis) while not being allowed to bend their elbows while manipulating game pieces (this forces the student/mentor to articulate their shoulders with a game piece at approximately the same rate as a geared Fisher-Price motor).  For our analysis, we will make a few assumptions:

ASSUMPTIONS:

  • We will assume an average robot speed of 10 ft/s; If you think your robot will be faster or slower than this, just re-calculate using your desired robot speed.
  • We will assume an average FUEL deposit rate of 5 FUEL/s in the High Efficiency Goal. If you think your robot will be faster or slower than this, just re-calculate using your desired deposit rate.
  • We will assume an average FUEL deposit rate of 10 FUEL/s in the Low Efficiency Goal (this is because we assume a robot would just dump FUEL into the Lew Efficiency Goal instead of shooting them). If you think your robot will be faster or slower than this, just re-calculate using your desired deposit rate.

This allows us to calculate our initial cycle time as follows:

  1. ~ 1 s to travel to the HOPPER
  2. ~ 2 s to align the robot to engages the opening mechanism
  3. ~ 4 s for the FUEL to be collected (see HOPPER video above)
  4. ~ 1 s to travel to the KEY
  5. ~ 3 s to align the shot
  6. ~ 10 s for FUEL to be deposited in the High Efficiency Goal

Time for 1st Cycle: 21 s

Now, back at its original location, the robot again chooses to perform the actions with the optimal expected outcomes and repeats the previous actions, this time using the second HOPPER (opposite the scoring table side, ~ 27 ft 2 in straight from down ALLIANCE WALL to HOPPER), and deposits another 50 FUEL in the High Efficiency Goal (16 + 2/3 pts, 16 + 2/3 kPa).

Adjusting for longer travel time (~2.5 s), our 2nd Cycle time is 24 s

Once again at its original location, the robot again chooses to perform the actions with the optimal expected outcomes and repeats the previous actions, this time traveling to the fourth HOPPER (on the scoring table side, ~30 ft 4 in diagonal across from KEY to HOPPER) then returns to the friendly KEY and deposits 50 FUEL in the High Efficiency Goal (16 + 2/3 pts, 16 + 2/3 kPa).

Again, adjusting for longer travel time (~3.5 s), our 3rd Cycle time is 26 s

Finally, the robot completes its final cycle, this time traveling to the third HOPPER (opposite the scoring table side, ~ 47 ft 9 ½ in straight down from ALLIANCE WALL to HOPPER) then returns to the friendly KEY and deposits 50 FUEL in the High Efficiency Goal (16 + 2/3 pts, 16 + 2/3 kPa).

For the last cycle, adjusting for longer travel time (~5 s), our 4th Cycle time is 29 s

These four cycles took 100 s and accumulated 66 pts and 66 kPa, achieving the Pressure Threshold and earning 1 RP.

This MAX BOILER Teleoperation Mode achieves a score of 66 pts + 1 RP.

GEARS Teleoperation Mode

If we follow the same process as above for a cycle in which the robot travels from the Airship to the Retrieval Zone, only retrieving and placing GEARS, we can compare this to our BOILER Teleoperation Mode.

Taking into account ~ 1 s to travel from the KEY to the starting line (11 ft 10 in from ALLIANCE to starting line) at the top of the Airship, we can calculate our cycle time, starting from the top of the Airship going to the Retrieval Zone (~ 44 ft diagonal), as follows:

  1. ~ 4.5 s to travel to the Retrieval Zone
  2. ~ 2 s to align the robot to receive a GEAR
  3. ~ 1 s for the GEAR to be collected
  4. ~ 4.5 s to travel to the Airship
  5. ~ 2 s to align the GEAR
  6. ~ 1 s for GEAR to be deposited

Time per Cycle: 15 s

With this cycle time, 7 cycles can be completed in Teleoperation Mode.  Taking into account the ROTOR turning from Autonomous Mode and the Reserve GEAR, 8 deposited GEARS allow two additional ROTORS to turn.  Two additional turning ROTORS scores 80 pts.

Therefore, the MAX GEARS Teleoperation Mode achieves a score of 80 pts.

End Game

A rope cannot be dropped until the final 30 seconds of the match (aka in the End Game).

In the End Game, the robot is at the end of its last completed cycle in Teleoperation Mode. The game manual (Table 2-2: Teleop Point Values) details that a robot can score points in this mode by:

  • Ready For Takeoff (50 pts)

Treating the robot as a rational agent, it chooses to perform the action with the optimal expected outcome and gets Ready For Takeoff.

This MAX End Game achieves a score of 50 pts.

Final Score

  • MAX Autonomous Mode: 75 pts
  • MAX BOILER Teleoperation Mode: 66 pts + 1 RP
  • MAX GEAR Teleoperation Mode: 80 pts
  • MAX End Game: 50 pts

MAX BOILER TOTAL: 191 pts + 1 RP

MAX GEAR TOTAL: 205 pts

Summary

So what good has this exercise done?  By walking through the match as a rational agent, the flow of a match can be better understood.  By picking the optimal actions, necessary robot functions begin to take shape.  By approaching the game systematically, rules and strategic advantages provided by those rules can be uncovered.

This exercise has also provided a baseline to evaluate other game strategies against and to help define robot functions from.

Head on over to Part 2 – Strategy and Research for more fun!

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

Leave a Reply