Multiparty motion coordination: from choreographies to robotics programs
File(s)3428202.pdf (1.9 MB)
Published version
Author(s)
Majumdar, Rupak
Yoshida, Nobuko
Zufferey, Damien
Type
Conference Paper
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.
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.
Date Issued
2020-11-01
Date Acceptance
2020-10-01
Citation
Proceedings of the ACM on Programming Languages, 2020, 4
ISSN
2475-1421
Publisher
Association for Computing Machinery (ACM)
Journal / Book Title
Proceedings of the ACM on Programming Languages
Volume
4
Copyright Statement
© 2020 Copyright held by the owner/author(s). This work is licensed under a Creative Commons Attribution 4.0 International License. (https://creativecommons.org/licenses/by/4.0/)
License URL
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (EPSRC)
Engineering and Physical Sciences Research Council
Engineering & Physical Science Research Council (E
The National Cyber Security Centre (NCSC)
Grant Number
EP/T006544/1
EP/K011715/1
ERI 025567 (EP/K034413/1)
PO 20131167
EP/N027833/1
20103649
EP/T014709/1
EP/V000462/1
EP/V000462/1
4214176 / RFA 20601
Source
OOPSLA 2020
Publication Status
Published
Start Date
2020-11-15
Finish Date
2020-11-21
Coverage Spatial
Virtual