The Pluggable Distributed Resource Allocator (PDRA): a Middleware for Distributed Computing in Mobile Robotic Networks
Abstract
We present the Pluggable Distributed Resource Allocator (PDRA), a middleware for distributed computing in heterogeneous mobile robotic networks. PDRA enables autonomous robotic agents to share computational resources for computationally expensive tasks such as localization and path planning. It sits between an existing single-agent planner/executor and existing computational resources (e.g. ROS packages), intercepts the executor's requests and, if needed, transparently routes them to other robots for execution. PDRA is pluggable: it can be integrated in an existing single-robot autonomy stack with minimal modifications. Task allocation decisions are performed by a mixed-integer programming algorithm, solved in a shared-world fashion, that models CPU resources, latency requirements, and multi-hop, periodic, bandwidth-limited network communications; the algorithm can minimize overall energy usage or maximize the reward for completing optional tasks. Simulation results show that PDRA can reduce energy and CPU usage by over 50% in representative multi-robot scenarios compared to a naive scheduler; runs on embedded platforms; and performs well in delay- and disruption-tolerant networks (DTNs). PDRA is available to the community under an open-source license.
Cite
@article{arxiv.2003.13813,
title = {The Pluggable Distributed Resource Allocator (PDRA): a Middleware for Distributed Computing in Mobile Robotic Networks},
author = {Federico Rossi and Tiago Stegun Vaquero and Marc Sanchez Net and Maíra Saboia da Silva and Joshua Vander Hook},
journal= {arXiv preprint arXiv:2003.13813},
year = {2020}
}
Comments
Extended version of manuscript presented at IROS 2020. In v2, numerical results are updated and parts of the paper are rewritten and expanded for clarity. In v3, a minor author metadata error is fixed. All code is available under Apache license at https://github.com/nasa/mosaic