An Optimised Satellite Constellation for Bushﬁre Detection through Edge Computing

: The end of 2019 marked a bushﬁre crisis for Australia that affected more than 100000km 2 of land and destroyed more than 2000 houses. Here, we propose a method of in-orbit bushﬁre detection with high efﬁciency to prevent a repetition of this disaster. An LEO satellite constellation is ﬁrst developed through NSGA-II (Nondominated Sorting Genetic Algorithm II), optimising for coverage over Australia. Then edge computing is adopted to run a bushﬁre detection algorithm using several constellation satellites as edge nodes to reduce ﬁre detection time. A geostationary satellite is used for inter-satellite communications, such that an image taken by a satellite can be distributed among several satellites for processing. The geostationary satellite also maintains a constant link to the ground, so that a bushﬁre detection can be reported back without any signiﬁcant delay. Overall, this system is able to detect ﬁres that span more than 5m in length, and can make detections in 1.39s per image processed. This is faster than any currently available bushﬁre detection method.


Introduction
Bushfires have been associated with Australia annually from October through to March since breaking off from the Gondwana supercontinent [21]. However, the average surface air temperature of Australia has increased over the past century due to climate change [22]. Hence conditions that lead to higher bushfire risks such as high temperature, low humidity and low rainfall have all been on the incline since the turn of the century [22]. As a result, at end of 2019, Australia was in a bushfire crisis. Just within the state of New South Wales, the fires destroyed more than 2000 houses and forced many people to seek shelter elsewhere. By the end of 2019, the total area affected by bushfires were about Sentinel can detect bushfires within Australia [27]. However, as the revisit times of these satellites are very high, their observations are unable to give real-time fire detections. The Himawari-8 satellite can provide fire detections in 10 minutes as it is in a geostationary orbit [28]. However, its sensor has a large resolution (5 km), thus can only see bushfires that are at least 5 km in length [1]. There is no current method of bushfire detection that is both able to detect small fires and to make detections under 10 minutes. Here we propose a constellation of remote sensing satellites for bushfire detection, equipped with a novel edge computing technology to achieve this capability.

Development of an Optimised Satellite Constellation
Here, we use a multivariable optimisation algorithm to find a constellation structure that can give us the lowest transit time and the highest coverage of Australia using the least number of satellites. To achieve this, we need to methodically determine the most suitable fitness function, imaging payloads and the particular optimisation algorithm to use.

Development of an Optimised Bushfire Detection Method
In most instances, bushfire detection and remote sensing are done by sending the satellite images to the groundstations to be processed [27]. The time taken to transmit and receive data is proportional to the amount of data in the images sent, as shown by the following Equation.
Time taken = Data amount Data rate As high resolution images contain a large amount of data, such processes tend to be timeconsuming. By processing the images onboard, we can downlink only the coordinates of the locations of fires to the groundstation, reducing the data size and the time taken.
Currently, computing speeds on satellites are significantly lower compared to groundbased computers. This is because satellites are required to use radiation-hardened equipment [30]. As radiation hardening requires extensive testing and development, most advanced processors currently available on the ground do not have radiation-hardened equivalents. Thus if image processing is to utilise a single satellite-the same satellite that takes the image-, the time taken would not be less than the time taken for ground-based processing.
Edge computing using multiple nodes provides a solution to this problem.
By definition, edge computing is the process of completing requested tasks closer to the requester to save time and storage [32].
Our aim here is to use edge computing to divide the task of processing an image among several satellites in the constellation in the interest of saving time. However, splitting up the image and distributing it to other satellites requires inter-satellite communication links.
This can be a network of UAVs or geostationary satellites [32].
The following section describes the methodology we have used to create an edge computing satellite constellation while overcoming complications that arose at different stages of the project. The overall results are then analysed in the following section, followed by a discussion on how this research adds to the existing literature on constellation development and edge computing. Lastly, a conclusion is given to summarise the results obtained.

Methods
We start by designing our constellation structure, which consists of picking out suitable imaging sensors for satellites and constructing an optimisation process to obtain the orbits that give the best coverage and transit times. We then develop an edge computing-based on-orbit image processing algorithm to provide fast and efficient fire detections.

Development of an Optimised Satellite Constellation
The problem we wish to address in this section is the following.
What set of orbits provide the shortest revisit times and the most satellites over Australia at any given point in time?
2.1.1. Optimization to obtain the best coverage and transit time from the constellation In this section, we use NSGA-II (Nondominated Sorting Genetic Algorithm II) for optimisation, as NSGA II is faster to run compared to other optimisation methods and seldom gets stuck in local optima [15]. The structure of the algorithm is given in Figure 1. Only the chromosome and fitness function vary from problem to problem when implementing NSGA-II. Thus, we have to wisely choose both before the start of the optimisation process. After analysing the outcomes of representing the constellation as a whole and as individual satellites in the optimisation process, it can be found that representing the constellation as a whole can generate orbits with more coverage using less total number of satellites [15]. Thus, we use this technique to generate a chromosome. A chromosome (x) is then encoded to contain six genes in the order given in Table 1.

Parameter Position in the chromosome
Semi major axis (a) x(1) Eccentricity (e) x(2) Inclination (i) x(3) Number of orbital planes (P) x(4) Relative spacing between satellites in adjacent planes (F) x(5) Number of satellites per plane (n) x (6) This method of constellation representation is often used to represent Walker constellations [17]. Ascending nodes of each plane of satellites is placed 360/P. Thus, the right ascension of the ascending nodes (Ω) of each plane is 360/P degrees apart. In each plane, the satellites are separated 360/n degrees. Thus, the argument of periapsis (ω) of satellites in a single plane is 360/n degrees apart. Lastly, the true anomaly of equivalent satellites in adjacent planes is 360F/N degrees apart, where N is the total number of satellites, obtained by N = nP. Thus, the mean anomalies are also 360F/N degrees apart [16]. These relations allow us to convert these six parameters to Keplerian parameters.
The upper and lower limits of the genes in our chromosome also need to be set so that our solution space is in the expected region of space. We are searching for a low Earth orbit constellation; thus, we restrict the orbital altitudes to 200 km -1000 km. Thus (R e + 200)km ≤ a ≤ (R e + 1000)km, where R e is the radius of Earth and is taken to be 6371 km [14]. As a is relatively small, we cannot make our orbits highly eccentric without having their perigees be inside (or on the surface of) the planet. Thus we restrict our range of eccentricities to 0 ≤ e ≤ 0.05. We also limit P to 1-100, n to 1-50 and F to 1-8 such that a constellation with at most 5000 satellites can be devised. It can be noted that as we can optimise P and n, we can optimise the total number of satellites in the constellation.

Fitness Function Determination
Now that we have our chromosomes encoded and the limits of each gene set, we go on to the derivation of the fitness function. Due to the nature of optimisation algorithms, the output of the fitness function must be a quantity to be minimised [18]. In our case, we need a fitness function output that is proportional to the total number of satellites and inversely proportional to the coverage over Australia.
A variable that represents the coverage is the number of satellites above Australia at a given time. We shall call this variable C from now on. The more satellites that are over the country, the greater proportion of the land is observed. Another variable that also represents coverage is obtained by the process of constructing a 200 × 200 grid through our area of interest (shown in Figure 2). The latitude and longitude of each grid point are determined, and the number of grid points that the constellation covers within a day is counted. We call this parameter P (for points covered). As the middle of Australia does not have the conditions to grow forests, they seldom experience bushfires [24]. Thus, we exclude the grid points in the middle when calculating P. A variable that is proportional to the revisit time is the average time between two satellite transits across the area of interest. We shall call this variable R. This does not represent the revisit time of an individual satellite, but the revisit time of the constellation.
We can expect that the coverage and revisit times would increase with the number of satellites [15]. However, as the launch and construction of satellites is an expensive process, we require the minimum number of satellites that still gives full coverage of the area of interest. Therefore, we must minimise the total number of satellites in the constellation (N).
Thus, the fitness function goes through the following steps to determine C, P and R and to combine them with N to form an output.

1.
Create a matrix of instances(I) to store the position data created.

2.
Create a variable P to store the number of grid points crossed as each satellite passes above the area of interest.

3.
For satellite number i = 1 to i = N, do the following.
(a) Obtain the Earth-centred inertial (ECI) coordinates of the satellite for 1

Earth Day.
First, we calculate the mean anomalies (MA) within the satellite orbit using Here, µ is the gravitational constant and t is the time. Then we use the Newton-Raphson method to obtain the Eccentric anomalies(E) from the Mean anomalies calculated, using Equation 2.
The true anomaly (f) is then calculated using Equation 3.
The radial distance to the satellite from the centre of the Earth at each point of its orbit is then calculated.
Then the 2-D orbit coordinates are determined.
Finally, the ECEF coordinates are determined by multiplying the 2-D coordinates by the following conversion matrix.
Obtain the latitudes and longitudes traversed by the satellites through coordinate conversions.
First, we have to convert the ECI coordinates to Earth-centred Earth Fixed(ECEF) coordinates by multiplying them by the following conversion matrix.
Given that: Then we convert the ECEF coordinates to longitude as follows.
The latitude is then determined iteratively using Equation 8, where R E is the radius of Earth.
If at time t, the latitude and longitude lies within the yellow section in Figure   2, denote: Count the number of grid points crossed by the satellite once it is in the yellow region in Figure 2. Add this to P.
(e) If at time t, it does not lie within the yellow region, denote:

4.
The final I matrix should take the following form.

5.
To determine C, sum the instances matrix along its columns. This tells us how many satellites are visible at each time step. Taking the average of this gives us the C parameter. 6.
To determine R, calculate the space between the consecutive 1s in the I matrix, and find the average. This gives the average time gap between transits.

7.
We have to maximise C and P and minimise R and N. Thus, the fitness function used is the following. As all parameters are of equal importance, we need to ensure that they are all on the same scale. Thus, we introduce a factor of 0.01 in front of R.

Choosing Imaging Sensors for the Satellite Network
Being able to detect small scale fires requires high-resolution imaging (a pixel size ≤ 5m) [13]. However, high resolution leads to a lower field of view (hence, smaller swath width), which increases the number of satellites required to observe the area of interest fully [12].
Note that the 200 × 200 grid constructed by the fitness function allows the distance between any two grid points to be 22.2 km [8]. Thus, when all grid points are covered, there would be 100% coverage as long as the swath widths of the constellation satellites are greater than 44.4 km, as shown in Figure 3. Thus, we need the swath width of the satellites to be greater than 44.4 km.
Hence, an image sensor must be chosen such that its sensor parameters adhere to these conditions.  In this section, we must first adopt a bushfire detection algorithm that can be conducted on-board the satellites. The Collection 6 bushfire detection algorithm is proven to provide the most accurate fire detections from images of Australia taken by the Terra satellite during the bushfire season [15]. The detailed algorithm is given in [13]. However, this algorithm is intended to be used for ground-based processing, as later parts of it rely on image comparisons. In this project, we have adapted parts of this algorithm and modified it such that it could be used onboard satellites [15].

Constructing an Edge Computing-based Image Processing Algorithm
As mentioned in the Introduction, computing speeds onboard satellites are much lower than ground-based computing speeds. One of the fastest processors that are considered to be space-grade at the moment is the RAD750, which has a maximum CPU clock rate of only 200 MHz [6]. Hence running the algorithm on a single satellite is inefficient.
Thus, here we develop an innovative, edge-computing based method that uses several satellites for onboard bushfire detection. To do so, we require inter-satellite communication, which can be achieved by a geostationary satellite [4]. With its high altitude, a geostationary satellite can maintain communications with a large number of LEO satellites in the constellation at one time.

Choosing a Geostationary Orbit for Inter-satellite Communications
Here, we choose our inter-satellite link to be a satellite in orbit similar to Optus D3.
As this is a geostationary orbit it has a constant view of Australia at all points in time [3].
The Keplerian coordinates of this satellite orbit are given in Table 2. According to Figure 4, when the distance between an LEO satellite of the constellation and the GEO satellite is greater than x, the satellites would not be visible to each other.
From Where R e is the radius of Earth and a(LEO) is the semi-major axis of the LEO orbit in question. We assume that both LEO and GEO orbits are circular to make our calculations simpler. This is a valid assumption as the eccentricities of all orbits involved are very low. Now by cosine rule: If the distance between any LEO satellite and the GEO satellite is less than x, the satellites are visible to each other. Now we can use this to determine which LEO satellites are visible to the geostationary satellite so that inter-satellite communication links can be established between them.

Steps of Image Processing Task Allocation
The following actions must take place in the given order to successfully distribute the image data among the constellation satellites, to compile the results together, and to transmit the outcome back to Earth. These steps are also illustrated in Figure 5.

1.
A satellite above Australia captures an image extracts the reflectance, radiance, latitude and longitude data for each pixel in the image and segments the image data to n parts.

2.
The satellite sends (n-1) parts to the GEO satellite.

3.
The GEO satellite receives the (n-1) segments and identifies which LEO satellites are visible to it using the calculation described in the previous section, and sends each segment to a different visible LEO satellite in the network. Each LEO satellite involved works as an edge node in this process, processing the data it receives through the GEO satellite. The GEO satellite works as the central edge node, allocating tasks to other edge nodes/satellites. What makes this an application of edge computing is the fact that none of the processing happens on the ground. Data is processed on the data receiver itself (and on other edge nodes).

Results
In this section, we provide the results obtained using the methodology discussed in the previous section. The final constellation structure, the results and performance of the onboard image processing algorithm, as well as the reduction in detection time due to the use of edge computing-based task distribution are discussed here.

Choosing Imaging Sensors for the Satellite Network
As discussed in the previous section, we require high-resolution imaging with a pixel size of at least 5 m to detect small, initial-stage bushfires [13]. We also need swath widths that are greater than 44.4 km to satisfy our criteria for coverage. Thus, we choose the RapidEye satellite sensors to be onboard our satellites. These sensors have multi-spectral

Final Constellation Structure
The final constellation structure derived has 100% coverage over the area of interest and 75.4% coverage over the middle of Australia. Its parameters are given in Table 3.

Accuracy of the Onboard Image Processing Algorithm
In this section, we provide the results from the Collection 6 image processing algorithm discussed in the methodology section. Figures 10, 11 and 12   . New South Wales as seen by Terra on 11th December 2019 [19], with the bushfires detected using the algorithm denoted in red. Detection accuracy is at 94.5%. Figure 12. New South Wales as seen by Terra on 3rd January 2020 [19], with bushfire detections shown in red. Confirmed bushfires are shown in blue. Some bushfires have gone undetected in this image, showing that our preliminary method needs to be improved. Accuracy of the detections are at 59.3%.

Edge Computing-based Image Processing Task Allocation Results
In this section, we discuss the results obtained in the innovative process of using edge computing to allocate tasks of image processing among constellation satellites. Using • t 1 -Time is taken by the onboard sensor to collect sufficient photons from the ground to achieve the required resolution. This is known as the dwell time [20]. It can be calculated using Equation 14.  [3]. Assuming our satellite has the same bandwidth, we can determine the maximum possible data rate by Shannon's theorem [29].
Here, C is the maximum data rate, B is the bandwidth, and SNR is the signal to noise ratio. The typical SNR for RapidEye satellite data (which is now going to the GEO satellite) is around 210 [13]. This gives us a data rate of : = 0.001 34 s • t 5 -This is the time taken for the GEO satellite to redistribute the data to other edge nodes for processing. We assume that the same amount of time is taken for the GEO satellite to redistribute the data to other edge nodes for processing.   the bushfire detection code to C, compile it and then count the number of lines in the generated assembly (.asm) file. Assuming that a single clock cycle processes a single line of assembly code, we can roughly estimate the time that the algorithm would take to run onboard a satellite [15].
Once the C code was compiled, it was noted that the generated assembly code had 241878560 lines. The fastest processor that is considered to be space-grade at the moment is the RAD750, which has a maximum CPU clock rate of only 200 MHz [6].
Thus, the time taken to run this algorithm can be calculated as follows: Number of lines in the assembly code Clock rate = 1 n 241878560 200 × 10 6 • t 9 -The LEO satellites need time to send the coordinates of bushfire pixels back to the GEO satellite. We will assume here that the data sent away is the same size as the data received (It is likely less than this). t 9 = Time taken for the LEO satellites to send data = Data amount LEO data rate = 559300 n 80 × 10 6 • t 10 -Time is also taken for the signal to travel from LEO to GEO, we can again assume this to be the same as t 3 .
t 10 = Time taken for the data to travel from LEO to GEO = t 3 • t 11 -Time is taken for the GEO satellites to receive data and then -if there are bushfire pixels-send data to the ground. Again assuming that the data received in this case is of the same size as the data received in t 5 , t 11 = Time taken for the GEO satellite to receive data = t 5 • t 12 -Time is taken for the GEO satellite to send the coordinates of fire pixels to the ground station. Again assuming size similarity, this time is equivalent to (and less than as the data size is likely smaller) t 4 .
t 12 = Time taken for the GEO satellite to send data to ground = t 4 • t 13 -Lastly, time is also taken for the signal to travel to the ground.  In Figure 13, the blue line indicates the time taken to process an image onboard using just one satellite, without the use of the GEO satellite or other edge nodes. It is calculated by adding up the following times.
• t 1 -This is once again the dwell time and the time taken to extract the reflectance and radiance data from an image. Thus, t 1 = t 1 = 1.000 679 6 s • t 2 -This is the time taken to process the data using just one satellite. Thus, Adding up the above times, we get the time taken for a single satellite to process an image on-orbit to be 2.22 seconds.
As seen in Figure 13, the reduction in time taken plateaus to 1.39 seconds around 35 edge nodes. Thus, there is no point in using more than 35 satellites in this process, as having more communication links than necessary could drastically reduce the power and resources of the satellites involved. The idea of using NSGA-II for orbit optimisation was inspired by a study on the 3 construction of an LEO-MEO constellation by M. Asvial [10]. However, all orbits considered 4 in this study are circular, and only one parameter-the cost of construction-is optimised. 5 The study conducted by Tania Savitri on-orbit optimisation is more similar to this project, 6 as the parameter optimised is coverage, although global [2]. Both studies only consider 7 constellations with satellites at the same altitude and inclination, while our optimisation 8 occupies a much larger range of orbits, including varying altitudes, inclinations as well 9 as eccentricities. Thus, in many ways, our project is an extension of previously conducted 10 orbit optimisation studies.

11
The RapidEye satellite sensor was chosen to be used onboard the satellites, allowing 12 us to obtain a pixel size of 5m and a swath width of 236.4 km. This pixel size is far smaller 13 than that of Aqua, Terra, Sentinel, Himawari-8 or Landsat satellites, as they all have pixel 14 sizes that are upwards of 250 m [27] [28]. Hence, a bushfire must be at least 250 m wide for 15 their detection. With the 5 m resolution, our constellation is capable of seeing bushfires 16 that are 50 times smaller. 17 The final satellite constellation obtained using NSGA-II has 100% coverage over the The image processing outcomes show that a simplified version of the Collection 6 29 algorithm can be successfully conducted on-board satellites to detect bushfires. This tech-30 nique reduces the time and cost of bushfire detections, as we no longer have to downlink 31 high-resolution images. 32 As the FIRMS data source used to calculate the data accuracy of the detection algorithm 33 contains fires detected throughout the day, comparing this data to the algorithm outcomes 34 does not reveal much about its accuracy. Hence, while it can be calculated that the 83.06%  The reason for this distribution of processing was the fact that using a typical processor 57 onboard a satellite, a single satellite would take more than 2.2 seconds to detect bushfires 58 out of a single image obtained. As seen in Figure 13, the time taken for the edge network-59 based processing is much less compared to this. Thus, this combination of force solves the 60 issue of time taken for onboard processing.

61
With the use of a GEO satellite as the inter-satellite link, there is a constant ability to 62 downlink data to the groundstation without delay. If the GEO satellite were not available, and Landsat satellites working in combination [27]. It is even less compared to the 10 min 67 detection time of the Himawari-8 satellite, which can only see bushfires that are at least 2 68 km long [28]. However, having to establish multiple communication links may drain the 69 power of the satellites far quickly compared to a single ground-LEO communication link.

70
Hence, before implementation, calculations need to be conducted to see if this process is 71 also advantageous from a power perspective. The following abbreviations are used in this manuscript: