Final Project for Autonomous Multiagent Systems (cs378)


 
Your final programming project is to create an entry in the end-of-class RoboCup tournament to be held at the scheduled final exam time. By default, your task will be to create a full team of 11 agents based on the code you used in programming assignment 4.

If you prefer, you may instead propose a variation on this task. For instance, you may want to start with an existing team and build a coach agent to control its behavior. Or you may choose to start from scratch and build a team entirely on your own. Or you may choose to create agents that can do some subtask of the full robotic soccer task (for instance, create a very good goalie or shooter). The instructor will do his best to provide you with the appropriate code to allow you to get to your proposed starting point. Expectations will be commensurate with the starting point you choose, so feel free to follow your interests.

You are expected to work as a team of 2 people. 2-person teams should only turn in one submission of the programming portion of the assignment. However, each person must turn in an independently-written proposal and final report.

The schedule is as follows.

The proposal should be at least 3 pages double spaced. I prefer double-sided printing. Make sure you proofread and spell-check.

The proposal should be written with the goal of convincing us that what you are proposing to do is interesting and non-trivial (though not necessarily completely original - see below). Connect the proposal to the class readings as much as possible. Members of 2-person teams should clearly identify what their roles will be with relation to the overall project.

The proposal will be evaluated primarily on written expression and coherence of argument. Feedback will be given both on writing and content. Please turn in a hard copy of the report at the beginning of class. Reports that arrive after that (including partway through class) will be considered late.

It is completely legitimate to propose to do something based on something you read about provided that you are going to do the coding yourself. Just make sure to acknowledge any ideas (and code) that you borrow and be sure to clearly identify what you are going to do.

Based on experience from previous years, many of you will be tempted to do something using machine learning. That's fine. But be prepared for it to be on the frustrating side. It often takes a lot of infrastructure to get ML approaches working. My advice to those of you who want to try learning is to think carefully up front about what the inputs and outputs of the learning task will be. Proposals that say nothing more than "I propose to have a team learn using [insert-ML-technique]" will not lead to very constructive feedback. If you're going to use ML, propose to do so on some specific component of your team and try not to be too ambitious.

The progress report should be at least 5 pages double spaced. It should be written with the goal of convincing us that what you are doing is interesting and non-trivial, and that you are making progress towards your goal. It is expected that a good portion of the progress report will be identical to the proposal. Members of 2-person teams should clearly identify what their roles have been and will be with relation to the overall project.  The progress report will be evaluated primarily on written expression and coherence of argument. Feedback will be given both on writing and content. Please turn in a hard copy of the report at the beginning of class. Reports that arrive after that (including partway through class) will be considered late.
             Also submit the following:
To turn in your logfiles, use the turnin program with grader "nate" and assignment label "progress". When the assignment is there, send us an email to that effect. Please turn in a hard copy of the report at the beginning of class. Reports that arrive after that (including partway through class) will be considered late.
To turn in your logfiles and code, use the turnin program with grader "nate" and assignment label "final". When the assignment is there, send us an email to that effect.  If your code does not run, the instructors will contact you ASAP to remedy the situation. If you don't expect to have time to fix bugs at that point (for instance because you're still working on the final report), make sure it works the first time

[Back to Department Homepage]

Page maintained by Peter Stone
Questions? Send me mail