Skip to main content
Log in

Self-stabilizing gathering of mobile robots under crash or Byzantine faults

  • Published:
Distributed Computing Aims and scope Submit manuscript


Gathering is a fundamental coordination problem in cooperative mobile robotics. In short, given a set of robots with arbitrary initial locations and no initial agreement on a global coordinate system, gathering requires that all robots, following their algorithm, reach the exact same but not predetermined location. Gathering is particularly challenging in networks where robots are oblivious (i.e., stateless) and direct communication is replaced by observations on their respective locations. Interestingly any algorithm that solves gathering with oblivious robots is inherently self-stabilizing if no specific assumption is made on the initial distribution of the robots. In this paper, we significantly extend the studies of deterministic gathering feasibility under different assumptions related to synchrony and faults (crash and Byzantine). Unlike prior work, we consider a larger set of scheduling strategies, such as bounded schedulers. In addition, we extend our study to the feasibility of probabilistic self-stabilizing gathering in both fault-free and fault-prone environments.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others


  1. With two robots, all configurations are symmetrical and may lead to robots endlessly swapping their positions. In contrast, with three or more robots, an algorithm can be made such that, at each step, either the robots remain symmetrical and they eventually reach the same location, or symmetry is broken and this is used to move one robot at a time into the same location.

  2. A Byzantine robot is a faulty robot that behaves arbitrarily, possibly in a way to deliberately prevent the other robots from gathering in a stable way.

  3. The rationale for considering a centralized scheduler is that, with communication facilities, the robots can synchronize by running a mutual exclusion algorithm, such as token passing.

  4. An extended abstract of this work was presented at DISC [16] in 2006, although it has been considerably extended since. Meanwhile, some authors have published very insightful results on the problem [22].

  5. In the ASync model [27], a robot exhibits a continuous behavior that can be modeled by an hybrid I/O automaton ([24]).

  6. The current position is exclusively available in local coordinates.

  7. A robot can change its position only through move operations.

  8. Our definition of multiplicity is sometimes called “strong multiplicity”, in contrast to a weaker definition where robots are only able to distinguish whether a given location is occupied by one or by several robots [22].

  9. Note that all impossibility results proven in the SSync model necessarily hold in the ASync model.

  10. An algorithm is said to be wait-free if it tolerates the crash of up to \(n-1\) robots.

  11. Chirality is the ability to distinguish an asymmetrical shape from its mirror image or, in this case, to agree on the orientation of clockwise vs. counter-clockwise rotations.

  12. A cautious algorithm ensures that the position of all correct robots always remains within the area covered by all other correct robots [8, 9]. In other words, a cautious algorithm ensures that the diameter of all correct robot positions never increases. Originally defined in the context of approximate agreement [18], the notion was later adapted to the context of Byzantine gathering.

  13. Not necessarily restricted to locations already occupied by a robot.

  14. While one could imagine an algorithm that enforces a zero probability of a robot to move for some predetermined configurations, the claim holds nevertheless because such an algorithm cannot possibly enforce such conditions in bivalent configurations, since they are undistinguishable to the robots. Since the scheduler is centralized, any successful gathering execution must necessarily transit through a bivalent configuration.

  15. We use the common definition of “with high probability” to mean that the probability goes to 1 as the number of activations/repetitions goes to infinity.

  16. Note that \(\varOmega \) is not a circle; it is best described as the inner loop of a limaçon of Pascal.

  17. C.f., definition of castle and tower in Sect. 2.7.

  18. By construction of the side move, the target of robot r is located within the sector between r and the next robots (anti-)clockwise. So, in that sector, any other independent robot \(r'\) targeting the same castle must necessarily be collinear with r in and take a straight move only if its distance to the castle is smaller than that of r.

  19. Situations in which robots form a chain or a cycle result in the creation of fewer castles, which is less favorable to the adversary \({ Adv }\).


  1. Agmon, N., Peleg, D.: Fault-tolerant gathering algorithms for autonomous mobile robots. SIAM J. Comput. 36(1), 56–82 (2006)

    Article  MathSciNet  Google Scholar 

  2. Ando, H., Oasa, Y., Suzuki, I., Yamashita, M.: Distributed memoryless point convergence algorithm for mobile robots with limited visibility. IEEE Trans. Robot. Autom. 15(5), 818–828 (1999)

    Article  Google Scholar 

  3. Balabonski, T., Delga, A., Rieg, L., Tixeuil, S., Urbain, X.: Synchronous gathering without multiplicity detection: a certified algorithm. In: Proceedings of the 18th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS), LNCS, vol. 10083, pp. 7–19, Lyon, France (November 2016)

  4. Bhagat, S., Gan Chaudhuri, S., Mukhopadhyaya, K.: Fault-tolerant gathering of asynchronous oblivious mobile robots under one-axis agreement. J. Discrete Algorithms 36, 50–62 (2016)

    Article  MathSciNet  Google Scholar 

  5. Bhagat, S., Mukhopadhyaya, K.: Fault-tolerant gathering of semi-synchronous robots. In: Proceedings of the 18th International Conference on Distributed Computing and Networking (ICDCN), number 6, Hyderabad, India (January 2017)

  6. Bhagat, S., Mukhopadhyaya, K.: Optimum gathering of asynchronous robots. In: Proceedings of the 3rd International Conference on Algorithms and Discrete Applied Mathematics (CALDAM), LNCS, vol. 10156, pp. 37–49, Sancoale, Goa, India (February 2017)

  7. Bouzid, Z., Das, S., Tixeuil, S.: Gathering of mobile robots tolerating multiple crash faults. In: Proceedings of the 33rd IEEE International Conference on Distributed Computing Systems (ICDCS), pp. 337–346, Philadelphia, PA, USA (July 2013)

  8. Bouzid, Z., Gradinariu Potop-Butucaru, M., Tixeuil, S.: Byzantine convergence in robot networks: the price of asynchrony. In: Proceedings of the 13th International Conference on Principles of Distributed Systems (OPODIS), LNCS, vol. 5923, pp. 54–70, Nîmes, France (December 2009)

  9. Bouzid, Z., Gradinariu Potop-Butucaru, M., Tixeuil, S.: Optimal Byzantine-resilient convergence in uni-dimensional robot networks. Theor. Comput. Sci. 411(34–36), 3154–3168 (2010)

    Article  MathSciNet  Google Scholar 

  10. Bramas, Q., Tixeuil, S.: Wait-free gathering without chirality. In: Structural Information and Communication Complexity—22nd International Colloquium (SIROCCO), Post-Proceedings, LNCS, vol. 9439, pp. 313–327. Montserrat, Spain (July 2015)

  11. Clement, J., Défago, X., Gradinariu Potop-Butucaru, M., Messika, S., Raipin-Parvédy, P.: Fault and Byzantine tolerant self-stabilizing mobile robots gathering. Technical Report \(\langle \)hal-00746087\(\rangle \) (February 2012).

  12. Cohen, R., Peleg, D.: Convergence of autonomous mobile robots with inaccurate sensors and movements. In: Durand, B., Thomas, W. (eds.) 23rd Annual Symposium on Theoretical Aspects of Computer Science (STACS’06), LNCS, vol. 3884, pp. 549–560. Springer, Marseille, France (2006)

  13. Courtieu, P., Rieg, L., Tixeuil, S., Urbain, X.: Certified universal gathering in \({\mathbb{R}}^2\) for oblivious mobile robots. In: Proceedings of the 30th International Symposium on Distributed Computing (DISC), LNCS, vol. 9888, pp. 187–200, Paris, France (September 2016)

  14. Défago, X., Gardinariu Potop-Butucaru, M., Clément, J., Messika, S., Raipin-Parvédy, P.: Fault and Byzantine tolerant self-stabilizing mobile robots gathering. Research Report IS-RR-2015-003, Japan Adv. Inst. of Science and Tech. (JAIST), Hokuriku, Japan (February 2015)

  15. Défago, X., Gradinariu Potop-Butucaru, M., Clément, J., Messika, S., Raipin Parvédy, P.: Fault and Byzantine tolerant self-stabilizing mobile robots gathering—feasibility study. CoRR,

  16. Défago, X., Gradinariu Potop-Butucaru, M., Messika, S., Raipin-Parvédy, P.: Fault-tolerant and self-stabilizing mobile robots gathering: feasibility study. In: DISC’06, pp. 46–60 (2006)

  17. Dieudonné, Y., Petit, F.: Self-stabilizing gathering with strong multiplicity detection. Theor. Comput. Sci. 428, 47–57 (2012)

    Article  MathSciNet  Google Scholar 

  18. Dolev, D., Lynch, N.A., Pinter, S.S., Stark, E.W., Weihl, W.E.: Reaching approximate agreement in the presence of faults. J. ACM 33(3), 499–516 (1986)

    Article  MathSciNet  Google Scholar 

  19. Dolev, S.: Self-Stabilization. MIT Press, Cambridge (2000)

    Book  Google Scholar 

  20. Flocchini, P., Prencipe, G., Santoro, N.: Distributed Computing by Oblivious Mobile Robots. Synthesis Lectures on Distributed Computing Theory. Morgan & Claypool, San Rafael (2012)

    MATH  Google Scholar 

  21. Flocchini, P., Prencipe, G., Santoro, N., Widmayer, P.: Gathering of asynchronous mobile robots with limited visibility. Theor. Comput. Sci. 337, 147–168 (2005)

    Article  Google Scholar 

  22. Izumi, T., Izumi, T., Kamei, S., Ooshita, F.: Feasibility of polynomial-time randomized gathering for oblivious mobile robots. IEEE Trans. Parallel Distrib. Syst. 24(4), 716–723 (2013)

    Article  Google Scholar 

  23. Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)

    MATH  Google Scholar 

  24. Lynch, N.A., Segala, R., Vaandrager, F.W.: Hybrid I/O automata. Inf. Comput. 185(1), 105–157 (2003)

    Article  MathSciNet  Google Scholar 

  25. Megido, N.: Linear-time algorithms for linear programming in \(\mathbb{R}^3\) and related problems. SIAM J. Comput. 12(4), 759–776 (1983)

    Article  MathSciNet  Google Scholar 

  26. Pattanayak, D., Mondal, K., Ramesh, H., Sarathi Mandal, P.: Fault-tolerant gathering of mobile robots with weak multiplicity detection. In: Proceedings of the 18th International Conference on Distributed Computing and Networking, Hyderabad, India, January 5–7, 2017, p. 7 (2017)

  27. Prencipe, G.: Corda: Distributed coordination of a set of autonomous mobile robots. In: Proceedings of the 4th European Research Seminar on Advances in Distributed Systems (ERSADS’01), pp. 185–190, Bertinoro, Italy (May 2001)

  28. Prencipe, G.: On the feasibility of gathering by autonomous mobile robots. In: Pelc, A., Raynal, M. (eds.) Proceedings of the Structural Information and Communication Complexity, 12th Intl Coll., SIROCCO 2005, LNCS, vol. 3499, pp. 246–261. Springer, Mont Saint-Michel, France (May 2005)

  29. Souissi, S., Défago, X., Yamashita, M.: Using eventually consistent compasses to gather memory-less mobile robots with limited visibility. ACM Trans. Auton. Adapt. Syst. 4(1), 9:1–27 (2009)

    Article  Google Scholar 

  30. Suzuki, I., Yamashita, M.: Distributed anonymous mobile robots: formation of geometric patterns. SIAM J. Comput. 28(4), 1347–1363 (1999)

    Article  MathSciNet  Google Scholar 

Download references


We are deeply grateful to François Bonnet, Shantanu Das, Taisuke Izumi, Koichi Wada, the editor, and the anonymous reviewers for their insightful and valuable comments on successive versions of this manuscript. We also would like to thank both Julien Clément and Stéphane Messika for discussions on an early version of this paper. This research is partly supported by JSPS KAKENHI Grants No. 23500060, No. 26330020, and No. 17K00019 and JST SICORP Grant No. JPMJSC1606.

Author information

Authors and Affiliations


Corresponding authors

Correspondence to Xavier Défago or Maria Potop-Butucaru.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This manuscript considerably extends preliminary results presented as an extended abstract at the DISC conference [16].

Xavier Défago is the co-corresponding author of the article.



1.1 Necessity of the side move for Algorithm 5.1

We must now show the necessity of introducing a side move in Algorithm 5.1. Assuming that robots execute the naive algorithm (Algorithm 5.1 without the clause executing the side move), we exhibit a situation in which the robots are unable to gather (depicted in Fig. 6):

Fig. 6
figure 6

Illustration of the necessity of introducing the side move. The naive algorithm (without side move) can result in an endless cycle

Consider the initial configuration depicted in Fig. 6a. Assume that the reachable distance of all robots is the same and call it \(\delta \). Let \(D\) be some arbitrary distance strictly larger than \(\delta \). The robots (or a subset thereof) are initially located such that they form four castles on a segment. Let \({ Q } _ FarL ,{ Q } _ FarR \) be the two castles at both ends of the segment and assume that they consist only of crashed robots. Let \(W_L,W_R\) be two towers such that they become a castle by adding one robot. For simplicity, assume again that they also consist only of crashed robots. Let \(r_L,r_R\) be two correct robots initially in \(W_L,W_R\) respectively. The location of the four castles is symmetric such that the midpoint between \({ Q } _ FarL \) and \({ Q } _ FarR \) is also the midpoint between \(W_L\) and \(W_R\). The distance between \(W_L\) and \(W_R\) is \(2D \) and the distance between \({ Q } _ FarL \) and \({ Q } _ FarR \) is at least \(10D \).

Consider the scheduler as an adversary following a round-robin policy. First, \(r_R\) is active (Fig. 6b). According to the naive algorithm, \(r_R\) must move toward the nearest castle, which is the castle formed by \(W_L\) and \(r_L\). The dashed lines on the figure represent the boundaries of the Voronoi cells of each of the three castles: \(\left\{ { Q } _ FarL , { Q } _ FarR , W_L\cup \left\{ r_L\right\} \right\} \). Since \(r_R\) is located inside the Voronoi cell of castle \(W_L\cup \left\{ r_L\right\} \), it moves toward it.

Second, \(r_L\) is active (Fig. 6c). Since \(r_R\) has moved in the previous step, \(W_R\) is no longer the location of a castle. Now, \(r_L\) is located inside the Voronoi cell of \({ Q } _ FarL \) and moves toward it.

Third, \(r_R\) is active again (Fig. 6d). There are only two castles left on the configuration, namely \({ Q } _ FarL \) and \({ Q } _ FarR \). Since \(D >\delta \), \(r_R\) is located to the right of the midpoint between \(W_L\) and \(W_R\), which is also the midpoint between \(Q_ FarL \) and \({ Q } _ FarR \). This means that \(r_R\) is in the Voronoi cell of \({ Q } _ FarR \) and hence moves toward it. But, because \(r_R\) is at distance \(\delta \) to \(W_R\), it ends its movement exactly at \(W_R\), thus forming a castle again.

Fourth, \(r_L\) is active and there are three castles (Fig. 6e). By construction, \(W_R\) is located at a distance at least \(6D \) from \({ Q } _ FarL \), and hence \(r_L\) remains inside the Voronoi cell of the castle formed by \(W_R\) and \(r_R\). \(r_L\) is also at a distance \(\delta \) from \(W_L\), and hence ends its movement exactly at \(W_L\), forming a castle. This leads back to the initial configuration (Fig. 6a), and thus the cycle continues forever.

1.2 Disambiguation of side move for Algorithm 5.2

figure er
Fig. 7
figure 7

Disambiguated side move. \(\frac{a}{a+b} = \frac{a'}{a'+b'}\)

Algorithm A.1 describes one way to disambiguate the side move, and is illustrated in Fig. 7. The lengths a and b depend on the position of robot \({ P }\) on the ray from castle \({ Q }\) relative to the boundary of the Voronoi cell of \({ Q }\).

The construction uses a trisection of the sector S calculated in the original side move. This ensures that a robot moving from a different ray does not end up at the same location. Trisecting ensures that there is no overlap in the zones computed by two robots from two different rays taking a side move into the same sector. With bisection, the two robots could compute a target on the same bisector and hence possibly collide. Whereas, with trisection, they cannot.

In addition, taking the minimum between points \({ V } _a\) and \({ V } _b\) ensures that the segment \(\overline{{ Q } { V' }}\) lies entirely within the zone desired for a side move. Since the zone is convex (intersection of three convex areas), segment \(\overline{{ P } { V' }}\) lies entirely inside the zone.

$$\begin{aligned} \alpha= & {} \frac{a}{a+b} \in \left( 0;1\right] \end{aligned}$$
$$\begin{aligned} a'(\alpha )= & {} \min \left( \left( a+b\right) \alpha ^2 \cos \theta ^+, \frac{ \left( a+b\right) \alpha }{ \cos \theta ^+ - m \sin \theta ^+ } \right) \end{aligned}$$

Since \(a'(\alpha )\) is taken as the minimum of two functions that are both monotonic increasing in \(\alpha \) over the range considered, \(a'(\alpha )\) is itself monotonic increasing. It follows that, for two values \(\alpha _1\) and \(\alpha _2\) with \(\alpha _1\not =\alpha _2\), the segments from \(P(\alpha )\) to \(P'(\alpha )\) do not cross.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Défago, X., Potop-Butucaru, M. & Raipin-Parvédy, P. Self-stabilizing gathering of mobile robots under crash or Byzantine faults. Distrib. Comput. 33, 393–421 (2020).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: