[ Article ]
JOURNAL OF SENSOR SCIENCE AND TECHNOLOGY - Vol. 29, No. 3, pp.141-148
ISSN: 1225-5475 (Print) 2093-7563 (Online)
Print publication date 31 May 2020
Received 11 Mar 2020 Revised 22 Apr 2020 Accepted 25 May 2020

# Biologically Inspired Sensing Strategy using Spatial Gradients

Sooyong Lee+
Department of Mechanical and System Design Engineering, Hongik University, 94, Wausan-ro, Mapo-gu, Seoul, 04066, Korea

Correspondence to: + sooyong@hongik.ac.kr

This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(https://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

## Abstract

To find food, homes, and mates, some animals have adapted special sensing capabilities. Rather than using a passive method, they discharge a signal and then extract the necessary information from the response. More importantly, they use the slope of the detected signal to find the destination of an object. In this paper, similar strategy is mathematically formulated. A perturbation and correlation-based gradient estimation method is developed and used as a sensing strategy. This method allows us to adaptively sense an object in a given environment effectively. The proposed strategy is based on the use of gradient values; rather than instantaneous measurements. Considering the gradient value, the sampling frequency is planned adaptively, i.e., sparse sampling is performed in slowly varying regions, while dense sampling is conducted in rapidly changing regions. Using a temperature sensor, the proposed strategy is verified and its effectiveness is demonstrated.

## Keywords:

Spatial gradient, Perturbation/correlation, Sensing strategy

## 1. INTRODUCTION

Sensing is a technology that extracts useful information by processing the measured values with the development of various sensors. This is a core technology that can be widely applied to all autonomous devices including robots. In particular, the need to monitor large areas continuously to prepare for environmental pollution, global warming, and natural disasters will increase. Meanwhile, the scope and necessity of detection, rescue, and war operations performed using unmanned vehicles such as mobile robots is also increasing continuously. The importance of these operations is highlighted by the use of unmanned aerial vehicles. Above all, the first goal is to avoid exposing humans to dangerous environments, while the secondary goal is to realize sensing and movement beyond human limits. Although it is still impossible to realize a controller comparable to human intelligence or judgment in practice, it has been demonstrated that a sensing or behavior function for a specific purpose can realize an autonomous system that outperforms humans.

Studies of sensing signal analysis aim to establish the relationships between sensor signals and the properties to be measured. The main focus of this type of research is to obtain this relationship with high efficiency, accuracy and reliability. Most of previous studies have interpreted signals from passive sensors, while studies rarely have been conducted to increase sensor accuracy and reliability by applying mobility to the sensors themselves. For example, studies on active sonar sensors [1] and odor readings [2] have introduced methods for selecting the most suitable sensor among several options. A study [3] was also conducted to determine the optimal position of a sensor through the fusion of information of signals from multiple sensors. In particular, environmental awareness technologies can extract useful information by processing sensor information with the development of various sensors.

In this study, the theory for a sensing technology using the spatial gradient values inherent in living organisms is established to improve the sensing ability. Autonomous systems are limited in their ability to use sensor readings directly in a given environment, and improving their sensing capabilities may require modification and additional work. In many cases, consideration is necessary because the physical quantity to be measured is not uniformly distributed, and this function is essential in a time-varying environment.

There are many organisms in global ecosystems with active sensing capabilities. Fireflies shine to find mates, while deep-sea dragonfish emit infrared light. Electric fish generate an electric field to search their surroundings and obtain a hydrodynamic image. Bats recognize distances based on the time it takes to emit for an emitted wave to be reflected off a wall, while dolphins and killer whales use acoustic reflections underwater. One of the more characteristic creatures is the star mole. Star moles are known to use stereo body organs to smell continuously and then can locate food at very high rates over large areas using odor gradients [4]. In other words, using gradients rather than simple sensor measurements can lead to more efficient results. The platypus, for example, has an electrical receptor that can detect a variety of electrical stimuli, which allows it to detect differences in the amount of electricity to ascertain the direction of the signal. Through the constant shaking of their heads from side to side in the water, they can hunt for fish underwater by sensing the tiny electrical signals emitted from muscles [5]. Gnathonemus petersii also have long-term developments that produce weak electric fields and are sensitive to the rate of change in voltage; they use these active electrical receivers to find food [6].

This paper describes a sensing strategy using spatial gradient values that emulates the methods employed by these creatures. The general sensing method consists of a passive transducer that converts the physical quantity to be measured into an electric signal. However, the method proposed in this study achieves its desired purpose by applying a known input to the measurement environment or the sensor itself to obtain more useful information, and then analyzing the change in the sensor value. At this time, the most important characteristic is obtaining the gradient values corresponding to the physical quantity. External perturbations can be physical movements or electrical signals. Because the use of continuous and differential signals is advantageous for mathematical analysis, we use a periodic trigonometric function.

## 2. PERTURBATION/CORRELATION BASED GRADIENT ESTIMATION

The spatial gradient of a function can be calculated by measuring the output of the function for two different input values and then dividing the output difference by the input difference. However, this method is usually sensitive to noise and thus not recommended for real applications. A new method for estimating spatial gradients is proposed by adding a perturbation to the input and correlating the given inputs and outputs [7]. This is an integral method that is inherently different from the conventional difference-based method.

The fundamentals of the proposed method are derived from the following. For a function, F, of an input, x,

 (1)

A perturbation can be added to the nominal input. The perturbation should be a continuous and differential function. A sin function can be used. The input variable, x, is represented in discrete time as

 (2)

where ε is the perturbation amplitude.

The correlation value, $\stackrel{⁀}{R}$, between the perturbation input and the function output is defined as:

 (3)

By applying a linear regression, the slope, K, can be derived as:

 $K=\frac{{\sum }_{i=1}^{2N}\left(\left[x\left({t}_{i}\right)-\stackrel{-}{x}\right]\left[F\left(x\left({t}_{i}\right)\right)-\overline{F}\right]\right)}{{\sum }_{i=1}^{2N}{\left(x\left({t}_{i}\right)-\stackrel{-}{x}\right)}^{2}},$ (4)

where $\stackrel{-}{x}=\frac{1}{2N}\sum _{i=1}^{2N}x\left({t}_{i}\right)$ and $\stackrel{-}{F}=\frac{1}{2N}\sum _{i=1}^{2N}F\left(x\left({t}_{i}\right)\right)$.

Taking the sin functions into consideration

 $K=\frac{{\sum }_{i=1}^{2N}\epsilon \text{sin}\left(\frac{\pi }{N}i\right)\left[F\left(x\left({t}_{i}\right)\right)-\overline{F}\right]}{{\sum }_{i=1}^{2N}{\epsilon }^{2}{\text{sin}}^{2}\left(\frac{\pi }{N}i\right)}.$ (5)

Finally, the slope becomes

 $K=\frac{{\sum }_{i=1}^{2N}F\left(x\left({t}_{i}\right)\right)\text{sin}\left(\frac{\pi }{N}i\right)}{N\epsilon }.$ (6)

From Eqs. (3) and (6), the slope (i.e. the gradient) is estimated using the following:

 $K=\frac{\stackrel{⁀}{R}}{N{\epsilon }^{2}}.$ (7)

In other words, the gradient is obtained from the following equation:

 $\frac{dF\left(x\right)}{dx}=\frac{1}{N{\epsilon }^{2}}\sum _{i=1}^{2N}\epsilon \text{sin}\left(\frac{\pi }{N}i\right)F\left(x\left({t}_{i}\right)\right).$ (8)

To verify the proposed sensing strategy, an example function is set as follows:

 (9)

For inputs of 0 ≤ x ≤ 20, the outputs F(x), and the estimated gradients are shown in Figure 1. The gradients are estimated for every input from Eq. (8) with a perturbation amplitude of 0.1.

Function, F(x), and its estimated gradient, dFxdx from perturbation/correlation.

The sensing strategy is explained using the pseudocode in Table 1. Note that ε3 < ε2 < ε1 and Δx3 > Δx2 > Δx1, i.e. if the change is large, then a fine search is necessary. The pseudocode has four different threshold values and step sizes, which must be selected appropriately.

Pseudocode of the sensing algorithm (discrete)

When the largest step size is used, the measurement results are as shown in Figure 2; it is clear that the measurements are not sampled well.

Initial function outputs of coarsely spaced inputs ( Δx =10 )

The proposed sensing strategy not only measures the output but also concurrently estimates the gradient. Therefore, if the absolute value of the gradient is larger than the pre-set threshold of ε = 0.5, a smaller step size is used, i.e., the sampling becomes denser. The additional samples can provide measurements that are more precise, as shown in Figure 3.

Function outputs with the initial sampling and the gradient based sampling ( ε = 0.5,Δx = 4 )

For a larger pre-set threshold of ε = 1 and smaller step size, the measurement results are shown in Figure 4. Finally, for a pre-set threshold ε = 2 and the smallest step size, the measurement results are shown in Figure 5.

Function outputs from the initial sampling and gradient-based sampling ( ε = 1.0,Δx = 2 )

Function outputs from the initial sampling and gradient-based sampling ( ε = 2.0,Δx = 1 )

Instead of using a fixed step size, the proposed sensing strategy with estimated gradients enables adaptive sensing.

Another method is to update the sampling continuously instead of using several preset values while an upper and a lower bound of the values are set. Table 2 shows the pseudocode of the algorithm updating the sampling continuously, where Δxmin is the lower extreme value of the step size and Δxmax is the upper extreme value of the step size. εmin and εmax are the lower and upper values of the range respectively in which continuous update is applied. η s a positive proportional constant.

Pseudocode of the sensing algorithm (continuous)

Another function of two inputs is used for verification. Let a function, F(x1, x2), is set as follows:

 $F\left({x}_{1},{x}_{2}\right)=-{\left({x}_{2}-{x}_{1}\right)}^{4}-8{x}_{1}{x}_{2}+{x}_{1}-{x}_{2}+15.$ (10)

For inputs of −1≤ x1 ≤1, −1≤ x2 ≤ 1, the gradients of the function F(x1, x2)is estimated from the following equations.

 (11)
 (12)

Orthogonal functions are used for perturbations. Then, the gradients are,

 $\frac{dF\left({x}_{1},{x}_{2}\right)}{d{x}_{1}}=\frac{1}{N{\epsilon }^{2}}\sum _{i=1}^{2N}\epsilon \text{sin}\left(\frac{\pi }{N}i\right)F\left({x}_{1}\left({t}_{i}\right),{x}_{2}\left({t}_{i}\right)\right),$ (13)
 $\frac{dF\left({x}_{1},{x}_{2}\right)}{d{x}_{2}}=\frac{1}{N{\epsilon }^{2}}\sum _{i=1}^{2N}\epsilon \text{cos}\left(\frac{\pi }{N}i\right)F\left({x}_{1}\left({t}_{i}\right),{x}_{2}\left({t}_{i}\right)\right).$ (14)

To quantify how fast varying the environment is, an index is introduced as follows:

 $I={\left(\frac{dF\left({x}_{1},{x}_{2}\right)}{d{x}_{1}}\right)}^{2}+{\left(\frac{dF\left({x}_{1},{x}_{2}\right)}{d{x}_{2}}\right)}^{2}.$ (15)

The sampling spatial frequency is set based on value of the index, I. The adaptive gradient-based sampling results are shown in Figure 6.

Function outputs from the initial sampling and gradient-based samplings

Figure 7 is the contour plot and it is clearly shown that sparse sampling is performed in slowly varying regions, while dense sampling is conducted in rapidly changing regions.

Contour plot of the initial sampling and gradient-based samplings

## 3. EXPERIMENTS

For implementation of the proposed sensing strategy, a motor provides a perturbation with high frequency, while another motor is used to control the nominal trajectory of the sensor. A temperature sensor is mounted on a servo motor for measurement. In this experiment, the input is the sensor heading angle, θ, and the output is the measured temperature, T(θ). The temperature sensor used for the experiment is an MLX90614-BBC, which measures the infrared radiation of an object. With a range of - 70~382oC and a resolution of 0.01oC, its output settles within 0.14 sec, which can be set. The sensor’s field of View (FOV) is 35o. The motors used for the sensor rotation are Dynamixel XH430-W210-R, from ROBOTIS Co. LTD. To produce a non-uniform temperature distribution, a candle is used as the heat source. Additionally, there are a monitor and computer nearby, which emit heat, as well as a hot air flow from the central heating system. Figure 8 shows the experimental setup.

Experimental setup.

Sensor and heat source(candle) placement

Sensor, motors, and PC in the experiment

The candle is located at (100 mm, 150 mm) from the sensor origin. The angle is defined counter-clockwise from the vertical direction. The sensor rotates from 0° to 180°.

The resolution of the motor position control is 0.09°. The sensor is connected to an Arduino Uno via I2C. The Arduino also controls the motor while providing the sensor values to a PC obtaining motor position commands from the PC. The PC estimates the gradient, selects the step size, sends the motor position commands to the Arduino, and stores the measured sensor values.

Because the temperature sensor uses a radiant heat measurement method, the measured value decreases with increasing distance from the heat source and the temperature and distance of the heat source are not known. Therefore, the direction of the heat source can be determined based on the sensor value, but the position cannot be estimated. By obtaining the local maximum after 180° of rotation, we can obtain the direction of the heat source. However, the total travel time is not negligible; in particular, if the sensor system is fixed to a moving object, the position of the sensor center will change during rotation. Therefore, we propose a method for estimating the perturbation / correlation-based gradient in a relatively short time. The measured temperature results are shown in Figure 11. The elapsed time is entirely dependent on the settling time of the temperature sensor used; the motor drive speed and the communication speed are very high, and thus the time delay due to these two factors is negligibly small.

Temperature measurements at 0 ≤ θ ≤180o, sampled at 0.9o intervals

With a perturbation amplitude of 5° and 20 measurements, the gradient values are estimated according to Eq. (8) for one period; the results are shown in Figure 12 together with the measured temperature values.

Estimated gradients at 0.9o intervals based on perturbation/correlation

Figure 13 shows the effectiveness of the proposed perturbation/correlation-based gradient estimation. The conventional gradient estimation is obtained from the forward difference as described in Eq. (16):

Gradients obtained using the perturbation/correlation, forward difference, and central difference methods

 ${\frac{\partial T}{\partial \theta }|}_{{\theta }_{i}}=\frac{T\left({\theta }_{i+1}\right)-T\left({\theta }_{i}\right)}{{\theta }_{i+1}-{\theta }_{i}}.$ (16)

Another method for obtaining the gradient value is using the central difference, as in Eq. (17):

 ${\frac{\partial T}{\partial \theta }|}_{{\theta }_{i}}=\frac{T\left({\theta }_{i+1}\right)-T\left({\theta }_{i-1}\right)}{{\theta }_{i+1}-{\theta }_{i-1}}.$ (17)

The red line in figure 13 shows the results of the proposed method, the green line shows the results of the forward difference and the blue line shows the results of the central difference method. It is clear that the proposed method filters high frequency noise compared with the conventional methods.

According to the sensing algorithm in Table 1, measurements are obtained adaptively based on the estimated gradients. The results are shown in Figure 14.

Figure 15 shows the distribution of the sampled angles. The advantage of using the proposed sensing algorithm is clearly represented in this figure. Sparse sampling occurs in regions of slowly varying temperature, while dense sampling is conducted for regions of rapidly varying temperature.

Distribution of sampled angles

The main setting of the perturbation signal, the amplitude, is very important because it directly affects the accuracy of the estimated gradient. The smaller the amplitude of the perturbation input, the closer to true the gradient will be; it is defined as a mathematical derivative when this value is approximated to zero. In practice, however, small amplitudes do not satisfy the persistent excitation condition [8] because a sufficient function value cannot be obtained. In addition, when rotating the motor, there is a threshold value owing to the dynamic characteristics of the driving system, and thus it is impossible to realize a motion with a completely sinusoidal shape. On the other hand, the larger the amplitude, the larger the difference between the linear model and the actual function will be. Therefore, by defining and using the indices given in Eq. (18), it is possible to express the adequacy of the linearization model quantitatively for a given amplitude.

 $J=\frac{1}{4n}\sum _{i=1}^{2n}{\left[T\left({\theta }_{i}\right)-\left({a}_{1}+{a}_{2}{\theta }_{i}\right)\right]}^{2},$ (18)

where a2 is the estimated gradient and

 ${a}_{1}=\frac{1}{2n}\sum _{i=1}^{2n}{\theta }_{i}-\frac{{\theta }_{o}}{n\epsilon }\sum _{i=1}^{2n}\left[T\left({\theta }_{i}\right)\mathrm{sin}\left(\frac{\pi }{n}i\right)\right]$

The larger the value of n, the higher the accuracy will be. However, the measurement time will also be longer. The minimum value of n should be greater than 2 according to Shannon's sampling theory. In practice, we use a value much larger than 2.

## 4. CONCLUSION

In this paper, the basic principle of the special sensory function of some animals, i.e., the ability to detect a response to an active signal input, is formulated, in contrast to passive detection. The proposed strategy is based on the use of gradient values; rather than instantaneous measurements. Considering the gradient value, the sampling frequency is planned adaptively, i.e., sparse sampling is performed in slowly varying regions, while dense sampling is conducted in rapidly changing regions. A temperature sensor system was used to verify the sensing strategy experimentally.

## Acknowledgments

This research was supported by the Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education(NRF-2017R1D1A1B03034938)

## REFERENCES

• E. G. Araujo and R.A. Grupen, “Feature extraction for autonomous navigation using an active sonar head”, Proc. IEEE Int. Conf. Robot. Autom., Vol. 4, pp. 3823-3828, 2000.
• T. Nakamoto, H. Ishida, and T. Moriizumi, “Active odor sensing system”, Proc. IEEE Int. Symp. Ind. Electron., Vol. 1, pp.128-133, 1997.
• T. Mukai and M. Ishikawa, “An active sensing method using estimated errors for multisensor fusion systems”, IEEE Trans. Ind. Electron., Vol. 43, No. 3, pp.380-386, 1997. [https://doi.org/10.1109/41.499810]
• K. C. Catania and F. E. Remple, “Asymptotic prey profitability drives star-nosed moles to the foraging speed limit”, Nature, Vol. 433, pp.519-522, 2005. [https://doi.org/10.1038/nature03250]
• S. Park, J. Chung, S. Seodong, and E. Hong, Animals with Poison, MID, 2015.
• K. Shanor and J. Kanwal, Bats Sing, Mice Giggle: The Surprising Science of Animals' Inner Lives, Icon books, London, 2011.
• S. Lee, “Sensor Signal Processing for Estimating Gradient Values using Perturbation Input”, J. Sens. Sci. Technol., Vol. 26, No. 4, pp. 251-258, 2017.
• K. Narendra and A. Annaswamy, "Persistent Excitation in Dynamical Systems", Am. Control Conf., pp.336-338, San Diego, U.S.A., 1984. [https://doi.org/10.23919/ACC.1984.4788399]

### Fig. 1.

Function, F(x), and its estimated gradient, dFxdx from perturbation/correlation.

### Fig. 2.

Initial function outputs of coarsely spaced inputs ( Δx =10 )

### Fig. 3.

Function outputs with the initial sampling and the gradient based sampling ( ε = 0.5,Δx = 4 )

### Fig. 4.

Function outputs from the initial sampling and gradient-based sampling ( ε = 1.0,Δx = 2 )

### Fig. 5.

Function outputs from the initial sampling and gradient-based sampling ( ε = 2.0,Δx = 1 )

### Fig. 6.

Function outputs from the initial sampling and gradient-based samplings

### Fig. 7.

Contour plot of the initial sampling and gradient-based samplings

### Fig. 8.

Experimental setup.

### Fig. 9.

Sensor and heat source(candle) placement

### Fig. 10.

Sensor, motors, and PC in the experiment

### Fig. 11.

Temperature measurements at 0 ≤ θ ≤180o, sampled at 0.9o intervals

### Fig. 12.

Estimated gradients at 0.9o intervals based on perturbation/correlation

### Fig. 13.

Gradients obtained using the perturbation/correlation, forward difference, and central difference methods

### Fig. 15.

Distribution of sampled angles

### Table 1.

Pseudocode of the sensing algorithm (discrete)

 Algorithm sensing 1: procedure SENSING(x, F(x)) 2: x = xstart 3: x = x + Δx0 4: while x ≤ xend do 5: Estimate $\frac{dF\left(x\right)}{dx}$ 6: if $\left|\frac{dF\left(x\right)}{dx}\right|\ge {\epsilon }_{1}$ then 7: x = x + Δx1 8: else if $\left|\frac{dF\left(x\right)}{dx}\right|\ge {\epsilon }_{2}$ then 9: x = x + Δx2 10: else if $\left|\frac{dF\left(x\right)}{dx}\right|\ge {\epsilon }_{3}$ then 11: x = x + Δx3 12: else 13: x = x + Δx0 14: end if 15: end while 16: end procedure

### Table 2.

Pseudocode of the sensing algorithm (continuous)

 Algorithm sensing2 1: procedure SENSING2(x, F(x)) 2: x = xstart 3: x = x + Δx0 4: while x ≤ xend do 5: Estimate $\frac{dF\left(x\right)}{dx}$ 6: if $\left|\frac{dF\left(x\right)}{dx}\right|\ge {\epsilon }_{\text{max}}$ then 7: x = x + Δxmin 8: else if $\left|\frac{dF\left(x\right)}{dx}\right|\le {\epsilon }_{\text{min}}$ then 9: x = x + Δxmax 10: else 11: $x=x+\eta {\left|\frac{dF\left(x\right)}{dx}\right|}^{-1}$ 12: end if 13: end while 14: end procedure