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.
Supplemental Material
- M. Abadi and L. Lamport. 1993. Composing Specifications. ACM Transactions on Programming Languages and Systems 15, 1 ( 1993 ), 73-132.Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- K.M. Chandy and J. Misra. 1988. Parallel Program Design: A Foundation. Addison-Wesley Publishing Company.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- Simon Gay and Antonio Ravera (Eds.). 2017. Behavioural Types: from Theory to Tools. River Publishers.Google Scholar
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- Thomas A. Henzinger and Joseph Sifakis. 2007. The Discipline of Embedded Systems Design. IEEE Computer 40, 10 ( 2007 ), 36-44.Google Scholar
- 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 Scholar
Digital Library
- Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2016. Multiparty Asynchronous Session Types. JACM 63 ( 2016 ), 1-67. Issue 1-9.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Dimitrios Kouzapas and Nobuko Yoshida. 2015. Globally Governed Session Semantics. Logical Methods in Computer Science 10, 4 ( 2015 ).Google Scholar
- Julien Lange, Emilio Tuosto, and Nobuko Yoshida. 2015. From Communicating Machines to Graphical Choreographies. In POPL. ACM, 221-232.Google Scholar
Digital Library
- Steven M. LaValle. 2006. Planning Algorithms. Cambride University Press.Google Scholar
Digital Library
- Steven M. LaValle. 2012. Sensing and Filtering. NOW Publishers.Google Scholar
- 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 Scholar
Cross Ref
- Tomás Lozano-Pérez. 1983. Robot programming. Proc. IEEE 71, 7 ( 1983 ), 821-841.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- Rupak Majumdar, Nobuko Yoshida, and Damien Zuferey. 2020. Multiparty Motion Coordination: From Choreographies to Robotics Programs (Full version). arXiv:cs.RO/ 2010.05484Google Scholar
- Annabelle McIver and Carroll Morgan. 2005. Abstraction, Refinement and Proof for Probabilistic Systems. Springer.Google Scholar
- 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 Scholar
- 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 Scholar
Cross Ref
- André Platzer. 2018. Logical Foundations of Cyber-Physical Systems. Springer. https://doi.org/10.1007/978-3-319-63588-0 Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza. 2011. Introduction to Autonomous Mobile Robots. MIT.Google Scholar
- Sebastian Thrun, Wolfram Burgard, and Dieter Fox. 2006. Probabilistic Robotics. MIT.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
Index Terms
Multiparty motion coordination: from choreographies to robotics programs
Recommendations
RoboGroove: Creating Fluid Motion for Dancing Robotic Arms
MOCO '22: Proceedings of the 8th International Conference on Movement and ComputingRobotic motion has been studied for many purposes, such as effective fast movements, communicative gestures, and obstacle avoidance. Through this study, we are able to improve the perceived expressivity of a robot performing a task by generating ...
Applied robotics: precision placement in [email protected]
AAMAS '14: Proceedings of the 2014 international conference on Autonomous agents and multi-agent systemsIn this demonstration we show how various approaches from different computer science domains have been combined to win the 2013 world championship title in the [email protected] league. Rob[email protected] aims to facilitate the use of autonomous robots in ...






Comments