# Wildlife Monitoring Using a Multi-UAV System with Optimal Transport Theory
## 3 Method
### OT-Based Multi-UAV Exploration: Time-Invariant Case  
This section presents a detailed explanation for the multi-UAV exploration strategy for the time-invariant distribution case. The extension to the time-varying case is provided in the next section. Given \(n_{a}\in\mathbb{N}\) numbers of UAVs deployed for the wildlife monitoring, the proposed exploration strategy is to determine the trajectory for the UAV \(k\), \(k=1,\ldots,n_{a}\) in the team. The OT-based multi-agent exploration strategy is developed considering the limited energy for the agents to carry out the monitoring mission with the given reference spatial distribution. This limited energy of the UAVs also limits the total flight time of the agents, which can be transformed into the total number of UAV points \(M_{a}\in\mathbb{N}\) for each agent by the specified velocity and discrete-time interval \(\Delta t\). Here, it is assumed that all agents have identical energy levels initially and therefore, the UAV points \(M_{a}\) is the same across all agents. Given that the agent \(k\) has \(M_{a}\) numbers of points, each UAV point is assumed to be uniformly distributed with the weight \(m(x_{t}^{k})=\frac{1}{M_{a}}\), \(t=1,\ldots,M_{a}\) at any discrete-time \(t\in\mathbb{N}\). The weight \(m(x_{t}^{k})\) is assigned to each UAV point, describing the time-averaged behavior of the UAVs.  
Similar to the weights for each UAV point, the weights are uniformly assigned to each sample point in the given reference distribution. Given \(N\in\mathbb{N}\) numbers of sample points, each sample point has the equal weight \(n_{t=1}(y_{j})=\frac{1}{N}\) initially. Unlike the weight of UAV points \(m(x_{t}^{k})\), the weights for sample points are time-dependent and decrease over time. This is because a sample point closely located to the UAV position can be considered as visited and hence, the sample point will lose its weight (priority) as the UAVs explore the given domain, which is reflected by the time-varying weight \(n_{t}(y_{j})\). This weight change for the sample points depends on the weight update law, which will be explained later in detail.  
Consider that there are \(n_{a}\in\mathbb{N}\) numbers of agents deployed for the wildlife monitoring. In the beginning (when \(t=1\)), all the UAV points \(\{\{x_{t}^{k}\}_{t=1}^{M}\}_{k=1}^{n_{a}}\) are accumulated at the current positions \(\{x_{t=1}^{k}\}_{k=1}^{n_{a}}\). The UAVs move to new locations \(\{x_{t=2}^{k}\}_{k=1}^{n_{a}}\) in the next discrete-time step \(t=2\) based on the proposed exploration strategy (which will be explain later in this section) and then, each of them leaves one particle at their previous locations \(\{x_{t=1}^{k}\}_{k=1}^{n_{a}}\) while taking all the remaining UAV points \(\{\{x_{t}^{k}\}_{t=2}^{M}\}_{k=1}^{n_{a}}\) with them to the new location \(\{x_{t=2}^{k}\}_{k=1}^{n_{a}}\). In this case, each of the previous UAV positions \(\{x_{t=1}^{k}\}_{k=1}^{n_{a}}\) has the weight of \(m(x_{t=1}^{k})=\frac{1}{M_{a}}\) and the weight for each new UAV position is \(m(x_{t=2}^{k})=\frac{M_{a}-1}{M_{a}}\). The schematic for this concept is illustrated in Figure 3.  
The following assumption is provided to generalize this policy on the UAV point update.  
**Assumption 1**.: _Given the current UAV position of agent \(k\), \(x_{t=T}^{k}\) at any time \(T\in\mathbb{N}\), the weight \(m(x_{t}^{k})\), \(t=1,2,\ldots,T-1\), for the past UAV points is evenly distributed by \(\frac{1}{M_{a}}\). The undetermined future UAV points \(\{x_{t}^{k}\}_{t=T+1}^{M}\) and the current UAV point of agent \(k\) are all accumulated in the current UAV position, \(x_{t=T}^{k}\), which has remaining weights \(\sum_{t=T}^{M_{a}}\left(\frac{1}{M_{a}}\right)=\frac{M_{a}-T+1}{M_{a}}\)._  
For notational ease, \(x_{t=T}^{k}\) will be replaced by \(x_{T}^{k}\) to indicate the position of agent \(k\) at time \(T\) when the meaning is clear. Next, we introduce the OT-based multi-UAV wildlife monitoring scheme under Assumption 1.