Though conducted in simulation, the work described in this article is intended to contribute to the high-level reasoning aspect of our physical robotic system. The architecture of our system addresses the combination of high-level and low-level reasoning by viewing the overall system as the conjunction of mini-robots, a vision camera over-looking the playing field connected to a centralized interface computer, and several clients as the minds of the mini-robot players. Figure 1 sketches the building blocks of the architecture.
Figure 1: Our robotic soccer architecture as a distributed deliberative and reactive system.
Our architecture implements the overall robotic soccer system as a set of different platforms with different processing features. The mini-robots perform the physical navigation actions, decode commands, and can respond to positioning requests. Off-board computers perceive the environment through a vision camera, perform the high-level decision making and send commands to the mini-robots. Communication between the off-board computers and the robots in our current system is done by infrared radiation. The complete system is fully autonomous consisting of the following processing cycle: (i) the vision system perceives the dynamic environment, namely the positioning of the robots and the ball; (ii) the image is processed and transferred to the host computer that makes the perception available to the client modules; (iii) based on the perceived positioning of the agents and any other needed information about the state of the game (e.g. winning, losing, attacking), each client uses its strategic knowledge to decide what to do next; (iv) the client selects navigational commands to send to its corresponding robot agent; (v) these commands are sent by the main computer to the robots through wireless communication (infrared radiation in the current implementation) using the robot-specific action codes. Commands can be broadcast or sent directly to individual agents. Commands include positioning requests and navigation primitives, such as forward, backward, and turning moves at specific speeds. Each robot has a self identification binary code that is used in the wireless communication.
Figure 2 shows the architecture as a layered functional system. The protocols of communication between the layers are specified in terms of the modular inputs and outputs at each level. It is the layered strategic behaviors (Figure 2(b)) that we hope to enhance with the aid of the simulator client behaviors described in this article.
Figure 2: (a) The functional layers of the architecture, and (b) the strategic level decomposition.