CyPhyHouse: A Programming, Simulation, and Deployment Toolchain for Heterogeneous Distributed Coordination
Ritwika Ghosh, Joao P. Jansch-Porto, Chiao Hsieh, Amelia Gosse,, Minghao Jiang, Hebron Taylor, Peter Du, Sayan Mitra, Geir Dullerud

TL;DR
CyPhyHouse is a comprehensive toolchain that enables programming, simulation, and deployment of heterogeneous distributed robotic applications using a high-level language, streamlining development processes for mobile robots.
Contribution
It introduces a platform-independent middleware and a high-fidelity simulator for distributed mobile robotic applications, simplifying development without requiring controller or protocol expertise.
Findings
Effective in reducing development cycle times.
Successfully deployed on heterogeneous ground and aerial robots.
Supports scalable simulation of dozens of agents.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
