CMSC 421: Project 2
Exploring the Sense/Plan/Act Cycle


Due: - Tuesday, April 22

Late Policy as originally stated:


Goals of Project

In the textbook, page 163-165, there is a short discussion of something called the Sense/Plan/Act cycle in which is discusses problems where an agent cannot use search-based planning approaches for a number of reasons. In this assignment, you will explore a domain where that is true, and use a simulator based on a plan/sense/act cycle, so you can explore this kind of "reactive planning" as it is sometimes called.

Robotic Soccer is a good task for exploring this issue for several reasons. First, it is played in (simulated) real-time so the time spent reasoning matters. Second, compared to many robot tasks, performance is easy to measure. Third, the complexities of team behavior (preplanning, communication signaling, etc.) are laregly eliminated since the robots cannot communicate.

Your task is simple -- you must program a soccer team which beats a team which we have prepared. Your team can be homogeneous or heterogeneous as you wish. You will also need to writeup what you do which will count towards your grade.


Set-up

You will need to do the following:


Assignment

Your assignment is straightforward. Our team is an okay, but not great team. You must beat it convincingly, building a team that can tie or win every game in a 5 game series (90 seconds per game). You must include at least two different robotic players (not just one duplicated 5 times).

What you will need to submit:

  1. Your code (one java file for each of the robots you use) -- this may be anywhere from 2 through 5 files depending on how you decide to solve the problem.
  2. A transcript of how your team does in a 5 game series: to do this you must show how your team does using robocup421-submit.dsc . (Either send the output of running this to a file, or copy and paste to file.) Do not change this file in anyway, except to put your players in as the number 2 team.
  3. A description of how you got your team to play - giving a basic description of the one or more players you created and what they do. Explain why you think your team is better than ours. This description can be a couple of pages or longer, more if you create more than two players. This description must be TYPED (and submitted electronically).

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

    • The performance of your team with both players substituted. Your team outplaying the our team will result in at least a B.
    • 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 the baseline.

    Notes

    You can figure out how to improve the code by examining the other robots. You may take pieces of code from any of these you want, but copying an entire player is cheating. (Note, to really do well you'll probably need to take code from a couple of different players and then improve on it).

    If time permits we will have a championship between teams in class (First place gets 10 points extra on final, Second gets 5 point). If you're interested in trying this, we'll need to know by April 22.


    Web Accessibility