U.S. flag

An official website of the United States government

NCBI Bookshelf. A service of the National Library of Medicine, National Institutes of Health.

Persaud KC, Marco S, Gutiérrez-Gálvez A, editors. Neuromorphic Olfaction. Boca Raton (FL): CRC Press/Taylor & Francis; 2013.

Cover of Neuromorphic Olfaction

Neuromorphic Olfaction.

Show details

Chapter 5Reactive and Cognitive Search Strategies for Olfactory Robots

and .

5.1. INTRODUCTION

Tracking scents and odor sources is a major challenge in robotics, with applications to the localization of chemical leaks, drugs, and explosives (Russell 1999). Nowadays, animals are commonly used in safety and security tasks because of their excellent smell detection capabilities. Examples include dogs and honeybees (Rains et al. 2008). However, using animals to sniff specific odors related to bombs or explosives has several drawbacks. On top of the hazards of such endeavors, animals like dogs show behavioral variations and changing moods. They get tired after extensive work and require frequent retraining as their performance decreases over time. As an alternative, could we envision using olfactory robots to advantageously replace animals for these tasks?

At short distances from the source, olfactory search methods inspired by bacterial chemotaxis provide acceptable solutions for navigating a robot. Bacteria like Escherichia coli direct toward chemo-attractants by climbing a concentration gradient. They alternate between periods of straight swims called runs and random reorientations called tumbles (Berg 2003). Such biased random walks have been implemented on real robots (Lytridis et al. 2006; Russell et al. 2003; Marques et al. 2006), yet with a limited success, mainly because of the use of a single odor sensor. Unlike bacteria, other animals may use instantaneous gradient information assessed by comparing the responses of spatially separated chemosensors. This claim is supported by experiments showing that unilateral lesions, like the blockage of the nasal airflow in one nostril in rats or the ablation of one of the antennae in crayfish, impair odor source localization (Kraus-Epley and Moore 2002; Rajan et al. 2006; McMahon et al. 2005). Autonomous olfactory robots using bilateral comparison include the robotic “lobster” for tracking saline plumes in water (Consi et al. 1995; Grasso et al. 1997; Grasso 2001), the Braitenberg olfactory robot (Lilienthal and Duckett 2003), and our robot (Hugues et al. 2003; Martinez et al. 2006), whose trajectory curvature was constantly modulated by the difference in concentration between left and right sensors (Figure 5.1a). A prerequisite to all the aforementioned chemotactic robots is the existence of a relatively smooth concentration gradient. The experiments we performed revealed that a concentration gradient can effectively be measured (see Figure 5.4 , left in Martinez et al. 2006), but only when the robot moves slowly (2.5 cm/s) and near to the source (search area limited to 3 m2). As chemotactic search strategies are applicable only in the vicinity of the source, we considered the possibility of exploring the environment by using vision, in addition to olfaction (Martinez and Perrinet 2002). An important limitation nevertheless is that odor source candidates need to be identifiable from visual features.

FIGURE 5.1. Different search strategies can be used depending on the type of olfactory cues available, concentration gradient (a) or intermittent odor patches (b and c).

FIGURE 5.1

Different search strategies can be used depending on the type of olfactory cues available, concentration gradient (a) or intermittent odor patches (b and c). (a) Climbing a concentration gradient is possible at short distances from the source by modulating (more...)

FIGURE 5.4. (See color insert.

FIGURE 5.4

(See color insert.) Navigation patterns observed when infotaxis is confronted to a pulsed source (fast pulses in a, slow pulses in b). Top rows represent snapshots of the simulated environment at different times (pulsed source located in r0 = (25, 2), (more...)

Far from the source, the concentration landscape of an odor, called a plume, is very heterogeneous and unsteady, and consists of sporadically located patches (Weissburg 2000; Roberts and Webster 2002). Even at moderate distances (order 10 m), detections become sporadic and only provide cues intermittently. Given this discontinuous flow of information, how then can we efficiently navigate a robot toward the source over moderate or large distances (order 100 m)? It is well known that insects such as male moths successfully locate their mates over distances of hundreds of meters. To do so, male moths adopt a typical behavior (for reviews see, e.g., Murlis et al. 1992; Kaissling 1997; Vickers 2006). Upon sensing a pheromone patch, they surge upwind, and when the odor information vanishes, they perform an extended crosswind casting until the plume is reacquired. This strategy has the advantage of being purely reactive; i.e., actions are completely determined by current perceptions, that is, surge upwind upon sensing a pheromone patch and cast crosswind when odor information vanishes. Such reactive methods have been simulated or implemented on robots in various forms (Kuwana et al. 1999; Pyk et al. 2006; Balkovsky and Shraiman 2002). An efficient variant is the spiral-surge strategy (Hayes et al. 2002; Lochmatter et al. 2008) that combines upwind surge in the presence of the odor with spiraling in its absence (Figure 5.1b). Yet performance of reactive strategies at distances beyond 100 m, when the reacquisition of the plume becomes very unlikely, is unclear. Reactive casting-surge methods address the search problem only from an imitation perspective; i.e., they mimic the choices performed by animals through a rule-based approach, regardless of the underlying mechanisms from which the behavior emerges. This biomimetic approach raises the question of how well reactive strategies may be adapted to new environmental conditions as those occurring when the distance from the source increases.

For those conditions, a more sophisticated method, infotaxis, was proposed recently (Vergassola et al. 2007; Martinez 2007). Infotaxis relies on Bayesian inference to maximize information gain, and exploits the expected distribution of odor encounters. It involves a period of exploration during which the searcher builds a probabilistic map of the source location. As the searcher accumulates information, the map becomes sharper and its entropy—which reflects the uncertainty about the location of the source—decreases. Because the expected search time is determined by the uncertainty of the belief, the searcher moves so as to maximize the expected reduction in entropy, and therefore the rate of information acquisition. Maximizing information gain entails a competition between two actions, exploitation and exploration. The former drives the searcher toward locations where the probability of finding the source is high. The latter favors motion to regions with lower probabilities of source discovery but high rewards in terms of information gain. Infotaxis is a cognitive strategy in the sense that an internal model of the world is built from past detections and actions so that memory and learning play a crucial role (Figure 5.1c).

Advantages, disadvantages, limitations, and biological plausibility of cognitive and reactive search strategies are largely unknown and remain to be quantified. In this chapter, we review the two approaches and report comparisons based on simulations and robotic experiments. To our knowledge, only two studies have considered a robotic implementation of infotaxis: Lochmatter (2010) and Moraud and Martinez (2010).

5.2. REACTIVE AND COGNITIVE SEARCH STRATEGIES: SPIRAL-SURGE AND INFOTAXIS

The reactive and cognitive search strategies described in this section are based on a single odor sensor providing binary information about the presence or absence of the odor, and thereby ignore the instantaneous level of concentration. The uselessness of concentration in tracking turbulent plumes is justified by several studies revealing that concentration can still be high within filaments far away from the source (Jones 1983), and that the local concentration gradient does not always point toward the source (Murlis et al. 2000).

5.2.1. Reactive Search: Spiral-Surge

Most reactive search strategies take inspiration from the flight of male moths localizing a conspecific female from far away. This is one of the most remarkable and best-studied olfactory searching behaviors known in nature (for a review see, e.g., Murlis et al. 1992; Kaissling 1997; Vickers 2006). Male moths flying within a pheromone plume exhibit a characteristic odor-modulated anemotactic response. They surge upwind upon sensing a pheromone patch and perform an extended crosswind casting when odor information vanishes. The difficulty of translating these ideas into an algorithm is to be able to specify the casting phase (the surge phase being simply a straight movement in the upwind direction). Balkovski and Shraiman (2002) proposed a casting algorithm in which the searcher zigzags upwind and the parameters of the turns, amplitude and upwind drift, are adapted to statistical properties of the flow. Because the searcher moves solely upwind, however, the source can be missed, and there is no chance to localize it downwind. In practice, male moths do not always fly upwind. For example, foraging or appetitive flights of male moths, prior to initial contact with the odorant, have been shown to be either downwind (Reynolds et al. 2007) or with no preferred orientation with respect to the wind flow (Cardé et al. 2012). During casting, the silkworm moth Bombyx mori first performs zigzag turns across the wind in the hope of regaining contact with the odor, but then switches to circular motion patterns (Figure 5.2a). Inspired by the looping behavior of the silkworm moth, the spiral-surge algorithm (Hayes et al. 2002) performs an Archimedean spiral in the casting phase (Figure 5.2b) and yields significantly better results in practice than a zigzagging casting algorithm (Lochmatter et al. 2008).

FIGURE 5.2. (See color insert.

FIGURE 5.2

(See color insert.) Reactive and cognitive search strategies. (a) Spiral-surge (reactive search) is inspired by the odor-modulated anemotactic response of male moths in pheromone plumes. Top: A typical trajectory of a silkworm moth consists of two phases, (more...)

5.2.2. Cognitive Search: Infotaxis

In reactive search strategies, behavioral patterns like surge and casting are preprogrammed, and the actions of the agent are completely determined by the current perceptions. The cognitive search strategy infotaxis (Vergassola et al. 2007), on the contrary, is based on reinforcement learning and fully exploits the capabilities of autonomous on-line learning. Driven by a decision-making strategy that efficiently combines exploration of the surrounding and information exploitation, the agent discovers the direction leading to the source by interacting iteratively with the environment. Infotaxis is built around two core components: uncertainty modeling and decision making. The former is achieved through an internal description of the world (physical description of turbulent transport), which is used by the latter to interpret odor encounters and infer the likelihood of the source to be at a given location. We outline hereafter these components.

5.2.2.1. Uncertainty Modeling: Internal Representation of Turbulent Transport and Probabilistic Belief

The agent employs an internal description of how cues spread in the environment. This representation provides information of what to expect given what is perceived, and is essential to interpret interactions with the surrounding. In the case considered in Vergassola et al. (2007) the internal model corresponds to the spatiotemporal profile of odor plumes as derived from the equations of diffusion-advection. However, since odor dispersal in open environments is subject to high degrees of turbulence and randomness, a detailed description of the environmental dynamics is difficult to achieve. Instead, a statistical model is employed, in which the odor cues perceived at location r, during a discrete-time interval δt, are considered to be independently sampled from a Poisson distribution with parameter λ(r, s0) = R(r, s0t, where R(r, s0) is the time-averaged detection rate given a source located at position s0. Hence,

Image ch5_p158eq1.jpg

Based on the previous model of odor encounters, a probabilistic belief is built (Figure 5.2 , right) given the trace of past detections. This is done in a similar way to Pang and Farrell (2006). The belief is a grid-based map of the environment (closed-world assumption is adopted) that is constructed by inferring the probability of the source to be located in s0 given the trace of past detections Image ch5_p158eq2.jpg= {(r0, t0), (r1, t1, …, rn, tn)}. Because the agent did not detect at any moment other than t0tn, nondetections also provide information and are used to derive the belief. Note also that the path followed between the initial and the current state is implicitly encoded in Image ch5_p158eq2.jpg. Updating the probability map corresponds to deriving the posterior probability of the random variable s0 from the nobservations in Image ch5_p158eq2.jpg, and is thus directly obtained through Bayesian inference. Since cues are expected to follow a Poisson distribution and are assumed to be independent and identically distributed, the belief up to time t is calculated as

Image ch5_p158eq3.jpg

where ri represents the locations of the n detections observed in Image ch5_p158eq2.jpg at times ti, i = 1, …, n. Such a function is iteratively updated as the agent moves.

5.2.2.2. Decision Making

The approach employed by infotaxis to decide where to move next is the key point of its robustness. Unlike classical navigation methods (maximum likelihood or maximum a posteriori), infotaxis does not target the most likely location for the source. Instead, the agent chooses to move to the new location Image rcap1.jpg, which maximally reduces uncertainty:

Image ch5_p158eq4.jpg

where St is the Shannon entropy at the current step t: St = E[−ln pt (s0)], with E the expectation taken over the source location s0. This decision making naturally conveys a balance between how much is currently known and how much is yet to be discovered, or in other words, between exploration and exploitation. The variation of entropy consists of two parts:

Image ch5_p158eq5.jpg

The first term evaluates the probability pt+1(rj) of finding the source in the next step when moving from r to rj—in which case the entropy becomes zero. The second term computes the amount of knowledge ESj) gathered when the source is not found with probability 1– pt+1(rj).

The first term corresponds to the exploitative choice, driving the searcher toward locations that maximize its (expected) chances of finding the source—regardless of other considerations. The second term represents the explorative decision, which favors motion to regions where the agent might detect new cues—regardless of whether the source is actually believed to be in that direction or not. This balance is essential for the strategy to be effective and provides the model with a robustness that makes it especially suitable for turbulent environments.

5.3. NUMERICAL COMPARISONS BETWEEN SPIRAL-SURGE AND INFOTAXIS

Using numerical simulations, we assess here the performance of spiral-surge and infotaxis in terms of complexity (simulation time), effectiveness (search time), and robustness (with respect to changes in environmental conditions). Both algorithms were implemented in Python (see appendix) and evaluated on the same computer (MacBook Pro, 2.2 GHz).

The parameters of infotaxis were identical to those of the statistical model of the odor plume used in simulations, with details given in Moraud and Martinez (2010). The environmental conditions were defined as follows: search area of 5 × 5 m2 discretized as a 100 × 100 grid, source diffusivity D = 1 a.u., emission rate R = 1 a.u., lifetime of particles τ = 300 a.u., wind speed V = −2 m/s, and sensor size a = 1 cm. The parameters of spiral-surge have been estimated to provide acceptable performance. In the simulations, we used a spiral gap of 30 cm and a surge distance of 50 cm. Examples of trajectories are depicted in Figure 5.3a and b for spiral-surge and infotaxis, respectively. In order to obtain statistically comparable results, we performed 150 runs of each algorithm with the source located at (50, 80) and the robot starting at (20, 20). The searcher was assumed to have reached its goal at one step from the source. In terms of effectiveness, infotaxis outperformed spiral-surge (search time = 724 ± 341 steps for infotaxis versus 1124 ± 703 steps for spiral-surge). In terms of complexity, spiral-surge was much less demanding (simulation time = 60 ± 29 s for infotaxis versus 0.2 ± 0.1 s for spiral-surge).

FIGURE 5.3. Performance comparison between reactive and cognitive plume tracking strategies.

FIGURE 5.3

Performance comparison between reactive and cognitive plume tracking strategies. (a, b) Examples of simulated trajectories with correct modeling by the searcher (spiral-surge in a, infotaxis in b). The environment (5 × 5 m) is a grid-based model (more...)

To assess robustness, we tested the two methods under varying environmental conditions (lifetime of particles τ in range 100–600 a.u. and wind speed V in range 0.5–3.5 m/s). Infotaxis was clearly more robust than spiral-surge, for which changes in environmental conditions induced more variations in the search time (Figure 5.3c and d). Infotaxis, however, may be highly dependent on a particular statistical model of the odor plume, as the likelihood for the source to be at a given location is inferred through an internal description of the environment, i.e., a physical description of how cues spread when transported away from the source.

Simulations performed so far were done with a continuous source. Females of some moth species are known to rhythmically extrude their pheromone glands (Baker et al. 1985). To assess the capacity of infotaxis to cope with real conditions such as those faced in biology, we considered simulations with a pulsed source model that rhythmically releases odor patches in the environment. Note that there was a mismatch between the pulsed source generator (pulse duration = 0.2 s, air gap between pulses = 1.3 or 4.8 s) and the continuous source model (D = 1 a.u., τ = 1.5 a.u., R = 2 a.u., V = −2.5m/s, and a = 1cm) used to update the internal beliefs in infotaxis. We performed 60 simulation runs, 30 with fast pulses (air gap between pulses = 1.3 s) and 30 with slow pulses (air gap = 4.8 s). Percentages of downwind movements were low and not significantly different in both conditions (10.1 ± 4.2% for fast pulses versus 10.6 ± 7.5%). We found, however, that the searcher moves mainly upwind in the fast pulsed condition (52 ± 8% of upwind movements for fast pulses versus 43 ± 6% for slow pulses) and crosswind in the slow pulsed condition (38 ± 6% of crosswind movements for fast pulses versus 46 ± 8% for slow pulses). Typical infotactic trajectories under fast and slow pulsed conditions are shown in Figure 5.4. With fast pulses (Figure 5.4a), intervals of no detection between pulses are short enough to keep the searcher on exploitation. Each update sharpens the posterior distribution. The high-probability bump emerging in the wind direction induces the agent to move upwind. With slow pulses (Figure 5.4b), unexpected long periods of time with no odor encounter broaden the posterior distribution, hence compelling the agent to counterturn and explore the environment in large spirals.

5.4. ROBOTIC IMPLEMENTATION OF INFOTAXIS

We addressed the problem of verifying that infotaxis would be equally efficient under real experimental conditions as it was in simulation. One of the motivations is that computational models usually require simplifications or assumptions helping to make problems tractable. On the contrary, robotic agents are confronted to the real environment, and hence provide a test bed to assert complete and rigorous results. More importantly, robotic implementations also represent an essential step to ensure that algorithmic concepts can be implemented with the available technology and employed beyond computer simulations.

The key point at the core of infotaxis is the randomness of odor encounters. This randomness motivates the use of a cognitive approach that employs uncertainty minimization navigation techniques. Yet in simulations, cues were modeled through stochastic mathematical descriptions that assume independent and uncorrelated hits. In reality, however, an odor patch covers a certain volume and presents extended spatiotemporal characteristics. Even though inherently random, this structure will give rise to consecutive nonindependent cues (at the sensor sampling time). For infotaxis to be fully efficient, consecutive detections should not be overcounted. In Moraud and Martinez (2010), the posterior probability distribution was derived from a modified model that accounts for correlated hits, and built on transitions (from no detection to detection) rather than on single hits. In our implementation, this was achieved by means of an adaptive filter, calculated over a moving time window (Figure 5.5).

FIGURE 5.5. Real recordings (dark gray) at 10 Hz sampling frequency, and derived cues (black dots) to be employed by infotaxis when guiding the search of the robot represented at the right.

FIGURE 5.5

Real recordings (dark gray) at 10 Hz sampling frequency, and derived cues (black dots) to be employed by infotaxis when guiding the search of the robot represented at the right. A moving window (light gray) is used to filter the signal while preventing (more...)

Furthermore, electronic sensors must be chosen so that the requirements of the model (in terms of sensitivity and speed) are met. Because the odor sensors we tested so far required long degassing times and saturated easily, they were unable to respond to the requirements of infotaxis. As an alternative, we chose to use heat sensors, which do not saturate easily and react at high speed. We note that the spatiotemporal distribution of heat is identical to that of odor, and thus no loss of accuracy is brought in by this adaptation.

When compared to simulated results, identical distributions were obtained for the robot trajectories, both for the search time required until finding the source and for the number of encounters required (Figure 5.6), thus ensuring that its main properties are preserved when applied to reality. Note also that the internal model relied upon by the agent employs information of diffusion parameters (e.g., wind speed and direction, which in reality may vary over time and differ from the estimated ones). In the robotic experiments, the robustness of infotaxis was thus evaluated even with respect to inaccurate modeling, as the parameters were not fine-tuned or adapted on-line. Yet despite this discrepancy, the robot was able to find the source within reasonable time limits.

FIGURE 5.6. Comparison of robotic and simulated results: cumulative distribution of the number of steps until finding the source (right) and the number of cues required to reach the goal (left).

FIGURE 5.6

Comparison of robotic and simulated results: cumulative distribution of the number of steps until finding the source (right) and the number of cues required to reach the goal (left).

The biomimetic characteristics of the navigation were also preserved in our robotic implementation. Robot trajectories were shown to exhibit animal-like patterns such as extended crosswind or zigzag upwind. The track angle histogram also maintains a distribution similar to that observed in moths; details are given in Moraud and Martinez (2010).

5.5. PERSPECTIVES AND CONCLUSION

In this chapter we reviewed spiral-surge and infotaxis, two strategies for searching a source of information (e.g., chemical or heat) based on intermittent cues. Although both strategies may be understood in terms of exploration and exploitation (Balkovsky and Shraiman 2002; Vergassola et al. 2007), they have different grounds: probabilistic inference for infotaxis and bioinspiration for spiral-surge.

Infotaxis is a cognitive strategy in the sense that the next action is inferred through the use of an internal model built from past observations. On the opposite, spiral-surge is a reactive strategy in the sense that the next action (surge or spiral) is just computed from the current context (presence or absence of the stimulus). The parameters of the actions, surge distance and spiral gap, have to be tuned to the current environmental conditions. The robustness of both strategies was evaluated with respect to inaccurate modeling by the agent. The parameters employed internally to guide the search were not fine-tuned or adapted over time, and could differ from the instantaneous characteristics of the surrounding. Despite this discrepancy, the agent guided by either infotaxis or spiral-surge reached the source within a reasonable time limit. Based on numerical simulations, we reported that infotaxis is more effective and more robust than spiral-surge.

The superior performance of infotaxis comes at the cost of increased computational requirements. Does this increased complexity compromise the use of infotaxis in real robots? The robotic implementation presented in this chapter demonstrated that this is not the case for the chosen grid-based map (100 × 100 with 5 cm/sector). Nevertheless, it may be necessary to make simplifications when the resolution of the grid (or the size of the covered surface) increases, as heavy computations would exponentially become a non-negligible burden incompatible with an on-board implementation. A future challenge would therefore be to simplify the infotaxis strategy of search in a suitable form for on-board, real-time implementation. Methods that replace the grid map for a continuous-space version of the algorithm (e.g., Barbieri et al. 2011) may prove more easily scalable. Likewise, methods that employ approximate inference for deriving the posterior beliefs may also provide faster solutions.

Again from a technical perspective, the presented strategies rely on ideal sensing capabilities. Yet, we tested several gas sensors based on tin oxide, and none of them suited our needs in terms of response time and sensitivity. They saturated at medium concentrations and require a long-lasting phase of degassing before they can react again. The difficulty to resolve individual odor patches with tin oxide gas sensors motivated us to test infotaxis on a transport model of heat identical to the one of smell. However, alternative solutions that exploit current advances in gas sensing technology (e.g., a miniature photoionization detector) may also give answer to the aforementioned requirements.

In reactive search strategies like spiral-surge, the actions of the agent are imposed by explicit rules of movements, e.g., upwind surge in the presence of the odor and casting in its absence. Behavioral patterns of male moths attracted by a sex pheromone seem rather stereotyped and might then be simply innate or preprogrammed. It has been suggested that surge and casting behaviors are instructed by particular types of descending neurons in the protocerebrum of the moth (Olberg 1983; Kanzaki et al. 1991, 1994). However, it might be too simplistic to consider the moth behavior as a hard-wired program. After all, a cognitive strategy like infotaxis also produces behavioral patterns resembling spiral-surge, as noticed, for example, in Figure 5.4 b. Infotactic spiraling trajectories in the absence of the odor were also reported in other studies (Masson et al. 2009; Barbieri et al. 2011). The main difference with a reactive spiral-surge strategy is that these behaviors emerge naturally from the trade-off between exploration and exploitation at the core of the underlying cognitive spatial model (belief function). Yet, whether or not insects rely on cognitive maps for their navigation is an open question (Wehner and Menzel 1990; Collett and Collett 2002). Future work is thus needed to investigate under which form a cognitive search strategy like infotaxis could be implemented in a moth brain.

Interestingly, the search strategies presented in this chapter are general to searching a source of information based on intermittent cues. Indeed, the concept only requires certain features to work (i.e., cues encountered along the way, which provide information about the source given with a model of the environmental dynamics). Such methods may thus be extended to a variety of scenarios dealing with autonomous navigation and goal localization under uncertainty. A key point is that the goal is treated as a source of information that spreads cues in the environment in a way that can be modeled, and relied upon when reasoning. Examples may include rovers searching for footprints of biological activity or chemical compounds spread in the soil, as, for instance, in the framework of space exploration where efficiency and autonomy are essential for the success of the missions (Moraud and Chicca 2011).

5.6. APPENDIX: SOURCE CODE FOR INFOTAXIS AND SPIRAL-SURGE

5.6.1. Infotaxis

Infotaxis was implemented in two major classes, one that describes the environment and another that updates the likelihood map and computes the variation in entropy when moving to neighbor locations. The code is outlined below:

import numpy

import donnees

from scipy import weave, factorial, cumsum

import matplotlib.pyplot as plt

import sys

class probMap:

“““A grid class that stores the details and solution of the computational grid.”””

def __init__(self, V_y):

self.dt = donnees.dt

self.nx = donnees.quad_x

self.ny = donnees.quad_y

self.sautx = donnees.saut_x

self.sauty = donnees.saut_y

self.Vy = V_y

self.lamda = numpy.sqrt((donnees.info_D*1.*donnees.info_tau)/(1+ (self.Vy*self.Vy*donnees.info_tau*1.)/(4.*donnees.info_D)))

self.XaxisMatrix = numpy.zeros((self.ny,self.nx),dtype = int)

self.YaxisMatrix = numpy.zeros((self.ny,self.nx),dtype = int)

for i in range(self.ny):

self.XaxisMatrix[i,:] = numpy.

arange(0,self.nx)

for i in range(self.nx):

self.YaxisMatrix[:,i] = numpy.

arange(0,self.ny)

self.u = numpy.ones((self.ny, self.nx), dtype = float)

self.Den = 0

self.S = 0

self.old_u = self.u.copy()

self.index = 0

def detRate_grid(self, Xagent, Yagent):

“Detection-rate grid for each point in the grid given a position for the agent”

# Matrix of size [ny,nx] with all the distances between the agent an any other point of the grid

module_dist = numpy.sqrt(numpy.power((Xagent-self.XaxisMatrix)*self.sautx, 2) + \

numpy.power((Yagent-self.YaxisMatrix)*self.sauty, 2))

# Average concentrations given previous matrix

conc = donnees.info_R*1./(4.*numpy.pi*donnees.info_D*module_dist) * \

numpy.exp(-1.*(Yagent-self.YaxisMatrix)*self.sauty*self.Vy/(2.*donnees.info_D)) *numpy.exp(-1.*module_dist/self.lamda)

conc[Yagent,Xagent] = 100

# Detection-rate matrix

detRate = 4.*numpy.pi*donnees.info_D*donnees.info_a*conc

return detRate

def forward(self, Xagent, Yagent, Nparticules):

“Calculate likelihood for each next location”

detRate = self.detRate_grid(Xagent, Yagent)

#Likelihood map

u_new = numpy.exp(-detRate*self.dt) * numpy.power(detRate*self.dt, Nparticules)

# Update

u_tot = self.u * u_new

Den = numpy.sum(u_tot)

return u_tot, Den

def update(self, Xagent, Yagent,Nparticules):

“Update values for self.u, self.Den, self.S”

self.old_u = self.u.copy()

self.u, self.Den = self.forward(Xagent, Yagent, Nparticules)

self.S = self.entropy(self.u, self.Den)

self.index = self.index+1

def entropy(self,u,Den):

“Calculates the entropy”

S = - 1.0 * numpy.sum(u/Den*(numpy.log(u) - numpy.log(Den)), dtype = float)

return S

def plot(self):

proba = self.u #/self.Den Avoid overflows… Plot does not change anyway

fig = plt.figure()

ax = fig.add_subplot(111)

cax = plt.pcolormesh(proba)

plt.axis([0,self.nx,0,self.ny])

ax.set_title(‘Probability grid map’)

cbar = fig.colorbar(cax,ticks = [numpy.min(proba), numpy.max(proba)])

cbar.ax.set_yticklabels([‘Low’, ‘High’])

fig.savefig(‘infotaxis’+str(self.index))

plt.show()

def poisson (self, Npoints, landa):

increasingNbs = numpy.linspace(0, Npoints-1,num = Npoints)

poissonVals = numpy.power(landa,increasingNbs) * numpy.exp(-landa) *1./factorial(increasingNbs)

return poissonVals

def varEntropy(self, Xneighbour, Yneighbour):

“Variation in entropy when going to neighbor j”

# Detection-rate grid if I go to the next neighbour

detRate = self.detRate_grid(Xneighbour, Yneighbour)

#Current prob grid

prob = self.u/self.Den

# Expected detection.rate at the neighbour

h = self.dt * numpy.sum(prob * detRate)

N = 5

ro = self.poisson(N,h)

# Forward variation of prob grid and entropy

varS = 0

for k in range(N):

u,den = self.forward(Xneighbour,Yneighbour,k)

varS = varS + ro[k]*(self.entropy(u,den) - self.S)

return varS

def sizeof(self):

size = sys.getsizeof(self.dt) \

+ sys.getsizeof(self.nx) \

+ sys.getsizeof(self.ny) \

+ sys.getsizeof(self.sautx) \

+ sys.getsizeof(self.sauty) \

+ sys.getsizeof(self.Vy) \

+ sys.getsizeof(self.lamda) \

+ sys.getsizeof(self.XaxisMatrix) \

+ sys.getsizeof(self.YaxisMatrix) \

+ sys.getsizeof(self.u) \

+ sys.getsizeof(self.Den) \

+ sys.getsizeof(self.S) \

+ sys.getsizeof(self.old_u) \

+ sys.getsizeof(self.index)

for o in self.XaxisMatrix:

size = size + sys.getsizeof(o)

for o2 in o:

size = size + sys.getsizeof(o2)

for o in self.YaxisMatrix:

size = size + sys.getsizeof(o)

for o2 in o:

size = size + sys.getsizeof(o2)

for o in self.u:

size = size + sys.getsizeof(o)

return size

class envt:

“““A grid class that stores the details of the environment.”””

def __init__(self, Xsource, Ysource, V_y):

self.dt = donnees.dt

self.nx = donnees.quad_x

self.ny = donnees.quad_y

self.sautx = donnees.saut_x

self.sauty = donnees.saut_y

self.Vy = V_y

self.Xsource = Xsource

self.Ysource = Ysource

self.XaxisMatrix = numpy.zeros((self.ny,self.nx),dtype = int)

self.YaxisMatrix = numpy.zeros((self.ny,self.nx),dtype = int)

for i in range(self.ny):

self.XaxisMatrix[i,:] = numpy.

arange(0, self.nx)

for i in range(self.nx):

self.YaxisMatrix[:,i] = numpy.

arange(0, self.ny)

self.lamda = numpy.sqrt((donnees.env_D*1.*donnees.env_tau)/(1+ (self.Vy*self.Vy*donnees.env_tau*1.)/(4.*donnees.env_D)))

self.u = numpy.ones((self.ny, self.nx), dtype = float)

self.g = self.detRate_grid()

def detRate_grid(self):

“Detection-rate grid for each point in the grid given a position for the agent”

# Matrix of size [ny,nx] with all the distances between the agent an any other point of the grid

module_dist = numpy.sqrt(numpy.power((self.Xsource-self.XaxisMatrix)*self.sautx, 2) + numpy.power((self.Ysource-self.YaxisMatrix)*self.sauty, 2))

# Average concentrations given previous matrix

conc = donnees.env_R*1./(4.*numpy.pi*donnees.env_D*module_dist) * numpy.exp(-1.*(-self.Ysource+self.YaxisMatrix)*self.sauty*self.Vy/(2.*donnees.env_D)) *numpy.exp(-1.*module_dist/self.lamda)

conc[self.Ysource,self.Xsource] = 100

# Detection-rate matrix

g = 4.*numpy.pi*donnees.env_D*donnees.env_a*conc

return g

def poissonCum(self, Npoints, landa):

increasingNbs = numpy.linspace(0, Npoints-1,num = Npoints)

poissonVals = numpy.power(landa,increasingNbs) * numpy.exp(-landa) *1./factorial(increasingNbs)

return cumsum(poissonVals)

def particules(self,Xpos,Ypos):

Npoisson = 5

landa = self.g[Ypos,Xpos]*self.dt

distrib = self.poissonCum(Npoisson, landa)

r = numpy.random.uniform(0,1)

Nparticules = numpy.size(numpy.nonzero(r>distrib))

return Nparticules

def plot(self):

fig = plt.figure()

ax = fig.add_subplot(111)

plt.pcolormesh(numpy.log(self.g))

plt.axis([0,self.nx,0,self.ny])

fig.savefig(‘sourceFig’)

plt.show()

5.6.2. Spiral-Surge

For the case of spiral-surge, the possible behaviors for the agent were explicitly described as below:

import numpy

import donnees

import sys

class Robot:

def __init__(self, xPosition, yPosition):

# position of robot

self.xPosition = xPosition

self.yPosition = yPosition

self.x = self.xPosition

self.y = self.yPosition

self.teta = 0.5

self.dSurge = 0.

self.up = 0

self.trans = 0.

self.horizontal = 0.

def surge(self):

self.dSurge = self.dSurge - donnees.saut_y

self.yPosition = self.yPosition + donnees.saut_y

def init_spiral(self):

self.x = self.xPosition

self.y = self.yPosition

self.teta = 0.5

def spiral(self):

r = (donnees.dGap * self.teta)/(2*numpy.pi)

self.xPosition = r * numpy.cos(self.teta) + self.x

self.yPosition = r * numpy.sin(self.teta) + self.y

self.teta = self.teta + (donnees.saut_x)/r

REFERENCES

  1. Baker T, Willis M, Haynes K, Phelan P. A pulsed cloud of sex pheromone elicits upwind flight in male moths. Physiol. Entomol. 1985;10:257–265.
  2. Balkovsky E, Shraiman B.I. Olfactory search at high Reynolds number. Proc. Natl. Acad. Sci. U.S.A. 2002;99(20):12589–12593. [PMC free article: PMC130504] [PubMed: 12228727]
  3. Barbieri C, Cocco S, Monasson R. On the trajectories and performance of infotaxis, an information based greedy search algorithm. Europhys. Lett. 2011:94.
  4. Berg H.C. E. coli in motion. New York: Springer; 2003.
  5. Cardé R.T, Cardé A.M, Girling R.D. Observations on the flight paths of the day-flying moth Virbia lamae during periods of mate location: Do males have a strategy for contacting the pheromone plume? J. Anim. Ecol. 2012;81(1):268–276. [PubMed: 21729068]
  6. Collett T.S, Collett M. Memory use in insect visual navigation. Nat. Rev. Neurosci. 2002;3:542–552. [PubMed: 12094210]
  7. Consi T, Grasso F, Mountain D, Atema J. Explorations of turbulent odor plumes with an autonomous underwater robot. Biol. Bull. 1995;189:231–232. [PubMed: 27768498]
  8. Grasso F. Invertebrate-inspired sensory-motor systems and autonomous, olfactory-guided exploration. Biol. Bull. 2001;200:160–168. [PubMed: 11341578]
  9. Grasso F, Dale J, Consi T, Mountain D, Atema J. Effectiveness of continuous bilateral sampling for robot chemotaxis in a turbulent odor plume: Implications for lobster chemo-orientation. Biol. Bull. 1997;193:215–216. [PubMed: 28575593]
  10. Hayes A.T, Martinoli A, Goodman R.M. Distributed odor source localization. IEEE Sensors J. 2002;2(3):260–271.
  11. Hugues E, Rochel O, Martinez D. University of Coimbra; Portugal: June 30 – July 3, 2003. Navigation strategies for a robot in a turbulent odor plume using bilateral comparison. Presented at International Conference on Advanced Robotics (ICAR),
  12. Jones C. On the structure of instantaneous plumes in the atmosphere. J. Hazard. Mat. 1983;7:88–112.
  13. Kaissling K.E. Pheromone-controlled anemotaxis in moths. In: Lehler M, editor. Orientation and communication in Arthropod. Basel,Switzerland: Birkhäuser Verlag; 1997. pp. 343–374. In.
  14. Kanzaki R, Ando A, Sakurai T, Kazawa T. Understanding and reconstruction of the mobiligence of insects employing multiscale biological approaches and robotics. Adv. Robotics. 2008;22(15):1605–1628.
  15. Kanzaki R, Arbas E.A, Hildebrand J.G. Physiology and morphology of descending neurons in pheromone-processing pathways in the male moth. Manduca sexta J.Comp. Physiol. A. 1991;169:1–14. [PubMed: 1941713]
  16. Kanzaki R, Ikeda A, Shibuya T. Morphological and physiological properties of pheromone-triggered flipflopping descending interneurons of the male silkworm moth, Bombyx mori. J. Comp. Physiol. A. 1994;175:1–14.
  17. Kraus-Epley K, Moore P. Bilateral antennal lesions alter orientation abilities of the crayfish. Orconectes rusticus Chem. Senses. 2002;27:49–55. [PubMed: 11751468]
  18. Kuwana Y, Nagasawa S, Shimoyama I, Kanzaki R. Synthesis of the pheromone-oriented behaviour of silkworm moths by a mobile robot with moth antennae as pheromone sensors. Biosensors Bioelectronics. 1999;14:195–202.
  19. Lilienthal A, Duckett T. University of Coimbra; Portugal: June 30 – July 3, 2003. Experimental analysis of smelling Braitenberg vehicles. Presented at International Conference on Advanced Robotics (ICAR).
  20. Lochmatter T. EPFL, Lausanne: 2010. Bio-inspired and probabilistic algorithms for distributed odor source localization using mobile robots. PhD thesis.
  21. Lochmatter T, Raemy X, Matthey L, Indra S, Martinoli A. Proceedings of the 2008 IEEE International Conference on Robotics and Automation (ICRA 2008). Pasadena, California: 2008. A comparison of casting and spiraling algorithms for odor source localization in laminar flow; pp. 1138–1143. In.
  22. Lytridis C, Kadar E.E, Virk G. S. A systematic approach to the problem of odour source localisation. Autonomous Robots. 2006;20(3):261–276.
  23. Marques L, Nunes U, de Almeida A. T. Particle swarm-based olfactory guided search. Autonomous Robots. 2006;20(3):277–287.
  24. Martinez D. On the right scent. Nature. 2007;445:371–372. [PubMed: 17251964]
  25. Martinez D, Perrinet L. Report on the 2002 Workshop on Neuromorphic Engineering. Telluride, CO: 2002. Cooperation between vision and olfaction in a koala robot; pp. 51–53. In.
  26. Martinez D, Rochel O, Hugues E. A biomimetic robot for tracking specific odors in turbulent plumes. Autonomous Robot. 2006;20(3):185–195.
  27. Masson J.-B., Bailly-Bechet M, Vergassola M. Chasing information to search in random environments. J. Phys. A Math. Theor. 2009;42(434009) DOI:10.1088/1751-8113/42/43/434009.
  28. McMahon A, Patullo B, Macmillan D. Exploration in a t-maze by the crayfish cherax destructor suggests bilateral comparison of antennal tactile information. Biol. Bull. 2005;208:183–188. [PubMed: 15965123]
  29. Moraud E. M, Chicca E. Toward neuromorphic odor tracking: Perspectives for Space exploration. Acta Futura. 2011;4:9–20.
  30. Moraud E. M, Martinez D. Effectiveness and robustness of robot infotaxis for searching in dilute conditions. Front. Neurorobotics. 2010;4:1. DOI: 10.3389/fnbot.2010.00001. [PMC free article: PMC2856589] [PubMed: 20407611]
  31. Murlis J, Elkinton D, Cardé R.T. Odor plumes and how insects use them. Annu. Rev. Entomol. 1992;37:505–532.
  32. Murlis J, Willis M.A, Cardé R.T. Spatial and temporal structures of pheromone plumes in fields and forests. Physiol. Entomol. 2000;25(3):211–222.
  33. Olberg R.M. Pheromone-triggered flip-flopping interneurons in the ventral nerve cord of the silkworm moth. Bombyx mori J. Comp. Physiol. 1983;152:297–307.
  34. Pang S, Farrell J. Chemical plume source localization. IEEE Trans. Syst. Man Cybern. B. 2006;36:1068–1080. [PubMed: 17036813]
  35. Pyk P, Bermúdez i Badia S, Bernardet U, Knüsel P, Carlsson M, Gu J Chanie E, Hansson B.S, Pearce T.C, Verschure P. F. M. J. An artificial moth: Chemical source localization using a robot based neuronal model of moth optomotor anemotactic search. Autonomous Robots. 2006;20(3):197–213.
  36. Rains G. C, Tomberlin J.K. Using insect sniffing devices for detection. Trends Biotechnol. 2008;6(6):289–290. [PubMed: 18375006]
  37. Rajan R, Clement J, Bhalla U. Rats smell in stereo. Science. 2006;311:666–670. [PubMed: 16456082]
  38. Reynolds A.M, Reynolds D.R, Smith A.D, Svensson G.P, Löfstedt, C. Appetitive flight patterns of male Agrotis segetum moths over landscape scales. J. Theor. Biol. 2007;245(1):141–149. [PubMed: 17109897]
  39. Roberts P, Webster D. Turbulent diffusion. In: Shen H, Cheng A, Wang K.H, Teng M.H, Liu C, editors. Environmental fluid mechanics, theories and applications. Reston, VA: ASCE Press; 2002. pp. 7–45. In.
  40. Russell R. Odour detection by mobile robots. River Edge, NJ: World Scientific Publishing Co.; 1999. 22. World Scientific Series in Robotics and Intelligent Systems.
  41. Russell R.A, Bab-Hadiashar A, Shepherd R.L, Wallace G.G. A comparison of reactive robot chemotaxis algorithms. Robotics Autonomous Syst. 2003;45(2):83–97.
  42. Vergassola M, Villermaux E, Shraiman B.I. Infotaxis as a strategy for searching without gradients. Nature. 2007;445:406–409. [PubMed: 17251974]
  43. Vickers N.J. Winging it: Moth flight behavior and responses of olfactory neurons are shaped by pheromone plume dynamics. Chem Senses. 2006;31:155–166. [PubMed: 16339269]
  44. Wehner R, Menzel R. Do insects have cognitive maps? Annu. Rev. Neurosci. 1990;13:403–414. [PubMed: 2183682]
  45. Weissburg M. The fluid dynamical context of chemosensory behavior. Biol. Bull. 2000;198:188–202. [PubMed: 10786940]
© 2013 by Taylor & Francis Group, LLC.
Bookshelf ID: NBK298821PMID: 26042328

Views

  • PubReader
  • Print View
  • Cite this Page

Other titles in this collection

Related information

  • PMC
    PubMed Central citations
  • PubMed
    Links to PubMed

Similar articles in PubMed

See reviews...See all...

Recent Activity

Your browsing activity is empty.

Activity recording is turned off.

Turn recording back on

See more...