Project 2: Develop and Compare Homogeneous versus Heterogeneous Simulated Robot Soccer Teams

Due: Tuesday Sep 17

Background

This project uses the TeamBots environment, which you can get at www.teambots.org.

Open questions in multirobot research include issues like the benefits of communication, cooperation and learning, and whether team members should specialize or be homogeneous. In this project, you will explore the last question.

Soccer is a good task for multi-robot investigations. First, it involves cooperation and competition. Second, compared to many robot tasks, performance is easy to measure.

Your task for this project is to develop a homogeneous multi-robot soccer team for the TeamBots simulation: one in which all the robots' behaviors are identical.

Once that is complete, you should revise your team so that at least one robot behaves differently from the others (the choice of which robot and how it behaves differently is yours).

You should develop the homogeneous team first, then implement the specialized team as a modification of the homogeneous one. If the teams are substantially similar except for the specialization, we can make stronger statements about the performance advantage or disadvanage of specialization.

After you've implemented your teams, compare their performance against one of the benchmark teams (SchemaDemo) included in the TeamBots package.

You should also compare your homogeneous team against the heterogeneous one.

If time permits we will have a championship between teams in class.

Hand in printed copies of the following

  • The source for your homogeneous team, call it YourTeamHomogeneous.java, where YourTeam is a clever name.
  • The source for your heterogeneous team, call it YourTeamHeterogeneous.java, where YourTeam is a clever name.
  • Experimental runs:
  • A report describing your teams. Include a results section that reports the score of your team versus the team you modified to design your code (or vs BasicTeam if you wrote your code from scratch), and the score of your team versus SchemaDemo in a (simulated) 10 minute game. Also include an analysis of why you believe your team is better or worse than the others.

    Your grade will be determined, in order of significance, by:

  • The performance of your team. If you designed your team by modifying existing code (which is OK), your team should be able to defeat the existing team. If you can do that, you will get at least a B. All teams should perform better than SchemaDemo.
  • The creativity of your solution. You may base your team on existing code, but your team should include some kind of clever improvement, not just a change of parameters.
  • Your analysis of why your team performs better or worse than another.