The objective of this project is to develop a simple framework for programming robot soccer teams in Squeak Smalltalk. This framework is designed to support different types of robot soccer competitions and it’s also very easy to extend in order to support virtually any kind of robot or video server.
We have used this framework several times to compete using LegoNxt robots controlled via Bluetooth as well as radio controlled home-made robots. We also connected it with the Doraemon video server and the Fira SimuroSot program.
The easiest way to start using this project is developing a team for the Fira Simurosot category. This is a fully simulated competition, thus it does not require any real robot or special hardware setup.
- Simply download and install the Middle League SimuroSot Program (windows only). This software will provide a simulation of the soccer game environment (playground, robots, score board, physics, etc.) and will allow you to start programming without the difficulties of setting up a real environment.
- Once you’ve installed the simulator you must save an special dll file called “proxy” in the strategies folder created by the SimuroSot program (this folder is usually “C:\Strategies\blue” for blue teams and “C:\Strategies\yellow” for yellow teams). The proxy is a team developed in c++ that uses sockets to interact with any software platform, i.e. Squeak. Since the simulator only allows teams developed in Lingo or C++, we need the proxy to link the simulator with Squeak.
- Finally install the latest version of the RobotSoccer package in your squeak image and you’re ready to go.
You can open the RobotSoccer Viewer (a control panel to view and control a game) by executing:
ViewerMorph new openInWorld.
Check the class StrategyExample for a very simple example of a robot soccer strategy (the implementation showned there is just for demonstration purposes, please do not take it seriously).
If you understand spanish, don’t forget to read a tutorial we wrote which shows how to install and use the provided tools and how to create a simple team (it’s a little outdated, though).
This project is being developed under the MIT license.