1. Introduction
Autonomous systems that can leverage the sense of smell would be useful in many situations that are dirty, dangerous, or dull. Some examples include locating and rescuing victims trapped by rubble during a disaster, sniffing for illegal drugs or explosives, detecting and locating the source of chemical leaks on land or underwater, or even locating truffles in a forest. A robotic system that could quickly and reliably locate the region containing an odor would be a benefit in these, and other, situations.
A
taxis is a movement toward, or away from, some stimulus such as light (phototaxis), airflow (anemotaxis), or a chemical (chemotaxis). Many organisms exhibit taxis behaviors, such as
Escherichia coli, the silkworm moth
Bombyx mori, and the dung beetle
Geotrupes stercorarius [
3]. Taxes have long been utilized as a control strategy in robotic systems. From Braitenberg’s simple vehicles [
4] to an entire chapter of the canonical Springer Handbook of Robotics [
5], taxes are one of a number of ways that biological systems have inspired roboticists. Some representative works are described below.
Biomimetic algorithms take inspiration from the physiology and biology of various organisms. Farrell et al. [
6] take inspiration from the pheromone-tracing behavior of moths to control an underwater autonomous vehicle (UAV) tracing a plume to its source. Bau et al. [
7] take inspiration from flying insects to track windborne odor plumes. Russell [
8] moves underground, investigating taxes for the control of burrowing robots searching for buried chemical sources. Bremermann [
9] cast chemotaxis as a potential solution to foraging optimization. Many researchers including Hossain [
10,
11,
12] have applied different chemotactic control algorithms to robots. Other good reviews of projects comparing biomimetic control strategies can be found in [
13] (2008) or more recently [
14] (2012).
While pure chemotaxis works well for certain situations, roboticists also experiment with a variety of hybrid schemes, sometimes combining biomimetic algorithms with those derived from artificial intelligence research. For example, Nurzaman et al. [
15] start with biological chemotaxis and Levy walks individually, then study the combination of these behaviors in simulation and on a mobile robot using sound waves as a chemical proxy. Grasso et al. [
16] combine mean flow and chemical detection strategies to enable RoboLobster to orient itself to a chemical source in turbulent flow.
Another group of researchers eschew direct biomimicry and attack the problem with analytic algorithms drawn from autonomous vehicles and artificial intelligence research [
6]. Farrell et al. [
6,
17,
18] note that in water and other high-Reynolds-number fluids, chemical detection is commonly binary—a chemical is detected or not detected at any point in time. They develop algorithms for a UAV to home in on a chemical plume emitted into ocean water. Zhang et al. [
19] give a survey of strategies for chemical source localization in air, and derive a multi-stage algorithm for tracing plumes upwind. Ji-Gong et al. [
20] use a three-stage process including a history of air flow directions over time to implement a path planning method to search an odor source, using range data detected by the robot to dynamically modify the planned path.
In recent years, many researchers have again drawn from nature and tackled the problem from the viewpoint of
swarm robotics, where multiple robots are cooperatively searching for an attractant. Yang et al. [
21] subdivide the search space using a Voronoi tessellation and search each cell in the tessellation using bacterial-style chemotaxis. Marjovi et al. [
22] study optimal swarm formations for plume-finding, and present a set of virtual forces that allow several robots to line up in an equi-spaced diagonal line while also avoiding obstacles. Marques et al. [
23] use a particle swarm to simulate a mass of small robots tracing an upwind odor source. Swarms of robots can also be controlled with particle swarm optimization (PSO) [
23], gray wolf optimizer [
24], or combinations of these [
25,
26]. Zarzhitsky et al. [
27] leverage computational fluid dynamics to develop an algorithm for a particle swarm simulation that outperforms biomimetic algorithms. Turduev et al. [
28] compare decentralized and asynchronous particle swarm optimization, bacterial foraging optimization, and ant colony optimization to build a 2D map of the concentration of ethanol gas in an environment. Yang et al. [
12] draw from foraging algorithms to study target trapping.
Some projects directly compare methods drawn from various organisms in a particular application. In a classic work, Russell et al. [
3] compare chemotaxis algorithms inspired by the bacterium
E. coli, the silkworm moth
Bombyx mori, and the dung beetle
Geotrupes stercorarius, as well as a gradient-based algorithm developed by the authors. They conclude that each is best in different situations.
We define a basic chemotaxis algorithm as consisting of a gradient ascent with some probabilistic elements that vary the mix between running and tumbling motion. “Running” is when the agent moves in a straight line (as when ascending/descending the gradient), and “tumbling” is when it turns randomly to point in a different direction. We recognize that basic chemotaxis algorithms are good for finding the local maxima of chemical concentrations, under the assumption that the agent is able to make an initial detection of the chemical. However, if the goal is to do a more complete exploration of the full area with detectable chemical concentration, basic chemotaxis tends to be ineffective. The agent will often get stuck at a local maximum, or become “lost” in areas of zero or low chemical concentration and become unable to find the chemical even after extended periods of time. Given these issues with basic chemotaxis algorithms, we recognize the need for a more sophisticated algorithm for mobile robots whose goal is to both find the source of a chemical (the point or points of highest concentration) and also explore the full area where the chemical is detectable.
In previous work we used an algorithm called RapidCell [
1], originally developed to describe the interactions of chemotaxis proteins inside
E. coli cells. We chose to incorporate RapidCell because it provides a more realistic representation of the run/tumble behavior of
E. coli, and thus can be used to create robotic behaviors that are more sophisticated than those of basic chemotaxis. In [
29] we coupled RapidCell with the method of regularized Stokeslets [
30] to simulate
E. coli chemotaxis in a viscous fluid. In subsequent work [
31], we couple RapidCell with the lattice-Boltzmann method [
32] to simulate how engineered micro-particles utilize
E. coli’s biased random walk to detect the location of high chemical concentration contained in a confined zone with a narrow inlet or concentric multiringed inline obstacles, mimicking tumor vasculature geometry. In [
33], instead of imposing static concentrations as in [
29,
31], we implement dynamic multiple concentrations of different chemicals to show how the chemotactic behavior changes over time as the cells disturb and mix the chemicals.
The results of these previous efforts lead us to hypothesize that a chemical-sensing mobile robot operating with a motion algorithm utilizing RapidCell would have the following advantages over basic chemotaxis:
The robot will more completely explore the environment in regions both with and without detectable chemical.
The robot will be less likely to get “lost” in areas of low or zero concentration.
The robot will be less likely to get stuck at local concentration maxima.
In this work, we augment the RapidCell approach with a variation aimed at avoiding collisions with obstacles in the environment, implement the algorithm in simulation and on a tabletop robot (using phototaxis as a surrogate for chemotaxis), and compare with a basic chemotaxis algorithm described in [
2] using several metrics. In
Section 2, we describe the experimental scenarios, the control algorithms in use, and our metrics for success for the robot. Then, in
Section 3 we provide representative and summary results of the simulations and experiments conducted. We also provide a detailed discussion of the results in
Section 3. Finally, in
Section 4 we draw some conclusions about the pros and cons of the algorithms under consideration.
2. Materials and Methods
Our goal in this work was to compare the performance of a basic chemotaxis algorithm with a novel motion algorithm that incorporates RapidCell. We applied these algorithms in a mobile robot exploring an environment with a chemical concentration that varied with position. We tested both algorithms in simulation and on a real robotic system, in environments with and without obstacles. In addition, we explored three different types of chemical concentration distribution:
A homogeneous environment with no chemical effluent (we define effluent as a discharge of a specific—desired or undesired—chemical into an area).
An environment with a single chemical effluent.
An environment with three chemical effluents.
The simulations and experiments are detailed in
Figure 1. Notably absent from this set is an experiment without effluent, but with obstacles. The minimal differences in qualitative behavior between the experiment in the single effluent or triple effluent environment without obstacles (Cases 5 and 6) and with obstacles (Cases 10 and 11), and the very limited exploration about the initial positions in the relevant simulations (Cases 1 and 7), led us to choose to not conduct this set of experiments.
The goal of our work was not (yet) to create or study a robotic system that actually samples a chemical plume using some type of sensor. So, as an analog to such a system we used a small tabletop robot equipped with an optical sensor that detects the brightness of the surface below it. To imitate the chemical gradients, grayscale gradients were printed on posters on top of which the robot operated, as seen in many other works (e.g., [
34]). The robot itself was assumed to be
across, with the sensor cluster located
from its centroid at the front end. Constant factors were used to scale between the simulations and experiments. A square arena of
with
40,000
was used for all simulations and experiments.
Twenty initial positions were chosen from a uniform distribution within the arena. The same initial positions were used for each simulation. In the single-effluent experiments, only 12 of the 20 initial positions were in the region covered by the grayscale poster, so those 12 were used for Cases 5 and 10.
Figure 2 shows the initial positions as well as the region of detectable concentration (concentrations above 1
) for the single-effluent environment. In the three-effluent experiments, only 7 of the 20 initial positions were in the region covered by the grayscale poster, so those 7 were used for Cases 6 and 11.
Figure 2 also shows the initial positions as well as the region of detectable concentrations (concentrations above 1
) for the triple-effluent experiment. These were the largest posters (approx 91
) that would fit in the experimental environment. In each case the robot had no prior knowledge of the chemical present or the type, location, or presence of obstacles.
2.1. Chemical Effluent Models
In this section we give details about the chemical concentration profiles that were modeled.
Homogeneous/No Effluent Environment: As a control, each algorithm was first tested in a homogeneous environment with no detectable chemical present. In the simulation (Cases 1 and 7), the function C which represents a chemical concentration was set to 0 at every location. In the experiment (Case 4), a white laminated poster with the size of the arena was created to represent this environment. Due to noise and other non-ideal experimental conditions (room lighting, etc.), C was low but not equal to zero at different locations on the poster.
Single Effluent: In this environment, there was a single chemical effluent centered in the arena. In the simulation (Cases 2 and 8), the concentration detected by the robot was described with the static function shown in Equation (
1) with experimentally determined parameters M = 4000 (
), D = 0.0125 (
), and
= 2000 (
), centered at (
). This function is an approximation for a point source of chemical effluent [
35]. Other choices, for example, a Gaussian plume model [
36], could also be used.
Figure 3 (left) shows a surface plot of the fixed time function with these parameters. The concentration C was truncated at
, the assumed minimum value detectable by a chemical sensor.
In the experiment (Cases 5 and 10), a grayscale circular pattern darker in the center was printed on a laminated poster to represent the environment (see
Figure 4b). A reflective sensor in the robot was used to measure the reflected light at a given position. Then, the raw data from the sensor was mapped to Equation (
1) as described in
Section 2.5.
Triple Effluent: In the third environment, the chemical concentration was a composite of three functions: two similar functions to Equation (
1) with the smaller parameter value M = 2000
and centers at
and
were added to the original function.
Figure 3 (right) shows a plot of this concentration, which models three effluents in the simulations of Cases 3 and 9.
2.2. Obstacles
We added small
obstacles at the locations shown in
Figure 5 for all simulations and experiments, with some minor variations in the orientation of the individual obstacles.
2.3. Control Algorithms
This section describes the basic chemotaxis algorithm and the RapidCell E. coli model/algorithm used in this work.
Basic Chemotaxis Algorithm: For comparison to the RapidCell model described below, we implemented the simple chemotaxis algorithm described in [
2], in turn adapted from [
37]. The algorithm, described in
Figure 6, randomly turns with a bit of forward motion when the concentration is decreasing, and moves forward with a bit of random turning when the concentration is increasing. It is, in general, a straightforward hill-climbing algorithm, and tends to hover in a very small region around the first local maximum detected.
RapidCell Algorithm: In the presence of a spatial gradient, E. coli move towards an attractant and away from a repellent. Changes in the detected chemical concentration over time affect the interactions of chemotaxis proteins inside the cell, which control the flagellar motors to rotate counter-clockwise (CCW) or clockwise (CW). If all the flagella rotate CCW, they will form a bundle and push the cell to run forward. If the cell wants to tumble, the flagellar bundle can be disintegrated by having at least one flagellum switch from CCW to CW. The tumbling motion allows the cell to re-orient itself in a different direction. In the absence of a chemical gradient, the cell performs a random walk consisting of short episodes of smooth runs terminated by tumbles. However, when molecules of attractants or repellents start binding to the receptors on the cell membrane, the cell will evaluate changes in the amount of concentration. Using its cell signaling pathway, the cell can integrate the binding information it receives into a sequence of chemotaxis-protein interactions that will control the rotations of the flagellar motors and hence give the probability for the cell to run or tumble. So, the cell signaling pathway can be thought of as a temporal mechanism which allows the cell to compare their current binding state with the previous ones. An increase in the fraction of an attractant binding to receptors will raise the probability of CCW rotation, which will lead to extended runs (biased random walk). Note that the cell signaling pathway and resulting behavior are different when the cell encounters a repellent instead of an attractant. In this work, we do not consider repellents.
The RapidCell model [
1] was originally developed to describe the interactions of these chemotaxis proteins inside
E. coli cells when sensing attractants. If we consider the RapidCell model as a function (see
Figure 7), the inputs are the concentration at the sensor of a robot (C), the methylation level (m) in the previous time step, and the difference in time (
) from the last computation. Methylation can be considered a memory mechanism in
E. coli, as it builds up the more time the cell spends in an area of detectable concentration. The outputs are the updated methylation level, and the motor bias
. The motor bias
represents a probability of running; its values range from 0 to 1, with higher values corresponding to a greater likelihood of running motion of bacteria. Further details regarding the description of the RapidCell model and model parameters can be found in [
1] and
Appendix A.
Obstacle Detection and Avoidance: Obstacle detection and avoidance behavior was added to both the basic and RapidCell chemotaxis algorithms. At each run–tumble decision, a forward-facing obstacle sensor is checked. If an obstacle is in front of the robot, a random turn is performed regardless of the current concentration. If no obstacle is found, the existing chemotaxis is performed. This hierarchical decision-making is reminiscent of many multi-layer controllers, including the classical subsumption architecture [
38], and was not expected to qualitatively alter the behavior of either controller.
2.4. Simulation Setup
The basic chemotaxis and RapidCell-based controllers were first implemented in the Player/Stage robotic simulation environment [
39]. A spatial scale factor of 1
= 1
was used in simulation due to the resolution limits built into Player/Stage. Each controller was allowed to run for 10,000 control iterations in each trial.
2.5. Experimental Setup
In the experimental cases for the single-effluent and triple-effluent environments, a grayscale pattern was printed on a laminated poster shown in
Figure 4b,d. For the environment with obstacles,
Figure 4c,e show how the obstacles were added to the arena. In addition, walls were placed as a barrier around the arena to prevent the e-pucks from running off the testing table since they are recognized as obstacles for the robots.
In order to test the performance of each controller on a real robot, we then paired the basic and RapidCell controllers with a custom e-puck driver. E-pucks are small, fist-sized two-wheeled robots shown in
Figure 4a and introduced in [
40]. They are equipped with a number of sensors, including three TCNT1000 [
41] infrared-pair sensors on the bottom near their front. These sensors are used to detect the reflectivity of the surface below the e-puck. White and highly reflective surfaces read as high values for these sensors, while darker surfaces read low.
The center light sensor was used to perform chemotaxis in these experiments. The sensor reading was calibrated to mimic the concentration detection sensors of
E. coli via Equation (
2) in Cases 5 and 10, and Equation (
3) in Cases 6 and 11. The differing ink darkness of the posters led to a different mapping between “darkness” and “concentration”:
where
s is the raw sensor reading (0–1024). Therefore, darker spots towards the center of the effluent had low values for the raw sensor reading (
s) which represent high chemical concentration (C). The spatial variation of C over several experimental runs in the single-effluent and triple-effluent environments can be seen in
Figure 8.
The e-puck is also equipped with eight outward-looking infrared sensors for obstacle detection and avoidance. The front four sensors were used for this work. The effluent image was approximately 200 in diameter, and the poster approximately 90 square, so a scaling factor of 1:4500 was assumed between simulation and experimentation for both experiments.
The basic chemotaxis algorithm was allowed to run for 100 iterations, and the RapidCell algorithm for 500 iterations, to give each time to explore any effluent present. It was observed that in every case when the basic chemotaxis algorithm found detectable chemical, it converged on a local maximum by 100 iterations. An overhead webcam was used to take images of the arena after each control cycle. Each cycle consisted of 0.5 s of run-time plus 5 s in order to give the overhead webcam time to take an image and save it to hard disk. With the lid shown in
Figure 4a, a simple two-dimensional template matching was used to locate the e-puck in each image, and an orthographic projection was used to localize the robot within the arena, similar to [
42].
For each cycle of the basic chemotaxis control loop, the robot took a sample of the chemical concentration. The e-puck then used Equation (
2) or Equation (
3) to map the grayscale sensor input to a particular chemical concentration value, while the simulated robot determined the concentration through an a-priori fixed function and the current position obtained from the simulator. The concentration was then sent to the chemotaxis model, which generated a Turn and MoveForward velocity in the basic chemotaxis algorithm presented in
Figure 6.
For the RapidCell control loop: when the controller was started, the robot took a large number of samples of the initial concentration of the chemical and passed it through the RapidCell model. This allowed the methylation m, and other parameters to adjust to the initial environment. After this initialization, the robot began the RapidCell control loop. In each cycle of the loop, the robot took a sample of the chemical. The concentration was then sent to the chemotaxis model, which generated an updated methylation value m and motor bias , which was a number between and . The motor bias was treated as the probability of a run on that control cycle.
2.6. Measurements of Success
We assumed the goal of the robot was to explore all locations within the region of interest with detectable chemical concentration. We propose the following measurements of success as we compared the results from the basic chemotaxis algorithm and the RapidCell algorithm.
There are several regions that we reference below, which we formally define here:
Definition 1. The Region of Interest is the entire rectangular area from μ to 100 μ in both horizontal and vertical directions, possibly containing chemical effluent. The total area of this region is = 40,000 .
Definition 2. The Capture Region is, for the RapidCell controller, an area the robot will remain in once it has entered. Informally, the robot is captured in this region. It can be thought of (roughly) as the region where the effluent concentration is detectable.
Definition 3. The Peak Region is the area immediately adjacent to (within 1–2 body lengths of the robot) the maximum concentration of effluent.
We also define a
replicate as an iteration of the simulation or experiment with a particular initial position (all the initial positions are shown in
Figure 2).
Average Percentage (AP): For each replicate of a case described in
Figure 1, we divided the region of interest into square bins of dimensions
. Then, we recorded the number of bins with detectable concentration that the robot had visited for the cases with effluent. In the environment with no effluent, we simply counted all the bins the robot had visited. The bin was recorded only at the discrete timestep and not along the path the robot took between timesteps. We defined those bins as
explored; see
Figure 9 for an example. Then, we computed the percentage of the explored bins from the total number of bins
and took the average of these percentages (AP) from all the replicates of this case. The performance of all the cases in
Figure 1 using the two controllers with respect to this AP measure are summarized in
Table 1.
Success Rate (SR): Due to the randomness in both algorithms and the existence of some initial positions outside the region of detectable chemical in the single effluent environment, we propose the success rate, which is the percent of replicates with positive concentration at the terminus of their run over the total number of replicates for each case and each controller. The higher the success rate, the better the controller in finding locations of positive concentrations in the region of interest without getting completely lost. Performance with respect to this measurement is summarized in
Table 2.
4. Conclusions
We presented two algorithms for mobile robots that combine chemotaxis with obstacle avoidance with the goal of exploring a region potentially containing chemical effluent while avoiding collisions with obstacles. The basic chemotaxis algorithm combines gradient ascent behavior with some random turning. The RapidCell algorithm is more biomimetic: RapidCell better simulates the behavior of real E. coli bacteria with a model of the intracellular signaling pathway, including a type of memory that guides the cells towards more favorable directions. We tested both algorithms in the same scenarios in simulation and experimentally with a real mobile robot platform.
We observed, both in simulation and experimentation, that the memory of the RapidCell model for chemotaxis caused a more thorough exploration of detectable chemical, without necessarily identifying the peak, while the basic chemotaxis algorithm tended to explore only around the nearest local maxima. The RapidCell controller also more fully explored homogeneous environments, increasing the chances of encountering detectable chemical. Therefore, the basic algorithm is better suited to identifying and remaining at the nearest source of chemical effluence, since it tends to get “stuck” at the first local maximum it encounters. The RapidCell algorithm is a better choice if the goal is a more thorough exploration, including in areas where there might be no detectable chemical. The presence of obstacles in the environment impeded both controllers approximately equally, not changing the qualitative behavior of either controller appreciably.
Future work includes attaching a chemical sensor that will allow the robot to determine chemical concentrations in air. In addition, a more robust and realistic simulation environment will be created using computational fluid dynamics with a gaseous attractant and the presence of moving air to more closely simulate the real-world applications of this system. We will also experiment with swarms of robots to more quickly explore the environment. Finally, various other taxis algorithms from related studies could be implemented for comparison and optimization.