Source-linked AI summary

A Comparative Study of Bug Algorithms for Robot Navigation

Kimberly McGuire, Guido de Croon, Karl Tuyls

arXiv:1808.05050v2cs.RO

TL;DR

Bug Algorithms promise lightweight navigation, but many rely on accurate position estimates that are difficult for resource-limited robots in GPS-denied settings. The paper surveys these methods and compares selected algorithms under simulated sensor noise and failures. The experiments report performance degradation, and the conclusion cautions against deploying the algorithms unchanged with onboard sensing alone.

  • Problem

    Many Bug Algorithms rely on accurate global position estimates, while tiny robots have limited onboard computation and may operate without GPS or external localization.

    Source: §1 · pp. 1–2
  • Method

    The paper surveys Bug Algorithms and compares a representative subset in simulation under noisy onboard measurements and sensor failures.

    Source: §1 · p. 2
  • Results

    All tested Bug Algorithms performed worse with higher odometry drift, noisier range measurements, and increasing sensor-failure cases.

    Source: §6.2 · p. 17
  • Takeaways & Limitations

    Bug Algorithms cannot simply be used unchanged by robots relying only on onboard sensors without external assistance.

    Source: §7 · p. 17

    For algorithms that remember exact coordinates, position recognition can depend on visual features whose performance varies with scene texture and environmental clutter.

    Source: §3.1 · p. 7

Abstract

from arXiv · show

This paper presents a literature survey and a comparative study of Bug Algorithms, with the goal of investigating their potential for robotic navigation. At first sight, these methods seem to provide an efficient navigation paradigm, ideal for implementations on tiny robots with limited resources. Closer inspection, however, shows that many of these Bug Algorithms assume perfect global position estimate of the robot which in GPS-denied environments implies considerable expenses of computation and memory -- relying on accurate Simultaneous Localization And Mapping (SLAM) or Visual Odometry (VO) methods. We compare a selection of Bug Algorithms in a simulated robot and environment where they endure different types noise and failure-cases of their on-board sensors. From the simulation results, we conclude that the implemented Bug Algorithms' performances are sensitive to many types of sensor-noise, which was most noticeable for odometry-drift. This raises the question if Bug Algorithms are suitable for real-world, on-board, robotic navigation as is. Variations that use multiple sensors to keep track of their progress towards the goal, were more adept in completing their task in the presence of sensor-failures. This shows that Bug Algorithms must spread their risk, by relying on the readings of multiple sensors, to be suitable for real-world deployment.

1. Introduction

Indoor robots need autonomous navigation that works with onboard sensing and computation despite unreliable GPS and communication. The paper examines Bug Algorithms as a lightweight alternative and evaluates whether their assumptions hold under realistic sensing conditions.

1. Introduction

  • Indoor robots must navigate without reliable GPS and amid long-range communication interference, favoring autonomy based on onboard sensors and computation.Source: §1 · p. 1
  • Bug Algorithms use target-relative position and obstacle-boundary following, offering potentially low memory and processing demands for resource-limited robots.They do not know the obstacles in advance and react locally when they encounter them.Source: §1 · p. 2
  • Many Bug Algorithms rely on accurate global position estimates, a demanding assumption for tiny robots that cannot currently use SLAM.SLAM consumes substantial onboard processing power, while setting up external localization may be undesirable in scenarios such as search and rescue.Source: §1 · pp. 1–2
  • The study compares a representative subset of Bug Algorithms in ARGoS across procedurally generated indoor environments with sensor noise and failures.The introduction reports a dramatic performance drop as onboard measurement noise increases.Source: §1 · p. 2

2. Theory and Variants of Bug Algorithms

Bug Algorithms address navigation without prior knowledge of obstacle locations, building on maze-solving approaches. Their variants add memory, leave conditions, and range sensing to change how robots follow obstacles toward a target.

2.1. Origins: Maze solving algorithms

  • The Pledge algorithm improves on wall-following in disjoint-wall mazes by tracking heading, but may miss a fixed goal in open space.A wall-follower can loop around disjoint obstacles; the Pledge agent leaves an obstacle when its angular sum returns to 0° relative to its committed heading.Source: §2.1 · pp. 2–3

2.2. Contact Bug algorithms

  • Com moves toward the target when possible but can fail in complex environments; Bug1 explores each obstacle boundary and leaves at its closest-to-target point.Bug1's path-length bound is P = d(S, T) + 1.5 · P pi, but exploring the entire boundary can produce unnecessary distance.Source: §2.2 · pp. 3–4
  • Bug2 leaves an obstacle at a closer M-line crossing; Alg1 and Alg2 add hit-point memory and reverse wall-following direction at a previously visited hit-point.Bug2's maximum path-length bound is P = d(S, T)+1·P pi, while Alg1's is P = d(S, T) + 2 · P pi.Source: §2.2 · p. 4
  • DistBug stores only the last hit-point, while Rev1 and Rev2 store local directions and hit-points; choosing a useful wall-following direction remains environment-dependent.DistBug's reduced memory can yield shorter paths, but its direction policy can fail; alternating directions in Rev1 and Rev2 is not always best.Source: §2.2 · pp. 4–5

2.3. Bug Algorithms with a Range Sensor

  • VisBug uses range sensing to find shortcuts from the M-line to obstacles, while TangentBug selects local tangent graph edges expected to minimize the route to the target.TangentBug tracks a local minimum and leaves an obstacle when it detects a boundary node with a smaller distance value.Source: §2.3 · p. 5

2.4. Special Bug Algorithms

  • Special variants include FuzzyBug's sensor-based direction choice, HB-I's bidirectional boundary search, RandomBug's sampled points, and IBug's beacon-intensity leave condition.InsertBug places way-points at a safe distance from obstacle boundaries; CautiousBug searches along the boundary before choosing a direction.Source: §2.4 · pp. 5–6, §2.3 · p. 5

2.5. Overview Bug algorithms

  • The overview groups methods as Angle-Bugs, M-line-Bugs, and Range-Bugs; variants generally add memory and leave conditions, increasing complexity.The paper notes that Angle-Bugs are more numerous than M-line-Bugs and that Ibug is a recent, relatively low-complexity exception.Source: §2.5 · pp. 6–7, Figure 7 · p. 6

3. Bug Algorithms for Robotic Navigation

Bug Algorithms are presented as simple, low-memory navigation methods, but their reliance on global position estimates complicates use in GPS-denied settings. The section reviews localization demands, sensor trade-offs, and existing robotic implementations.

3. Bug Algorithms for Robotic Navigation

  • The section frames Bug Algorithms as a potential navigation paradigm because of their simplicity and low memory footprint, while examining whether their operating assumptions fit realistic conditions.Source: §3 · p. 7, §3.2 · p. 9

3.1. Bug Algorithms in Real-World Conditions

  • Bug Algorithms have a low memory footprint, but most rely on exact robot and goal coordinates despite not knowing obstacle locations or shapes.Angle Bugs use target distance and azimuth; M-line Bugs retain the start-to-goal line, and hit-point-memorizing methods match current estimates to stored coordinates.Source: §3.1 · p. 7, §3 · p. 7
  • In GPS-denied settings, global position is difficult to maintain; odometry and visual-odometry errors accumulate, while feature-based recognition also consumes onboard capacity.Wheel slippage can increase position error, and visual odometry is especially vulnerable in texture-poor environments.Source: §3.1 · p. 7
  • Distance-to-Target leave conditions can use odometry, Bluetooth RSSI, or UWB, but wireless measurements require a target transmitter and trade accuracy against energy use.Bluetooth RSSI can err by up to 2 meters and cannot practically determine range from 5 meters; UWB has 0.2-meter standard deviation and up to 100-meter range, but higher energy expenditure.Source: §3.1 · p. 7

3.2. Existing Implemented Bug Algorithms for Robotic Navigation

  • Existing robotic implementations generally use global localization; the reviewed exception is IBug’s visual beacon, while one odometry-based test was too small to establish suitability.Reported systems include UWB, motion capture, guiding navigators, and odometry; some also combine Bug Algorithms with computationally heavy methods.Source: §3.2 · pp. 8–9

4. Experimental Set-up Comparative Study Bug Algorithms

The study compares selected Bug Algorithms in simulated indoor settings, addressing prior comparisons’ limited environments or inconsistent results. It uses procedurally generated arenas and a shared wall-following implementation.

4.1. Motivation and Choice Bug Algorithms

  • Earlier comparisons used one indoor environment or reported inconsistent results, motivating evaluation across many generated environments.Noborio et al. (2000) tested one environment; Ng and Br¨aunl (2007) found inconsistent performance comparisons for some algorithms.Source: §4.1 · p. 9
  • The study selects Com, Com1, Bug2, and Alg1&2 for testing across hundreds of procedurally generated environments, targeting statistical comparison under realistic conditions.The selection represents different strategies and memory use; range-bugs and methods with environment-dependent wall-following choices are excluded.Source: §4.1 · p. 9

4.2. Simulation and Procedurally Environment Generator

  • The experiments use ARGoS with Python-based ROS controllers and a simulated FootBot whose range sensors approximate depth sensing and side obstacle detection.The robot has two side-facing single-beam sensors and 20 forward-facing range sensors, with a maximum measurable distance of two meters.Source: §4.2 · pp. 9–10, Figure 9 · p. 10
  • The procedural generator traces corridors from start and target positions until corridor density reaches 0.4, checks connectivity, then adds walls, rooms, and random openings.Rooms are included because they can lead to agents getting stuck in loops.Source: §4.2 · p. 10, Figure 8 · p. 10

4.3. Implementation Details Bug Algorithms

  • The shared wall-following controller estimates wall angle with RANSAC, aligns and maintains a preferred wall distance, and turns away at corners or when the forward sensor loses the wall.RANSAC’s random sampling introduces expected stochasticity; the simulated approach assumes walls rather than isolated objects.Source: §4.3 · pp. 11–12

5. Experimental Results of Bug Algorithms in Real-World Conditions

The section compares five implemented Bug Algorithms across generated indoor environments, testing perfect localization and several sensor-noise and recognition-failure conditions. Success and path efficiency vary by algorithm and disturbance, with their memory and obstacle-leaving rules shaping performance.

5. Experimental Results of Bug Algorithms in Real-World Conditions

  • The experiments compare Com, Com1, Bug2, Alg1, and Alg2 in 200 generated 14-by-14-meter environments, with one attempt per algorithm and a 300-second limit.Success means reaching within one meter of the goal; trajectory lengths are normalized by an A* path, and include runs that failed to reach the goal.Source: §5 · p. 12, §5.1 · p. 12

5.1. Experiments with Perfect Localization

  • With perfect localization, Com reaches the goal about 60% of the time, while Com1, Bug2, Alg1, and Alg2 reach around 90%; Alg1 and Alg2 travel about 2.5 times A*’s path instead of 3.3.Com’s lack of memory can leave it stuck in loops; Com1 and Alg2 have shorter average paths than Bug2 and Alg1 because they can leave obstacles when a clear route appears.Source: Figure 12 · p. 12, §5.1 · p. 13

5.2. Experiments with Odometry Drift

  • Increasing velocity-measurement noise reduces every algorithm’s success; Com declines gradually and outperforms the others for σ > 0.05, while Bug2 and Alg2 drop sharply.The authors attribute Com’s relative robustness to its reliance on bearing rather than stored hit-point positions or distances.Source: Figure 14 · p. 13, §5.2 · pp. 13–14
  • From σ=0.15, Alg1 and Alg2 show signs of stagnation and may improve slightly; the authors suggest drift-induced false hit-point matches can sometimes help Alg2 escape difficult situations.In the described Alg2 example, the false observation permits another route toward the goal, but with a longer trajectory than without drift.Source: Figure 15 · p. 14, §5.2 · p. 14

5.3. Experiments with False Positive and False Negative Recognition Rate

  • False positives affect Alg1 more than Alg2: from p(FP)=0.2, Alg1 can miss crucial M-line departure points, while Alg2 is less sensitive to increasing false positives.Alg2 has fewer restrictions on when it can leave an obstacle and head toward the target.Source: Figure 16 · p. 14, Figure 17 · p. 15, §5.3 · p. 15
  • False negatives have little observed effect on Alg1 or Alg2; at p(FN)=1.0, they reduce to their predecessors Bug2 and Com1, respectively.The authors note that both predecessors can escape loops, with almost no success-rate difference between p(FN)=0 and 1.0.Source: §5.3 · p. 15

5.4. Experiments with Distance Measurement Noise

  • As distance-to-target noise increases, Com1’s trajectory length and success rate degrade more noticeably than Alg2’s; Com1 reaches about 60% success at σ=6 meters.Alg2 is less affected, likely because memorized position provides an additional obstacle-leaving condition.Source: Figure 18 · p. 15, §5.4 · pp. 15–16

6. Discussion

The discussion finds that Bug Algorithms degrade under sensor noise and failures, with different algorithms showing different resilience. It also identifies simplified noise models and simulation realism as boundaries on the experiments.

6.1. Modeling Real-World Conditions

  • The experiments focused on global position estimation, using noisy on-board sensors when global localization was unavailable and keeping wall-following behavior identical across algorithms.Other potential noise sources, including local laser-range or camera sensing, were outside the paper’s focus.Source: §6.1 · p. 16
  • The selected algorithm subset was tested across hundreds of generated environments, but the authors call for more realistic simulations with more obstacle types and visual representations.They also identify newer Bug Algorithms and local sensor noise as possible future extensions.Source: §6.1 · p. 16
  • The experiments used basic Gaussian models for odometry and range noise and pseudorandom failure occurrences, rather than more realistic, environment-dependent noise characteristics.The authors propose modeling these complexities in future work.Source: §6.1 · pp. 16–17

6.2. Experimental Results

  • All tested Bug Algorithms worsened with greater odometry drift, noisier range measurements, and more failures; Com reached 40% success despite relative resilience to drift.Com’s simpler reliance on odometry produced fewer bad decisions, but its success rate remained low.Source: §6.2 · p. 17
  • Alg2 was hardly affected by increasing false-negative and false-positive occurrences, whereas Alg1 declined; the authors link M-line Bugs’ disadvantage to their restrictive leave-condition.M-line Bugs also suffered most from increasing odometry noise.Source: §6.2 · p. 17
  • Alg2 outperformed Com1 under noisy distance-to-target measurements, with its stored range measurements and hit-point locations providing separate fallback mechanisms.The authors suggest fusing these mechanisms or cross-validating them to detect loops.Source: §6.2 · p. 17

7. Conclusion

The paper concludes that Bug Algorithms cannot simply be deployed unchanged on robots relying only on on-board sensors. Its results point to simplicity and robust loop detection using multiple measured variables as important design considerations.

7. Conclusion

  • Bug Algorithms rely on global localization or perfect on-board sensors in many variants, and simulations show significant degradation under noisy measurements and sensor failures.Com was most resilient to odometry drift, while the authors identify loop detection based on multiple measured variables as a crucial design element.Source: §7 · p. 17

A. Pseudo-Code Bug Algorithms

The appendix provides state-machine pseudocode for five Bug Algorithms and explains shared inputs and control variables. Their state transitions encode distinct obstacle-leaving and loop-handling rules.

A. Pseudo-Code Bug Algorithms

  • The appendix lists state-machine pseudocode for Com, Com1, Bug2, Alg1, and Alg2, with shared control constants and global-position and local-sensor inputs.Local measurements may come from contact or range sensors; the control outputs are forward velocity and heading.Source: A. Pseudo-Code Bug Algorithms · pp. 19–20
  • Com1 leaves wall-following when the path toward the target is free, whereas Bug2 uses the M-line and requires the robot to be closer to the target.These transition conditions are shown in the respective state-machine fragments.Source: A. Pseudo-Code Bug Algorithms · pp. 19–20
  • Alg1 records hit-points and detects revisiting them; Alg2 adds a change-of-local-direction response and a target-distance condition for leaving the wall.The pseudocode also shows Alg2 retaining hit-point locations.Source: A. Pseudo-Code Bug Algorithms · p. 20

B.1. Calculation Real Distance from Wall

Appendix B derives a geometric distance calculation from a triangle configuration and gives the wall-following procedure. The latter adjusts heading using distance-from-wall and range-sensor measurements.

B.1. Calculation Real Distance from Wall

  • The triangle derivation uses sides a and b and angle β to calculate the height h, with the remaining side c treated as unknown.The appendix describes using the triangle area formula and SAS rule to derive the result.Source: §B.1 · pp. 20–21, Figure B.20 · p. 20

B.2. Pseudo Code Wall Following

  • Wall-following uses perpendicular distance from the wall, a preferred distance and threshold, side and range measurements, and fixed velocity and turn-rate controls.The side sensor is selected according to the direction of wall-following.Source: §B.2 · p. 21
  • When the robot is too far from or too close to the preferred wall distance, the procedure turns toward or away from the wall; near that distance, it fine-tunes alignment using the side and range readings.The pseudocode also includes a separate wall-alignment state and a wide turn around corners.Source: §B.2 · p. 21

C.1. Bootstrapping Bug Algorithms

The section tests whether evaluated Bug Algorithms share distributions in trajectory length and success rate using the performance values shown in Fig. 12.

C.1. Bootstrapping Bug Algorithms

  • Bootstrapping tests compare the evaluated Bug Algorithms’ trajectory-length and success-rate distributions using data from Fig. 12.The tests assess whether the data come from the same distribution.Source: §C.1 · p. 21
  • The bootstrapping tables use a sample size of 10,000 for both trajectory length and success rate.Source: Table C.2 · p. 21, Table C.3 · p. 21
  • A table value of 1 means the same-distribution null hypothesis holds; 0 means it is rejected.Source: Table C.2 · p. 21, Table C.3 · p. 21

C.2. Correlation Analysis Odometry Noise

This section uses regression analysis to evaluate the relationship between increasing odometry noise and Bug Algorithm performance, covering trajectory length and success rate.

C.2. Correlation Analysis Odometry Noise

  • Regression analysis evaluates whether increasing odometry noise is related to degeneration in Bug Algorithm performance.Source: §C.2 · pp. 21–22
  • Table C.4 evaluates trajectory lengths against measurement noise by linear regression, reporting intercept, slope, and R2 per algorithm.Source: Table C.4 · p. 22
  • Table C.5 evaluates success rate against measurement noise by logistic regression, reporting intercept, slope, and pseudo-R2 per algorithm.Source: Table C.5 · p. 22

C.3. Correlation Analysis Recognition Failures

This section applies regression analysis to examine whether increasing false-positive and false-negative recognition rates relate to performance degeneration for Alg1 and Alg2.

C.3. Correlation Analysis Recognition Failures

  • Regression analysis examines recognition-failure rates in relation to trajectory length and success rate for Alg1 and Alg2.The analysis covers increasing false-positive and false-negative recognition rates.Source: §C.3 · p. 22
  • Tables C.6 and C.7 evaluate trajectory length and success rate, respectively, against the False Positive recognition rate.Table C.6 reports linear regression; Table C.7 reports logistic regression.Source: Table C.6 · p. 22, Table C.7 · p. 22
  • Tables C.8 and C.9 evaluate trajectory length and success rate, respectively, against the False Negative recognition rate.Table C.8 reports linear regression; Table C.9 reports logistic regression.Source: Table C.8 · p. 22, Table C.9 · p. 22

C.4. Correlation Analysis Distance Sensor Noise

This section evaluates whether increasing distance-measurement noise is related to Bug Algorithm performance, examining trajectory length and success rate for Alg1 and Alg2.

C.4. Correlation Analysis Distance Sensor Noise

  • Regression analysis assesses a possible relationship between increasing distance-measurement noise and performance degeneration for Alg1 and Alg2.Source: §C.4 · p. 22
  • Table C.10 evaluates trajectory length against distance-measurement noise by linear regression, reporting intercept, slope, and R2 per algorithm.Source: Table C.10 · p. 22
  • Table C.11 evaluates success rate against distance-measurement noise by logistic regression, reporting intercept, slope, and pseudo-R2 per algorithm.Source: Table C.11 · p. 22
Loading 1808.05050v2…