  Programming languages, libraries, and development tools have transformed the
application development processes for mobile computing and machine learning.
This paper introduces the CyPhyHouse - a toolchain that aims to provide similar
programming, debugging, and deployment benefits for distributed mobile robotic
applications. Users can develop hardware-agnostic, distributed applications
using the high-level, event driven Koord programming language, without
requiring expertise in controller design or distributed network protocols. The
modular, platform-independent middleware of CyPhyHouse implements these
functionalities using standard algorithms for path planning (RRT), control
(MPC), mutual exclusion, etc. A high-fidelity, scalable, multi-threaded
simulator for Koord applications is developed to simulate the same application
code for dozens of heterogeneous agents. The same compiled code can also be
deployed on heterogeneous mobile platforms. The effectiveness of CyPhyHouse in
improving the design cycles is explicitly illustrated in a robotic testbed
through development, simulation, and deployment of a distributed task
allocation application on in-house ground and aerial vehicles.
