Home

Caltech
Center for Neuromorphic Systems Engineering

Home
Research
News
People

[back]

Distributive Plume Tracing
Adam Hayes, Alcherio Martinoli

Abstract. The objective of this project is to study biologically inspired algorithms which enable a robot or group of robots to track an odor plume to its source, with an appropriate combination of speed, efficiency, reliability, and accuracy. Research is conducted at three levels: non-embodied point simulations, embodied sensor-based simulations, and real robots. The simulations use sensors and actuators which are based on the capabilities of the real robots, and plume information is derived from empirical data files recorded from real plumes or realistic plume simulators. In simulation we explore the performance of various families of simple algorithms, as well as the potential for automated parameter tuning and on-line learning. We assess the most promising algorithms on real robots, which are equipped with Caltech olfactory sensors, anemometric devices, and simple communication systems.

Motivation. Recently, advances have been made in understanding biological and artificial odor classification and odor localization as performed by moths and rats in the air, and lobsters and stomatopods in water. Animals use a combination of hardware (frequency of receptor adaptation, perhaps), software (temporal integration and/or spatial integration), and search strategies (both intrinsic and landmark-based) to locate odor sources. Odor localization is in essence a behavioral problem, and for certain tasks (e.g., detecting chemical leaks and mapping hazardous waste sites) there are engineering advantages to combine odor sensing with mobile robots. We are interested in developing small mobile robots that use odor tracking algorithms and multi-sensor (e.g. odometry, anemometry, olfaction) fusion to search out and identify sources of odor.

Research
Algorithm.
The basic odor localization algorithm used in this study, Spiral Surge (SS), is shown in Figure 1. It consists of different behaviors related to the three different subtasks.

TABLE I
Spiral Surge Algorithm Parameters

SpiralGab 1

Initial spiral gap width
SpiralGab 2 Plume reacquisition spirial gap width
Step Size Surge distance post odor hit
CastTime Length of time before reverting from reacquisition to initial search spiral
SrcDecThresh Significance threshold between separate odor hits
SrcDecCount Number of significant differences before source declaration

Figure 1. Spiral Surge odor localization behavior.

Plume finding is performed by an initial outward spiral search pattern (SpiralGap1). This allows for thorough coverage of the local space if the total search area is large and initial information can be provided by the deployment point (an external 'best guess' as to source location). Alternatively, if no a priori knowledge is available, a spiral with a gap much greater than the arena size (producing essentially straight line search paths) provides an effective, although not optimal, search procedure. Future work will address search efficiency in greater detail.


Plume traversal is performed using a type of surge algorithm. When an odor is encountered during spiraling, the robot samples the wind direction and moves upwind for a set distance (StepSize). If during the surge another odor packet is encountered, the robot resets the surge distance but does not resample the wind direction. After the surge distance has been reached, the robot begins a spiral casting behavior, looking for another plume hit. The casting spiral can be tighter than the plume finding spiral (SpiralGap2), as post surge the robot has information about packet density and a thorough local search is a good strategy. If the robot subsequently re-encounters the plume, it will repeat the surging behavior, but if there is no additional plume information for a set amount of time (CastTime), the robot will declare the plume lost and return to the plume finding behavior (with a wider, less local, spiral gap parameter).

Source declaration can be accomplished using the fact that a robot performing the plume traversal behavior at the head of a plume will tend to surge into an area where there is no plume information, and then spiral back to the origin of the surge before receiving another odor hit. If the robot keeps track internally of the post spiral inter-hit distances (using odometry, for example, which is sufficient because information must be accurate only locally), a series of small differences can indicate that the robot has ceased progress up the plume, and must therefore be at the source. However, because small inter-hit distances can occur in all parts of the plume, this method is not foolproof, and tuning the significance threshold (SrcDecThresh), as well as the number of observed occurrences before source declaration (SrcDecCount), is required to obtain a particular performance within a given plume. See Table I for a summary of individual SS parameters.

SS uses only binary odor information generated from a single plume sensor. This is motivated partially because this is the most simple and reliable type of information that can be obtained from real hardware. However, due to the highly stochastic nature of turbulent fluid flow and the odor-packet nature of the plume, it is unclear that more complex sensing --­ via graded intensity information or larger sensor arrays --­ would benefit an agent when flow information is available through other means.

Real Robots. We use Moorebots, as shown in Figure 2a. The plume traversal arena is 6.7 by 6.7 m, and the robots are 24 cm in diameter. In addition to the basic setup, as described in [Winfield00], each robot is equipped with four infra-red range sensors for collision avoidance, a single odor sensor tuned to sense water vapor, and a hot wire anemometer. An overhead camera tracking system (Figure 2b), combined with a radio LAN among the robots and an external workstation, is used to log position data during the trials, reposition the robots between trials, and emulate the binary communication signals. Trials of different group size are interleaved and inactive robots are automatically positioned at recharging stations.


(a)


(b)


Figure 2. (a) Moorebots in plume traversal arena. (b) Overhead camera view

The odor sensor detects the presence of an airborne substance through a change in the electrical resistance of a chemically sensitive carbon-doped polymer resistor. We generate a water plume using a pan of hot water and an array of fans. Mapping the plume using a random walk behavior (see Figure 3a) indicates that the plume is stable. The anemometer is enclosed in a tube that gives it unidirectional sensitivity, which, combined with a scanning behavior, allows the robot to measure wind direction.





(a)



(b)


Figure 3. (a) Plume hits received by 6 real robots over 1 hour while performing a random walk behavior. (b) Plume hits received by 6 simulated robots over 1 hour. (b) Average wind direction in plume traversal arena as measured by the real robots. Plume source at upper right. Arrow lengths are proportional to the mean flow magnitude at the tail of each arrow.

Embodied Simulation. In absence of a functional higher level alternative, we used Webots, a 3D sensor-based, kinematic simulator, originally developed for Khepera robots, to systematically investigate the performance of SS in simulation. This embodied simulator has previously been shown to generate data that closely matches real Khepera [Martinoli99] and Moorebot [Hayes00] experiments, so we were confident that real robot behavior was accurately captured.

(a)
(b)

Figure 4. (a) Webots plume traversal arena with average plume intensity map. (b) Performance of real robot (solid) and Webots (dashed) trials across group size. Higher values indicate better performance. SS1 and SS2 are the SS algorithm with different parameter values. Random Walk uses no plume information and Random Odor decouples plume hits and spatial location. For more details see [Hayes01]

The physical arena was captured in Webots, as shown in Figure 4a. To properly capture the plume stimulus, we incorporated a series of leaky source 2D plume images generated in a water flume by Philip Roberts and Donald Webster at Georgia Tech. Such 'plume movies', even though they do not capture the influence of the agents on plume dynamics, offer a good approximation to the discretized (packet-like) nature of odor stimulus received in real environments. We scaled the recorded plume data to imitate the average speed and envelope of the real plume data (Figure 3a), and tuned the odor sensitivity threshold (higher threshold leads to less odor information) based on performance observed in our real arena. Flow information was taken directly from the real robot data (as shown in Figure 3b) and introduced into the embodied simulations.


Achievements. We described a distributed algorithm for solving the full odor localization task, and showed that group performance can exceed that of a single robot.

We demonstrated that conducting polymer-based odor sensors possess the combination of speed and sensitivity necessary to enable real world odor plume tracing.

We created a stable test-bed and demonstrated that one subtask, plume traversal, can be successfully accomplished by real robots.

We established that an embodied simulator can accurately replicate the real robots results, and used a reinforcement learning system to optimize system performance.

We showed that elementary communication among a group of agents can increase the efficiency of the odor localization system performance.

References
Swarm Robotic Odor Localization. Hayes A. T., Martinoli A., and Goodman R. M., Proc. of the 2001 IEEE/RSJ Int. Conference on Intelligent Robots and Systems IROS-2001, Wailea, Hawaii, October 2001, pp. 1073-1078.

Comparing Distributed Exploration Stratgeies with Simulated and Real Autonomous Robots.Hayes A. T., Martinoli A., and Goodman R. M., Proc. of the fifth Int. Symp. on Distributed Autonomous Robotic Systems DARS-2000, L. E. Parker, G. Bekey, and J. Barhen, Eds., Knoxville, Tennessee, October 2000, pp. 261-270, Springer Verlag.

An Autonomous Water Vapor Plume Tracking Robot Using Passive Resistive Polymer Sensors. Kazadi S., Goodman R., Tsikata D., Lin H., Autonomous Robots, 2000, Vol. 9, No. 2, pp. 175-188.

Swarm Intelligence in Autonomous Collective Robotics: From Tools to the Analysis and Synthesis of Distributed Control Strategies. A. Martinoli, PhD Thesis, Dept. of Computer Science, EPFL, Lausanne, Switzerland, 1999.

The Application of Wireless Local Area Network Technology to the Control of Mobile Robots. Winfield A. F. T. and Holland O. E., Microprocessors and Microsystems, 2000, Vol. 23, pp. 597-607.


top