The architecture of our system addresses the combination of high-level and low-level reasoning by viewing the overall system as the combination of the robots, a vision camera over-looking the playing field connected to a centralized interface computer, and several clients as the minds of the small-size robot players. Figure 2 sketches the building blocks of the architecture.
Figure 2: CMUnited-97 Architecture with Global Perception and Distributed Reaction.
The complete system is fully autonomous consisting of a well-defined and challenging processing cycle. The global vision algorithm perceives the dynamic environment and processes the images, giving the positions of each robot and the ball. This information is sent to an off-board controller and distributed to the different agent algorithms. Each agent evaluates the world state and uses its strategic knowledge to decide what to do next. Actions are motion commands that are sent by the off-board controller through radio communication. Commands can be broadcast or sent directly to individual agents. Each robot has an identification binary code that is used on-board to detect commands intended for that robot.
The fact that perception is achieved by a video camera that over-looks the complete field offers an opportunity to get a global view of the world state. Although this setup may simplify the sharing of information among multiple agents, it presents a challenge for reliable and real-time processing of the movement of multiple moving objects - in our case, the ball, five agents on our team, and five agents on the opposing team (see Section 3).
The robots are built using two coreless DC motors (differential drive) with built-in magnetic encoders. The various speed and acceleration values are obtained by two specialized motion control processors (PID) which are controlled by a 8-bit micro-controller. The robots are equipped with an on-board two-way radio link, which allows for data exchange with an off-board processing unit. This wireless communication link also enables sending and receiving data to and from other robots at speeds of up to 40 Kbit/s.
One of the interesting characteristics of our robots is that the core electronics is separated from the outside frame. The robot dimensions are as follows:
The base frame allows for various configurations of the final external frame. The frames are articulated at the edges and made of perforated steel strips and sheets. The flexible frame structure allows for the easy access to the components and easy use of variations of frames, as a function of the purpose of the robots.
Around 60% of the robot weight is made up by the battery packs. The on-board electronics include an 8-bit micro-controller, an on-board memory of 512 bytes RAM, and 2 Kbyte EEPROM, and a half-duplex FM 418 MHz radio.
The dimensions of the circuit boards could be adapted to fit different shapes and sizes of the main frame. More and smaller boards can be stacked inside the main frame, making it possible to incorporate other components if required.
We created a command server for handling commands from the individual off-board robot reasoning processes. The radio control processor is connected to the server computer via one serial link. Thus individual ``brains'' from networked machines must communicate to their robot ``bodies'' through the server computer. One of the command server's roles is to collect and translate these commands and to send them to the radio control processor.