The Distributed Control Framework: A Software Infrastructure for Agent-based Distributed Control and Robotics Zachary Kulis, Vikram Manikonda, Babak Azimi-Sadjadi, and Priya Ranjan Abstract—We address the shortage of available software frameworks for distributed control systems/robotics and de- scribe a novel agent-based software architecture simplifying the development, testing, and deployment of distributed controllers. Our Distributed Control Framework (DCF) provides extensive support for robot team coordination and management, a plug- gable architecture for sensing and estimation, robust simulation capabilities with support for hardware in the loop, and a high- level platform-independent programming language for hybrid control called MDLe (Motion Description Language Extended). We highlight two experiments that showcase the DCF and MDLe using real robots, and we conclude the paper with the derivation and discussion of an indoor robot navigation system used in our experiments. The navigation system combines robot odometry and range measurements from a network of Cricket sensors using an extended Kalman filter. I. I NTRODUCTION Recent research efforts in robotics have increasingly fo- cused on the use of multi-robot teams to perform challenging tasks in dynamic and unpredictable environments. The bene- fits of teams are many: individual team members, or agents, can share sensory information and avoid potential threats [1], cooperating agents can perform tasks more quickly and efficiently [2], and redundancy of team members maximizes team survivability and the probability of mission success in hostile environments. Despite the many potential applications for robot teams [3] [4] [5], there is a lack of comprehensive standards-based software tools to facilitate the implemen- tation, simulation, and deployment of multi-agent control systems using real hardware. This dearth of software infras- tructure solutions for robotics impedes progress and wastes valuable time and money; often, resources are squandered deciphering legacy code or unnecessarily developing new software from scratch. The need for robotics infrastructure tools has been astutely perceived in both the academic and commercial sectors. Under the DARPA MARS Program, Pennsylvania State University developed an agent-based software framework and a high-level control language called CHARON to fa- cilitate the rapid development of multiple interacting hybrid control systems [6]. At Carnegie Mellon University, MARS program funds supported the development of a language for distributed strategy/role assignments among RoboCup soccer team players [7]. In the commercial sector, Microsoft This work was supported in part by Army Research Contract W911NF- 04-C-0014. Zachary Kulis, Dr. Vikram Manikonda, Dr. Babak Azimi-Sadjadi, and Dr. Priya Ranjan are all with Intelligent Automation Incorporated, 15400 Calhoun Drive, Suite 400, Rockville MD 20855. (e-mails: {zkulis, vikram, babak, pranjan}@i-a-i.com). recently released version 1.5 of its Robotics Studio as a free download. The software provides native support for a variety of robot platforms, sensors, and manipulators, features a lightweight concurrency model (CCR) and a service-based architecture for distributed sensing and control (DSS), and provides an integrated physics simulator and 3D viewer [8]. II. MOTIVATION Our solution to the robotics infrastructure problem is the creation of the Distributed Control Framework (DCF) – a lightweight agent-based software architecture specifically tailored to the control of interacting heterogeneous agents. Unlike other robotics infrastructure tools, the DCF is written entirely in the Java™ programming language, which offers many advantages compared to C/C++; Java code is typically cleaner and easier to maintain and debug, there is no need to cross-compile the code for target platforms, and students are learning Java in their university courses. In addition, the speed advantage of C/C++ is rapidly diminishing, especially with the introduction of hardware-enabled Java Virtual Ma- chines (JVMs), such as the ARM Jazelle [9]. The DCF is a modular and extensible software archi- tecture built on top of the CybelePro™ [10] agent frame- work developed at IAI. DCF leverages the Activity Centric Programming (ACP) model provided by CybelePro™ and adds support for robot team coordination and management, a pluggable architecture for sensing and estimation, sup- port for heterogeneous robot platforms, robust simulation capabilities with support for hardware in the loop, and a high-level platform-independent programming language for hybrid control called MDLe. Core functionalities such as peer-to-peer communications, exchange of messages through a publisher-subscriber model, and concurrency are provided by CybelePro™. With the DCF, users can simulate multi- agent systems comprised of thousands of interacting agents with real hardware in the loop. Such capabilities enable re- searchers to glean new insights (e.g. emergent behavior) and identify possible failure modes prior to full-scale deployment on real hardware. This paper is organized as follows: In section III, we discuss the DCF architecture. In section IV, we provide an overview of MDLe (Motion Description Language Extended) and describe the implementation of the MDLe module in the DCF. Next, in section V, we highlight two experiments performed with real robots using the DCF and MDLe. Finally, in section VI, we provide technical discussion of an indoor navigation system for robots that was used in our 2008 American Control Conference Westin Seattle Hotel, Seattle, Washington, USA June 11-13, 2008 WeC03.1 978-1-4244-2079-7/08/$25.00 ©2008 AACC. 1329