> For the complete documentation index, see [llms.txt](https://docs.revrobotics.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.revrobotics.com/classroom-activities/large-activities/fire.md).

# Feisty Fires Challenge

Every year, thousands of wildfires ignite worldwide burning countless acres of land and damaging homes. New technologies and partnerships have helped firefighters conquer these blazes, but it’s not without danger as conditions can unexpectedly change.

In this challenge, students will team up to create an autonomous program for a robot drivetrain to showcases a robot's ability to navigate an area and identify active wildfires.&#x20;

{% hint style="info" %}
This activity is designed to be a skill-building challenge that can be hosted within a single classroom or as a community event!&#x20;
{% endhint %}

## Activity Description

Teams must program their robot to autonomously navigate the play area and locate the forest areas currently in danger (marked by red tape). Once located, the robot should stop and raise it's signal flag, powered by a servo, before continuing on.

**Safe** and **Danger** Zones will be randomized once all robots are checked in for the round.\
Points are awarded for accuracy and time!

## Materials

* Boxes, such as the [Orange Storage Tote](https://www.revrobotics.com/rev-41-1215/), to serve as Tree Groves (QTY 6)
* Tape (colors can be swapped based on availability)&#x20;
  * White or Black
  * Red
  * Green
* A4 Paper (8x11 paper) for the Brush Zones
* Tape Measure
* Timing Device&#x20;

### Robot Materials

Robot Drivetrain:

* [Class Bot V2](https://docs.revrobotics.com/duo-build/ftc-starter-kit-class-bot)
  * [Class Bot V2 Drivetrain with servo](https://docs.revrobotics.com/classroom-activities/multiple-focus/bumper-bots#student-files)
* [Mini-Bot](https://www.revrobotics.com/content/docs/MiniBot-Guide.pdf)
* [C-Channel Drivetrain](https://docs.revrobotics.com/duo-build/channel-drivetrain-build-guide)

Recommended REV Robotics Kit options:

* [*FIRST* Global Competition Kit](https://docs.revrobotics.com/first-global)
* [EDU Kit V2](https://www.revrobotics.com/rev-45-2041/)
* [FTC Starter Kit V3.1](https://www.revrobotics.com/rev-45-3529/) and [Sensor Bundle](https://www.revrobotics.com/rev-45-1885/) or [REV Color Sensor V3](https://www.revrobotics.com/rev-31-1557/)

{% hint style="success" %}
Because this challenge focuses on programming, one robot kit/drivetrain may be shared across multiple groups.&#x20;
{% endhint %}

## Field Set Up

<figure><img src="https://798570500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyVmijj3v4kilmwUNybDv%2Fuploads%2Fj1wTQE2SlvXpHAHi8tml%2Fimage.png?alt=media&amp;token=239a9b6d-41ca-4ec9-8b59-da5c3bb0e2c5" alt=""><figcaption></figcaption></figure>

Feisty Fires is played on a 3m x 2m field that can be adjusted to accommodate space limitations. The layout provided is one example of how zones may be oriented and marked.&#x20;

The outside perimeter of the field should be marked with tape, or another material.&#x20;

### Field Elements

* **Tree Groves** are formed using an Orange Tote or similar sized box that creates an obstacle the robot must navigate around.&#x20;
* **Brush Zones** are flat areas, marked by paper that robots must navigate around without a physical barrier that prevents entry into the zone.&#x20;
* **Guiding Lines** are marked using tape and do not change after set up. These lines are intended to allow the use of color sensors for line following. The use of white or black tape is recommended depending on the color of the play area flooring.&#x20;
* **Danger** and **Safe** **Zones** are randomly marked with \~25mm wide red and green tape after all robots are checked in. If allowing teams to run their robots multiple times, the locations will need to be re-randomized.
  * Tape may be substituted with construction paper secured under the bins of the Tree Groves

#### Full Field Dimension Document:

{% file src="/files/jZHWivRiKtHLpHNpxFoK" %}

## Feisty Fires Rules

### Robot Rules

* [ ] The robot must run autonomously after being started.
* [ ] The robot must include at least one color sensor. Additional sensors are allowed.
* [ ] The robot must fit within a 408mm x 408mm x 408mm space and may not extend past this space.
* [ ] The robot must include a servo controlled flag that raises upon correct identification of a Danger Zone. The flag must be clearly visible (recommended 50mm x 50mm size)

### Game Rules

#### Basics

* [ ] Robots must remain within the designated play area.
* [ ] Robots may not enter, push, move or otherwise displace the Zones.
* [ ] Only one robot is permitted in the play area at a time.
* [ ] Teams will have 5 minutes to prepare, run their robot, and attempt the challenge.
  * [ ] Multiple attempts to identify a Zone are allowed within the time limit. (Ex: The robot misses a Zone so the robot is brought back to the start to try again.)

#### Launch Zone

* [ ] The robot must start in the marked “Robot Launch Zone”.
* [ ] The robot is considered “inside” the launch zone so long as some part of the robot is extended into the area
* [ ] Robots may only be handled within the launch zone. Touching a robot outside of this area will result in a penalty.
* [ ] Additional points will be rewarded for robots that return to the starting area after identifying a set number of targets (see point breakdown).
  * [ ] This includes both Safe and Danger Zones.

#### Tree Grove Zones

* [ ] Before final randomization is completed, teams may be given time to check their sensor's ability to see the colors on the field and make reasonable adjustments.
* [ ] Once all robots are checked in and impounded, no more changes to robots or code may be made for the round. Final randomization for the round will then be completed.
* [ ] Danger Zones will be marked in red tape. Safe Zones in green.
  * [ ] There may be 3-4 Danger Zones per round
* [ ] A zone is considered successfully identified when a robot pauses before over the colored marker and raises its flag to a \~90 degree angle.
  * [ ] If the robot stops, but the flag is not raised OR has remained raised while moving it will not be counted as a success.

#### Brush Zones

* [ ] Similar to Tree Groves, the Brush Zones will be randomized after check in ends.
* [ ] Brush Zones will have one side marked safe and one marked as danger
* [ ] Robots may not drive through the Brush Zones in an attempt to read both markers at once. Doing so will result in an incorrect identification being marked along with a penalty.

## Playing Feisty Fires

#### Randomization

Randomization should be done after all robots are checked in and no longer accessible to teams.&#x20;

<figure><img src="https://798570500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyVmijj3v4kilmwUNybDv%2Fuploads%2FYMCHENwX2IqWi5MOacSF%2Fimage.png?alt=media&amp;token=f0c17c2a-5832-4e5b-928d-6344b9f7821d" alt=""><figcaption><p>Example of a randomized field with 4 Danger Zones for the Tree Groves</p></figcaption></figure>

#### Completing a Round

After setting up the field and randomizing, teams will take turns one at a time to test their robots.

1. Once on deck, a 5 minute time limit will be started. Teams may use this time to make quick preparations.
2. Teams will notify the judge when ready to begin the scoring attempt. On “Go” the timer will begin for the robot's run to complete the course. Time continues until the 3 minutes are up.
3. Robots will navigate the play area to find the designated Danger Zones.
   1. Robots may return to the Launch Zone after exiting to be repositioned and launched again.
   2. Robots returning after identifying 3 Zones will receive bonus points.      &#x20;
4. The judge will record points and penalties during the run.
5. When either the team has declared a run over, all locations are identified and the robot has stopped moving, or time has expired, the judge will record the time and begin score calculations.
6. Teams should check in about scoring before leaving the field.

## Scoring

{% hint style="info" %}
This activity is intended to be for fun and skill building. Scoring is not intended to reflect that seen in competitions, but should be considered adjustable to suit the needs to participating students.
{% endhint %}

While a team is attempting the challenge a judge will record the following:

* Total number of Danger Zones identified - Tree Groves and Brush&#x20;
* Final time for the run attempt
* Optional bonuses
* Penalties that occur

#### Score Breakdown

<details>

<summary>Target Scoring</summary>

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="223">Description</th><th align="center">Recorded (R)</th><th width="152" align="center">Point Value (PV)</th><th>Total Points = R x PV</th></tr></thead><tbody><tr><td><strong>Tree Groves:</strong> Number of Danger Zones Identified </td><td align="center"><br></td><td align="center">5</td><td><br></td></tr><tr><td><strong>Brush:</strong> Number of Danger Zones Identified</td><td align="center"><br></td><td align="center">10</td><td><br></td></tr></tbody></table>

Target Score (Brush + Tree Grove): \_\_\_\_\_\_\_\_\_\_\_

</details>

<details>

<summary>Time Scoring</summary>

If the attempt ends before all zones have been identified: Final Time = 180 seconds

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="283" align="center">Description</th><th align="center">Recorded (R)</th><th align="center">Time Points = 180 - R</th></tr></thead><tbody><tr><td align="center">Final Time (Max 180 seconds)</td><td align="center"><br></td><td align="center"><br></td></tr></tbody></table>

Time Score: \_\_\_\_\_\_\_\_\_\_\_\_

</details>

<details>

<summary>Bonuses</summary>

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="303">Description</th><th>Check if true</th><th align="center">Bonus Points</th></tr></thead><tbody><tr><td><strong>Return to Start:</strong> Robot returned to the launch zone after correctly identifying 3 zones.</td><td><br></td><td align="center">10</td></tr><tr><td><strong>Zone Identification:</strong> Robot stopped before every marked zone in an attempt to identify its state.</td><td><br></td><td align="center">30</td></tr></tbody></table>

Total Bonus Score: \_\_\_\_\_\_\_\_\_\_\_\_

</details>

<details>

<summary>Penalties</summary>

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="196">Description</th><th width="199">Recorded (R)</th><th width="158" align="center">Penalty Points (P)</th><th>Total Points = R x P</th></tr></thead><tbody><tr><td>Robot left the play area.</td><td><br></td><td align="center">10 per leave</td><td><br></td></tr><tr><td>Robot was handled outside the Launch Zone.</td><td><br></td><td align="center">10 per handling</td><td><br></td></tr><tr><td>Robot entered, pushed, moved or otherwise displaced a zone.</td><td><br></td><td align="center">10 per incident </td><td><br></td></tr></tbody></table>

Total Penalty Points: \_\_\_\_\_\_\_\_\_\_\_\_\_

</details>

#### Final Point Calculation:

(Target Score + Time Score + Bonuses) - Penalty Points = \_\_\_\_\_\_\_\_\_\_\_\_\_

#### Printable Score Sheet

{% file src="/files/93oAji92Me8oxBVTL0io" %}

## Activity Expansions Ideas

### Adding Mechanisms

While this activity is intended to focus on autonomous program, it can be expanded to involve a mechanical aspect.&#x20;

Students may design a small mechanism to "put out" identified fires by doing things like:&#x20;

* Placing an item representing "water"&#x20;
* Removing an item representing "fire"
* Launching a game piece into an open bin/box for the Tree Groves
* Completing a simple motion of touching the correct Zones instead of raising a flag

### Research Project

There are many new techologies that have been created to aid with both identifying wildfires and stopping their spread. This includes the use of firefighting robots of various forms!

Alongside programming their robot, students may be assigned a research project to explore one of these technologies or to create their own idea for a solution. Sharing their findings may come in the form of a short paper, presentation, or tri-fold style poster, as a few examples. This may help students to make real world connects and inspire them to think about what's next beyond their programming.&#x20;
