Modular, self-reconfigurable robots show the promise of great versatility, robustness and low cost. However, programming such robots for specific tasks, with hundreds of modules and each of which with multiple actuators and sensors, can be tedious and error-prone. The extreme versatility of the modular systems requires a new paradigm in programming. We present a software architecture for this type of robot, in particular the PolyBot, which has been developed through its third generation. The architecture, based on the properties of the PolyBot electro-mechanical design, features a multi-master/multi-slave structure in a multi-threaded environment, with three layers of communication protocols. The architecture is currently being implemented for Motorola PowerPC using vxWorks.
Modular, self-reconfigurable robots show the promise of great versatility, robustness and low cost. The paper presents examples and issues in realizing those promises. PolyBot is a modular, self-reconfigurable system that is being used to explore the hardware reality of a robot with a large number of interchangeable modules. PolyBot has demonstrated the versatility promise, by implementing locomotion over a variety of terrain and manipulation versatility with a variety of objects. PolyBot is the first robot to demonstrate sequentially two topologically distinct locomotion modes by self-reconfiguration. PolyBot has raised issues regarding software scalability and hardware dependency and as the design evolves the issues of low cost and robustness will be resolved while exploring the potential of modular, self-reconfigurable robots.
Modular reconfigurable robots have shown the promises of great versatility and robustness; however they also impose design challenges on mechanical, electronic and software scalability. In this paper, we present a class of configurations that are scalable mechanically and electronically. Moreover, there exists a predefined reconfiguration sequence between any of the three configurations, namely, snakes, centipedes, and multi-loops. Locomotion gaits for the three configurations are defined and created using Phase Automata, a generalization of gait tables. The system has been tested both in simulation of 100+ modules and in hardware of 50+ modules.
This paper proposes the Attribute/Service Model (ASM) and associated design patterns as a general and simple framework for applications that require programming with multiple tasks on multiple embedded processors. This model enables the programming of complex tasks with multiple sensors and actuators on highly distributed yet tightly coupled systems by: using a simple unified protocol for communication; allowing the access to attributes or the running of services to be independent of where such attributes or services reside; protecting shared resources, and simplifying the synchronization of multiple processes in multiple processors. Associated design patterns such as the event/trigger mechanism and general event-driven control are developed on ASM. ASM is designed for the coordination of distributed sensors, actuators and computational tasks on modular self-reconfigurable robots. However it may be used for any multi-threaded distributed embedded control network. Unlike the most existing distributed objects, ASM can be implemented on embedded systems with small footprints. ASM has been implemented both in C on top of VxWorks on the MPC555 embedded microprocessor, and in Java on PC. The Controller Area Network (CAN) has been used as the communication medium. It could be equally implemented on any real-time operating system using any communication media.
Designers of the PolyBot robot system solve the challenges of locomotion by mimicking locomotion in the animal world. PolyBot is a robot system made of many repeated simple modules. These modules can be connected together to form a variety of shapes to form a new system enabling a variety of functionalities.
Chain modular robots form systems with many degrees of freedom which are capable of being reconfigured to form arbitrary chain-based topologies. This reconfiguration requires the detaching of modules from one point in the system and reattaching at another. The internal errors in the system (especially with large numbers of modules) are such that accurate movement of chain ends, required for the attaching of modules, can be extremely difficult. A three-phase docking process is described that utilizes both open- and closed-loop techniques. This process has been shown to work with an early version. Issues raised during this testing have been addressed in a later version. Discussion of these issues, their solutions, and preliminary results of the testing the latest version are given.