Our methods of designing this game will include three principle components: the computer vision, the players, and the communication. The computer vision component of the system will detect all features of the goalie’s environment. It will detect the goalie via a colored marker and the ball due to it’s color. It will additionally have the ability to detect whether or not goals have been scored. The goalie-recognition will occur through the use of color detection for position, and stored, previous positions to determine orientation and heading.
There will be several communication pathways to consider in this project. First is the communication on each robosoccer player, which is between the 3pi robot and the FireFly node attached to that robot. This will be accomplished using a serial connection between the two devices. Another communication pathway is between the CMUcam monitoring the game and the FireFly node attached to the CMUcam. This will also be through a serial connection. There will be a firefly controller that will use sensor values directly from the firefly sensor and transmit them to the firefly on the 3Pi robot. Finally, the connection between FireFly nodes must be considered. The coach will continuously broadcast commands to the goalie, and it will silently obey those commands, searching for the ball. No acknowledgements are needed because the vision system will produce the appropriate feedback in any event.
Additionally, in the case of the GUI to track the positions of players on the field, a fourth FireFly will be used, connected to a computer through a debug board.
Motor control is yet another issue in robot soccer. Due to the simplicity of the 3pi robots, precise control of the motors may not be an option. However, since the position of objects on the court are recognized by the CMUcam in real time, a closed loop can be generated for motor control. For each object, three vectors should be defined and kept updating: the position vector (x,y), the velocity vector (vx,vy), and the orientation.. In addition, with variables like global time and physical characteristics of objects, the movement of objects on court should be predictable.
Game strategy will be determined by several factors. First, collision avoidance will be paramount. Since the robots will be manually controlled by the players, it is necessary to create ‘zones’, in which the rules dictate only one robot of a team can occupy. This creates a more spaced out and even game, with each team being forced to play offense and defense.
Scoring is both a hardware and software issue. The robots may need to be modified to accept a mechanism or attachment by which to facilitate scoring. The convex and thin surface of the 3pi robot does not lend itself to “kicking” a ball.
Due to the simplicity of our robots, the primary strategy is to “push” the ball towards the opponent’s goal, with the opponent team’s robots regarded as unpredictable moving obstacles. Functionality may be programmed in to include a ‘kick’ button on the controller, in which after activation the robot speeds up and slows back down very quickly, accelerating the ball as if kicked.