LMR Robotic Online Football (Soccer)
I decided to resuscitate the LMR soccer game using my new µBipedino robots. The game will play as it was originally discussed, just with different players. These new robots can run around for about an hour on a fresh charge (when a Bluetooth module is attached), so the game will consist of 2 halves of 30 minutes each.
Please excuse the use of the name Football, I am from Europe and I think this is the proper name of the game, not Soccer. In Football you are not allowed to touch the ball with your hands, only with the foot, thus the name Football. Similarly, in Handball, you are not allowed to touch the ball with your feet, only with your hand. So I think this is the proper name of this game, that's what I will call it. Sorry for any inconvenience. The American Football is a version of the Rugby game, where you are allowed to carry the ball in your hands, kick it with your foot and the actuall ball is an elypsoid not a sphere.
I started to build the game field, based on this photo:
The real dimensions of my field are 56x110cm, however, I had to make the goal larger, because a robot would have blocked it completely if I kept the ratio. So, the gate is 17.5cm wide, the goal area is 13x24cm and the penalty area is 26x40cm and the penalty spot is at 22cm. the center circle radius is 9cm. I have a 4cm diameter foam ball that we can use unless I find some other ball with actual football spots on it. The field will have a tall frame attached to the touchlines in the middle to support the webcam that will offer a complete bird view of the field so the players can see their robots.
Here is a picture of the field I made, not painted yet. Two robots are placed on the field to see how they look like:
Robots at the game start:
Here is a picture of a Penalty situation:
I plan to spray paint the field green and keep the original white for the lines, perhaps I'll paint the walls grey.
Of course, the robots will have the wires tucked in and numbers on the top of the servos so they will be visible from the bird view camera. There will be 3 Red and 3 Blue robots and each will be individually controlled by a different user through internet. I have talked with GroG and he is happy to dust off his MRL to let the game run. A second camera will be used for the spectators. This camera will pan over the field offering a side view.
Kick Off. The referee throws a coin in the field to chose which team gets the kick off. Each team will have one robot positioned on the middle of the semi-circle on his half of the field, one robot as a goal keeper placed in the middle of the goal area and the other robot on one of the corners of the penalty box (the large rectangle). After the game start signal, the robot that has the kick off will start to move towards the ball to kick it. All other robots are not allowed to move until the ball has been kicked.
Corner. Since the field has sides, the game will be paused in the situation where the ball gets stuck in the corner, the player that touches to the ball first will have the kick. If the ball was in the player's corner, the player will be placed towards the oposing team goal and the ball will be palced in the front of it for the kick. If the ball was in the oposing team's corner, the player will be placed facing the middle of the penalty area and the ball will be placed in the front of it for the kick. All players can move their robots in the desired place waiting for the kick. The referee will wait for all robots to stop in their possitions. After the referee signal, the player can kick the ball.
Faults. If a robot throws another robot on the ground, the game gets paused and the robot on the ground is set back on it's feet and gets the ball for an indirect kick. If such a fault happened in the Penalty area, there will be a penalty kick from the penalty spot, with the goal keeper placed in the middle of the goal line.
The goal keeper is not allowed to get out of the penalty box. There is no Off Side or Out in this game. The ball is allowed to bounce off the wall and enter the goal and it is considered a valid goal. A goal is considered valid if the ball passes completely the goal line. After the break, the teams exchange filed halfs.
Please review these rules and offer ideas for improvement. Thank you!
Update Apr. 15, 2012: Progress has been made...
I have built the fourth robot, placed numbers on them and tucked in the wires. Now they look nice. They were even talking about killing the Easter Egg:
However, the Ball is their game:
I also started to work on the code so the robots can be remote controlled, firstly by a TV remote, then from the computer using IR, then I'll move on to Bluetooth.
Update Apr. 28, 2012: Graphic User interface
GroG is working on a simple User Interface for the game. It uses HTML & Ajax + JSON calls to the MRL server, thus it will work on any OS machine. GroG hopes that the video feed will be a G+ hangout embeded in the UI through an iFrame.
Here are some pictures of what he has done so far:
Then you choose a robot from the <available> robots and you can see who else is playing and in what team, as well as how much time is left in the game:
Looks good, doesn't it?