{'fraction_non_alphanumeric': 0.026330420969023036, 'fraction_numerical': 0.013343923749007149, 'mean_word_length': 4.445717993079585, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Cataglyphis ant navigation strategies solve the global localization problem in robots with binary sensors

Low cost robots, such as vacuum cleaners or lawn mowers, employ simplistic and often random navigation policies. Although a large number of sophisticated localization and planning approaches exist, they require additional sensors like LIDAR sensors, cameras or time of flight sensors. In this work, we propose a global localization method biologically inspired by simple insects, such as the ant Cataglyphis that is able to return from distant locations to its nest in the desert without any or with limited perceptual cues. Like in Cataglyphis, the underlying idea of our localization approach is to first compute a pose estimate from pro-prioceptual sensors only, using land navigation, and thereafter refine the estimate through a systematic search in a particle filter that integrates the rare visual feedback. In simulation experiments in multiple environments, we demonstrated that this bioinspired principle can be used to compute accurate pose estimates from binary visual cues only. Such intelligent localization strategies can improve the performance of any robot with limited sensing capabilities such as household robots or toys.


INTRODUCTION
Precise navigation and localization abilities are crucial for animal and robots. These elementary skills are far developed in complex animals like mammals (O'keefe and Nadel, 1978), (Redish et al., 1999). Experimental studies have shown that transient neural firing patterns in place cells in the hippocampus can predict the animals location or even complete future routes (Pfeiffer and Foster, 2013), (Foster and Wilson, 2006), (Johnson and Redish, 2007), (Carr et al., 2011). These neural findings have inspired many computational models based on attractor networks (Hopfield, 1982), (Samsonovich and McNaughton, 1997), (McNaughton et al., 2006), (Erdem and Hasselmo, 2012) and have been successfully applied to humanoid robot motion planning tasks (Rueckert et al., 2016), (Tanneberg et al., 2019).
In this work we took inspiration from simpler insects which are able to precisely navigate by using sparse perceptual and pro-prioceptual sensory information. For example, the desert ant Cataglyphis (Figure 1a) employs basic path integration, visual piloting and systematic search strategies to navigate back to its nest from distant locations several hundred meters away (Wehner, 1987). While computational models (a) "Cataglyphis nodus" by (Bobzin, 2013). of such navigation skills lead to better understanding of the neural implementation in the insect (Lambrinos et al., 2000), they also have a strong impact on a large number of practical robotic applications. Especially, non-industrial autonomous systems like household robots (Figure 1b) or robotic toys require precise navigation features utilizing low-cost sensory hardware (Lee and Jung, 2012), (Miller and Slack, 1995), (Nebot and Durrant-Whyte, 1999).
Despite this obvious need for precise localization in low cost systems, most related work in mobile robot navigation can be categorized into two extreme cases. Either computational and monetary expensive sensors like cameras or laser range finders are installed (Su et al., 2017), (Feng et al., 2017), (Ito et al., 2014) or simplistic navigation strategies such as a random walks are used like in the current purchasable household robots (Tribelhorn and Dodds, 2007). When using limited sensing, only few navigation strategies have been proposed. O'Kane et al. investigated how complex a sensor system of a robot really has to be in order to localize itself. Therefore, they used a minimalist approach with contact sensors, a compass, angular and linear odometers in three different sensor configurations (O'Kane and LaValle, 2007). Erickson et al. addressed the localization problem for a blind robot with only a clock and a contact sensor. They used probabilistic techniques, where they discretized the boundary of the environment into small cells. A probability P k,i of the robot being in the cell i at the time step k is allocated to each one and updated in every iteration. For active localization, they proposed an entropy based approach in order to determine uncertainty-reducing motions (Erickson et al., 2008). Stavrou and Panayiotou on the other hand proposed a localization method based on Monte Carlo Localization (Dellaert et al., 1999) using only a single short-range sensor in a fixed position (Stavrou and Panayiotou, 2012). The open challenge however that remains is how to efficiently localize a robot equipped only with a single binary sensor and odometer. Such tasks arise, for example, especially with autonomous lawn mowing robots. They usually use a wire signal to detect whether they are on the area assigned to them or not. There are also sensors that detect the moisture on the surface and can thus detect grass (Bernini, 2009). All these sensors usually return a binary signal indicating whether the sensor is in the field or outside. The aforementioned approaches can either not be applied to such localization tasks because they require low-range sensors (Stavrou and Panayiotou, 2012) or they are trying to solve the problem with even less sensor information (Erickson et al., 2008). A direct comparison between these approaches and our method is not possible since different sensors types are used. However, to be able to compare the estimation accuracy of our methods with the aforementioned algorithms, we created our test environments similar to the test envrionment used in (Stavrou and Panayiotou, 2012).
We propose an efficient and simple method for global localization based only on odometry data and binary measurements which can be used in real time on a low-cost robot with only limited computational resources. This work demonstrates for the first time how basic navigation principles of the Cataglyphis ant can be implemented in an autonomous outdoor robot. Our approach has the potential to replace the currently installed naive random walk behavior in most low cost robots to an intelligent localization and planning strategy inspired by insects. The methods we used are discussed in Section II. We first present a wall following scheme which is required to steer the robot along the boundary line of the map based on the binary measurement data. Inspired by path integration we determine dominant points (DPs) to represent the path estimated by the odometry. We then generate a first estimate of the pose of the robot using land navigation. Therefore, we compare the shape of the estimated path with the given boundary line. The generated pose estimate allows to systematically search for the true pose in the given area using a particle filter. This leads to a more accurate localization of the robot. Here a particle filter is required since other localization techniques, such as Kalman Filter, are not able to handle binary measurement data. In Section III, we evaluate our approach in two simulated environments and show that it leads to accurate pose estimates of the robot. We conclude in Section IV.

METHODS
For our proposed localization method, we assume that a map of the environment is given as a boundary map M defined as a polygon with vertices Figure 2 such a boundary map is shown. As sensor signals we only receive the binary information s ∈ {0, 1}, where 0 means that the sensor is outside of the map and 1 means the sensor is within the boundary defined by the polygon. We are using a simple differential drive robot controlled by the desired linear and angular velocities v and ω. Furthermore, odometry information is assumed to be given. We assume the transform between the sensor position and the odom-etry frame, which is also the main frame of the robot and has the position [x r , y r ] in world coordinates, is known as Here, R R R(ϕ r ) is the two dimensional rotation matrix with the orientation angle ϕ r of the robot and ∆x, ∆y the distances between odometry frame and sensor position in robot coordinates. In Figure 3 the setup for the differential drive robot is depicted. For our proposed localization method, it is required that there is a lever arm between the robots frame and the sensor, such that if only the orientation of the robot changes the position of the sensor changes too.

Wall Follower
Since only at the boundary we are able to generate sensor data useful for localization, a wall follower is required. The proposed control algorithm allows to navigate the robot along the boundary line even if the binary measurements are corrupted by noise. Thereby, to increase the scanning area, the robot moves in wiggly lines along the boundary such that the mean of the sensor detection is µ d = 0.5. For the update step of the sensor mean we use exponential smoothing starting with an initial mean of µ d = 1.0 (assumption: start within the field). Here a µ defines the update rate of the mean µ d . We then calculate the difference be- Figure 3: A differential drive robot within the 2-dimensional world frame given by W . The robots main frame B is determined by the frame for the odometry.
The robots position is given by x r , y r and the sensor position by x s , y s . tween the desired mean and the actual mean The difference is scaled onto the range [−1, 1]. We now use relative linear and angular velocitiesv and ω for the control algorithm. They have to be multiplied with the maximum allowed velocities for the given robotic system v 0 and ω 0 . Using the difference d from Equation (3), we update the relative forward velocity for the differential drive robotv using again exponential smoothinĝ Here, a v defines an update rate and |d| the absolute value of d. The relative velocity increases the longer and better the desired mean of µ d = 0.5 is reached. Thereby, the relative velocity is always in the range of v ∈ [0, 1]. The relative angular velocity of the robot is determined using the deviation d to the desired mean and a stabilizing term cos 2π c M to ensure robustness against noise corrupted measurementŝ Here k is a counter variable and K the counter divider. Thus, K should be chosen accordingly to the frequency of the operating system. A diagram of the controller as well as pseudo code can be found in Figure 4 and Algorithm (1) respectively.

Path Integration / Land Navigation
In order to get a first pose estimate for the robot we use land navigation between the given map M and the driven path P along the boundary line.
Algorithm 1 Wall Follower if Mode == 0 then search for boundary 5: return v, ω 21: end while First, we start by generating a piecewise linear function of the orientation of the boundary line in regard to the length θ b = θ b (x). This function represents the shape of the boundary and is defined as Here, ||v v v i || defines the Euclidean norm for the vector v v v i .
Second, in order to represent the path driven by the robot as vertices connected by straight lines (similar to the map representation), we generate dominant points (DPs). Therefore, we are simply using the estimated position from the odometry of our robot starting with DP = [x x x 0 ] at the first contact with the boundary line. We also initialize a temporary set end if 17: end if which holds all the actual points which can be combined to a straight line. We start by adding in every iteration step the new position estimate from the odometry data x x x to our temporary set S ← [S, x x x] and then check if and are both true. If this is the case we add the point S end−1 to the set of DPs and set the temporary set back to S = [S end , x x x]. Here, e i defines the shortest distance between the point S i and the vector given by S end − S 1 . Pseudo code for the algorithm can be found in Algorithm (2). The parameters L min and e max are problem specific and have to be tuned accordingly.
Third, every time a new DP is accumulated we generate a piecewise orientation function θ r as presented above using the actual set of DPs, as long as the accumulated length between the DPs is larger then U min × Map Circumference. This ensures that the algorithm does not start too early with the comparison. The parameter U min ∈ [0, 1] represents the minimal required portion of the boundary line to identify unique positions and has to be chosen or trained ac- cording to the given map. We then compare θ r with θ b for all vertices x x x i , i = 1, 2, . . . , n of the boundary line in order to find a suitable vertex at which the robot could be. Therefore, we adjust θ b such that . . , n + 1. We now evaluate these functions at N linearly distributed points from −L to 0 which results into vectors θ θ θ b,i .
Here L is the path length driven by the robot along the boundary line. We then calculate the correlation error where θ θ θ r is the evaluation of the function θ r (x) = θ r (x + L) − θ r (L) in the range from −L to 0 at N linearly distributed points. We now have correlation errors between the actual driven path by the robot along the boundary line and every vertex of the polygon map. In Figure 5 correlation errors are graphically displayed.
Fourth, we search for the vertex with the minimal correlation error and check if the error is below a certain treshold c min . The parameter c min has to be trained accordingly to the given map. If we do not find a convenient vertex, we simply drive further along the wall until finding a vertex which follows the condition above. Thereby we limit the stored path from the robot to the length of the circumference of the map. If a convenient vertex is found, we call this vertex from now on matching vertex, the first guess of the robots position can be determined as x x x est , where x x x est is the matching vertex. Moreover, we can also define a orientation estimate as where v v v est = x x x est − x x x est−1 .

Systematic Search
Using the land navigation from above we now have a first estimate on where the robot is located. Based on this estimate we are able to start a systematic search in this region to determine a more accurate and certain pose estimate. Therefore, we use a particle filter since other localization techniques, such as Kalman Filter, can not handle binary measurement data. The general idea of the particle filter (Thrun et al., 2005) is to represent the probability distribution of the posterior by a set of samples, called particles, instead of using a parametric form as the Kalman Filter does. Here each particle Here z z z 1:t and u u u 1:t represent the measurement history and the input signal history respectively. The idea of our method is to reduce the particles required for global localization with a particle filter extensively by just sampling particles in an area around the position estimate retrieved by land navigation as shown above. This is nothing else than the transformation from a global localization problem to a local one. Therefore, we simply use a Gaussian dis- The parameters σ x , σ y , σ ϕ can be chosen accordingly to the mean and uncertainty of the error of the initial pose estimate as we will see in Section 3. In Figure  6 an example distribution of the particles around the estimated pose is shown. After sampling the particles we now are able to further improve the localization executing a systematic search along the border line using the particle filter. Thereby, the weighting of the particles happens as follows: If a particle would see Table 1: Measured parameters for the velocity and odometry motion model from (Thrun et al., 2005 0.0678 the same as the sensor has measured, then we give this particle the weight w i =ŵ, where w i is the weight of the i-th particle. If the particle would not see the same, then w i = (1 −ŵ). Here the parameterŵ has to be larger then 0.5.

RESULTS
In this section, we evaluate the proposed algorithms in regard to stability and performance. Stability is defined as the fraction of localization experiments were the robot could localize itself from an initially lost pose in the presence of sensor noise. For that the Euclidian distance between the true and the estimated pose had to be below a threshold of 0.3 m. Performance is defined as the mean accuracy of the pose estimation and the time required to generate the pose estimate. Therefore, we created a simulation environment using Matlab with a velocity and an odometry motion model for a differential drive robot as presented in (Thrun et al., 2005). For realistic conditions, we calibrated the noise parameters in experiments to match the true motion model of a real Viking MI 422P, a purchasable autonomous lawn mower. For this calibration, we tracked the lawn mower movements using a visual tracking system (OptiTrack) and computed the transition model parameters through maximum likelihood estimation. The parameters can be found in Table 1. We used a sampling frequency of f = 20 Hz for the simulated system and the maximum linear velocity v 0 = 0.3 m s −1 and angular velocity ω = 0.6 s −1 . These values correspond approximately to the standard for purchasable low-cost robots. We set the number of K = 100 which leads to a period time of the wiggly lines T = 5 s. This is a tradeoff between the enlargement of the scanning surface and the movement that can be performed on a real robot. The relative position of the binary sensor in regard to the robot frame, Equation (1)

Wall Follower
As mentioned before, only at the boundary we are able to generate data useful for localization since only there we can detect differences in the signal generated by the given binary sensor. Hence, we first evaluate the performance of the presented wall following algorithm. Therefore, we use the mean squared error (MSE) to measure the deviation of the path of the sensor to the given boundary line of the map. An example of such a path along the map is given in Figure 7. Let x x x i be the i-th position of the sensor and s s s i the closest point at the boundary line to x x x i , then where N represents the number of time steps required to complete one round along the boundary line. We also evaluate the mean velocity of the robot driving along the boundary where U is the circumference of the map and T the time required by the robot to complete one round. In Figure 8, Figure 9 and Figure 10, the average simulation results over 10 simulations for different noise factors in Equation (2) and Equation (4) are presented. The used map is shown in Figure 7. The noise factor hereby determines the randomness of the binary signals, thus a factor of 0 leads to always accurate measurements whereas a factor of 1 implies total random measurement results. Hence, a noise factor of 40 % signals that 40 % of the output signals of the binary sensor are random.
The presented wall follower leads to a stable and accurate wall following behavior as exemplarily shown in Figure 7. With increasing noise factor, the MSE becomes larger. However, the algorithm is stable enough to steer the robot along the boundary line even by noise factors around 40 %. The algorithm seems to work best, thus leading to small MSE, for small a µ . However, a small value for a µ leads to large changes in the linear and angular velocities which may not be feasible on a real robot or may cause large odometry erros. We discuss this problem more intensively in Section 4. The parameter a v seems to have no strong influence neither on the MSE nor on the mean velocity.

Land Navigation
In order to evaluate the performance and stability of the proposed shape comparison method we simulated the differential drive robot 100 times in two different maps ( Figure 11) with randomly chosen starting positions. We trained the parameters specifically for the given maps under usage of the proposed wall follow- L min e max c min U min Map 1 0.5 0.01 0.2 0.5 Map 2 0.5 0.01 0.3 0.4 ing algorithm with a µ = 0.7, a v = 0.7, M = 100 and a simulated sensor noise of 10 %. The resulting parameters are presented in Table 2. We then calculated the difference of the estimated position and the true position ∆x = ||x x x true − x x x est || as well as for the estimated orientation and true orientation ∆ϕ = ||ϕ true − ϕ est ||.
Histograms of these errors are depicted in Figure 12 and Figure 13. The mean time for finding this first pose estimate is around T 1 = 336 s for map 1 and T 2 = 382 s for map 2. The results show that the proposed algorithm is able to compute accurate estimates of the robots poses. Those estimates can then be further used to sample particles for a particle filter to systematically search in the region of interest for the correct pose.

Systematic Search
We now demonstrate how the position estimate from above can be further used to systematically search for a better estimate and for executing planning tasks. As   proposed, we first sample particles around the position estimate using Gaussian distributions The standard deviation µ + 3σ, depending on the measurement results from Section 3.2, ensures that the particles are sampled in an area large enough around the initial pose estimate. In Figure 15 and Figure 16, the particles and the pose estimate are shown as well as the true position of the robot. In the following step we systematically search for the true pose of the robot by following the boundary line. The particle filter algorithm weights the particles and does a resampling if required. We stop the wall following if we are certain enough about the pose of Figure 14: Histogram of the difference between position and orientation estimate and true position and orientation after the systematic search using the particle filter with µ ∆x = 0.13, µ ∆ϕ = 0.04, σ ∆x = 0.086, σ ∆ϕ = 0.04. the robot, hence the variance of the particles is less then a certain treshold. In Figure 17 the robot after the systematic search for a better pose estimate is shown. Now we are able to execute certain tasks with the robot, for example mowing the lawn. Thereby, the robot has to move away from the boundary and the pose estimate becomes more uncertain as shown in Figure 18. After reaching again the boundary line the particle filter is able to enhance the pose estimate based on the new information as depicted in Figure 19.
We also evaluated the performance of the proposed systematic search. Therefore, we simulated the differential drive robot 100 times sampling the particles as proposed in Equation (16). We then followed the boundary line until the standard deviation of the orientation has been below 0.2. Again, we evaluated the difference between position and orientation estimate and true position and orientation. Here, 3 times the particle filter has not found a sufficient accurate pose estimate. If this happens, we simply can restart the procedure by finding a pose estimate using land navigation. In Figure 14 a histogram depicting the results are shown. The systematic search for the pose of the robot using a particle filter improves the orientation estimate compared to the initial estimate presented in section 3.2.

CONCLUSION
We have presented a method for global localization based only on odometry data and one binary sensor. This method, inspired by insect localization strategies, is essential for efficient path planning methods as presented in (Hess et al., 2014) or (Galceran and Carreras, 2013) which require an accurate estimate of the robots pose. Our approach combines ideas of path integration, land navigation and systematic search to find a pose estimate for the robot. Our method relies on a stable and accurate wall following algorithm. We showed that the proposed algorithm is robust even under 40 % sensor noise and, if convenient parameters are chosen, leads to an accurate wall following behavior. The proposed approach for finding a first pose estimate is robust and accurate. Given this pose estimate we are able to sample particles around this position for starting a systematic search with a particle filter algorithm. Therefore, we maintain the wall following behavior until the uncertainty of the pose estimate of the particle filter is below a certain threshold. The proposed search method improves the orientation estimate intensively while maintaining the accuracy of the position estimate. As mentioned in the Introduction, it is not possible to compare our approach directly with other approaches since different types of sensors are used. However, comparing our localization results with the results presented in (Stavrou and Panayiotou, 2012) for a particle filter with a single low-range sensor, we reach a similar accuracy for the position estimate by only using a binary sensor. Thereby, the accuracy is in the range of around 0.1 m. Using the generated pose estimate we are now able to execute given tasks by constantly relocating the robot at the boundary lines. For example, using bioinspired neural networks for complete coverage path planning . Open research questions in regard to the proposed approach are which methods can be used to learn the algorithm parameters L min , e max , c min , U min on the fly. Also, the algorithm has to be evaluated on a real robotic system in a realistic garden setup.