robot soccer simulator and AI

Share with us how are you using the powerrrr of the force

Moderator: Alain

robot soccer simulator and AI

Postby Rohland » Sat Feb 05, 2005 8:58 am

Hi guys..

I decided to upload my robot soccer simulator (developed using Newton) as well as an AI application that I wrote specifically for the robot soccer F-180 league. I havent worked on it in roughly 2 months, it is still incomplete but I would like to hear some comments and suggestions on making it better.

For those of you not familiar with the robot soccer concept, it is a real life soccer game played between to autonomous robotic teams. An F-180 league game comprises of two teams of 5 robots each (A blue team and a Yellow team). Each robot must fit into a 180mm diameter circle. The ball is an orange golf ball. The field dimensions are roughly 2.5m x 3m. There is an overhead camera (3m above the field) that transmits live video feed to image processing applications running on each teams computers. Once the computer applications identify each robot and the ball (position, direction, speed...) they pass this info into an AI application which processes the next move (in real time ~30Hz) for each of its team's robots. The instructions are passed onto the robots via a wireless network (RF, Bluetooth etc..).

The simulator application simulates the real world robot soccer environment in order to simplify AI algorithm tests.

The simulator and AI applications are seperate. Make sure the simulator application is running before the AI applicaiton.

1. For slower machines disable the Rendering window of the AI application by unchecking the rendering box under the "Extra" tab.
2. Under network settings tab click connect to server, if the simulator app is running on a different pc then fill in the details before hand.
3. From the AI Settings tab change the game mode from "paused" to :run game"
4. From the simulator app click the play button.
5. To run both teams you need two computers connected via a network. One team must be set to yellow and the other blue.


Notes:

1. When a team scores a replay is shown automatically. Click the referee tab in the sim app and click acknowledge goal to restart. The ai application mode must once again be changed to run game as once a goal is scored the robots will make their way back to a starting position.
2. The ai application sends each robots wheel speeds and direction in order to control their motion. They have path finding capabilities to navigate around obsticles. Try variious scenarious by pressing pause in the sim app and then the hand to move objects around.
3. Right click any robot or ball in the sim app to get more info about it.

Problems:
1. For some reason on ATI cards shadows cause problems, disable shadows from the main menu (simulator app).

Let me know what you think.





Download

Rohland
Rohland
 
Posts: 7
Joined: Sun Jul 04, 2004 5:57 pm
Location: South Africa

Postby Julio Jerez » Sat Feb 05, 2005 5:26 pm

How do I play it? I tryed sevral keys and nothing happens
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Postby Rohland » Sun Feb 06, 2005 9:43 am

I only implemented a joystick controller which is also a seperate application. I just created a keyboard application that you can connect to the server with.

To move around use the arrow keys. A,S,D,W move the camera in the sim, Drag the mouse to look around. Other camera options uner camera tab.



Controller
Rohland
Rohland
 
Posts: 7
Joined: Sun Jul 04, 2004 5:57 pm
Location: South Africa

Postby Julio Jerez » Sun Feb 06, 2005 1:44 pm

I finally get it to run on my pc using the joystick.
Dude this is extraordinary the players look very smart.
Too bad I could not see the other team playing, only my own team.
You were the person that started this project about 6 month ago as scholl project. I am glad it worked for you.

I only have one observation:
It is hard to get started because you have to run tow application. I think it will be more successful if it can be launch from just one.
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Postby Rohland » Sun Feb 06, 2005 2:55 pm

Yeah I think it would be more sensible to have it as one application if it were a game but that isnt the purpose of it. The AI application that runs and connects to the simulator is the exact same application that is used in the real life game, the interface for the simulator is defined to be exactly the same as the real game. It expects the same inputs and gives the corresponding outputs.

So to keep everything independant the two applications were developed separately.

It was for a university project that had a time limit of 4 months. I start work this year and so wont spend too much time updating it, hopefully someone else will get a project that involves expanding what I have done.

In the mean time Im keen to start making more playable / fun / interesting games. Need to start looking at a proper graphics engine first though :)

Rohland
Rohland
Rohland
 
Posts: 7
Joined: Sun Jul 04, 2004 5:57 pm
Location: South Africa

Postby Julio Jerez » Sun Feb 06, 2005 3:07 pm

Yes indeed. I searched on the net about robot soccer. And now I see what you mean and why there are two applications.
The simulation is like a small wind tunnel for airplane designer but for testing mini robot AI and dynamics. How close is the virtual simulation to the real thing if you have tested yet.

You took a big gamble by going with the Newton engine, I hope you got the result you were looking for.
Thanks
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Postby Rohland » Sun Feb 06, 2005 6:13 pm

Well actually at the same time I was involved with the AI and simulation aspect another guy was at work with the image processing aspect. By the time it came to testing the robots, AI, communication link was functional however the image processing wasnt. We managed to perform a small test and it worked quite well, some of the gains had to be turned down on the AI side since we werent quite getting 30Hz from the image processing. I am very keen to see how it does perform though in a real game, very sad that I havent as yet seen it happen.

About the gamble, considering what I have seen with other teams simulations no-one has ever really tried properly modelling the game. I see now another team is having a go using a 3rd party engine . I havent seen it work yet though.

Thanks for all your help, I was extremely happy with the support I got from you and some others on this forum. You can imagine why I was a bit stressed about no cylinders but Newton 1.30 came out 3 days before demonstration so that was fantastic.

Thanks Newton, you guys are really doing a fantastic job, keep it up! I will no doubt be using Newton for my future projects.

Rohland
Rohland
Rohland
 
Posts: 7
Joined: Sun Jul 04, 2004 5:57 pm
Location: South Africa

Postby Quimbly » Mon Feb 07, 2005 4:53 pm

I'm still not able to get the robots to start moving. I'm not sure what I am missing.

I am developing a similar project with Newton. However, it isn't specific to one type of behavior (i.e. playing soccer). It's a more general behavioral animation project, with the purpose of discovering interesting emergent behavior from systems of interacting bodies in a physical simulation (i.e. Newton).

I'm curious about the AI portion of your code. I'd love to see some source code, or to get a general description of the algorithms used to direct your soccer players.
Quimbly
 
Posts: 35
Joined: Wed Nov 03, 2004 6:45 pm

Postby Rohland » Mon Feb 07, 2005 5:17 pm

Hi there

Have you tried downloading the manual controller. That should work. Remeber to click the play button in the sim app to begin the game. With the control app select a player then a speed and thats it.

The AI portion is what I spent the least time on, I had to get a simulation working before I could even attempt the AI as it required a testing platform.

The time spent on the AI was mostly creating an efficient path planning (A* search) subsystem with collision avoidance. Once that was achieved half the battle was won. For example, to get from point A to B I just make B the goal and pass it the continuous path planning algorithm that generates a new path every frame. A controller was implemented to take the current position, orientation, linear & angular velocity as well as the current path and output the required wheel speeds of the robot to allow it to follow the generated path.

The rest of the AI basically comprises of dynamic role assignment (still not perfected) as well as extremely primitive communication between the roles. I would liked to have seen passing working however I didnt have time. Possibly a neural network type of approach would have best suited this task.

There is plenty of literature out there on these topics, robotic soccer has been a platform with which to really put them to the test in real time.

Rohland
Rohland
 
Posts: 7
Joined: Sun Jul 04, 2004 5:57 pm
Location: South Africa

Postby Quimbly » Thu Feb 10, 2005 4:06 pm

Tried again to get the soccer robots moving, using the AI, but still no success. Here's what I'm doing.

1. Launch the Simulator
2. Turn off rendering shadows (my system here is slow enough as it is)
3. Launch the AI program
4. Connect to localhost
Connects successfully (I believe(?))
5. Press the PLAY button in the simulator


Is there anything else I need to do?

I have tried the manual controller, and yes, I can get the robots to move. But I want to see the team move, controlled by the AI.
Quimbly
 
Posts: 35
Joined: Wed Nov 03, 2004 6:45 pm

Postby Quimbly » Fri Feb 11, 2005 11:03 am

Nevermind, I got it to work last night.

There's a setting in the AI turning the simulation on. I assumed you just needed the Simulator play turned on.
Quimbly
 
Posts: 35
Joined: Wed Nov 03, 2004 6:45 pm


Return to User Gallery

Who is online

Users browsing this forum: No registered users and 10 guests

cron