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.

Highlights

  • Modern robotics applications are often deployed in safety- or business-critical applications and formal specifications and reasoning about their correct behaviours is a difficult and challenging problem

  • Sec. 4: We provide choreographic specifications enriched with dynamic motion primitives and separation operator, and define their dataflow analysis

  • We provide a choreography type system to ensure that programs are communication safe and deadlock free: a component does not get stuck sending a message with no recipient or waiting for a non-existent message

Read more

Summary

INTRODUCTION

Modern robotics applications are often deployed in safety- or business-critical applications and formal specifications and reasoning about their correct behaviours is a difficult and challenging problem. This paper provides a static compositional modelling, verification, and implementation framework through behavioural specifications for concurrent robotics applications that involve reasoning about message passing, continuous control, and geometric separation. We manage this complexity by decoupling dynamics and message passing and enables us to specify and implement robotic applications on top of commercial and custom-build robotic hardware. Our framework coherently integrates programming languages techniques, session type theories, and static analysis techniques; this enables us to model continuous behaviours over time in the presence of complex synchronisations between independent subgroups of robots. The full version [Majumdar et al 2020] includes the detailed proofs

MOTIVATING EXAMPLE
Syntax
Motion Primitives
Operational Semantics
Joint Compatibility of Motion Primitives
MOTION CHOREOGRAPHIES
Global Types with Motions and Predicates
Local Types and Projection
Soundness
A More Complex Coordination Example with Producer
IMPLEMENTATION AND CASE STUDY
RELATED WORK
DISCUSSION AND FUTURE
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call