Software apps and online services
Hand tools and fabrication machines
Why should we be concerned about wildlife fires?
In 2020, California lived the worst wildlife fire's crisis of its recent history, which burned millions of hectars of forests and counted several deads. During the same year, Australia also had to face fires that were eradicating all wildlife on its way and that for more than a month!! Similar worrying numbers could be used to describe wildlife fire events all over the world.
In this context, and taking into account the rise of unmanned vehicles such as drones and mobile robots, it becomes urgent to tackle this issue using IoT and robotics.
How are wildlife fires detected so far ?
Indeed a lot of solutions have arisen this past few years such as stationary 360° cameras, drones and even sensor networks.
All these solutions have major advantages : stationary cameras have a high accuracy and response time, drones can cover larger areas of forest and sensor network can target residential areas and help evacuating nearby resident faster.
But on the other hand, they all have important drawbacks : Stationary cameras and sensor networks require a complex infrastructure, have difficulties with wireless communication (due to ground placement) and low position flexibility, this implies higher costs. Drones are very flexible and their placement over the forest makes telecommunications easier, but their huge issue is autonomy.
In a nutshell, we believe that the ratio between fire detection efficiency and the cost of the installation of our solution is much better than any of the other existing solutions as it is illustrated by the following graph :
Where affordability is the device's cost in installation and maintenance, precision correspond to the accuracy of the detection, rapidity is the time needed to transmit data to the server, and finally the range is the area that the device is able to monitor for fire detection.
How our solution solves this issue ?
After studying the current solutions, we asked ourselves : "The drone is really a nice solution, we should think how to avoid the autonomy issue.." And after some thinking time, an idea came to us : "Of course, a blimp does not need to compensate gravity, so the autonomy is increased!!"
Our solution has many advantages, among which :
- It is low power consumption. Indeed, once the blimp is at its cruise height, it can float randomly above the forest. It is only if it loose altitude or if it wander too far from the forest that its motors should be activated. This way, it presents the same advantages than drones, while consuming less energy.
- It is low cost : the total cost of the blimp compared to its efficiency in fire detection is really low. Moreover, because it can monitor a wide part of the forest, not a lot of blimps are required at the same woodland.
- It is less sensitive to localization and communication problems: compared to a ground solution, GPS acquisition and data transmission is less likely to be degraded by obstacles such as trees.
- It is reactive: When a fire is detected, our blimp sends an alert within 0-2 minutes which allows firefighters to react rapidly.
Now that the context has been set and that the main advantages of our solution have been stressed, we can describe our solution in more details in the following sections.THE PRODUCT
Why we chose a blimp ?
In the 1920, the blimp lives its golden hours : to take only one example, the Graf Zeppelin built in 1928 will break the record of the first world tour in 1929 and will transport 13 100 passengers in less than 10 years.
Beaten by the progress of aviation in speed and cost, the blimp will be left aside after the second world war.
But this is true only for people and goods transportations : for aerial monitoring, its characteristics make it the best choice possible : using the wind as a guide, it can travel long distance with minimal energy consumption, gather and send data quickly and is pretty easy to set up.
Finally, as our embedded load is light (less than 150g), it requires a small volume of gas to sustain it in the air (around 0.02 m³, calculated based on Archimedes' principle).
What does our blimp do and how is it moving?
→ Guidance system and motorisation
There are three propellers on our blimp: two have their axis perpendicular to the ground and will be needed to get more or less altitude. It will be used at take-off and when the blimp looses altitude. This will be monitored regularly using GPS data. The last motor, is actuated by a servo motor. In this way, it can give directions to the blimp and help it reach different areas of the forest when necessary. Usually the blimp moves randomly in the x-y plane to reduce power consumption.
→ Normal mode functionning
Once in the air and above the targeted woodland, the main functionality of the blimp is to constantly monitor important metrics forfire detection. To do so, it is equipped with a thermal camera to detect heat source. It has also, gas sensors to sense the gases linked to fire outflow. Finally, several other environmental sensors monitor the current climatic conditions such as a pressure sensor, temperature sensor, etc...
To get a closer look
Here is a quick description of each part of our blimp :
→ The balloon
First, we have the suspension system which is a latex balloon inflated with helium, a safe gas known for its propriety of being lighter than air.
To compute the necessary volume of the balloon, we based our computations on the payload of the nacelle and the Archimede's principle.
→ The nacelle
To attach all the hardware and electronics to the balloon, we designed a 3D printed nacelle in plastic. It will store all the components in the same space and protect them from the harsh conditions, such as heavy wind or rain. When the electronics design will be finished, all components will have a fixed place in the nacelle in order to optimize the space, reduce the length of the cables and avoid contact between electric cables.
→ The embedded system
In order to detect wildfires and send an alert to the firefighters, we need to have sensors, Embedded intelligence, power supply, communication modules and positioning equipment. The next paragraphs describe these systems :
Sensors: We planned to use an CH4, C2H4 and C2H2 sensors to detect pyrolysis gases (see research paper), CO2 sensor for smokes, Thermal camera for infrared radiation and Camera for visible light radiation. In this first prototype, we chose a low resolution thermal camera alone because it is the main sensor. But for our next prototype we will add the other sensors and use a higher resolution thermal camera.
EmbeddedAI: In order to process the incoming information, we use the Quick feather devboard. It allows us to collect data from sensors, apply an artificial intelligence layer to it and send our output through any communication protocol.
Powersupply: Our blimp is supplied by a li-po battery that can be charged before flight. In the long run, we are evaluating the idea of adding a flexible solar pannel in the top our blimp to harvest solar energy and allow us to have a higher autonomy.
CommunicationModules: To send the processed information, we connected a Wisol module (Sigfox nework) to the Quick feather devboard. We chose this communication network because it is long range and low power consuming.
→The positionning system
Because it requires extensive field testing, bigger budget and time investment, we decided to focus on the outdoor guiding system of the blimp in a second Proof of Concept. Nevertheless, we have led a feasibility study on guiding the blimp with servo motors. Thanks to several sources, we are fairly confident that such a guiding system is achievable and at low cost, especially because our application do not require a constant nor precise positioning but rather some corrections over time.
For instance, we relied on this thesis that focus on a blimp's motorisation that might work in our case, even though it is an indoor blimp. We have also found a video showing how to guide a balloon easily with low-cost components. These applications are pretty similar to ours and give us an insight on how we could proceed on the future.INSTRUCTIONS
In order to reproduce our POC, you should follow the next steps:
These are the steps to add our IA to your QuickFeather devboard, we used a windows 10 64 bit OS (we will explain it with our setup, but this may work with another setup):
- Follow the instructions in the Getting started on Quickfeather board and Pre-requisites instructions that can be found in the next link : https://github.com/QuickLogic-Corp/qorc-sdk.
- Open a bash or command prompt terminal in the cloned directory.
- Go to the next directory : qf_apps. Clone our repository in there by opening the comand prompt and executing :
git clone https://github.com/kristianharge/forestWarden.git
- Enter the forestWarden directory, go to the GCC_Project and build the executable :
- Now, the executable is in the output files. We will copy it in the TinyFPGA-Programmer-Application :
cp ./output/bin/qf_ssi_ai_app.bin ../../../TinyFPGA-Programmer-Application/
- Connect the Quickfeather devboard to your computer and push the reset button followed by the user button (for more precise information see the Program section at : https://github.com/QuickLogic-Corp/TinyFPGA-Programmer-Application/tree/29f3da80d38bf928548ee31897faf924bf30f009)
- Go to the TinyFPGA-Programmer-Application directory and execute the following commands :
python tinyfpga-programmer-gui.py --port COMX --mode m4 --m4app ./qf_ssi_ai_app.bin
- Use the schematic file in this project to make all the necessary connections.
- Connect the QuickFeather devboard to the infrared camera via the I2C pins available in the quickfeather devboard. Do not forget to use the 3V3 and GND pins to power the thermal camera.
- Connect the sigfox module to the QuickFeather with the UART pins.
- Verify that all the connections are good and add the battery to the QuickFeather via the JST connector.
- Use a 3D printer to print our basket and position the electronics into it.
- Inflate a 60cm of diameter balloon with helium
- Attach the nacelle to the balloon with fishing wire (or any method that you could find, actually using two-faced tape might be a better option)
- Go to ubidots.com and follow the steps to create an ubidots account.
- Create a new blank device in your panel and choose the name that you want.
- Add a new raw variable named data.
- Open a new tab and stay on this page.
- Create a sigfox backend account following these instructions : https://support.sigfox.com/docs/backend-user-account-creation
- Register a your Wisol module following this instructions : https://support.sigfox.com/docs/register-a-device
- Go to the DEVICE TYPE tab and choose the device type name that you just created.
- Click in Callbacks in the left panel and the "new" button in the top right of the screen
- Change the parameters to match the next image (all but the Url pattern) :
- In the url pattern section, paste the next url changing devicename and ubidots_token with the device name and ubidots token shown in your ubidots device page : https://industrial.api.ubidots.com/api/v1.6/devices/devicename/?token=ubidots_token
- Go back to your ubidots device and in the Data tab you should find a dashboard tab. Click on it.
- Add a gauge widget and in variables add the data variable of your device
- MotorisationFor a Proof of concept, we have focused on the smart features' development and the mechanical consistency of our product. It was indeed important for us that our electronics would be well designed to fit in a small nacelle in order to limit the total volume of the product without making any compromises regarding its fire detection capabilities.For this reason, we solely described how we would like our blimp to navigate in the air with a high confidence that with enough testing, it would be possible to create a robust motorisation and navigation system.In the future, we have therefore planned to following steps :1) Assign space in the nacelle for the three motors and the servo motor, with holes for the motor shaft to be outside.2) Connect the central motor to a servo in order to rotate around the z-axis3) Connect all the motors to the motherboard to control the system's speed or and position4) Test the system in a protected environment to validate the data transmission and the speed control's consistency5) Test the system in realistic conditions and verify its robustness. If necessary, integrate a wind compensation in the speed control
- AssemblyFor the second validation point of our proof of concept, we wanted to validate the size and volume of the balloon sustaining the nacelle. For these reasons, we have used firm strings to keep the nacelle attached.This can validate our global flotation concept and the dimensioning of our electronics and hardware.Nevertheless, much more efficient ways exist to have an interdependent structure which is also more aerodynamic. One of these ways, and the one that we would like to explore in the future, is to have both the balloon and the nacelle gathered and maintained in a bearing rigid structure.This way, there would be no chances for the nacelle to be ripped from the balloon and it reduces the balloon's deflation risks.
- NacelleAs explained in the previous paragraph, the nacelle will be changed in the future. These changes will not only concern the nacelle's support with respect to the balloon.Once we will reach the final version of our electronics setup (see electronics improvements for an insight on how we want to improve the sensing capacities of our product), we will find the optimal layout to fit everything in the smallest nacelle possible. To make this layout permanent and to ease our product's reproducibility, we will embed notches and supports on the nacelle to place all the components easily.
In the fire detection field, we should add the planned sensors (see "The product" section in this document). This will help us to have a higher degree of accuracy, to detect early fires and to have an accurate position.
The field in which we need to do the most improvements is the navigation field. As in this research paper shows, we should add three motors and a servo motor to control height and direction.
Finally, all of these improvements should be built in our own PCBs to control every component that we want.
Extra research : We should analyse the utility of adding a solar panel in the top of the blimp to harvest some solar energy, research for a network that could be used where sigfox is not available. And it might be useful to add an extra microcontroller responsible for the navigation alone.
When all the new sensors will be bought, we should add them to the AI and train it over a more realistic dataset.
When we will have the mechanics ready, we should add a navigation software may be a new microcontroller should be used in order to achieve this.