Cooperation in dynamic teams of mobile robots
Description
Programming mobile robots (mobots) is a difficult task under the best of circumstances. The inherent complexity of the hardware coupled with influences from the real, physical world conspires to create an environment ill-suited to rapid design and implementation of robust, correct mobot programs. Programming teams of mobots further adds to the complexity of the problem, incorporating concepts of distributed computing such as communication and synchronization. This research presents a novel method for programming such teams of mobots based on the notion of dynamic teams, which allows for high-level task specifications to mirror the structure of the task at hand. This method is applicable to distributed programming in general. The implementation of this method permits many disparate sorts of cooperative programs to be constructed, realized on real, physical mobots as a software architecture, each layer of which provides successive abstraction from the specialized robotic hardware. The distributive, concurrent aspects of the method are rigorously described in Milner's pi-calculus, allowing static, formal analysis of cooperative programs