Abstract
In hazardous situations involving the dispersion of chemical, biological, radiological, and nuclear pollutants, timely containment of the emission is critical. A contaminant disperses as a dynamically evolving plume into the atmosphere, introducing complex difficulties in predicting the dispersion trajectory and potential evacuation sites. Strategies for predictive modeling of rapid contaminant dispersion demand localization of the emission source, a task performed effectively via unmanned mobile-sensing platforms. With vast possibilities in sensor configurations and source-seeking algorithms, platform deployment in real-world applications involves much uncertainty alongside opportunity. This work aims to develop a plume source detection simulator to offer a reliable comparison of source-seeking approaches and performance testing of ground-based mobile-sensing platform configurations prior to experimental field testing. Utilizing ROS, Gazebo, MATLAB, and Simulink, a virtual environment is developed for an unmanned ground vehicle with a configurable array of sensors capable of measuring plume dispersion model data mapped into the domain. For selected configurations, gradient-based and adaptive exploration algorithms were tested for source localization using Gaussian dispersion models in addition to large eddy simulation models incorporating the effects of atmospheric turbulence. A unique global search algorithm was developed to locate the true source with overall success allowing for further evaluation in field experiments. From the observations obtained in simulation, it is evident that source-seeking performance can improve drastically by designing algorithms for global exploration while incorporating measurements of meteorological parameters beyond solely concentration (e.g. wind velocity and vorticity) made possible by the inclusion of high-resolution large eddy simulation plume data.
Keywords
Introduction
The importance of understanding the behavior of turbulent plumes can be realized by considering the real-world scenarios where they present themselves. Several hazardous examples include the development of dust storms, natural disasters such as volcanic eruptions, and chemical and nuclear explosions that can be caused inadvertently or intentionally. 1 While not all of these events can be controlled, we can take several steps toward limiting the potential damage caused by evacuating neighboring areas and containing the release at its source.
Once released into the atmosphere from a possibly unknown source location, the dispersion of the chemical can rapidly change in speed and direction, introducing severe uncertainties in predicting its trajectory, potential evacuation sites, and ultimately containment efforts. Through the use of modern deployable robots, it is possible to try and determine the spread of the contaminant, and more importantly the location of its source, by taking measurements of the pollutant concentration without the need for human exposure. 2 However, guiding these vehicles remotely in search of the source becomes a significant challenge when the collected measurements indicate high concentrations downwind, far away from the site of emission. In these scenarios, we try to automate the process and let the robot find it itself, a task known as source localization. 3
Due to the lack of restriction of terrains in which plumes can develop, several different types of unmanned vehicles have been used for this purpose: unmanned underwater vehicles (UUVs) for marine environments, 4 unmanned aerial vehicles (UAVs) for air, 5 and unmanned ground vehicles (UGVs) for land terrains. 6 In this work, we focus specifically on the application of mobile sensing in outdoor environments where atmospheric conditions of wind shear, stability, and turbulence affect the dispersion. 7 Our research utilizes a Pioneer 3-AT UGV for its effectiveness in operating on land terrains to obtain near-ground measurements, made possible by a large payload capable of mounting several adjustable onboard sensors, and a skid-steer drive system designed for navigating over rough terrains such as asphalt, gravel, and dirt.
Background
A practical method for predicting the initial dispersion trajectory requires the generation of an atmospheric dispersion model that can be constructed from multiple forms of observation through a process known as source term estimation (STE). 8 Many dispersion model types exist, each varying in their ability to replicate the behavior of pollutants for unique source emission characteristics. One of the simplest models describes the dispersion as a normal Gaussian distribution of concentration about the centerline of the plume, completely excluding the presence of turbulence. 9 More complex models can represent the small-scale effects of turbulence by numerically approximating a filtered form of the Navier–Stokes equations. 10 –13
For real-world events, an initial model can be generated from known information around the estimated release location. Local measurements of meteorological data from weather towers and global satellite imaging can be used to obtain this prior information. For these methods, however, it is nearly impossible to capture enough data close to the source for large and unexpected dispersion events due to time and cost constraints. This traditional approach has been improved through our aforementioned use of mobile robots that can be deployed from a safe distance. The data collected from the mobile platforms can then be used as input to guidance algorithms that autonomously navigate the vehicle toward its estimate of the source location while making updates to the dispersion model. Several fundamental strategies have been developed to seek the source of a chemical leak and are briefly discussed next.
Exploration methods
Traditional methods have attempted to mimic the behavior of biological organisms that sense the concentration and wind in their immediate surroundings and use this information to follow the direction of increasing concentration. These reactive exploration-based methods aim to deploy path-following robots that measure concentration values across the entire (global) search space, adjusting their path in response to detected concentration levels. The process is essentially performed in three phases
14
: Initially deployed outside of the contaminant area, follow a preliminary search direction until contact with the plume is made. Using measured concentration values, trace the source of the chemical release by performing a unique exploration strategy. After finding a global peak concentration value, confirm the predicted location of the emission.
Optimization methods
Reviewed in Hutchinson et al., 15 when applied to source localization, optimization approaches aim to provide a single estimate of the source location by minimizing an objective/cost function that aims to match the measured and predicted concentration values of an atmospheric dispersion transport model through an iterative process. 16 An example cost function used in least squares estimation that aims to iteratively minimize the sum of the squared residuals of the observed (Cn ) and the predicted (Dn ) concentration measurements is shown in equation (1)
Bayesian-based methods
Unlike optimization methods that provide a single estimated solution of the source location, Bayesian inference-based STE methods produce a probability density function of the estimated source parameters with an associated confidence level to account for any uncertainties obtained from the observed data, which is modeled as high-dimensional and non-Gaussian. 17 Probabilistic techniques that provide solution estimates with an associated degree of uncertainty are clearly desirable but are more computationally expensive.
Within each class, and even between these classes, many algorithms have attempted the task of source localization without definitive success, as large disparities commonly exist between the results obtained from simulation and experimental trials, 18 where realistic turbulent dispersion had not been incorporated into the simulation environment. 19 Constructing a successful algorithm for the purpose of finding the source of a chemical leak cannot be accomplished by waiting for dispersion events to happen so that the strategy can be tested. Instead, we can simulate the atmospheric dispersion and study the performance of any particular strategy at finding the source location. Additionally, we can examine the effects of making modifications to the configuration of the mobile sensors, a task that cannot be achieved easily in real experiments.
In this work, we use data generated from weather research and forecast—large eddy simulation (WRF-LES)
20
to test our source-seeking (SS) mobile-sensing platform in a simulated turbulent plume dispersion environment aimed at representing the conditions seen in real applications prior to experimental field testing. Our strategy to improve the evaluation of ground-based mobile robots for autonomous environmental-sensing applications was developed with the following objectives in mind: Develop a simulation framework using measurements of concentration and wind velocity for source localization and vortex identification, respectively. Compare the behavior of two different mathematical algorithms within the simulator based on the established performance metrics. Quantify the performance error used for the objective of vortex identification.
The manuscript is arranged accordingly: the methodology is discussed in the second section, where developments toward satisfying the objectives stated above are examined in detail. In the third section, results are presented for two mobile-sensing algorithms used within the simulation. The final section includes a discussion of the implications of the simulator, its advantages, and assumptions that are necessary to assist interpretation of the results. This is followed by a description of the future work and applications intended for the simulator.
Methodology
The methodology is as follows: For the task at hand, in its simplest form the navigable domain of the robot contains a flat homogeneous terrain devoid of obstacles with a contaminant dispersion model overlaying a large portion of the domain. This dispersion model exists as a matrix containing scalar meteorological parameter values that can be measured by virtual gas sensors within the simulation environment. Improvements to the simulator that address incorporating obstacle detection by the robot (for example by including a set of buildings) would need to be accompanied by a computational fluid dynamics (CFD) model generated externally that positions identical structures in the same arrangement to properly represent the dispersion behavior throughout the domain. Establishing a method to efficiently link the robotic simulation environment of Gazebo 21 to that of a separate CFD software could enhance the utility of the simulator.
We would like to consider how well the dispersion models used represent the actual conditions expected in practice. This is an important question since we are aiming to use the UGV for near-ground measurements in the atmospheric boundary layer (ABL), while it could be argued that a UAV could more suitably measure data at a higher altitude. The deposition of the pollutant near the ground is of primary interest, which is dependent on many factors 22 that would ideally be captured in the WRF-LES. The size and molecular weight of the gas/particle being examined affects the aerosol’s deposition velocity, unique for each contaminant case being observed, and would need to be captured in the WRF-LES solver to calculate the concentration over time. Assuring that the simulation data used is a realistic representation of contaminant dispersion near the ground would largely depend on the configuration of the boundary and source conditions used to generate the plume data.
With continuous advances in computational technology, use of high-fidelity fluid dynamic models such as LES to model the local scale ABL and the interactions between the atmospheric plume released into the atmosphere from a source with the ABL has become more practical. Recent modeling efforts have coupled the macroscale turbulence of the ABL with the plume-generated microscale turbulence by downscaling WRF. 11,12 Using higher resolutions, the plume structures including the plume-generated vorticity and well-defined vortex rings have been identified as the key characteristic features of the atmospheric plumes. 13 In the present work, the guiding strategy to use vorticity as a metric to track the plume source is very effective.
For our purposes, the LES turbulence data exist as a four-dimensional matrix that represents a transient, unsteady plume evolving over time. Since we are using a ground-based vehicle to observe the meteorological parameters associated with this plume and locate a single estimate of its source location, a contour slice of the wind velocity/concentration at a single time step is used for collecting measurements using the virtual robot. While the simulator has the capability to incorporate changes in the plume as it evolves, this is beyond the scope of initial testing of source localization algorithms. Several important parameters are recorded for assessment of an individual algorithm’s performance at locating the source of a chemical leak. The source localization error SL
(equation (2)) is calculated as the displacement between the true source location and the robot’s estimate of its position, while the emission strength prediction error SQ
(equation (3)) is calculated as the difference between the true maximum concentration and the estimated maximum concentration. The repeatability of each procedure can be captured by the skill score SR
(equation (5)) that uses the standard deviation of the strength, location, and time consumption ST
(equation (4)) performance scores of several trials after they are completed. The total score of an individual method’s performance can be used as a final comparison, where a lower overall score
The simulator developed for the purpose of testing the source localization performance of a mobile-sensing network (MSN) should attempt to replicate the environmental conditions expected in its application. After obtaining results from simulation, a similar outcome should ultimately be found during experimentation. The robot’s position must come within 1.5 m of the maximum concentration which we use to define the exact source location. This allows for any matrix elements adjacent to the maximum concentration to be used as a stopping criterion. In practice, the vehicle can possibly be farther away, where the source (damaged pipe resulting in a gas leak, land mine emitting toxic fumes, etc.) could be observed through an onboard vision/imaging system, assuming that it is equipped with one. Additional research would be necessary to support this claim.
Some key objectives for the simulator are focused on enabling the evaluation and comparison of various source localization algorithms/strategies prior to deploying the vehicle in a field experiment. The primary objectives are: Incorporate a physics engine capable of representing the interactions between the vehicle model and its virtual environment in real time. Any modifications to the model, such as the addition of more sensors, will then automatically affect the vehicle payload and navigation. Structure the simulator to incorporate the robot operating system (ROS) network such that it can be deployed in a real application with minimal effort or redesign. ROS
23
is used to isolate the concurrent processes controlling a robot and enable the communication of data between them 1. Enable the use of both Gaussian and turbulence dispersion models to be included in testing. The Gaussian plumes should serve as a baseline performance evaluation, before we can examine the behavior in more complex dispersion fields. Allow for a large degree of configuration to the mobile-sensing platform so that a wide variety of simulation tests can be conducted quickly with little modification to the code.
Mobile-sensing simulator design
All of these objectives were accomplished by combining MATLAB for data processing, ROS 23 for real-time process communication, Gazebo 21 for representing the Pioneer-3AT UGV in a simulation environment, and Simulink for linking all of these components into a single graphical control block diagram layout 2. Details regarding the Pioneer-3AT, Gazebo, and ROS are provided in the Appendix 1.
It is of interest to incorporate a physics engine so that the behavior of the skid-steered vehicle is represented suitably. The Pioneer 3-AT UGV model is fortunately open-sourced and can be immediately deployed in a 3D robot simulation environment, as shown in Figure 1. For our purposes, Gazebo 3D robot simulator was chosen for its preconfigured adaptability with ROS, allowing for pose estimates to be read and for velocity commands to be issued to the simulated platform. The mass and inertial properties of the robot’s linkages are conveniently included in the vehicle model, and any additions or modifications to the platform model configuration are immediately taken into effect.

ROS network and the Gazebo 3D robot simulation environment. (a) Pioneer 3-AT in Gazebo simulator. (b) UGV link frames and model properties. (c) ROS communication graph of nodes (ovals) and topics (rectangles). UGV: unmanned ground vehicle; ROS: robot operating system.
ROS allows for individual computational processes (referred to as nodes) to communicate with one another by passing messages between topics that represent a particular subsystem of the overall robotic system. These topics exchange information through messages, which can be read through subscribers, or sent through publishers. This network structure allows for odometric feedback from the simulated vehicle’s wheel encoders to be read so that the robot’s own localization can be estimated using dead-reckoning and/or more advanced pose estimation techniques. With this design, motion control commands can be issued through actuating the motors on its left and right side wheels in a similar fashion to how the physical robot would be controlled. The connections between the individual nodes and topics of this simulator are shown in Figure 1.
To enable the simulated vehicle the ability to recognize the dispersion model data, Simulink offers a means to connect to ROS through available communication blocks and simulate the sensors on the vehicle so that they can read position-associated matrix elements of the model. Incorporating a time-varying plume dispersion model into the robot’s domain can be effectively accomplished using MATLAB which offers a suitable advantage with manipulating large high-dimensional data arrays. The generation of a simple Gaussian model can be accomplished by calling a basic MATLAB function, or a more sophisticated model can be imported as a multidimensional matrix from a separate CFD software.
Piecing all of these components together, the control diagram structure of the full simulation is shown in Figure 2. The ROS communication blocks (1, 2) are highlighted in green, which enable vehicle navigation through the proportional-integral-derivative (PID) motion controller. The odometry subscriber block (1) reads the wheel encoder data from the virtual vehicle model, which is then converted to a specific representation of the vehicle position and orientation. The pose is sent to a PID motion controller (3) that computes the necessary linear and angular velocity of the platform to reach an input goal location. The velocity commands are given to the velocity publisher block (2) that pushes a message resulting in motion of the virtual model. The motion controller receives a goal location relative to the vehicle’s position and outputs velocities that result in smooth, stable platform motion, and outputs the current position of the vehicle which is then mapped to the plume model found within the dispersion model generator (4) to provide point measurements of concentration and wind velocity, which is then used by the SS algorithm within the localizer algorithm (5) to update the desired goal point for the robot. The motion, current position, and trajectory of the vehicle can be viewed as an overlay of the contaminant dispersion in real-time through the robot visualizer block (6) while the simulation runs. It displays a set of waypoints, or single goal point, at each time step. Once the vehicle comes within a set distance threshold of the source or the maximum allowable time is reached, a final estimate of the source location is provided and the simulation stops according to the stop conditions (7), automatically generating results on the performance of the trial. The function of each major block component (and the important sub-components) are outlined in Table 1. A detailed process of an example trial follows this description.

Simulink block diagram structure. (1) Odometry subscriber. (2) Velocity publisher. (3) PID motion controller. (4) Dispersion model generator. (5) Source localization algorithm. (6) Robot visualizer. (7) Stop conditions.
Simulator control block diagram component descriptions.
Starting with an initial goal point given to the mobile robot controller, desired vehicle velocities are published over a ROS network to navigate the vehicle toward the provided goal location. The controller outputs the current position of the vehicle which is then mapped to the plume model to provide point measurements of concentration and wind velocity, which is then used by the SS algorithm to update the desired goal point for the robot. At each time step, an estimate of the source strength and location is provided for real-time performance evaluation. Once the vehicle comes within a set distance threshold of the source, a final estimate is provided and the simulation stops, automatically generating results on the performance of the trial. Upon receiving odometry information from the simulated vehicle’s wheel encoders, the ROS message (green block indicating subscription to the sim_p3at/odom topic) is converted to an appropriate representation of the vehicle pose in a two-dimensional grid (x, y,

Plume dispersion model components.
The overall function of each component is listed below: Plume model data simulator (4-1): Provides the concentration value at the associated position of each sensor element. Hardware sensor data (4-2): Stores the concentration reading for each sensor position over time. This block can also be used to connect to a physical microcontroller that reads data from physical sensors. Peak concentration selector (4-3): Selects the maximum value of the concentration seen and records that position as an estimate of the source location.
The plume model data simulator block (4-1) (Figure 3) contains the dispersion model data matrix (and can be set to static or dynamic/time-variant) and outputs the true location of the peak concentration that is used to record the overall localization error within block (4-3). The environmental sensors are distributed symmetrically around the center of the vehicle for a particular sensor quantity, each recording location-specific matrix data that continuously build a map of the robot’s environment over the simulation run.
The source localization algorithms developed for use with the simulator are found within block (5) and analyzed in the “Results” section. We have implemented a unique gradient-based algorithm susceptible to identifying regions of local maximum concentrations in turbulent plume dispersion scenarios, followed by an adaptive peak seeking (APS) global exploration algorithm aimed at converging toward the global maximum by scanning larger regions of the domain to extract more information from the robot’s environment. The results gathered from each of these methods reveal that simply using measurements of concentration may be insufficient for reliably identifying the source of emission, often locating downwind regions of high local concentrations. The approaches are modified to capture additional meteorological data for use in a new methodology, components of vorticity being of primary interest.
Results
Using the simulator developed in the previous section, a range of Gaussian and turbulent dispersion model cases were chosen for testing the performance of the MSN’s source localization capabilities from several different initial test positions for multiple algorithms. Our initial objectives are first directed at using a gradient-based algorithm to validate the design of the simulator by successfully locating the source of a steady Gaussian plume, then demonstrating that the gradient search algorithm will converge to local maximum concentrations in highly turbulent unsteady flows.
Gradient ascent algorithm
Gradient-based optimization algorithms 24 have often been used to locate the source of a pollutant release. With advantages in overall simplicity in computational processing and successes in simulation (for simple dispersion models), this class of gradient-based SS strategies fails in many experimental cases due to the nature of turbulence on contaminant dispersion where many areas of local maximum concentration’s form downwind of the point of emission, resulting in false predictions of the source location. Despite this pitfall, the gradient descent algorithm serves as a fundamental strategy that can be used to validate the performance of the mobile-sensing robot’s source localization capability within its simulated environment.
A modified version of the popular gradient descent algorithm, 24 the gradient ascent algorithm was the first source localization method incorporated into the simulator. It is titled as an “ascent” method to simply distinguish its overall purpose of locating the site of maximum concentrations in a contaminant dispersion scenario by following the directions of increasing concentration using approximate gradient calculations. To compute the concentration gradient at a single point (the robot’s central position at each given time step), it is necessary for multiple sensors to be spatially arranged parallel to the ground plane around a sensor placed at the center of the platform so that a numerical central difference approximation of the gradient’s component derivatives can be calculated. Figure 4 represents this configuration with an initial selection of eight radial sensors being used to compute the directional derivative.

Gradient ascent algorithm configuration using an unmanned ground vehicle. α is the vehicle heading angle,
Upon identifying the selection of algorithm parameters (the magnitude of displacing each new goal point from the vehicle center, M) that result in the most optimal vehicle performance, it is evident that the gradient ascent algorithm is able to successfully determine the correct source location and strength for close-range steady Gaussian dispersion cases as shown in Figure 5(a). However, the algorithm is largely susceptible to converging at sites of local maximum concentration, which can develop far downwind of the source in the cases involving turbulence. An example of this particular pitfall is demonstrated in Figure 5(b), where the vehicle almost immediately navigates in the opposite direction of the source after coming into contact with the plume.

Gradient ascent algorithm convergence comparison. (a) Gaussian dispersion: Successful convergence to true (global) maximum concentration. (b) Turbulent dispersion: Convergence to local maximum concentration—can be guided in the opposite direction in the worst case.
APS algorithm
Inspired by the global exploration pattern search method, 25 the APS algorithm was employed for the task of source localization in turbulent flow fields that aims to capture a greater amount of information about the dispersion environment by scanning regions defined by a specific set of waypoints that form simple geometric shapes. A visual example of the process is provided in Figure 6. While its performance can be rather slow due to the inherent nature of global exploration, it is designed for reliability so that local estimates of the source location are less likely to be assumed.

Step-by-step robot path visualization generated by the adaptive peak seeking (APS) Algorithm strategy for a circular path trajectory. (1) Follow initial path trajectory of size I, collect measurements at each waypoint i. (2) Move path with its origin centered at largest measured data point and shrink the path size as a fraction of I. (3) Repeat the process until the path size is one third of its initial value. (4) With a reduced path size, continue searching for the largest concentration. (5) A complete visual of the APS process successfully locating the global maximum concentration.
Multiple trajectory shapes were tested at increasing locations downwind of the source with the intention of identifying any trends in performance. The resulting vehicle trajectories for each shape are compiled in Figure 7. Regardless of the initial distance from the source, a circular path outperforms every other shape, successfully detecting the true source location without converging to any local maximum concentration regions. The square, line, and outward spiral paths often have less-than-desirable performance.

APS algorithm path shape trajectory comparison of localization performance. The performance of the mobile robot is indicated by the resulting proximity to the source location. After testing a variety of path shape arrangements, a circular trajectory was found to converge most often regardless of the initial distance from the source (a single example is shown). APS: adaptive peak seeking.
With the ideal parameter values identified for the APS algorithm in turbulent conditions resulting in successful convergence to the source location, the strategy has been suitably tested prior to deployment of the physical robot. This endeavor requires the design of an experimental setup capable of replicating a similar turbulent plume dispersion scenario, which demands a significant amount time and resources to plan and prepare. While this objective certainly deserves further attention, there are still many possibilities for advancing the simulator to improve the testing of mobile-sensing robot applications.
Simulator improvements for extending mobile-sensing applications
Highly useful information can be extracted from the field measurements of wind velocity obtained over time. In the field of meteorology, when observing the behavior of atmospheric flows there is much interest in determining the horizontal circulations associated with high and low pressure vortices, which entails determining the vertical component of the vorticity vector
Mobile sensing of additional meteorological parameter measurements
Alongside source localization, determination of the overall structure of a plume is a useful task that can be attempted using mobile-sensing robots. Our initial work focused on collecting concentration measurements followed by incorporating wind velocity data to estimate the approximate centerline of the plume and potentially assist the search for the source location, as shown in Figure 8. This strategy consists of guiding the robot along a geometric path at any particular location downwind, collecting measurements along the path, and consequently using this information to try and predict the possible source location based on the orientation of the centerline within that path shape. Boundary tracking was identified as another outcome for this strategy, aiming to learn as much about the local plume structure as possible.

Plume centerline estimation using measured data. (a) Visualization of the approximate plume centerline as indicated by the largest magnitude of concentration (pink) and wind velocity (blue). (b) A technique for estimating the local centerline direction from a collection of data measurements around a square path.
A contour of the vorticity field of an unsteady turbulent ammonia plume is shown in Figure 9 where the mobile robot attempts to determine the appropriate direction toward the source after collecting wind velocity measurements for vorticity calculations across multiple points along a predefined path trajectory. It can be seen that the visual structure of the plume in Figure 9 is well defined in regions of high vorticity to reveal a clear boundary that could not be easily identified from a plot of the concentration contour alone (Figure 5).

Path data estimation technique using wind velocity and vorticity data measurements.
The plume front is another measure of dispersion behavior, defined as the downwind distance from the source location where the temperature gradient between the dispersion and ambient environment falls below a threshold on the order of 10−3. The plume front location corresponding to an unsteady turbulent CO2 plume is visualized in Figure 10 between the duration of 5 and 30 min. As the plume front travels downwind from the source, one objective is to have the robot estimate and follow this front to provide updates of the dispersion direction and speed for evacuation purposes. It can be seen that even for a low surface heat flux value (case F050,

Plots of moving plume front locations for unsteady turbulent CO2 plume. (a) Plume front downwind travel distance over time for increasing values of heat flux at the source. (b) Moving contour plot corresponding to the distance traveled for case F050 (
Another strategy we discuss is directed toward using gradient calculations to identify regions of high vorticity. Although this is does not seem ideal for attempting source localization, it offers many possibilities in characterizing the structure of contaminant dispersion. For this purpose, the objective of the robot is to scan the global vicinity in search of these regions and produce a map of the vorticity measurements over the explored area, which would then be used to reveal the overall plume structure and dispersion trajectory. Quantifying the performance error for this particular task can be accomplished by evaluating the proportion of the total domain scanned by the vehicle within an allotted amount of time. This proportion represents the grid area in square meters where measurements were taken as a fraction of the total area covered by contaminant dispersion.
A representation of the simulator configuration for testing the robot’s plume front tracking capability and identification of local regions of interest is visualized in Figure 11 showing the approximate plume front and structure at one particular moment in time.

Mobile-sensing test configuration for plume front tracking and identification of local regions of high vorticity. Objective 1: Locate and track the plume front as it moves downwind over time. Objective 2: Scan high-vorticity regions of the domain to determine the plume structure.
Discussion
Several performance metrics have been established for evaluating the performance of individual SS methods that extend beyond those used for evaluating the gradient climbing algorithm. These result from ongoing developments of the simulator, aiming to gather as much information as possible throughout each simulation trial run. Global sampling methods have been used in previous studies 8 to try and overcome the nonlinear behavior of the turbulent dispersion, demonstrating the need for global exploration to try and obtain as much information about the environment as possible. Our APS method was designed with global sampling in mind but is simple enough to be expanded in future work so that it incorporates more sophisticated processing of the gathered data (using probabilistic analysis, reinforcement learning, etc.). Therefore, the APS is simply the first stage of an algorithm for source-finding in turbulent flow fields. The performance of the APS source-finding algorithm is currently only tested under the assumption that the plume dispersion is time-invariant, where the distribution of concentration remains fixed in place throughout the simulation trials. A dynamic, time-evolving concentration distribution may certainly affect the behavior of the algorithms and is therefore a significant consideration for future tests.
Future work
Future research efforts are directed toward two primary tasks: (1) implement the SS algorithms on the physical system (unmanned vehicle) and (2) develop a robust algorithm within the simulator using a more sophisticated method.
Hardware implementation
In order to test the simulated algorithms on physical hardware, two objectives must be accomplished: (1) construct a physical testing environment including a reliable source of gaseous emissions and (2) establish a communication network between the simulation and physical system to send navigation commands and receive meteorological sensor data. Regarding the first objective, the cost of developing an experimental testing domain would be substantially large if a controlled ambient environment is to be constructed for reliable dispersion of gas from an emission source. While the conditions for accomplishing this task are not yet practical, the second objective can be prepared in advance. One feasible method for obtaining concentration measurements from the real environment and linking it to the simulator can be accomplished using Block (4-2) of Figure 3, and performs as follows: An Arduino microcontroller reads the input analog data from each gas sensor on the vehicle sequentially and stores the values as a float within an array until all the readings are taken. The array is published as a message to the /Sensor_Msgs topic using the “rosserial” library to connect to the ROS network. The simulator uses a subscriber block to read the message containing the array of sensor data corresponding to the concentrations collected by the individual sensors.
The physical distance traveled by the robot is dependent upon where the robot is initialized—the tests performed place the spawn location anywhere between 10 and 500 m. The robot travels at a maximum speed of 0.7 m/s, taking no longer than a total of 10 min for any of the tests performed; additionally, the UGV has a battery life of 2–4 h. The speed at which measurements are taken largely depend on the microcontroller used and the sampling time needed for each sensor—for even a typical Arduino UNO microcontroller (ATmega328), analog data can be read at around 110 µs. A full array of 16 sensors collecting analog measurements of wind velocity and temperature can be taken within 0.25s after adding delays if the bit size for each reading is restricted. Regarding the behavior of the simulator, the gradient ascent algorithm and APS algorithm collect measurements at different sampling rates: The gradient algorithm only recalculates the gradient (collects measurements) once it reaches a goal point and updates its goal at a distance away from its relative location, which we had selected to be a value of 2 m during parameter testing. Since it must come within 0.5 m of each goal before it updates, the robot must travel 1.5 m at the least. With a max velocity of 0.7 m/s, the minimum time needed to reach this point is about 2.1s, and is therefore achievable in practice. The APS path shape collects measurements at waypoints displaced at a minimum separation distance of 0.5 m, chosen to be above the vehicles minimum swing radius of 0.34 m. At maximum velocity for this shortest distance scenario, this results in a time of roughly 0.7s between measurements, which is capable when collecting wind velocity and temperature measurements, but may require a slight delay before it moves to its next point when using concentration.
Regarding the data collection rate of the physical system, it is difficult to answer in certain terms how long the robot would have to wait between measurements; quantifying the specific data collection rate for a real-time system would first have to account for all the meteorological sensors and their individual response times, in addition to any vision systems for localization and mapping. Efficient planning of the sensor fusion data collection process is an important strategy that can ultimately determine the overall rate at which data can be collected. On top of this, wirelessly transferring the data into a point cloud may be necessary for computation using external resources, adding time whenever the data need to be processed. This is largely dependent on the computational intensity of the algorithm and the size of the point cloud, along with the available RAM and hard memory storage on the mobile platform’s microcomputer/controller.
Intelligent heuristic algorithm developments
Using a swarm of mobile robots could greatly increase the amount of exploration and ultimately the amount of data gathered, aiming to converge quicker toward the source location. However, there is a trade-off with this approach as more data need to be collected, scaling upward with each additional robot. In the case of using multiple robots, they would each need to be informed of the areas that have already been scanned by each individual, essentially contributing to an overall mapping of the dispersion. Because swarm-based approaches would require significant data collection, the maximum quantity of allowable robots will reach a bottleneck due to the amount of data processing (and memory capacity occupancy) occurring. Additionally, the quantity determined in simulation may not coincide with that in field testing with physical hardware.
Reinforcement learning methods are commonly employed for navigational tasks of robotic platforms because of their capability in exploring uncertain environments while learning to accomplish a particular objective (most often developing an optimal collision-free trajectory toward a destination around static and dynamic obstacles). Similar learning-based methods 27 have an advantage over map-based approaches that use large amounts of simultaneous localization and mapping 28 data to build a map of the surrounding environment necessary for generating a desirable path. For the task of plume source localization, deep neural networks have been incorporated into reinforcement learning methods and are capable of approximating functions to provide generalized solutions for model-free Markov decision processes by producing a learned optimal policy function to govern the behavior of an agent in an unfamiliar environment. An implementation of deep reinforcement learning is currently under development with the MSN simulator.
Conclusion
Overall, two different algorithms have been implemented for initial testing with the MSN simulator. The gradient climbing algorithm served to verify the initial hypothesis that a gradient-based method would mistakenly converge to local regions of high concentration and often would not be able to locate the actual source. Attempting to overcome this issue, a unique algorithm was developed to encourage greater exploration of the global environment, resulting in successful performances when using a circular collection of data measurements at various local regions. A pitfall of this method however is its slow convergence speed and overall simplicity, as it may be unable to adapt to a wide range of cases. Additional tasks for the simulator are aimed at increasing the rate of convergence for source localization and determining the overall plume structure (e.g. plume boundary and front tracking) by incorporating measurements of additional meteorological data (e.g. components of vorticity).
Footnotes
Appendix 1
Acknowledgments
The authors would like to acknowledge Texas Advanced Computing Center (TACC) for computational support.
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: Funding for the study was obtained from NASA Center for Advanced Measurements in Extreme Environments, Grant number: 80NSSC19M0194.
