skip to main content

Multiparty motion coordination: from choreographies to robotics programs

Published:13 November 2020Publication History
Skip Abstract Section

Abstract

We present a programming model and typing discipline for complex multi-robot coordination programming. Our model encompasses both synchronisation through message passing and continuous-time dynamic motion primitives in physical space. We specify continuous-time motion primitives in an assume-guarantee logic that ensures compatibility of motion primitives as well as collision freedom. We specify global behaviour of programs in a choreographic type system that extends multiparty session types with jointly executed motion primitives, predicated refinements, as well as a separating conjunction that allows reasoning about subsets of interacting robots. We describe a notion of well-formedness for global types that ensures motion and communication can be correctly synchronised and provide algorithms for checking well-formedness, projecting a type, and local type checking. A well-typed program is communication safe, motion compatible, and collision free. Our type system provides a compositional approach to ensuring these properties.

We have implemented our model on top of the ROS framework. This allows us to program multi-robot coordination scenarios on top of commercial and custom robotics hardware platforms. We show through case studies that we can model and statically verify quite complex manoeuvres involving multiple manipulators and mobile robots---such examples are beyond the scope of previous approaches.

Skip Supplemental Material Section

Supplemental Material

Auxiliary Presentation Video

We present a programming model and typing discipline for complex multi-robot coordination programming. Our model encompasses both synchronisation through message passing and continuous-time dynamic motion primitives in physical space. We specify continuous-time motion primitives in an assume-guarantee logic that ensures compatibility of motion primitives as well as collision freedom. We describe a notion of well-formedness for global types that ensures motion and communication can be correctly synchronised and provide algorithms for checking well-formedness, projecting a type, and local type checking. A well-typed program is communication safe, motion compatible, and collision free. Our type system provides a compositional approach to ensuring these properties. We have implemented our model on top of the ROS framework. We show through case studies that we can model and statically verify quite complex manoeuvres involving multiple manipulators and mobile robots.

References

  1. M. Abadi and L. Lamport. 1993. Composing Specifications. ACM Transactions on Programming Languages and Systems 15, 1 ( 1993 ), 73-132.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Alur, C. Courcoubetis, N. Halbwachs, T.A. Henzinger, P.-H. Ho, X. Nicollin, A. Olivero, J. Sifakis, and S. Yovine. 1995. The algorithmic analysis of hybrid systems. Theoretical Computer Science 138 ( 1995 ), 3-34.Google ScholarGoogle Scholar
  3. Davide Ancona, Viviana Bono, Mario Bravetti, Joana Campos, Giuseppe Castagna, Pierre-Malo Denielou, Simon J. Gay, Nils Gesbert, Elena Giachino, Raymond Hu, Einar Broch Johnsen, Francisco Martins, Viviana Mascardi, Fabrizio Montesi, Rumyana Neykova, Nicholas Ng, Luca Padovani, Vasco T. Vasconcelos, and Nobuko Yoshida. 2016. Behavioral Types in Programming Languages. FTPL 3 ( 2-3) ( 2016 ), 95-230.Google ScholarGoogle Scholar
  4. Gregor B. Banusic, Rupak Majumdar, Marcus Pirron, Anne-Kathrin Schmuck, and Damien Zuferey. 2019. PGCD: robot programming and verification with geometry, concurrency, and dynamics. In Proceedings of the 10th ACM/IEEE International Conference on Cyber-Physical Systems, ICCPS 2019, Montreal, QC, Canada, April 16-18, 2019, Xue Liu, Paulo Tabuada, Miroslav Pajic, and Linda Bushnell (Eds.). ACM, 57-66.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Albert Benveniste, Benoît Caillaud, Dejan Nickovic, Roberto Passerone, Jean-Baptiste Raclet, Philipp Reinkemeier, Alberto L. Sangiovanni-Vincentelli, Werner Damm, Thomas A. Henzinger, and Kim G. Larsen. 2018. Contracts for System Design. Foundations and Trends in Electronic Design Automation 12, 2-3 ( 2018 ), 124-400. https://doi.org/10.1561/1000000053 Google ScholarGoogle ScholarCross RefCross Ref
  6. J.A. Bergstra and C.A. Middelburg. 2005. Process algebra for hybrid systems. Theoretical Computer Science 335, 2 ( 2005 ), 215-280. https://doi.org/10.1016/j.tcs. 2004. 04.019 Process Algebra. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Laura Bocchi, Julien Lange, and Nobuko Yoshida. 2015. Meeting Deadlines Together. In 26th International Conference on Concurrency Theory (LIPIcs), Vol. 42. Schloss Dagstuhl, 283-296.Google ScholarGoogle Scholar
  8. Laura Bocchi, Maurizio Murgia, Vasco Thudichum Vasconcelos, and Nobuko Yoshida. 2019. Asynchronous Timed Session Types. In 28th European Symposium on Programming (LNCS), Vol. 11423. Springer, 583-610.Google ScholarGoogle Scholar
  9. Laura Bocchi, Weizhen Yang, and Nobuko Yoshida. 2014. Timed Multiparty Session Types. In 25th International Conference on Concurrency Theory (LNCS), Vol. 8704. Springer, 419-434.Google ScholarGoogle Scholar
  10. Brandon Bohrer, Yong Kiam Tan, Stefan Mitsch, Magnus O. Myreen, and André Platzer. 2018. VeriPhy: verified controller executables from verified cyber-physical system models. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018, Philadelphia, PA, USA, June 18-22, 2018, Jefrey S. Foster and Dan Grossman (Eds.). ACM, 617-630. https://doi.org/10.1145/3192366.3192406 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Giuseppe Castagna, Mariangiola Dezani-Ciancaglini, and Luca Padovani. 2012. On Global Types and Multi-Party Session. Logical Methods in Computer Science 8, 1 ( 2012 ).Google ScholarGoogle Scholar
  12. K.M. Chandy and J. Misra. 1988. Parallel Program Design: A Foundation. Addison-Wesley Publishing Company.Google ScholarGoogle Scholar
  13. Romain Demangeon and Kohei Honda. 2012. Nested Protocols in Session Types. In 23rd International Conference on Concurrency Theory (LNCS), Vol. 7454. Springer, 272-286.Google ScholarGoogle Scholar
  14. Pierre-Malo Deniélou and Nobuko Yoshida. 2012. Multiparty Session Types Meet Communicating Automata. In ESOP 2012-European Symposium on Programming. Springer. https://doi.org/10.1007/978-3-642-28869-2_10 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ankush Desai, Indranil Saha, Jianqiao Yang, Shaz Qadeer, and Sanjit A. Seshia. 2017. DRONA: a framework for safe distributed mobile robotics. In Proceedings of the 8th International Conference on Cyber-Physical Systems, ICCPS 2017, Pittsburgh, Pennsylvania, USA, April 18-20, 2017, Sonia Martínez, Eduardo Tovar, Chris Gill, and Bruno Sinopoli (Eds.). 239-248. https://doi.org/10.1145/3055004.3055022 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mariangiola Dezani-Ciancaglini, Silvia Ghilezan, Svetlana Jaksic, Jovanka Pantovic, and Nobuko Yoshida. 2015. Precise subtyping for synchronous multiparty sessions. In PLACES (EPTCS), Vol. 203. 29-43. https://doi.org/10.4204/EPTCS.203.3 Google ScholarGoogle ScholarCross RefCross Ref
  17. Mariangiola Dezani-Ciancaglini, Silvia Ghilezan, Svetlana Jaksic, Jovanka Pantovic, and Nobuko Yoshida. 2016. Denotational and Operational Preciseness of Subtyping: A Roadmap. In Theory and Practice of Formal Methods: Essays Dedicated to Frank de Boer on the Occasion of His 60th Birthday (LNCS), Vol. 9660. Springer, 155-172.Google ScholarGoogle Scholar
  18. Nathan Fulton, Stefan Mitsch, Jan-David Quesel, Marcus Völp, and André Platzer. 2015. KeYmaera X : An Axiomatic Tactical Theorem Prover for Hybrid Systems. In Automated Deduction-CADE-25-25th International Conference on Automated Deduction, Berlin, Germany, August 1-7, 2015, Proceedings (Lecture Notes in Computer Science), Amy P. Felty and Aart Middeldorp (Eds.), Vol. 9195. Springer, 527-538. https://doi.org/10.1007/978-3-319-21401-6_36 Google ScholarGoogle ScholarCross RefCross Ref
  19. Sicun Gao, Soonho Kong, and Edmund M. Clarke. 2013. dReal: An SMT Solver for Nonlinear Theories over the Reals. In Automated Deduction-CADE-24 (Lecture Notes in Computer Science), Vol. 7898. Springer, 208-214.Google ScholarGoogle Scholar
  20. Ivan Gavran, Rupak Majumdar, and Indranil Saha. 2017. Antlab: A Multi-Robot Task Server. ACM Trans. Embedded Comput. Syst. 16, 5s ( 2017 ), 190 : 1-190 : 19. https://doi.org/10.1145/3126513 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Simon Gay and Antonio Ravera (Eds.). 2017. Behavioural Types: from Theory to Tools. River Publishers.Google ScholarGoogle Scholar
  22. Silvia Ghilezan, Svetlana Jaksic, Jovanka Pantovi, Alceste Scalas, and Nobuko Yoshida. 2019a. Precise subtyping for synchronous multiparty sessions. Journal of Logical and Algebraic Methods in Programming ( 2019 ). To appear.Google ScholarGoogle Scholar
  23. Silvia Ghilezan, Svetlana Jaksic, Jovanka Pantovic, Alceste Scalas, and Nobuko Yoshida. 2019b. Precise subtyping for synchronous multiparty sessions. J. Log. Algebr. Meth. Program. 104 ( 2019 ), 127-173. https://doi.org/10.1016/j.jlamp. 2018. 12.002 Google ScholarGoogle ScholarCross RefCross Ref
  24. T.A. Henzinger. 1996. The theory of hybrid automata. In Proceedings of the 11th Annual Symposium on Logic in Computer Science. IEEE Computer Society Press, 278-292.Google ScholarGoogle ScholarCross RefCross Ref
  25. Thomas A. Henzinger, Marius Minea, and Vinayak S. Prabhu. 2001. Assume-Guarantee Reasoning for Hierarchical Hybrid Systems. In Hybrid Systems: Computation and Control, 4th International Workshop, HSCC 2001, Rome, Italy, March 28-30, 2001, Proceedings (Lecture Notes in Computer Science), Maria Domenica Di Benedetto and Alberto L. SangiovanniVincentelli (Eds.), Vol. 2034. Springer, 275-290. https://doi.org/10.1007/3-540-45351-2_24 Google ScholarGoogle ScholarCross RefCross Ref
  26. Thomas A. Henzinger and Joseph Sifakis. 2007. The Discipline of Embedded Systems Design. IEEE Computer 40, 10 ( 2007 ), 36-44.Google ScholarGoogle Scholar
  27. Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty Asynchronous Session Types. In POPL. ACM Press, 273-284. https://doi.org/10.1145/1328438.1328472 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2016. Multiparty Asynchronous Session Types. JACM 63 ( 2016 ), 1-67. Issue 1-9.Google ScholarGoogle Scholar
  29. Hans Hüttel, Ivan Lanese, Vasco T. Vasconcelos, Luís Caires, Marco Carbone, Pierre-Malo Deniélou, Dimitris Mostrous, Luca Padovani, António Ravara, Emilio Tuosto, Hugo Torres Vieira, and Gianluigi Zavattaro. 2016. Foundations of Session Types and Behavioural Contracts. ACM Comput. Surv. 49, 1, Article 3 ( 2016 ). https://doi.org/10.1145/2873052 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Clif B. Jones. 1983. Tentative Steps Toward a Development Method for Interfering Programs. ACM Trans. Program. Lang. Syst. 5, 4 ( 1983 ), 596-619. https://doi.org/10.1145/69575.69577 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Dimitrios Kouzapas and Nobuko Yoshida. 2013. Globally Governed Session Semantics. In CONCUR (LNCS), Pedro R. D'Argenio and Hernán C. Melgratti (Eds.), Vol. 8052. Springer, 395-409. https://doi.org/10.1145/1328438.1328472 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Dimitrios Kouzapas and Nobuko Yoshida. 2015. Globally Governed Session Semantics. Logical Methods in Computer Science 10, 4 ( 2015 ).Google ScholarGoogle Scholar
  33. Julien Lange, Emilio Tuosto, and Nobuko Yoshida. 2015. From Communicating Machines to Graphical Choreographies. In POPL. ACM, 221-232.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Steven M. LaValle. 2006. Planning Algorithms. Cambride University Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Steven M. LaValle. 2012. Sensing and Filtering. NOW Publishers.Google ScholarGoogle Scholar
  36. Jiang Liu, Jidong Lv, Zhao Quan, Naijun Zhan, Hengjun Zhao, Chaochen Zhou, and Liang Zou. 2010. A Calculus for Hybrid CSP. In Programming Languages and Systems-8th Asian Symposium, APLAS 2010, Shanghai, China, November 28-December 1, 2010. Proceedings (Lecture Notes in Computer Science), Vol. 6461. Springer, 1-15.Google ScholarGoogle ScholarCross RefCross Ref
  37. Tomás Lozano-Pérez. 1983. Robot programming. Proc. IEEE 71, 7 ( 1983 ), 821-841.Google ScholarGoogle ScholarCross RefCross Ref
  38. Nancy A. Lynch, Roberto Segala, and Frits W. Vaandrager. 2003. Hybrid I/O automata. Inf. Comput. 185, 1 ( 2003 ), 105-157. https://doi.org/10.1016/S0890-5401 ( 03 ) 00067-1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Rupak Majumdar, Marcus Pirron, Nobuko Yoshida, and Damien Zuferey. 2019. Motion Session Types for Robotic Interactions. In Proceedings of the 33rd European Conference on Object-Oriented Programming (ECOOP '19 ) (LIPIcs). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.Google ScholarGoogle Scholar
  40. Rupak Majumdar, Nobuko Yoshida, and Damien Zuferey. 2020. Multiparty Motion Coordination: From Choreographies to Robotics Programs (Full version). arXiv:cs.RO/ 2010.05484Google ScholarGoogle Scholar
  41. Annabelle McIver and Carroll Morgan. 2005. Abstraction, Refinement and Proof for Probabilistic Systems. Springer.Google ScholarGoogle Scholar
  42. Pierluigi Nuzzo. 2015. Compositional Design of Cyber-Physical Systems Using Contracts. Ph.D. Dissertation. EECS Department, University of California, Berkeley. http://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-189.htmlGoogle ScholarGoogle Scholar
  43. Pierluigi Nuzzo, Alberto L. Sangiovanni-Vincentelli, Davide Bresolin, Luca Geretti, and Tiziano Villa. 2015. A Platform-Based Design Methodology With Contracts and Related Tools for the Design of Cyber-Physical Systems. Proc. IEEE 103, 11 ( 2015 ), 2104-2132. https://doi.org/10.1109/JPROC. 2015.2453253 Google ScholarGoogle ScholarCross RefCross Ref
  44. André Platzer. 2018. Logical Foundations of Cyber-Physical Systems. Springer. https://doi.org/10.1007/978-3-319-63588-0 Google ScholarGoogle Scholar
  45. André Platzer and Yong Kiam Tan. 2018. Diferential Equation Axiomatization: The Impressive Power of Diferential Ghosts. In Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2018. ACM, 819-828.Google ScholarGoogle Scholar
  46. Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, and Andrew Y Ng. 2009. ROS: an open-source Robot Operating System. In ICRA workshop on open source software.Google ScholarGoogle Scholar
  47. Patrick Maxim Rondon, Ming Kawaguchi, and Ranjit Jhala. 2008. Liquid types. In Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation. ACM, 159-169.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. W.C. Rounds and H. Song. 2003. The Phi-Calculus: A Language for Distributed Control of Reconfigurable Embedded Systems. In HSCC. Springer, 435-449.Google ScholarGoogle Scholar
  49. Alceste Scalas and Nobuko Yoshida. 2019. Less is More: Multiparty Session Types Revisited. Proc. ACM Program. Lang. 3, POPL, Article 30 ( Jan. 2019 ), 29 pages. https://doi.org/10.1145/3290343 Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza. 2011. Introduction to Autonomous Mobile Robots. MIT.Google ScholarGoogle Scholar
  51. Sebastian Thrun, Wolfram Burgard, and Dieter Fox. 2006. Probabilistic Robotics. MIT.Google ScholarGoogle Scholar
  52. Stavros Tripakis. 2016. Compositionality in the Science of System Design. Proc. IEEE 104, 5 ( 2016 ), 960-972. https: //doi.org/10.1109/JPROC. 2015.2510366 Google ScholarGoogle ScholarCross RefCross Ref
  53. Shuling Wang, Naijun Zhan, and Liang Zou. 2015. An Improved HHL Prover: An Interactive Theorem Prover for Hybrid Systems. In Formal Methods and Software Engineering-17th International Conference on Formal Engineering Methods, ICFEM 2015, Paris, France, November 3-5, 2015, Proceedings (Lecture Notes in Computer Science), Vol. 9407. Springer, 382-399.Google ScholarGoogle ScholarCross RefCross Ref
  54. Gaogao Yan, Li Jiao, Shuling Wang, Lingtai Wang, and Naijun Zhan. 2020. Automatically Generating SystemC Code from HCSP Formal Models. ACM Trans. Softw. Eng. Methodol. 29, 1 ( 2020 ), 4 : 1-4 : 39. https://doi.org/10.1145/3360002 Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Nobuko Yoshida and Lorenzo Gheri. 2020. A Very Gentle Introduction to Multiparty Session Types. In 16th International Conference on Distributed Computing and Internet Technology (LNCS), Vol. 11969. Springer, 73-93.Google ScholarGoogle ScholarCross RefCross Ref
  56. Majid Zamani, Peyman Mohajerin Esfahani, Rupak Majumdar, Alessandro Abate, and John Lygeros. 2014. Symbolic Control of Stochastic Systems via Approximately Bisimilar Finite Abstractions. IEEE Trans. Automat. Contr. 59, 12 ( 2014 ), 3135-3150. https://doi.org/10.1109/TAC. 2014.2351652 Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Multiparty motion coordination: from choreographies to robotics programs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!