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:

510px-Football_pitch_metric.png

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:

FootbalField.jpg

Robots at the game start:

FootbalRobots.jpg

Here is a picture of a Penalty situation:

FootbalPenalty.jpg

 

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. 

Proposed rules:

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:

FootballRobotsEgg.jpg

However, the Ball is their game:

FootballRobotsBall.jpg

Another view:

FootballRobots.jpg

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:

Login page:

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:

choose.png

Looks good, doesn't it?

The games have begun!!!

Great work here, RBX! Hope you don’t encounter any AS while waiting for your bluetooth modules. Really hoping to see the development of this project.

I believe i’ll have to start making my game for the RoBoGamez event.

this is a good idea for

this is a good idea for this: https://www.robotshop.com/letsmakerobots/node/32067

** Where’s the laser cannons**

 Where’s the laser cannons ?

You might want to consider how internet hang-outs & chats work, while thinking of how you want the game to behave.  For example, people have a tendency to get sidetracked while at the computer (possibly playing the game) … and an inactive player might be fun for a little bit, but it would be a drag if someone decided to do laundry while they were supposed to be controlling a bot.  Maybe an inactivity time to throw them off and reconnect with a new online player?

Also, what about queuing?  Should there be a main queue of spectators, should they be informed where they are in the queue?  Should the spectators be allowed to swap into position of a player after a certain amount of time?  How should all this conside with the game’s time?  How long should a game be?

Let me know @ MyRobotLab

Ok Greg, I wrote a post on

Ok Greg, I wrote a post on your site, we shall discuss there the MRL stuff for this game to be able to run properly. Thank you!

For the other readers, I am using a TV remote to control the robots. I am working on the code to allow finer control when preparing to kick the ball. I’ll post a video of that as soon as I have it working properly.

Good to know that somebody

Good to know that somebody picked up that project again.

I suggest to reduce the time for one half to 8 minutes max. to get the gameplay smooth without interuptions by bathroom visits or dinner breaks :wink: 8 minutes is a good periode to keep focused and a two mintes break could be used to arrange the undisturbet time for the second half…bathroom or dinner schedule

Thanks for the suggestion!

Thanks for the suggestion! I’ll see how fast the robots will move and how long it will take to score a goal with just one robot in the field. Then I’ll be able to make a more reasonable time frame so that people don’t get too frustrated that 8 minutes had passed and they couldn’t even do something usefull. At this moment I can remote control one robot but it is hard to get it in the right position for the kick. I need to create some short range movements to better position the robot. I’ll try to shoot a video of it in action over the weekend.

I see, did not think about

I see, did not think about that. Yes, 8 minutes are short when a game is running…

for the short range movement I would suggest to reduce the speed or length of the steps by 50% by pressing an additional “slowdown” button so I guess it will be precise enough

Can’t wait for the video.