CBBR: enabling distributed shared memory-based coordination among mobile robots


Coordinating mobile robots are widely used in commercial and industrial settings to fulfill various tasks. However, to program the coordination among mobile robots is challenging. A coordination framework is needed to shield the programmer from handling low-level details of robot control and communication, while supporting flexible and cost-effective coordination at the same time. The coordination framework should also be able to well coexist with the underlying robot control. To this end, we propose the Coordination-enabled Behavior-Based Robotics (CBBR) framework. CBBR employs Distributed Shared Memory (DSM) to support coordination. The shared memory illusion built by the DSM greatly simplifies the coordination logic. Moreover, the flexible access patterns of the DSM and the rich consistency semantics of the DSM reads and writes enable flexible and cost-effective coordination. With the coordination support from the DSM, CBBR naturally extends the classical Behavior-Based Robotics (BBR) for robot control. From the perspective of robot control using BBR, the shared variables in the DSM act as the logical sensors capturing the status of coordination. The coordination algorithms are encapsulated into coordination behaviors. Thus, the physical environment status and the coordination status may trigger the physical and the coordination behaviors. The scheduling of both types of behaviors integrates coordination into robot control. We conduct a case study to demonstrate the use of CBBR. The performance measurements show the cost-effectiveness of coordinating mobile robots based on CBBR, in terms of time, space, and energy consumption.

This is a preview of subscription content, access via your institution.


  1. 1

    Antonelli G, Leonessa A. Underwater robots: motion and force control of vehicle-manipulator systems. IEEE Control Syst Mag, 2008. 138–139

    Google Scholar 

  2. 2

    Borenstein J, Koren Y. Real-time obstacle avoidance for fast mobile robots. IEEE Trans Syst Man Cybern, 1989, 19: 1179–1187

    Article  Google Scholar 

  3. 3

    Fujita M, Kageyama K. An open architecture for robot entertainment. In: Proceedings of the 1st International Conference on Autonomous Agents. New York: ACM, 1997. 435–442

    Google Scholar 

  4. 4

    Zhan G, Shi W. Lobot: Low-cost, self-contained localization of small-sized ground robotic vehicles. IEEE Trans Parall Distrib Syst, 2013, 24: 744–753

    Article  Google Scholar 

  5. 5

    Russell R A, Thiel D, Deveza R, et al. A robotic system to locate hazardous chemical leaks. In: Proceedings of IEEE International Conference on Robotics and Automation, Nagoya, 1995. 1: 556–561

    Google Scholar 

  6. 6

    Wurman P R, D’Andrea R, Mountz M. Coordinating hundreds of cooperative, autonomous vehicles in warehouses. AI Mag, 2008, 29: 9

    Google Scholar 

  7. 7

    Mataric M J, Nilsson M, Simsarin K T. Cooperative multi-robot box-pushing. In: Proceedings of 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems: Human Robot Interaction and Cooperative Robots, Pittsburgh, 1995. 3: 556–561

    Google Scholar 

  8. 8

    Burgard W, Moors M, Fox D, et al. Collaborative multi-robot exploration. In: Proceedings of IEEE International Conference on Robotics and Automation, San Francisco, 2000. 1: 476–481

    Google Scholar 

  9. 9

    Wawerla J, Vaughan R T. A fast and frugal method for team-task allocation in a multi-robot transportation system. In: Proceedings of IEEE International Conference on Robotics and Automation, Anchorage, 2010. 1432–1437

    Google Scholar 

  10. 10

    Brooks R A. A robust layered control system for a mobile robot. IEEE J Robotic Autom, 1986, 2: 14–23

    MathSciNet  Article  Google Scholar 

  11. 11

    Gelernter D. Generative communication in Linda. ACM Trans Program Lang Syst, 1985, 7: 80–112

    Article  MATH  Google Scholar 

  12. 12

    Attiya H. Robust simulation of shared memory: 20 years after. Bull Eur Assoc Theor Comput Sci, 2010, 100: 99–113

    MathSciNet  MATH  Google Scholar 

  13. 13

    Lamport L. On interprocess communication. Distrib Comput, 1986, 1: 86–101

    Article  MATH  Google Scholar 

  14. 14

    Ahamad M, Neiger G, Burns J E, et al. Causal memory: definitions, implementation, and programming. Distrib Comput, 1995, 9: 37–49

    MathSciNet  Article  Google Scholar 

  15. 15

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

    Google Scholar 

  16. 16

    Lamport L. A new solution of Dijkstra’s concurrent programming problem. Commun ACM, 1974, 17: 453–455

    MathSciNet  Article  MATH  Google Scholar 

  17. 17

    Arkin R C. Behavior-Based Robotics. Cambridge: MIT Press, 1998

    Google Scholar 

  18. 18

    Mottola L, Moretta M, Whitehouse K, et al. Team-level programming of drone sensor networks. In: Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems. New York: ACM, 2014. 177–190

    Google Scholar 

  19. 19

    Marcolino L S, Chaimowicz L. No robot left behind: Coordination to overcome local minima in swarm navigation. In: Proceedings of IEEE International Conference on Robotics and Automation, Pasadena, 2008. 1904–1909

    Google Scholar 

  20. 20

    Jäger M, Nebel B. Decentralized collision avoidance, deadlock detection, and deadlock resolution for multiple mobile robots. In: Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, Maui, 2001. 3: 1213–1219

    Google Scholar 

  21. 21

    Kube C R, Bonabeau E. Cooperative transport by ants and robots. Robot Auton Syst, 2000, 30: 85–101

    Article  Google Scholar 

  22. 22

    Klotzbücher M, Bruyninckx H. A lightweight real-time executable finite state machine model for coordination in robotic systems. Technical Report, 2007

  23. 23

    Dijkstra E W. Solution of a problem in concurrent programming control. Commun ACM, 1965, 8: 569

    Article  Google Scholar 

  24. 24

    Peterson G L. An o(n log n) unidirectional algorithm for the circular extrema problem. ACM Trans Program Lang Syst, 1982, 4: 758–762

    Article  MATH  Google Scholar 

  25. 25

    Chang E, Roberts R. An improved algorithm for decentralized extrema-finding in circular configurations of processes. Commun ACM, 1979, 22: 281–283

    Article  MATH  Google Scholar 

  26. 26

    Hirschberg D S, Sinclair J B. Decentralized extrema-finding in circular configurations of processors. Commun ACM, 1980, 23: 627–628

    MathSciNet  Article  MATH  Google Scholar 

  27. 27

    Fischer M J, Lynch N A, Paterson M S. Impossibility of distributed consensus with one faulty process. J ACM, 1985, 32: 374–382

    MathSciNet  Article  MATH  Google Scholar 

  28. 28

    Dolev D, Lynch N A, Pinter S S, et al. Reaching approximate agreement in the presence of faults. J ACM, 1986, 33: 499–516

    MathSciNet  Article  MATH  Google Scholar 

  29. 29

    Dijkstra E W. Hierarchical ordering of sequential processes. Acta Inform, 1971, 1: 115–138

    MathSciNet  Article  Google Scholar 

  30. 30

    Lynch N A. Upper bounds for static resource allocation in a distributed system. J Comput Syst Sci, 1981, 23: 254–278

    MathSciNet  Article  MATH  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Yu Huang.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Jiang, X., Huang, Y. CBBR: enabling distributed shared memory-based coordination among mobile robots. Sci. China Inf. Sci. 59, 080102 (2016). https://doi.org/10.1007/s11432-016-5593-x

Download citation


  • distributed shared memory
  • behavior-based robotics
  • coordination
  • behavior hierarchy
  • behavior scheduling