Forest fires are a serious and deadly problem all around the world, especially in California—our home state. In 2021, 7,480 wildfires burned down a cumulative 2,281,050 acres in California alone, and with climate change, the problem is only going to get worse. Wildfires threaten our homes and wildlife, and once they spread, they can be nearly impossible to stop without seriously endangering our firefighters. One way to prevent wildfires from becoming so consequential is an early detection system.
Specifically, we decided to make an efficient RC plane that is able to fly autonomously while detecting and reporting wildfires using an onboard camera, TinyML, and a satellite modem.
____________________________________________________________TinyML Aerial Detection
There are only two possible methods for early forest fire detection: sensors placed around a set location or an aerial device that surveys land. The latter is the superior method as it is more reliable and affordable, covers more ground, and can be deployed anywhere. Also, placing sensors in wildlife can potentially cause damage to ecosystems.
Aerial devices are constrained by weight and power so using infrared cameras to detect fires is not ideal—decent cameras weigh a lot and draw too much power. TinyML resolves these constraints as regular images can be processed onboard, allowing for small, light, efficient hardware.
The dataset used was The Flame Dataset, which is composed of Aerial photographs of landscapes with and without fires burning. Other datasets such as the Fire Dataset and Forest Fire were also included. After training a CNN for 100 epochs we achieved a validation accuracy of around 96%, and with quantizing, the model was able to fit onto the memory of the Arduino Nano 33 BLE. To see more on how we trained the model check out the Jupyter Notebook.
To conserve power, the Arducam OV2640, Arduino Nano 33 BLE, and satellite module sleep for 500 milliseconds after taking each photo. The complete device (including the GPS, drawing 150 mA), has little effect on the battery life of the plane (≈ 0.3% of the total power draw). The plane can last at least 90 minutes in the air at a speed of 30 mph (traversing around 45 mi), and with more batteries (there is room) the plane could fly for significantly longer. Additionally, when flown at high altitudes the plane can cover considerably larger amounts of land in one flight.
____________________________________________________________Building the Plane
We decided to use a plane because planes generate their own lift, making them much more power efficient than, say, a multirotor. They can also cover longer distances which is useful when searching for fires in vast forests.
1. Obtain and assemble plane using included instructions.
We used the ASW28 V2 Electric Sailplane, a popular glider known to be highly efficient.
2. Obtain the following items (pictured in diagrams and listed below).
A: Pixhawk 4
B: Here GNSS GPS/compass
C: Secondary GPS/compass
D: Pixhawk Power Management Board
E: RFD900x telemetry modem
F: Airspeed Sensor
G: TBS Crossfire Diversity Nano RX
J: Airspeed Tube
K: Pitot Tube
*Note: motor and ESC included in most off-the-shelf plane kits.
3. Cut grooves in the foam for the pitot and airspeed tubes, route airspeed tube into fuselage.
4. Obtain a lightweight balsa plate to hold the required avionics. This plate is pictured in Diagram 1, supporting B and E.
5. Cut a hole in the bottom of the plane to provide the camera with a view of the ground.
6. Using double-sided tape, attach all avionics pictured in Diagrams 1 and 2 to their respective positions.
7. Wire avionics according to the included schematic (see bottom of page).
For our ground station software, we chose QGroundControl as it works well with PX4 (the firmware running on the Pixhawk flight controller). Here is an example of one of our missions. It is an interactive map that shows the route our plane took, as well as a multitude of sensor data from the flight. The plane remained fully autonomous for all but the launch, where safety was paramount. This autonomous flight, consisting of the plane traveling to multiple predetermined waypoints, marks a significant step in the future of not only autonomous flight, but public safety and specifically safety against forest fires.
A modular and efficient way of detecting forest fires is vital to safety and security in the modern world. One improvement over our current design is attaching solar panels to the wings of the plane, allowing the plane to not only fly autonomously, but also be able to fly through the night, and therefore indefinitely.